Implementation of Randomized Aggregatable Privacy-Preserving Ordinal Responses (RAPPORs).

See the design doc at http://www.chromium.org/developers/design-documents/rappor

BUG=328168
[email protected]

Review URL: https://codereview.chromium.org/49753002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252492 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc
index 006099a..fcf727f 100644
--- a/chrome/browser/browser_process_impl.cc
+++ b/chrome/browser/browser_process_impl.cc
@@ -79,6 +79,7 @@
 #include "chrome/common/url_constants.h"
 #include "chrome/installer/util/google_update_constants.h"
 #include "components/policy/core/common/policy_service.h"
+#include "components/rappor/rappor_service.h"
 #include "components/translate/core/browser/translate_download_manager.h"
 #include "content/public/browser/browser_thread.h"
 #include "content/public/browser/child_process_security_policy.h"
@@ -421,6 +422,13 @@
   return metrics_service_.get();
 }
 
+rappor::RapporService* BrowserProcessImpl::rappor_service() {
+  DCHECK(CalledOnValidThread());
+  if (!rappor_service_.get())
+    rappor_service_.reset(new rappor::RapporService());
+  return rappor_service_.get();
+}
+
 IOThread* BrowserProcessImpl::io_thread() {
   DCHECK(CalledOnValidThread());
   DCHECK(io_thread_.get());