OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/gpu/chrome_gpu_util.h" | 5 #include "chrome/browser/gpu/chrome_gpu_util.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #if defined(OS_MACOSX) | 8 #if defined(OS_MACOSX) |
9 #include "base/mac/mac_util.h" | 9 #include "base/mac/mac_util.h" |
10 #endif | 10 #endif |
(...skipping 22 matching lines...) Expand all Loading... |
33 if (trial) | 33 if (trial) |
34 trial->Disable(); | 34 trial->Disable(); |
35 } | 35 } |
36 | 36 |
37 bool ShouldRunCompositingFieldTrial() { | 37 bool ShouldRunCompositingFieldTrial() { |
38 // Enable the field trial only on desktop OS's. | 38 // Enable the field trial only on desktop OS's. |
39 #if !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)) | 39 #if !(defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)) |
40 return false; | 40 return false; |
41 #endif | 41 #endif |
42 | 42 |
| 43 // Necessary for linux_chromeos build since it defines both OS_LINUX |
| 44 // and OS_CHROMEOS. |
| 45 #if defined(OS_CHROMEOS) |
| 46 return false; |
| 47 #endif |
| 48 |
| 49 #if defined(OS_WIN) |
| 50 // Don't run the trial on Windows XP. |
| 51 if (base::win::GetVersion() < base::win::VERSION_VISTA) |
| 52 return false; |
| 53 #endif |
| 54 |
| 55 #if defined(OS_MACOSX) |
| 56 // Browser and content shell tests hang on 10.7 when the Apple software |
| 57 // renderer is used. These tests ignore the blacklist (which disables |
| 58 // compositing both on 10.7 and when the Apple software renderer is used) |
| 59 // by specifying the kSkipGpuDataLoading switch, so disable forced |
| 60 // compositing here based on the switch and OS version. |
| 61 // http://crbug.com/230931 |
| 62 if (base::mac::IsOSLion() && |
| 63 CommandLine::ForCurrentProcess()->HasSwitch( |
| 64 switches::kSkipGpuDataLoading)) { |
| 65 return false; |
| 66 } |
| 67 #endif |
| 68 |
43 // Don't activate the field trial if force-compositing-mode has been | 69 // Don't activate the field trial if force-compositing-mode has been |
44 // explicitly disabled from the command line. | 70 // explicitly disabled from the command line. |
45 if (CommandLine::ForCurrentProcess()->HasSwitch( | 71 if (CommandLine::ForCurrentProcess()->HasSwitch( |
46 switches::kDisableForceCompositingMode) || | 72 switches::kDisableForceCompositingMode) || |
47 CommandLine::ForCurrentProcess()->HasSwitch( | 73 CommandLine::ForCurrentProcess()->HasSwitch( |
48 switches::kDisableAcceleratedCompositing)) | 74 switches::kDisableAcceleratedCompositing)) |
49 return false; | 75 return false; |
50 | 76 |
51 return true; | 77 return true; |
52 } | 78 } |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 | 123 |
98 bool force_compositing = (trial->group() == force_compositing_group); | 124 bool force_compositing = (trial->group() == force_compositing_group); |
99 bool thread = (trial->group() == thread_group); | 125 bool thread = (trial->group() == thread_group); |
100 UMA_HISTOGRAM_BOOLEAN("GPU.InForceCompositingModeFieldTrial", | 126 UMA_HISTOGRAM_BOOLEAN("GPU.InForceCompositingModeFieldTrial", |
101 force_compositing); | 127 force_compositing); |
102 UMA_HISTOGRAM_BOOLEAN("GPU.InCompositorThreadFieldTrial", thread); | 128 UMA_HISTOGRAM_BOOLEAN("GPU.InCompositorThreadFieldTrial", thread); |
103 } | 129 } |
104 | 130 |
105 } // namespace gpu_util | 131 } // namespace gpu_util |
106 | 132 |
OLD | NEW |