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

Issue 776532 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

Site Isolation FYI bots should isolate origins used in wpt tests

Project Member Reported by lukasza@chromium.org, Oct 19 2017

Issue description

We should make it possible to write wpt tests that exercise OOPIFs.  

Legacy layout tests used 127.0.0.1-VS-localhost and http-VS-https in cross-origin tests.  These origins are luckily also different sites, so they trigger OOPIFs when layout tests are launched with --site-per-process flag (as is today on Site Isolation FYI bots).

We should ensure that origins used in wpt tests also can trigger OOPIFs.  The difficulty right now is that www1.web-platform.test is in the same site as www2.web-platform.test (and therefore --site-per-process will not put these origins into a separate process).

Maybe we could consider passing all (some?) wpt-blessed origins into --isolate-origins cmdline flag?

 
According to https://github.com/w3c/web-platform-tests#running-the-tests, you want to map domains in this way.

127.0.0.1   web-platform.test
127.0.0.1   www.web-platform.test
127.0.0.1   www1.web-platform.test
127.0.0.1   www2.web-platform.test
127.0.0.1   xn--n8j6ds53lwwkrqhv28a.web-platform.test
127.0.0.1   xn--lve-6lad.web-platform.test
0.0.0.0     nonexistent-origin.web-platform.test

Also, according to this: http://web-platform-tests.org/writing-tests/server-features.html there is an API for the test to invoke 5 different origins: www, www1, www2, 天気の良い日, and élève which are subdomains of web-platform.test. The tests provide 2 ports to access the server from the test using the API.

Comment 2 by nasko@chromium.org, Oct 19 2017

Thanks for filing this bug. Making it work on the FYI bot is a good first step. I wonder why not push that to be the case for all bots? It will help us get coverage for OOPIFs and will ensure we don't break important cases as part of the CQ/Waterfall.
nasko@ - this might result in reduced test coverage for the cases where frames stay in the same process, right?
I think if FYI is green, the flags should be set for all tests since the intent of these domains seems to be about multiple origins.
To fix this we could probably just add the extra cmdline flag in testing/buildbot/chromium.fyi.json here:

    "isolated_scripts": [
      {
        "args": [
          "--additional-driver-flag",
          "--site-per-process",
          "--additional-expectations",
          "src/third_party/WebKit/LayoutTests/FlagExpectations/site-per-process",
          "http/tests"
        ],

We should also consider running external/wpt (in addition to http/tests) on the Linux bot.  alexmos@ suggests that me might want to try running *all* of layout tests (previous concerns about throughput should be gone after layout tests got the swarming support).
Owner: lukasza@chromium.org
Status: Started (was: Untriaged)
I have 2 WIP CLs:

- Run *all* layout tests on linux_site_isolation bot (including WPT tests)
    - https://chromium-review.googlesource.com/c/chromium/src/+/729147
    - waiting for tryjob results to see if we get any failures or flakes

- Site Isolation bots should isolate WPT-specific origins.
    - https://chromium-review.googlesource.com/c/chromium/src/+/729242
    - waiting until the other CL lands


We would also need to take care of isolating WPT origins on the Site Isolation Win bot.  OTOH, I am not sure where to find the layout tests config for this bot... :-(
#6: the Win bot's layout test config is in //build/scripts/slave/recipe_modules/chromium_tests/chromium_fyi.py

https://cs.chromium.org/chromium/build/scripts/slave/recipe_modules/chromium_tests/chromium_fyi.py?l=442&rcl=14fe557860738d310becbf8dc06a1da98861d0c2
Project Member

Comment 8 by bugdroid1@chromium.org, Oct 23 2017

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

commit cca2efde48b1cbb9e444109adbadfaeee55360e3
Author: Lukasz Anforowicz <lukasza@chromium.org>
Date: Mon Oct 23 17:29:13 2017

Run *all* layout tests on linux_site_isolation bot (including WPT tests)

Previous concerns about throughput are no longer applicable thanks
to the swarming support that was recently added for layout tests.

Bug:  776532 
Change-Id: Ifde1e53859df40210ce1a6e160f931a1a8ca226b
Reviewed-on: https://chromium-review.googlesource.com/729147
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
Cr-Commit-Position: refs/heads/master@{#510833}
[modify] https://crrev.com/cca2efde48b1cbb9e444109adbadfaeee55360e3/testing/buildbot/chromium.fyi.json

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 10 2017

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

commit e3fb27caf4a9e5ac06eba8a0bfc38781de2e4ad7
Author: Lukasz Anforowicz <lukasza@chromium.org>
Date: Fri Nov 10 18:56:59 2017

Site Isolation bots should isolate WPT-specific origins.

This CL tries to make it easier to write tests that
1) exercise OOPIFs
2) can be upstreamed to WPT

Before this CL, Site Isolation bots would not isolate WPT-specific
origins, because while www1.web-platform.test and www2.web-platform.test
are different origins, they are the same site (and so do not get OOPIFs
in --site-per-process mode).  After this CL, the WPT-specific origins
will use the isolated origins infrastructure for forcing OOPIF usage.

Bug:  776532 
Change-Id: I53f725f91c00e83ca10da870bb49566d5f07073c
Reviewed-on: https://chromium-review.googlesource.com/729242
Commit-Queue: Łukasz Anforowicz <lukasza@chromium.org>
Reviewed-by: Quinten Yearsley <qyearsley@chromium.org>
Reviewed-by: Charlie Reis <creis@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#515616}
[modify] https://crrev.com/e3fb27caf4a9e5ac06eba8a0bfc38781de2e4ad7/testing/buildbot/chromium.fyi.json
[modify] https://crrev.com/e3fb27caf4a9e5ac06eba8a0bfc38781de2e4ad7/third_party/WebKit/LayoutTests/FlagExpectations/site-per-process
[modify] https://crrev.com/e3fb27caf4a9e5ac06eba8a0bfc38781de2e4ad7/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/README.chromium

Status: Fixed (was: Started)
https://build.chromium.org/p/chromium.fyi/builders/Site%20Isolation%20Linux is mostly green (and the past redness is not related to WPT), so let me close this bug as fixed.

Sign in to add a comment