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

Issue 673748 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Feb 2017
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocking:
issue 576261



Sign in to add a comment

PlzNavigate: cross frame access should work

Project Member Reported by clamy@chromium.org, Dec 13 2016

Issue description

http/tests/security/cross-frame-access-parent-isolated-world.html and http/tests/security/cross-frame-access-parent-explicit-domain-isolated-world.html are currently timeouting when PlzNavigate is enabled. This should be fixed.
 

Comment 1 by ananta@chromium.org, Jan 12 2017

Owner: ananta@chromium.org
Status: Assigned (was: Untriaged)
Project Member

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

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

commit f59dc823911d1e7fca195b638638e8458c631491
Author: ananta <ananta@chromium.org>
Date: Fri Jan 20 21:35:46 2017

PlzNavigate: Fix the http/tests/security/cross-frame-access-parent-isolated-world.html and http/tests/security/cross-frame-access-parent-explicit-domain-isolated-world.html layout tests.

These tests instantiate an iframe with the following src "data:text/html," and then later
on switch the iframe src to a different URL to run the security tests.

With PlzNavigate when the iframe is instantiated, we send the navigation off to the browser
via RenderFrameImpl::BeginNavigation. This function gets called in the decidePolicyForNavigation code path. When this
returns blink eventually schedules a task for switching the navigation src url for the iframe via a call to
the NavigationScheduler::scheduleLocationChange which is called in the LocalFrame::navigate function. Before this scheduled
task runs, the CommitNavigation IPC comes back from the browser and the original load completes for the iframe which cancels
pending navigations on the iframe. As a result the task never runs and the test times out.
Without PlzNavigate this does not happen as the original load on the iframe is completed by the time the task runs.

It looks like fixing the layout test itself to switch the src on the iframe after it finishes loading is one approach. Alternatively we could avoid cancelling pending navigations for plznavigate.
Exceptions being user initiated navigations.

BUG= 673748 

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

[modify] https://crrev.com/f59dc823911d1e7fca195b638638e8458c631491/third_party/WebKit/LayoutTests/FlagExpectations/enable-browser-side-navigation
[modify] https://crrev.com/f59dc823911d1e7fca195b638638e8458c631491/third_party/WebKit/Source/core/loader/FrameLoader.cpp

Status: Fixed (was: Assigned)

Sign in to add a comment