Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(411)

Side by Side Diff: content/renderer/render_frame_impl.cc

Issue 701713003: Support embedded plugins with MimeHandlerView. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@refactor-guest-view-container
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/render_frame_impl.h" 5 #include "content/renderer/render_frame_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <string> 8 #include <string>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 1600 matching lines...) Expand 10 before | Expand all | Expand 10 after
1611 DCHECK_EQ(frame_, frame); 1611 DCHECK_EQ(frame_, frame);
1612 blink::WebPlugin* plugin = NULL; 1612 blink::WebPlugin* plugin = NULL;
1613 if (GetContentClient()->renderer()->OverrideCreatePlugin( 1613 if (GetContentClient()->renderer()->OverrideCreatePlugin(
1614 this, frame, params, &plugin)) { 1614 this, frame, params, &plugin)) {
1615 return plugin; 1615 return plugin;
1616 } 1616 }
1617 1617
1618 if (base::UTF16ToUTF8(params.mimeType) == kBrowserPluginMimeType) { 1618 if (base::UTF16ToUTF8(params.mimeType) == kBrowserPluginMimeType) {
1619 scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate( 1619 scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate(
1620 GetContentClient()->renderer()->CreateBrowserPluginDelegate(this, 1620 GetContentClient()->renderer()->CreateBrowserPluginDelegate(this,
1621 kBrowserPluginMimeType)); 1621 kBrowserPluginMimeType, GURL(params.url)));
1622 return render_view_->GetBrowserPluginManager()->CreateBrowserPlugin( 1622 return render_view_->GetBrowserPluginManager()->CreateBrowserPlugin(
1623 render_view_.get(), frame, browser_plugin_delegate.Pass()); 1623 render_view_.get(), frame, browser_plugin_delegate.Pass());
1624 } 1624 }
1625 1625
1626 #if defined(ENABLE_PLUGINS) 1626 #if defined(ENABLE_PLUGINS)
1627 WebPluginInfo info; 1627 WebPluginInfo info;
1628 std::string mime_type; 1628 std::string mime_type;
1629 bool found = false; 1629 bool found = false;
1630 Send(new FrameHostMsg_GetPluginInfo( 1630 Send(new FrameHostMsg_GetPluginInfo(
1631 routing_id_, params.url, frame->top()->document().url(), 1631 routing_id_, params.url, frame->top()->document().url(),
1632 params.mimeType.utf8(), &found, &info, &mime_type)); 1632 params.mimeType.utf8(), &found, &info, &mime_type));
1633 if (!found) 1633 if (!found)
1634 return NULL; 1634 return NULL;
1635 1635
1636 if (info.type == content::WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN) { 1636 if (info.type == content::WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN) {
1637 scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate( 1637 scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate(
1638 GetContentClient()->renderer()->CreateBrowserPluginDelegate( 1638 GetContentClient()->renderer()->CreateBrowserPluginDelegate(
1639 this, base::UTF16ToUTF8(params.mimeType))); 1639 this, mime_type, GURL(params.url)));
1640 return render_view_->GetBrowserPluginManager()->CreateBrowserPlugin( 1640 return render_view_->GetBrowserPluginManager()->CreateBrowserPlugin(
1641 render_view_.get(), frame, browser_plugin_delegate.Pass()); 1641 render_view_.get(), frame, browser_plugin_delegate.Pass());
1642 } 1642 }
1643 1643
1644 1644
1645 WebPluginParams params_to_use = params; 1645 WebPluginParams params_to_use = params;
1646 params_to_use.mimeType = WebString::fromUTF8(mime_type); 1646 params_to_use.mimeType = WebString::fromUTF8(mime_type);
1647 return CreatePlugin(frame, info, params_to_use); 1647 return CreatePlugin(frame, info, params_to_use);
1648 #else 1648 #else
1649 return NULL; 1649 return NULL;
(...skipping 2457 matching lines...) Expand 10 before | Expand all | Expand 10 after
4107 4107
4108 #if defined(ENABLE_BROWSER_CDMS) 4108 #if defined(ENABLE_BROWSER_CDMS)
4109 RendererCdmManager* RenderFrameImpl::GetCdmManager() { 4109 RendererCdmManager* RenderFrameImpl::GetCdmManager() {
4110 if (!cdm_manager_) 4110 if (!cdm_manager_)
4111 cdm_manager_ = new RendererCdmManager(this); 4111 cdm_manager_ = new RendererCdmManager(this);
4112 return cdm_manager_; 4112 return cdm_manager_;
4113 } 4113 }
4114 #endif // defined(ENABLE_BROWSER_CDMS) 4114 #endif // defined(ENABLE_BROWSER_CDMS)
4115 4115
4116 } // namespace content 4116 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698