Index: third_party/WebKit/Source/core/loader/FrameLoader.cpp |
diff --git a/third_party/WebKit/Source/core/loader/FrameLoader.cpp b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
index 0b2a00addeebb651512841f4d76ac2077b5857f0..c62bf542fd782894d871b71ee394e0dcdf53ce78 100644 |
--- a/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
+++ b/third_party/WebKit/Source/core/loader/FrameLoader.cpp |
@@ -100,6 +100,7 @@ |
#include "public/platform/WebCachePolicy.h" |
#include "public/platform/WebFeaturePolicy.h" |
#include "public/platform/WebURLRequest.h" |
+#include "public/platform/modules/serviceworker/WebServiceWorkerNetworkProvider.h" |
#include "wtf/AutoReset.h" |
#include "wtf/text/CString.h" |
#include "wtf/text/WTFString.h" |
@@ -486,7 +487,9 @@ void FrameLoader::receivedFirstData() { |
// didObserveLoadingBehavior() must be called after dispatchDidCommitLoad() is |
// called for the metrics tracking logic to handle it properly. |
- if (client()->isControlledByServiceWorker(*m_documentLoader)) { |
+ if (m_documentLoader->getServiceWorkerNetworkProvider() && |
+ m_documentLoader->getServiceWorkerNetworkProvider() |
+ ->isControlledByServiceWorker()) { |
client()->didObserveLoadingBehavior( |
WebLoadingBehaviorServiceWorkerControlled); |
} |