forked from chromium/chromium
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcompositor_util.cc
55 lines (44 loc) · 1.82 KB
/
compositor_util.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "content/public/common/compositor_util.h"
#include "base/command_line.h"
#include "base/metrics/field_trial.h"
#include "content/public/common/content_constants.h"
#include "content/public/common/content_switches.h"
namespace content {
bool IsThreadedCompositingEnabled() {
#if defined(OS_WIN) && defined(USE_AURA)
// We always want compositing on Aura Windows.
return true;
#endif
const CommandLine& command_line = *CommandLine::ForCurrentProcess();
if (command_line.HasSwitch(switches::kEnableThreadedCompositing) &&
!command_line.HasSwitch(switches::kDisableThreadedCompositing))
return true;
base::FieldTrial* trial =
base::FieldTrialList::Find(content::kGpuCompositingFieldTrialName);
return trial &&
trial->group_name() ==
content::kGpuCompositingFieldTrialThreadEnabledName;
}
bool IsForceCompositingModeEnabled() {
#if defined(OS_WIN) && defined(USE_AURA)
// We always want compositing on Aura Windows.
return true;
#endif
const CommandLine& command_line = *CommandLine::ForCurrentProcess();
if (command_line.HasSwitch(switches::kForceCompositingMode) &&
!command_line.HasSwitch(switches::kDisableForceCompositingMode))
return true;
base::FieldTrial* trial =
base::FieldTrialList::Find(content::kGpuCompositingFieldTrialName);
// Force compositing is enabled in both the force compositing
// and threaded compositing mode field trials.
return trial &&
(trial->group_name() ==
content::kGpuCompositingFieldTrialForceCompositingEnabledName ||
trial->group_name() ==
content::kGpuCompositingFieldTrialThreadEnabledName);
}
} // compositor_util