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 {
// The WebStateList for the Browser whose fullscreen state is managed by this
// 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 const WebStateList* GetWebStateList() const = 0;
virtual WebStateList* GetWebStateList() = 0;
// Adds and removes FullscreenControllerObservers.
virtual void AddObserver(FullscreenControllerObserver* observer) = 0;
......
......@@ -22,6 +22,8 @@ class FullscreenControllerImpl : public FullscreenController {
// FullscreenController:
ChromeBroadcaster* broadcaster() override;
void SetWebStateList(WebStateList* web_state_list) override;
const WebStateList* GetWebStateList() const override;
WebStateList* GetWebStateList() override;
void AddObserver(FullscreenControllerObserver* observer) override;
void RemoveObserver(FullscreenControllerObserver* observer) override;
bool IsEnabled() const override;
......
......@@ -59,6 +59,14 @@ void FullscreenControllerImpl::SetWebStateList(WebStateList* 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(
FullscreenControllerObserver* observer) {
mediator_.AddObserver(observer);
......
......@@ -27,8 +27,10 @@ class FullscreenWebStateListObserver : public WebStateListObserver {
FullscreenMediator* mediator);
~FullscreenWebStateListObserver() override;
// Starts observing |web_state_list|.
// The WebStateList being observed.
void SetWebStateList(WebStateList* web_state_list);
const WebStateList* GetWebStateList() const;
WebStateList* GetWebStateList();
// Stops observing the the WebStateList.
void Disconnect();
......
......@@ -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() {
SetWebStateList(nullptr);
}
......
......@@ -23,6 +23,8 @@ class TestFullscreenController : public FullscreenController {
// FullscreenController:
ChromeBroadcaster* broadcaster() override;
void SetWebStateList(WebStateList* web_state_list) override;
const WebStateList* GetWebStateList() const override;
WebStateList* GetWebStateList() override;
void AddObserver(FullscreenControllerObserver* observer) override;
void RemoveObserver(FullscreenControllerObserver* observer) override;
bool IsEnabled() const override;
......
......@@ -25,6 +25,14 @@ ChromeBroadcaster* TestFullscreenController::broadcaster() {
void TestFullscreenController::SetWebStateList(WebStateList* web_state_list) {}
const WebStateList* TestFullscreenController::GetWebStateList() const {
return nullptr;
}
WebStateList* TestFullscreenController::GetWebStateList() {
return nullptr;
}
void TestFullscreenController::AddObserver(
FullscreenControllerObserver* 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