| 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 |