- add sources.
[platform/framework/web/crosswalk.git] / src / ash / debug.cc
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.
4
5 #include "ash/debug.h"
6
7 #include "ash/shell.h"
8 #include "cc/debug/layer_tree_debug_state.h"
9 #include "ui/aura/root_window.h"
10 #include "ui/compositor/compositor.h"
11
12 namespace ash {
13 namespace debug {
14
15 void ToggleShowDebugBorders() {
16   Shell::RootWindowList root_windows =
17       Shell::GetInstance()->GetAllRootWindows();
18   scoped_ptr<bool> value;
19   for (Shell::RootWindowList::iterator it = root_windows.begin();
20        it != root_windows.end(); ++it) {
21     ui::Compositor* compositor = (*it)->compositor();
22     cc::LayerTreeDebugState state = compositor->GetLayerTreeDebugState();
23     if (!value.get())
24       value.reset(new bool(!state.show_debug_borders));
25     state.show_debug_borders = *value.get();
26     compositor->SetLayerTreeDebugState(state);
27   }
28 }
29
30 void ToggleShowFpsCounter() {
31   Shell::RootWindowList root_windows =
32       Shell::GetInstance()->GetAllRootWindows();
33   scoped_ptr<bool> value;
34   for (Shell::RootWindowList::iterator it = root_windows.begin();
35        it != root_windows.end(); ++it) {
36     ui::Compositor* compositor = (*it)->compositor();
37     cc::LayerTreeDebugState state = compositor->GetLayerTreeDebugState();
38     if (!value.get())
39       value.reset(new bool(!state.show_fps_counter));
40     state.show_fps_counter = *value.get();
41     compositor->SetLayerTreeDebugState(state);
42   }
43 }
44
45 void ToggleShowPaintRects() {
46   Shell::RootWindowList root_windows =
47       Shell::GetInstance()->GetAllRootWindows();
48   scoped_ptr<bool> value;
49   for (Shell::RootWindowList::iterator it = root_windows.begin();
50        it != root_windows.end(); ++it) {
51     ui::Compositor* compositor = (*it)->compositor();
52     cc::LayerTreeDebugState state = compositor->GetLayerTreeDebugState();
53     if (!value.get())
54       value.reset(new bool(!state.show_paint_rects));
55     state.show_paint_rects = *value.get();
56     compositor->SetLayerTreeDebugState(state);
57   }
58 }
59
60 }  // debug
61 }  // ash