Missing logging in IconLoader::startLoading
authorkrollin@apple.com <krollin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 10 Jan 2017 23:09:44 +0000 (23:09 +0000)
committerkrollin@apple.com <krollin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 10 Jan 2017 23:09:44 +0000 (23:09 +0000)
https://bugs.webkit.org/show_bug.cgi?id=166904

Reviewed by Sam Weinig.

The LOG_ERROR in startLoading references 'resourceRequest', which has
been WTF::Moved as part of a preceding function call. As such, the
logging statement doesn't print out a possibly useful URL. Fix this by
making a copy of the URL before it's affected by the Move.

No new tests -- change only affects logging code.

* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@210562 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/loader/icon/IconLoader.cpp

index 083d221..bbe6b14 100644 (file)
@@ -1,3 +1,20 @@
+2017-01-10  Keith Rollin  <krollin@apple.com>
+
+        Missing logging in IconLoader::startLoading
+        https://bugs.webkit.org/show_bug.cgi?id=166904
+
+        Reviewed by Sam Weinig.
+
+        The LOG_ERROR in startLoading references 'resourceRequest', which has
+        been WTF::Moved as part of a preceding function call. As such, the
+        logging statement doesn't print out a possibly useful URL. Fix this by
+        making a copy of the URL before it's affected by the Move.
+
+        No new tests -- change only affects logging code.
+
+        * loader/icon/IconLoader.cpp:
+        (WebCore::IconLoader::startLoading):
+
 2017-01-10  Wenson Hsieh  <wenson_hsieh@apple.com>
 
         Implement "proximity" scroll snapping
index ba59a84..db57135 100644 (file)
@@ -76,6 +76,12 @@ void IconLoader::startLoading()
 
     ResourceRequest resourceRequest = m_documentLoader ? m_url :  m_frame->loader().icon().url();
     resourceRequest.setPriority(ResourceLoadPriority::Low);
+#if !ERROR_DISABLED
+    // Copy this because we may want to access it after transferring the
+    // `resourceRequest` to the `request`. If we don't, then the LOG_ERROR
+    // below won't print a URL.
+    auto resourceRequestURL = resourceRequest.url();
+#endif
 
     // ContentSecurityPolicyImposition::DoPolicyCheck is a placeholder value. It does not affect the request since Content Security Policy does not apply to raw resources.
     CachedResourceRequest request(WTFMove(resourceRequest), ResourceLoaderOptions(SendCallbacks, SniffContent, BufferData, DoNotAllowStoredCredentials, ClientCredentialPolicy::CannotAskClientForCredentials, FetchOptions::Credentials::Omit, DoSecurityCheck, FetchOptions::Mode::NoCors, DoNotIncludeCertificateInfo, ContentSecurityPolicyImposition::DoPolicyCheck, DefersLoadingPolicy::AllowDefersLoading, CachingPolicy::AllowCaching));
@@ -87,7 +93,7 @@ void IconLoader::startLoading()
     if (m_resource)
         m_resource->addClient(*this);
     else
-        LOG_ERROR("Failed to start load for icon at url %s", resourceRequest.url().string().ascii().data());
+        LOG_ERROR("Failed to start load for icon at url %s", resourceRequestURL.string().ascii().data());
 }
 
 void IconLoader::stopLoading()