#include "chrome/browser/ui/tabs/tab_model.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/ui/tab_helpers.h"
#include "chrome/browser/ui/tabs/features.h"
#include "chrome/browser/ui/tabs/public/tab_features.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
#include "chrome/browser/ui/tabs/tab_strip_model_delegate.h"
#include "chrome/browser/ui/ui_features.h"
#include "content/public/browser/web_contents_user_data.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value.h"
namespace tabs {
namespace …
TabModel::TabModel(std::unique_ptr<content::WebContents> contents,
TabStripModel* soon_to_be_owning_model)
: … { … }
TabModel::~TabModel() { … }
void TabModel::OnAddedToModel(TabStripModel* owning_model) { … }
void TabModel::OnRemovedFromModel() { … }
TabCollection* TabModel::GetParentCollection(
base::PassKey<TabCollection>) const { … }
void TabModel::OnReparented(TabCollection* parent,
base::PassKey<TabCollection>) { … }
void TabModel::WillEnterBackground(base::PassKey<TabStripModel>) { … }
void TabModel::WillDetach(base::PassKey<TabStripModel>,
tabs::TabInterface::DetachReason reason) { … }
content::WebContents* TabModel::GetContents() const { … }
base::CallbackListSubscription TabModel::RegisterWillDiscardContents(
TabInterface::WillDiscardContentsCallback callback) { … }
bool TabModel::IsInForeground() const { … }
base::CallbackListSubscription TabModel::RegisterDidEnterForeground(
TabInterface::DidEnterForegroundCallback callback) { … }
base::CallbackListSubscription TabModel::RegisterWillEnterBackground(
TabInterface::WillEnterBackgroundCallback callback) { … }
base::CallbackListSubscription TabModel::RegisterWillDetach(
TabInterface::WillDetach callback) { … }
bool TabModel::CanShowModalUI() const { … }
std::unique_ptr<ScopedTabModalUI> TabModel::ShowModalUI() { … }
bool TabModel::IsInNormalWindow() const { … }
BrowserWindowInterface* TabModel::GetBrowserWindowInterface() { … }
tabs::TabFeatures* TabModel::GetTabFeatures() { … }
void TabModel::OnTabStripModelChanged(
TabStripModel* tab_strip_model,
const TabStripModelChange& change,
const TabStripSelectionChange& selection) { … }
TabStripModel* TabModel::GetModelForTabInterface() const { … }
TabModel::ScopedTabModalUIImpl::ScopedTabModalUIImpl(TabModel* tab)
: … { … }
TabModel::ScopedTabModalUIImpl::~ScopedTabModalUIImpl() { … }
void TabModel::WriteIntoTrace(perfetto::TracedValue context) const { … }
std::unique_ptr<content::WebContents> TabModel::DiscardContents(
std::unique_ptr<content::WebContents> contents) { … }
std::unique_ptr<content::WebContents> TabModel::DestroyAndTakeWebContents(
std::unique_ptr<TabModel> tab_model) { … }
void TabModel::DestroyTabFeatures() { … }
TabInterface* TabInterface::GetFromContents(
content::WebContents* web_contents) { … }
TabInterface* TabInterface::MaybeGetFromContents(
content::WebContents* web_contents) { … }
}