[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