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

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

Issue 286233002: Remove RWHI::view_being_painted_ (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/browser/renderer_host/render_widget_host_impl.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/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 <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 10
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
175 resize_ack_pending_(false), 175 resize_ack_pending_(false),
176 screen_info_out_of_date_(false), 176 screen_info_out_of_date_(false),
177 overdraw_bottom_height_(0.f), 177 overdraw_bottom_height_(0.f),
178 should_auto_resize_(false), 178 should_auto_resize_(false),
179 waiting_for_screen_rects_ack_(false), 179 waiting_for_screen_rects_ack_(false),
180 accessibility_mode_(AccessibilityModeOff), 180 accessibility_mode_(AccessibilityModeOff),
181 needs_repainting_on_restore_(false), 181 needs_repainting_on_restore_(false),
182 is_unresponsive_(false), 182 is_unresponsive_(false),
183 in_flight_event_count_(0), 183 in_flight_event_count_(0),
184 in_get_backing_store_(false), 184 in_get_backing_store_(false),
185 view_being_painted_(false),
186 ignore_input_events_(false), 185 ignore_input_events_(false),
187 input_method_active_(false), 186 input_method_active_(false),
188 text_direction_updated_(false), 187 text_direction_updated_(false),
189 text_direction_(blink::WebTextDirectionLeftToRight), 188 text_direction_(blink::WebTextDirectionLeftToRight),
190 text_direction_canceled_(false), 189 text_direction_canceled_(false),
191 suppress_next_char_events_(false), 190 suppress_next_char_events_(false),
192 pending_mouse_lock_request_(false), 191 pending_mouse_lock_request_(false),
193 allow_privileged_mouse_lock_(false), 192 allow_privileged_mouse_lock_(false),
194 has_touch_handler_(false), 193 has_touch_handler_(false),
195 weak_factory_(this), 194 weak_factory_(this),
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after
740 739
741 WaitForSurface(); 740 WaitForSurface();
742 } 741 }
743 742
744 bool RenderWidgetHostImpl::CanPauseForPendingResizeOrRepaints() { 743 bool RenderWidgetHostImpl::CanPauseForPendingResizeOrRepaints() {
745 // Do not pause if the view is hidden. 744 // Do not pause if the view is hidden.
746 if (is_hidden()) 745 if (is_hidden())
747 return false; 746 return false;
748 747
749 // Do not pause if there is not a paint or resize already coming. 748 // Do not pause if there is not a paint or resize already coming.
750 if (!repaint_ack_pending_ && !resize_ack_pending_ && !view_being_painted_) 749 if (!repaint_ack_pending_ && !resize_ack_pending_)
751 return false; 750 return false;
752 751
753 return true; 752 return true;
754 } 753 }
755 754
756 void RenderWidgetHostImpl::WaitForSurface() { 755 void RenderWidgetHostImpl::WaitForSurface() {
757 TRACE_EVENT0("browser", "RenderWidgetHostImpl::WaitForSurface"); 756 TRACE_EVENT0("browser", "RenderWidgetHostImpl::WaitForSurface");
758 757
759 if (!view_) 758 if (!view_)
760 return; 759 return;
(...skipping 28 matching lines...) Expand all
789 DCHECK(!in_get_backing_store_) << "WaitForSurface called recursively!"; 788 DCHECK(!in_get_backing_store_) << "WaitForSurface called recursively!";
790 base::AutoReset<bool> auto_reset_in_get_backing_store( 789 base::AutoReset<bool> auto_reset_in_get_backing_store(
791 &in_get_backing_store_, true); 790 &in_get_backing_store_, true);
792 791
793 // We might have a surface that we can use! 792 // We might have a surface that we can use!
794 if (view_->HasAcceleratedSurface(view_size)) 793 if (view_->HasAcceleratedSurface(view_size))
795 return; 794 return;
796 795
797 // We do not have a suitable backing store in the cache, so send out a 796 // We do not have a suitable backing store in the cache, so send out a
798 // request to the renderer to paint the view if required. 797 // request to the renderer to paint the view if required.
799 if (!repaint_ack_pending_ && !resize_ack_pending_ && !view_being_painted_) { 798 if (!repaint_ack_pending_ && !resize_ack_pending_) {
800 repaint_start_time_ = TimeTicks::Now(); 799 repaint_start_time_ = TimeTicks::Now();
801 repaint_ack_pending_ = true; 800 repaint_ack_pending_ = true;
802 TRACE_EVENT_ASYNC_BEGIN0( 801 TRACE_EVENT_ASYNC_BEGIN0(
803 "renderer_host", "RenderWidgetHostImpl::repaint_ack_pending_", this); 802 "renderer_host", "RenderWidgetHostImpl::repaint_ack_pending_", this);
804 Send(new ViewMsg_Repaint(routing_id_, view_size)); 803 Send(new ViewMsg_Repaint(routing_id_, view_size));
805 } 804 }
806 805
807 TimeDelta max_delay = TimeDelta::FromMilliseconds(kPaintMsgTimeoutMS); 806 TimeDelta max_delay = TimeDelta::FromMilliseconds(kPaintMsgTimeoutMS);
808 TimeTicks end_time = TimeTicks::Now() + max_delay; 807 TimeTicks end_time = TimeTicks::Now() + max_delay;
809 do { 808 do {
(...skipping 23 matching lines...) Expand all
833 // Loop if we still have time left and haven't gotten a properly sized 832 // Loop if we still have time left and haven't gotten a properly sized
834 // BackingStore yet. This is necessary to support the GPU path which 833 // BackingStore yet. This is necessary to support the GPU path which
835 // typically has multiple frames pipelined -- we may need to skip one or two 834 // typically has multiple frames pipelined -- we may need to skip one or two
836 // BackingStore messages to get to the latest. 835 // BackingStore messages to get to the latest.
837 max_delay = end_time - TimeTicks::Now(); 836 max_delay = end_time - TimeTicks::Now();
838 } while (max_delay > TimeDelta::FromSeconds(0)); 837 } while (max_delay > TimeDelta::FromSeconds(0));
839 } 838 }
840 839
841 bool RenderWidgetHostImpl::ScheduleComposite() { 840 bool RenderWidgetHostImpl::ScheduleComposite() {
842 if (is_hidden_ || current_size_.IsEmpty() || repaint_ack_pending_ || 841 if (is_hidden_ || current_size_.IsEmpty() || repaint_ack_pending_ ||
843 resize_ack_pending_ || view_being_painted_) { 842 resize_ack_pending_) {
844 return false; 843 return false;
845 } 844 }
846 845
847 // Send out a request to the renderer to paint the view if required. 846 // Send out a request to the renderer to paint the view if required.
848 repaint_start_time_ = TimeTicks::Now(); 847 repaint_start_time_ = TimeTicks::Now();
849 repaint_ack_pending_ = true; 848 repaint_ack_pending_ = true;
850 TRACE_EVENT_ASYNC_BEGIN0( 849 TRACE_EVENT_ASYNC_BEGIN0(
851 "renderer_host", "RenderWidgetHostImpl::repaint_ack_pending_", this); 850 "renderer_host", "RenderWidgetHostImpl::repaint_ack_pending_", this);
852 Send(new ViewMsg_Repaint(routing_id_, current_size_)); 851 Send(new ViewMsg_Repaint(routing_id_, current_size_));
853 return true; 852 return true;
(...skipping 1468 matching lines...) Expand 10 before | Expand all | Expand 10 after
2322 } 2321 }
2323 } 2322 }
2324 2323
2325 SkBitmap::Config RenderWidgetHostImpl::PreferredReadbackFormat() { 2324 SkBitmap::Config RenderWidgetHostImpl::PreferredReadbackFormat() {
2326 if (view_) 2325 if (view_)
2327 return view_->PreferredReadbackFormat(); 2326 return view_->PreferredReadbackFormat();
2328 return SkBitmap::kARGB_8888_Config; 2327 return SkBitmap::kARGB_8888_Config;
2329 } 2328 }
2330 2329
2331 } // namespace content 2330 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/renderer_host/render_widget_host_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698