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/installer/setup/install.h" |
| 6 |
5 #include <objbase.h> | 7 #include <objbase.h> |
6 #include <stddef.h> | 8 #include <stddef.h> |
7 | 9 |
| 10 #include <memory> |
8 #include <string> | 11 #include <string> |
9 | 12 |
10 #include "base/base_paths.h" | 13 #include "base/base_paths.h" |
11 #include "base/files/file_path.h" | 14 #include "base/files/file_path.h" |
12 #include "base/files/file_util.h" | 15 #include "base/files/file_util.h" |
13 #include "base/files/scoped_temp_dir.h" | 16 #include "base/files/scoped_temp_dir.h" |
14 #include "base/macros.h" | 17 #include "base/macros.h" |
15 #include "base/memory/scoped_ptr.h" | |
16 #include "base/path_service.h" | 18 #include "base/path_service.h" |
17 #include "base/strings/string16.h" | 19 #include "base/strings/string16.h" |
18 #include "base/strings/string_number_conversions.h" | 20 #include "base/strings/string_number_conversions.h" |
19 #include "base/strings/utf_string_conversions.h" | 21 #include "base/strings/utf_string_conversions.h" |
20 #include "base/test/scoped_path_override.h" | 22 #include "base/test/scoped_path_override.h" |
21 #include "base/test/test_shortcut_win.h" | 23 #include "base/test/test_shortcut_win.h" |
22 #include "base/version.h" | 24 #include "base/version.h" |
23 #include "base/win/shortcut.h" | 25 #include "base/win/shortcut.h" |
24 #include "chrome/installer/setup/install.h" | |
25 #include "chrome/installer/setup/install_worker.h" | 26 #include "chrome/installer/setup/install_worker.h" |
26 #include "chrome/installer/setup/setup_constants.h" | 27 #include "chrome/installer/setup/setup_constants.h" |
27 #include "chrome/installer/util/browser_distribution.h" | 28 #include "chrome/installer/util/browser_distribution.h" |
28 #include "chrome/installer/util/install_util.h" | 29 #include "chrome/installer/util/install_util.h" |
29 #include "chrome/installer/util/installer_state.h" | 30 #include "chrome/installer/util/installer_state.h" |
30 #include "chrome/installer/util/master_preferences.h" | 31 #include "chrome/installer/util/master_preferences.h" |
31 #include "chrome/installer/util/master_preferences_constants.h" | 32 #include "chrome/installer/util/master_preferences_constants.h" |
32 #include "chrome/installer/util/product.h" | 33 #include "chrome/installer/util/product.h" |
33 #include "chrome/installer/util/shell_util.h" | 34 #include "chrome/installer/util/shell_util.h" |
34 #include "chrome/installer/util/util_constants.h" | 35 #include "chrome/installer/util/util_constants.h" |
(...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
254 GetNormalizedFilePath(target_path)); | 255 GetNormalizedFilePath(target_path)); |
255 } | 256 } |
256 } | 257 } |
257 } | 258 } |
258 | 259 |
259 base::win::ShortcutProperties expected_properties_; | 260 base::win::ShortcutProperties expected_properties_; |
260 base::win::ShortcutProperties expected_start_menu_properties_; | 261 base::win::ShortcutProperties expected_start_menu_properties_; |
261 | 262 |
262 BrowserDistribution* dist_; | 263 BrowserDistribution* dist_; |
263 base::FilePath chrome_exe_; | 264 base::FilePath chrome_exe_; |
264 scoped_ptr<installer::Product> product_; | 265 std::unique_ptr<installer::Product> product_; |
265 scoped_ptr<installer::MasterPreferences> prefs_; | 266 std::unique_ptr<installer::MasterPreferences> prefs_; |
266 | 267 |
267 base::ScopedTempDir temp_dir_; | 268 base::ScopedTempDir temp_dir_; |
268 base::ScopedTempDir fake_user_desktop_; | 269 base::ScopedTempDir fake_user_desktop_; |
269 base::ScopedTempDir fake_common_desktop_; | 270 base::ScopedTempDir fake_common_desktop_; |
270 base::ScopedTempDir fake_user_quick_launch_; | 271 base::ScopedTempDir fake_user_quick_launch_; |
271 base::ScopedTempDir fake_start_menu_; | 272 base::ScopedTempDir fake_start_menu_; |
272 base::ScopedTempDir fake_common_start_menu_; | 273 base::ScopedTempDir fake_common_start_menu_; |
273 scoped_ptr<base::ScopedPathOverride> user_desktop_override_; | 274 std::unique_ptr<base::ScopedPathOverride> user_desktop_override_; |
274 scoped_ptr<base::ScopedPathOverride> common_desktop_override_; | 275 std::unique_ptr<base::ScopedPathOverride> common_desktop_override_; |
275 scoped_ptr<base::ScopedPathOverride> user_quick_launch_override_; | 276 std::unique_ptr<base::ScopedPathOverride> user_quick_launch_override_; |
276 scoped_ptr<base::ScopedPathOverride> start_menu_override_; | 277 std::unique_ptr<base::ScopedPathOverride> start_menu_override_; |
277 scoped_ptr<base::ScopedPathOverride> common_start_menu_override_; | 278 std::unique_ptr<base::ScopedPathOverride> common_start_menu_override_; |
278 | 279 |
279 base::FilePath user_desktop_shortcut_; | 280 base::FilePath user_desktop_shortcut_; |
280 base::FilePath user_quick_launch_shortcut_; | 281 base::FilePath user_quick_launch_shortcut_; |
281 base::FilePath user_start_menu_shortcut_; | 282 base::FilePath user_start_menu_shortcut_; |
282 base::FilePath user_start_menu_subdir_shortcut_; | 283 base::FilePath user_start_menu_subdir_shortcut_; |
283 base::FilePath system_desktop_shortcut_; | 284 base::FilePath system_desktop_shortcut_; |
284 base::FilePath system_start_menu_shortcut_; | 285 base::FilePath system_start_menu_shortcut_; |
285 base::FilePath system_start_menu_subdir_shortcut_; | 286 base::FilePath system_start_menu_subdir_shortcut_; |
286 }; | 287 }; |
287 | 288 |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 base::win::ValidateShortcut(system_desktop_shortcut_, expected_properties_); | 339 base::win::ValidateShortcut(system_desktop_shortcut_, expected_properties_); |
339 base::win::ValidateShortcut(system_start_menu_shortcut_, | 340 base::win::ValidateShortcut(system_start_menu_shortcut_, |
340 expected_start_menu_properties_); | 341 expected_start_menu_properties_); |
341 // The quick launch shortcut is always created per-user for the admin running | 342 // The quick launch shortcut is always created per-user for the admin running |
342 // the install (other users will get it via Active Setup). | 343 // the install (other users will get it via Active Setup). |
343 base::win::ValidateShortcut(user_quick_launch_shortcut_, | 344 base::win::ValidateShortcut(user_quick_launch_shortcut_, |
344 expected_properties_); | 345 expected_properties_); |
345 } | 346 } |
346 | 347 |
347 TEST_F(InstallShortcutTest, CreateAllShortcutsButDesktopShortcut) { | 348 TEST_F(InstallShortcutTest, CreateAllShortcutsButDesktopShortcut) { |
348 scoped_ptr<installer::MasterPreferences> prefs_no_desktop( | 349 std::unique_ptr<installer::MasterPreferences> prefs_no_desktop( |
349 GetFakeMasterPrefs(true, false)); | 350 GetFakeMasterPrefs(true, false)); |
350 installer::CreateOrUpdateShortcuts( | 351 installer::CreateOrUpdateShortcuts( |
351 chrome_exe_, *product_, *prefs_no_desktop, installer::CURRENT_USER, | 352 chrome_exe_, *product_, *prefs_no_desktop, installer::CURRENT_USER, |
352 installer::INSTALL_SHORTCUT_CREATE_ALL); | 353 installer::INSTALL_SHORTCUT_CREATE_ALL); |
353 ASSERT_FALSE(base::PathExists(user_desktop_shortcut_)); | 354 ASSERT_FALSE(base::PathExists(user_desktop_shortcut_)); |
354 base::win::ValidateShortcut(user_quick_launch_shortcut_, | 355 base::win::ValidateShortcut(user_quick_launch_shortcut_, |
355 expected_properties_); | 356 expected_properties_); |
356 base::win::ValidateShortcut(user_start_menu_shortcut_, | 357 base::win::ValidateShortcut(user_start_menu_shortcut_, |
357 expected_start_menu_properties_); | 358 expected_start_menu_properties_); |
358 } | 359 } |
359 | 360 |
360 TEST_F(InstallShortcutTest, CreateAllShortcutsButQuickLaunchShortcut) { | 361 TEST_F(InstallShortcutTest, CreateAllShortcutsButQuickLaunchShortcut) { |
361 scoped_ptr<installer::MasterPreferences> prefs_no_ql( | 362 std::unique_ptr<installer::MasterPreferences> prefs_no_ql( |
362 GetFakeMasterPrefs(false, true)); | 363 GetFakeMasterPrefs(false, true)); |
363 installer::CreateOrUpdateShortcuts( | 364 installer::CreateOrUpdateShortcuts( |
364 chrome_exe_, *product_, *prefs_no_ql, installer::CURRENT_USER, | 365 chrome_exe_, *product_, *prefs_no_ql, installer::CURRENT_USER, |
365 installer::INSTALL_SHORTCUT_CREATE_ALL); | 366 installer::INSTALL_SHORTCUT_CREATE_ALL); |
366 base::win::ValidateShortcut(user_desktop_shortcut_, expected_properties_); | 367 base::win::ValidateShortcut(user_desktop_shortcut_, expected_properties_); |
367 ASSERT_FALSE(base::PathExists(user_quick_launch_shortcut_)); | 368 ASSERT_FALSE(base::PathExists(user_quick_launch_shortcut_)); |
368 base::win::ValidateShortcut(user_start_menu_shortcut_, | 369 base::win::ValidateShortcut(user_start_menu_shortcut_, |
369 expected_start_menu_properties_); | 370 expected_start_menu_properties_); |
370 } | 371 } |
371 | 372 |
(...skipping 442 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
814 installer::EscapeXmlAttributeValueInSingleQuotes(&val); | 815 installer::EscapeXmlAttributeValueInSingleQuotes(&val); |
815 ASSERT_STREQ(kExpectedEscapedVal, val.c_str()); | 816 ASSERT_STREQ(kExpectedEscapedVal, val.c_str()); |
816 } | 817 } |
817 | 818 |
818 TEST(EscapeXmlAttributeValueTest, DontEscapeNormalValue) { | 819 TEST(EscapeXmlAttributeValueTest, DontEscapeNormalValue) { |
819 base::string16 val(L"Google Chrome"); | 820 base::string16 val(L"Google Chrome"); |
820 static const wchar_t kExpectedEscapedVal[] = L"Google Chrome"; | 821 static const wchar_t kExpectedEscapedVal[] = L"Google Chrome"; |
821 installer::EscapeXmlAttributeValueInSingleQuotes(&val); | 822 installer::EscapeXmlAttributeValueInSingleQuotes(&val); |
822 ASSERT_STREQ(kExpectedEscapedVal, val.c_str()); | 823 ASSERT_STREQ(kExpectedEscapedVal, val.c_str()); |
823 } | 824 } |
OLD | NEW |