Index: content/browser/gpu/compositor_util.cc |
diff --git a/content/browser/gpu/compositor_util.cc b/content/browser/gpu/compositor_util.cc |
index 77dda3f454d4cbd2129e77687d20355e4c5b194f..fe7ad97d0631d459b22ecf1f4da758077866704a 100644 |
--- a/content/browser/gpu/compositor_util.cc |
+++ b/content/browser/gpu/compositor_util.cc |
@@ -6,6 +6,7 @@ |
#include "base/command_line.h" |
#include "base/metrics/field_trial.h" |
+#include "build/build_config.h" |
#include "content/public/browser/gpu_data_manager.h" |
#include "content/public/common/content_constants.h" |
#include "content/public/common/content_switches.h" |
@@ -36,11 +37,6 @@ bool CanDoAcceleratedCompositing() { |
return true; |
} |
-bool IsForceCompositingModeBlacklisted() { |
- return GpuDataManager::GetInstance()->IsFeatureBlacklisted( |
- gpu::GPU_FEATURE_TYPE_FORCE_COMPOSITING_MODE); |
-} |
- |
} // namespace |
bool IsThreadedCompositingEnabled() { |
@@ -49,14 +45,17 @@ bool IsThreadedCompositingEnabled() { |
return true; |
#endif |
- if (!CanDoAcceleratedCompositing()) |
- return false; |
- |
const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
// Command line switches take precedence over blacklist and field trials. |
if (command_line.HasSwitch(switches::kDisableForceCompositingMode) || |
- command_line.HasSwitch(switches::kDisableThreadedCompositing)) |
+ command_line.HasSwitch(switches::kDisableThreadedCompositing)) { |
+ return false; |
+ } else if (command_line.HasSwitch(switches::kEnableThreadedCompositing)) { |
+ return true; |
+ } |
+ |
+ if (!CanDoAcceleratedCompositing()) |
return false; |
#if defined(OS_CHROMEOS) |
@@ -65,12 +64,6 @@ bool IsThreadedCompositingEnabled() { |
return true; |
#endif |
- if (command_line.HasSwitch(switches::kEnableThreadedCompositing)) |
- return true; |
- |
- if (IsForceCompositingModeBlacklisted()) |
- return false; |
- |
base::FieldTrial* trial = |
base::FieldTrialList::Find(kGpuCompositingFieldTrialName); |
return trial && |
@@ -83,26 +76,30 @@ bool IsForceCompositingModeEnabled() { |
return true; |
#endif |
- if (!CanDoAcceleratedCompositing()) |
- return false; |
- |
const CommandLine& command_line = *CommandLine::ForCurrentProcess(); |
// Command line switches take precedence over blacklisting and field trials. |
if (command_line.HasSwitch(switches::kDisableForceCompositingMode)) |
return false; |
+ else if (command_line.HasSwitch(switches::kForceCompositingMode)) |
+ return true; |
+ |
+ if (!CanDoAcceleratedCompositing()) |
+ return false; |
#if defined(OS_CHROMEOS) |
// We always want compositing ChromeOS unless it's explicitly disabled above. |
return true; |
+#elif defined(OS_WIN) |
+ // Windows Vista+ has been shipping with FCM enabled at 100% since M24; skip |
+ // the field trial check to ensure this is always enabled on the try bots. |
+ // TODO(gab): Do the same thing in IsThreadedCompositingEnabled() once this is |
+ // stable. |
+ // TODO(gab): Do the same thing for Mac OS (which has been enabled at 100% |
+ // since M28) as well and get rid of the field trial code. |
+ return true; |
#endif |
- if (command_line.HasSwitch(switches::kForceCompositingMode)) |
- return true; |
- |
- if (IsForceCompositingModeBlacklisted()) |
- return false; |
- |
base::FieldTrial* trial = |
base::FieldTrialList::Find(kGpuCompositingFieldTrialName); |