| 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..6479e95cecc0d425942764136eaef4ee76754b59 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 GURL& origin : active_version->foreign_fetch_origins()) {
|
| + if (request_origin.IsSameOriginWith(url::Origin(origin)))
|
| + origin_matches = true;
|
| + }
|
| +
|
| + if (!scope_matches || !origin_matches) {
|
| job->FallbackToNetwork();
|
| return;
|
| }
|
|
|