Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(26)

Unified Diff: content/renderer/browser_plugin/browser_plugin.cc

Issue 528383003: BrowserPlugin Cleanup: Simplify update device scale factor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(&params, plugin_size(), true);
+ PopulateResizeGuestParameters(plugin_size(), &params);
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(&params, plugin_size(), false);
+ PopulateResizeGuestParameters(plugin_size(), &params);
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(

Powered by Google App Engine
This is Rietveld 408576698