blob: 3db4abb05a7aac6b58c95c0af1cf8fc9178f00c1 [file] [log] [blame]
// Copyright 2012 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/tabs/test_tab_strip_model_delegate.h"
#include <vector>
#include "chrome/browser/extensions/tab_helper.h"
#include "chrome/browser/ui/tab_contents/core_tab_helper.h"
#include "chrome/browser/ui/tabs/split_tab_metrics.h"
#include "components/tab_groups/tab_group_id.h"
TestTabStripModelDelegate::TestTabStripModelDelegate() = default;
TestTabStripModelDelegate::~TestTabStripModelDelegate() = default;
void TestTabStripModelDelegate::AddTabAt(
const GURL& url,
int index,
bool foreground,
std::optional<tab_groups::TabGroupId> group,
bool pinned) {}
Browser* TestTabStripModelDelegate::CreateNewStripWithTabs(
std::vector<NewStripContents> tabs,
const gfx::Rect& window_bounds,
bool maximize) {
return nullptr;
}
void TestTabStripModelDelegate::WillAddWebContents(
content::WebContents* contents) {
// Required to determine reloadability of tabs.
CoreTabHelper::CreateForWebContents(contents);
// Required to determine if tabs are app tabs.
extensions::TabHelper::CreateForWebContents(contents);
}
int TestTabStripModelDelegate::GetDragActions() const {
return 0;
}
bool TestTabStripModelDelegate::CanDuplicateContentsAt(int index) {
return false;
}
bool TestTabStripModelDelegate::IsTabStripEditable() {
return true;
}
content::WebContents* TestTabStripModelDelegate::DuplicateContentsAt(
int index) {
return nullptr;
}
void TestTabStripModelDelegate::DuplicateSplit(split_tabs::SplitTabId split) {}
void TestTabStripModelDelegate::MoveToExistingWindow(
const std::vector<int>& indices,
int browser_index) {}
bool TestTabStripModelDelegate::CanMoveTabsToWindow(
const std::vector<int>& indices) {
return false;
}
void TestTabStripModelDelegate::MoveTabsToNewWindow(
const std::vector<int>& indices) {}
void TestTabStripModelDelegate::MoveGroupToNewWindow(
const tab_groups::TabGroupId& group) {}
std::optional<SessionID> TestTabStripModelDelegate::CreateHistoricalTab(
content::WebContents* contents) {
return std::nullopt;
}
void TestTabStripModelDelegate::CreateHistoricalGroup(
const tab_groups::TabGroupId& group) {}
void TestTabStripModelDelegate::GroupAdded(
const tab_groups::TabGroupId& group) {}
void TestTabStripModelDelegate::WillCloseGroup(
const tab_groups::TabGroupId& group) {}
void TestTabStripModelDelegate::GroupCloseStopped(
const tab_groups::TabGroupId& group) {}
bool TestTabStripModelDelegate::ShouldRunUnloadListenerBeforeClosing(
content::WebContents* contents) {
return false;
}
bool TestTabStripModelDelegate::RunUnloadListenerBeforeClosing(
content::WebContents* contents) {
return false;
}
bool TestTabStripModelDelegate::ShouldDisplayFavicon(
content::WebContents* web_contents) const {
return true;
}
bool TestTabStripModelDelegate::CanReload() const {
return true;
}
void TestTabStripModelDelegate::AddToReadLater(
std::vector<content::WebContents*> web_contentses) {}
bool TestTabStripModelDelegate::SupportsReadLater() {
return true;
}
bool TestTabStripModelDelegate::IsForWebApp() {
return false;
}
void TestTabStripModelDelegate::CopyURL(content::WebContents* web_contents) {}
void TestTabStripModelDelegate::GoBack(content::WebContents* web_contents) {}
bool TestTabStripModelDelegate::CanGoBack(content::WebContents* web_contents) {
return false;
}
bool TestTabStripModelDelegate::IsNormalWindow() {
return true;
}
void TestTabStripModelDelegate::NewSplitTab(
std::vector<int> indices,
split_tabs::SplitTabCreatedSource source) {}
BrowserWindowInterface* TestTabStripModelDelegate::GetBrowserWindowInterface() {
return browser_window_interface_;
}
void TestTabStripModelDelegate::OnGroupsDestruction(
const std::vector<tab_groups::TabGroupId>& group_ids,
base::OnceCallback<void()> callback,
bool delete_groups) {
std::move(callback).Run();
}
void TestTabStripModelDelegate::OnRemovingAllTabsFromGroups(
const std::vector<tab_groups::TabGroupId>& group_ids,
base::OnceCallback<void()> callback) {
std::move(callback).Run();
}
#if BUILDFLAG(ENABLE_GLIC)
bool TestTabStripModelDelegate::IsTabGlicPinned(tabs::TabHandle tab_handle) {
return true;
}
bool TestTabStripModelDelegate::GlicPinTabs(
base::span<const tabs::TabHandle> tab_handles) {
return true;
}
bool TestTabStripModelDelegate::GlicUnpinTabs(
base::span<const tabs::TabHandle> tab_handles) {
return true;
}
void TestTabStripModelDelegate::OpenGlicWindowFromSharedTab() {}
#endif