[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.20-1-208-g7f81993

Gustavo Noronha Silva kov at debian.org
Wed Feb 10 22:33:08 UTC 2010


The following commit has been merged in the debian/unstable branch:
commit baed73cc8f89e3c23279c1a078afed22e4109911
Author: xan at webkit.org <xan at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Feb 9 18:22:55 2010 +0000

    2010-02-09  Xan Lopez  <xlopez at igalia.com>
    
            Reviewed by Gustavo Noronha.
    
            [GTK] Set GtkAdjustments on our FrameView when loading a page in the PageCache
            https://bugs.webkit.org/show_bug.cgi?id=34754
    
            Set the Gtk Adjustments of the FrameViews when they are restored
            from the PageCache too. Right we only do it for the newly created
            FrameViews in transitionToCommittedForNewPage, but we it also
            needs to be done in the equilavent transition method for cached
            pages.
    
            * WebCoreSupport/FrameLoaderClientGtk.cpp:
            (WebKit::postCommitFrameViewSetup):
            (WebKit::FrameLoaderClient::transitionToCommittedFromCachedFrame):
            (WebKit::FrameLoaderClient::transitionToCommittedForNewPage):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@54559 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
index 8f1bec2..9ddea6c 100644
--- a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
@@ -25,6 +25,7 @@
 #include "FrameLoaderClientGtk.h"
 
 #include "ArchiveResource.h"
+#include "CachedFrame.h"
 #include "Color.h"
 #include "DocumentLoader.h"
 #include "DocumentLoaderGtk.h"
@@ -1120,8 +1121,30 @@ void FrameLoaderClient::savePlatformDataToCachedFrame(CachedFrame*)
 {
 }
 
-void FrameLoaderClient::transitionToCommittedFromCachedFrame(CachedFrame*)
+static void postCommitFrameViewSetup(WebKitWebFrame *frame, FrameView *view)
 {
+    WebKitWebView* containingWindow = getViewFromFrame(frame);
+    WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(containingWindow);
+    view->setGtkAdjustments(priv->horizontalAdjustment, priv->verticalAdjustment);
+
+    if (priv->currentMenu) {
+        GtkMenu* menu = priv->currentMenu;
+        priv->currentMenu = 0;
+
+        gtk_menu_popdown(menu);
+        g_object_unref(menu);
+    }
+}
+
+void FrameLoaderClient::transitionToCommittedFromCachedFrame(CachedFrame* cachedFrame)
+{
+    ASSERT(cachedFrame->view());
+
+    Frame* frame = core(m_frame);
+    if (frame != frame->page()->mainFrame())
+        return;
+
+    postCommitFrameViewSetup(m_frame, cachedFrame->view());
 }
 
 void FrameLoaderClient::transitionToCommittedForNewPage()
@@ -1140,16 +1163,7 @@ void FrameLoaderClient::transitionToCommittedForNewPage()
     if (frame != frame->page()->mainFrame())
         return;
 
-    WebKitWebViewPrivate* priv = WEBKIT_WEB_VIEW_GET_PRIVATE(containingWindow);
-    frame->view()->setGtkAdjustments(priv->horizontalAdjustment, priv->verticalAdjustment);
-
-    if (priv->currentMenu) {
-        GtkMenu* menu = priv->currentMenu;
-        priv->currentMenu = NULL;
-
-        gtk_menu_popdown(menu);
-        g_object_unref(menu);
-    }
+    postCommitFrameViewSetup(m_frame, frame->view());
 }
 
 }

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list