| Index: content/browser/service_worker/foreign_fetch_request_handler.cc
|
| diff --git a/content/browser/service_worker/foreign_fetch_request_handler.cc b/content/browser/service_worker/foreign_fetch_request_handler.cc
|
| index aa085bd53a0ecb317da16981dddb42845b58d7b9..b4cce4a23957305531afe61adac8eafab1bf1334 100644
|
| --- a/content/browser/service_worker/foreign_fetch_request_handler.cc
|
| +++ b/content/browser/service_worker/foreign_fetch_request_handler.cc
|
| @@ -180,7 +180,14 @@ void ForeignFetchRequestHandler::DidFindRegistration(
|
| }
|
| }
|
|
|
| - if (!scope_matches) {
|
| + const url::Origin& request_origin = job->request()->initiator();
|
| + bool origin_matches = active_version->foreign_fetch_origins().empty();
|
| + for (const url::Origin& origin : active_version->foreign_fetch_origins()) {
|
| + if (request_origin.IsSameOriginWith(origin))
|
| + origin_matches = true;
|
| + }
|
| +
|
| + if (!scope_matches || !origin_matches) {
|
| job->FallbackToNetwork();
|
| return;
|
| }
|
|
|