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

Side by Side Diff: content/browser/renderer_host/render_widget_host_impl.cc

Issue 10868012: Browser Plugin: New Implementation (Browser Side) (Closed) Base URL: http://git.chromium.org/chromium/src.git@master-trial-obrowser
Patch Set: Fix mac build + Address nits from awong@ Created 8 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 unified diff | Download patch
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/browser/renderer_host/render_widget_host_impl.h" 5 #include "content/browser/renderer_host/render_widget_host_impl.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 return view_->GetCompositingSurface(); 228 return view_->GetCompositingSurface();
229 return gfx::GLSurfaceHandle(); 229 return gfx::GLSurfaceHandle();
230 } 230 }
231 231
232 void RenderWidgetHostImpl::CompositingSurfaceUpdated() { 232 void RenderWidgetHostImpl::CompositingSurfaceUpdated() {
233 GpuSurfaceTracker::Get()->SetSurfaceHandle( 233 GpuSurfaceTracker::Get()->SetSurfaceHandle(
234 surface_id_, GetCompositingSurface()); 234 surface_id_, GetCompositingSurface());
235 process_->SurfaceUpdated(surface_id_); 235 process_->SurfaceUpdated(surface_id_);
236 } 236 }
237 237
238 void RenderWidgetHostImpl::ResetFlags() {
awong 2012/09/06 00:23:27 This kind of laundry list make it easy for future
lazyboy 2012/09/06 04:33:53 I agree, I'll let Fady comment on the ResetFlags()
239 // Must reset these to ensure that mouse move/wheel events work with a new
240 // renderer.
241 mouse_move_pending_ = false;
242 next_mouse_move_.reset();
243 mouse_wheel_pending_ = false;
244 coalesced_mouse_wheel_events_.clear();
245
246 // Must reset these to ensure that SelectRange works with a new renderer.
247 select_range_pending_ = false;
248 next_selection_range_.reset();
249
250 // Must reset these to ensure that gesture events work with a new renderer.
251 gesture_event_filter_->Reset();
252
253 // Must reset these to ensure that keyboard events work with a new renderer.
254 key_queue_.clear();
255 suppress_next_char_events_ = false;
256
257 // Reset some fields in preparation for recovering from a crash.
258 resize_ack_pending_ = false;
259 repaint_ack_pending_ = false;
260
261 in_flight_size_.SetSize(0, 0);
262 current_size_.SetSize(0, 0);
263 is_hidden_ = false;
264 is_accelerated_compositing_active_ = false;
265
266 // Reset this to ensure the hung renderer mechanism is working properly.
267 in_flight_event_count_ = 0;
268 }
269
238 void RenderWidgetHostImpl::Init() { 270 void RenderWidgetHostImpl::Init() {
239 DCHECK(process_->HasConnection()); 271 DCHECK(process_->HasConnection());
240 272
241 renderer_initialized_ = true; 273 renderer_initialized_ = true;
242 274
243 GpuSurfaceTracker::Get()->SetSurfaceHandle( 275 GpuSurfaceTracker::Get()->SetSurfaceHandle(
244 surface_id_, GetCompositingSurface()); 276 surface_id_, GetCompositingSurface());
245 277
246 // Send the ack along with the information on placement. 278 // Send the ack along with the information on placement.
247 Send(new ViewMsg_CreatingNew_ACK(routing_id_, GetNativeViewId())); 279 Send(new ViewMsg_CreatingNew_ACK(routing_id_, GetNativeViewId()));
(...skipping 835 matching lines...) Expand 10 before | Expand all | Expand 10 after
1083 base::TimeDelta interval) { 1115 base::TimeDelta interval) {
1084 Send(new ViewMsg_UpdateVSyncParameters(GetRoutingID(), timebase, interval)); 1116 Send(new ViewMsg_UpdateVSyncParameters(GetRoutingID(), timebase, interval));
1085 } 1117 }
1086 1118
1087 void RenderWidgetHostImpl::RendererExited(base::TerminationStatus status, 1119 void RenderWidgetHostImpl::RendererExited(base::TerminationStatus status,
1088 int exit_code) { 1120 int exit_code) {
1089 // Clearing this flag causes us to re-create the renderer when recovering 1121 // Clearing this flag causes us to re-create the renderer when recovering
1090 // from a crashed renderer. 1122 // from a crashed renderer.
1091 renderer_initialized_ = false; 1123 renderer_initialized_ = false;
1092 1124
1093 // Must reset these to ensure that mouse move/wheel events work with a new 1125 ResetFlags();
1094 // renderer.
1095 mouse_move_pending_ = false;
1096 next_mouse_move_.reset();
1097 mouse_wheel_pending_ = false;
1098 coalesced_mouse_wheel_events_.clear();
1099
1100 // Must reset these to ensure that SelectRange works with a new renderer.
1101 select_range_pending_ = false;
1102 next_selection_range_.reset();
1103
1104 // Must reset these to ensure that gesture events work with a new renderer.
1105 gesture_event_filter_->Reset();
1106
1107 // Must reset these to ensure that keyboard events work with a new renderer.
1108 key_queue_.clear();
1109 suppress_next_char_events_ = false;
1110
1111 // Reset some fields in preparation for recovering from a crash.
1112 resize_ack_pending_ = false;
1113 repaint_ack_pending_ = false;
1114
1115 in_flight_size_.SetSize(0, 0);
1116 current_size_.SetSize(0, 0);
1117 is_hidden_ = false;
1118 is_accelerated_compositing_active_ = false;
1119
1120 // Reset this to ensure the hung renderer mechanism is working properly.
1121 in_flight_event_count_ = 0;
1122 1126
1123 if (view_) { 1127 if (view_) {
1124 GpuSurfaceTracker::Get()->SetSurfaceHandle(surface_id_, 1128 GpuSurfaceTracker::Get()->SetSurfaceHandle(surface_id_,
1125 gfx::GLSurfaceHandle()); 1129 gfx::GLSurfaceHandle());
1126 view_->RenderViewGone(status, exit_code); 1130 view_->RenderViewGone(status, exit_code);
1127 view_ = NULL; // The View should be deleted by RenderViewGone. 1131 view_ = NULL; // The View should be deleted by RenderViewGone.
1128 } 1132 }
1129 1133
1130 BackingStoreManager::RemoveBackingStore(this); 1134 BackingStoreManager::RemoveBackingStore(this);
1131 } 1135 }
(...skipping 906 matching lines...) Expand 10 before | Expand all | Expand 10 after
2038 // indicate that no callback is in progress (i.e. without this line 2042 // indicate that no callback is in progress (i.e. without this line
2039 // DelayedAutoResized will not get called again). 2043 // DelayedAutoResized will not get called again).
2040 new_auto_size_.SetSize(0, 0); 2044 new_auto_size_.SetSize(0, 0);
2041 if (!should_auto_resize_) 2045 if (!should_auto_resize_)
2042 return; 2046 return;
2043 2047
2044 OnRenderAutoResized(new_size); 2048 OnRenderAutoResized(new_size);
2045 } 2049 }
2046 2050
2047 } // namespace content 2051 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698