| Index: Source/core/fetch/ResourceFetcher.cpp
|
| diff --git a/Source/core/fetch/ResourceFetcher.cpp b/Source/core/fetch/ResourceFetcher.cpp
|
| index ae2f7d328460eee28afc29c6c7c9ed0439ebad0c..efc69a7dbbcacc36fcf2f134c6780c8e59d6ffa5 100644
|
| --- a/Source/core/fetch/ResourceFetcher.cpp
|
| +++ b/Source/core/fetch/ResourceFetcher.cpp
|
| @@ -619,9 +619,13 @@ bool ResourceFetcher::isControlledByServiceWorker() const
|
| LocalFrame* localFrame = frame();
|
| if (!localFrame)
|
| return false;
|
| - if (!m_documentLoader)
|
| - return false;
|
| - return localFrame->loader().client()->isControlledByServiceWorker(*m_documentLoader);
|
| + ASSERT(m_documentLoader || localFrame->loader().documentLoader());
|
| + if (m_documentLoader)
|
| + return localFrame->loader().client()->isControlledByServiceWorker(*m_documentLoader);
|
| + // m_documentLoader is null while loading resources from the imported HTML.
|
| + // In such cases whether the request is controlled by ServiceWorker or not
|
| + // is determined by the document loader of the frame.
|
| + return localFrame->loader().client()->isControlledByServiceWorker(*localFrame->loader().documentLoader());
|
| }
|
|
|
| bool ResourceFetcher::shouldLoadNewResource(Resource::Type type) const
|
|
|