diff options
author | hush <hush@chromium.org> | 2014-10-21 18:50:40 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-10-22 04:03:41 +0000 |
commit | 4441cc1d6e7ac564a885ad425b2e8914977438d7 (patch) | |
tree | dc65f8ec8f016dfe99f04e9cf2964babc21bad15 /android_webview | |
parent | 80aa80baf86aed95ff718325f1d70ad39fbe9865 (diff) | |
download | chromium_src-4441cc1d6e7ac564a885ad425b2e8914977438d7.zip chromium_src-4441cc1d6e7ac564a885ad425b2e8914977438d7.tar.gz chromium_src-4441cc1d6e7ac564a885ad425b2e8914977438d7.tar.bz2 |
Use no-op statistics collecting object for WebView.
WebView does not gather data_reduction_proxy related
statistics at the moment. WebView's statistics object writes
the data to pref service which does not upload the data to
anywhere.
BUG=b/17998706
Review URL: https://codereview.chromium.org/651443005
Cr-Commit-Position: refs/heads/master@{#300613}
Diffstat (limited to 'android_webview')
-rw-r--r-- | android_webview/browser/aw_browser_context.cc | 20 | ||||
-rw-r--r-- | android_webview/browser/aw_browser_context.h | 4 |
2 files changed, 24 insertions, 0 deletions
diff --git a/android_webview/browser/aw_browser_context.cc b/android_webview/browser/aw_browser_context.cc index 31e9da8..bc3a09a 100644 --- a/android_webview/browser/aw_browser_context.cc +++ b/android_webview/browser/aw_browser_context.cc @@ -20,6 +20,7 @@ #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_params.h" #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_prefs.h" #include "components/data_reduction_proxy/core/browser/data_reduction_proxy_settings.h" +#include "components/data_reduction_proxy/core/browser/data_reduction_proxy_statistics_prefs.h" #include "components/user_prefs/user_prefs.h" #include "components/visitedlink/browser/visitedlink_master.h" #include "content/public/browser/browser_thread.h" @@ -94,6 +95,10 @@ void AwBrowserContext::SetDataReductionProxyEnabled(bool enabled) { context->GetDataReductionProxySettings(); if (proxy_settings == NULL) return; + + context->CreateDataReductionProxyStatisticsIfNecessary(); + proxy_settings->SetDataReductionProxyStatisticsPrefs( + context->data_reduction_proxy_statistics_.get()); proxy_settings->SetDataReductionProxyEnabled(data_reduction_proxy_enabled_); } @@ -293,4 +298,19 @@ void AwBrowserContext::RebuildTable( enumerator->OnComplete(true); } +void AwBrowserContext::CreateDataReductionProxyStatisticsIfNecessary() { + DCHECK(user_pref_service_.get()); + + if (!data_reduction_proxy_statistics_.get()) { + // We don't care about commit_delay for now. It is just a dummy value. + base::TimeDelta commit_delay = base::TimeDelta::FromMinutes(60); + data_reduction_proxy_statistics_ = + scoped_ptr<data_reduction_proxy::DataReductionProxyStatisticsPrefs>( + new data_reduction_proxy::DataReductionProxyStatisticsPrefs( + user_pref_service_.get(), + base::MessageLoopProxy::current(), + commit_delay)); + } +} + } // namespace android_webview diff --git a/android_webview/browser/aw_browser_context.h b/android_webview/browser/aw_browser_context.h index d6c1b37..3f49765 100644 --- a/android_webview/browser/aw_browser_context.h +++ b/android_webview/browser/aw_browser_context.h @@ -30,6 +30,7 @@ class WebContents; namespace data_reduction_proxy { class DataReductionProxyConfigurator; class DataReductionProxySettings; +class DataReductionProxyStatisticsPrefs; } namespace net { @@ -116,6 +117,7 @@ class AwBrowserContext : public content::BrowserContext, const scoped_refptr<URLEnumerator>& enumerator) override; private: + void CreateDataReductionProxyStatisticsIfNecessary(); static bool data_reduction_proxy_enabled_; // The file path where data for this context is persisted. @@ -136,6 +138,8 @@ class AwBrowserContext : public content::BrowserContext, scoped_ptr<data_reduction_proxy::DataReductionProxyConfigurator> data_reduction_proxy_configurator_; + scoped_ptr<data_reduction_proxy::DataReductionProxyStatisticsPrefs> + data_reduction_proxy_statistics_; scoped_ptr<data_reduction_proxy::DataReductionProxySettings> data_reduction_proxy_settings_; |