[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

eric at webkit.org eric at webkit.org
Thu Apr 8 00:08:25 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit e6dd2557bfae130e455619d3cf2910989750a592
Author: eric at webkit.org <eric at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Dec 1 18:41:36 2009 +0000

    2009-12-01  Xiyuan Xia  <xiyuan at chromium.org>
    
            Reviewed by Darin Fisher.
    
            Only fire start/stop events when main frame is not loading.
    
            https://bugs.webkit.org/show_bug.cgi?id=31838
    
            * src/FrameLoaderClientImpl.cpp:
            (WebKit::FrameLoaderClientImpl::dispatchDidChangeLocationWithinPage):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@51548 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index dfc3a0c..b021532 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,14 @@
+2009-12-01  Xiyuan Xia  <xiyuan at chromium.org>
+
+        Reviewed by Darin Fisher.
+
+        Only fire start/stop events when main frame is not loading.
+
+        https://bugs.webkit.org/show_bug.cgi?id=31838
+
+        * src/FrameLoaderClientImpl.cpp:
+        (WebKit::FrameLoaderClientImpl::dispatchDidChangeLocationWithinPage):
+
 2009-11-27  Yury Semikhatsky  <yurys at chromium.org>
 
         Reviewed by Pavel Feldman.
diff --git a/WebKit/chromium/src/FrameLoaderClientImpl.cpp b/WebKit/chromium/src/FrameLoaderClientImpl.cpp
index cbb8eb7..cd4e025 100644
--- a/WebKit/chromium/src/FrameLoaderClientImpl.cpp
+++ b/WebKit/chromium/src/FrameLoaderClientImpl.cpp
@@ -539,7 +539,16 @@ void FrameLoaderClientImpl::dispatchDidChangeLocationWithinPage()
     // Anchor fragment navigations are not normal loads, so we need to synthesize
     // some events for our delegate.
     WebViewImpl* webView = m_webFrame->viewImpl();
-    if (webView->client())
+
+    // Flag of whether frame loader is completed. Generate didStartLoading and
+    // didStopLoading only when loader is completed so that we don't fire
+    // them for fragment redirection that happens in window.onload handler.
+    // See https://bugs.webkit.org/show_bug.cgi?id=31838
+    bool loaderCompleted =
+        !m_webFrame->frame()->page()->mainFrame()->loader()->isLoading();
+
+    // Generate didStartLoading if loader is completed.
+    if (webView->client() && loaderCompleted)
         webView->client()->didStartLoading();
 
     WebDataSourceImpl* ds = m_webFrame->dataSourceImpl();
@@ -585,7 +594,8 @@ void FrameLoaderClientImpl::dispatchDidChangeLocationWithinPage()
     if (m_webFrame->client())
         m_webFrame->client()->didChangeLocationWithinPage(m_webFrame, isNewNavigation);
 
-    if (webView->client())
+    // Generate didStopLoading if loader is completed.
+    if (webView->client() && loaderCompleted)
         webView->client()->didStopLoading();
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list