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

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

Issue 801173002: Fix message routing for BrowserPlugin in iframe (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix tests that don't have a RenderThreadImpl Created 6 years 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 1643 matching lines...) Expand 10 before | Expand all | Expand 10 after
1654 } 1654 }
1655 #endif // defined(ENABLE_PLUGINS) 1655 #endif // defined(ENABLE_PLUGINS)
1656 1656
1657 bool RenderFrameImpl::IsFTPDirectoryListing() { 1657 bool RenderFrameImpl::IsFTPDirectoryListing() {
1658 WebURLResponseExtraDataImpl* extra_data = 1658 WebURLResponseExtraDataImpl* extra_data =
1659 GetExtraDataFromResponse(frame_->dataSource()->response()); 1659 GetExtraDataFromResponse(frame_->dataSource()->response());
1660 return extra_data ? extra_data->is_ftp_directory_listing() : false; 1660 return extra_data ? extra_data->is_ftp_directory_listing() : false;
1661 } 1661 }
1662 1662
1663 void RenderFrameImpl::AttachGuest(int element_instance_id) { 1663 void RenderFrameImpl::AttachGuest(int element_instance_id) {
1664 render_view_->GetBrowserPluginManager()->Attach(element_instance_id); 1664 BrowserPluginManager::Get()->Attach(element_instance_id);
1665 } 1665 }
1666 1666
1667 void RenderFrameImpl::DetachGuest(int element_instance_id) { 1667 void RenderFrameImpl::DetachGuest(int element_instance_id) {
1668 render_view_->GetBrowserPluginManager()->Detach(element_instance_id); 1668 BrowserPluginManager::Get()->Detach(element_instance_id);
1669 } 1669 }
1670 1670
1671 void RenderFrameImpl::SetSelectedText(const base::string16& selection_text, 1671 void RenderFrameImpl::SetSelectedText(const base::string16& selection_text,
1672 size_t offset, 1672 size_t offset,
1673 const gfx::Range& range) { 1673 const gfx::Range& range) {
1674 // Use the routing id of Render Widget Host. 1674 // Use the routing id of Render Widget Host.
1675 Send(new ViewHostMsg_SelectionChanged(GetRenderWidget()->routing_id(), 1675 Send(new ViewHostMsg_SelectionChanged(GetRenderWidget()->routing_id(),
1676 selection_text, 1676 selection_text,
1677 offset, 1677 offset,
1678 range)); 1678 range));
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1716 blink::WebPlugin* plugin = NULL; 1716 blink::WebPlugin* plugin = NULL;
1717 if (GetContentClient()->renderer()->OverrideCreatePlugin( 1717 if (GetContentClient()->renderer()->OverrideCreatePlugin(
1718 this, frame, params, &plugin)) { 1718 this, frame, params, &plugin)) {
1719 return plugin; 1719 return plugin;
1720 } 1720 }
1721 1721
1722 if (base::UTF16ToUTF8(params.mimeType) == kBrowserPluginMimeType) { 1722 if (base::UTF16ToUTF8(params.mimeType) == kBrowserPluginMimeType) {
1723 scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate( 1723 scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate(
1724 GetContentClient()->renderer()->CreateBrowserPluginDelegate(this, 1724 GetContentClient()->renderer()->CreateBrowserPluginDelegate(this,
1725 kBrowserPluginMimeType, GURL(params.url))); 1725 kBrowserPluginMimeType, GURL(params.url)));
1726 return render_view_->GetBrowserPluginManager()->CreateBrowserPlugin( 1726 return BrowserPluginManager::Get()->CreateBrowserPlugin(
1727 render_view_.get(), frame, browser_plugin_delegate.Pass()); 1727 this, browser_plugin_delegate.Pass());
1728 } 1728 }
1729 1729
1730 #if defined(ENABLE_PLUGINS) 1730 #if defined(ENABLE_PLUGINS)
1731 WebPluginInfo info; 1731 WebPluginInfo info;
1732 std::string mime_type; 1732 std::string mime_type;
1733 bool found = false; 1733 bool found = false;
1734 Send(new FrameHostMsg_GetPluginInfo( 1734 Send(new FrameHostMsg_GetPluginInfo(
1735 routing_id_, params.url, frame->top()->document().url(), 1735 routing_id_, params.url, frame->top()->document().url(),
1736 params.mimeType.utf8(), &found, &info, &mime_type)); 1736 params.mimeType.utf8(), &found, &info, &mime_type));
1737 if (!found) 1737 if (!found)
1738 return NULL; 1738 return NULL;
1739 1739
1740 if (info.type == WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN) { 1740 if (info.type == WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN) {
1741 scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate( 1741 scoped_ptr<BrowserPluginDelegate> browser_plugin_delegate(
1742 GetContentClient()->renderer()->CreateBrowserPluginDelegate( 1742 GetContentClient()->renderer()->CreateBrowserPluginDelegate(
1743 this, mime_type, GURL(params.url))); 1743 this, mime_type, GURL(params.url)));
1744 return render_view_->GetBrowserPluginManager()->CreateBrowserPlugin( 1744 return BrowserPluginManager::Get()->CreateBrowserPlugin(
1745 render_view_.get(), frame, browser_plugin_delegate.Pass()); 1745 this, browser_plugin_delegate.Pass());
1746 } 1746 }
1747 1747
1748 1748
1749 WebPluginParams params_to_use = params; 1749 WebPluginParams params_to_use = params;
1750 params_to_use.mimeType = WebString::fromUTF8(mime_type); 1750 params_to_use.mimeType = WebString::fromUTF8(mime_type);
1751 return CreatePlugin(frame, info, params_to_use, POWER_SAVER_MODE_ESSENTIAL); 1751 return CreatePlugin(frame, info, params_to_use, POWER_SAVER_MODE_ESSENTIAL);
1752 #else 1752 #else
1753 return NULL; 1753 return NULL;
1754 #endif // defined(ENABLE_PLUGINS) 1754 #endif // defined(ENABLE_PLUGINS)
1755 } 1755 }
(...skipping 2534 matching lines...) Expand 10 before | Expand all | Expand 10 after
4290 4290
4291 #if defined(ENABLE_BROWSER_CDMS) 4291 #if defined(ENABLE_BROWSER_CDMS)
4292 RendererCdmManager* RenderFrameImpl::GetCdmManager() { 4292 RendererCdmManager* RenderFrameImpl::GetCdmManager() {
4293 if (!cdm_manager_) 4293 if (!cdm_manager_)
4294 cdm_manager_ = new RendererCdmManager(this); 4294 cdm_manager_ = new RendererCdmManager(this);
4295 return cdm_manager_; 4295 return cdm_manager_;
4296 } 4296 }
4297 #endif // defined(ENABLE_BROWSER_CDMS) 4297 #endif // defined(ENABLE_BROWSER_CDMS)
4298 4298
4299 } // namespace content 4299 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/child_frame_compositing_helper.cc ('k') | content/renderer/render_thread_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698