Skip to content

Commit

Permalink
Site Isolation bots should isolate WPT-specific origins.
Browse files Browse the repository at this point in the history
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}
  • Loading branch information
anforowicz authored and Commit Bot committed Nov 10, 2017
1 parent ce49155 commit e3fb27c
Show file tree
Hide file tree
Showing 3 changed files with 91 additions and 1 deletion.
2 changes: 2 additions & 0 deletions testing/buildbot/chromium.fyi.json
Original file line number Diff line number Diff line change
Expand Up @@ -6364,6 +6364,8 @@
"args": [
"--additional-driver-flag",
"--site-per-process",
"--additional-driver-flag",
"--isolate-origins=http://www.web-platform.test:8001/,http://www1.web-platform.test:8001/,http://www2.web-platform.test:8001/,http://xn--n8j6ds53lwwkrqhv28a.web-platform.test:8001/,http://xn--lve-6lad.web-platform.test:8001/,http://www.web-platform.test:8081/,http://www1.web-platform.test:8081/,http://www2.web-platform.test:8081/,http://xn--n8j6ds53lwwkrqhv28a.web-platform.test:8081/,http://xn--lve-6lad.web-platform.test:8081/,https://www.web-platform.test:8444/,https://www1.web-platform.test:8444/,https://www2.web-platform.test:8444/,https://xn--n8j6ds53lwwkrqhv28a.web-platform.test:8444/,https://xn--lve-6lad.web-platform.test:8444/",
"--additional-expectations",
"src/third_party/WebKit/LayoutTests/FlagExpectations/site-per-process"
],
Expand Down
82 changes: 82 additions & 0 deletions third_party/WebKit/LayoutTests/FlagExpectations/site-per-process
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,9 @@ crbug.com/661725 http/tests/security/frameNavigation/xss-ALLOWED-top-navigation-
crbug.com/661725 virtual/mojo-loading/http/tests/security/frameNavigation/xss-ALLOWED-top-navigation-after-postMessage.html [ Failure Timeout ]

# https://crbug.com/582245 - no exception, b/c BindingSecurity::shouldAllowAccessTo exits early when |!target|.
crbug.com/582245 external/wpt/x-frame-options/deny.sub.html [ Failure ]
crbug.com/582245 external/wpt/x-frame-options/multiple.sub.html [ Failure ]
crbug.com/582245 external/wpt/x-frame-options/sameorigin.sub.html [ Failure ]
crbug.com/582245 http/tests/security/xss-DENIED-getSVGDocument-iframe.html [ Failure ]
crbug.com/582245 http/tests/security/xss-DENIED-getSVGDocument-object.html [ Failure ]
crbug.com/582245 virtual/mojo-loading/http/tests/security/xss-DENIED-getSVGDocument-iframe.html [ Failure ]
Expand Down Expand Up @@ -147,7 +150,53 @@ crbug.com/745881 [ Win ] fast/text/ellipsis-in-relative-inline.html [ Failure ]
# https://crbug.com/778696: Not much info...
crbug.com/778696 virtual/threaded/fast/scroll-behavior/first-scroll-runs-on-compositor.html [ Failure ]

# https://crbug.com/778372: Unique name conflict with old entries?
crbug.com/778372 external/wpt/html/browsers/origin/cross-origin-objects/cross-origin-objects.html [ Crash ]

# The tests below are inherently incompatible with isolating same-site, cross-origin
# frames into separate processes (which is how Site Isolation bots treat
# www1.web-platform.test, www2.web-platform.test, etc).
Bug(none) external/wpt/html/browsers/origin/relaxing-the-same-origin-restriction [ Skip ]

# TODO(lukasza, alexmos): Triage these failures.
Bug(none) external/wpt/FileAPI/url/multi-global-origin-serialization.sub.html [ Failure ]
Bug(none) external/wpt/IndexedDB/interleaved-cursors.html [ Timeout ]
Bug(none) external/wpt/XMLHttpRequest/xmlhttprequest-sync-default-feature-policy.sub.html [ Timeout ]
Bug(none) external/wpt/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-cross-none-block.html [ Timeout ]
Bug(none) external/wpt/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-cross-star-allow.html [ Timeout ]
Bug(none) external/wpt/content-security-policy/frame-ancestors/frame-ancestors-nested-cross-in-same-star-allow.html [ Timeout ]
Bug(none) external/wpt/content-security-policy/securitypolicyviolation/upgrade-insecure-requests-reporting.https.html [ Crash ]
Bug(none) external/wpt/credential-management/credentialscontainer-create-basics.https.html [ Crash ]
Bug(none) external/wpt/css-fonts/font-display/font-display.html [ Crash ]
Bug(none) external/wpt/dom/events/EventListener-incumbent-global-1.sub.html [ Timeout ]
Bug(none) external/wpt/dom/events/EventListener-incumbent-global-2.sub.html [ Timeout ]
Bug(none) external/wpt/dom/nodes/Element-matches.html [ Failure ]
Bug(none) external/wpt/encrypted-media/encrypted-media-default-feature-policy.https.sub.html [ Timeout ]
Bug(none) external/wpt/feature-policy/payment-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html [ Timeout ]
Bug(none) external/wpt/feature-policy/payment-allowed-by-feature-policy-attribute.https.sub.html [ Timeout ]
Bug(none) external/wpt/feature-policy/payment-allowed-by-feature-policy.https.sub.html [ Timeout ]
Bug(none) external/wpt/feature-policy/payment-default-feature-policy.https.sub.html [ Timeout ]
Bug(none) external/wpt/feature-policy/payment-disabled-by-feature-policy.https.sub.html [ Timeout ]
Bug(none) external/wpt/fetch/api/basic/keepalive.html [ Timeout ]
Bug(none) external/wpt/fetch/api/redirect/redirect-location-worker.html [ Timeout ]
Bug(none) external/wpt/fetch/api/redirect/redirect-location.html [ Timeout ]
Bug(none) external/wpt/fetch/api/request/request-cache-default-conditional.html [ Timeout ]
Bug(none) external/wpt/fullscreen/api/element-ready-check-allowed-cross-origin-manual.sub.html [ Failure ]
Bug(none) external/wpt/fullscreen/api/element-ready-check-not-allowed-cross-origin-manual.sub.html [ Failure ]
Bug(none) external/wpt/html/browsers/browsing-the-web/navigating-across-documents/004.html [ Timeout ]
Bug(none) external/wpt/html/browsers/history/the-location-interface/allow_prototype_cycle_through_location.sub.html [ Failure ]
Bug(none) external/wpt/html/browsers/history/the-location-interface/location-origin-idna.sub.window.html [ Timeout ]
Bug(none) external/wpt/html/browsers/history/the-location-interface/location-prototype-setting-same-origin-domain.sub.html [ Failure ]
Bug(none) external/wpt/html/browsers/origin/cross-origin-objects/cross-origin-objects-on-new-window.html [ Failure ]
Bug(none) external/wpt/html/browsers/the-window-object/apis-for-creating-and-navigating-browsing-contexts-by-name/open-features-non-integer-top.html [ Crash ]
Bug(none) external/wpt/html/browsers/the-windowproxy-exotic-object/windowproxy-prototype-setting-same-origin-domain.sub.html [ Failure ]
Bug(none) external/wpt/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-domain-success.sub.html [ Timeout ]
Bug(none) external/wpt/html/infrastructure/safe-passing-of-structured-data/shared-array-buffers/window-similar-but-cross-origin-success.sub.html [ Timeout ]
Bug(none) external/wpt/html/infrastructure/urls/resolving-urls/query-encoding/windows-1251.html [ Crash ]
Bug(none) external/wpt/html/semantics/embedded-content/media-elements/error-codes/error.html [ Timeout ]
Bug(none) external/wpt/html/semantics/embedded-content/media-elements/ready-states/autoplay.html [ Timeout ]
Bug(none) external/wpt/html/semantics/embedded-content/media-elements/seeking/seek-to-currentTime.html [ Timeout ]
Bug(none) external/wpt/html/semantics/embedded-content/media-elements/track/track-element/cloneNode.html [ Crash ]
Bug(none) external/wpt/html/syntax/parsing/html5lib_adoption01.html [ Failure ]
Bug(none) external/wpt/html/syntax/parsing/html5lib_adoption02.html [ Failure ]
Bug(none) external/wpt/html/syntax/parsing/html5lib_comments01.html [ Failure ]
Expand Down Expand Up @@ -194,7 +243,40 @@ Bug(none) external/wpt/html/syntax/parsing/html5lib_tests9.html [ Failure ]
Bug(none) external/wpt/html/syntax/parsing/html5lib_tricky01.html [ Failure ]
Bug(none) external/wpt/html/syntax/parsing/html5lib_webkit01.html [ Failure ]
Bug(none) external/wpt/html/syntax/parsing/html5lib_webkit02.html [ Failure ]
Bug(none) external/wpt/payment-request/allowpaymentrequest/setting-allowpaymentrequest-timing.https.sub.html [ Failure ]
Bug(none) external/wpt/preload/delaying-onload-link-preload-after-discovery.html [ Failure ]
Bug(none) external/wpt/preload/download-resources.html [ Failure ]
Bug(none) external/wpt/preload/dynamic-adding-preload-nonce.html [ Failure ]
Bug(none) external/wpt/preload/dynamic-adding-preload.html [ Failure ]
Bug(none) external/wpt/preload/link-header-on-subresource.html [ Failure ]
Bug(none) external/wpt/preload/link-header-preload-delay-onload.html [ Failure ]
Bug(none) external/wpt/preload/link-header-preload-nonce.html [ Failure ]
Bug(none) external/wpt/preload/link-header-preload.html [ Failure ]
Bug(none) external/wpt/preload/onerror-event.html [ Failure ]
Bug(none) external/wpt/preload/onload-event.html [ Failure ]
Bug(none) external/wpt/preload/preload-with-type.html [ Failure ]
Bug(none) external/wpt/preload/single-download-late-used-preload.html [ Failure ]
Bug(none) external/wpt/preload/single-download-preload.html [ Failure ]
Bug(none) external/wpt/service-workers/service-worker/ServiceWorkerGlobalScope/registration-attribute.https.html [ Failure ]
Bug(none) external/wpt/upgrade-insecure-requests/iframe-redirect-upgrade.https.html [ Crash ]
Bug(none) external/wpt/upgrade-insecure-requests/iframe-upgrade.https.html [ Crash Timeout ]
Bug(none) external/wpt/webmessaging/event.origin.sub.htm [ Failure ]
Bug(none) external/wpt/webmessaging/postMessage_asterisk_xorigin.sub.htm [ Failure ]
Bug(none) external/wpt/webmessaging/with-ports/021.html [ Failure ]
Bug(none) external/wpt/webmessaging/without-ports/020.html [ Failure ]
Bug(none) external/wpt/webusb/usb-allowed-by-feature-policy-attribute-redirect-on-load.https.sub.html [ Timeout ]
Bug(none) external/wpt/webusb/usb-default-feature-policy.https.sub.html [ Timeout ]
Bug(none) external/wpt/webusb/usb-disabled-by-feature-policy.https.sub.html [ Timeout ]
Bug(none) external/wpt/webvr/webvr-disabled-by-feature-policy.https.sub.html [ Timeout ]
Bug(none) external/wpt/webvr/webvr-enabled-by-feature-policy-attribute-redirect-on-load.https.sub.html [ Timeout ]
Bug(none) external/wpt/webvr/webvr-enabled-on-self-origin-by-feature-policy.https.sub.html [ Timeout ]
Bug(none) external/wpt/x-frame-options/invalid.sub.html [ Timeout ]
Bug(none) jquery/manipulation.html [ Timeout ]
Bug(none) storage/indexeddb/blob-valid-after-deletion.html [ Failure ]
Bug(none) storage/indexeddb/blob-valid-before-commit.html [ Failure ]
Bug(none) storage/indexeddb/empty-crash.html [ Timeout ]
Bug(none) virtual/mojo-blobs/external/wpt/FileAPI/url/multi-global-origin-serialization.sub.html [ Failure ]
Bug(none) virtual/mojo-blobs/external/wpt/fetch/api/basic/keepalive.html [ Timeout ]
Bug(none) virtual/mojo-blobs/external/wpt/webmessaging/event.origin.sub.htm [ Failure ]
Bug(none) virtual/mojo-blobs/external/wpt/webmessaging/postMessage_asterisk_xorigin.sub.htm [ Failure ]
Bug(none) virtual/outofblink-cors/external/wpt/fetch/api/basic/keepalive.html [ Timeout ]
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,13 @@ wpt.config.json
===============
The configuration file used when running WPTServe. Note that this file loads
after wpt/config.default.json and this configuration gets merged onto it. When
changing the ports (HTTP/S, WS/S), make sure to update the python code too.
changing the ports (HTTP/S, WS/S), make sure to also:

- update `_get_http_host_and_ports_for_test` in
`//third_party/WebKit/Tools/Scripts/webkitpy/layout_tests/port/driver.py`
- update bot configs (e.g. `Site Isolation Linux` bot forces OOPIFs by using
`--isolate-origins=http://www.web-platform.test:8001/` as specified in
`//testing/buildbot/chromium.fyi.json`).

checkout.sh
===========
Expand Down

0 comments on commit e3fb27c

Please sign in to comment.