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 "ui/compositor/compositor_switches.h"
7 #include "base/command_line.h"
11 // Enable compositing individual elements via hardware overlays when
12 // permitted by device.
13 const char kEnableHardwareOverlays
[] = "enable-hardware-overlays";
15 // Forces tests to produce pixel output when they normally wouldn't.
16 const char kEnablePixelOutputInTests
[] = "enable-pixel-output-in-tests";
18 const char kUIDisableThreadedCompositing
[] = "ui-disable-threaded-compositing";
20 const char kUIEnableCompositorAnimationTimelines
[] =
21 "ui-enable-compositor-animation-timelines";
23 const char kUIEnableImplSidePainting
[] = "ui-enable-impl-side-painting";
25 const char kUIEnableZeroCopy
[] = "ui-enable-zero-copy";
27 const char kUIShowPaintRects
[] = "ui-show-paint-rects";
29 } // namespace switches
33 bool IsUIImplSidePaintingEnabled() {
34 const base::CommandLine
& command_line
=
35 *base::CommandLine::ForCurrentProcess();
37 return command_line
.HasSwitch(switches::kUIEnableImplSidePainting
);
40 bool IsUIZeroCopyEnabled() {
41 const base::CommandLine
& command_line
=
42 *base::CommandLine::ForCurrentProcess();
44 return command_line
.HasSwitch(switches::kUIEnableZeroCopy
);
47 bool IsUIOneCopyEnabled() {
48 // One-copy is on by default unless zero copy is enabled.
49 return !IsUIZeroCopyEnabled();