| Index: content/renderer/render_frame_impl.cc
|
| diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
|
| index ff488741db1997fee661106571a7f1408ec9f566..ebbd280820792c94b68b188490f618ced0a14195 100644
|
| --- a/content/renderer/render_frame_impl.cc
|
| +++ b/content/renderer/render_frame_impl.cc
|
| @@ -2512,19 +2512,17 @@ void RenderFrameImpl::CancelContextMenu(int request_id) {
|
| }
|
|
|
| blink::WebPlugin* RenderFrameImpl::CreatePlugin(
|
| - blink::WebFrame* frame,
|
| const WebPluginInfo& info,
|
| const blink::WebPluginParams& params,
|
| std::unique_ptr<content::PluginInstanceThrottler> throttler) {
|
| - DCHECK_EQ(frame_, frame);
|
| #if BUILDFLAG(ENABLE_PLUGINS)
|
| if (info.type == WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN) {
|
| + // |delegate| deletes itself.
|
| + BrowserPluginDelegate* delegate =
|
| + GetContentClient()->renderer()->CreateBrowserPluginDelegate(
|
| + this, params.mime_type.Utf8(), GURL(params.url));
|
| return BrowserPluginManager::Get()->CreateBrowserPlugin(
|
| - this, GetContentClient()
|
| - ->renderer()
|
| - ->CreateBrowserPluginDelegate(this, params.mime_type.Utf8(),
|
| - GURL(params.url))
|
| - ->GetWeakPtr());
|
| + this, delegate->GetWeakPtr());
|
| }
|
|
|
| bool pepper_plugin_was_registered = false;
|
| @@ -2541,8 +2539,8 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
|
| #if defined(OS_CHROMEOS)
|
| LOG(WARNING) << "Pepper module/plugin creation failed.";
|
| #endif
|
| -#endif
|
| - return NULL;
|
| +#endif // BUILDFLAG(ENABLE_PLUGINS)
|
| + return nullptr;
|
| }
|
|
|
| void RenderFrameImpl::LoadURLExternally(const blink::WebURLRequest& request,
|
| @@ -2782,23 +2780,21 @@ void RenderFrameImpl::SetHostZoomLevel(const GURL& url, double zoom_level) {
|
| // blink::WebFrameClient implementation ----------------------------------------
|
|
|
| blink::WebPlugin* RenderFrameImpl::CreatePlugin(
|
| - blink::WebLocalFrame* frame,
|
| const blink::WebPluginParams& params) {
|
| - DCHECK_EQ(frame_, frame);
|
| - blink::WebPlugin* plugin = NULL;
|
| - if (GetContentClient()->renderer()->OverrideCreatePlugin(
|
| - this, frame, params, &plugin)) {
|
| + blink::WebPlugin* plugin = nullptr;
|
| + if (GetContentClient()->renderer()->OverrideCreatePlugin(this, params,
|
| + &plugin)) {
|
| return plugin;
|
| }
|
|
|
| if (params.mime_type.ContainsOnlyASCII() &&
|
| params.mime_type.Ascii() == kBrowserPluginMimeType) {
|
| + // |delegate| deletes itself.
|
| + BrowserPluginDelegate* delegate =
|
| + GetContentClient()->renderer()->CreateBrowserPluginDelegate(
|
| + this, kBrowserPluginMimeType, GURL(params.url));
|
| return BrowserPluginManager::Get()->CreateBrowserPlugin(
|
| - this, GetContentClient()
|
| - ->renderer()
|
| - ->CreateBrowserPluginDelegate(this, kBrowserPluginMimeType,
|
| - GURL(params.url))
|
| - ->GetWeakPtr());
|
| + this, delegate->GetWeakPtr());
|
| }
|
|
|
| #if BUILDFLAG(ENABLE_PLUGINS)
|
| @@ -2806,16 +2802,16 @@ blink::WebPlugin* RenderFrameImpl::CreatePlugin(
|
| std::string mime_type;
|
| bool found = false;
|
| Send(new FrameHostMsg_GetPluginInfo(
|
| - routing_id_, params.url, frame->Top()->GetSecurityOrigin(),
|
| + routing_id_, params.url, frame_->Top()->GetSecurityOrigin(),
|
| params.mime_type.Utf8(), &found, &info, &mime_type));
|
| if (!found)
|
| - return NULL;
|
| + return nullptr;
|
|
|
| WebPluginParams params_to_use = params;
|
| params_to_use.mime_type = WebString::FromUTF8(mime_type);
|
| - return CreatePlugin(frame, info, params_to_use, nullptr /* throttler */);
|
| + return CreatePlugin(info, params_to_use, nullptr /* throttler */);
|
| #else
|
| - return NULL;
|
| + return nullptr;
|
| #endif // BUILDFLAG(ENABLE_PLUGINS)
|
| }
|
|
|
|
|