New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 747125 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Aug 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 1
Type: Bug



Sign in to add a comment

WebUIWebViewBrowserTests are flaky

Project Member Reported by sclit...@chromium.org, Jul 20 2017

Issue description

Project Member

Comment 1 by bugdroid1@chromium.org, Jul 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b29212b9d85c8d2123d3e4c7027ad50b6c6b2612

commit b29212b9d85c8d2123d3e4c7027ad50b6c6b2612
Author: Scott Little <sclittle@chromium.org>
Date: Thu Jul 20 22:45:58 2017

Revert "Enable field trial testing config for GuestViewCrossProcessFrames."

This reverts commit 8a8b48bbb041957b9c6824322ce910536771bf50.

Reason for revert: Speculative revert to fix broken WebUIWebViewBrowserTests, see  http://crbug.com/747125 

Original change's description:
> Enable field trial testing config for GuestViewCrossProcessFrames.
> 
> Bug: 655753
> Change-Id: I756aada2893846878657fe33b405bdb70b23df54
> Reviewed-on: https://chromium-review.googlesource.com/576207
> Commit-Queue: James MacLean <wjmaclean@chromium.org>
> Reviewed-by: Alexei Svitkine (slow) <asvitkine@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#487966}

TBR=asvitkine@chromium.org,lfg@chromium.org,wjmaclean@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: 655753,  747125 
Change-Id: Id7486ff811442a5fd5e639deaef152e4382a70bc
Reviewed-on: https://chromium-review.googlesource.com/580547
Reviewed-by: Scott Little <sclittle@chromium.org>
Commit-Queue: Scott Little <sclittle@chromium.org>
Cr-Commit-Position: refs/heads/master@{#488458}
[modify] https://crrev.com/b29212b9d85c8d2123d3e4c7027ad50b6c6b2612/testing/variations/fieldtrial_testing_config.json

Comment 2 by creis@chromium.org, Jul 20 2017

Cc: creis@chromium.org wjmaclean@chromium.org nasko@chromium.org lfg@chromium.org
Components: Platform>Apps>BrowserTag Internals>Sandbox>SiteIsolation
Labels: OS-All
Owner: lfg@chromium.org
Status: Assigned (was: Available)
sclittle: Can you update the bug with whether this revert resolved the failures?  We were hoping to have that mode enabled in M61, so we'll need to investigate if it causes those tests to fail.  (Thanks for catching it!)

Comment 3 by creis@chromium.org, Jul 20 2017

lfg@: If the OOPIF-based webview mode is to blame, I wonder if we could have caught it by putting the Site Isolation Win FYI bot into this mode?  (Not sure, since the try jobs for r487966 didn't catch it.)
Re #2: Sure thing, I'm just waiting to see if https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20CFI/builds/221 (which includes the revert) passes the browser tests.
Labels: -Sheriff-Chromium
That build (https://uberchromegw.corp.google.com/i/chromium.memory/builders/Linux%20CFI/builds/221) just passed the browser_tests, so it looks like reverting that CL solved the problem.
There are a number of confounding factors here, but the immediate cause of the failure *seems* to be that, with the flag

--enable-features=CrossProcessFramesForGuests

turned on, there is a race in which the WebView event onContentLoad may be called prior to the guest being attached. The guest gets its contentWindow during attach, and if the embedder's onContentLoad handler attempts to access the contentWindow before attach, then it gets a null value, and this may cause a JS error (which the test framework interprets as a test failure).

It actually *is* a test failure, since some of the time the race affects the actual test code in a negative way. But some of the failures are unrelated to the test, as they are triggered by the loading of unrelated content, in this case the Chrome signin page.

Once the race is fixed, we should also seek a way to create a 'blank' WebUI page that can be used, instead of relying on the signin page. The signin page tries to load https content into the guest that is *unavailable* to the EmbeddedTestServer, and thus the load is always doomed to fail. At best, it makes the test slow by attempting to load something that cannot, and at worst it makes the test fragile & flakey.

However, the race-related failure is also observed with the test code itself, where the load is successful.

I'll post some diagnostic output in a separate comment below.
Labels: M61 Pri-1 Type-Bug
Sample diagnostic output:

Case#1 - signin page triggers an error by accessing contentWindow after onContentLoad but before attach:

out/msan/browser_tests  --gtest_filter=WebUIWebViewBrowserTest.AddContentScript --enable-features=GuestViewCrossProcessFrames |& egrep "guest_id|AttachIframeGuest|= null|ERROR|LoadHandler|NavigateGuest|GVIF::attachImplCallback|"
IMPORTANT DEBUGGING NOTE: each test is run inside its own process.
For debugging a test inside a debugger, use the
--gtest_filter=<your_test_name> flag along with either
--single_process (to run the test in one launcher/browser process) or
--single-process (to do the above, and also run Chrome in single-process mode).
Using sharding settings from environment. This is shard 0/1
Using 1 parallel jobs.
Note: Google Test filter = WebUIWebViewBrowserTest.AddContentScript
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from WebUIWebViewBrowserTest, where TypeParam = 
[ RUN      ] WebUIWebViewBrowserTest.AddContentScript
Gtk-Message: Failed to load module "canberra-gtk-module"
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
[34366:34366:0723/171225.622685:WARNING:password_store_factory.cc(260)] Using basic (unencrypted) store for password storage. See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_password_storage.md for more information about password storage options.
[34366:34366:0723/171227.773356:WARNING:CONSOLE(0)] "Styling master document from stylesheets defined in HTML Imports is deprecated, and is planned to be removed in M65, around March 2018. Please refer to https://goo.gl/EGXzpw for possible migration paths.", source:  (0)
[34366:34366:0723/171231.685173:INFO:CONSOLE(0)] "wjm: GuestViewImpl() contentWindow = null", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
wjm: WVCSM::AddContentScripts() add load observer
wjm: WVCSM::OnScriptsLoaded() remove load observer
wjm: WVCSM::RunCallbacksIfReady() ... clearing queue!
wjm: WVG::NavigateGuest() force [https://accounts.google.com/ServiceLogin?skipvpage=true&sarp=1&rm=hide&continue=chrome-extension%3A%2F%2Fmfffpogegjflfpflabcdkioaeobkgjik%2Fsuccess.html%3Faccess_point%3D0%26source%3D0&service=chromiumsync&hl=en-US], guest_id=1
wjm: WVG::SignalWhenReady() call manager
wjm: WVCSM::SignalOnScriptsLoaded() not observing
wjm: WVG::LoadAbort() url=[https://accounts.google.com/ServiceLogin?skipvpage=true&sarp=1&rm=hide&continue=chrome-extension%3A%2F%2Fmfffpogegjflfpflabcdkioaeobkgjik%2Fsuccess.html%3Faccess_point%3D0%26source%3D0&service=chromiumsync&hl=en-US] error=-11i, instance_id=1
wjm: WVG::LoadHandlerCalled() guest_id=1
[34366:34366:0723/171233.463051:INFO:CONSOLE(7562)] "Running test testAddContentScript", source: webview_basic.js (7562)
[34366:34366:0723/171233.467058:INFO:CONSOLE(0)] "wjm: GuestViewImpl() contentWindow = null", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[34366:34366:0723/171233.559298:INFO:CONSOLE(10612)] "Step 1: call <webview>.addContentScripts.", source: webview_basic.js (10612)
wjm: WVCSM::AddContentScripts() add load observer
wjm: WVCSM::OnScriptsLoaded() remove load observer
wjm: WVCSM::RunCallbacksIfReady() ... clearing queue!
wjm: WVG::NavigateGuest() force [http://127.0.0.1:43801/empty.html], guest_id=2
wjm: WVG::SignalWhenReady() call manager
wjm: WVCSM::SignalOnScriptsLoaded() not observing
[34366:34366:0723/171233.683929:INFO:CONSOLE(0)] "wjm: WVI::attachWindow() calling container", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[34366:34366:0723/171233.684694:INFO:CONSOLE(0)] "wjm: GVC::attachWindow() id = 9", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
wjm: GVICB::AttachIframeGuest() guest_id=1
wjm: GVB::WillAttach(0x71600000d800; 0x71c000019000)
wjm: WVG::SignalWhenReady() call manager
wjm: WVCSM::SignalOnScriptsLoaded() not observing
[34366:34366:0723/171233.719093:WARNING:CONSOLE(282)] "<webview>: The load has aborted with error -11: ERR_NOT_IMPLEMENTED.", source: extensions::webViewEvents (282)
[34366:34366:0723/171233.730782:INFO:CONSOLE(0)] "wjm: getContentWindow() contentWindow = null", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[34366:34366:0723/171233.731710:ERROR:CONSOLE(470)] "Uncaught TypeError: Cannot read property 'postMessage' of null", source: chrome://chrome-signin/gaia_auth_host.js (470)
[34366:34366:0723/171233.733470:INFO:CONSOLE(0)] "wjm: getContentWindow() contentWindow = null", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[34366:34366:0723/171233.733755:ERROR:CONSOLE(2483)] "Uncaught TypeError: Cannot read property 'postMessage' of null", source: chrome://chrome-signin/gaia_auth_host.js (2483)
[34366:34366:0723/171233.756677:INFO:CONSOLE(0)] "wjm: WVI::attachWindow() calling container", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[34366:34366:0723/171233.757007:INFO:CONSOLE(0)] "wjm: GVC::attachWindow() id = 10", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
wjm: GVICB::AttachIframeGuest() guest_id=2
wjm: GVB::WillAttach(0x716000104d00; 0x71c000019000)
wjm: WVG::SignalWhenReady() call manager
wjm: WVCSM::SignalOnScriptsLoaded() not observing
wjm: WVG::LoadHandlerCalled() guest_id=2
[34366:34366:0723/171233.779370:INFO:CONSOLE(0)] "wjm: GVIF::attachImplCallback() contentWindow = something", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[34366:34366:0723/171233.792536:INFO:CONSOLE(0)] "wjm: GVIF::attachImplCallback() contentWindow = something", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[34366:34442:0723/171233.795530:WARNING:embedded_test_server.cc(219)] Request not handled. Returning 404: /favicon.ico
[34366:34366:0723/171233.816282:INFO:CONSOLE(10623)] "Step 2: postMessage to build connection.", source: webview_basic.js (10623)
[34366:34366:0723/171233.816888:INFO:CONSOLE(0)] "wjm: getContentWindow() contentWindow = something", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[34366:34366:0723/171233.882269:INFO:CONSOLE(0)] "wjm: getContentWindow() contentWindow = something", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[34366:34366:0723/171233.883180:INFO:CONSOLE(0)] "wjm: getContentWindow() contentWindow = something", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[34366:34366:0723/171233.885956:INFO:CONSOLE(10633)] "Step 3: A communication channel has been established with webview.", source: webview_basic.js (10633)
[34366:34366:0723/171233.886206:ERROR:web_ui_browser_test.cc(467)] CONDITION FAILURE: encountered javascript console error(s):
[34366:34366:0723/171233.886258:ERROR:web_ui_browser_test.cc(469)] JS ERROR: '[34366:34366:0723/171233.731710:ERROR:CONSOLE(470)] "Uncaught TypeError: Cannot read property 'postMessage' of null", source: chrome://chrome-signin/gaia_auth_host.js (470)
'
[34366:34366:0723/171233.886306:ERROR:web_ui_browser_test.cc(469)] JS ERROR: '[34366:34366:0723/171233.733755:ERROR:CONSOLE(2483)] "Uncaught TypeError: Cannot read property 'postMessage' of null", source: chrome://chrome-signin/gaia_auth_host.js (2483)
'
[34366:34366:0723/171233.886341:ERROR:web_ui_browser_test.cc(471)] JS call assumed failed, because JS console error(s) found.
../../chrome/browser/ui/webui/webui_webview_browsertest.cc:178: Failure
Value of: WebUIBrowserTest::RunJavascriptAsyncTest( "testAddContentScript", base::Value(GetTestUrl("empty.html").spec()))
  Actual: false
Expected: true
[34412:34412:0723/171233.993088:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1
[34412:34412:0723/171233.993313:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1
[34412:34412:0723/171233.993388:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1
[  FAILED  ] WebUIWebViewBrowserTest.AddContentScript, where TypeParam =  and GetParam() =  (9724 ms)
[----------] 1 test from WebUIWebViewBrowserTest (9724 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (9724 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] WebUIWebViewBrowserTest.AddContentScript, where TypeParam =  and GetParam() = 

 1 FAILED TEST
[1/1] WebUIWebViewBrowserTest.AddContentScript (10525 ms)
1 test failed:
    WebUIWebViewBrowserTest.AddContentScript (../../chrome/browser/ui/webui/webui_webview_browsertest.cc:174)

Case #2 - test failure triggered by test code accessing a null contentWindow:

out/msan/browser_tests  --gtest_filter=WebUIWebViewBrowserTest.AddContentScript --enable-features=GuestViewCrossProcessFrames |& egrep "guest_id|AttachIframeGuest|= null|ERROR|LoadHandler|NavigateGuest|GVIF::attachImplCallback|"
IMPORTANT DEBUGGING NOTE: each test is run inside its own process.
For debugging a test inside a debugger, use the
--gtest_filter=<your_test_name> flag along with either
--single_process (to run the test in one launcher/browser process) or
--single-process (to do the above, and also run Chrome in single-process mode).
Using sharding settings from environment. This is shard 0/1
Using 1 parallel jobs.
Note: Google Test filter = WebUIWebViewBrowserTest.AddContentScript
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from WebUIWebViewBrowserTest, where TypeParam = 
[ RUN      ] WebUIWebViewBrowserTest.AddContentScript
Gtk-Message: Failed to load module "canberra-gtk-module"
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
[35298:35298:0723/171444.286154:WARNING:password_store_factory.cc(260)] Using basic (unencrypted) store for password storage. See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_password_storage.md for more information about password storage options.
[35298:35298:0723/171446.280751:WARNING:CONSOLE(0)] "Styling master document from stylesheets defined in HTML Imports is deprecated, and is planned to be removed in M65, around March 2018. Please refer to https://goo.gl/EGXzpw for possible migration paths.", source:  (0)
[35298:35298:0723/171450.283021:INFO:CONSOLE(0)] "wjm: GuestViewImpl() contentWindow = null", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
wjm: WVCSM::AddContentScripts() add load observer
wjm: WVCSM::OnScriptsLoaded() remove load observer
wjm: WVCSM::RunCallbacksIfReady() ... clearing queue!
wjm: WVG::NavigateGuest() force [https://accounts.google.com/ServiceLogin?skipvpage=true&sarp=1&rm=hide&continue=chrome-extension%3A%2F%2Fmfffpogegjflfpflabcdkioaeobkgjik%2Fsuccess.html%3Faccess_point%3D0%26source%3D0&service=chromiumsync&hl=en-US], guest_id=1
wjm: WVG::SignalWhenReady() call manager
wjm: WVCSM::SignalOnScriptsLoaded() not observing
wjm: WVG::LoadAbort() url=[https://accounts.google.com/ServiceLogin?skipvpage=true&sarp=1&rm=hide&continue=chrome-extension%3A%2F%2Fmfffpogegjflfpflabcdkioaeobkgjik%2Fsuccess.html%3Faccess_point%3D0%26source%3D0&service=chromiumsync&hl=en-US] error=-11i, instance_id=1
wjm: WVG::LoadHandlerCalled() guest_id=1
[35298:35298:0723/171452.049476:INFO:CONSOLE(7562)] "Running test testAddContentScript", source: webview_basic.js (7562)
[35298:35298:0723/171452.053434:INFO:CONSOLE(0)] "wjm: GuestViewImpl() contentWindow = null", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[35298:35298:0723/171452.145500:INFO:CONSOLE(10612)] "Step 1: call <webview>.addContentScripts.", source: webview_basic.js (10612)
wjm: WVCSM::AddContentScripts() add load observer
wjm: WVCSM::OnScriptsLoaded() remove load observer
wjm: WVCSM::RunCallbacksIfReady() ... clearing queue!
wjm: WVG::NavigateGuest() force [http://127.0.0.1:34340/empty.html], guest_id=2
wjm: WVG::SignalWhenReady() call manager
wjm: WVCSM::SignalOnScriptsLoaded() not observing
[35298:35298:0723/171452.275974:INFO:CONSOLE(0)] "wjm: WVI::attachWindow() calling container", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[35298:35298:0723/171452.277988:INFO:CONSOLE(0)] "wjm: GVC::attachWindow() id = 9", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
wjm: GVICB::AttachIframeGuest() guest_id=1
wjm: GVB::WillAttach(0x71600000d500; 0x71c000019000)
wjm: WVG::SignalWhenReady() call manager
wjm: WVCSM::SignalOnScriptsLoaded() not observing
[35298:35298:0723/171452.317628:WARNING:CONSOLE(282)] "<webview>: The load has aborted with error -11: ERR_NOT_IMPLEMENTED.", source: extensions::webViewEvents (282)
[35298:35298:0723/171452.328672:INFO:CONSOLE(0)] "wjm: getContentWindow() contentWindow = null", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[35298:35298:0723/171452.329546:ERROR:CONSOLE(470)] "Uncaught TypeError: Cannot read property 'postMessage' of null", source: chrome://chrome-signin/gaia_auth_host.js (470)
[35298:35298:0723/171452.331717:INFO:CONSOLE(0)] "wjm: getContentWindow() contentWindow = null", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[35298:35298:0723/171452.331898:ERROR:CONSOLE(2483)] "Uncaught TypeError: Cannot read property 'postMessage' of null", source: chrome://chrome-signin/gaia_auth_host.js (2483)
[35298:35298:0723/171452.357030:INFO:CONSOLE(0)] "wjm: WVI::attachWindow() calling container", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[35298:35298:0723/171452.357305:INFO:CONSOLE(0)] "wjm: GVC::attachWindow() id = 10", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
wjm: WVG::LoadHandlerCalled() guest_id=2
wjm: GVICB::AttachIframeGuest() guest_id=2
wjm: GVB::WillAttach(0x716000133800; 0x71c000019000)
wjm: WVG::SignalWhenReady() call manager
wjm: WVCSM::SignalOnScriptsLoaded() not observing
[35298:35298:0723/171452.380749:INFO:CONSOLE(0)] "wjm: GVIF::attachImplCallback() contentWindow = something", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[35298:35373:0723/171452.388000:WARNING:embedded_test_server.cc(219)] Request not handled. Returning 404: /favicon.ico
[35298:35298:0723/171452.408505:INFO:CONSOLE(10623)] "Step 2: postMessage to build connection.", source: webview_basic.js (10623)
[35298:35298:0723/171452.408878:INFO:CONSOLE(0)] "wjm: getContentWindow() contentWindow = null", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[35298:35298:0723/171452.409203:ERROR:CONSOLE(10625)] "Uncaught TypeError: Cannot read property 'postMessage' of null", source: webview_basic.js (10625)
[35298:35298:0723/171452.410060:INFO:CONSOLE(0)] "wjm: GVIF::attachImplCallback() contentWindow = something", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
Still waiting for the following processes to finish:
	out/msan/browser_tests --enable-features=GuestViewCrossProcessFrames --gtest_also_run_disabled_tests --gtest_filter=WebUIWebViewBrowserTest.AddContentScript --single_process --user-data-dir=/tmp/.org.chromium.Chromium.DCJQ2m/dYDAZai


Case #3: test succeeds

out/msan/browser_tests  --gtest_filter=WebUIWebViewBrowserTest.AddContentScript --enable-features=GuestViewCrossProcessFrames |& egrep "guest_id|AttachIframeGuest|= null|ERROR|LoadHandler|NavigateGuest|GVIF::attachImplCallback|"
IMPORTANT DEBUGGING NOTE: each test is run inside its own process.
For debugging a test inside a debugger, use the
--gtest_filter=<your_test_name> flag along with either
--single_process (to run the test in one launcher/browser process) or
--single-process (to do the above, and also run Chrome in single-process mode).
Using sharding settings from environment. This is shard 0/1
Using 1 parallel jobs.
Note: Google Test filter = WebUIWebViewBrowserTest.AddContentScript
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from WebUIWebViewBrowserTest, where TypeParam = 
[ RUN      ] WebUIWebViewBrowserTest.AddContentScript
Gtk-Message: Failed to load module "canberra-gtk-module"
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
[37282:37282:0723/171954.156283:WARNING:password_store_factory.cc(260)] Using basic (unencrypted) store for password storage. See https://chromium.googlesource.com/chromium/src/+/master/docs/linux_password_storage.md for more information about password storage options.
[37320:37320:0723/171955.436565:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1
[37320:37320:0723/171955.436738:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1
[37320:37320:0723/171955.436824:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1
[37320:37320:0723/171955.436904:WARNING:ipc_message_attachment_set.cc(49)] MessageAttachmentSet destroyed with unconsumed attachments: 0/1
[37282:37282:0723/171956.065231:WARNING:CONSOLE(0)] "Styling master document from stylesheets defined in HTML Imports is deprecated, and is planned to be removed in M65, around March 2018. Please refer to https://goo.gl/EGXzpw for possible migration paths.", source:  (0)
[37282:37282:0723/172000.140011:INFO:CONSOLE(0)] "wjm: GuestViewImpl() contentWindow = null", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
wjm: WVCSM::AddContentScripts() add load observer
wjm: WVCSM::OnScriptsLoaded() remove load observer
wjm: WVCSM::RunCallbacksIfReady() ... clearing queue!
[37282:37282:0723/172001.872886:INFO:CONSOLE(7562)] "Running test testAddContentScript", source: webview_basic.js (7562)
[37282:37282:0723/172001.876835:INFO:CONSOLE(0)] "wjm: GuestViewImpl() contentWindow = null", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[37282:37282:0723/172001.967786:INFO:CONSOLE(10612)] "Step 1: call <webview>.addContentScripts.", source: webview_basic.js (10612)
wjm: WVCSM::AddContentScripts() add load observer
wjm: WVCSM::OnScriptsLoaded() remove load observer
wjm: WVCSM::RunCallbacksIfReady() ... clearing queue!
wjm: WVG::NavigateGuest() force [http://127.0.0.1:41934/empty.html], guest_id=1
wjm: WVG::SignalWhenReady() call manager
wjm: WVCSM::SignalOnScriptsLoaded() not observing
wjm: WVG::NavigateGuest() force [https://accounts.google.com/ServiceLogin?skipvpage=true&sarp=1&rm=hide&continue=chrome-extension%3A%2F%2Fmfffpogegjflfpflabcdkioaeobkgjik%2Fsuccess.html%3Faccess_point%3D0%26source%3D0&service=chromiumsync&hl=en-US], guest_id=2
wjm: WVG::SignalWhenReady() call manager
wjm: WVCSM::SignalOnScriptsLoaded() not observing
[37282:37282:0723/172002.162807:INFO:CONSOLE(0)] "wjm: WVI::attachWindow() calling container", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[37282:37282:0723/172002.163280:INFO:CONSOLE(0)] "wjm: GVC::attachWindow() id = 9", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
wjm: GVICB::AttachIframeGuest() guest_id=1
wjm: GVB::WillAttach(0x7160000df800; 0x71c000019000)
wjm: WVG::SignalWhenReady() call manager
wjm: WVCSM::SignalOnScriptsLoaded() not observing
[37282:37282:0723/172002.181413:INFO:CONSOLE(0)] "wjm: WVI::attachWindow() calling container", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[37282:37282:0723/172002.181750:INFO:CONSOLE(0)] "wjm: GVC::attachWindow() id = 10", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
wjm: GVICB::AttachIframeGuest() guest_id=2
wjm: GVB::WillAttach(0x716000130b00; 0x71c000019000)
wjm: WVG::SignalWhenReady() call manager
wjm: WVCSM::SignalOnScriptsLoaded() not observing
[37282:37282:0723/172002.191389:INFO:CONSOLE(0)] "wjm: GVIF::attachImplCallback() contentWindow = something", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[37282:37282:0723/172002.203036:INFO:CONSOLE(0)] "wjm: GVIF::attachImplCallback() contentWindow = something", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
wjm: WVG::LoadHandlerCalled() guest_id=1
[37282:37282:0723/172002.517176:INFO:CONSOLE(10623)] "Step 2: postMessage to build connection.", source: webview_basic.js (10623)
[37282:37282:0723/172002.518551:INFO:CONSOLE(0)] "wjm: getContentWindow() contentWindow = something", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
wjm: WVG::LoadAbort() url=[https://accounts.google.com/ServiceLogin?skipvpage=true&sarp=1&rm=hide&continue=chrome-extension%3A%2F%2Fmfffpogegjflfpflabcdkioaeobkgjik%2Fsuccess.html%3Faccess_point%3D0%26source%3D0&service=chromiumsync&hl=en-US] error=-11i, instance_id=2
[37282:37282:0723/172002.541141:WARNING:CONSOLE(282)] "<webview>: The load has aborted with error -11: ERR_NOT_IMPLEMENTED.", source: extensions::webViewEvents (282)
[37282:37282:0723/172002.571681:INFO:CONSOLE(0)] "wjm: getContentWindow() contentWindow = something", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[37282:37282:0723/172002.572633:INFO:CONSOLE(0)] "wjm: getContentWindow() contentWindow = something", source: chrome://chrome-signin/?access_point=0&reason=0 (0)
[37282:37282:0723/172002.574430:INFO:CONSOLE(10633)] "Step 3: A communication channel has been established with webview.", source: webview_basic.js (10633)
[       OK ] WebUIWebViewBrowserTest.AddContentScript (9910 ms)
[----------] 1 test from WebUIWebViewBrowserTest (9910 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test case ran. (9910 ms total)
[  PASSED  ] 1 test.
[1/1] WebUIWebViewBrowserTest.AddContentScript (10779 ms)
SUCCESS: all tests passed.

Owner: wjmaclean@chromium.org
Project Member

Comment 10 by bugdroid1@chromium.org, Jul 27 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c2f38775367477469cddb95e2bb93ec916f1bf94

commit c2f38775367477469cddb95e2bb93ec916f1bf94
Author: W. James MacLean <wjmaclean@chromium.org>
Date: Thu Jul 27 23:32:22 2017

Remove BrowserPluginGuestDelegate::CanRunInDetachedState() refs.

Allowing GuestViews to run in a detached state currently can cause test
flakiness, since a WebView.onContentLoad event can be received by the
embedder before the WebView has been properly attached. Since running in
a detached state isn't properly supported (or required), we remove it.

Bug:  747125 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation
Change-Id: I3a88bbc9be40ddb94d60c7aab3eeedfcc678b16e
Reviewed-on: https://chromium-review.googlesource.com/587448
Commit-Queue: James MacLean <wjmaclean@chromium.org>
Reviewed-by: Lucas Gadani <lfg@chromium.org>
Reviewed-by: Charlie Reis (slow) <creis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490104}
[modify] https://crrev.com/c2f38775367477469cddb95e2bb93ec916f1bf94/components/guest_view/browser/guest_view_base.cc
[modify] https://crrev.com/c2f38775367477469cddb95e2bb93ec916f1bf94/components/guest_view/browser/guest_view_base.h
[modify] https://crrev.com/c2f38775367477469cddb95e2bb93ec916f1bf94/content/browser/browser_plugin/browser_plugin_guest.cc
[modify] https://crrev.com/c2f38775367477469cddb95e2bb93ec916f1bf94/content/public/browser/browser_plugin_guest_delegate.cc
[modify] https://crrev.com/c2f38775367477469cddb95e2bb93ec916f1bf94/content/public/browser/browser_plugin_guest_delegate.h
[modify] https://crrev.com/c2f38775367477469cddb95e2bb93ec916f1bf94/extensions/browser/guest_view/app_view/app_view_guest.cc
[modify] https://crrev.com/c2f38775367477469cddb95e2bb93ec916f1bf94/extensions/browser/guest_view/app_view/app_view_guest.h
[modify] https://crrev.com/c2f38775367477469cddb95e2bb93ec916f1bf94/extensions/browser/guest_view/extension_options/extension_options_guest.cc
[modify] https://crrev.com/c2f38775367477469cddb95e2bb93ec916f1bf94/extensions/browser/guest_view/extension_options/extension_options_guest.h
[modify] https://crrev.com/c2f38775367477469cddb95e2bb93ec916f1bf94/extensions/browser/guest_view/extension_view/extension_view_guest.cc
[modify] https://crrev.com/c2f38775367477469cddb95e2bb93ec916f1bf94/extensions/browser/guest_view/extension_view/extension_view_guest.h
[modify] https://crrev.com/c2f38775367477469cddb95e2bb93ec916f1bf94/extensions/browser/guest_view/web_view/web_view_guest.cc
[modify] https://crrev.com/c2f38775367477469cddb95e2bb93ec916f1bf94/extensions/browser/guest_view/web_view/web_view_guest.h

Labels: Merge-Request-61

Comment 12 by lfg@chromium.org, Jul 28 2017

Labels: -OS-All -M61 M-61 OS-Chrome OS-Linux OS-Mac OS-Windows
Labels: -Merge-Request-61 Merge-Approved-61
Approving merge to M61 Chrome OS.

Comment 14 by lfg@chromium.org, Jul 28 2017

I'll handle the merge since James is out on vacation starting today.
Project Member

Comment 15 by bugdroid1@chromium.org, Jul 28 2017

Labels: -merge-approved-61 merge-merged-3163
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/07263b56847e19996ea179cea47f6cab31589fbd

commit 07263b56847e19996ea179cea47f6cab31589fbd
Author: Lucas Furukawa Gadani <lfg@chromium.org>
Date: Fri Jul 28 17:27:23 2017

Remove BrowserPluginGuestDelegate::CanRunInDetachedState() refs.

Allowing GuestViews to run in a detached state currently can cause test
flakiness, since a WebView.onContentLoad event can be received by the
embedder before the WebView has been properly attached. Since running in
a detached state isn't properly supported (or required), we remove it.

Bug:  747125 
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation
Change-Id: I3a88bbc9be40ddb94d60c7aab3eeedfcc678b16e
Reviewed-on: https://chromium-review.googlesource.com/587448
Commit-Queue: James MacLean <wjmaclean@chromium.org>
Reviewed-by: Lucas Gadani <lfg@chromium.org>
Reviewed-by: Charlie Reis (slow) <creis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#490104}
(cherry picked from commit c2f38775367477469cddb95e2bb93ec916f1bf94)

TBR=creis@chromium.org,wjmaclean@chromium.org

Change-Id: I3a88bbc9be40ddb94d60c7aab3eeedfcc678b16e
Reviewed-on: https://chromium-review.googlesource.com/591916
Reviewed-by: Lucas Gadani <lfg@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#101}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/07263b56847e19996ea179cea47f6cab31589fbd/components/guest_view/browser/guest_view_base.cc
[modify] https://crrev.com/07263b56847e19996ea179cea47f6cab31589fbd/components/guest_view/browser/guest_view_base.h
[modify] https://crrev.com/07263b56847e19996ea179cea47f6cab31589fbd/content/browser/browser_plugin/browser_plugin_guest.cc
[modify] https://crrev.com/07263b56847e19996ea179cea47f6cab31589fbd/content/public/browser/browser_plugin_guest_delegate.cc
[modify] https://crrev.com/07263b56847e19996ea179cea47f6cab31589fbd/content/public/browser/browser_plugin_guest_delegate.h
[modify] https://crrev.com/07263b56847e19996ea179cea47f6cab31589fbd/extensions/browser/guest_view/app_view/app_view_guest.cc
[modify] https://crrev.com/07263b56847e19996ea179cea47f6cab31589fbd/extensions/browser/guest_view/app_view/app_view_guest.h
[modify] https://crrev.com/07263b56847e19996ea179cea47f6cab31589fbd/extensions/browser/guest_view/extension_options/extension_options_guest.cc
[modify] https://crrev.com/07263b56847e19996ea179cea47f6cab31589fbd/extensions/browser/guest_view/extension_options/extension_options_guest.h
[modify] https://crrev.com/07263b56847e19996ea179cea47f6cab31589fbd/extensions/browser/guest_view/extension_view/extension_view_guest.cc
[modify] https://crrev.com/07263b56847e19996ea179cea47f6cab31589fbd/extensions/browser/guest_view/extension_view/extension_view_guest.h
[modify] https://crrev.com/07263b56847e19996ea179cea47f6cab31589fbd/extensions/browser/guest_view/web_view/web_view_guest.cc
[modify] https://crrev.com/07263b56847e19996ea179cea47f6cab31589fbd/extensions/browser/guest_view/web_view/web_view_guest.h

Comment 16 by lfg@chromium.org, Jul 28 2017

Labels: -Merge-Approved-61 merge-merged-3163
Project Member

Comment 17 by bugdroid1@chromium.org, Aug 1 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8a65d550fd2863731bf5adda4d8f707fb868e955

commit 8a65d550fd2863731bf5adda4d8f707fb868e955
Author: Lucas Furukawa Gadani <lfg@chromium.org>
Date: Tue Aug 01 22:20:57 2017

Don't allow OOPIF-based guests to receive events before being attached.

Receiving events before attachment can cause races, as the guest may
not have a RenderFrameProxy.

Bug:  747125 
Change-Id: I01a20215a7ee04f657ff8e65f70d562c87a33887
Reviewed-on: https://chromium-review.googlesource.com/591931
Reviewed-by: Ehsan Karamad <ekaramad@chromium.org>
Commit-Queue: Lucas Gadani <lfg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491131}
[modify] https://crrev.com/8a65d550fd2863731bf5adda4d8f707fb868e955/components/guest_view/browser/guest_view_base.cc

Comment 18 by lfg@chromium.org, Aug 2 2017

Labels: -merge-merged-3163 Merge-Request-61
Requesting merge for 8a65d550fd2863731bf5adda4d8f707fb868e955. This should fix the remaining races.
Labels: -Merge-Request-61 Merge-Approved-61
Approving merge to M61 Chrome OS.
Project Member

Comment 20 by bugdroid1@chromium.org, Aug 2 2017

Labels: -merge-approved-61 merge-merged-3163
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/5239fcebd450e004e1c2157b640dc53e65b78f39

commit 5239fcebd450e004e1c2157b640dc53e65b78f39
Author: Lucas Furukawa Gadani <lfg@chromium.org>
Date: Wed Aug 02 18:06:51 2017

Don't allow OOPIF-based guests to receive events before being attached.

Receiving events before attachment can cause races, as the guest may
not have a RenderFrameProxy.

Bug:  747125 
Change-Id: I01a20215a7ee04f657ff8e65f70d562c87a33887
Reviewed-on: https://chromium-review.googlesource.com/591931
Reviewed-by: Ehsan Karamad <ekaramad@chromium.org>
Commit-Queue: Lucas Gadani <lfg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#491131}
(cherry picked from commit 8a65d550fd2863731bf5adda4d8f707fb868e955)

TBR=ekaramad@chromium.org,wjmaclean@chromium.org

Change-Id: I01a20215a7ee04f657ff8e65f70d562c87a33887
Reviewed-on: https://chromium-review.googlesource.com/598535
Reviewed-by: Lucas Gadani <lfg@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#240}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/5239fcebd450e004e1c2157b640dc53e65b78f39/components/guest_view/browser/guest_view_base.cc

Comment 21 by lfg@chromium.org, Aug 2 2017

Status: Fixed (was: Assigned)

Sign in to add a comment