| 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 f3437802e4c54618a9d751d33adb8f3f6e4e5689..e69ef5ae29aeefbda52146a5d7f26e1ae5caf006 100644
|
| --- a/content/browser/service_worker/foreign_fetch_request_handler.cc
|
| +++ b/content/browser/service_worker/foreign_fetch_request_handler.cc
|
| @@ -92,8 +92,10 @@ void ForeignFetchRequestHandler::InitializeHandler(
|
| if (ServiceWorkerUtils::IsMainResourceType(resource_type))
|
| return;
|
|
|
| - if (request->initiator().IsSameOriginWith(url::Origin(request->url())))
|
| + if (!request->initiator().has_value() ||
|
| + request->initiator()->IsSameOriginWith(url::Origin(request->url()))) {
|
| return;
|
| + }
|
|
|
| if (!context_wrapper->OriginHasForeignFetchRegistrations(
|
| request->url().GetOrigin())) {
|
| @@ -218,7 +220,7 @@ void ForeignFetchRequestHandler::DidFindRegistration(
|
| }
|
| }
|
|
|
| - const url::Origin& request_origin = job->request()->initiator();
|
| + const url::Origin& request_origin = job->request()->initiator().value();
|
| bool origin_matches = active_version->foreign_fetch_origins().empty();
|
| for (const url::Origin& origin : active_version->foreign_fetch_origins()) {
|
| if (request_origin.IsSameOriginWith(origin))
|
|
|