IndexedDB: fsync after transactions.
[chromium-blink-merge.git] / cc / base / switches.cc
blob487c5ec296bdf9158605d6347dc05d21ec882d18
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
3 // found in the LICENSE file.
5 #include "cc/base/switches.h"
7 #include "base/command_line.h"
9 namespace cc {
10 namespace switches {
12 // On platforms where checkerboards are used, prefer background colors instead
13 // of checkerboards.
14 const char kBackgroundColorInsteadOfCheckerboard[] =
15 "background-color-instead-of-checkerboard";
17 // Disables LCD text.
18 const char kDisableLCDText[] = "disable-lcd-text";
20 const char kDisableThreadedAnimation[] = "disable-threaded-animation";
22 // Disables layer-edge anti-aliasing in the compositor.
23 const char kDisableCompositedAntialiasing[] =
24 "disable-composited-antialiasing";
26 // Paint content on the main thread instead of the compositor thread.
27 // Overrides the kEnableImplSidePainting flag.
28 const char kDisableImplSidePainting[] = "disable-impl-side-painting";
30 // Enables LCD text.
31 const char kEnableLCDText[] = "enable-lcd-text";
33 // Paint content on the compositor thread instead of the main thread.
34 const char kEnableImplSidePainting[] = "enable-impl-side-painting";
36 const char kEnableTopControlsPositionCalculation[] =
37 "enable-top-controls-position-calculation";
39 // Allow heuristics to determine when a layer tile should be drawn with
40 // the Skia GPU backend. Only valid with GPU accelerated compositing +
41 // impl-side painting.
42 const char kEnableGPURasterization[] = "enable-gpu-rasterization";
44 // Disable GPU rasterization, i.e. rasterize on the CPU only.
45 // Overrides the kEnableGPURasterization flag.
46 const char kDisableGPURasterization[] = "disable-gpu-rasterization";
48 // The height of the movable top controls.
49 const char kTopControlsHeight[] = "top-controls-height";
51 // Percentage of the top controls need to be hidden before they will auto hide.
52 const char kTopControlsHideThreshold[] = "top-controls-hide-threshold";
54 // Percentage of the top controls need to be shown before they will auto show.
55 const char kTopControlsShowThreshold[] = "top-controls-show-threshold";
57 // Show metrics about overdraw in about:tracing recordings, such as the number
58 // of pixels culled, and the number of pixels drawn, for each frame.
59 const char kTraceOverdraw[] = "trace-overdraw";
61 // Re-rasters everything multiple times to simulate a much slower machine.
62 // Give a scale factor to cause raster to take that many times longer to
63 // complete, such as --slow-down-raster-scale-factor=25.
64 const char kSlowDownRasterScaleFactor[] = "slow-down-raster-scale-factor";
66 // Max tiles allowed for each tilings interest area.
67 const char kMaxTilesForInterestArea[] = "max-tiles-for-interest-area";
69 // The amount of unused resource memory compositor is allowed to keep around.
70 const char kMaxUnusedResourceMemoryUsagePercentage[] =
71 "max-unused-resource-memory-usage-percentage";
73 // Causes the compositor to render to textures which are then sent to the parent
74 // through the texture mailbox mechanism.
75 // Requires --enable-compositor-frame-message.
76 const char kCompositeToMailbox[] = "composite-to-mailbox";
78 // Check that property changes during paint do not occur.
79 const char kStrictLayerPropertyChangeChecking[] =
80 "strict-layer-property-change-checking";
82 // Virtual viewport for fixed-position elements, scrollbars during pinch.
83 const char kEnablePinchVirtualViewport[] = "enable-pinch-virtual-viewport";
85 const char kEnablePartialSwap[] = "enable-partial-swap";
86 // Disable partial swap which is needed for some OpenGL drivers / emulators.
87 const char kUIDisablePartialSwap[] = "ui-disable-partial-swap";
89 const char kEnablePerTilePainting[] = "enable-per-tile-painting";
90 const char kUIEnablePerTilePainting[] = "ui-enable-per-tile-painting";
92 // Renders a border around compositor layers to help debug and study
93 // layer compositing.
94 const char kShowCompositedLayerBorders[] = "show-composited-layer-borders";
95 const char kUIShowCompositedLayerBorders[] = "ui-show-layer-borders";
97 // Draws a FPS indicator
98 const char kShowFPSCounter[] = "show-fps-counter";
99 const char kUIShowFPSCounter[] = "ui-show-fps-counter";
101 // Renders a border that represents the bounding box for the layer's animation.
102 const char kShowLayerAnimationBounds[] = "show-layer-animation-bounds";
103 const char kUIShowLayerAnimationBounds[] = "ui-show-layer-animation-bounds";
105 // Show rects in the HUD around layers whose properties have changed.
106 const char kShowPropertyChangedRects[] = "show-property-changed-rects";
107 const char kUIShowPropertyChangedRects[] = "ui-show-property-changed-rects";
109 // Show rects in the HUD around damage as it is recorded into each render
110 // surface.
111 const char kShowSurfaceDamageRects[] = "show-surface-damage-rects";
112 const char kUIShowSurfaceDamageRects[] = "ui-show-surface-damage-rects";
114 // Show rects in the HUD around the screen-space transformed bounds of every
115 // layer.
116 const char kShowScreenSpaceRects[] = "show-screenspace-rects";
117 const char kUIShowScreenSpaceRects[] = "ui-show-screenspace-rects";
119 // Show rects in the HUD around the screen-space transformed bounds of every
120 // layer's replica, when they have one.
121 const char kShowReplicaScreenSpaceRects[] = "show-replica-screenspace-rects";
122 const char kUIShowReplicaScreenSpaceRects[] =
123 "ui-show-replica-screenspace-rects";
125 // Show rects in the HUD wherever something is known to be drawn opaque and is
126 // considered occluding the pixels behind it.
127 const char kShowOccludingRects[] = "show-occluding-rects";
128 const char kUIShowOccludingRects[] = "ui-show-occluding-rects";
130 // Show rects in the HUD wherever something is not known to be drawn opaque and
131 // is not considered to be occluding the pixels behind it.
132 const char kShowNonOccludingRects[] = "show-nonoccluding-rects";
133 const char kUIShowNonOccludingRects[] = "ui-show-nonoccluding-rects";
135 // Enable rasterizer that writes directly to GPU memory.
136 const char kEnableMapImage[] = "enable-map-image";
138 // Disable rasterizer that writes directly to GPU memory.
139 // Overrides the kEnableMapImage flag.
140 const char kDisableMapImage[] = "disable-map-image";
142 // Prevents the layer tree unit tests from timing out.
143 const char kCCLayerTreeTestNoTimeout[] = "cc-layer-tree-test-no-timeout";
145 // Makes pixel tests write their output instead of read it.
146 const char kCCRebaselinePixeltests[] = "cc-rebaseline-pixeltests";
148 // Disable textures using RGBA_4444 layout.
149 const char kDisable4444Textures[] = "disable-4444-textures";
151 // Disable touch hit testing in the compositor.
152 const char kDisableCompositorTouchHitTesting[] =
153 "disable-compositor-touch-hit-testing";
155 bool IsLCDTextEnabled() {
156 const CommandLine* command_line = CommandLine::ForCurrentProcess();
157 if (command_line->HasSwitch(switches::kDisableLCDText))
158 return false;
159 else if (command_line->HasSwitch(switches::kEnableLCDText))
160 return true;
162 #if defined(OS_ANDROID)
163 return false;
164 #else
165 return true;
166 #endif
169 bool IsGpuRasterizationEnabled() {
170 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
172 if (command_line.HasSwitch(switches::kDisableGPURasterization))
173 return false;
174 else if (command_line.HasSwitch(switches::kEnableGPURasterization))
175 return true;
177 return false;
180 bool IsImplSidePaintingEnabled() {
181 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
183 if (command_line.HasSwitch(switches::kDisableImplSidePainting))
184 return false;
185 else if (command_line.HasSwitch(switches::kEnableImplSidePainting))
186 return true;
188 #if defined(OS_ANDROID)
189 return true;
190 #else
191 return false;
192 #endif
195 bool IsMapImageEnabled() {
196 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
198 if (command_line.HasSwitch(switches::kDisableMapImage))
199 return false;
200 else if (command_line.HasSwitch(switches::kEnableMapImage))
201 return true;
203 return false;
206 } // namespace switches
207 } // namespace cc