New issue
Advanced search Search tips

Issue 887201 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 9
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Feature



Sign in to add a comment

SignedExchange: Send Accept: sxg headers to Origins who opt-in

Project Member Reported by kouhei@chromium.org, Sep 20

Issue description

Design Doc: go/accept-sxg
 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 21

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

commit fc9327687b3d02315303e5eb76b4a6dc64fedfaa
Author: Kouhei Ueno <kouhei@chromium.org>
Date: Fri Sep 21 09:35:55 2018

Introduce OriginsList

This CL introduces OriginsList, which can be used to keep track of a
{allow,deny} list of domains.

The OriginsList will be used in the subsequent CLs to keep track of
the origins who opt-in to "Accept: application/signed-exchange"
header.

Bug:  887201 
Change-Id: Ie926587a016dab76a585088be76a70e0b62e51dc
Reviewed-on: https://chromium-review.googlesource.com/1235362
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Commit-Queue: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#593133}
[modify] https://crrev.com/fc9327687b3d02315303e5eb76b4a6dc64fedfaa/content/browser/BUILD.gn
[add] https://crrev.com/fc9327687b3d02315303e5eb76b4a6dc64fedfaa/content/browser/web_package/origins_list.cc
[add] https://crrev.com/fc9327687b3d02315303e5eb76b4a6dc64fedfaa/content/browser/web_package/origins_list.h
[add] https://crrev.com/fc9327687b3d02315303e5eb76b4a6dc64fedfaa/content/browser/web_package/origins_list_unittest.cc
[modify] https://crrev.com/fc9327687b3d02315303e5eb76b4a6dc64fedfaa/content/test/BUILD.gn

Project Member

Comment 2 by bugdroid1@chromium.org, Sep 27

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

commit 17843f4570b878f9aa71989214fc5857f1d77598
Author: Kouhei Ueno <kouhei@chromium.org>
Date: Thu Sep 27 02:44:55 2018

Add signed_exchange_utils::ShouldAdvertiseAcceptHeader

This CL introduces signed_exchange_utils::ShouldAdvertiseAcceptHeader,
which can be used to query if a origin should be sent
"Accept: application/signed-exchange" header.

The origins list is managed by the feature "SignedHTTPExchangeAcceptHeader",
and a Finch param attached to it.

Note: Use the below args to test this:
--enable-features=SignedHTTPExchangeAcceptHeader<AcceptHeaderStudy
--force-fieldtrials=AcceptHeaderStudy/Group
--force-fieldtrial-params=AcceptHeaderStudy.Group:OriginsList/www%2eexample%2ecom

The subsequent CL will actually plumb this to the navigation loaders.

Bug:  887201 
Change-Id: I06cc991e396b28ab0d02e2bbba3a117fd53d4fe5
Reviewed-on: https://chromium-review.googlesource.com/1235473
Reviewed-by: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Commit-Queue: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#594572}
[modify] https://crrev.com/17843f4570b878f9aa71989214fc5857f1d77598/content/browser/web_package/signed_exchange_utils.cc
[modify] https://crrev.com/17843f4570b878f9aa71989214fc5857f1d77598/content/browser/web_package/signed_exchange_utils.h
[modify] https://crrev.com/17843f4570b878f9aa71989214fc5857f1d77598/content/public/common/content_features.cc
[modify] https://crrev.com/17843f4570b878f9aa71989214fc5857f1d77598/content/public/common/content_features.h

Project Member

Comment 3 by bugdroid1@chromium.org, Sep 28

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

commit b5d1174637028c5f31ac59611441101dfe10357f
Author: Tsuyoshi Horo <horo@chromium.org>
Date: Fri Sep 28 06:56:45 2018

Send SXG accept header of navigation only to limited origins for Origin Trial.

Before this patch:
  The SXG accept header is sent to all origins when SignedHTTPExchange feature
  or SignedHTTPExchangeOriginTrial feature is enabled.

After this patch:
  The SXG accept header is sent when
    - SignedHTTPExchange feature is enabled.
    or
    - SignedHTTPExchangeOriginTrial feature and SignedHTTPExchangeAcceptHeader
      feature are enabled and the origin of the URL is in the OriginList of
      SignedHTTPExchangeAcceptHeader field trial.

Bug:  887201 
Change-Id: Ic67a8bc0644b1b6172030ff75162c04663dd33f0
Reviewed-on: https://chromium-review.googlesource.com/1242768
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595002}
[modify] https://crrev.com/b5d1174637028c5f31ac59611441101dfe10357f/content/browser/loader/navigation_url_loader_impl.cc
[modify] https://crrev.com/b5d1174637028c5f31ac59611441101dfe10357f/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/b5d1174637028c5f31ac59611441101dfe10357f/content/browser/web_package/signed_exchange_request_handler_browsertest.cc
[modify] https://crrev.com/b5d1174637028c5f31ac59611441101dfe10357f/content/browser/web_package/signed_exchange_utils.cc
[modify] https://crrev.com/b5d1174637028c5f31ac59611441101dfe10357f/content/browser/web_package/signed_exchange_utils.h

Project Member

Comment 4 by bugdroid1@chromium.org, Sep 28

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

commit 4762a8308d63693404e76024be50b4d9d060ee6b
Author: Findit <findit-for-me@appspot.gserviceaccount.com>
Date: Fri Sep 28 08:45:50 2018

Revert "Send SXG accept header of navigation only to limited origins for Origin Trial."

This reverts commit b5d1174637028c5f31ac59611441101dfe10357f.

Reason for revert:

Findit (https://goo.gl/kROfz5) identified CL at revision 595002 as the
culprit for flakes in the build cycles as shown on:
https://findit-for-me.appspot.com/waterfall/flake/flake-culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyQwsSDEZsYWtlQ3VscHJpdCIxY2hyb21pdW0vYjVkMTE3NDYzNzAyOGM1ZjMxYWM1OTYxMTQ0MTEwMWRmZTEwMzU3Zgw

Sample Failed Build: https://ci.chromium.org/buildbot/chromium.memory/Linux%20TSan%20Tests/26603

Sample Failed Step: content_browsertests

Sample Flaky Test: SignedExchangeAcceptHeaderBrowserTest/SignedExchangeAcceptHeaderBrowserTest.DisabledOrigin/3

Original change's description:
> Send SXG accept header of navigation only to limited origins for Origin Trial.
> 
> Before this patch:
>   The SXG accept header is sent to all origins when SignedHTTPExchange feature
>   or SignedHTTPExchangeOriginTrial feature is enabled.
> 
> After this patch:
>   The SXG accept header is sent when
>     - SignedHTTPExchange feature is enabled.
>     or
>     - SignedHTTPExchangeOriginTrial feature and SignedHTTPExchangeAcceptHeader
>       feature are enabled and the origin of the URL is in the OriginList of
>       SignedHTTPExchangeAcceptHeader field trial.
> 
> Bug:  887201 
> Change-Id: Ic67a8bc0644b1b6172030ff75162c04663dd33f0
> Reviewed-on: https://chromium-review.googlesource.com/1242768
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
> Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
> Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#595002}

Change-Id: Ic52f50aa70de8d3f21c55fff4517e7b0d58565fa
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  887201 
Reviewed-on: https://chromium-review.googlesource.com/1251022
Cr-Commit-Position: refs/heads/master@{#595023}
[modify] https://crrev.com/4762a8308d63693404e76024be50b4d9d060ee6b/content/browser/loader/navigation_url_loader_impl.cc
[modify] https://crrev.com/4762a8308d63693404e76024be50b4d9d060ee6b/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/4762a8308d63693404e76024be50b4d9d060ee6b/content/browser/web_package/signed_exchange_request_handler_browsertest.cc
[modify] https://crrev.com/4762a8308d63693404e76024be50b4d9d060ee6b/content/browser/web_package/signed_exchange_utils.cc
[modify] https://crrev.com/4762a8308d63693404e76024be50b4d9d060ee6b/content/browser/web_package/signed_exchange_utils.h

Project Member

Comment 5 by bugdroid1@chromium.org, Sep 28

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

commit 6e5bd03fd2f66773d617fe5214fcf32f8a617df4
Author: Tsuyoshi Horo <horo@chromium.org>
Date: Fri Sep 28 13:11:02 2018

Reland "Send SXG accept header of navigation only to limited origins for Origin Trial."

This reverts commit 4762a8308d63693404e76024be50b4d9d060ee6b.

The difference from the original patch is that in this patch
SignedExchangeAcceptHeaderBrowserTest uses SetUp() instead of
SetUpOnMainThread() to avoid the failures in TSAN bots.

Bug:  887201 
TBR=kinuko@, kouhei@, ksakamoto@

Original change's description:
> Send SXG accept header of navigation only to limited origins for Origin Trial.
>
> Before this patch:
>   The SXG accept header is sent to all origins when SignedHTTPExchange feature
>   or SignedHTTPExchangeOriginTrial feature is enabled.
>
> After this patch:
>   The SXG accept header is sent when
>     - SignedHTTPExchange feature is enabled.
>     or
>     - SignedHTTPExchangeOriginTrial feature and SignedHTTPExchangeAcceptHeader
>       feature are enabled and the origin of the URL is in the OriginList of
>       SignedHTTPExchangeAcceptHeader field trial.
>
> Bug:  887201 
> Change-Id: Ic67a8bc0644b1b6172030ff75162c04663dd33f0
> Reviewed-on: https://chromium-review.googlesource.com/1242768
> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
> Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
> Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#595002}

Change-Id: Iff188ffe2096c35d2c9fb4eee3723e78f5901b26
Reviewed-on: https://chromium-review.googlesource.com/1251144
Reviewed-by: Tsuyoshi Horo <horo@chromium.org>
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595065}
[modify] https://crrev.com/6e5bd03fd2f66773d617fe5214fcf32f8a617df4/content/browser/loader/navigation_url_loader_impl.cc
[modify] https://crrev.com/6e5bd03fd2f66773d617fe5214fcf32f8a617df4/content/browser/loader/resource_dispatcher_host_impl.cc
[modify] https://crrev.com/6e5bd03fd2f66773d617fe5214fcf32f8a617df4/content/browser/web_package/signed_exchange_request_handler_browsertest.cc
[modify] https://crrev.com/6e5bd03fd2f66773d617fe5214fcf32f8a617df4/content/browser/web_package/signed_exchange_utils.cc
[modify] https://crrev.com/6e5bd03fd2f66773d617fe5214fcf32f8a617df4/content/browser/web_package/signed_exchange_utils.h

Owner: horo@chromium.org
Cc: kouhei@chromium.org
Project Member

Comment 8 by bugdroid1@chromium.org, Sep 29

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

commit 60be6b1decfc302057b700dc644b6e563b411e95
Author: Tsuyoshi Horo <horo@chromium.org>
Date: Sat Sep 29 04:28:18 2018

Send SXG accept header of prefetch only to limited origins for Origin Trial.

Before this patch:
  The SXG accept header is sent to all origins when SignedHTTPExchange feature
  or SignedHTTPExchangeOriginTrial feature is enabled.

After this patch:
  The SXG accept header is sent when
    - SignedHTTPExchange feature is enabled.
    or
    - SignedHTTPExchangeOriginTrial feature and SignedHTTPExchangeAcceptHeader
      feature are enabled and the origin of the URL is in the OriginList of
      SignedHTTPExchangeAcceptHeader field trial.

Bug:  887201 
Change-Id: Id335fec1c791c2436cb4ce304b90aca4b71ee8ee
Reviewed-on: https://chromium-review.googlesource.com/1248347
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595297}
[modify] https://crrev.com/60be6b1decfc302057b700dc644b6e563b411e95/content/browser/loader/detachable_resource_handler.cc
[modify] https://crrev.com/60be6b1decfc302057b700dc644b6e563b411e95/content/browser/loader/prefetch_browsertest.cc
[modify] https://crrev.com/60be6b1decfc302057b700dc644b6e563b411e95/content/browser/loader/prefetch_url_loader.cc
[modify] https://crrev.com/60be6b1decfc302057b700dc644b6e563b411e95/content/browser/loader/prefetch_url_loader.h
[modify] https://crrev.com/60be6b1decfc302057b700dc644b6e563b411e95/content/browser/web_package/signed_exchange_request_handler_browsertest.cc
[add] https://crrev.com/60be6b1decfc302057b700dc644b6e563b411e95/content/test/data/sxg/prefetch.html
[modify] https://crrev.com/60be6b1decfc302057b700dc644b6e563b411e95/third_party/blink/renderer/core/loader/link_loader.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Oct 2

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

commit fefb98a99ca53ae6de930f9753fafcb59f845074
Author: Tsuyoshi Horo <horo@chromium.org>
Date: Tue Oct 02 10:52:49 2018

Add SXG accept header with Service Worker tests

Bug:  887201 
Change-Id: Ife32574b7014616f13b5ac3ede174c6a72c7bf4e
Reviewed-on: https://chromium-review.googlesource.com/1253921
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Kunihiko Sakamoto <ksakamoto@chromium.org>
Commit-Queue: Tsuyoshi Horo <horo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595789}
[modify] https://crrev.com/fefb98a99ca53ae6de930f9753fafcb59f845074/content/browser/web_package/signed_exchange_request_handler_browsertest.cc
[add] https://crrev.com/fefb98a99ca53ae6de930f9753fafcb59f845074/content/test/data/sxg/service-worker-prefetch.html
[add] https://crrev.com/fefb98a99ca53ae6de930f9753fafcb59f845074/content/test/data/sxg/service-worker-prefetch.js
[add] https://crrev.com/fefb98a99ca53ae6de930f9753fafcb59f845074/content/test/data/sxg/service-worker.html
[add] https://crrev.com/fefb98a99ca53ae6de930f9753fafcb59f845074/content/test/data/sxg/service-worker.js
[add] https://crrev.com/fefb98a99ca53ae6de930f9753fafcb59f845074/content/test/data/sxg/sw-prefetch-scope/test.html
[add] https://crrev.com/fefb98a99ca53ae6de930f9753fafcb59f845074/content/test/data/sxg/sw-scope-navigation-preload/test.html
[add] https://crrev.com/fefb98a99ca53ae6de930f9753fafcb59f845074/content/test/data/sxg/sw-scope-no-respond-with/test.html

Status: Fixed (was: Started)

Sign in to add a comment