Chromium Code Reviews| 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( |