summaryrefslogtreecommitdiffstats
path: root/chrome/browser/first_run.h
diff options
context:
space:
mode:
authorhuanr@chromium.org <huanr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-04 22:23:17 +0000
committerhuanr@chromium.org <huanr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-04 22:23:17 +0000
commitcac407bd57b7f7b3f9d85e1951a07d68f8400d0a (patch)
tree60f20e4ef815964c4689f928134e645509c07249 /chrome/browser/first_run.h
parent95ce68cc99b05ef26aa7b54bfb08a477960220aa (diff)
downloadchromium_src-cac407bd57b7f7b3f9d85e1951a07d68f8400d0a.zip
chromium_src-cac407bd57b7f7b3f9d85e1951a07d68f8400d0a.tar.gz
chromium_src-cac407bd57b7f7b3f9d85e1951a07d68f8400d0a.tar.bz2
Refactoring master preference parsing code into installer util so
it can be shared by first run and set up. There is no functionality change in this CL. Review URL: http://codereview.chromium.org/9338 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4688 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/first_run.h')
-rw-r--r--chrome/browser/first_run.h50
1 files changed, 9 insertions, 41 deletions
diff --git a/chrome/browser/first_run.h b/chrome/browser/first_run.h
index 85bac8d..4cdd2b6 100644
--- a/chrome/browser/first_run.h
+++ b/chrome/browser/first_run.h
@@ -45,55 +45,24 @@ class FirstRun {
// a visible UI depending on the cmdline parameters.
static int ImportNow(Profile* profile, const CommandLine& cmdline);
- // These are the possible results of calling ProcessMasterPreferences.
- // Some of the results can be combined, so they are bit flags.
- enum MasterPrefResult {
- MASTER_PROFILE_NOT_FOUND = 0,
- MASTER_PROFILE_ERROR = 1,
- MASTER_PROFILE_SHOW_EULA = 2,
- MASTER_PROFILE_NO_FIRST_RUN_UI = 4,
- MASTER_PROFILE_DO_FIRST_RUN_UI = 8
- };
-
// The master preferences is a JSON file with the same entries as the
// 'Default\Preferences' file. This function locates this file from
// master_pref_path or if that path is empty from the default location
// which is '<path to chrome.exe>\master_preferences', and process it
// so it becomes the default preferences in profile pointed by user_data_dir.
+ // After processing the file, the function returns true if showing the
+ // first run dialog is needed, and returns false if skipping first run
+ // dialogs. The detailed settings in the preference file is reported via
+ // preference_details.
//
// This function destroys any existing prefs file and it is meant to be
// invoked only on first run.
//
- // A prototypical 'master_preferences' file looks like this:
- //
- // {
- // "distribution": {
- // "skip_first_run_ui": true,
- // "show_welcome_page": true,
- // "import_search_engine": true,
- // "import_history": false
- // },
- // "browser": {
- // "show_home_button": true
- // },
- // "bookmark_bar": {
- // "show_on_all_tabs": true
- // },
- // "homepage": "http://example.org",
- // "homepage_is_newtabpage": false
- // }
- //
- // A reserved "distribution" entry in the file is used to group related
- // installation properties. This entry will be ignored at other times.
- //
- // Currently only the following return values are used:
- // MASTER_PROFILE_NOT_FOUND : Typical outcome for organic installs.
- // MASTER_PROFILE_ERROR : A critical error processing the master profile.
- // MASTER_PROFILE_NO_FIRST_RUN_UI : skip first run dialogs.
- // MASTER_PROFILE_DO_FIRST_RUN_UI : show the first run dialogs.
- static MasterPrefResult ProcessMasterPreferences(
- const std::wstring& user_data_dir,
- const std::wstring& master_prefs_path);
+ // See chrome/installer/util/master_preferences.h for a description of
+ // 'master_preferences' file.
+ static bool ProcessMasterPreferences(const std::wstring& user_data_dir,
+ const std::wstring& master_prefs_path,
+ int* preference_details);
// Sets the kShouldShowFirstRunBubble local state pref so that the browser
// shows the bubble once the main message loop gets going. Returns false if
@@ -145,4 +114,3 @@ class FirstRunBrowserProcess : public BrowserProcessImpl {
void OpenFirstRunDialog(Profile* profile);
#endif // CHROME_BROWSER_FIRST_RUN_H_
-