[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

girish at forwardbias.in girish at forwardbias.in
Wed Dec 22 14:32:13 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 6ec53c442dcdb2f1603b39027eb34eb006f6f313
Author: girish at forwardbias.in <girish at forwardbias.in@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Oct 12 21:12:27 2010 +0000

    [Qt] Windowless mode 64-bit Flash/X11 freezes when right-click is sent.
    
    Reviewed by Ariya Hidayat.
    
    Adds a new quirk PluginQuirkIgnoreRightClickInWindowlessMode. This
    quirk is enabled only for 64-bit Flash/X11 and should not affect other
    plugins. The freeze itself is in Flash code and the backtrace is not
    useful.
    
    https://bugs.webkit.org/show_bug.cgi?id=47545
    
    * plugins/PluginPackage.cpp:
    (WebCore::PluginPackage::determineQuirks):
    * plugins/PluginQuirkSet.h:
    * plugins/qt/PluginViewQt.cpp:
    (WebCore::PluginView::handleMouseEvent):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69602 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 21d0d8b..6487224 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,22 @@
+2010-10-12  Girish Ramakrishnan  <girish at forwardbias.in>
+
+        Reviewed by Ariya Hidayat.
+
+        [Qt] Windowless mode 64-bit Flash/X11 freezes when right-click is sent.
+
+        Adds a new quirk PluginQuirkIgnoreRightClickInWindowlessMode. This
+        quirk is enabled only for 64-bit Flash/X11 and should not affect other
+        plugins. The freeze itself is in Flash code and the backtrace is not
+        useful.
+
+        https://bugs.webkit.org/show_bug.cgi?id=47545
+
+        * plugins/PluginPackage.cpp:
+        (WebCore::PluginPackage::determineQuirks):
+        * plugins/PluginQuirkSet.h:
+        * plugins/qt/PluginViewQt.cpp:
+        (WebCore::PluginView::handleMouseEvent):
+
 2010-10-08  Simon Fraser  <simon.fraser at apple.com>
 
         Reviewed by Alexey Proskuryakov.
diff --git a/WebCore/plugins/PluginPackage.cpp b/WebCore/plugins/PluginPackage.cpp
index 39c5f2a..8828810 100644
--- a/WebCore/plugins/PluginPackage.cpp
+++ b/WebCore/plugins/PluginPackage.cpp
@@ -209,6 +209,11 @@ void PluginPackage::determineQuirks(const String& mimeType)
 #if PLATFORM(QT)
         // Flash will crash on repeated calls to SetWindow in windowed mode
         m_quirks.add(PluginQuirkDontCallSetWindowMoreThanOnce);
+
+#if CPU(X86_64)
+        // 64-bit Flash freezes if right-click is sent in windowless mode
+        m_quirks.add(PluginQuirkIgnoreRightClickInWindowlessMode);
+#endif
 #endif
 
         m_quirks.add(PluginQuirkRequiresDefaultScreenDepth);
diff --git a/WebCore/plugins/PluginQuirkSet.h b/WebCore/plugins/PluginQuirkSet.h
index 7f52f6a..1a684fe 100644
--- a/WebCore/plugins/PluginQuirkSet.h
+++ b/WebCore/plugins/PluginQuirkSet.h
@@ -47,7 +47,8 @@ namespace WebCore {
         PluginQuirkDontAllowMultipleInstances = 1 << 11,
         PluginQuirkRequiresGtkToolKit = 1 << 12,
         PluginQuirkRequiresDefaultScreenDepth = 1 << 13,
-        PluginQuirkDontCallSetWindowMoreThanOnce = 1 << 14
+        PluginQuirkDontCallSetWindowMoreThanOnce = 1 << 14,
+        PluginQuirkIgnoreRightClickInWindowlessMode = 1 << 15
     };
 
     class PluginQuirkSet {
diff --git a/WebCore/plugins/qt/PluginViewQt.cpp b/WebCore/plugins/qt/PluginViewQt.cpp
index 2f6bca9..26e5b82 100644
--- a/WebCore/plugins/qt/PluginViewQt.cpp
+++ b/WebCore/plugins/qt/PluginViewQt.cpp
@@ -507,6 +507,9 @@ void PluginView::handleMouseEvent(MouseEvent* event)
     if (m_isWindowed)
         return;
 
+    if (event->button() == RightButton && m_plugin->quirks().contains(PluginQuirkIgnoreRightClickInWindowlessMode))
+        return;
+
     if (event->type() == eventNames().mousedownEvent) {
         // Give focus to the plugin on click
         if (Page* page = m_parentFrame->page())

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list