| 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 8d3dfb476f351f212b147b5406b11c1d17728da5..eee1cfc7f2aa9de8883feac27696726f3f43a51a 100644
|
| --- a/content/browser/service_worker/foreign_fetch_request_handler.cc
|
| +++ b/content/browser/service_worker/foreign_fetch_request_handler.cc
|
| @@ -93,8 +93,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())) {
|
| @@ -219,7 +221,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))
|
|
|