summaryrefslogtreecommitdiffstats
path: root/chrome/common/chrome_switches.cc
diff options
context:
space:
mode:
authorgab@chromium.org <gab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-26 23:38:46 +0000
committergab@chromium.org <gab@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-26 23:38:46 +0000
commit1763a9bf43129c9f103145350d1c0abf04921182 (patch)
treed9685217a009165fcdca4d9d0e99b3eb950b8566 /chrome/common/chrome_switches.cc
parentf3551e9c5b1f5893e355b55b82b206049794b093 (diff)
downloadchromium_src-1763a9bf43129c9f103145350d1c0abf04921182.zip
chromium_src-1763a9bf43129c9f103145350d1c0abf04921182.tar.gz
chromium_src-1763a9bf43129c9f103145350d1c0abf04921182.tar.bz2
Always drop the First Run sentinel in the User Data directory.
Also: 1) Don't RemoveSentinel on uninstall (also required to address issue 341049). 2) Copy the legacy First Run sentinel to the new location on user-level installs. 3) Reorder chrome_browser_main to put early return paths as early as possible + make sure first_run::CreateSentinelIfNeeded() comes AFTER any early return. 4) Have all sentinel obtention code go through InstallUtil::GetSentinelFilePathForDist() (renamed from InstallUtil::GetSentinelFilePath() to highlight all affected paths -- which were already all system-level only paths, except for the self-destruct path which is no longer required and was removed along with --cancel-first-run). 5) Introduce installer::switches::kTriggerActiveSetup to allow Chrome to tell setup.exe that it should trigger active setup if the system-level Chrome taking over will not undergo first run (rather than relying on setup to read the first run sentinel itself). BUG=341049 TEST= A: 1) Install+run old user-level chrome (goes through first run) 2) Close old chrome 3) Install new chrome and run it (ensure First Run beacon is migrated and no first run flow occurs) 4) Uninstall new chrome and make sure the Application folder is deleted despite the lingering First Run sentinel which is no longer actively removed on uninstall. B: Self-destruct flow still works as intended (uninstalls user-level and launches system-level in first run or not, just like user-level should have launched) Review URL: https://codereview.chromium.org/166853003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@253630 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/chrome_switches.cc')
-rw-r--r--chrome/common/chrome_switches.cc9
1 files changed, 2 insertions, 7 deletions
diff --git a/chrome/common/chrome_switches.cc b/chrome/common/chrome_switches.cc
index 78bb39c..5a35bcf 100644
--- a/chrome/common/chrome_switches.cc
+++ b/chrome/common/chrome_switches.cc
@@ -139,10 +139,6 @@ const char kAutomationClientChannelID[] = "automation-channel";
const char kAutomationReinitializeOnChannelError[] =
"automation-reinitialize-on-channel-error";
-// Similar to kNoFirstRun, but also drops the First Run beacon so that first run
-// will not occur in subsequent runs either.
-const char kCancelFirstRun[] = "cancel-first-run";
-
// Certificate Transparency: Uses the provided log(s) for checking Signed
// Certificate Timestamps provided with certificates.
// The switch's value is:
@@ -874,8 +870,7 @@ const char kFileDescriptorLimit[] = "file-descriptor-limit";
const char kForceAppMode[] = "force-app-mode";
// Displays the First Run experience when the browser is started, regardless of
-// whether or not it's actually the First Run (this overrides kNoFirstRun and
-// kCancelFirstRun).
+// whether or not it's actually the First Run (this overrides kNoFirstRun).
const char kForceFirstRun[] = "force-first-run";
// Forces additional Chrome Variation Ids that will be sent in
@@ -1054,7 +1049,7 @@ const char kNoExperiments[] = "no-experiments";
// Skip First Run tasks, whether or not it's actually the First Run. Overridden
// by kForceFirstRun. This does not drop the First Run sentinel and thus doesn't
// prevent first run from occuring the next time chrome is launched without this
-// flag (see kCancelFirstRun for that).
+// flag.
const char kNoFirstRun[] = "no-first-run";
// Support a separate switch that enables the v8 playback extension.