summaryrefslogtreecommitdiffstats
path: root/chrome/installer/setup/uninstall.h
Commit message (Collapse)AuthorAgeFilesLines
* Move CommandLine to base namespace.brettw@chromium.org2014-03-171-2/+2
| | | | | | | | | | | | Fix all forward-declares and header files referencing CommandLine. This keeps a "using base::CommandLine" in the command line header file so that the rest of the source files can be changes in a follow-up. TBR=sky Review URL: https://codereview.chromium.org/196413016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@257514 0039d316-1c4b-4281-b951-d872f2087c98
* Determine the path to setup.exe via PathService rather than the parsedgrt@chromium.org2014-02-181-6/+8
| | | | | | | | | | command line. Only the former is authoritative. BUG=141168 Review URL: https://codereview.chromium.org/169833003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@251720 0039d316-1c4b-4281-b951-d872f2087c98
* Add base:: to string16s in chrome/.dbeam@chromium.org2013-12-201-2/+2
| | | | | | | | | TBR=sky@chromium.org BUG=329295 Review URL: https://codereview.chromium.org/94013004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@242048 0039d316-1c4b-4281-b951-d872f2087c98
* Uninstall chrome binaries that are no longer in use.grt@chromium.org2013-10-081-1/+15
| | | | | | | | | | | | | | | | | | | | | | | When Chrome Frame is migrated from multi-install to single-install, it may leave behind the mulit-install binaries with no products. This change causes the binaries to uninstall themselves on a subsequent update if they are no longer in use. This is accomplished as follows: InstallProducts will abort early and return UNUSED_BINARIES if no products are installed. If the binaries are still in use (e.g., npchrome_frame.dll is loaded in a running IE), the overall update will fail with this InstallerError. If, on the other hand, the binaries are not in use, UninstallProducts will run and remove them. In this case, the overall installer result will indicate success to Google Update (InstallerResult == 0) with InstallerError set to UNUSED_BINARIES_UNINSTALLED. BUG=265952 TEST=install multi-install CF of version N-2, update it to N-1 and note that CF is now SxS but binaries still exist, then update binaries to version N and note that binaries are gone Review URL: https://codereview.chromium.org/25859007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@227491 0039d316-1c4b-4281-b951-d872f2087c98
* Use a direct include of strings headers in chrome/installer/, part 1.avi@chromium.org2013-06-111-1/+1
| | | | | | | | | | BUG=247723 TEST=none TBR=ben@chromium.org Review URL: https://chromiumcodereview.appspot.com/16409013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205586 0039d316-1c4b-4281-b951-d872f2087c98
* Add FilePath to base namespace.brettw@chromium.org2013-02-021-1/+4
| | | | | | | This updates headers that forward-declare it and a few random places to use the namespace explicitly. There us a using declaration in file_path.h that makes the rest compile, which we can do in future passes. Review URL: https://codereview.chromium.org/12163003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180245 0039d316-1c4b-4281-b951-d872f2087c98
* Fix uninstallation of stand-alone user-level app launcher.erikwright@chromium.org2012-12-231-0/+16
| | | | | | | | | | | setup.exe is required to be able to uninstall the launcher. So we need to copy it in during installation. Needed to extract the setup/archive deletion logic from the Binaries-specific steps too. BUG=158785,151676 Review URL: https://chromiumcodereview.appspot.com/11412015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174543 0039d316-1c4b-4281-b951-d872f2087c98
* Removing flow to demote App Launcher to App Host, so app_host.exe can be ↵huangs@chromium.org2012-12-141-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | deleted when App Launcher is uninstalled. This CL undoes the work of 2 CLs. From https://chromiumcodereview.appspot.com/11416165/ : - Removed: Flow to demote App Launcher to App Host; so App Launcher uninstall reverses App Launcher install. - Kept: Refactoring in uninstall.cc - Kept: In MasterPreferences, chrome_app_host_ and chrome_app_launcher_. These should be combined later. From https://chromiumcodereview.appspot.com/11312127/ : - Removed: Code in app_host_installer_win.cc to change "--app-launcher" to "--app-host" if user opts-out of App Launcher [the code is entirely skipped if user opts-out]. - Kept: static bool AppHostInstaller::install_with_launcher_, which takes a new life in remembering user's App Launcher opt-out / opt-in choice => https://chromiumcodereview.appspot.com/11488015/ . Also fixed bug: - extension_install_diaglog_view.cc: Need to clear AppHostInstaller::install_with_launcher_, otherwise if the user opts-in => uninstalls App launcher => opts-out, the variable would be stuck to "true" and forces opt-in! BUG=162418,164384 Review URL: https://chromiumcodereview.appspot.com/11534019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173044 0039d316-1c4b-4281-b951-d872f2087c98
* Adding uninstaller flow to demote App Launcher to App Host (AKA opt-out).huangs@chromium.org2012-12-051-0/+5
| | | | | | | | | | | | | | | | | | | Here is when the flow is triggered: - Chrome and App Launcher are installed. - Uninstalling App Launcher only, but keeping Chrome. The result is that the App Launcher would disappear, BUT user can still use V2 apps, and V2 app shortcuts continue to work. Eventually App Launcher will replace App Host. When this happens, this flow should be removed. Main implementation idea: DO NOT pass App Launcher through regular uninstall flow. We do a complete separate flow in one location, to avoid polluting common code, and to simplify removal. BUG=162418 Review URL: https://chromiumcodereview.appspot.com/11416165 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171181 0039d316-1c4b-4281-b951-d872f2087c98
* Remove Chrome's ProgID from filetype associations at uninstall.grt@chromium.org2012-09-191-2/+3
| | | | | | | | | | | And notify the shell after Chrome is unregistered so that Chrome's icon disappears from things like icons on the destop. BUG=149089 TEST=install Chrome, make it the default, uninstall it, run One Note, click a link. IE should open. Review URL: https://chromiumcodereview.appspot.com/10946030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157624 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the rest of #pragma once in one big CL.ajwong@chromium.org2012-07-111-1/+0
| | | | | | | | | For context see this thread: https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-dev/RMcVNGjB4II TBR=thakis,pkasting,jam git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146163 0039d316-1c4b-4281-b951-d872f2087c98
* Always suffix ChromeHTML entries on Windows for user-level installs.gab@chromium.org2012-06-171-1/+2
| | | | | | | | | | | | | 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
* HKCR/ChromeHTML Win8 registry requirementsgab@chromium.org2012-04-211-4/+3
| | | | | | | | | | | | This CL also takes care of adding necessary registry entry for DelegateExecute to open Metro mode in Windows 8 (as well as packaging the necessary new files and installing them in the correct places). BUG=119242 TEST=Verify all necessary prog id registry keys are correctly placed on a Win8 install. Verify DelegateExecute binaries, pngs, and VisualElementsManifest.xml land where they belond after running the installer. Review URL: http://codereview.chromium.org/9918012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133333 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup: Remove unneeded forward declarations in chrome/installer.thestig@chromium.org2011-11-121-1/+0
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/8511053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109804 0039d316-1c4b-4281-b951-d872f2087c98
* Fix default browser registration for simplified chinese installs.grt@chromium.org2011-11-021-1/+1
| | | | | | | | | | | | | http://crrev.com/13341 and http://crrev.com/13906, which fixed http://crbug.com/9697, switched from using chrome.exe as the canonical name of Chrome (for purposes of shell registration) to using the localized application name (e.g., "Chromium" or "Google Chrome"). This is problematic since there are differences between the various locales as to what the app name is. This change switches to using a non-localized version of the product name. The right thing to do would really be to switch back to using the executable name (as prescribed by MSDN), except for the case of Chromium builds, where "chromium.exe" could be used. Making that change now would mean potentially re-prompting users to make Chrome their default browser, which would be bad. BUG=92445 TEST=Verify that Google Chrome and Chromium builds can coexist, and that each can be made the default browser. Furthermore, ensure that, for user-level and system-level installs, all of the usual shell registration things work: the Start Menu's "Internet" link (icon and action), running "chrome.exe" (without path) from the Run... dialog, clicking a link in some other program, typeing a URL into the Run... dialog, "Set your default programs" control panel, "Set program access and computer defaults" control panel. Also, verify that if Chrome is installed using zn-CH locale and made the default, that switching to another locale (like en-US) doesn't cause Chrome to prompt to become the default browser. Review URL: http://codereview.chromium.org/8384038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@108297 0039d316-1c4b-4281-b951-d872f2087c98
* On uninstall, remove the registry keys that Chrome lays down to make itself ↵grt@chromium.org2011-03-301-5/+10
| | | | | | | | | | the default browser on pre-Vista systems (and/or for software running on Vista that checks legacy registry keys). BUG=67355 TEST=install Chrome, making it the default browser. uninstall it and check the box to make Firefox or IE the new default. try following a link in some application which should result in a browser starting up. notice that the chosen default browser starts. Review URL: http://codereview.chromium.org/6746006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79875 0039d316-1c4b-4281-b951-d872f2087c98
* - WriteInstallerResult is now back in InstallUtil and only writes the result ↵grt@chromium.org2011-01-051-5/+16
| | | | | | | | | | | | | | | | | | | | | where it is needed - WriteInstallerResult is no longer called on uninstall (Google Update doesn't check it on uninstall) - Introduced the poorly named InstallationState (state of the system based on registry inspection) and InstallerState (state of the current operation) classes - Product::GetInstalledVersion and Product::IsInstalled are gone; use InstallationState instead - A few cleanups to make the code comply with the style guide - UpdateDiffInstallStatus has been renamed to UpdateInstallStatus - Chromium builds noop in UpdateInstallStatus (this was always the case for the browser, but now also is for GCF and the multi-installer package). - The -multifail suffixes is now added to/removed from the Google Update "ap" value by UpdateInstallStatus on the basis of multi-install success/failure. - Added code to update the Google Update "ap" value based on the set up products/options installed - ChannelInfo is now an ordered list of modifiers and suffixes. We're careful to keep -full at the end since that was an operating assumption previously. - ActivePackageProperties is a typedef to either the Chrome or Chromium PackageProperties class TEST=Some existing unit tests updated; more new unit tests to follow. BUG=61609 Review URL: http://codereview.chromium.org/5988007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70483 0039d316-1c4b-4281-b951-d872f2087c98
* Support for GCF ready-mode.tommi@chromium.org2010-12-231-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The installer can now be run in a way that installs both Chrome and Chrome Frame at the same time, into a shared directory. The command line to do this is: mini_installer.exe --multi-install --chrome --chrome-frame --ready-mode --system-level --verbose-logging This installs both products although only Chrome will have an entry in the add/remove programs dialog that serves as an uninstallation command for both products. Chrome Frame will be installed in ready-mode, which means that the user will have to opt-in or opt-out of using it. The installer will create a REG_DWORD value to indicate this mode, here: HKEY_LOCAL_MACHINE\SOFTWARE\Google\Update\ClientState\{4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D} Value name: ChromeFrameReadyMode Value: 1 If the user opts-in to use GCF, setup will be run again to remove this value, update Chrome's uninstallation commands to only uninstall Chrome, and add an entry to the Add/Remove Programs dialog for GCF. To do this, the installer needs to be run with this switch: --multi-install --chrome-frame --system-level --ready-mode-opt-in --verbose-logging If the user opts-out, Chrome Frame will be uninstalled by running the installer with these arguments: --uninstall --chrome-frame --ready-mode --system-level --multi-install --verbose-logging In addition to uninstalling GCF, this updates Chrome's uninstallation commands accordingly and sets the ChromeFrameReadyMode value to 0 to avoid enabling ready mode again. Requirements that must currently be met in order to install Chrome and Chrome Frame into the same shared location: - Chrome Frame must not already be installed OR - Chrome Frame must be already installed as multi, into the shared location **** other changes **** The installer does no use the ap value for detecting other multi-install products anymore. Instead we inspect the uninstallation switches to see if --multi-install is present. Updated unit tests accordingly. When uninstalling Chrome Frame along with Chrome, the Chrome Frame uninstallation prompt is not shown. Added safeguards: If we attempt to install Chrome Frame multi over a single, install aborts and returns an error. If we attempt to install Chrome Frame single over a multi, install aborts and returns an error. TEST=See description above. BUG=61609 Review URL: http://codereview.chromium.org/5989007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70083 0039d316-1c4b-4281-b951-d872f2087c98
* Installer cleanupamit@chromium.org2010-12-161-1/+0
| | | | | | | | | | | | | 1] Remove installer::version and use base::version in installer 2] Use file_util::FileEnumerator instead of calling FindFirstFile directly BUG=none TEST=covered by existing tests Review URL: http://codereview.chromium.org/5687004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69433 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 69167, itself a revert of 69165 - Merge the installer, installer_util ↵robertshield@chromium.org2010-12-151-2/+2
| | | | | | | | | | | | and setup_util namespaces into a single installer namespace. BUG=61609 TEST=NONE Review URL: http://codereview.chromium.org/5738009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69256 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 69165 - Merge the installer, installer_util and setup_util namespaces ↵robertshield@chromium.org2010-12-141-2/+2
| | | | | | | | | | | | | | into a single installer namespace. BUG=61609 TEST=NONE Review URL: http://codereview.chromium.org/5729004 TBR=robertshield@chromium.org Review URL: http://codereview.chromium.org/5756007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69167 0039d316-1c4b-4281-b951-d872f2087c98
* Merge the installer, installer_util and setup_util namespaces into a single ↵robertshield@chromium.org2010-12-141-2/+2
| | | | | | | | | | | installer namespace. BUG=61609 TEST=NONE Review URL: http://codereview.chromium.org/5729004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69165 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the installer to support multi-install.tommi@chromium.org2010-12-011-10/+8
| | | | | | | | | | | | | | | | | | 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
* Attempt to reland http://codereview.chromium.org/4928002/tommi@chromium.org2010-11-151-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | For some reason the Win bot failed to compile the sandbox unit test. Trybots and my machines don't have these build problems, so I'm going to try again, unchanged. Original description: Changing the installer switches from wchar_t[] to char[]. Because of this I'm also refactoring some code that before was using wstring to build command lines by hand instead of using the CommandLine class. Now we use CommandLine. To get this to work correctly, I also needed to fix CommandLine::AppendArguments so I added a little test for it. TEST=There should be no changes in functionality. Run all installer tests. BUG=61609 TBR=robertshield Review URL: http://codereview.chromium.org/4989001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66096 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 66088 - Changing the installer switches from wchar_t[] to char[].tommi@chromium.org2010-11-151-1/+2
| | | | | | | | | | | | | | | | | | Because of this I'm also refactoring some code that before was using wstring to build command lines by hand instead of using the CommandLine class. Now we use CommandLine. To get this to work correctly, I also needed to fix CommandLine::AppendArguments so I added a little test for it. TEST=There should be no changes in functionality. Run all installer tests. BUG=61609 Review URL: http://codereview.chromium.org/4928002 TBR=tommi@chromium.org Review URL: http://codereview.chromium.org/4988001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66089 0039d316-1c4b-4281-b951-d872f2087c98
* Changing the installer switches from wchar_t[] to char[].tommi@chromium.org2010-11-141-2/+1
| | | | | | | | | | | | | | | Because of this I'm also refactoring some code that before was using wstring to build command lines by hand instead of using the CommandLine class. Now we use CommandLine. To get this to work correctly, I also needed to fix CommandLine::AppendArguments so I added a little test for it. TEST=There should be no changes in functionality. Run all installer tests. BUG=61609 Review URL: http://codereview.chromium.org/4928002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66088 0039d316-1c4b-4281-b951-d872f2087c98
* `#pragma once` for app, base, chrome, gfx, ipc, net, skia, viewsthakis@chromium.org2010-07-261-0/+1
| | | | | | | | | BUG=50273 TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux TBR: erg git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "installer: clean up to use FilePath instead of std::wstring."kuchhal@chromium.org2009-11-231-8/+4
| | | | | | | | | | | This reverts commit 9da05365beb211e3879e6049547e5e92c4c0a5a2 (r32811). TBR=thiago.farina@gmail.com BUG=32811 Review URL: http://codereview.chromium.org/437011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32817 0039d316-1c4b-4281-b951-d872f2087c98
* installer: clean up to use FilePath instead of std::wstring.kuchhal@chromium.org2009-11-231-4/+8
| | | | | | | | | | BUG=24672 TEST=installer_util_unittests and setup_unittests Review URL: http://codereview.chromium.org/385129 Patch from Thiago Farina <thiago.farina@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@32811 0039d316-1c4b-4281-b951-d872f2087c98
* <html>aa@chromium.org2009-09-211-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | <style type="text/css"> <!-- body { font-family: arial,sans-serif; background-color: #fff; margin-top: 2; } .c { width: 4; height: 4; } a:link { color: #00c; } a:visited { color: #551a8b; } a:active { color: #f00; } .form-noindent { background-color: #fff; border: 1px solid #c3d9ff; } --> </style> <style type="text/css"><!-- .gaia.le.lbl { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.le.fpwd { font-family: Arial, Helvetica, sans-serif; font-size: 70%; } .gaia.le.chusr { font-family: Arial, Helvetica, sans-serif; font-size: 70%; } .gaia.le.val { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.le.button { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.le.rem { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.captchahtml.desc { font-family: arial, sans-serif; font-size: smaller; } .gaia.captchahtml.cmt { font-family: arial, sans-serif; font-size: smaller; font-style: italic; } --></style> <head> <title>Google Accounts</title> <style type="text/css"><!-- body { font-family: arial, sans-serif; margin: 0; padding: 13px 15px 15px; } .body { margin: 0; } div.errorbox-good {} div.errorbox-bad {} div.errormsg { color: red; font-size: smaller; font-family: arial,sans-serif;} font.errormsg { color: red; font-size: smaller; font-family: arial,sans-serif;} div.topbar { font-size:smaller; margin-right: -5px; text-align:right; white-space:nowrap; } div.header { margin-bottom: 9px; margin-left: -2px; position:relative; zoom: 1 } div.header img.logo { border: 0; float:left; } div.header div.headercontent { float:right; margin-top:17px; } div.header:after{ content:"."; display:block; height:0; clear:both; visibility:hidden; } div.pagetitle { font-weight:bold; } .footer { color: #666; font-size: smaller; margin-top: 40px; text-align: center; } table#signupform { left: -5px; top: -7px; position:relative; } table#signupform td{ padding: 7px 5px; } table#signupform td table td{ padding: 1px; } hr { border: 0; background-color:#DDDDDD; height: 1px; width: 100%; text-align: left; margin: 5px; } --></style> </head> <body dir="ltr" onLoad= "gaia_setFocus();" > <div id="main"> <?sc # for new logo transition ?> <div class=header> <a href='https://www.google.com/accounts/'> <img class=logo src='https://www.google.com/intl/en/images/logos/accounts_logo.gif' alt="Google" /> </img> </a> </div> <div id=maincontent> <table border="0" width="100%" cellpadding=0 cellspacing=0> <tr> <td width="75%" valign="top"> <h3> Chromium Code Reviews uses Google Accounts for Sign In. </h3> <p><font size=-1> Google is not affiliated with the contents of <b>Chromium Code Reviews</b> or its owners. If you sign in, Google will share your email address with <b>Chromium Code Reviews</b>, but not your password or any other personal information. </font></p> <p><font size=-1> <b>Chromium Code Reviews</b> may use your email address to personalize your experience on their website. </font></p> </td> <td style="padding-left: 10px;" valign="top" align="center"> <div id="rhs"> <div id="rhs_login_signup_box"> <script><!-- function gaia_onLoginSubmit() { if (window.gaiacb_onLoginSubmit) { return gaiacb_onLoginSubmit(); } else { return true; } } function gaia_setFocus() { var f = null; if (document.getElementById) { f = document.getElementById("gaia_loginform"); } else if (window.gaia_loginform) { f = window.gaia_loginform; } if (f) { if (f.Email && (f.Email.value == null || f.Email.value == "")) { f.Email.focus(); } else if (f.Passwd) { f.Passwd.focus(); } } } --></script> <style type="text/css"><!-- div.errormsg { color: red; font-size: smaller; font-family:arial,sans-serif; } font.errormsg { color: red; font-size: smaller; font-family:arial,sans-serif; } --></style> <style type="text/css"><!-- .gaia.le.lbl { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.le.fpwd { font-family: Arial, Helvetica, sans-serif; font-size: 70%; } .gaia.le.chusr { font-family: Arial, Helvetica, sans-serif; font-size: 70%; } .gaia.le.val { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.le.button { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.le.rem { font-family: Arial, Helvetica, sans-serif; font-size: smaller; } .gaia.captchahtml.desc { font-family: arial, sans-serif; font-size: smaller; } .gaia.captchahtml.cmt { font-family: arial, sans-serif; font-size: smaller; font-style: italic; } --></style> <form id="gaia_loginform" action="https://www.google.com/accounts/ServiceLoginAuth?service=ah&amp;sig=d71ef8b8d6150b23958ad03b3bf546b7" method="post" onsubmit= "return(gaia_onLoginSubmit());" > <div id="gaia_loginbox"> <table class="form-noindent" cellspacing="3" cellpadding="5" width="100%" border="0"> <tr> <td valign="top" style="text-align:center" nowrap="nowrap" bgcolor="#e8eefa"> <input type="hidden" name="ltmpl" value="gm"> <div class="loginBox"> <table id="gaia_table" align="center" border="0" cellpadding="1" cellspacing="0"> <tr> <td colspan="2" align="center"> <font size="-1"> Sign in with your </font> <table> <tr> <td valign="top"> <img src="google_transparent.gif" alt="Google"> </img> </td> <td valign="middle"> <font size="+0"><b>Account</b></font> </td> </tr> </table> </td> </tr> <script type="text/javascript"><!-- function onPreCreateAccount() { return true; } function onPreLogin() { if (window["onlogin"] != null) { return onlogin(); } else { return true; } } --></script> <tr> <td colspan="2" align="center"> </td> </tr> <tr> <td nowrap="nowrap"> <div align="right"> <span class="gaia le lbl"> Email: </span> </div> </td> <td> <input type="hidden" name="continue" id="continue" value="http://codereview.chromium.org/_ah/login?continue=http://codereview.chromium.org/210007/description" /> <input type="hidden" name="service" id="service" value="ah" /> <input type="hidden" name="ltmpl" id="ltmpl" value="gm" /> <input type="hidden" name="ltmpl" id="ltmpl" value="gm" /> <input type="hidden" name="ahname" id="ahname" value="Chromium Code Reviews" /> <input type="hidden" name="GALX" value="LfA4LnZj1gM" /> <input type="text" name="Email" id="Email" size="18" value="" class='gaia le val' /> </td> </tr> <tr> <td></td> <td align="left"> </td> </tr> <tr> <td align="right" nowrap="nowrap"> <span class="gaia le lbl"> Password: </span> </td> <td> <input type="password" name="Passwd" id="Passwd" size="18" class="gaia le val" /> </td> </tr> <tr> <td> </td> <td align="left"> </td> </tr> <tr> <td align="right" valign="top"> <input type="checkbox" name="PersistentCookie" id="PersistentCookie" value="yes" checked='checked' /> <input type="hidden" name='rmShown' value="1" /> </td> <td> <label for="PersistentCookie" class="gaia le rem"> Stay signed in </label> </td> </tr> <tr> <td> </td> <td align="left"> <input type="submit" class="gaia le button" name="signIn" value="Sign in" /> </td> </tr> <tr id="ga-fprow"> <td colspan="2" height="33.0" class="gaia le fpwd" align="center" valign="bottom"> <a href="http://www.google.com/support/accounts/bin/answer.py?answer=48598&amp;hl=en&amp;ctx=ch_ServiceLogin&amp;p=ah&amp;fpUrl=https%3A%2F%2Fwww.google.com%2Faccounts%2FForgotPasswd%3FfpOnly%3D1%26continue%3Dhttp%253A%252F%252Fcodereview.chromium.org%252F_ah%252Flogin%253Fcontinue%253Dhttp%253A%252F%252Fcodereview.chromium.org%252F210007%252Fdescription%26service%3Dah%26ltmpl%3Dgm" target=_top> Can&#39;t access your account? </a> </td> </tr> </table> </div> </td> </tr> </table> </div> <input type="hidden" name="asts" id="asts" value=""> </form> <form id="gaia_universallogin" action="https://www.google.com/accounts/ServiceLoginAuth?service=ah&amp;sig=d71ef8b8d6150b23958ad03b3bf546b7" method="post" onsubmit="return(gaia_onLoginSubmit());"> <input type="hidden" name="continue" id="continue" value="http://codereview.chromium.org/_ah/login?continue=http://codereview.chromium.org/210007/description" /> <input type="hidden" name="service" id="service" value="ah" /> <input type="hidden" name="ltmpl" id="ltmpl" value="gm" /> <input type="hidden" name="ltmpl" id="ltmpl" value="gm" /> <input type="hidden" name="ahname" id="ahname" value="Chromium Code Reviews" /> <input type="hidden" name="ltmpl" id="ltmpl" value="gm" /> </form> <br/> <table class="form-noindent" border="0" cellpadding="6" cellspacing="3" width="100%"> <tr> <td bgcolor="#e8eefa" align="center" style="font-size:83%"> <b>Don't have a Google Account? </b><br/> <a href='https://www.google.com/accounts/NewAccount?continue=http%3A%2F%2Fcodereview.chromium.org%2F_ah%2Flogin%3Fcontinue%3Dhttp%3A%2F%2Fcodereview.chromium.org%2F210007%2Fdescription&amp;service=ah&amp;ltmpl=gm&amp;sig=909f6cca8e55250406f8bfbd303ab4a9' > <b>Create an account now</b> </a> </td> </tr> </table> </div> <br/> </div> </td> </tr> </table> </div> <div class="footer"> &copy;2009 Google - <a href='http://www.google.com/'>Google Home</a> - <a href='https://www.google.com/accounts/TOS?hl=en'>Terms of Service</a> - <a href='http://www.google.com/intl/en/privacy.html'>Privacy Policy</a> - <a href='http://www.google.com/support/accounts?hl=en'>Help</a> </div> </div> </body> </html> Review URL: http://codereview.chromium.org/210007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26685 0039d316-1c4b-4281-b951-d872f2087c98
* Allow two user level installs of Chrome to have default browser settings.kuchhal@chromium.org2009-07-231-4/+6
| | | | | | | | | | | | | | | | | | | | | | This change will allow two Windows users to install thier own copy of Chrome and set it as default browser. There is a bunch of refactoring in this change. - Divided the registry entries into three categories: * Entries that are only read from HKLM * Entries that actually tie file/protocol associations to Chrome. This will almost always be in HKCU (except when it is a OEM install). * Entries that we can create in HKCU if we fail to create them in HKLM. - For single user machine nothing should change. - For two users on the same machine (each with a different user level Chrome installed), the second user's default browser will get renamed to Chromium.<user> and the required registry entries will also be renamed so that they do not overwrite first users's registry entries. BUG=3641 TEST=Install and set Chromium as default browser from two different logins on the same machine for various combinations of XP/Vista, admin users/non admin user, user-level install/system-level install. Review URL: http://codereview.chromium.org/159172 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21428 0039d316-1c4b-4281-b951-d872f2087c98
* Re-re-write the logic to elevate uninstaller.kuchhal@chromium.org2009-05-061-1/+9
| | | | | | | | | | | | | | BUG=7178 TEST=Test install/uninstall in various combinations as described below and make sure that files or registry keys are not left behind: Distribution: {Chromium|Google Chrome} Install Level: {system|user} Delete Profile Option: {Selected|Not selected} Default Browser: {set|not set} Review URL: http://codereview.chromium.org/109037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15412 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the uninstall failures caused by elevated uninstaller.kuchhal@chromium.org2009-04-301-3/+6
| | | | | | | | | BUG=7178 Review URL: http://codereview.chromium.org/99229 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14986 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-101-1/+0
| | | | | | | | | Normalize end of file newlines in chrome/. All files end in a single newline. Review URL: http://codereview.chromium.org/42015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11331 0039d316-1c4b-4281-b951-d872f2087c98
* Add a check in Chrome to not run user level mode if machine level Chromekuchhal@chromium.org2008-10-151-1/+4
| | | | | | is already installed. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3423 0039d316-1c4b-4281-b951-d872f2087c98
* Use a more compact license header in source files.license.bot2008-08-241-28/+4
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@1287 0039d316-1c4b-4281-b951-d872f2087c98
* Add chrome to the repository.initial.commit2008-07-261-0/+56
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15 0039d316-1c4b-4281-b951-d872f2087c98