blob: 2a791a688a7fb43af81a1b7de301634d50c27853 [file] [log] [blame]
// Copyright 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "cc/debug/layer_tree_debug_state.h"
namespace cc {
// IMPORTANT: new fields must be added to Equal() and Unite()
LayerTreeDebugState::LayerTreeDebugState() = default;
LayerTreeDebugState::LayerTreeDebugState(const LayerTreeDebugState& other) =
default;
LayerTreeDebugState::~LayerTreeDebugState() = default;
void LayerTreeDebugState::SetRecordRenderingStats(bool enabled) {
record_rendering_stats_ = enabled;
}
bool LayerTreeDebugState::RecordRenderingStats() const {
return record_rendering_stats_;
}
bool LayerTreeDebugState::ShouldCreateHudLayer() const {
return ShowDebugRects() || ShouldDrawHudInfo();
}
bool LayerTreeDebugState::ShowDebugRects() const {
return show_paint_rects || show_property_changed_rects ||
show_surface_damage_rects || show_screen_space_rects ||
show_touch_event_handler_rects || show_wheel_event_handler_rects ||
show_scroll_event_handler_rects || show_non_fast_scrollable_rects ||
show_main_thread_scrolling_reason_rects ||
show_layer_animation_bounds_rects || show_layout_shift_regions;
}
bool LayerTreeDebugState::ShowMemoryStats() const {
return show_fps_counter;
}
bool LayerTreeDebugState::ShouldDrawHudInfo() const {
return show_fps_counter || show_web_vital_metrics || show_smoothness_metrics;
}
void LayerTreeDebugState::TurnOffHudInfoDisplay() {
// Turn off all types of HUD info display. ShouldDrawHudInfo() would return
// false after this function.
show_fps_counter = false;
show_web_vital_metrics = false;
show_smoothness_metrics = false;
}
bool LayerTreeDebugState::Equal(const LayerTreeDebugState& a,
const LayerTreeDebugState& b) {
return (
a.show_fps_counter == b.show_fps_counter &&
a.show_debug_borders == b.show_debug_borders &&
a.show_layout_shift_regions == b.show_layout_shift_regions &&
a.show_paint_rects == b.show_paint_rects &&
a.show_property_changed_rects == b.show_property_changed_rects &&
a.show_surface_damage_rects == b.show_surface_damage_rects &&
a.show_screen_space_rects == b.show_screen_space_rects &&
a.show_touch_event_handler_rects == b.show_touch_event_handler_rects &&
a.show_wheel_event_handler_rects == b.show_wheel_event_handler_rects &&
a.show_scroll_event_handler_rects == b.show_scroll_event_handler_rects &&
a.show_non_fast_scrollable_rects == b.show_non_fast_scrollable_rects &&
a.show_main_thread_scrolling_reason_rects ==
b.show_main_thread_scrolling_reason_rects &&
a.show_layer_animation_bounds_rects ==
b.show_layer_animation_bounds_rects &&
a.slow_down_raster_scale_factor == b.slow_down_raster_scale_factor &&
a.rasterize_only_visible_content == b.rasterize_only_visible_content &&
a.highlight_non_lcd_text_layers == b.highlight_non_lcd_text_layers &&
a.show_hit_test_borders == b.show_hit_test_borders &&
a.show_web_vital_metrics == b.show_web_vital_metrics &&
a.record_rendering_stats_ == b.record_rendering_stats_);
}
} // namespace cc