Commit 2f5c8d65 authored by fsamuel's avatar fsamuel Committed by Commit bot

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}
parent df33c5cd
...@@ -175,8 +175,12 @@ void BrowserPlugin::Attach() { ...@@ -175,8 +175,12 @@ void BrowserPlugin::Attach() {
attach_params.visible = visible_; attach_params.visible = visible_;
attach_params.opaque = !GetAllowTransparencyAttribute(); attach_params.opaque = !GetAllowTransparencyAttribute();
attach_params.origin = plugin_rect().origin(); 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( browser_plugin_manager()->Send(new BrowserPluginHostMsg_Attach(
render_view_routing_id_, render_view_routing_id_,
browser_plugin_instance_id_, browser_plugin_instance_id_,
...@@ -192,7 +196,7 @@ void BrowserPlugin::DidCommitCompositorFrame() { ...@@ -192,7 +196,7 @@ void BrowserPlugin::DidCommitCompositorFrame() {
void BrowserPlugin::OnAdvanceFocus(int browser_plugin_instance_id, void BrowserPlugin::OnAdvanceFocus(int browser_plugin_instance_id,
bool reverse) { bool reverse) {
DCHECK(render_view_.get()); DCHECK(render_view_);
render_view_->GetWebView()->advanceFocus(reverse); render_view_->GetWebView()->advanceFocus(reverse);
} }
...@@ -317,7 +321,7 @@ void BrowserPlugin::OnUpdateRect( ...@@ -317,7 +321,7 @@ void BrowserPlugin::OnUpdateRect(
} }
BrowserPluginHostMsg_ResizeGuest_Params resize_params; BrowserPluginHostMsg_ResizeGuest_Params resize_params;
PopulateResizeGuestParameters(&resize_params, plugin_size(), false); PopulateResizeGuestParameters(plugin_size(), &resize_params);
paint_ack_received_ = false; paint_ack_received_ = false;
browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest( browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest(
render_view_routing_id_, render_view_routing_id_,
...@@ -344,17 +348,19 @@ void BrowserPlugin::ShowSadGraphic() { ...@@ -344,17 +348,19 @@ void BrowserPlugin::ShowSadGraphic() {
} }
float BrowserPlugin::GetDeviceScaleFactor() const { float BrowserPlugin::GetDeviceScaleFactor() const {
if (!render_view_.get()) if (!render_view_)
return 1.0f; return 1.0f;
return render_view_->GetWebView()->deviceScaleFactor(); return render_view_->GetWebView()->deviceScaleFactor();
} }
void BrowserPlugin::UpdateDeviceScaleFactor(float device_scale_factor) { void BrowserPlugin::UpdateDeviceScaleFactor() {
if (last_device_scale_factor_ == device_scale_factor || !paint_ack_received_) if (!paint_ack_received_ ||
last_device_scale_factor_ == GetDeviceScaleFactor()) {
return; return;
}
BrowserPluginHostMsg_ResizeGuest_Params params; BrowserPluginHostMsg_ResizeGuest_Params params;
PopulateResizeGuestParameters(&params, plugin_size(), true); PopulateResizeGuestParameters(plugin_size(), &params);
browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest( browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest(
render_view_routing_id_, render_view_routing_id_,
browser_plugin_instance_id_, browser_plugin_instance_id_,
...@@ -373,7 +379,7 @@ void BrowserPlugin::UpdateGuestFocusState() { ...@@ -373,7 +379,7 @@ void BrowserPlugin::UpdateGuestFocusState() {
bool BrowserPlugin::ShouldGuestBeFocused() const { bool BrowserPlugin::ShouldGuestBeFocused() const {
bool embedder_focused = false; bool embedder_focused = false;
if (render_view_.get()) if (render_view_)
embedder_focused = render_view_->has_focus(); embedder_focused = render_view_->has_focus();
return plugin_focused_ && embedder_focused; return plugin_focused_ && embedder_focused;
} }
...@@ -437,7 +443,7 @@ void BrowserPlugin::destroy() { ...@@ -437,7 +443,7 @@ void BrowserPlugin::destroy() {
compositing_helper_->OnContainerDestroy(); compositing_helper_->OnContainerDestroy();
container_ = NULL; container_ = NULL;
// Will be a no-op if the mouse is not currently locked. // 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); render_view_->mouse_lock_dispatcher()->OnLockTargetDestroyed(this);
base::MessageLoop::current()->DeleteSoon(FROM_HERE, this); base::MessageLoop::current()->DeleteSoon(FROM_HERE, this);
} }
...@@ -548,7 +554,7 @@ void BrowserPlugin::updateGeometry( ...@@ -548,7 +554,7 @@ void BrowserPlugin::updateGeometry(
} }
BrowserPluginHostMsg_ResizeGuest_Params params; BrowserPluginHostMsg_ResizeGuest_Params params;
PopulateResizeGuestParameters(&params, plugin_size(), false); PopulateResizeGuestParameters(plugin_size(), &params);
paint_ack_received_ = false; paint_ack_received_ = false;
browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest( browser_plugin_manager()->Send(new BrowserPluginHostMsg_ResizeGuest(
render_view_routing_id_, render_view_routing_id_,
...@@ -557,29 +563,17 @@ void BrowserPlugin::updateGeometry( ...@@ -557,29 +563,17 @@ void BrowserPlugin::updateGeometry(
} }
void BrowserPlugin::PopulateResizeGuestParameters( void BrowserPlugin::PopulateResizeGuestParameters(
BrowserPluginHostMsg_ResizeGuest_Params* params,
const gfx::Size& view_size, const gfx::Size& view_size,
bool needs_repaint) { BrowserPluginHostMsg_ResizeGuest_Params* params) {
params->size_changed = true; params->size_changed = true;
params->view_size = view_size; params->view_size = view_size;
params->repaint = needs_repaint;
params->scale_factor = GetDeviceScaleFactor(); params->scale_factor = GetDeviceScaleFactor();
if (last_device_scale_factor_ != params->scale_factor) { if (last_device_scale_factor_ != params->scale_factor) {
DCHECK(params->repaint);
last_device_scale_factor_ = params->scale_factor; 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) { void BrowserPlugin::updateFocus(bool focused) {
plugin_focused_ = focused; plugin_focused_ = focused;
UpdateGuestFocusState(); UpdateGuestFocusState();
......
...@@ -72,7 +72,7 @@ class CONTENT_EXPORT BrowserPlugin : ...@@ -72,7 +72,7 @@ class CONTENT_EXPORT BrowserPlugin :
// Embedder's device scale factor changed, we need to update the guest // Embedder's device scale factor changed, we need to update the guest
// renderer. // renderer.
void UpdateDeviceScaleFactor(float device_scale_factor); void UpdateDeviceScaleFactor();
// A request to enable hardware compositing. // A request to enable hardware compositing.
void EnableCompositing(bool enable); void EnableCompositing(bool enable);
...@@ -181,15 +181,8 @@ class CONTENT_EXPORT BrowserPlugin : ...@@ -181,15 +181,8 @@ class CONTENT_EXPORT BrowserPlugin :
// Populates BrowserPluginHostMsg_ResizeGuest_Params with resize state. // Populates BrowserPluginHostMsg_ResizeGuest_Params with resize state.
void PopulateResizeGuestParameters( void PopulateResizeGuestParameters(
BrowserPluginHostMsg_ResizeGuest_Params* params,
const gfx::Size& view_size, const gfx::Size& view_size,
bool needs_repaint); BrowserPluginHostMsg_ResizeGuest_Params* params);
// Populates ResizeGuest parameters based on the current
// autosize state.
void GetSizeParams(
BrowserPluginHostMsg_ResizeGuest_Params* resize_guest_params,
bool needs_repaint);
// IPC message handlers. // IPC message handlers.
// Please keep in alphabetical order. // Please keep in alphabetical order.
......
...@@ -54,10 +54,10 @@ int BrowserPluginManager::GetNextInstanceID() { ...@@ -54,10 +54,10 @@ int BrowserPluginManager::GetNextInstanceID() {
return ++current_instance_id_; return ++current_instance_id_;
} }
void BrowserPluginManager::UpdateDeviceScaleFactor(float device_scale_factor) { void BrowserPluginManager::UpdateDeviceScaleFactor() {
IDMap<BrowserPlugin>::iterator iter(&instances_); IDMap<BrowserPlugin>::iterator iter(&instances_);
while (!iter.IsAtEnd()) { while (!iter.IsAtEnd()) {
iter.GetCurrentValue()->UpdateDeviceScaleFactor(device_scale_factor); iter.GetCurrentValue()->UpdateDeviceScaleFactor();
iter.Advance(); iter.Advance();
} }
} }
......
...@@ -61,7 +61,7 @@ class CONTENT_EXPORT BrowserPluginManager ...@@ -61,7 +61,7 @@ class CONTENT_EXPORT BrowserPluginManager
void RemoveBrowserPlugin(int browser_plugin_instance_id); void RemoveBrowserPlugin(int browser_plugin_instance_id);
BrowserPlugin* GetBrowserPlugin(int browser_plugin_instance_id) const; BrowserPlugin* GetBrowserPlugin(int browser_plugin_instance_id) const;
void UpdateDeviceScaleFactor(float device_scale_factor); void UpdateDeviceScaleFactor();
void UpdateFocusState(); void UpdateFocusState();
RenderViewImpl* render_view() const { return render_view_.get(); } RenderViewImpl* render_view() const { return render_view_.get(); }
int GetNextInstanceID(); int GetNextInstanceID();
......
...@@ -3659,7 +3659,7 @@ void RenderViewImpl::SetDeviceScaleFactor(float device_scale_factor) { ...@@ -3659,7 +3659,7 @@ void RenderViewImpl::SetDeviceScaleFactor(float device_scale_factor) {
AutoResizeCompositor(); AutoResizeCompositor();
if (browser_plugin_manager_.get()) if (browser_plugin_manager_.get())
browser_plugin_manager_->UpdateDeviceScaleFactor(device_scale_factor_); browser_plugin_manager_->UpdateDeviceScaleFactor();
} }
bool RenderViewImpl::SetDeviceColorProfile( bool RenderViewImpl::SetDeviceColorProfile(
......
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