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

Unified Diff: ios/web_view/internal/criwv_browser_state.h

Issue 2643773005: Upstream ios/web_view source code. (Closed)
Patch Set: Created 3 years, 11 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: ios/web_view/internal/criwv_browser_state.h
diff --git a/ios/web_view/internal/criwv_browser_state.h b/ios/web_view/internal/criwv_browser_state.h
new file mode 100644
index 0000000000000000000000000000000000000000..636a200e9726bdcfeb8a2ee4a9e2f53f985457ca
--- /dev/null
+++ b/ios/web_view/internal/criwv_browser_state.h
@@ -0,0 +1,59 @@
+// Copyright 2014 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.
+
+#ifndef IOS_WEB_VIEW_INTERNAL_CRIWV_BROWSER_STATE_H_
+#define IOS_WEB_VIEW_INTERNAL_CRIWV_BROWSER_STATE_H_
+
+#include <memory>
+
+#include "base/files/file_path.h"
+#include "base/macros.h"
+#include "base/memory/ref_counted.h"
+#include "components/prefs/pref_service.h"
+#include "ios/web/public/browser_state.h"
+
+namespace user_prefs {
+class PrefRegistrySyncable;
+}
+
+namespace ios_web_view {
+
+class CRIWVURLRequestContextGetter;
+
+// CRIWV implementation of BrowserState. Can only be called from the UI thread.
+class CRIWVBrowserState : public web::BrowserState {
+ public:
+ CRIWVBrowserState();
+ ~CRIWVBrowserState() override;
+
+ // web::BrowserState implementation.
+ bool IsOffTheRecord() const override;
+ base::FilePath GetStatePath() const override;
+ net::URLRequestContextGetter* GetRequestContext() override;
+
+ // Returns the associated PrefService.
+ PrefService* GetPrefs();
+
+ // Converts from web::BrowserState to CRIWVBrowserState.
+ static CRIWVBrowserState* FromBrowserState(web::BrowserState* browser_state);
+
+ private:
+ // Registers the preferences for this BrowserState.
+ void RegisterPrefs(user_prefs::PrefRegistrySyncable* pref_registry);
+
+ // The path associated with this BrowserState object.
+ base::FilePath path_;
+
+ // The request context getter for this BrowserState object.
+ scoped_refptr<CRIWVURLRequestContextGetter> request_context_getter_;
+
+ // The PrefService associated with this BrowserState.
+ std::unique_ptr<PrefService> prefs_;
+
+ DISALLOW_COPY_AND_ASSIGN(CRIWVBrowserState);
+};
+
+} // namespace ios_web_view
+
+#endif // IOS_WEB_VIEW_INTERNAL_CRIWV_BROWSER_STATE_H_

Powered by Google App Engine
This is Rietveld 408576698