Chromium Code Reviews| Index: third_party/WebKit/Source/core/loader/DocumentLoader.cpp |
| diff --git a/third_party/WebKit/Source/core/loader/DocumentLoader.cpp b/third_party/WebKit/Source/core/loader/DocumentLoader.cpp |
| index ba90b82aa70e5e3e32e3a4f5ed2fca29cdde0e33..a978ba0fdc0ba547e0e20b21aeabbe14e79da404 100644 |
| --- a/third_party/WebKit/Source/core/loader/DocumentLoader.cpp |
| +++ b/third_party/WebKit/Source/core/loader/DocumentLoader.cpp |
| @@ -107,6 +107,7 @@ DocumentLoader::DocumentLoader(LocalFrame* frame, |
| ClientRedirectPolicy::ClientRedirect), |
| m_replacesCurrentHistoryItem(false), |
| m_dataReceived(false), |
| + m_mainResourceIdentifier(0), |
| m_navigationType(NavigationTypeOther), |
| m_documentLoadTiming(*this), |
| m_timeOfLastDataReceived(0.0), |
| @@ -145,7 +146,11 @@ DEFINE_TRACE(DocumentLoader) { |
| } |
| unsigned long DocumentLoader::mainResourceIdentifier() const { |
| - return m_mainResource ? m_mainResource->identifier() : 0; |
| + return m_mainResourceIdentifier; |
|
Yoav Weiss
2016/11/29 10:39:32
Why do we need to store this rather than get the i
sunjian
2016/11/29 19:33:30
Yeah, m_mainResource gets reset to nullptr after i
|
| +} |
| + |
| +ResourceTimingInfo* DocumentLoader::getMainResourceTimingInfo() const { |
| + return fetcher()->getMainResourceTimingInfo(mainResourceIdentifier()); |
| } |
| const ResourceRequest& DocumentLoader::originalRequest() const { |
| @@ -717,6 +722,7 @@ void DocumentLoader::startLoadingMainResource() { |
| mainResourceLoadOptions); |
| m_mainResource = |
| RawResource::fetchMainResource(fetchRequest, fetcher(), m_substituteData); |
| + m_mainResourceIdentifier = m_mainResource ? m_mainResource->identifier() : 0; |
| // PlzNavigate: |
| // The final access checks are still performed here, potentially rejecting |