Commit 016743db authored by Kurt Horimoto's avatar Kurt Horimoto Committed by Commit Bot

[iOS] Expose FullscreenController's WebStateList.

Bug: none
Cq-Include-Trybots: luci.chromium.try:ios-simulator-cronet;luci.chromium.try:ios-simulator-full-configs
Change-Id: Iadcd8c150ab8cf90821f0ea9bef7e71eccf706d6
Reviewed-on: https://chromium-review.googlesource.com/c/1262796
Commit-Queue: Kurt Horimoto <kkhorimoto@chromium.org>
Reviewed-by: default avatarGauthier Ambard <gambard@chromium.org>
Reviewed-by: default avatarEugene But <eugenebut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597237}
parent 915fdf0f
...@@ -31,10 +31,9 @@ class FullscreenController : public KeyedService { ...@@ -31,10 +31,9 @@ class FullscreenController : public KeyedService {
// The WebStateList for the Browser whose fullscreen state is managed by this // The WebStateList for the Browser whose fullscreen state is managed by this
// controller. // controller.
// TODO(crbug.com/790886): Once FullscreenController is a BrowserUserData,
// remove this, as the Browser's WebStateList can be used directly rather than
// being set.
virtual void SetWebStateList(WebStateList* web_state_list) = 0; virtual void SetWebStateList(WebStateList* web_state_list) = 0;
virtual const WebStateList* GetWebStateList() const = 0;
virtual WebStateList* GetWebStateList() = 0;
// Adds and removes FullscreenControllerObservers. // Adds and removes FullscreenControllerObservers.
virtual void AddObserver(FullscreenControllerObserver* observer) = 0; virtual void AddObserver(FullscreenControllerObserver* observer) = 0;
......
...@@ -22,6 +22,8 @@ class FullscreenControllerImpl : public FullscreenController { ...@@ -22,6 +22,8 @@ class FullscreenControllerImpl : public FullscreenController {
// FullscreenController: // FullscreenController:
ChromeBroadcaster* broadcaster() override; ChromeBroadcaster* broadcaster() override;
void SetWebStateList(WebStateList* web_state_list) override; void SetWebStateList(WebStateList* web_state_list) override;
const WebStateList* GetWebStateList() const override;
WebStateList* GetWebStateList() override;
void AddObserver(FullscreenControllerObserver* observer) override; void AddObserver(FullscreenControllerObserver* observer) override;
void RemoveObserver(FullscreenControllerObserver* observer) override; void RemoveObserver(FullscreenControllerObserver* observer) override;
bool IsEnabled() const override; bool IsEnabled() const override;
......
...@@ -59,6 +59,14 @@ void FullscreenControllerImpl::SetWebStateList(WebStateList* web_state_list) { ...@@ -59,6 +59,14 @@ void FullscreenControllerImpl::SetWebStateList(WebStateList* web_state_list) {
web_state_list_observer_.SetWebStateList(web_state_list); web_state_list_observer_.SetWebStateList(web_state_list);
} }
const WebStateList* FullscreenControllerImpl::GetWebStateList() const {
return web_state_list_observer_.GetWebStateList();
}
WebStateList* FullscreenControllerImpl::GetWebStateList() {
return web_state_list_observer_.GetWebStateList();
}
void FullscreenControllerImpl::AddObserver( void FullscreenControllerImpl::AddObserver(
FullscreenControllerObserver* observer) { FullscreenControllerObserver* observer) {
mediator_.AddObserver(observer); mediator_.AddObserver(observer);
......
...@@ -27,8 +27,10 @@ class FullscreenWebStateListObserver : public WebStateListObserver { ...@@ -27,8 +27,10 @@ class FullscreenWebStateListObserver : public WebStateListObserver {
FullscreenMediator* mediator); FullscreenMediator* mediator);
~FullscreenWebStateListObserver() override; ~FullscreenWebStateListObserver() override;
// Starts observing |web_state_list|. // The WebStateList being observed.
void SetWebStateList(WebStateList* web_state_list); void SetWebStateList(WebStateList* web_state_list);
const WebStateList* GetWebStateList() const;
WebStateList* GetWebStateList();
// Stops observing the the WebStateList. // Stops observing the the WebStateList.
void Disconnect(); void Disconnect();
......
...@@ -46,6 +46,14 @@ void FullscreenWebStateListObserver::SetWebStateList( ...@@ -46,6 +46,14 @@ void FullscreenWebStateListObserver::SetWebStateList(
} }
} }
const WebStateList* FullscreenWebStateListObserver::GetWebStateList() const {
return web_state_list_;
}
WebStateList* FullscreenWebStateListObserver::GetWebStateList() {
return web_state_list_;
}
void FullscreenWebStateListObserver::Disconnect() { void FullscreenWebStateListObserver::Disconnect() {
SetWebStateList(nullptr); SetWebStateList(nullptr);
} }
......
...@@ -23,6 +23,8 @@ class TestFullscreenController : public FullscreenController { ...@@ -23,6 +23,8 @@ class TestFullscreenController : public FullscreenController {
// FullscreenController: // FullscreenController:
ChromeBroadcaster* broadcaster() override; ChromeBroadcaster* broadcaster() override;
void SetWebStateList(WebStateList* web_state_list) override; void SetWebStateList(WebStateList* web_state_list) override;
const WebStateList* GetWebStateList() const override;
WebStateList* GetWebStateList() override;
void AddObserver(FullscreenControllerObserver* observer) override; void AddObserver(FullscreenControllerObserver* observer) override;
void RemoveObserver(FullscreenControllerObserver* observer) override; void RemoveObserver(FullscreenControllerObserver* observer) override;
bool IsEnabled() const override; bool IsEnabled() const override;
......
...@@ -25,6 +25,14 @@ ChromeBroadcaster* TestFullscreenController::broadcaster() { ...@@ -25,6 +25,14 @@ ChromeBroadcaster* TestFullscreenController::broadcaster() {
void TestFullscreenController::SetWebStateList(WebStateList* web_state_list) {} void TestFullscreenController::SetWebStateList(WebStateList* web_state_list) {}
const WebStateList* TestFullscreenController::GetWebStateList() const {
return nullptr;
}
WebStateList* TestFullscreenController::GetWebStateList() {
return nullptr;
}
void TestFullscreenController::AddObserver( void TestFullscreenController::AddObserver(
FullscreenControllerObserver* observer) { FullscreenControllerObserver* observer) {
observers_.AddObserver(observer); observers_.AddObserver(observer);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment