1 // Copyright (c) 2013 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.
8 #include "cc/debug/layer_tree_debug_state.h"
9 #include "ui/aura/root_window.h"
10 #include "ui/compositor/compositor.h"
15 void ToggleShowDebugBorders() {
16 aura::Window::Windows root_windows
=
17 Shell::GetInstance()->GetAllRootWindows();
18 scoped_ptr
<bool> value
;
19 for (aura::Window::Windows::iterator it
= root_windows
.begin();
20 it
!= root_windows
.end(); ++it
) {
21 ui::Compositor
* compositor
= (*it
)->GetDispatcher()->host()->compositor();
22 cc::LayerTreeDebugState state
= compositor
->GetLayerTreeDebugState();
24 value
.reset(new bool(!state
.show_debug_borders
));
25 state
.show_debug_borders
= *value
.get();
26 compositor
->SetLayerTreeDebugState(state
);
30 void ToggleShowFpsCounter() {
31 aura::Window::Windows root_windows
=
32 Shell::GetInstance()->GetAllRootWindows();
33 scoped_ptr
<bool> value
;
34 for (aura::Window::Windows::iterator it
= root_windows
.begin();
35 it
!= root_windows
.end(); ++it
) {
36 ui::Compositor
* compositor
= (*it
)->GetDispatcher()->host()->compositor();
37 cc::LayerTreeDebugState state
= compositor
->GetLayerTreeDebugState();
39 value
.reset(new bool(!state
.show_fps_counter
));
40 state
.show_fps_counter
= *value
.get();
41 compositor
->SetLayerTreeDebugState(state
);
45 void ToggleShowPaintRects() {
46 aura::Window::Windows root_windows
=
47 Shell::GetInstance()->GetAllRootWindows();
48 scoped_ptr
<bool> value
;
49 for (aura::Window::Windows::iterator it
= root_windows
.begin();
50 it
!= root_windows
.end(); ++it
) {
51 ui::Compositor
* compositor
= (*it
)->GetDispatcher()->host()->compositor();
52 cc::LayerTreeDebugState state
= compositor
->GetLayerTreeDebugState();
54 value
.reset(new bool(!state
.show_paint_rects
));
55 state
.show_paint_rects
= *value
.get();
56 compositor
->SetLayerTreeDebugState(state
);