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 // This file defines functions that integrate Chrome in Windows shell. These | 5 // This file defines functions that integrate Chrome in Windows shell. These |
6 // functions can be used by Chrome as well as Chrome installer. All of the | 6 // functions can be used by Chrome as well as Chrome installer. All of the |
7 // work is done by the local functions defined in anonymous namespace in | 7 // work is done by the local functions defined in anonymous namespace in |
8 // this class. | 8 // this class. |
9 | 9 |
10 #include "chrome/installer/util/shell_util.h" | 10 #include "chrome/installer/util/shell_util.h" |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 model_id_shell.push_back(FilePath::kSeparators[0]); | 151 model_id_shell.push_back(FilePath::kSeparators[0]); |
152 model_id_shell.append(app_id); | 152 model_id_shell.append(app_id); |
153 model_id_shell.append(ShellUtil::kRegExePath); | 153 model_id_shell.append(ShellUtil::kRegExePath); |
154 model_id_shell.append(ShellUtil::kRegShellPath); | 154 model_id_shell.append(ShellUtil::kRegShellPath); |
155 | 155 |
156 // <root hkey>\Software\Classes\<app_id>\.exe\shell @=open | 156 // <root hkey>\Software\Classes\<app_id>\.exe\shell @=open |
157 entries->push_front(new RegistryEntry(model_id_shell, | 157 entries->push_front(new RegistryEntry(model_id_shell, |
158 ShellUtil::kRegVerbOpen)); | 158 ShellUtil::kRegVerbOpen)); |
159 | 159 |
160 const wchar_t* const verbs[] = { ShellUtil::kRegVerbOpen, | 160 const wchar_t* const verbs[] = { ShellUtil::kRegVerbOpen, |
| 161 ShellUtil::kRegVerbOpenNewWindow, |
161 ShellUtil::kRegVerbRun }; | 162 ShellUtil::kRegVerbRun }; |
162 for (size_t i = 0; i < arraysize(verbs); ++i) { | 163 for (size_t i = 0; i < arraysize(verbs); ++i) { |
163 string16 sub_path(model_id_shell); | 164 string16 sub_path(model_id_shell); |
164 sub_path.push_back(FilePath::kSeparators[0]); | 165 sub_path.push_back(FilePath::kSeparators[0]); |
165 sub_path.append(verbs[i]); | 166 sub_path.append(verbs[i]); |
166 | 167 |
167 // <root hkey>\Software\Classes\<app_id>\.exe\shell\<verb> | 168 // <root hkey>\Software\Classes\<app_id>\.exe\shell\<verb> |
168 entries->push_front(new RegistryEntry( | 169 entries->push_front(new RegistryEntry( |
169 sub_path, L"CommandId", L"Browser.Launch")); | 170 sub_path, L"CommandId", L"Browser.Launch")); |
170 | 171 |
(...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
830 const wchar_t* ShellUtil::kRegUrlProtocol = L"URL Protocol"; | 831 const wchar_t* ShellUtil::kRegUrlProtocol = L"URL Protocol"; |
831 const wchar_t* ShellUtil::kRegApplication = L"\\Application"; | 832 const wchar_t* ShellUtil::kRegApplication = L"\\Application"; |
832 const wchar_t* ShellUtil::kRegAppUserModelId = L"AppUserModelId"; | 833 const wchar_t* ShellUtil::kRegAppUserModelId = L"AppUserModelId"; |
833 const wchar_t* ShellUtil::kRegApplicationDescription = | 834 const wchar_t* ShellUtil::kRegApplicationDescription = |
834 L"ApplicationDescription"; | 835 L"ApplicationDescription"; |
835 const wchar_t* ShellUtil::kRegApplicationName = L"ApplicationName"; | 836 const wchar_t* ShellUtil::kRegApplicationName = L"ApplicationName"; |
836 const wchar_t* ShellUtil::kRegApplicationIcon = L"ApplicationIcon"; | 837 const wchar_t* ShellUtil::kRegApplicationIcon = L"ApplicationIcon"; |
837 const wchar_t* ShellUtil::kRegApplicationCompany = L"ApplicationCompany"; | 838 const wchar_t* ShellUtil::kRegApplicationCompany = L"ApplicationCompany"; |
838 const wchar_t* ShellUtil::kRegExePath = L"\\.exe"; | 839 const wchar_t* ShellUtil::kRegExePath = L"\\.exe"; |
839 const wchar_t* ShellUtil::kRegVerbOpen = L"open"; | 840 const wchar_t* ShellUtil::kRegVerbOpen = L"open"; |
| 841 const wchar_t* ShellUtil::kRegVerbOpenNewWindow = L"opennewwindow"; |
840 const wchar_t* ShellUtil::kRegVerbRun = L"run"; | 842 const wchar_t* ShellUtil::kRegVerbRun = L"run"; |
841 const wchar_t* ShellUtil::kRegCommand = L"command"; | 843 const wchar_t* ShellUtil::kRegCommand = L"command"; |
842 const wchar_t* ShellUtil::kRegDelegateExecute = L"DelegateExecute"; | 844 const wchar_t* ShellUtil::kRegDelegateExecute = L"DelegateExecute"; |
843 | 845 |
844 bool ShellUtil::QuickIsChromeRegisteredInHKLM(BrowserDistribution* dist, | 846 bool ShellUtil::QuickIsChromeRegisteredInHKLM(BrowserDistribution* dist, |
845 const string16& chrome_exe, | 847 const string16& chrome_exe, |
846 const string16& suffix) { | 848 const string16& suffix) { |
847 return QuickIsChromeRegistered(dist, chrome_exe, suffix, | 849 return QuickIsChromeRegistered(dist, chrome_exe, suffix, |
848 CONFIRM_SHELL_REGISTRATION_IN_HKLM); | 850 CONFIRM_SHELL_REGISTRATION_IN_HKLM); |
849 } | 851 } |
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1513 chrome_exe.c_str(), | 1515 chrome_exe.c_str(), |
1514 shortcut.c_str(), | 1516 shortcut.c_str(), |
1515 chrome_path.value().c_str(), | 1517 chrome_path.value().c_str(), |
1516 arguments.c_str(), | 1518 arguments.c_str(), |
1517 description.c_str(), | 1519 description.c_str(), |
1518 icon_path.c_str(), | 1520 icon_path.c_str(), |
1519 icon_index, | 1521 icon_index, |
1520 app_id.c_str(), | 1522 app_id.c_str(), |
1521 ConvertShellUtilShortcutOptionsToFileUtil(options)); | 1523 ConvertShellUtilShortcutOptionsToFileUtil(options)); |
1522 } | 1524 } |
OLD | NEW |