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& 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