Reviewed by Sarge
authorbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 17 Sep 2006 23:17:33 +0000 (23:17 +0000)
committerbeidson <beidson@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sun, 17 Sep 2006 23:17:33 +0000 (23:17 +0000)
        IconLoader now gracefully handles the condition where there's no document in the frame
        (ie. PDFs)

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

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

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

index 49286052b53750aa144854fc44083e2b7d0ce2a9..a208c38fd53e61266821d91d32a3808e5675c6ce 100644 (file)
@@ -1,3 +1,13 @@
+2006-09-17  Brady Eidson <beidson@apple.com>
+
+        Reviewed by Sarge
+
+        IconLoader now gracefully handles the condition where there's no document in the frame
+        (ie. PDFs)
+
+        * loader/icon/IconLoader.cpp:
+        (IconLoader::startLoading):
+
 2006-09-17  David Hyatt  <hyatt@apple.com>
 
         Fix for bug 10899, rework how CSS keywords work to be smarter about
index bc9a787c339a6ce9dea54bffb23d5b004a8d9101..f74391001a35ccb3b7ffe2505a138b4c3914faef 100644 (file)
@@ -64,8 +64,12 @@ void IconLoader::startLoading()
     m_httpStatusCode = 0;
     m_resourceLoader = new ResourceLoader(this, "GET", m_frame->iconURL());
     
-    ASSERT(m_frame->document());
-    if (!m_resourceLoader->start(m_frame->document()->docLoader())) {
+    // A frame may be documentless - one example is viewing a PDF directly
+    if (!m_frame->document()) {
+        // FIXME - http://bugzilla.opendarwin.org/show_bug.cgi?id=10902
+        // Once the loader infrastructure will cleanly let us load an icon without a DocLoader, we can implement this
+        LOG(IconDatabase, "Documentless-frame - icon won't be loaded");
+    } else if (!m_resourceLoader->start(m_frame->document()->docLoader())) {
         LOG_ERROR("Failed to start load for icon at url %s", m_frame->iconURL().url().ascii());
         m_resourceLoader = 0;
     }