blob: 35f806f33e7fb6e632b6952713cd732ed8dac98d [file] [log] [blame]
// Copyright 2017 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.
#import "ios/chrome/browser/ui/fullscreen/test/test_fullscreen_controller.h"
#import "ios/chrome/browser/ui/broadcaster/chrome_broadcaster.h"
#import "ios/chrome/browser/ui/fullscreen/fullscreen_controller_observer.h"
#import "ios/chrome/browser/ui/fullscreen/fullscreen_model.h"
#if !defined(__has_feature) || !__has_feature(objc_arc)
#error "This file requires ARC support."
#endif
TestFullscreenController::TestFullscreenController(FullscreenModel* model)
: FullscreenController(),
model_(model),
broadcaster_([[ChromeBroadcaster alloc] init]) {}
TestFullscreenController::~TestFullscreenController() = default;
ChromeBroadcaster* TestFullscreenController::broadcaster() {
return 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);
}
void TestFullscreenController::RemoveObserver(
FullscreenControllerObserver* observer) {
observers_.RemoveObserver(observer);
}
bool TestFullscreenController::IsEnabled() const {
return model_ && model_->enabled();
}
void TestFullscreenController::IncrementDisabledCounter() {
if (model_)
model_->IncrementDisabledCounter();
}
void TestFullscreenController::DecrementDisabledCounter() {
if (model_)
model_->DecrementDisabledCounter();
}
void TestFullscreenController::BrowserTraitCollectionChangedBegin() {}
void TestFullscreenController::BrowserTraitCollectionChangedEnd() {}
CGFloat TestFullscreenController::GetProgress() const {
return model_ ? model_->progress() : 0.0;
}
UIEdgeInsets TestFullscreenController::GetMinViewportInsets() const {
return model_ ? model_->min_toolbar_insets() : UIEdgeInsetsZero;
}
UIEdgeInsets TestFullscreenController::GetMaxViewportInsets() const {
return model_ ? model_->max_toolbar_insets() : UIEdgeInsetsZero;
}
UIEdgeInsets TestFullscreenController::GetCurrentViewportInsets() const {
return model_ ? model_->current_toolbar_insets() : UIEdgeInsetsZero;
}
void TestFullscreenController::Shutdown() {
for (auto& observer : observers_) {
observer.FullscreenControllerWillShutDown(this);
}
}
void TestFullscreenController::EnterFullscreen() {}
void TestFullscreenController::ExitFullscreen() {
if (model_)
model_->ResetForNavigation();
}