OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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.h" | 5 #include "content/browser/renderer_host/render_widget_host.h" |
6 | 6 |
7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.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/message_loop.h" | 10 #include "base/message_loop.h" |
(...skipping 426 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
437 if (is_hidden_ || !is_accelerated_compositing_active_) { | 437 if (is_hidden_ || !is_accelerated_compositing_active_) { |
438 return; | 438 return; |
439 } | 439 } |
440 | 440 |
441 // Send out a request to the renderer to paint the view if required. | 441 // Send out a request to the renderer to paint the view if required. |
442 if (!repaint_ack_pending_ && !resize_ack_pending_ && !view_being_painted_) { | 442 if (!repaint_ack_pending_ && !resize_ack_pending_ && !view_being_painted_) { |
443 repaint_start_time_ = TimeTicks::Now(); | 443 repaint_start_time_ = TimeTicks::Now(); |
444 repaint_ack_pending_ = true; | 444 repaint_ack_pending_ = true; |
445 Send(new ViewMsg_Repaint(routing_id_, current_size_)); | 445 Send(new ViewMsg_Repaint(routing_id_, current_size_)); |
446 } | 446 } |
447 | |
448 // When we have asked the RenderWidget to resize, and we are still waiting on | |
449 // a response, block for a little while to see if we can't get a response. | |
450 // We always block on response because we do not have a backing store. | |
451 IPC::Message msg; | |
452 TimeDelta max_delay = TimeDelta::FromMilliseconds(kPaintMsgTimeoutMS); | |
453 if (process_->WaitForUpdateMsg(routing_id_, max_delay, &msg)) | |
454 OnMessageReceived(msg); | |
455 } | 447 } |
456 | 448 |
457 void RenderWidgetHost::StartHangMonitorTimeout(TimeDelta delay) { | 449 void RenderWidgetHost::StartHangMonitorTimeout(TimeDelta delay) { |
458 if (CommandLine::ForCurrentProcess()->HasSwitch( | 450 if (CommandLine::ForCurrentProcess()->HasSwitch( |
459 switches::kDisableHangMonitor)) { | 451 switches::kDisableHangMonitor)) { |
460 return; | 452 return; |
461 } | 453 } |
462 | 454 |
463 // If we already have a timer that will expire at or before the given delay, | 455 // If we already have a timer that will expire at or before the given delay, |
464 // then we have nothing more to do now. If we have set our end time to null | 456 // then we have nothing more to do now. If we have set our end time to null |
(...skipping 682 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1147 view_->CreatePluginContainer(deferred_plugin_handles_[i]); | 1139 view_->CreatePluginContainer(deferred_plugin_handles_[i]); |
1148 #endif | 1140 #endif |
1149 } | 1141 } |
1150 | 1142 |
1151 deferred_plugin_handles_.clear(); | 1143 deferred_plugin_handles_.clear(); |
1152 } | 1144 } |
1153 | 1145 |
1154 void RenderWidgetHost::StartUserGesture() { | 1146 void RenderWidgetHost::StartUserGesture() { |
1155 OnUserGesture(); | 1147 OnUserGesture(); |
1156 } | 1148 } |
OLD | NEW |