OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // chrome_tab.cc : Implementation of DLL Exports. | 5 // chrome_tab.cc : Implementation of DLL Exports. |
6 | 6 |
7 // Need to include this before the ATL headers below. | 7 // Need to include this before the ATL headers below. |
8 #include "chrome_frame/chrome_tab.h" | 8 #include "chrome_frame/chrome_tab.h" |
9 | 9 |
10 #include <atlsecurity.h> | 10 #include <atlsecurity.h> |
11 #include <objbase.h> | 11 #include <objbase.h> |
12 | 12 |
13 #include "base/at_exit.h" | 13 #include "base/at_exit.h" |
14 #include "base/command_line.h" | 14 #include "base/command_line.h" |
15 #include "base/file_util.h" | 15 #include "base/file_util.h" |
16 #include "base/file_version_info.h" | 16 #include "base/file_version_info.h" |
17 #include "base/logging.h" | 17 #include "base/logging.h" |
18 #include "base/logging_win.h" | 18 #include "base/logging_win.h" |
19 #include "base/path_service.h" | 19 #include "base/path_service.h" |
| 20 #include "base/string16.h" |
20 #include "base/string_number_conversions.h" | 21 #include "base/string_number_conversions.h" |
21 #include "base/string_piece.h" | 22 #include "base/string_piece.h" |
22 #include "base/string_util.h" | 23 #include "base/string_util.h" |
23 #include "base/sys_string_conversions.h" | 24 #include "base/sys_string_conversions.h" |
24 #include "base/win/registry.h" | 25 #include "base/win/registry.h" |
25 #include "base/win/windows_version.h" | 26 #include "base/win/windows_version.h" |
26 #include "chrome/common/chrome_constants.h" | 27 #include "chrome/common/chrome_constants.h" |
27 #include "chrome/common/chrome_switches.h" | 28 #include "chrome/common/chrome_switches.h" |
28 #include "chrome/installer/util/google_update_settings.h" | 29 #include "chrome/installer/util/google_update_settings.h" |
29 #include "chrome_frame/bho.h" | 30 #include "chrome_frame/bho.h" |
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 // - Overall the time saved will always be less than total time spent | 247 // - Overall the time saved will always be less than total time spent |
247 // paging in chrome | 248 // paging in chrome |
248 // - We are not sure when the chrome 'warm up' will age out from the | 249 // - We are not sure when the chrome 'warm up' will age out from the |
249 // boot prefetch file. | 250 // boot prefetch file. |
250 // | 251 // |
251 // The idea here is to try this out on chrome frame dev channel | 252 // The idea here is to try this out on chrome frame dev channel |
252 // and see if it produces a significant drift in startup numbers. | 253 // and see if it produces a significant drift in startup numbers. |
253 HRESULT SetupRunOnce() { | 254 HRESULT SetupRunOnce() { |
254 HRESULT result = E_FAIL; | 255 HRESULT result = E_FAIL; |
255 | 256 |
256 std::wstring channel_name; | 257 string16 channel_name; |
257 if (base::win::GetVersion() < base::win::VERSION_VISTA && | 258 if (base::win::GetVersion() < base::win::VERSION_VISTA && |
258 GoogleUpdateSettings::GetChromeChannelAndModifiers(true, &channel_name)) { | 259 GoogleUpdateSettings::GetChromeChannelAndModifiers(true, &channel_name)) { |
259 std::transform(channel_name.begin(), channel_name.end(), | 260 std::transform(channel_name.begin(), channel_name.end(), |
260 channel_name.begin(), tolower); | 261 channel_name.begin(), tolower); |
261 // Use this only for the dev channel and CEEE channels. | 262 // Use this only for the dev channel. |
262 if (channel_name.find(L"dev") != std::wstring::npos || | 263 if (channel_name.find(L"dev") != string16::npos) { |
263 channel_name.find(L"ceee") != std::wstring::npos) { | |
264 HKEY hive = HKEY_CURRENT_USER; | 264 HKEY hive = HKEY_CURRENT_USER; |
265 if (IsSystemProcess()) { | 265 if (IsSystemProcess()) { |
266 // For system installs, our updates will be running as SYSTEM which | 266 // For system installs, our updates will be running as SYSTEM which |
267 // makes writing to a RunOnce key under HKCU not so terribly useful. | 267 // makes writing to a RunOnce key under HKCU not so terribly useful. |
268 hive = HKEY_LOCAL_MACHINE; | 268 hive = HKEY_LOCAL_MACHINE; |
269 } | 269 } |
270 | 270 |
271 RegKey run_once; | 271 RegKey run_once; |
272 LONG ret = run_once.Create(hive, kRunOnce, KEY_READ | KEY_WRITE); | 272 LONG ret = run_once.Create(hive, kRunOnce, KEY_READ | KEY_WRITE); |
273 if (ret == ERROR_SUCCESS) { | 273 if (ret == ERROR_SUCCESS) { |
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
919 HRESULT hr = CustomRegistration(ALL, FALSE, false); | 919 HRESULT hr = CustomRegistration(ALL, FALSE, false); |
920 return hr; | 920 return hr; |
921 } | 921 } |
922 | 922 |
923 // Object entries go here instead of with each object, so that we can move | 923 // Object entries go here instead of with each object, so that we can move |
924 // the objects to a lib. Also reduces magic. | 924 // the objects to a lib. Also reduces magic. |
925 OBJECT_ENTRY_AUTO(CLSID_ChromeFrameBHO, Bho) | 925 OBJECT_ENTRY_AUTO(CLSID_ChromeFrameBHO, Bho) |
926 OBJECT_ENTRY_AUTO(__uuidof(ChromeActiveDocument), ChromeActiveDocument) | 926 OBJECT_ENTRY_AUTO(__uuidof(ChromeActiveDocument), ChromeActiveDocument) |
927 OBJECT_ENTRY_AUTO(__uuidof(ChromeFrame), ChromeFrameActivex) | 927 OBJECT_ENTRY_AUTO(__uuidof(ChromeFrame), ChromeFrameActivex) |
928 OBJECT_ENTRY_AUTO(__uuidof(ChromeProtocol), ChromeProtocol) | 928 OBJECT_ENTRY_AUTO(__uuidof(ChromeProtocol), ChromeProtocol) |
OLD | NEW |