From 2f5c8d6545f1c6e6e386a6f3a50059befd87e1dd Mon Sep 17 00:00:00 2001 From: fsamuel Date: Wed, 3 Sep 2014 14:02:32 -0700 Subject: BrowserPlugin Cleanup: Simplify update device scale factor This CL removes the passed parameter of device_scale_factor and in BrowserPlugin::UpdateDeviceScaleFactor since it's not used. This CL also removes GetSizeParams because it's only used once. Repaints are now set whenever the device scale factor changes. Also remove all calls to .get() on scoped_ptrs which are unnecessary. BUG=none TBR=creis@chromium.org for trivial render_view_impl change. Review URL: https://codereview.chromium.org/528383003 Cr-Commit-Position: refs/heads/master@{#293197} --- content/renderer/browser_plugin/browser_plugin.cc | 44 ++++++++++------------ content/renderer/browser_plugin/browser_plugin.h | 11 +----- .../browser_plugin/browser_plugin_manager.cc | 4 +- .../browser_plugin/browser_plugin_manager.h | 2 +- content/renderer/render_view_impl.cc | 2 +- 5 files changed, 25 insertions(+), 38 deletions(-) diff --git a/content/renderer/browser_plugin/browser_plugin.cc b/content/renderer/browser_plugin/browser_plugin.cc index 4bd1830..5e3f7c4 100644 --- a/content/renderer/browser_plugin/browser_plugin.cc +++ b/content/renderer/browser_plugin/browser_plugin.cc @@ -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_, @@ -192,7 +196,7 @@ void BrowserPlugin::DidCommitCompositorFrame() { void BrowserPlugin::OnAdvanceFocus(int browser_plugin_instance_id, bool reverse) { - DCHECK(render_view_.get()); + DCHECK(render_view_); render_view_->GetWebView()->advanceFocus(reverse); } @@ -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; } @@ -437,7 +443,7 @@ void BrowserPlugin::destroy() { 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(); diff --git a/content/renderer/browser_plugin/browser_plugin.h b/content/renderer/browser_plugin/browser_plugin.h index 0948e1c..920b47e 100644 --- a/content/renderer/browser_plugin/browser_plugin.h +++ b/content/renderer/browser_plugin/browser_plugin.h @@ -72,7 +72,7 @@ class CONTENT_EXPORT BrowserPlugin : // Embedder's device scale factor changed, we need to update the guest // renderer. - void UpdateDeviceScaleFactor(float device_scale_factor); + void UpdateDeviceScaleFactor(); // A request to enable hardware compositing. void EnableCompositing(bool enable); @@ -181,15 +181,8 @@ class CONTENT_EXPORT BrowserPlugin : // Populates BrowserPluginHostMsg_ResizeGuest_Params with resize state. void PopulateResizeGuestParameters( - BrowserPluginHostMsg_ResizeGuest_Params* params, const gfx::Size& view_size, - bool needs_repaint); - - // Populates ResizeGuest parameters based on the current - // autosize state. - void GetSizeParams( - BrowserPluginHostMsg_ResizeGuest_Params* resize_guest_params, - bool needs_repaint); + BrowserPluginHostMsg_ResizeGuest_Params* params); // IPC message handlers. // Please keep in alphabetical order. diff --git a/content/renderer/browser_plugin/browser_plugin_manager.cc b/content/renderer/browser_plugin/browser_plugin_manager.cc index d15e188..12a569e 100644 --- a/content/renderer/browser_plugin/browser_plugin_manager.cc +++ b/content/renderer/browser_plugin/browser_plugin_manager.cc @@ -54,10 +54,10 @@ int BrowserPluginManager::GetNextInstanceID() { return ++current_instance_id_; } -void BrowserPluginManager::UpdateDeviceScaleFactor(float device_scale_factor) { +void BrowserPluginManager::UpdateDeviceScaleFactor() { IDMap::iterator iter(&instances_); while (!iter.IsAtEnd()) { - iter.GetCurrentValue()->UpdateDeviceScaleFactor(device_scale_factor); + iter.GetCurrentValue()->UpdateDeviceScaleFactor(); iter.Advance(); } } diff --git a/content/renderer/browser_plugin/browser_plugin_manager.h b/content/renderer/browser_plugin/browser_plugin_manager.h index bb9962c..be865c40 100644 --- a/content/renderer/browser_plugin/browser_plugin_manager.h +++ b/content/renderer/browser_plugin/browser_plugin_manager.h @@ -61,7 +61,7 @@ class CONTENT_EXPORT BrowserPluginManager void RemoveBrowserPlugin(int browser_plugin_instance_id); BrowserPlugin* GetBrowserPlugin(int browser_plugin_instance_id) const; - void UpdateDeviceScaleFactor(float device_scale_factor); + void UpdateDeviceScaleFactor(); void UpdateFocusState(); RenderViewImpl* render_view() const { return render_view_.get(); } int GetNextInstanceID(); diff --git a/content/renderer/render_view_impl.cc b/content/renderer/render_view_impl.cc index b7fcce6..a7df08b 100644 --- a/content/renderer/render_view_impl.cc +++ b/content/renderer/render_view_impl.cc @@ -3659,7 +3659,7 @@ void RenderViewImpl::SetDeviceScaleFactor(float device_scale_factor) { AutoResizeCompositor(); if (browser_plugin_manager_.get()) - browser_plugin_manager_->UpdateDeviceScaleFactor(device_scale_factor_); + browser_plugin_manager_->UpdateDeviceScaleFactor(); } bool RenderViewImpl::SetDeviceColorProfile( -- cgit v1.1