[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.19-706-ge5415e9

ajwong at chromium.org ajwong at chromium.org
Thu Feb 4 21:25:46 UTC 2010


The following commit has been merged in the webkit-1.1 branch:
commit 40ce852a23036e75ead8955740000a483b659e1b
Author: ajwong at chromium.org <ajwong at chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sat Jan 23 02:07:57 2010 +0000

    Not reviewed.  backout.
    
    Backout r53705.  Causes ui_tests to timeout, and browser_tests to fail with
    TestConnectToBadPort and WindowOpenInvalidExtension.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@53747 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index 49f6141..5118492 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,19 @@
+2010-01-22  Albert J. Wong  <ajwong at chromium.org>
+
+        Not reviewed.  backout.
+
+        Backout r53705.
+        Causes ui_tests to timeout, and browser_tests to fail with
+        TestConnectToBadPort and WindowOpenInvalidExtension.
+
+        * src/FrameLoaderClientImpl.cpp:
+        (WebKit::FrameLoaderClientImpl::dispatchDidChangeLocationWithinPage):
+        (WebKit::FrameLoaderClientImpl::postProgressStartedNotification):
+        (WebKit::FrameLoaderClientImpl::postProgressFinishedNotification):
+        * src/WebViewImpl.cpp:
+        (WebKit::WebViewImpl::WebViewImpl):
+        * src/WebViewImpl.h:
+
 2010-01-22  Peter Kasting  <pkasting at google.com>
 
         Not reviewed, backout.
diff --git a/WebKit/chromium/src/FrameLoaderClientImpl.cpp b/WebKit/chromium/src/FrameLoaderClientImpl.cpp
index 27e77d1..4333c5d 100644
--- a/WebKit/chromium/src/FrameLoaderClientImpl.cpp
+++ b/WebKit/chromium/src/FrameLoaderClientImpl.cpp
@@ -554,10 +554,16 @@ void FrameLoaderClientImpl::dispatchDidChangeLocationWithinPage()
     // some events for our delegate.
     WebViewImpl* webView = m_webFrame->viewImpl();
 
-    // It is possible for a fragment redirection to occur after the page has
-    // fully loaded, so we may need to synthesize didStartLoading and
-    // didStopLoading.  See https://bugs.webkit.org/show_bug.cgi?id=31838
-    webView->didStartLoading();
+    // 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();
     ASSERT(ds);  // Should not be null when navigating to a reference fragment!
@@ -602,7 +608,9 @@ void FrameLoaderClientImpl::dispatchDidChangeLocationWithinPage()
     if (m_webFrame->client())
         m_webFrame->client()->didChangeLocationWithinPage(m_webFrame, isNewNavigation);
 
-    webView->didStopLoading();
+    // Generate didStopLoading if loader is completed.
+    if (webView->client() && loaderCompleted)
+        webView->client()->didStopLoading();
 }
 
 void FrameLoaderClientImpl::dispatchDidPushStateWithinPage()
@@ -974,9 +982,9 @@ void FrameLoaderClientImpl::setMainDocumentError(DocumentLoader*,
 
 void FrameLoaderClientImpl::postProgressStartedNotification()
 {
-    WebViewImpl* webView = m_webFrame->viewImpl();
-    if (webView)
-        webView->didStartLoading();
+    WebViewImpl* webview = m_webFrame->viewImpl();
+    if (webview && webview->client())
+        webview->client()->didStartLoading();
 }
 
 void FrameLoaderClientImpl::postProgressEstimateChangedNotification()
@@ -987,9 +995,9 @@ void FrameLoaderClientImpl::postProgressEstimateChangedNotification()
 void FrameLoaderClientImpl::postProgressFinishedNotification()
 {
     // FIXME: why might the webview be null?  http://b/1234461
-    WebViewImpl* webView = m_webFrame->viewImpl();
-    if (webView)
-        webView->didStopLoading();
+    WebViewImpl* webview = m_webFrame->viewImpl();
+    if (webview && webview->client())
+        webview->client()->didStopLoading();
 }
 
 void FrameLoaderClientImpl::setMainFrameDocumentReady(bool ready)
diff --git a/WebKit/chromium/src/WebViewImpl.cpp b/WebKit/chromium/src/WebViewImpl.cpp
index a1deebd..c64afa7 100644
--- a/WebKit/chromium/src/WebViewImpl.cpp
+++ b/WebKit/chromium/src/WebViewImpl.cpp
@@ -200,7 +200,6 @@ WebViewImpl::WebViewImpl(WebViewClient* client)
 #ifndef NDEBUG
     , m_newNavigationLoader(0)
 #endif
-    , m_isLoading(0)
     , m_zoomLevel(0)
     , m_contextMenuAllowed(false)
     , m_doingDragAndDrop(false)
@@ -1668,22 +1667,6 @@ void WebViewImpl::didCommitLoad(bool* isNewNavigation)
     m_observedNewNavigation = false;
 }
 
-void WebViewImpl::didStartLoading()
-{
-    if (!m_isLoading++) {
-        if (m_client)
-            m_client->didStartLoading();
-    }
-}
-
-void WebViewImpl::didStopLoading()
-{
-    if (!--m_isLoading) {
-        if (m_client)
-            m_client->didStopLoading();
-    }
-}
-
 bool WebViewImpl::navigationPolicyFromMouseEvent(unsigned short button,
                                                  bool ctrl, bool shift,
                                                  bool alt, bool meta,
diff --git a/WebKit/chromium/src/WebViewImpl.h b/WebKit/chromium/src/WebViewImpl.h
index 62ec2ec..dd5191e 100644
--- a/WebKit/chromium/src/WebViewImpl.h
+++ b/WebKit/chromium/src/WebViewImpl.h
@@ -223,13 +223,6 @@ public:
     // load.
     void didCommitLoad(bool* isNewNavigation);
 
-    // Notifies the WebView that loading started or stopped.  It is okay to
-    // call didStartLoading multiple times before calling didStopLoading.
-    // However, didStopLoading must be called just as many times as
-    // didStartLoading in order for the loading state to return to false.
-    void didStartLoading();
-    void didStopLoading();
-
     bool contextMenuAllowed() const
     {
         return m_contextMenuAllowed;
@@ -330,9 +323,6 @@ private:
     const WebCore::DocumentLoader* m_newNavigationLoader;
 #endif
 
-    // This counter is non-zero if we are loading.
-    int m_isLoading;
-
     // An object that can be used to manipulate m_page->settings() without linking
     // against WebCore.  This is lazily allocated the first time GetWebSettings()
     // is called.

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list