| 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..979df227b6632effb5d4cc229f7183b072afac0f 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() &&
|
| + request->initiator()->IsSameOriginWith(url::Origin(request->url()))) {
|
| return;
|
| + }
|
|
|
| if (!context_wrapper->OriginHasForeignFetchRegistrations(
|
| request->url().GetOrigin())) {
|
| @@ -218,7 +220,9 @@ void ForeignFetchRequestHandler::DidFindRegistration(
|
| }
|
| }
|
|
|
| - const url::Origin& request_origin = job->request()->initiator();
|
| + const url::Origin& request_origin = job->request()->initiator()
|
| + ? url::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))
|
|
|