| Index: content/renderer/render_view_impl.cc
|
| diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc
|
| index 1fd96d45e429c87a9f05899a621aa9a250519122..2a9e2be4dbd20e361583f3d9e57fd00e0341a7a6 100644
|
| --- a/content/renderer/render_view_impl.cc
|
| +++ b/content/renderer/render_view_impl.cc
|
| @@ -62,6 +62,7 @@
|
| #include "content/public/renderer/render_view_visitor.h"
|
| #include "content/renderer/browser_plugin/browser_plugin.h"
|
| #include "content/renderer/browser_plugin/browser_plugin_manager.h"
|
| +#include "content/renderer/browser_plugin/browser_plugin_manager_impl.h"
|
| #include "content/renderer/device_orientation_dispatcher.h"
|
| #include "content/renderer/devtools_agent.h"
|
| #include "content/renderer/disambiguation_popup_helper.h"
|
| @@ -576,6 +577,7 @@ RenderViewImpl::RenderViewImpl(RenderViewImplParams* params)
|
| speech_recognition_dispatcher_(NULL),
|
| device_orientation_dispatcher_(NULL),
|
| media_stream_dispatcher_(NULL),
|
| + browser_plugin_manager_(NULL),
|
| media_stream_impl_(NULL),
|
| devtools_agent_(NULL),
|
| accessibility_mode_(AccessibilityModeOff),
|
| @@ -2454,8 +2456,7 @@ WebPlugin* RenderViewImpl::createPlugin(WebFrame* frame,
|
| }
|
|
|
| if (UTF16ToASCII(params.mimeType) == kBrowserPluginMimeType) {
|
| - return BrowserPluginManager::Get()->
|
| - CreateBrowserPlugin(this, frame, params);
|
| + return browser_plugin_manager()->CreateBrowserPlugin(this, frame, params);
|
| }
|
|
|
| webkit::WebPluginInfo info;
|
| @@ -3864,6 +3865,12 @@ void RenderViewImpl::SendUpdatedFrameTree(
|
| // in place.
|
| }
|
|
|
| +BrowserPluginManager* RenderViewImpl::browser_plugin_manager() {
|
| + if (!browser_plugin_manager_)
|
| + browser_plugin_manager_ = BrowserPluginManager::Create(this);
|
| + return browser_plugin_manager_;
|
| +}
|
| +
|
| void RenderViewImpl::CreateFrameTree(WebKit::WebFrame* frame,
|
| DictionaryValue* frame_tree) {
|
| // TODO(nasko): Remove once http://crbug.com/153701 is fixed.
|
| @@ -5807,7 +5814,8 @@ void RenderViewImpl::OnSetFocus(bool enable) {
|
| // Notify all Pepper plugins.
|
| pepper_delegate_.OnSetFocus(enable);
|
| // Notify all BrowserPlugins of the RenderView's focus state.
|
| - BrowserPluginManager::Get()->SetEmbedderFocus(this, enable);
|
| + if (browser_plugin_manager_)
|
| + browser_plugin_manager()->SetEmbedderFocus(this, enable);
|
| }
|
|
|
| void RenderViewImpl::PpapiPluginFocusChanged() {
|
|
|