diff options
author | sdefresne <sdefresne@chromium.org> | 2015-08-07 00:30:24 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-08-07 07:31:18 +0000 |
commit | 96b1ddc9806661c7bd7d2d413c9519a6b5c11d2d (patch) | |
tree | ab9faf480c701dc14f02f9111b894c020c49de73 | |
parent | f8e124a10c65d54ddea3677eb8eb4dbef75f6762 (diff) | |
download | chromium_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}
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 |