All pastes #1427743 Raw Edit

Miscellany

public text v1 · immutable
#1427743 ·published 2009-05-19 19:08 UTC
rendered paste body
diff --git a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
index 91c845b..edee7b6 100644
--- a/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
+++ b/WebKit/qt/WebCoreSupport/FrameLoaderClientQt.cpp
@@ -1073,6 +1073,33 @@ public:
         clipRect.intersect(platformWidget()->rect());
         platformWidget()->setMask(QRegion(clipRect.x(), clipRect.y(), clipRect.width(), clipRect.height()));
     }
+
+    virtual void setParentVisible(bool visible)
+    {
+        if (isParentVisible() == visible)
+            return;
+
+        Widget::setParentVisible(visible);
+
+        if (isSelfVisible() && platformWidget())
+            platformWidget()->setVisible(visible);
+    }
+
+    virtual void show()
+    {
+        setSelfVisible(true);
+
+        if (isParentVisible() && platformWidget())
+            platformWidget()->setVisible(true);
+    }
+
+    virtual void hide()
+    {
+        setSelfVisible(false);
+
+        if (isParentVisible() && platformWidget())
+            platformWidget()->setVisible(false);
+    }
 };
 
 Widget* FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, HTMLPlugInElement* element, const KURL& url, const Vector<String>& paramNames,
@@ -1143,6 +1170,7 @@ Widget* FrameLoaderClientQt::createPlugin(const IntSize& pluginSize, HTMLPlugInE
                 w->setPlatformWidget(widget);
                 // Make sure it's invisible until properly placed into the layout
                 w->setFrameRect(IntRect(0, 0, 0, 0));
+                //w->setParent(m_frame->view());
                 return w;
             }
             // FIXME: make things work for widgetless plugins as well