summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsdefresne <sdefresne@chromium.org>2015-08-07 00:30:24 -0700
committerCommit bot <commit-bot@chromium.org>2015-08-07 07:31:18 +0000
commit96b1ddc9806661c7bd7d2d413c9519a6b5c11d2d (patch)
treeab9faf480c701dc14f02f9111b894c020c49de73
parentf8e124a10c65d54ddea3677eb8eb4dbef75f6762 (diff)
downloadchromium_src-96b1ddc9806661c7bd7d2d413c9519a6b5c11d2d.zip
chromium_src-96b1ddc9806661c7bd7d2d413c9519a6b5c11d2d.tar.gz
chromium_src-96b1ddc9806661c7bd7d2d413c9519a6b5c11d2d.tar.bz2
Upstream updated interface for ChromeBrowserState.
Upstream two methods of ChromeBrowserState that were added downstream only: FromWebUIIOS and HasOffTheRecordChromeBrowserState. Add new dependency in ios_provider_chrome.gyp and add DEPS file. BUG=517446 Review URL: https://codereview.chromium.org/1278623003 Cr-Commit-Position: refs/heads/master@{#342311}
-rw-r--r--ios/provider/ios_provider_chrome.gyp2
-rw-r--r--ios/public/provider/chrome/browser/browser_state/DEPS3
-rw-r--r--ios/public/provider/chrome/browser/browser_state/chrome_browser_state.cc8
-rw-r--r--ios/public/provider/chrome/browser/browser_state/chrome_browser_state.h13
4 files changed, 26 insertions, 0 deletions
diff --git a/ios/provider/ios_provider_chrome.gyp b/ios/provider/ios_provider_chrome.gyp
index a7ecdef..b6d1c00 100644
--- a/ios/provider/ios_provider_chrome.gyp
+++ b/ios/provider/ios_provider_chrome.gyp
@@ -37,6 +37,8 @@
'dependencies': [
'../../base/base.gyp:base',
'../../components/components.gyp:autofill_core_browser',
+ '../web/ios_web.gyp:ios_web',
+ 'ios_provider_web.gyp:ios_provider_web',
],
},
],
diff --git a/ios/public/provider/chrome/browser/browser_state/DEPS b/ios/public/provider/chrome/browser/browser_state/DEPS
new file mode 100644
index 0000000..41a04b1
--- /dev/null
+++ b/ios/public/provider/chrome/browser/browser_state/DEPS
@@ -0,0 +1,3 @@
+include_rules = [
+ "+ios/public/provider/web",
+]
diff --git a/ios/public/provider/chrome/browser/browser_state/chrome_browser_state.cc b/ios/public/provider/chrome/browser/browser_state/chrome_browser_state.cc
index cde450d..62a46ea 100644
--- a/ios/public/provider/chrome/browser/browser_state/chrome_browser_state.cc
+++ b/ios/public/provider/chrome/browser/browser_state/chrome_browser_state.cc
@@ -4,6 +4,9 @@
#include "ios/public/provider/chrome/browser/browser_state/chrome_browser_state.h"
+#include "ios/public/provider/web/web_ui_ios.h"
+#include "ios/web/public/web_state/web_state.h"
+
namespace ios {
// static
@@ -13,4 +16,9 @@ ChromeBrowserState* ChromeBrowserState::FromBrowserState(
return static_cast<ChromeBrowserState*>(browser_state);
}
+// static
+ChromeBrowserState* ChromeBrowserState::FromWebUIIOS(web::WebUIIOS* web_ui) {
+ return FromBrowserState(web_ui->GetWebState()->GetBrowserState());
+}
+
} // namespace ios
diff --git a/ios/public/provider/chrome/browser/browser_state/chrome_browser_state.h b/ios/public/provider/chrome/browser/browser_state/chrome_browser_state.h
index 813924e..2bce61b 100644
--- a/ios/public/provider/chrome/browser/browser_state/chrome_browser_state.h
+++ b/ios/public/provider/chrome/browser/browser_state/chrome_browser_state.h
@@ -17,6 +17,10 @@ namespace base {
class SequencedTaskRunner;
}
+namespace web {
+class WebUIIOS;
+}
+
namespace ios {
// This class is a Chrome-specific extension of the BrowserState interface.
@@ -27,6 +31,9 @@ class ChromeBrowserState : public web::BrowserState {
// Returns the ChromeBrowserState corresponding to the given BrowserState.
static ChromeBrowserState* FromBrowserState(BrowserState* browser_state);
+ // Returns the ChromeBrowserState corresponding to the given WebUIIOS.
+ static ChromeBrowserState* FromWebUIIOS(web::WebUIIOS* web_ui);
+
// Returns sequenced task runner where browser state dependent I/O
// operations should be performed.
virtual scoped_refptr<base::SequencedTaskRunner> GetIOTaskRunner() = 0;
@@ -35,6 +42,12 @@ class ChromeBrowserState : public web::BrowserState {
// |this| if the ChromeBrowserState is not incognito.
virtual ChromeBrowserState* GetOriginalChromeBrowserState() = 0;
+ // Returns true if the ChromeBrowserState is off-the-record or if the
+ // associated off-the-record browser state has been created.
+ // Calling this method does not create the off-the-record browser state if it
+ // does not already exist.
+ virtual bool HasOffTheRecordChromeBrowserState() const = 0;
+
// Returns the incognito version of this ChromeBrowserState. The returned
// ChromeBrowserState instance is owned by this ChromeBrowserState instance.
// WARNING: This will create the OffTheRecord ChromeBrowserState if it