summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDerek Sollenberger <djsollen@google.com>2010-03-02 11:08:48 -0500
committerDerek Sollenberger <djsollen@google.com>2010-03-02 11:35:17 -0500
commitf7acc0456b574d63f33aaad3bbbec5344f74ce4b (patch)
tree812686e6458af58a5d9da33edad4446485303d04
parent2e0b2223f6f6223fc09ce81529c611f2c032e38f (diff)
downloadexternal_webkit-f7acc0456b574d63f33aaad3bbbec5344f74ce4b.zip
external_webkit-f7acc0456b574d63f33aaad3bbbec5344f74ce4b.tar.gz
external_webkit-f7acc0456b574d63f33aaad3bbbec5344f74ce4b.tar.bz2
fixing problem were plugin surfaces are not created.
The problem occurs when a page containing a plugin is refreshed or the plugin is loaded using javascript. If the window size is set before the plugin view has its parent sent then the plugin surfaces were not being initialized. This change ensures that if that happens the surfaces will still be created. see bug #2476059.
-rw-r--r--WebCore/plugins/android/PluginViewAndroid.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/WebCore/plugins/android/PluginViewAndroid.cpp b/WebCore/plugins/android/PluginViewAndroid.cpp
index ff72847..541fd21 100644
--- a/WebCore/plugins/android/PluginViewAndroid.cpp
+++ b/WebCore/plugins/android/PluginViewAndroid.cpp
@@ -406,6 +406,14 @@ void PluginView::setParent(ScrollView* parent)
m_window->init(c);
}
init();
+
+ /* Our widget needs to recompute its m_windowRect which then sets
+ the NPWindowRect if necessary. This ensures that if NPWindowRect
+ is set prior to parent() being set that we still (1) notify the
+ plugin of its current rect and (2) that we execute our logic in
+ PluginWidgetAndroid in response to changes to NPWindowRect.
+ */
+ updatePluginWidget();
}
}