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 kUIEnableImplSidePainting
[] = "ui-enable-impl-side-painting";
22 const char kUIEnableZeroCopy
[] = "ui-enable-zero-copy";
24 const char kUIShowPaintRects
[] = "ui-show-paint-rects";
26 } // namespace switches
30 bool IsUIImplSidePaintingEnabled() {
31 const base::CommandLine
& command_line
=
32 *base::CommandLine::ForCurrentProcess();
34 return command_line
.HasSwitch(switches::kUIEnableImplSidePainting
);
37 bool IsUIZeroCopyEnabled() {
38 const base::CommandLine
& command_line
=
39 *base::CommandLine::ForCurrentProcess();
41 return command_line
.HasSwitch(switches::kUIEnableZeroCopy
);
44 bool IsUIOneCopyEnabled() {
45 // One-copy is on by default unless zero copy is enabled.
46 return !IsUIZeroCopyEnabled();