blob: d9c7adcaf8c4dc78cfe23400f58456056402dab7 [file] [log] [blame]
// Copyright 2012 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.
#ifndef IOS_CHROME_BROWSER_UI_TOOLBAR_TEST_TOOLBAR_MODEL_IOS_H_
#define IOS_CHROME_BROWSER_UI_TOOLBAR_TEST_TOOLBAR_MODEL_IOS_H_
#import <UIKit/UIKit.h>
#include <memory>
#include "components/toolbar/test_toolbar_model.h"
#include "ios/chrome/browser/ui/toolbar/toolbar_model_ios.h"
class TestToolbarModelIOS : public ToolbarModelIOS {
public:
TestToolbarModelIOS();
~TestToolbarModelIOS() override;
// ToolbarModelIOS implementation:
ToolbarModel* GetToolbarModel() override;
bool IsLoading() override;
CGFloat GetLoadProgressFraction() override;
bool CanGoBack() override;
bool CanGoForward() override;
bool IsCurrentTabNativePage() override;
bool IsCurrentTabBookmarked() override;
bool IsCurrentTabBookmarkedByUser() override;
bool ShouldDisplayHintText() override;
void set_is_loading(bool is_loading) { is_loading_ = is_loading; }
void set_load_progress_fraction(CGFloat load_progress_fraction) {
load_progress_fraction_ = load_progress_fraction;
}
void set_can_go_back(bool can_go_back) { can_go_back_ = can_go_back; }
void set_can_go_forward(bool can_go_forward) {
can_go_forward_ = can_go_forward;
}
void set_is_current_tab_native_page(bool is_current_tab_native_page) {
is_current_tab_native_page_ = is_current_tab_native_page;
}
void set_is_current_tab_bookmarked(bool is_current_tab_bookmarked) {
is_current_tab_bookmarked_ = is_current_tab_bookmarked;
}
private:
std::unique_ptr<TestToolbarModel> test_toolbar_model_;
bool is_loading_;
CGFloat load_progress_fraction_;
bool can_go_back_;
bool can_go_forward_;
bool is_current_tab_native_page_;
bool is_current_tab_bookmarked_;
};
#endif // IOS_CHROME_BROWSER_UI_TOOLBAR_TEST_TOOLBAR_MODEL_IOS_H_