Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(327)

Side by Side Diff: chrome/browser/chrome_browser_main_win.cc

Issue 16896018: Enable high resolution time for TimeTicks::Now on Windows Canary (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Rename (retry) Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « base/time/time_win.cc ('k') | content/app/content_main_runner.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/chrome_browser_main_win.h" 5 #include "chrome/browser/chrome_browser_main_win.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include <shellapi.h> 8 #include <shellapi.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 12 matching lines...) Expand all
23 #include "base/win/wrapped_window_proc.h" 23 #include "base/win/wrapped_window_proc.h"
24 #include "chrome/browser/browser_util_win.h" 24 #include "chrome/browser/browser_util_win.h"
25 #include "chrome/browser/profiles/profile_info_cache.h" 25 #include "chrome/browser/profiles/profile_info_cache.h"
26 #include "chrome/browser/profiles/profile_shortcut_manager.h" 26 #include "chrome/browser/profiles/profile_shortcut_manager.h"
27 #include "chrome/browser/shell_integration.h" 27 #include "chrome/browser/shell_integration.h"
28 #include "chrome/browser/ui/simple_message_box.h" 28 #include "chrome/browser/ui/simple_message_box.h"
29 #include "chrome/browser/ui/uninstall_browser_prompt.h" 29 #include "chrome/browser/ui/uninstall_browser_prompt.h"
30 #include "chrome/common/chrome_constants.h" 30 #include "chrome/common/chrome_constants.h"
31 #include "chrome/common/chrome_result_codes.h" 31 #include "chrome/common/chrome_result_codes.h"
32 #include "chrome/common/chrome_switches.h" 32 #include "chrome/common/chrome_switches.h"
33 #include "chrome/common/chrome_version_info.h"
33 #include "chrome/common/env_vars.h" 34 #include "chrome/common/env_vars.h"
34 #include "chrome/installer/launcher_support/chrome_launcher_support.h" 35 #include "chrome/installer/launcher_support/chrome_launcher_support.h"
35 #include "chrome/installer/util/browser_distribution.h" 36 #include "chrome/installer/util/browser_distribution.h"
36 #include "chrome/installer/util/helper.h" 37 #include "chrome/installer/util/helper.h"
37 #include "chrome/installer/util/install_util.h" 38 #include "chrome/installer/util/install_util.h"
38 #include "chrome/installer/util/l10n_string_util.h" 39 #include "chrome/installer/util/l10n_string_util.h"
39 #include "chrome/installer/util/shell_util.h" 40 #include "chrome/installer/util/shell_util.h"
40 #include "content/public/common/main_function_params.h" 41 #include "content/public/common/main_function_params.h"
41 #include "grit/app_locale_settings.h" 42 #include "grit/app_locale_settings.h"
42 #include "grit/chromium_strings.h" 43 #include "grit/chromium_strings.h"
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 << user_shortcut_locations[i]; 135 << user_shortcut_locations[i];
135 } 136 }
136 } 137 }
137 } else { 138 } else {
138 NOTREACHED(); 139 NOTREACHED();
139 } 140 }
140 } 141 }
141 return result; 142 return result;
142 } 143 }
143 144
145 void MaybeEnableHighResolutionTimeEverywhere() {
146 chrome::VersionInfo::Channel channel = chrome::VersionInfo::GetChannel();
147 bool user_enabled = CommandLine::ForCurrentProcess()->HasSwitch(
148 switches::kEnableHighResolutionTime);
149 if (user_enabled || channel == chrome::VersionInfo::CHANNEL_CANARY) {
150 bool is_enabled = base::TimeTicks::SetNowIsHighResNowIfSupported();
151 if (is_enabled && !user_enabled) {
152 // Ensure that all of the renderers will enable it too.
153 CommandLine::ForCurrentProcess()->AppendSwitch(
154 switches::kEnableHighResolutionTime);
155 }
156 }
157 }
158
144 // ChromeBrowserMainPartsWin --------------------------------------------------- 159 // ChromeBrowserMainPartsWin ---------------------------------------------------
145 160
146 ChromeBrowserMainPartsWin::ChromeBrowserMainPartsWin( 161 ChromeBrowserMainPartsWin::ChromeBrowserMainPartsWin(
147 const content::MainFunctionParams& parameters) 162 const content::MainFunctionParams& parameters)
148 : ChromeBrowserMainParts(parameters) { 163 : ChromeBrowserMainParts(parameters) {
164 MaybeEnableHighResolutionTimeEverywhere();
149 if (base::win::IsMetroProcess()) { 165 if (base::win::IsMetroProcess()) {
150 typedef const wchar_t* (*GetMetroSwitches)(void); 166 typedef const wchar_t* (*GetMetroSwitches)(void);
151 GetMetroSwitches metro_switches_proc = reinterpret_cast<GetMetroSwitches>( 167 GetMetroSwitches metro_switches_proc = reinterpret_cast<GetMetroSwitches>(
152 GetProcAddress(base::win::GetMetroModule(), 168 GetProcAddress(base::win::GetMetroModule(),
153 "GetMetroCommandLineSwitches")); 169 "GetMetroCommandLineSwitches"));
154 if (metro_switches_proc) { 170 if (metro_switches_proc) {
155 string16 metro_switches = (*metro_switches_proc)(); 171 string16 metro_switches = (*metro_switches_proc)();
156 if (!metro_switches.empty()) { 172 if (!metro_switches.empty()) {
157 CommandLine extra_switches(CommandLine::NO_PROGRAM); 173 CommandLine extra_switches(CommandLine::NO_PROGRAM);
158 extra_switches.ParseFromString(metro_switches); 174 extra_switches.ParseFromString(metro_switches);
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after
377 if (resource_id) 393 if (resource_id)
378 return l10n_util::GetStringUTF16(resource_id); 394 return l10n_util::GetStringUTF16(resource_id);
379 return string16(); 395 return string16();
380 } 396 }
381 397
382 // static 398 // static
383 void ChromeBrowserMainPartsWin::SetupInstallerUtilStrings() { 399 void ChromeBrowserMainPartsWin::SetupInstallerUtilStrings() {
384 CR_DEFINE_STATIC_LOCAL(TranslationDelegate, delegate, ()); 400 CR_DEFINE_STATIC_LOCAL(TranslationDelegate, delegate, ());
385 installer::SetTranslationDelegate(&delegate); 401 installer::SetTranslationDelegate(&delegate);
386 } 402 }
OLDNEW
« no previous file with comments | « base/time/time_win.cc ('k') | content/app/content_main_runner.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698