summaryrefslogtreecommitdiffstats
path: root/chrome/browser/shell_integration_win.cc
Commit message (Collapse)AuthorAgeFilesLines
* Fix registerProtocolHandler OS registration on Windows 8benwells@chromium.org2012-09-251-2/+22
| | | | | | | | | | | | On Windows 8 to register as the default handler for a protocol you need to go through a Windows shell UI flow, it cannot be done anymore via the IApplicationAssociationRegistration interface. BUG=150850 TEST=Ensure gmail and other protocol handlers can be registered successfully on Windows 7 and 8. Review URL: https://chromiumcodereview.appspot.com/10963004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@158612 0039d316-1c4b-4281-b951-d872f2087c98
* Add new PathService paths for Windows' All Users Desktop and Quick Launch ↵gab@chromium.org2012-09-201-2/+1
| | | | | | | | | | | | | | | | | | | | | | | folders. Re-commit, reverted in http://crrev.com/157680 (original commit in http://crrev.com/157667). This allows usage of PathService to cache the shortcut install paths and more importantly to mock them in shortcut tests! Also move chrome::DIR_USER_DESKTOP to base::DIR_USER_DESKTOP; this is really where it belongs. In fact it is only in chrome_paths.h because it used to be called DIR_DEFAULT_DOWNLOAD and cpu@ renamed it to DIR_USER_DESKTOP in http://crrev.com/1753 (early days!) after that it started to be used all over the place as the Desktop path. Finally bringing it to base_paths.h, beside DIR_START_MENU and friends, is the right thing to do imo. TBR=brettw@chromium.org BUG=148539 TEST=Quick Launch shortcut installed in the right place on XP (both Default and current user) Desktop shortcuts installed in the right place (both All Users and per-user installs). installer_util_unittests.exe --gtest_filter=ShellUtilShortcutTest* unit_tests.exe --gtest_filter=ProfileShortcutManagerTest* base_unittests --gtest_filter=PathServiceTest* Review URL: https://chromiumcodereview.appspot.com/10964007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157779 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 157667 - Add new PathService paths for Windows' All Users Desktop and ↵wjia@chromium.org2012-09-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Quick Launch folders. The previous patch failed PathServiceTest.Get. This allows usage of PathService to cache the paths and more importantly to mock them in shortcut tests! Also move chrome::DIR_USER_DESKTOP to base::DIR_USER_DESKTOP; this is really where it belongs. In fact it is only in chrome_paths.h because it used to be called DIR_DEFAULT_DOWNLOAD and cpu@ renamed it to DIR_USER_DESKTOP in http://crrev.com/1753 (early days!) after that it started to be used all over the place as the Desktop path. Finally bringing it to base_paths.h, beside DIR_START_MENU and friends, is the right thing to do imo. BUG=148539 TEST=Quick Launch shortcut installed in the right place on XP (both Default and current user) Desktop shortcuts installed in the right place (both All Users and per-user installs). installer_util_unittests.exe --gtest_filter=ShellUtilShortcutTest* unit_tests.exe --gtest_filter=ProfileShortcutManagerTest* base_unittests --gtest_filter=PathServiceTest* Review URL: https://chromiumcodereview.appspot.com/10910209 TBR=gab@chromium.org Review URL: https://codereview.chromium.org/10958009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157680 0039d316-1c4b-4281-b951-d872f2087c98
* Add new PathService paths for Windows' All Users Desktop and Quick Launch ↵gab@chromium.org2012-09-201-2/+1
| | | | | | | | | | | | | | | | | | | | folders. This allows usage of PathService to cache the paths and more importantly to mock them in shortcut tests! Also move chrome::DIR_USER_DESKTOP to base::DIR_USER_DESKTOP; this is really where it belongs. In fact it is only in chrome_paths.h because it used to be called DIR_DEFAULT_DOWNLOAD and cpu@ renamed it to DIR_USER_DESKTOP in http://crrev.com/1753 (early days!) after that it started to be used all over the place as the Desktop path. Finally bringing it to base_paths.h, beside DIR_START_MENU and friends, is the right thing to do imo. BUG=148539 TEST=Quick Launch shortcut installed in the right place on XP (both Default and current user) Desktop shortcuts installed in the right place (both All Users and per-user installs). installer_util_unittests.exe --gtest_filter=ShellUtilShortcutTest* unit_tests.exe --gtest_filter=ProfileShortcutManagerTest* base_unittests --gtest_filter=PathServiceTest* Review URL: https://chromiumcodereview.appspot.com/10910209 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157667 0039d316-1c4b-4281-b951-d872f2087c98
* Fix and re-commit http://codereview.chromium.org/10914109/ (after revert in ↵gab@chromium.org2012-09-121-4/+6
| | | | | | | | | | | | | | | | | | | | | | | http://crrev.com/155918) -- Refactoring and tests for the highly undertested file_util::CreateOrUpdateShortcutLink() method. Simplify file_util::CreateOrUpdateShortcutLink()'s interface (use a struct to set parameters passed which allows callers to specify exactly what they want without having to pass in a bunch of NULLs for the unused parameters). The same concept will be used for ShellUtil's shortcut functions in an upcoming CL. Moved ShellUtil::VerifyChromeShortcut() to file_util::VerifyShortcut() and augmented it for every shortcut properties. This will also allow other shortcut creators (web apps, profiles, etc.) to have a broader test coverage on the shortcut they create (i.e. more testable properties available). I will leave it up to the owners of these various projects to augment their tests, this CL keeps the previously tested behavior, not more, not less. This is the 1st CL of a massive refactoring effort for shortcuts (http://goo.gl/Az889) in which ShellUtil's shortcut methods have to be refactored (http://codereview.chromium.org/10836247/ : soon to incorporate interface changes from this CL) which led me even lower to first refactor file_util's shortcut methods. TBR=robertshield@chromium.org, sky@chromium.org, agl@chromium.org, dgrogan@chromium.org BUG=132825, 148539 TEST=base_unittests --gtest_filter=FileUtilShortcutTest* installer_util_unitests --gtest_filter=ShellUtilTestWithDirAndDist* unit_tests --gtest_filter=ProfileShortcutManagerTest* (run tests on XP as well) Review URL: https://chromiumcodereview.appspot.com/10909171 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156250 0039d316-1c4b-4281-b951-d872f2087c98
* installer_util_unittests has failed on XP Tests (dbg)(1) since this landeddgrogan@chromium.org2012-09-111-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Revert 155869 - Refactoring and tests for the highly undertested file_util::CreateOrUpdateShortcutLink() method. Simplify file_util::CreateOrUpdateShortcutLink()'s interface (use a struct to set parameters passed which allows callers to specify exactly what they want without having to pass in a bunch of NULLs for the unused parameters). The same concept will be used for ShellUtil's shortcut functions in an upcoming CL. Moved ShellUtil::VerifyChromeShortcut() to file_util::VerifyShortcut() and augmented it for every shortcut properties. This will also allow other shortcut creators (web apps, profiles, etc.) to have a broader test coverage on the shortcut they create (i.e. more testable properties available). I will leave it up to the owners of these various projects to augment their tests, this CL keeps the previously tested behavior, not more, not less. This is the 1st CL of a massive refactoring effort for shortcuts (http://goo.gl/Az889) in which ShellUtil's shortcut methods have to be refactored (http://codereview.chromium.org/10836247/ : soon to incorporate interface changes from this CL) which led me even lower to first refactor file_util's shortcut methods. BUG=132825 TEST=base_unittests --gtest_filter=FileUtilShortcutTest* installer_util_unitests --gtest_filter=ShellUtilTestWithDirAndDist* unit_tests --gtest_filter=ProfileShortcutManagerTest* Review URL: https://chromiumcodereview.appspot.com/10914109 TBR=gab@chromium.org Review URL: https://chromiumcodereview.appspot.com/10910183 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155918 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring and tests for the highly undertested ↵gab@chromium.org2012-09-101-4/+6
| | | | | | | | | | | | | | | | | | | | | | file_util::CreateOrUpdateShortcutLink() method. Simplify file_util::CreateOrUpdateShortcutLink()'s interface (use a struct to set parameters passed which allows callers to specify exactly what they want without having to pass in a bunch of NULLs for the unused parameters). The same concept will be used for ShellUtil's shortcut functions in an upcoming CL. Moved ShellUtil::VerifyChromeShortcut() to file_util::VerifyShortcut() and augmented it for every shortcut properties. This will also allow other shortcut creators (web apps, profiles, etc.) to have a broader test coverage on the shortcut they create (i.e. more testable properties available). I will leave it up to the owners of these various projects to augment their tests, this CL keeps the previously tested behavior, not more, not less. This is the 1st CL of a massive refactoring effort for shortcuts (http://goo.gl/Az889) in which ShellUtil's shortcut methods have to be refactored (http://codereview.chromium.org/10836247/ : soon to incorporate interface changes from this CL) which led me even lower to first refactor file_util's shortcut methods. BUG=132825 TEST=base_unittests --gtest_filter=FileUtilShortcutTest* installer_util_unitests --gtest_filter=ShellUtilTestWithDirAndDist* unit_tests --gtest_filter=ProfileShortcutManagerTest* Review URL: https://chromiumcodereview.appspot.com/10914109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155869 0039d316-1c4b-4281-b951-d872f2087c98
* No longer switch to metro mode when Chrome is made the default on first run.grt@chromium.org2012-09-051-48/+0
| | | | | | | | | | BUG=145795 TEST=delete "First Run" beacon and profile dir, make IE the default, launch Chrome, make it the default when asked, and note that you're left in desktop Chrome rather than switched to metro. Review URL: https://chromiumcodereview.appspot.com/10910086 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155048 0039d316-1c4b-4281-b951-d872f2087c98
* Implement relaunch for Metro chrome.grt@chromium.org2012-08-031-0/+28
| | | | | | | | | | | The relaunch is accomplished by spawining off delegate_execute.exe which waits for Chrome to exit an then reactivates it by way of the start menu shortcut. BUG=125434,125854 TEST=tweak a flag in chrome://flags in metro Chrome and hit the relaunch button. Review URL: https://chromiumcodereview.appspot.com/10699040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149884 0039d316-1c4b-4281-b951-d872f2087c98
* Suffix Chrome's appid on user-level installsgrt@chromium.org2012-06-191-19/+30
| | | | | | | | | | | | | | | | | | ShellIntegration::GetAppId() --> ShellIntegration::GetProfileAppId() for clarity (i.e. having two functions called "GetAppId" is confusing imo). Patch From Gabriel Charette <gab@chromium.org> BUG=125362, 133173 TEST=Make sure 125362 doesn't repro. http://goo.gl/ZZ7gE ShellIntegrationTest.GetAppModelIdForProfileTest ShellUtilTest.BuildAppModelId* SessionRestoreTest.RestoreAfterClosingTabbedBrowserWithAppAndLaunching AppModeTest.EnableAppModeTest Review URL: https://chromiumcodereview.appspot.com/10542031 Patch from Gabriel Charette <gab@chromium.org>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142909 0039d316-1c4b-4281-b951-d872f2087c98
* Implement base::win::IsMetroProcess. siggi@chromium.org2012-06-181-1/+1
| | | | | | | | | | | | | Change GetMetroModule callers that don't need the HMODULE. TBR=stevenjb@chromium.org,brettw@chromium.org,mirandac@chromium.org,sky@chromium.org,kalman@chromium.org BUG=None TEST=None Review URL: https://chromiumcodereview.appspot.com/10560015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142801 0039d316-1c4b-4281-b951-d872f2087c98
* Make chrome the default browser interactively if possible, register it if not.grt@chromium.org2012-06-181-3/+3
| | | | | | | | | | | | This will pop the Greg dialog on Win8 when the installer is run as an interactive user with --make-chrome-default. BUG=133119,113326 TEST=on win8: install chrome with --make-chrome-default 1) at user-level, 2) at system-level as a regular user, 3) at system-level as SYSTEM. 1 and 2 should show the default browser dialog, whereas 3 should just register it so that a user can make it the default without uac. on win7: everything should work as before. Review URL: https://chromiumcodereview.appspot.com/10558015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142727 0039d316-1c4b-4281-b951-d872f2087c98
* Abstract suffixing logic away from GetApplicationNamegab@chromium.org2012-06-171-2/+1
| | | | | | | | | BUG=124013, 125362, 133173 TEST=http://goo.gl/ZZ7gE Review URL: https://chromiumcodereview.appspot.com/10446111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142641 0039d316-1c4b-4281-b951-d872f2087c98
* Always suffix ChromeHTML entries on Windows for user-level installs.gab@chromium.org2012-06-171-15/+13
| | | | | | | | | | | | | This also adds the same suffixing to Chrome's appname for Default Programs registration (this suffix is not user-facing though as we don't suffix the actual string representing Chrome in the UI... obviously!) Design doc: https://docs.google.com/a/chromium.org/document/d/1qmcV3uYBh3JwvXhYkI7asg0nN7KfVMWVOzND4p0jQ3E/edit BUG=125362,124013,133173 TEST=http://goo.gl/ZZ7gE Review URL: https://chromiumcodereview.appspot.com/10451074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142634 0039d316-1c4b-4281-b951-d872f2087c98
* The CL adds to ShellUtil and ShellIntegration and adjusts invocations of the ↵motek@chromium.org2012-06-081-2/+26
| | | | | | | | | | | | latter whenever necessary. R=grt@chromium.org, sky@chromium.org BUG=113326, 129232 TEST=N/A Review URL: https://chromiumcodereview.appspot.com/10453041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141172 0039d316-1c4b-4281-b951-d872f2087c98
* Add ShellIntegration::ActivateMetroChrome, which launches Chrome in ↵grt@chromium.org2012-06-011-0/+42
| | | | | | | | | | | metro-mode on Windows 8. BUG=113326 TEST=none Review URL: https://chromiumcodereview.appspot.com/10470002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139975 0039d316-1c4b-4281-b951-d872f2087c98
* Default browser detection for Windows 8.grt@chromium.org2012-05-171-134/+160
| | | | | | | | | | | Refactored default detection for all versions for better code reuse. IApplicationAssociationRegistration::QueryCurrentDefault is used on Windows 8. For now I'm keeping the Vista/Win7 detection as-is since I don't want to break it. I think the new technique will work there, too, but I don't want to spend time validating this right now. BUG=113326 TEST=check that chrome can tell whether or not it's the default browser and assorted protocol handler under XP, Vista/Win7, and Win8 at user and system levels. Review URL: https://chromiumcodereview.appspot.com/10388151 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137590 0039d316-1c4b-4281-b951-d872f2087c98
* Win 8 Start Menu shortcut changesgab@chromium.org2012-04-061-2/+4
| | | | | | | | | BUG=119242 TEST=Test DualModeApp properties are correctly set in Windows 8 on Start Menu shortcut. Review URL: http://codereview.chromium.org/9837120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131163 0039d316-1c4b-4281-b951-d872f2087c98
* Allow external protocol handlers to open in Windows 8.benwells@chromium.org2012-03-291-1/+4
| | | | | | | | | | | | | | | | | This was broken due to changes to the Windows 8 APIs around default handlers. Chrome checks if it is the default handler for the protocol before launching any external program. Prior to this change the check on Windows 8 would always return success. This change makes it return UNKOWN instead. BUG=116452 TEST=Tested external handlers work on Win 7 and Win 8. Checked register protocol handler still works on Win 8. Review URL: http://codereview.chromium.org/9863026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129557 0039d316-1c4b-4281-b951-d872f2087c98
* Publish app shortcuts on Macsail@chromium.org2012-02-111-39/+39
| | | | | | | | | | | | | | | | | | With this CL when installing a platform app we do the following - copy the stub App Mode Loader.app bundle to a tmp folder with the correct app name - update the info plist - copy the final app to /Applications - if we don't have write permission to /Application then we copy the app to ~/Application instead Note, for now I'm putting this feature behind a --enable-platform-apps flag. BUG=112651 TEST= Review URL: http://codereview.chromium.org/9346013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121613 0039d316-1c4b-4281-b951-d872f2087c98
* base::Bind: Convert the following files:jhawkins@chromium.org2011-11-291-142/+102
| | | | | | | | | | | | | | * template_url_service_test_util.cc. * shell_integration_win.cc. BUG=none TEST=none R=groby@chromium.org Review URL: http://codereview.chromium.org/8726024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111846 0039d316-1c4b-4281-b951-d872f2087c98
* Move BrowserThread to content namespace.joi@chromium.org2011-11-021-0/+2
| | | | | | | | | TBR=owners BUG=98716 Review URL: http://codereview.chromium.org/8437002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108270 0039d316-1c4b-4281-b951-d872f2087c98
* Split BrowserThread into public API and private implementation, step 1.joi@chromium.org2011-10-281-1/+1
| | | | | | | | | | | | | | | | | | | | | Only content/ now has the ability to create BrowserThread objects, with the exception that tests can create the content::TestBrowserThread subclass, and (temporarily) code in chrome/ can create the DeprecatedBrowserThread subclass. A follow-up change will make content/ take care of its own thread creation, remove DeprecatedBrowserThread, and move all state and non-trivial constructors from BrowserThread down to BrowserThreadImpl. Also moved BrowserProcessSubThread into content/ namespace. As part of follow-up cleanup, chrome/ will stop using this class. BUG=98716 TEST=existing Review URL: http://codereview.chromium.org/8392042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@107718 0039d316-1c4b-4281-b951-d872f2087c98
* Support grouping taskbar icons for panels with regular taskbar icon for ↵jianli@chromium.org2011-10-211-0/+17
| | | | | | | | | | | | | Chromium on Windows 7. Per discussion, we do not want to use different taskbar icon for each panel since they're now managed altogether. We also need to set its icon path so that the taskbar icon will not be changed once all chromium tabbed windows are closed. BUG=none TEST=Manual test by launching panels, closing tabbed window and verifying taskbar icon for panels are grouped together with chrome Review URL: http://codereview.chromium.org/8366026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@106790 0039d316-1c4b-4281-b951-d872f2087c98
* base: Fix the TODO in string_util.htfarina@chromium.org2011-08-171-1/+2
| | | | | | | | | | | | | This removes the include of stringprintf.h from string_util.h and fix the clients. BUG=None TEST=None R=evan@chromium.org Review URL: http://codereview.chromium.org/7633055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97067 0039d316-1c4b-4281-b951-d872f2087c98
* Change kNotSignedInProfile to kInitialProfile to better reflect its usage.mirandac@chromium.org2011-08-121-2/+2
| | | | | | | | | | | Change ProfileManager::GetCurrentProfile to ProfileManager::GetInitialProfile as well. BUG=none TEST=no change in profile behavior Review URL: http://codereview.chromium.org/7619008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96540 0039d316-1c4b-4281-b951-d872f2087c98
* Moved CanSetAsDefault* from platform_util to shell_integrationbenwells@chromium.org2011-07-151-0/+4
| | | | | | | | | | | | | | Moved the CanSetAsDefaultBrowser / ProtocolClient functions next to the routines which do the setting of Chrome to be the default browser and client. BUG=88196 TEST=Manual testing performed Review URL: http://codereview.chromium.org/7334003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92659 0039d316-1c4b-4281-b951-d872f2087c98
* Allow chrome to become the os default handler for arbitrary protocols on ↵koz@chromium.org2011-05-261-18/+119
| | | | | | | | | | | | | | | mac/win. Note this is unused currently, but will be hooked up to navigator.registerProtocolHandler in a subsequent change. BUG=83556 TEST=Manual Review URL: http://codereview.chromium.org/6961013 Patch from Ben Wells <benwells@chromium.org>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86793 0039d316-1c4b-4281-b951-d872f2087c98
* Include base/win/scoped_comptr.h instead of base/scoped_comptr_win.h.tfarina@chromium.org2011-04-121-5/+5
| | | | | | | | | | | | | | | | | Fix up all the callers to use the new location and namespace. Also, delete the stub file since it isn't included by anyone more. (Note: This was a TODO for brettw). BUG=None TEST=None R=brettw@chromium.org Review URL: http://codereview.chromium.org/6825055 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81303 0039d316-1c4b-4281-b951-d872f2087c98
* wstring: remove a needless wchar_t that is ASCIIevan@chromium.org2011-03-151-2/+4
| | | | | | | | | | | While I'm at it, remove kNotSignedInID. This was added in 2007 (!) and appears to be unused. BUG=76112 Review URL: http://codereview.chromium.org/6695004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78260 0039d316-1c4b-4281-b951-d872f2087c98
* Update a bunch of files to the new location of browser_thread.h jam@chromium.org2011-03-011-1/+1
| | | | | | | TBR=avi Review URL: http://codereview.chromium.org/6591066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76390 0039d316-1c4b-4281-b951-d872f2087c98
* Regkey functions return error code instead of boolamit@chromium.org2011-01-191-3/+3
| | | | | | | | | | | | | | | | | | | | | | Change the Regkey helper to consistently use and return LONG instead of bool. Fix RegKey usage all over the code base and get rid of workarounds due to lack of return value. Reviewers: brettw: everything (skip parts for other reviewers if you wish) robertshield,grt: chrome_frame, installer siggi: ceee BUG=none TEST=covered by existing tests Review URL: http://codereview.chromium.org/6090006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71768 0039d316-1c4b-4281-b951-d872f2087c98
* Set Browser::app_name_ in a reasonable way for extension apps.skerner@chromium.org2011-01-141-1/+4
| | | | | | | | | BUG=67702 TEST=BrowserTest.OpenAppWindowLikeNtp,BrowserTest.AppIdSwitch,manually open a few apps and see that windows taskbar hilights the right window. Review URL: http://codereview.chromium.org/6086004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71442 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/win_util to the base/win directory and use the base::win namespace.brettw@google.com2010-12-311-1/+0
| | | | | | | | | Fix up includes, many files including base/win_util don't actually need it. TEST=it compiles BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70341 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the installer to support multi-install.tommi@chromium.org2010-12-011-2/+3
| | | | | | | | | | | | | | | | | | The installer now does its work based on distributions and target installation paths. Each distribution has exactly one target installation path but each installation path can have more than one distribution. In the absense of the --multi-install switch, the installer should continue to work as before. The biggest difference here is that we don't rely on a single global distribution object that controls the entire installation flow and we have a few classes for the new abstractions instead of global functions. It's far from perfect, but it's a step towards separating the core file package required for all distributions from the distributions themselves. Additionally, there are tons of little changes here such as consistant usage of FilePath and CommandLine instead of mixing them with std::wstring. TEST=Install, uninstall, upgrade, etc. Everything install related. BUG=61609 Review URL: http://codereview.chromium.org/5172011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67818 0039d316-1c4b-4281-b951-d872f2087c98
* windows: remove PathService::Get() that uses wstringsevan@chromium.org2010-11-301-4/+5
| | | | | | | | | | This just required fixing the remaining callers. BUG=24672 Review URL: http://codereview.chromium.org/5356008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67783 0039d316-1c4b-4281-b951-d872f2087c98
* Convert LOG(INFO) to VLOG(1) - misc. chrome/browser/*.pkasting@chromium.org2010-10-211-1/+1
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/4008001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63421 0039d316-1c4b-4281-b951-d872f2087c98
* Move pe_image and registry from base to base/win and use the namespace. It ↵brettw@chromium.org2010-10-171-4/+5
| | | | | | | | | | | | removes windows_message_list which isn't used. This keeps a stub for registry in the old location until we can update that. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3836005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62888 0039d316-1c4b-4281-b951-d872f2087c98
* Move windows version-related stuff out of base/win_util and into ↵brettw@chromium.org2010-10-151-6/+7
| | | | | | | | | | | | | | base/win/windows_version. Many files now only need to include this instead of all of win_util. Remove a bunch of unused code from base/win_util. There was a surprising amount. Replace the AppUserModel property key with the one from the SDK now that we use the Win7 SDK. Move GetLogonSessionOnlyDACL from win_util to ipc since it's only used in that one place. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/3823002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62694 0039d316-1c4b-4281-b951-d872f2087c98
* CommandLine: remove wstring-based program() accessorevan@chromium.org2010-10-141-1/+1
| | | | | | | | | | | | | | This was already removed on non-Windows, so this change modifies the remaining Windows-specific usage. In a few places I converted use of wstring paths into FilePath, but in general for Windows-specific code I don't think it's too important to use FilePath everywhere, because it is equivalent on Windows and the current code already works. BUG=23581 Review URL: http://codereview.chromium.org/3817001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62637 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ChromeThread to BrowserThread Part21:tfarina@chromium.org2010-10-121-1/+1
| | | | | | | | | | | - Include browser_thread.h instead of chrome_thread.h in more 100 files. BUG=56926 TEST=trybots Review URL: http://codereview.chromium.org/3691006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62286 0039d316-1c4b-4281-b951-d872f2087c98
* Rename ChromeThread to BrowserThread Part16:tfarina@chromium.org2010-10-111-3/+3
| | | | | | | | | | | - Rename entries starting from shell_integration.cc. More 30 files covered. BUG=56926 TEST=trybots Review URL: http://codereview.chromium.org/3708001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62136 0039d316-1c4b-4281-b951-d872f2087c98
* Make prefs use std::string for keys rather than wstrings.viettrungluu@chromium.org2010-08-111-2/+3
| | | | | | | | | | | Much remains to be converted. BUG=23581 TEST=builds and passes tests Review URL: http://codereview.chromium.org/3076037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55660 0039d316-1c4b-4281-b951-d872f2087c98
* Remove usage of GetSwitchValue for most of chrome/browser/.evan@chromium.org2010-08-041-2/+3
| | | | | | Review URL: http://codereview.chromium.org/3005053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54856 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove unneeded headers from app/ (part 2)thestig@chromium.org2010-07-311-1/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/3066014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@54437 0039d316-1c4b-4281-b951-d872f2087c98
* Win: Use different AppUserModelID for SxS installs.mattm@chromium.org2010-06-111-5/+5
| | | | | | | | | BUG=44572 TEST=see bug Review URL: http://codereview.chromium.org/2616002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49477 0039d316-1c4b-4281-b951-d872f2087c98
* Ensure existing user pinned chrome shortcuts have correct app id.xiyuan@chromium.org2010-01-131-0/+205
| | | | | | | | | | | On Win7, check if user has pinned chrome shortcuts and ensure they have correct app id. BUG=28104 TEST=On Win7, install chrome prior 4.0.266.0 and pin chrome shortcut (browser with default profile, browser with non-default profile, web apps etc). Then update to a version with this fix. After update, running chrome should not have duplicate icon spawned. Review URL: http://codereview.chromium.org/548008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36193 0039d316-1c4b-4281-b951-d872f2087c98
* Remove most uses of EmptyString(), EmptyWString(), EmptyString16(), and ↵pkasting@chromium.org2010-01-081-3/+3
| | | | | | | | | | EmptyGURL(), since the code in question can just use the default constructor. BUG=none TEST=none Review URL: http://codereview.chromium.org/517054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35766 0039d316-1c4b-4281-b951-d872f2087c98
* Append profile info to win7 app id per issue 30414xiyuan@chromium.org2010-01-061-0/+59
| | | | | | | | | | | | | | | | | | | | | Add profile info to app id for non-default profile so that win7 could group chrome icons based on profile. - Add a new chrome/common/win_util.h/cc to hold app id functions that would include profile info for non-default profiles; - Add unit test to the new GetChromiumAppId function; - Browser and JumpList to use the GetChromiumAppId for BrowserWindow and JumpList; - UserDataManager to use it for shortcuts it creates; - Make app id for web apps include profile info as well; - Change web_app::UpdateShortcuts to just update shortcuts description, icon and app id; BUG=30414 TEST=Verify fix for issue 30414. Review URL: http://codereview.chromium.org/506079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@35634 0039d316-1c4b-4281-b951-d872f2087c98
* Be more paranoid when checking the default browser in Windows and return ↵mdm@chromium.org2009-11-251-7/+3
| | | | | | | | | | | | | | | "not default" rather than "can't tell" in most cases. Also undo previous fixes that worked around an incorrect return value; one of them (the infobar change) regresses the Linux version to display the infobar in cases where we would not be able to set ourselves as the default anyway (which was the original reason for the change that broke things on Windows). BUG=28429, 27403 TEST=(windows) install chrome but don't set it as the default during install, then restart it and verify that the infobar shows and chrome can still be set as the default TEST=(linux) run chrome in an unsupported desktop environment and verify that it neither displays the infobar asking to be made the default browser nor claims that it is the default browser in options Review URL: http://codereview.chromium.org/434022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@33147 0039d316-1c4b-4281-b951-d872f2087c98