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

Issue 683199 link

Starred by 2 users

Issue metadata

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

Blocking:
issue 477150



Sign in to add a comment

virtual/feature-policy/http/tests/feature-policy/payment-enabledforself.php fails on Site Isolation Win bot

Project Member Reported by lukasza@chromium.org, Jan 20 2017

Issue description

Test results from https://storage.googleapis.com/chromium-layout-test-archives/Site_Isolation_Win/17669/layout-test-results/results.html:

EXPECTED TEST RESULT:

PASS Any iframes may construct PaymentRequest when enabled. 

ACTUAL TEST RESULT:

FAIL Any iframes may construct PaymentRequest when enabled. assert_unreached: PaymentRequest should be enabled by FeaturePolicy Reached unreachable code


When trying to repro, please ensure that both --enable-blink-features=FeaturePolicy and --site-per-process are used.
 
lunalu@, can you PTAL and either revert or add a test expectation in third_party/WebKit/LayoutTests/FlagExpectations/site-per-process?

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

Cc: rouslan@chromium.org iclell...@chromium.org sanjoy....@samsung.com
Components: Blink>Payments
Looks like this test was added in r444797 ("Initial implementation for feature policy - PaymentRequest") and failed from the start on https://build.chromium.org/p/chromium.fyi/builders/Site%20Isolation%20Win/builds/17660.

Not sure how closely related it is, but there was a fairly recent allowpaymentrequest request CL adding support for out-of-process iframes in r438724.  Would the work done there help with getting this test to pass in --site-per-process mode?

Thanks for taking a look!
Is this passing on Linux site isolation bots? It doesn't look like the CL triggered those trybots before it landed.

I'm trying to reproduce this with

third_party/WebKit/Tools/Scripts/run-webkit-tests -t Default --additional-driver-flag=--enable-blink-features=FeaturePolicy --additional-driver-flag=--site-per-process http/tests/feature-policy/payment-enabledforself.php

and it passes locally on Linux; just checking before I try at the windows lab)

No -- actually, I can reproduce with that command line (after I stashed my local changes, at least); sorry for the noise.

We should probably disable the test in expectations and then fix this.
The Site Isolation Linux bot only runs the http/tests subset of layout tests (i.e. doesn't run tests under virtual/feature-policy).  I have't tried to repro locally yet.  FWIW, your commandline in #c3 looks right to me.
Cc: -iclell...@chromium.org lunalu@chromium.org
Owner: iclell...@chromium.org
Status: Started (was: Assigned)
Blocking: 477150
Project Member

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

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

commit 6701954e9d1f4a50a8b80d888748f7ce78ee82a6
Author: iclelland <iclelland@chromium.org>
Date: Fri Jan 20 20:56:56 2017

Disable feature-policy/fullscreen-enabledforself.php for site-isolation bots

BUG= 683199 
NOTRY=true
R=lukasza@chromium.org

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

[modify] https://crrev.com/6701954e9d1f4a50a8b80d888748f7ce78ee82a6/third_party/WebKit/LayoutTests/FlagExpectations/site-per-process

Comment 9 by creis@chromium.org, Jan 20 2017

Thanks for getting the bot green, and for looking into the underlying issue!
It looks the like the root cause of this was that the feature policy header is not being replicated correctly to out-of-process frames. I'm running https://codereview.chromium.org/2644233005/ through the trybots right now, and if it works, it should fix both this and  crbug.com/672546 .
Project Member

Comment 11 by bugdroid1@chromium.org, Jan 24 2017

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

commit 6fafd01c2b16b4c4b23e3fb83c80722f36a3bb14
Author: iclelland <iclelland@chromium.org>
Date: Tue Jan 24 14:11:55 2017

Fix Feature Policy header replication in site-isolation.

The ToWebParsedFeaturePolicy method was not constructing the
WebParsedFeaturePolicy struct correctly, so remote frames would only receive
empty whitelists when the FP header was replicated from their local process.

BUG= 683199 , 672546 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

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

[modify] https://crrev.com/6fafd01c2b16b4c4b23e3fb83c80722f36a3bb14/content/renderer/render_frame_proxy.cc
[modify] https://crrev.com/6fafd01c2b16b4c4b23e3fb83c80722f36a3bb14/third_party/WebKit/LayoutTests/FlagExpectations/site-per-process

Labels: Merge-Request-57
Status: Fixed (was: Started)
Is this change applicable to All OSes or any specific OS?
The change applies to all Blink platforms, so Windows, Linux, Mac and Android (everything except iOS.)
Labels: OS-Android OS-Chrome OS-Linux OS-Mac OS-Windows
Project Member

Comment 17 by sheriffbot@chromium.org, Jan 24 2017

Labels: -Merge-Request-57 Hotlist-Merge-Approved Merge-Approved-57
Your change meets the bar and is auto-approved for M57. Please go ahead and merge the CL to branch 2987 manually. Please contact milestone owner if you have questions.
Owners: amineer@(clank), cmasso@(bling), ketakid@(cros), govind@(desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Project Member

Comment 18 by bugdroid1@chromium.org, Jan 24 2017

Labels: -merge-approved-57 merge-merged-2987
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2cd339129aa18e64658b1f15f37a53789dab5b68

commit 2cd339129aa18e64658b1f15f37a53789dab5b68
Author: Ian Clelland <iclelland@google.com>
Date: Tue Jan 24 19:18:05 2017

Fix Feature Policy header replication in site-isolation.

The ToWebParsedFeaturePolicy method was not constructing the
WebParsedFeaturePolicy struct correctly, so remote frames would only receive
empty whitelists when the FP header was replicated from their local process.

BUG= 683199 , 672546 
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_site_isolation

Review-Url: https://codereview.chromium.org/2644233005
Cr-Commit-Position: refs/heads/master@{#445714}
(cherry picked from commit 6fafd01c2b16b4c4b23e3fb83c80722f36a3bb14)

Review-Url: https://codereview.chromium.org/2653043002 .
Cr-Commit-Position: refs/branch-heads/2987@{#66}
Cr-Branched-From: ad51088c0e8776e8dcd963dbe752c4035ba6dab6-refs/heads/master@{#444943}

[modify] https://crrev.com/2cd339129aa18e64658b1f15f37a53789dab5b68/content/renderer/render_frame_proxy.cc
[modify] https://crrev.com/2cd339129aa18e64658b1f15f37a53789dab5b68/third_party/WebKit/LayoutTests/FlagExpectations/site-per-process

Sign in to add a comment