diff options
author | Ariya Hidayat <ariya.hidayat@nokia.com> | 2009-05-22 10:57:57 (GMT) |
---|---|---|
committer | Ariya Hidayat <ariya.hidayat@nokia.com> | 2009-05-22 11:00:19 (GMT) |
commit | 0babd12eb7e982f47b379fe70f011daffbb8c6e8 (patch) | |
tree | 9515d6f98debea576eb991533c0f5d2bd4377874 | |
parent | 5a62f2add2cba756a132f94a114d770285f01d9c (diff) | |
download | Qt-0babd12eb7e982f47b379fe70f011daffbb8c6e8.zip Qt-0babd12eb7e982f47b379fe70f011daffbb8c6e8.tar.gz Qt-0babd12eb7e982f47b379fe70f011daffbb8c6e8.tar.bz2 |
Updated WebKit from /home/ariya/dev/webkit/qtwebkit-4.5 to origin/qtwebkit-4.5 ( 4ee8af9348b3f57d3c0f3575ae0a58336cf07a92 )
Changes in WebKit since the last update:
++ b/LayoutTests/ChangeLog
2009-05-20 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=24510
Add a test case that Netscape Plugin can properly
determine if a given object has a specific method
and property.
The test will ask the plugin to call hasproperty and
hasmethod and will compare the result with what is
expected. This approach is taken from
netscape-get-property-return-value.html
* plugins/netscape-invoke-browserfuncs-expected.txt: Added.
* plugins/netscape-invoke-browserfuncs.html: Added.
++ b/WebCore/ChangeLog
2009-05-19 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
Reviewed by Simon Hausmann.
Do not call the parent implementation (Widget::) in show() and hide()
of the PluginViewQt, as it always changes the visible state of the
platformWidget (equal to the platformPluginWidget in the Qt port),
thus ignoring the isParentVisible() test.
* plugins/qt/PluginViewQt.cpp:
(WebCore::PluginView::show):
(WebCore::PluginView::hide):
2009-04-22 Tamas Szirbucz <szirbucz.tamas@stud.u-szeged.hu>
Reviewed by Ariya Hidayat.
https://bugs.webkit.org/show_bug.cgi?id=25023
Delete reply in QNetworkReplyHandler::abort() to avoid leak.
* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandler::abort):
2009-05-20 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=24510
Fix a bug where the browserfuncs were not properly assigned,
make hasproperty use _NP_HasProperty and hasmethod _NP_HasMethod.
Test: plugins/netscape-invoke-browserfuncs.html
* plugins/gtk/PluginPackageGtk.cpp:
(WebCore::PluginPackage::load): Fix assignment
* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::load): Fix assignment
++ b/WebKit/qt/ChangeLog
2009-05-19 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org>
Reviewed by Simon Hausmann.
Fix a plugin bug in the WebKit code, similar to the one in WebCore.
The problem is when a non visible QtPluginWidget would show it self
in a sibling frame. The problem was due to our clipping. In Qt,
if setMask is set with an empty QRegion, no clipping will
be performed, so in that case we hide the PluginContainer
* WebCoreSupport/FrameLoaderClientQt.cpp:
(WebCore::):
++ b/WebKitTools/ChangeLog
2009-05-14 Holger Hans Peter Freyther <zecke@selfish.org>
Reviewed by Anders Carlsson.
https://bugs.webkit.org/show_bug.cgi?id=24510 where
Add testHasProperty and testHasMethod to the existing functions
of the PluginObject to be able to test the browser hasproperty
and hasmethod implementation. Invoke them from pluginInvoke.
Change the defines to an enum to avoid manually updating
NUM_METHOD_IDENTIFIERS and assigning numbers.
* DumpRenderTree/TestNetscapePlugIn.subproj/PluginObject.cpp:
(testHasProperty): test hasproperty
(testHasMethod): test hasmethod
(pluginInvoke): invoke the two
7 files changed, 70 insertions, 6 deletions
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION index 7adbd6f..7d5d1c5 100644 --- a/src/3rdparty/webkit/VERSION +++ b/src/3rdparty/webkit/VERSION @@ -8,4 +8,4 @@ The commit imported was from the and has the sha1 checksum - 40b523e9eaaba38c182e5a9c319f0069ebf98330 + 4ee8af9348b3f57d3c0f3575ae0a58336cf07a92 diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index a4cb62d..072beee 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,42 @@ +2009-05-19 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org> + + Reviewed by Simon Hausmann. + + Do not call the parent implementation (Widget::) in show() and hide() + of the PluginViewQt, as it always changes the visible state of the + platformWidget (equal to the platformPluginWidget in the Qt port), + thus ignoring the isParentVisible() test. + + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::show): + (WebCore::PluginView::hide): + +2009-04-22 Tamas Szirbucz <szirbucz.tamas@stud.u-szeged.hu> + + Reviewed by Ariya Hidayat. + + https://bugs.webkit.org/show_bug.cgi?id=25023 + Delete reply in QNetworkReplyHandler::abort() to avoid leak. + + * platform/network/qt/QNetworkReplyHandler.cpp: + (WebCore::QNetworkReplyHandler::abort): + +2009-05-20 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Anders Carlsson. + + https://bugs.webkit.org/show_bug.cgi?id=24510 + + Fix a bug where the browserfuncs were not properly assigned, + make hasproperty use _NP_HasProperty and hasmethod _NP_HasMethod. + + Test: plugins/netscape-invoke-browserfuncs.html + + * plugins/gtk/PluginPackageGtk.cpp: + (WebCore::PluginPackage::load): Fix assignment + * plugins/qt/PluginPackageQt.cpp: + (WebCore::PluginPackage::load): Fix assignment + 2009-05-11 Yael Aharon <yael.aharon@nokia.com> Reviewed by Holger Freyther. diff --git a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp index 2c730a6..3e9b239 100644 --- a/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp +++ b/src/3rdparty/webkit/WebCore/platform/network/qt/QNetworkReplyHandler.cpp @@ -174,6 +174,7 @@ void QNetworkReplyHandler::abort() if (m_reply) { QNetworkReply* reply = release(); reply->abort(); + reply->deleteLater(); deleteLater(); } } diff --git a/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp b/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp index 4387813..13f5394 100644 --- a/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp +++ b/src/3rdparty/webkit/WebCore/plugins/qt/PluginPackageQt.cpp @@ -151,8 +151,8 @@ bool PluginPackage::load() m_browserFuncs.getproperty = _NPN_GetProperty; m_browserFuncs.setproperty = _NPN_SetProperty; m_browserFuncs.removeproperty = _NPN_RemoveProperty; - m_browserFuncs.hasproperty = _NPN_HasMethod; - m_browserFuncs.hasmethod = _NPN_HasProperty; + m_browserFuncs.hasproperty = _NPN_HasProperty; + m_browserFuncs.hasmethod = _NPN_HasMethod; m_browserFuncs.setexception = _NPN_SetException; m_browserFuncs.enumerate = _NPN_Enumerate; m_browserFuncs.construct = _NPN_Construct; diff --git a/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp b/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp index 43c772f..e856f92 100644 --- a/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp +++ b/src/3rdparty/webkit/WebCore/plugins/qt/PluginViewQt.cpp @@ -113,7 +113,9 @@ void PluginView::show() if (isParentVisible() && platformPluginWidget()) platformPluginWidget()->setVisible(true); - Widget::show(); + // do not call parent impl. here as it will set the platformWidget + // (same as platformPluginWidget in the Qt port) to visible, even + // when parent isn't visible. } void PluginView::hide() @@ -123,7 +125,9 @@ void PluginView::hide() if (isParentVisible() && platformPluginWidget()) platformPluginWidget()->setVisible(false); - Widget::hide(); + // do not call parent impl. here as it will set the platformWidget + // (same as platformPluginWidget in the Qt port) to invisible, even + // when parent isn't visible. } void PluginView::paint(GraphicsContext* context, const IntRect& rect) diff --git a/src/3rdparty/webkit/WebKit/qt/ChangeLog b/src/3rdparty/webkit/WebKit/qt/ChangeLog index 2aeb8da..d9f925a 100644 --- a/src/3rdparty/webkit/WebKit/qt/ChangeLog +++ b/src/3rdparty/webkit/WebKit/qt/ChangeLog @@ -1,3 +1,17 @@ +2009-05-19 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org> + + Reviewed by Simon Hausmann. + + Fix a plugin bug in the WebKit code, similar to the one in WebCore. + + The problem is when a non visible QtPluginWidget would show it self + in a sibling frame. The problem was due to our clipping. In Qt, + if setMask is set with an empty QRegion, no clipping will + be performed, so in that case we hide the PluginContainer + + * WebCoreSupport/FrameLoaderClientQt.cpp: + (WebCore::): + 2009-03-27 Erik L. Bunce <elbunce@xendom.com> Reviewed by Simon Hausmann. diff --git a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp index c421d42..a2b33c0 100644 --- a/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp +++ b/src/3rdparty/webkit/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp @@ -1058,7 +1058,13 @@ public: IntRect clipRect(static_cast<FrameView*>(parentScrollView)->windowClipRect()); clipRect.move(-windowRect.x(), -windowRect.y()); clipRect.intersect(platformWidget()->rect()); - platformWidget()->setMask(QRegion(clipRect.x(), clipRect.y(), clipRect.width(), clipRect.height())); + + QRegion clipRegion = QRegion(clipRect); + platformWidget()->setMask(clipRegion); + + // if setMask is set with an empty QRegion, no clipping will + // be performed, so in that case we hide the platformWidget + platformWidget()->setVisible(!clipRegion.isEmpty()); } }; |