Do not show sync promo when RestoreOnStartupURLs policy is set
When first_run_tabs are set through master_preferences, the sync promo
should be shown if not explicitly suppressed. When RestoreOnStartupURLs
is set through policy, the sync promo should never be shown. This is
long-standing behavior, as evidenced here:
http://crbug.com/125467#c26
That behavior recently regressed with the sync promo appearing even if
RestoreOnStartupURLs are set. The regression happened here:
https://chromiumcodereview.appspot.com/12638005
This CL fixes the regression by ensuring that when RestoreOnStartup=4 and
RestoreOnStartupURLs are set, the sync promo is not shown. The CL also
adds browser tests to protect against similar regressions in the future.
BUG=244849
TEST=Manual and new browser_tests
Review URL: https://chromiumcodereview.appspot.com/16141008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@206915 0039d316-1c4b-4281-b951-d872f2087c98
CrOS-Libchrome-Original-Commit: 93660ab3f5c895eb3e8a5f66d3af4669e16de21d
diff --git a/base/command_line.cc b/base/command_line.cc
index b743d51..7d137f2 100644
--- a/base/command_line.cc
+++ b/base/command_line.cc
@@ -220,6 +220,7 @@
void CommandLine::InitFromArgv(const StringVector& argv) {
argv_ = StringVector(1);
+ switches_.clear();
begin_args_ = 1;
SetProgram(argv.empty() ? FilePath() : FilePath(argv[0]));
AppendSwitchesAndArguments(*this, argv);