Commit f840263a authored by fsamuel@chromium.org's avatar fsamuel@chromium.org

BrowserPlugin: Minimize BrowserPluginEmbedder static casts

BUG=330843

Review URL: https://codereview.chromium.org/133013007

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244214 0039d316-1c4b-4281-b951-d872f2087c98
parent 06b98a9a
...@@ -81,6 +81,10 @@ void BrowserPluginEmbedder::GetRenderViewHostAtPosition( ...@@ -81,6 +81,10 @@ void BrowserPluginEmbedder::GetRenderViewHostAtPosition(
++next_get_render_view_request_id_; ++next_get_render_view_request_id_;
} }
WebContentsImpl* BrowserPluginEmbedder::GetWebContents() {
return static_cast<WebContentsImpl*>(web_contents());
}
bool BrowserPluginEmbedder::DidSendScreenRectsCallback( bool BrowserPluginEmbedder::DidSendScreenRectsCallback(
BrowserPluginGuest* guest) { BrowserPluginGuest* guest) {
static_cast<RenderViewHostImpl*>( static_cast<RenderViewHostImpl*>(
...@@ -90,9 +94,7 @@ bool BrowserPluginEmbedder::DidSendScreenRectsCallback( ...@@ -90,9 +94,7 @@ bool BrowserPluginEmbedder::DidSendScreenRectsCallback(
} }
void BrowserPluginEmbedder::DidSendScreenRects() { void BrowserPluginEmbedder::DidSendScreenRects() {
WebContentsImpl* embedder = GetBrowserPluginGuestManager()->ForEachGuest(GetWebContents(), base::Bind(
static_cast<WebContentsImpl*>(web_contents());
GetBrowserPluginGuestManager()->ForEachGuest(embedder, base::Bind(
&BrowserPluginEmbedder::DidSendScreenRectsCallback, &BrowserPluginEmbedder::DidSendScreenRectsCallback,
base::Unretained(this))); base::Unretained(this)));
} }
...@@ -111,12 +113,10 @@ bool BrowserPluginEmbedder::HandleKeyboardEvent( ...@@ -111,12 +113,10 @@ bool BrowserPluginEmbedder::HandleKeyboardEvent(
return false; return false;
} }
WebContentsImpl* embedder = return GetBrowserPluginGuestManager()->ForEachGuest(GetWebContents(),
static_cast<WebContentsImpl*>(web_contents()); base::Bind(&BrowserPluginEmbedder::UnlockMouseIfNecessaryCallback,
return GetBrowserPluginGuestManager()->ForEachGuest(embedder, base::Bind( base::Unretained(this),
&BrowserPluginEmbedder::UnlockMouseIfNecessaryCallback, event));
base::Unretained(this),
event));
} }
bool BrowserPluginEmbedder::SetZoomLevelCallback( bool BrowserPluginEmbedder::SetZoomLevelCallback(
...@@ -127,9 +127,7 @@ bool BrowserPluginEmbedder::SetZoomLevelCallback( ...@@ -127,9 +127,7 @@ bool BrowserPluginEmbedder::SetZoomLevelCallback(
} }
void BrowserPluginEmbedder::SetZoomLevel(double level) { void BrowserPluginEmbedder::SetZoomLevel(double level) {
WebContentsImpl* embedder = GetBrowserPluginGuestManager()->ForEachGuest(GetWebContents(), base::Bind(
static_cast<WebContentsImpl*>(web_contents());
GetBrowserPluginGuestManager()->ForEachGuest(embedder, base::Bind(
&BrowserPluginEmbedder::SetZoomLevelCallback, &BrowserPluginEmbedder::SetZoomLevelCallback,
base::Unretained(this), base::Unretained(this),
level)); level));
...@@ -195,11 +193,11 @@ void BrowserPluginEmbedder::CleanUp() { ...@@ -195,11 +193,11 @@ void BrowserPluginEmbedder::CleanUp() {
BrowserPluginGuestManager* BrowserPluginGuestManager*
BrowserPluginEmbedder::GetBrowserPluginGuestManager() { BrowserPluginEmbedder::GetBrowserPluginGuestManager() {
BrowserPluginGuestManager* guest_manager = static_cast<WebContentsImpl*>( BrowserPluginGuestManager* guest_manager =
web_contents())->GetBrowserPluginGuestManager(); GetWebContents()->GetBrowserPluginGuestManager();
if (!guest_manager) { if (!guest_manager) {
guest_manager = BrowserPluginGuestManager::Create(); guest_manager = BrowserPluginGuestManager::Create();
web_contents()->GetBrowserContext()->SetUserData( GetWebContents()->GetBrowserContext()->SetUserData(
browser_plugin::kBrowserPluginGuestManagerKeyName, guest_manager); browser_plugin::kBrowserPluginGuestManagerKeyName, guest_manager);
} }
return guest_manager; return guest_manager;
...@@ -216,12 +214,12 @@ void BrowserPluginEmbedder::OnAttach( ...@@ -216,12 +214,12 @@ void BrowserPluginEmbedder::OnAttach(
const BrowserPluginHostMsg_Attach_Params& params, const BrowserPluginHostMsg_Attach_Params& params,
const base::DictionaryValue& extra_params) { const base::DictionaryValue& extra_params) {
if (!GetBrowserPluginGuestManager()->CanEmbedderAccessInstanceIDMaybeKill( if (!GetBrowserPluginGuestManager()->CanEmbedderAccessInstanceIDMaybeKill(
web_contents()->GetRenderProcessHost()->GetID(), instance_id)) GetWebContents()->GetRenderProcessHost()->GetID(), instance_id))
return; return;
BrowserPluginGuest* guest = BrowserPluginGuest* guest =
GetBrowserPluginGuestManager()->GetGuestByInstanceID( GetBrowserPluginGuestManager()->GetGuestByInstanceID(
instance_id, web_contents()->GetRenderProcessHost()->GetID()); instance_id, GetWebContents()->GetRenderProcessHost()->GetID());
if (guest) { if (guest) {
// There is an implicit order expectation here: // There is an implicit order expectation here:
...@@ -231,24 +229,23 @@ void BrowserPluginEmbedder::OnAttach( ...@@ -231,24 +229,23 @@ void BrowserPluginEmbedder::OnAttach(
// prior to attachment. // prior to attachment.
GetContentClient()->browser()->GuestWebContentsAttached( GetContentClient()->browser()->GuestWebContentsAttached(
guest->GetWebContents(), guest->GetWebContents(),
web_contents(), GetWebContents(),
extra_params); extra_params);
guest->Attach( guest->Attach(GetWebContents(), params, extra_params);
static_cast<WebContentsImpl*>(web_contents()), params, extra_params);
return; return;
} }
scoped_ptr<base::DictionaryValue> copy_extra_params(extra_params.DeepCopy()); scoped_ptr<base::DictionaryValue> copy_extra_params(extra_params.DeepCopy());
guest = GetBrowserPluginGuestManager()->CreateGuest( guest = GetBrowserPluginGuestManager()->CreateGuest(
web_contents()->GetSiteInstance(), GetWebContents()->GetSiteInstance(),
instance_id, params, instance_id, params,
copy_extra_params.Pass()); copy_extra_params.Pass());
if (guest) { if (guest) {
GetContentClient()->browser()->GuestWebContentsAttached( GetContentClient()->browser()->GuestWebContentsAttached(
guest->GetWebContents(), guest->GetWebContents(),
web_contents(), GetWebContents(),
extra_params); extra_params);
guest->Initialize(params, static_cast<WebContentsImpl*>(web_contents())); guest->Initialize(params, GetWebContents());
} }
} }
...@@ -263,13 +260,13 @@ void BrowserPluginEmbedder::OnPluginAtPositionResponse( ...@@ -263,13 +260,13 @@ void BrowserPluginEmbedder::OnPluginAtPositionResponse(
BrowserPluginGuest* guest = NULL; BrowserPluginGuest* guest = NULL;
if (instance_id != browser_plugin::kInstanceIDNone) { if (instance_id != browser_plugin::kInstanceIDNone) {
guest = GetBrowserPluginGuestManager()->GetGuestByInstanceID( guest = GetBrowserPluginGuestManager()->GetGuestByInstanceID(
instance_id, web_contents()->GetRenderProcessHost()->GetID()); instance_id, GetWebContents()->GetRenderProcessHost()->GetID());
} }
if (guest) if (guest)
render_view_host = guest->GetWebContents()->GetRenderViewHost(); render_view_host = guest->GetWebContents()->GetRenderViewHost();
else // No plugin, use embedder's RenderViewHost. else // No plugin, use embedder's RenderViewHost.
render_view_host = web_contents()->GetRenderViewHost(); render_view_host = GetWebContents()->GetRenderViewHost();
callback_iter->second.Run(render_view_host, position.x(), position.y()); callback_iter->second.Run(render_view_host, position.x(), position.y());
pending_get_render_view_callbacks_.erase(callback_iter); pending_get_render_view_callbacks_.erase(callback_iter);
......
...@@ -52,6 +52,9 @@ class CONTENT_EXPORT BrowserPluginEmbedder : public WebContentsObserver { ...@@ -52,6 +52,9 @@ class CONTENT_EXPORT BrowserPluginEmbedder : public WebContentsObserver {
int y, int y,
const WebContents::GetRenderViewHostCallback& callback); const WebContents::GetRenderViewHostCallback& callback);
// Returns this embedder's WebContentsImpl.
WebContentsImpl* GetWebContents();
// Called when embedder's |rwh| has sent screen rects to renderer. // Called when embedder's |rwh| has sent screen rects to renderer.
void DidSendScreenRects(); void DidSendScreenRects();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment