diff options
Diffstat (limited to 'webkit/glue')
-rw-r--r-- | webkit/glue/webplugin_impl.cc | 11 | ||||
-rw-r--r-- | webkit/glue/webplugin_impl.h | 1 |
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; |