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

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 1655 matching lines...) Expand 10 before | Expand all | Expand 10 after
1666 DCHECK_EQ(frame_, frame); 1666 DCHECK_EQ(frame_, frame);
1667 blink::WebPlugin* plugin = NULL; 1667 blink::WebPlugin* plugin = NULL;
1668 if (GetContentClient()->renderer()->OverrideCreatePlugin( 1668 if (GetContentClient()->renderer()->OverrideCreatePlugin(
1669 this, frame, params, &plugin)) { 1669 this, frame, params, &plugin)) {
1670 return plugin; 1670 return plugin;
1671 } 1671 }
1672 1672
1673 if (base::UTF16ToUTF8(params.mimeType) == kBrowserPluginMimeType) { 1673 if (base::UTF16ToUTF8(params.mimeType) == kBrowserPluginMimeType) {
1674 scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate( 1674 scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate(
1675 GetContentClient()->renderer()->CreateBrowserPluginDelegate(this, 1675 GetContentClient()->renderer()->CreateBrowserPluginDelegate(this,
1676 kBrowserPluginMimeType)); 1676 kBrowserPluginMimeType, GURL(params.url)));
1677 return render_view_->GetBrowserPluginManager()->CreateBrowserPlugin( 1677 return render_view_->GetBrowserPluginManager()->CreateBrowserPlugin(
1678 render_view_.get(), frame, browser_plugin_delegate.Pass()); 1678 render_view_.get(), frame, browser_plugin_delegate.Pass());
1679 } 1679 }
1680 1680
1681 #if defined(ENABLE_PLUGINS) 1681 #if defined(ENABLE_PLUGINS)
1682 WebPluginInfo info; 1682 WebPluginInfo info;
1683 std::string mime_type; 1683 std::string mime_type;
1684 bool found = false; 1684 bool found = false;
1685 Send(new FrameHostMsg_GetPluginInfo( 1685 Send(new FrameHostMsg_GetPluginInfo(
1686 routing_id_, params.url, frame->top()->document().url(), 1686 routing_id_, params.url, frame->top()->document().url(),
1687 params.mimeType.utf8(), &found, &info, &mime_type)); 1687 params.mimeType.utf8(), &found, &info, &mime_type));
1688 if (!found) 1688 if (!found)
1689 return NULL; 1689 return NULL;
1690 1690
1691 if (info.type == WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN) { 1691 if (info.type == WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN) {
1692 scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate( 1692 scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate(
1693 GetContentClient()->renderer()->CreateBrowserPluginDelegate( 1693 GetContentClient()->renderer()->CreateBrowserPluginDelegate(
1694 this, base::UTF16ToUTF8(params.mimeType))); 1694 this, mime_type, GURL(params.url)));
1695 return render_view_->GetBrowserPluginManager()->CreateBrowserPlugin( 1695 return render_view_->GetBrowserPluginManager()->CreateBrowserPlugin(
1696 render_view_.get(), frame, browser_plugin_delegate.Pass()); 1696 render_view_.get(), frame, browser_plugin_delegate.Pass());
1697 } 1697 }
1698 1698
1699 1699
1700 WebPluginParams params_to_use = params; 1700 WebPluginParams params_to_use = params;
1701 params_to_use.mimeType = WebString::fromUTF8(mime_type); 1701 params_to_use.mimeType = WebString::fromUTF8(mime_type);
1702 return CreatePlugin(frame, info, params_to_use); 1702 return CreatePlugin(frame, info, params_to_use);
1703 #else 1703 #else
1704 return NULL; 1704 return NULL;
(...skipping 2474 matching lines...) Expand 10 before | Expand all | Expand 10 after
4179 4179
4180 #if defined(ENABLE_BROWSER_CDMS) 4180 #if defined(ENABLE_BROWSER_CDMS)
4181 RendererCdmManager* RenderFrameImpl::GetCdmManager() { 4181 RendererCdmManager* RenderFrameImpl::GetCdmManager() {
4182 if (!cdm_manager_) 4182 if (!cdm_manager_)
4183 cdm_manager_ = new RendererCdmManager(this); 4183 cdm_manager_ = new RendererCdmManager(this);
4184 return cdm_manager_; 4184 return cdm_manager_;
4185 } 4185 }
4186 #endif // defined(ENABLE_BROWSER_CDMS) 4186 #endif // defined(ENABLE_BROWSER_CDMS)
4187 4187
4188 } // namespace content 4188 } // namespace content
OLDNEW
« no previous file with comments | « content/public/renderer/content_renderer_client.cc ('k') | extensions/renderer/guest_view/mime_handler_view_container.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698