summaryrefslogtreecommitdiffstats
path: root/webkit/glue
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue')
-rw-r--r--webkit/glue/webplugin_impl.cc11
-rw-r--r--webkit/glue/webplugin_impl.h1
2 files changed, 12 insertions, 0 deletions
diff --git a/webkit/glue/webplugin_impl.cc b/webkit/glue/webplugin_impl.cc
index 9ea7d52..18cf347 100644
--- a/webkit/glue/webplugin_impl.cc
+++ b/webkit/glue/webplugin_impl.cc
@@ -212,6 +212,17 @@ void WebPluginContainer::setParentVisible(bool visible) {
impl_->UpdateVisibility();
}
+// We override this function so that if the plugin is windowed, we can call
+// NPP_SetWindow at the first possible moment. This ensures that NPP_SetWindow
+// is called before the manual load data is sent to a plugin. If this order is
+// reversed, Flash won't load videos.
+void WebPluginContainer::setParent(WebCore::ScrollView* view) {
+ WebCore::Widget::setParent(view);
+ if (view) {
+ impl_->setFrameRect(frameRect());
+ }
+}
+
void WebPluginContainer::windowCutoutRects(const WebCore::IntRect& bounds,
WTF::Vector<WebCore::IntRect>*
cutouts) const {
diff --git a/webkit/glue/webplugin_impl.h b/webkit/glue/webplugin_impl.h
index 396c94c..223e96d 100644
--- a/webkit/glue/webplugin_impl.h
+++ b/webkit/glue/webplugin_impl.h
@@ -66,6 +66,7 @@ class WebPluginContainer : public WebCore::Widget {
virtual void handleEvent(WebCore::Event* event);
virtual void frameRectsChanged();
virtual void setParentVisible(bool visible);
+ virtual void setParent(WebCore::ScrollView* view);
#if USE(JSC)
virtual bool isPluginView() const;