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

Side by Side Diff: content/renderer/render_widget.cc

Issue 273113005: Remove ViewHostMsg_UpdateIsDelayed (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « content/common/view_messages.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/render_widget.h" 5 #include "content/renderer/render_widget.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
10 #include "base/debug/trace_event_synthetic_delay.h" 10 #include "base/debug/trace_event_synthetic_delay.h"
(...skipping 1242 matching lines...) Expand 10 before | Expand all | Expand 10 after
1253 void RenderWidget::AutoResizeCompositor() { 1253 void RenderWidget::AutoResizeCompositor() {
1254 physical_backing_size_ = gfx::ToCeiledSize(gfx::ScaleSize(size_, 1254 physical_backing_size_ = gfx::ToCeiledSize(gfx::ScaleSize(size_,
1255 device_scale_factor_)); 1255 device_scale_factor_));
1256 if (compositor_) 1256 if (compositor_)
1257 compositor_->setViewportSize(size_, physical_backing_size_); 1257 compositor_->setViewportSize(size_, physical_backing_size_);
1258 } 1258 }
1259 1259
1260 void RenderWidget::didActivateCompositor() { 1260 void RenderWidget::didActivateCompositor() {
1261 TRACE_EVENT0("gpu", "RenderWidget::didActivateCompositor"); 1261 TRACE_EVENT0("gpu", "RenderWidget::didActivateCompositor");
1262 1262
1263 #if !defined(OS_MACOSX)
1264 if (!is_accelerated_compositing_active_) {
1265 // When not in accelerated compositing mode, in certain cases (e.g. waiting
1266 // for a resize or if no backing store) the RenderWidgetHost is blocking the
1267 // browser's UI thread for some time, waiting for an UpdateRect. If we are
1268 // going to switch to accelerated compositing, the GPU process may need
1269 // round-trips to the browser's UI thread before finishing the frame,
1270 // causing deadlocks if we delay the UpdateRect until we receive the
1271 // OnSwapBuffersComplete. So send a dummy message that will unblock the
1272 // browser's UI thread. This is not necessary on Mac, because SwapBuffers
1273 // now unblocks GetBackingStore on Mac.
1274 Send(new ViewHostMsg_UpdateIsDelayed(routing_id_));
1275 }
1276 #endif
1277
1278 is_accelerated_compositing_active_ = true; 1263 is_accelerated_compositing_active_ = true;
1279 Send(new ViewHostMsg_DidActivateAcceleratedCompositing( 1264 Send(new ViewHostMsg_DidActivateAcceleratedCompositing(
1280 routing_id_, is_accelerated_compositing_active_)); 1265 routing_id_, is_accelerated_compositing_active_));
1281 webwidget_->enterForceCompositingMode(true); 1266 webwidget_->enterForceCompositingMode(true);
1282 } 1267 }
1283 1268
1284 void RenderWidget::didDeactivateCompositor() { 1269 void RenderWidget::didDeactivateCompositor() {
1285 TRACE_EVENT0("gpu", "RenderWidget::didDeactivateCompositor"); 1270 TRACE_EVENT0("gpu", "RenderWidget::didDeactivateCompositor");
1286 1271
1287 is_accelerated_compositing_active_ = false; 1272 is_accelerated_compositing_active_ = false;
(...skipping 946 matching lines...) Expand 10 before | Expand all | Expand 10 after
2234 2219
2235 void RenderWidget::RegisterSwappedOutChildFrame(RenderFrameImpl* frame) { 2220 void RenderWidget::RegisterSwappedOutChildFrame(RenderFrameImpl* frame) {
2236 swapped_out_frames_.AddObserver(frame); 2221 swapped_out_frames_.AddObserver(frame);
2237 } 2222 }
2238 2223
2239 void RenderWidget::UnregisterSwappedOutChildFrame(RenderFrameImpl* frame) { 2224 void RenderWidget::UnregisterSwappedOutChildFrame(RenderFrameImpl* frame) {
2240 swapped_out_frames_.RemoveObserver(frame); 2225 swapped_out_frames_.RemoveObserver(frame);
2241 } 2226 }
2242 2227
2243 } // namespace content 2228 } // namespace content
OLDNEW
« no previous file with comments | « content/common/view_messages.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698