| Index: chrome/installer/util/master_preferences.cc
|
| diff --git a/chrome/installer/util/master_preferences.cc b/chrome/installer/util/master_preferences.cc
|
| index c59bc1dd34b0385b4fb04aa83140ba291699f09b..4ff8b2feab4f65a918e600d5482867b1aab78ddb 100644
|
| --- a/chrome/installer/util/master_preferences.cc
|
| +++ b/chrome/installer/util/master_preferences.cc
|
| @@ -1,12 +1,13 @@
|
| -// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2009 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| +#include "chrome/installer/util/master_preferences.h"
|
|
|
| #include "base/file_util.h"
|
| #include "base/logging.h"
|
| +#include "base/path_service.h"
|
| #include "chrome/common/json_value_serializer.h"
|
| -#include "chrome/installer/util/master_preferences.h"
|
|
|
| namespace {
|
|
|
| @@ -50,6 +51,8 @@ const wchar_t kDistroImportSearchPref[] = L"import_search_engine";
|
| const wchar_t kDistroImportHistoryPref[] = L"import_history";
|
| // Boolean pref that triggers silent import of the default browser bookmarks.
|
| const wchar_t kDistroImportBookmarksPref[] = L"import_bookmarks";
|
| +// RLZ ping delay in seconds
|
| +const wchar_t kDistroPingDelay[] = L"ping_delay";
|
| // Register Chrome as default browser for the current user.
|
| const wchar_t kMakeChromeDefaultForUser[] = L"make_chrome_default_for_user";
|
| // The following boolean prefs have the same semantics as the corresponding
|
| @@ -74,6 +77,31 @@ const wchar_t kAltFirstRunBubble[] = L"oem_bubble";
|
| // Boolean pref that triggers silent import of the default browser homepage.
|
| const wchar_t kDistroImportHomePagePref[] = L"import_home_page";
|
|
|
| +bool GetDistributionPingDelay(const FilePath& master_prefs_path,
|
| + int& delay) {
|
| + FilePath master_prefs = master_prefs_path;
|
| + if (master_prefs.empty()) {
|
| + if (!PathService::Get(base::DIR_EXE, &master_prefs))
|
| + return false;
|
| + master_prefs = master_prefs.Append(installer_util::kDefaultMasterPrefs);
|
| + }
|
| +
|
| + if (!file_util::PathExists(master_prefs))
|
| + return false;
|
| +
|
| + scoped_ptr<DictionaryValue> json_root(
|
| + GetPrefsFromFile(master_prefs.ToWStringHack()));
|
| + if (!json_root.get())
|
| + return false;
|
| +
|
| + DictionaryValue* distro = NULL;
|
| + if (!json_root->GetDictionary(L"distribution", &distro) ||
|
| + !distro->GetInteger(kDistroPingDelay, &delay))
|
| + return false;
|
| +
|
| + return true;
|
| +}
|
| +
|
| int ParseDistributionPreferences(const std::wstring& master_prefs_path) {
|
| if (!file_util::PathExists(master_prefs_path))
|
| return MASTER_PROFILE_NOT_FOUND;
|
|
|