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

Issue 647712 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

Unsafe nested URL blocking needs to work with PlzNavigate

Project Member Reported by alex...@chromium.org, Sep 16 2016

Issue description

r419019 added blocking of requests with nested URLs with extension origins originating from non-extension processes.  Looks like these checks are incompatible with PlzNavigate and cause the following browser_tests failures:

WebViewGuestTouchFocusTest.TouchFocusesBrowserPluginInEmbedder
WebViewScrollGuestContent/WebViewScrollGuestContentTest.ScrollGuestContent/0
WebViewScrollBubbling/WebViewGuestScrollTouchTest.TestGuestGestureScrollsBubble/0
WebViewScrollBubbling/WebViewGuestScrollTouchTest.TestGuestGestureScrollsBubble/1
WebViewScrollBubbling/WebViewGuestScrollTouchTest.TestGuestGestureScrollsBubble/2
WebViewScrollBubbling/WebViewGuestScrollTouchTest.TestGuestGestureScrollsBubble/3
WebViewTests/WebViewFocusTest.TouchFocusesEmbedder/0
ProcessManagerBrowserTest.NestedURLNavigationsToExtensionAllowed

The failures started in https://build.chromium.org/p/chromium.fyi/builders/Browser%20Side%20Navigation%20Linux/builds/21327

The WebView tests are failing because the <webview> src in these tests is set to a chrome-extension:// URL (from same app as where the embedder is served from), and the <webview> load is blocked.  I don't quite know how these requests are issued with PlzNavigate, but from what Nasko tells me, they use blob URLs underneath with no renderer process being responsible for the request, and further the <webview> makes it seem like a top-level navigation, so it kind of makes sense why the blocking occurs.  We'll need to fix this to work with PlzNavigate.

I'll disable these tests while I investigate further.


 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 16 2016

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

commit ed4371416e297bfd4ee468489cf5faaf02179efa
Author: alexmos <alexmos@chromium.org>
Date: Fri Sep 16 22:44:05 2016

Disable PlzNavigate tests that started failing due to nested URL blocking.

BUG= 647712 

Review-Url: https://codereview.chromium.org/2345673005
Cr-Commit-Position: refs/heads/master@{#419312}

[modify] https://crrev.com/ed4371416e297bfd4ee468489cf5faaf02179efa/testing/buildbot/filters/browser-side-navigation.linux.browser_tests.filter

Comment 2 by jam@chromium.org, Oct 4 2016

Owner: jam@chromium.org
Status: Started (was: Assigned)
I started looking at some failing tests and saw that this is the same issue. I'll take care of this.
Cc: alex...@chromium.org
Note that we've just relaxed this blocking for apps that embed <webview> in https://codereview.chromium.org/2387323002.  This might already fix most of these tests.

Comment 4 by jam@chromium.org, Oct 4 2016

Thanks for the pointer. Yes your patch does fix 
-WebViewGuestTouchFocusTest.TouchFocusesBrowserPluginInEmbedder
-WebViewScrollGuestContent/WebViewScrollGuestContentTest.ScrollGuestContent/0
-WebViewScrollBubbling/WebViewGuestScrollTouchTest.TestGuestGestureScrollsBubble*
-WebViewTests/WebViewFocusTest.TouchFocusesEmbedder/0

I had an in progress patch that fixed them along with 
ProcessManagerBrowserTest.NestedURLNavigationsToExtensionAllowed
I can update it now, unless you have fixes for them?

I haven't fixed 
ProcessManagerBrowserTest.NestedURLNavigationsToExtensionBlocked
yet, it's crashing in the renderer.
I wasn't planning on fixing ProcessManagerBrowserTest.NestedURLNavigationsToExtension*, so please feel free to fix those.

Comment 6 by jam@chromium.org, Nov 4 2016

Status: Fixed (was: Started)

Sign in to add a comment