[SCM] WebKit Debian packaging branch, webkit-1.1, updated. upstream/1.1.22-985-g3c00f00
xan at webkit.org
xan at webkit.org
Wed Mar 17 17:58:14 UTC 2010
The following commit has been merged in the webkit-1.1 branch:
commit 4280820e4d120de5f0b9fda49052167d7dd1502e
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