svg/dom/getScreenCTM-ancestor-transform.html failing on Site Isolation Win FYI bot |
|||||||
Issue descriptionSince r451938 added the svg/dom/getScreenCTM-ancestor-transform.html layout test, it's been failing on the Site Isolation Win FYI bot (i.e., when run with --site-per-process): https://build.chromium.org/p/chromium.fyi/builders/Site%20Isolation%20Win/builds/18090 By running it with "--additional-driver-flag --site-per-process", we would be creating out-of-process iframes for any cross-site iframes. Could that be causing problems in the test? I'll disable the test on that bot for now, but we should aim to get it fixed and re-enabled ASAP, since the first uses of OOPIFs have launched to stable channel. Thanks! Example test output: 03:16:28.425 19212 worker/4 svg/dom/getScreenCTM-ancestor-transform.html output stderr lines: 03:16:28.425 19212 [20112:25780:0222/031628.190:4929179:WARNING:render_frame_host_impl.cc(2222)] OnDidStopLoading was called twice. 03:16:28.425 19212 [20112:25780:0222/031628.253:4929241:WARNING:render_frame_host_impl.cc(2222)] OnDidStopLoading was called twice. 03:16:28.426 19212 [20112:25780:0222/031628.262:4929257:WARNING:render_frame_host_impl.cc(2222)] OnDidStopLoading was called twice. 03:16:28.426 19212 [20112:25780:0222/031628.283:4929272:WARNING:render_frame_host_impl.cc(2222)] OnDidStopLoading was called twice. 03:16:28.426 19212 [20112:25780:0222/031628.314:4929303:WARNING:render_frame_host_impl.cc(2222)] OnDidStopLoading was called twice. 03:16:28.426 19212 [20112:25780:0222/031628.324:4929319:WARNING:render_frame_host_impl.cc(2222)] OnDidStopLoading was called twice. 03:16:28.426 19212 [20112:25780:0222/031628.338:4929335:WARNING:render_frame_host_impl.cc(2222)] OnDidStopLoading was called twice. 03:16:28.429 20476 [44560/50036] svg/dom/getScreenCTM-ancestor-transform.html failed unexpectedly (asserts failed) 03:16:28.428 19212 worker/4 svg/dom/getScreenCTM-ancestor-transform.html failed: 03:16:28.428 19212 worker/4 asserts failed
,
Feb 28 2017
,
Feb 28 2017
,
Feb 28 2017
The test in question uses blob URLs in <iframe>s.
,
Feb 28 2017
Huh. We shouldn't be creating out-of-process iframes for those, so I wonder what's different. And the test also runs successfully if I load it via a file:// URL into Chrome when running with --site-per-process. I'm puzzled why iframe.contentDocument would be null (from the querySelector error in comment 1).
,
Feb 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/07f6ac013d83489dae02a319e0962e666d46ed8e commit 07f6ac013d83489dae02a319e0962e666d46ed8e Author: creis <creis@chromium.org> Date: Tue Feb 28 19:41:02 2017 Test expectation for getScreenCTM-ancestor-transform.html BUG= 697111 TEST=Site Isolation Win FYI bot goes green. NOTRY=true Review-Url: https://codereview.chromium.org/2720093003 Cr-Commit-Position: refs/heads/master@{#453670} [modify] https://crrev.com/07f6ac013d83489dae02a319e0962e666d46ed8e/third_party/WebKit/LayoutTests/FlagExpectations/site-per-process
,
Feb 28 2017
AFAIK, the WPT html5lib tests use a similar "technique", so might be worth checking if the failure mode is the same there (I saw them listed in the flag expectations for site-per-process.)
,
Mar 1 2017
It looks like this boils down url::Origin's opinion on what is "unique" (has opaque origin), through its use in RenderFrameHostManager::CanSubframeSwapProcess.
When using the test runner (--run-layout-test) we'll get blobs like "blob:file:///<uuid>", with an origin of {"file", "", 0}, while outside the runner it'll be "blob:null/<uuid>" (for something served from file:). url::Origin consider the former to not have an opaque origin while the latter would. While file: is a bit of an odd-ball here, wouldn't this also have a effect on other blob: URLs with "valid" URLs (paths)?
Anyway, I don't see my test being at fault here, so I'll reassign this for now.
,
Mar 1 2017
Thanks! Alex, sounds like your theory may have been close (i.e., layout tests acting differently than outside the runner). Since you're looking at CanSubframeSwapProcess for the transfer bug, can you take a look at this as well?
,
May 3 2017
,
Mar 7 2018
I think that this is actually a product bug - SiteInstance::GetSiteForURL tries to take blob (and filesystem) URIs into account, but this doesn't quite work for blob URIs associated with a file: origin. WIP CL @ https://crrev.com/c/953129
,
Mar 7 2018
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/217fd27e37476bf77cf6b789017d1285e82664f3 commit 217fd27e37476bf77cf6b789017d1285e82664f3 Author: Lukasz Anforowicz <lukasza@chromium.org> Date: Wed Mar 07 21:41:43 2018 Correctly handle blob:file:///... URIs in SiteInstance::GetSiteForURL. file URIs should map to "file:///" site. The same site needs to also be used for blob:file:///... URIs - this is what is fixed by this CL. Bug: 697111 Change-Id: Iff9e9a1552eb747ecd576aefdc5085009588690b Reviewed-on: https://chromium-review.googlesource.com/953129 Reviewed-by: Nick Carter <nick@chromium.org> Commit-Queue: Ćukasz Anforowicz <lukasza@chromium.org> Cr-Commit-Position: refs/heads/master@{#541589} [modify] https://crrev.com/217fd27e37476bf77cf6b789017d1285e82664f3/content/browser/site_instance_impl.cc [modify] https://crrev.com/217fd27e37476bf77cf6b789017d1285e82664f3/content/browser/site_instance_impl_unittest.cc [modify] https://crrev.com/217fd27e37476bf77cf6b789017d1285e82664f3/third_party/WebKit/LayoutTests/FlagExpectations/site-per-process
,
Mar 9 2018
|
|||||||
►
Sign in to add a comment |
|||||||
Comment 1 by creis@chromium.org
, Feb 28 2017