Index: content/renderer/browser_plugin/browser_plugin.cc |
diff --git a/content/renderer/browser_plugin/browser_plugin.cc b/content/renderer/browser_plugin/browser_plugin.cc |
index 4bd18307617782f42cb7ec55573853cb7097de1c..af071ba44bc3260b1d523a15cac9c8813a6f8730 100644 |
--- a/content/renderer/browser_plugin/browser_plugin.cc |
+++ b/content/renderer/browser_plugin/browser_plugin.cc |
@@ -149,7 +149,7 @@ void BrowserPlugin::ParseAllowTransparencyAttribute() { |
bool opaque = !GetAllowTransparencyAttribute(); |
- if (compositing_helper_.get()) |
lazyboy
2014/09/03 16:58:31
I think this should stay as is, IIUC we are removi
Fady Samuel
2014/09/03 17:30:52
Done.
|
+ if (compositing_helper_) |
compositing_helper_->SetContentsOpaque(opaque); |
browser_plugin_manager()->Send(new BrowserPluginHostMsg_SetContentsOpaque( |
@@ -163,7 +163,7 @@ void BrowserPlugin::Attach() { |
attached_ = false; |
guest_crashed_ = false; |
EnableCompositing(false); |
- if (compositing_helper_.get()) { |
+ if (compositing_helper_) { |
compositing_helper_->OnContainerDestroy(); |
compositing_helper_ = NULL; |
} |
@@ -175,8 +175,12 @@ void BrowserPlugin::Attach() { |
attach_params.visible = visible_; |
attach_params.opaque = !GetAllowTransparencyAttribute(); |
attach_params.origin = plugin_rect().origin(); |
- GetSizeParams(&attach_params.resize_guest_params, false); |
- |
+ gfx::Size view_size(width(), height()); |
+ if (!view_size.IsEmpty()) { |
+ paint_ack_received_ = false; |
+ PopulateResizeGuestParameters(view_size, |
+ &attach_params.resize_guest_params); |
+ } |
browser_plugin_manager()->Send(new BrowserPluginHostMsg_Attach( |
render_view_routing_id_, |
browser_plugin_instance_id_, |
@@ -186,13 +190,13 @@ void BrowserPlugin::Attach() { |
} |
void BrowserPlugin::DidCommitCompositorFrame() { |
- if (compositing_helper_.get()) |
+ if (compositing_helper_) |
compositing_helper_->DidCommitCompositorFrame(); |
} |
void BrowserPlugin::OnAdvanceFocus(int browser_plugin_instance_id, |
bool reverse) { |
- DCHECK(render_view_.get()); |
+ DCHECK(render_view_); |
render_view_->GetWebView()->advanceFocus(reverse); |
} |
@@ -233,7 +237,7 @@ void BrowserPlugin::OnCopyFromCompositingSurface(int browser_plugin_instance_id, |
int request_id, |
gfx::Rect source_rect, |
gfx::Size dest_size) { |
- if (!compositing_helper_.get()) { |
+ if (!compositing_helper_) { |
browser_plugin_manager()->Send( |
new BrowserPluginHostMsg_CopyFromCompositingSurfaceAck( |
render_view_routing_id_, |
@@ -317,7 +321,7 @@ void BrowserPlugin::OnUpdateRect( |
} |
BrowserPluginHostMsg_ResizeGuest_Params resize_params; |
- PopulateResizeGuestParameters(&resize_params, plugin_size(), false); |
+ PopulateResizeGuestParameters(plugin_size(), &resize_params); |
paint_ack_received_ = false; |
browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest( |
render_view_routing_id_, |
@@ -344,17 +348,19 @@ void BrowserPlugin::ShowSadGraphic() { |
} |
float BrowserPlugin::GetDeviceScaleFactor() const { |
- if (!render_view_.get()) |
+ if (!render_view_) |
return 1.0f; |
return render_view_->GetWebView()->deviceScaleFactor(); |
} |
-void BrowserPlugin::UpdateDeviceScaleFactor(float device_scale_factor) { |
- if (last_device_scale_factor_ == device_scale_factor || !paint_ack_received_) |
+void BrowserPlugin::UpdateDeviceScaleFactor() { |
+ if (!paint_ack_received_ || |
+ last_device_scale_factor_ == GetDeviceScaleFactor()) { |
return; |
+ } |
BrowserPluginHostMsg_ResizeGuest_Params params; |
- PopulateResizeGuestParameters(¶ms, plugin_size(), true); |
+ PopulateResizeGuestParameters(plugin_size(), ¶ms); |
browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest( |
render_view_routing_id_, |
browser_plugin_instance_id_, |
@@ -373,7 +379,7 @@ void BrowserPlugin::UpdateGuestFocusState() { |
bool BrowserPlugin::ShouldGuestBeFocused() const { |
bool embedder_focused = false; |
- if (render_view_.get()) |
+ if (render_view_) |
embedder_focused = render_view_->has_focus(); |
return plugin_focused_ && embedder_focused; |
} |
@@ -405,13 +411,13 @@ bool BrowserPlugin::initialize(WebPluginContainer* container) { |
} |
void BrowserPlugin::EnableCompositing(bool enable) { |
- bool enabled = !!compositing_helper_.get(); |
+ bool enabled = !!compositing_helper_; |
if (enabled == enable) |
return; |
if (enable) { |
- DCHECK(!compositing_helper_.get()); |
- if (!compositing_helper_.get()) { |
+ DCHECK(!compositing_helper_); |
+ if (!compositing_helper_) { |
compositing_helper_ = ChildFrameCompositingHelper::CreateForBrowserPlugin( |
weak_ptr_factory_.GetWeakPtr()); |
} |
@@ -420,7 +426,7 @@ void BrowserPlugin::EnableCompositing(bool enable) { |
compositing_helper_->SetContentsOpaque(!GetAllowTransparencyAttribute()); |
if (!enable) { |
- DCHECK(compositing_helper_.get()); |
+ DCHECK(compositing_helper_); |
compositing_helper_->OnContainerDestroy(); |
compositing_helper_ = NULL; |
} |
@@ -433,11 +439,11 @@ void BrowserPlugin::destroy() { |
if (container_) |
container_->clearScriptObjects(); |
- if (compositing_helper_.get()) |
+ if (compositing_helper_) |
compositing_helper_->OnContainerDestroy(); |
container_ = NULL; |
// Will be a no-op if the mouse is not currently locked. |
- if (render_view_.get()) |
+ if (render_view_) |
render_view_->mouse_lock_dispatcher()->OnLockTargetDestroyed(this); |
base::MessageLoop::current()->DeleteSoon(FROM_HERE, this); |
} |
@@ -548,7 +554,7 @@ void BrowserPlugin::updateGeometry( |
} |
BrowserPluginHostMsg_ResizeGuest_Params params; |
- PopulateResizeGuestParameters(¶ms, plugin_size(), false); |
+ PopulateResizeGuestParameters(plugin_size(), ¶ms); |
paint_ack_received_ = false; |
browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest( |
render_view_routing_id_, |
@@ -557,29 +563,17 @@ void BrowserPlugin::updateGeometry( |
} |
void BrowserPlugin::PopulateResizeGuestParameters( |
- BrowserPluginHostMsg_ResizeGuest_Params* params, |
const gfx::Size& view_size, |
- bool needs_repaint) { |
+ BrowserPluginHostMsg_ResizeGuest_Params* params) { |
params->size_changed = true; |
params->view_size = view_size; |
- params->repaint = needs_repaint; |
params->scale_factor = GetDeviceScaleFactor(); |
if (last_device_scale_factor_ != params->scale_factor) { |
- DCHECK(params->repaint); |
last_device_scale_factor_ = params->scale_factor; |
+ params->repaint = true; |
} |
} |
-void BrowserPlugin::GetSizeParams( |
- BrowserPluginHostMsg_ResizeGuest_Params* resize_guest_params, |
- bool needs_repaint) { |
- gfx::Size view_size(width(), height()); |
- if (view_size.IsEmpty()) |
- return; |
- paint_ack_received_ = false; |
- PopulateResizeGuestParameters(resize_guest_params, view_size, needs_repaint); |
-} |
- |
void BrowserPlugin::updateFocus(bool focused) { |
plugin_focused_ = focused; |
UpdateGuestFocusState(); |
@@ -593,7 +587,7 @@ void BrowserPlugin::updateVisibility(bool visible) { |
if (!ready()) |
return; |
- if (compositing_helper_.get()) |
+ if (compositing_helper_) |
compositing_helper_->UpdateVisibility(visible); |
browser_plugin_manager()->Send(new BrowserPluginHostMsg_SetVisibility( |