[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373
xan at webkit.org
xan at webkit.org
Thu Apr 8 01:58:01 UTC 2010
The following commit has been merged in the webkit-1.2 branch:
commit 0cd3b056284c7ebbd9b10533d9b5d23278027a85
Author: xan at webkit.org <xan at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Wed Feb 24 12:44:09 2010 +0000
2010-02-24 Xan Lopez <xlopez at igalia.com>
Reviewed by Gustavo Noronha.
Try to sanitize a bit the geometry management of plugins.
Stop doing contradictory things in updatePluginWidget (we were at
the same time pretending the geometry setting was delayed until
::paint and setting the geometry not once but twice) and just set
it any time the windowRect or clipRect for the plugin has changed.
This is closer to what the Mac port does, and fixes instances of
the plugins not being drawn until the window is resized or
scrolled. Other than that all manual and layout tests seems to
still work.
* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::setNPWindowIfNeeded):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@55186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 2c3979a..a4e382b 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,23 @@
+2010-02-24 Xan Lopez <xlopez at igalia.com>
+
+ Reviewed by Gustavo Noronha.
+
+ Try to sanitize a bit the geometry management of plugins.
+
+ Stop doing contradictory things in updatePluginWidget (we were at
+ the same time pretending the geometry setting was delayed until
+ ::paint and setting the geometry not once but twice) and just set
+ it any time the windowRect or clipRect for the plugin has changed.
+
+ This is closer to what the Mac port does, and fixes instances of
+ the plugins not being drawn until the window is resized or
+ scrolled. Other than that all manual and layout tests seems to
+ still work.
+
+ * plugins/gtk/PluginViewGtk.cpp:
+ (WebCore::PluginView::updatePluginWidget):
+ (WebCore::PluginView::setNPWindowIfNeeded):
+
2010-02-23 Geoff Garen <ggaren at apple.com>
Reviewed by Oliver Hunt.
diff --git a/WebCore/plugins/gtk/PluginViewGtk.cpp b/WebCore/plugins/gtk/PluginViewGtk.cpp
index 222584c..f45abd1 100644
--- a/WebCore/plugins/gtk/PluginViewGtk.cpp
+++ b/WebCore/plugins/gtk/PluginViewGtk.cpp
@@ -129,31 +129,22 @@ void PluginView::updatePluginWidget()
m_clipRect = windowClipRect();
m_clipRect.move(-m_windowRect.x(), -m_windowRect.y());
- if (platformPluginWidget() && (m_windowRect != oldWindowRect || m_clipRect != oldClipRect))
- setNPWindowIfNeeded();
+ if (m_windowRect == oldWindowRect && m_clipRect == oldClipRect)
+ return;
#if defined(XP_UNIX)
- if (!m_isWindowed && m_windowRect.size() != oldWindowRect.size()) {
+ if (!m_isWindowed) {
if (m_drawable)
XFreePixmap(GDK_DISPLAY(), m_drawable);
-
+
m_drawable = XCreatePixmap(GDK_DISPLAY(), getRootWindow(m_parentFrame.get()),
m_windowRect.width(), m_windowRect.height(),
((NPSetWindowCallbackStruct*)m_npWindow.ws_info)->depth);
XSync(GDK_DISPLAY(), False); // make sure that the server knows about the Drawable
}
-
- // do not call setNPWindowIfNeeded() immediately, will be called on paint()
- m_hasPendingGeometryChange = true;
#endif
- // In order to move/resize the plugin window at the same time as the
- // rest of frame during e.g. scrolling, we set the window geometry
- // in the paint() function, but as paint() isn't called when the
- // plugin window is outside the frame which can be caused by a
- // scroll, we need to move/resize immediately.
- if (!m_windowRect.intersects(frameView->frameRect()))
- setNPWindowIfNeeded();
+ setNPWindowIfNeeded();
}
void PluginView::setFocus()
@@ -507,12 +498,6 @@ void PluginView::setNPWindowIfNeeded()
if (m_isWindowed && !platformPluginWidget())
return;
-#if defined(XP_UNIX)
- if (!m_hasPendingGeometryChange)
- return;
- m_hasPendingGeometryChange = false;
-#endif
-
if (m_isWindowed) {
m_npWindow.x = m_windowRect.x();
m_npWindow.y = m_windowRect.y();
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list