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

Unified Diff: chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_io_data.cc

Issue 893003002: Data Reduction Proxy class ownership updates and Settings cleanup (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_io_data.cc
diff --git a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_io_data.cc b/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_io_data.cc
index 6512a1fd75418864cc4c4a841f45a48d1fc2596b..7a3ee9046f9ead49a3127b21db55fff03a22ffeb 100644
--- a/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_io_data.cc
+++ b/chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_io_data.cc
@@ -4,64 +4,54 @@
#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_io_data.h"
-#include "base/bind.h"
-#include "base/prefs/pref_service.h"
-#include "base/time/time.h"
#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h"
-#include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_factory.h"
-#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator.h"
#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_io_data.h"
-#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_statistics_prefs.h"
-#include "components/data_reduction_proxy/core/common/data_reduction_proxy_event_store.h"
+#include "components/data_reduction_proxy/core/common/data_reduction_proxy_params.h"
+
+#if defined(OS_ANDROID)
+#include "base/android/build_info.h"
+#endif
#if defined(ENABLE_DATA_REDUCTION_PROXY_DEBUGGING)
#include "chrome/browser/browser_process.h"
#include "components/data_reduction_proxy/content/browser/content_data_reduction_proxy_debug_ui_service.h"
+#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_configurator.h"
#endif
namespace content {
class BrowserContext;
}
+using data_reduction_proxy::DataReductionProxyParams;
+
scoped_ptr<data_reduction_proxy::DataReductionProxyIOData>
CreateDataReductionProxyChromeIOData(
net::NetLog* net_log,
- content::BrowserContext* browser_context,
PrefService* prefs,
const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner,
const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner) {
DCHECK(net_log);
DCHECK(prefs);
- DCHECK(browser_context);
- DataReductionProxyChromeSettings* settings =
- DataReductionProxyChromeSettingsFactory::GetForBrowserContext(
- browser_context);
-#if defined(OS_ANDROID) || defined(OS_IOS)
- // On mobile we write data reduction proxy prefs directly to the pref service.
- // On desktop we store data reduction proxy prefs in memory, writing to disk
- // every 60 minutes and on termination. Shutdown hooks must be added for
- // Android and iOS in order for non-zero delays to be supported.
- // (http://crbug.com/408264)
- base::TimeDelta commit_delay = base::TimeDelta();
-#else
- base::TimeDelta commit_delay = base::TimeDelta::FromMinutes(60);
+ int flags = DataReductionProxyParams::kAllowed;
bengr 2015/02/20 00:00:36 nit: Combine with lines 37 and 38 to OR three flag
jeremyim 2015/02/20 02:17:16 Done.
+ flags |= DataReductionProxyParams::kFallbackAllowed |
+ DataReductionProxyParams::kAlternativeAllowed;
+ if (DataReductionProxyParams::IsIncludedInPromoFieldTrial())
+ flags |= DataReductionProxyParams::kPromoAllowed;
+ if (DataReductionProxyParams::IsIncludedInHoldbackFieldTrial())
+ flags |= DataReductionProxyParams::kHoldback;
+#if defined(OS_ANDROID)
+ if (DataReductionProxyParams::IsIncludedInAndroidOnePromoFieldTrial(
+ base::android::BuildInfo::GetInstance()->android_build_fp())) {
+ flags |= DataReductionProxyParams::kPromoAllowed;
+ }
#endif
- data_reduction_proxy::DataReductionProxyStatisticsPrefs*
- data_reduction_proxy_statistics_prefs =
- new data_reduction_proxy::DataReductionProxyStatisticsPrefs(
- prefs, ui_task_runner, commit_delay);
-
scoped_ptr<data_reduction_proxy::DataReductionProxyIOData>
data_reduction_proxy_io_data(
new data_reduction_proxy::DataReductionProxyIOData(
- DataReductionProxyChromeSettings::GetClient(),
- make_scoped_ptr(data_reduction_proxy_statistics_prefs),
- settings,
- net_log,
- io_task_runner,
- ui_task_runner));
+ DataReductionProxyChromeSettings::GetClient(), flags, net_log,
+ io_task_runner, ui_task_runner));
data_reduction_proxy_io_data->InitOnUIThread(prefs);
#if defined(ENABLE_DATA_REDUCTION_PROXY_DEBUGGING)

Powered by Google App Engine
This is Rietveld 408576698