Index: blimp/engine/common/blimp_browser_context.h |
diff --git a/blimp/engine/common/blimp_browser_context.h b/blimp/engine/common/blimp_browser_context.h |
index e02f8316a035d7c664a56e02dd1ce6a5dabf55e4..c05fcaa3e19d7fabff0f63bc38783e724fd97634 100644 |
--- a/blimp/engine/common/blimp_browser_context.h |
+++ b/blimp/engine/common/blimp_browser_context.h |
@@ -9,6 +9,7 @@ |
#include "base/files/file_path.h" |
#include "base/macros.h" |
+#include "blimp/engine/app/blimp_metrics_service_client.h" |
#include "blimp/engine/app/blimp_system_url_request_context_getter.h" |
#include "blimp/engine/app/blimp_url_request_context_getter.h" |
#include "content/public/browser/browser_context.h" |
@@ -62,11 +63,23 @@ class BlimpBrowserContext : public content::BrowserContext { |
// uploads). |
net::URLRequestContextGetter* GetSystemRequestContextGetter(); |
+ PrefService* GetPrefService() { return pref_service_.get(); } |
+ |
private: |
// Performs initialization of the BlimpBrowserContext while IO is still |
// allowed on the current thread. |
void InitWhileIOAllowed(); |
+ // Helper function for PrefService initialization. |
+ void InitPrefService(); |
+ |
+ // Used in metrics initialization to get a PrefService to store logs |
+ // temporarily. Must stay alive for lifetime of metrics_service_client_. |
+ std::unique_ptr<PrefService> pref_service_; |
+ |
+ // Used for metrics recording and reporting. |
+ std::unique_ptr<BlimpMetricsServiceClient> metrics_service_client_; |
+ |
std::unique_ptr<BlimpResourceContext> resource_context_; |
scoped_refptr<BlimpSystemURLRequestContextGetter> system_context_getter_; |
bool ignore_certificate_errors_; |