Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Side by Side Diff: trunk/src/chrome/browser/first_run/first_run.h

Issue 15968002: Revert 201837 "OOP import on Windows." (Closed) Base URL: svn://svn.chromium.org/chrome/
Patch Set: Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 #ifndef CHROME_BROWSER_FIRST_RUN_FIRST_RUN_H_ 5 #ifndef CHROME_BROWSER_FIRST_RUN_FIRST_RUN_H_
6 #define CHROME_BROWSER_FIRST_RUN_FIRST_RUN_H_ 6 #define CHROME_BROWSER_FIRST_RUN_FIRST_RUN_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 21 matching lines...) Expand all
32 // fully test the custom installer. It also contains the opposite actions to 32 // fully test the custom installer. It also contains the opposite actions to
33 // execute during uninstall. When the first run UI is ready we won't 33 // execute during uninstall. When the first run UI is ready we won't
34 // do the actions unconditionally. Currently the only action is to create a 34 // do the actions unconditionally. Currently the only action is to create a
35 // desktop shortcut. 35 // desktop shortcut.
36 // 36 //
37 // The way we detect first-run is by looking at a 'sentinel' file. 37 // The way we detect first-run is by looking at a 'sentinel' file.
38 // If it does not exist we understand that we need to do the first time 38 // If it does not exist we understand that we need to do the first time
39 // install work for this user. After that the sentinel file is created. 39 // install work for this user. After that the sentinel file is created.
40 namespace first_run { 40 namespace first_run {
41 41
42 enum AutoImportState {
43 AUTO_IMPORT_NONE = 0,
44 AUTO_IMPORT_CALLED = 1 << 0,
45 AUTO_IMPORT_PROFILE_IMPORTED = 1 << 1,
46 AUTO_IMPORT_BOOKMARKS_FILE_IMPORTED = 1 << 2,
47 };
48
49 enum FirstRunBubbleMetric { 42 enum FirstRunBubbleMetric {
50 FIRST_RUN_BUBBLE_SHOWN = 0, // The search engine bubble was shown. 43 FIRST_RUN_BUBBLE_SHOWN = 0, // The search engine bubble was shown.
51 FIRST_RUN_BUBBLE_CHANGE_INVOKED, // The bubble's "Change" was invoked. 44 FIRST_RUN_BUBBLE_CHANGE_INVOKED, // The bubble's "Change" was invoked.
52 NUM_FIRST_RUN_BUBBLE_METRICS 45 NUM_FIRST_RUN_BUBBLE_METRICS
53 }; 46 };
54 47
55 // Options for the first run bubble. The default is FIRST_RUN_BUBBLE_DONT_SHOW. 48 // Options for the first run bubble. The default is FIRST_RUN_BUBBLE_DONT_SHOW.
56 // FIRST_RUN_BUBBLE_SUPPRESS is stronger in that FIRST_RUN_BUBBLE_SHOW should 49 // FIRST_RUN_BUBBLE_SUPPRESS is stronger in that FIRST_RUN_BUBBLE_SHOW should
57 // never be set once FIRST_RUN_BUBBLE_SUPPRESS is set. 50 // never be set once FIRST_RUN_BUBBLE_SUPPRESS is set.
58 enum FirstRunBubbleOptions { 51 enum FirstRunBubbleOptions {
(...skipping 18 matching lines...) Expand all
77 // dumped into local_state. Also see related TODO in chrome_browser_main.cc. 70 // dumped into local_state. Also see related TODO in chrome_browser_main.cc.
78 71
79 int ping_delay; 72 int ping_delay;
80 bool homepage_defined; 73 bool homepage_defined;
81 int do_import_items; 74 int do_import_items;
82 int dont_import_items; 75 int dont_import_items;
83 bool make_chrome_default; 76 bool make_chrome_default;
84 bool suppress_first_run_default_browser_prompt; 77 bool suppress_first_run_default_browser_prompt;
85 std::vector<GURL> new_tabs; 78 std::vector<GURL> new_tabs;
86 std::vector<GURL> bookmarks; 79 std::vector<GURL> bookmarks;
87 std::string import_bookmarks_path;
88 std::string variations_seed; 80 std::string variations_seed;
89 std::string suppress_default_browser_prompt_for_version; 81 std::string suppress_default_browser_prompt_for_version;
90 }; 82 };
91 83
92 // Returns true if this is the first time chrome is run for this user. 84 // Returns true if this is the first time chrome is run for this user.
93 bool IsChromeFirstRun(); 85 bool IsChromeFirstRun();
94 86
95 // Creates the sentinel file that signals that chrome has been configured. 87 // Creates the sentinel file that signals that chrome has been configured.
96 bool CreateSentinel(); 88 bool CreateSentinel();
97 89
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 // Returns true if the autofill personal data manager first-run action 123 // Returns true if the autofill personal data manager first-run action
132 // should be taken. 124 // should be taken.
133 // 125 //
134 // This will return true only once, the first time it is called after 126 // This will return true only once, the first time it is called after
135 // SetShouldDoPersonalDataManagerFirstRun() is called. 127 // SetShouldDoPersonalDataManagerFirstRun() is called.
136 bool ShouldDoPersonalDataManagerFirstRun(); 128 bool ShouldDoPersonalDataManagerFirstRun();
137 129
138 // Log a metric for the "FirstRun.SearchEngineBubble" histogram. 130 // Log a metric for the "FirstRun.SearchEngineBubble" histogram.
139 void LogFirstRunMetric(FirstRunBubbleMetric metric); 131 void LogFirstRunMetric(FirstRunBubbleMetric metric);
140 132
133 // Allow a test to specify additional arguments for the profile import process.
134 void SetExtraArgumentsForImportProcess(const CommandLine& arguments);
135
136 // Get any extra arguments set with SetExtraArgumentsForImportProcess.
137 const CommandLine& GetExtraArgumentsForImportProcess();
138
139 // -- Platform-specific functions --
140
141 // Automatically import history and home page (and search engine, if 141 // Automatically import history and home page (and search engine, if
142 // ShouldShowSearchEngineDialog is true). Also imports bookmarks from file if 142 // ShouldShowSearchEngineDialog is true).
143 // |import_bookmarks_path| is not empty.
144 void AutoImport(Profile* profile, 143 void AutoImport(Profile* profile,
145 bool homepage_defined, 144 bool homepage_defined,
146 int import_items, 145 int import_items,
147 int dont_import_items, 146 int dont_import_items);
148 const std::string& import_bookmarks_path);
149 147
150 // Does remaining first run tasks for |profile| and makes Chrome default browser 148 // Does remaining first run tasks for |profile| and makes Chrome default browser
151 // if |make_chrome_default|. This can pop the first run consent dialog on linux. 149 // if |make_chrome_default|. This can pop the first run consent dialog on linux.
152 void DoPostImportTasks(Profile* profile, bool make_chrome_default); 150 void DoPostImportTasks(Profile* profile, bool make_chrome_default);
153 151
154 // Returns the current state of AutoImport as recorded in a bitfield formed from 152 // Whether a first-run import was triggered before the browser mainloop began.
155 // values in AutoImportState. 153 // This is used in testing to verify import startup actions that occur before
156 uint16 auto_import_state(); 154 // an observer can be registered in the test.
155 bool DidPerformProfileImport(bool* exited_successfully);
156
157 // Imports bookmarks and/or browser items (depending on platform support)
158 // in this process. This function is paired with first_run::ImportSettings().
159 // This function might or might not show a visible UI depending on the
160 // cmdline parameters.
161 int ImportNow(Profile* profile, const CommandLine& cmdline);
157 162
158 // Set a master preferences file path that overrides platform defaults. 163 // Set a master preferences file path that overrides platform defaults.
159 void SetMasterPrefsPathForTesting(const base::FilePath& master_prefs); 164 void SetMasterPrefsPathForTesting(const base::FilePath& master_prefs);
160 165
161 // The master preferences is a JSON file with the same entries as the 166 // The master preferences is a JSON file with the same entries as the
162 // 'Default\Preferences' file. This function locates this file from a standard 167 // 'Default\Preferences' file. This function locates this file from a standard
163 // location and processes it so it becomes the default preferences in the 168 // location and processes it so it becomes the default preferences in the
164 // profile pointed to by |user_data_dir|. After processing the file, the 169 // profile pointed to by |user_data_dir|. After processing the file, the
165 // function returns a value from the ProcessMasterPreferencesResult enum, 170 // function returns a value from the ProcessMasterPreferencesResult enum,
166 // indicating whether the first run flow should be shown, skipped, or whether 171 // indicating whether the first run flow should be shown, skipped, or whether
(...skipping 26 matching lines...) Expand all
193 const content::NotificationDetails& details) OVERRIDE; 198 const content::NotificationDetails& details) OVERRIDE;
194 199
195 content::NotificationRegistrar registrar_; 200 content::NotificationRegistrar registrar_;
196 201
197 DISALLOW_COPY_AND_ASSIGN(FirstRunBubbleLauncher); 202 DISALLOW_COPY_AND_ASSIGN(FirstRunBubbleLauncher);
198 }; 203 };
199 204
200 } // namespace first_run 205 } // namespace first_run
201 206
202 #endif // CHROME_BROWSER_FIRST_RUN_FIRST_RUN_H_ 207 #endif // CHROME_BROWSER_FIRST_RUN_FIRST_RUN_H_
OLDNEW
« no previous file with comments | « trunk/src/chrome/browser/extensions/extension_system.cc ('k') | trunk/src/chrome/browser/first_run/first_run.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698