1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "cc/debug/layer_tree_debug_state.h"
7 #include "base/logging.h"
11 // IMPORTANT: new fields must be added to Equal() and Unite()
12 LayerTreeDebugState::LayerTreeDebugState()
13 : show_fps_counter(false),
14 show_debug_borders(false),
15 continuous_painting(false),
16 show_paint_rects(false),
17 show_property_changed_rects(false),
18 show_surface_damage_rects(false),
19 show_screen_space_rects(false),
20 show_replica_screen_space_rects(false),
21 show_occluding_rects(false),
22 show_non_occluding_rects(false),
23 show_touch_event_handler_rects(false),
24 show_wheel_event_handler_rects(false),
25 show_scroll_event_handler_rects(false),
26 show_non_fast_scrollable_rects(false),
27 show_layer_animation_bounds_rects(false),
28 slow_down_raster_scale_factor(0),
29 rasterize_only_visible_content(false),
30 show_picture_borders(false),
31 record_rendering_stats_(false) {}
33 LayerTreeDebugState::~LayerTreeDebugState() {}
35 void LayerTreeDebugState::SetRecordRenderingStats(bool enabled
) {
36 record_rendering_stats_
= enabled
;
39 bool LayerTreeDebugState::RecordRenderingStats() const {
40 return record_rendering_stats_
|| continuous_painting
;
43 bool LayerTreeDebugState::ShowHudInfo() const {
44 return show_fps_counter
|| continuous_painting
||
48 bool LayerTreeDebugState::ShowHudRects() const {
49 return show_paint_rects
|| show_property_changed_rects
||
50 show_surface_damage_rects
|| show_screen_space_rects
||
51 show_replica_screen_space_rects
|| show_occluding_rects
||
52 show_non_occluding_rects
|| show_touch_event_handler_rects
||
53 show_wheel_event_handler_rects
|| show_scroll_event_handler_rects
||
54 show_non_fast_scrollable_rects
|| show_layer_animation_bounds_rects
;
57 bool LayerTreeDebugState::ShowMemoryStats() const {
58 return show_fps_counter
|| continuous_painting
;
61 bool LayerTreeDebugState::Equal(const LayerTreeDebugState
& a
,
62 const LayerTreeDebugState
& b
) {
64 a
.show_fps_counter
== b
.show_fps_counter
&&
65 a
.show_debug_borders
== b
.show_debug_borders
&&
66 a
.continuous_painting
== b
.continuous_painting
&&
67 a
.show_paint_rects
== b
.show_paint_rects
&&
68 a
.show_property_changed_rects
== b
.show_property_changed_rects
&&
69 a
.show_surface_damage_rects
== b
.show_surface_damage_rects
&&
70 a
.show_screen_space_rects
== b
.show_screen_space_rects
&&
71 a
.show_replica_screen_space_rects
== b
.show_replica_screen_space_rects
&&
72 a
.show_occluding_rects
== b
.show_occluding_rects
&&
73 a
.show_non_occluding_rects
== b
.show_non_occluding_rects
&&
74 a
.show_touch_event_handler_rects
== b
.show_touch_event_handler_rects
&&
75 a
.show_wheel_event_handler_rects
== b
.show_wheel_event_handler_rects
&&
76 a
.show_scroll_event_handler_rects
== b
.show_scroll_event_handler_rects
&&
77 a
.show_non_fast_scrollable_rects
== b
.show_non_fast_scrollable_rects
&&
78 a
.show_layer_animation_bounds_rects
==
79 b
.show_layer_animation_bounds_rects
&&
80 a
.slow_down_raster_scale_factor
== b
.slow_down_raster_scale_factor
&&
81 a
.rasterize_only_visible_content
== b
.rasterize_only_visible_content
&&
82 a
.show_picture_borders
== b
.show_picture_borders
&&
83 a
.record_rendering_stats_
== b
.record_rendering_stats_
);
86 LayerTreeDebugState
LayerTreeDebugState::Unite(const LayerTreeDebugState
& a
,
87 const LayerTreeDebugState
& b
) {
88 LayerTreeDebugState
r(a
);
90 r
.show_fps_counter
|= b
.show_fps_counter
;
91 r
.show_debug_borders
|= b
.show_debug_borders
;
92 r
.continuous_painting
|= b
.continuous_painting
;
94 r
.show_paint_rects
|= b
.show_paint_rects
;
95 r
.show_property_changed_rects
|= b
.show_property_changed_rects
;
96 r
.show_surface_damage_rects
|= b
.show_surface_damage_rects
;
97 r
.show_screen_space_rects
|= b
.show_screen_space_rects
;
98 r
.show_replica_screen_space_rects
|= b
.show_replica_screen_space_rects
;
99 r
.show_occluding_rects
|= b
.show_occluding_rects
;
100 r
.show_non_occluding_rects
|= b
.show_non_occluding_rects
;
101 r
.show_touch_event_handler_rects
|= b
.show_touch_event_handler_rects
;
102 r
.show_wheel_event_handler_rects
|= b
.show_wheel_event_handler_rects
;
103 r
.show_scroll_event_handler_rects
|= b
.show_scroll_event_handler_rects
;
104 r
.show_non_fast_scrollable_rects
|= b
.show_non_fast_scrollable_rects
;
105 r
.show_layer_animation_bounds_rects
|= b
.show_layer_animation_bounds_rects
;
107 if (b
.slow_down_raster_scale_factor
)
108 r
.slow_down_raster_scale_factor
= b
.slow_down_raster_scale_factor
;
109 r
.rasterize_only_visible_content
|= b
.rasterize_only_visible_content
;
110 r
.show_picture_borders
|= b
.show_picture_borders
;
112 r
.record_rendering_stats_
|= b
.record_rendering_stats_
;