#include "chrome/browser/ui/tabs/organization/tab_organization_session.h"
#include <string>
#include <vector>
#include "base/metrics/histogram_macros.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/tabs/organization/request_factory.h"
#include "chrome/browser/ui/tabs/organization/tab_data.h"
#include "chrome/browser/ui/tabs/organization/tab_organization.h"
#include "chrome/browser/ui/tabs/organization/tab_organization_request.h"
#include "chrome/browser/ui/tabs/tab_group.h"
#include "chrome/browser/ui/tabs/tab_group_model.h"
#include "components/tab_groups/tab_group_id.h"
#include "content/public/browser/web_contents.h"
namespace {
int kNextSessionID = …;
}
TabOrganizationSession::TabOrganizationSession()
: … { … }
TabOrganizationSession::TabOrganizationSession(
std::unique_ptr<TabOrganizationRequest> request,
TabOrganizationEntryPoint entrypoint,
const content::WebContents* base_session_webcontents)
: … { … }
TabOrganizationSession::~TabOrganizationSession() { … }
std::unique_ptr<TabOrganizationSession>
TabOrganizationSession::CreateSessionForBrowser(
const Browser* browser,
const TabOrganizationEntryPoint entrypoint,
const content::WebContents* base_session_webcontents) { … }
const TabOrganization* TabOrganizationSession::GetNextTabOrganization() const { … }
TabOrganization* TabOrganizationSession::GetNextTabOrganization() { … }
bool TabOrganizationSession::IsComplete() const { … }
void TabOrganizationSession::AddObserver(
TabOrganizationSession::Observer* observer) { … }
void TabOrganizationSession::RemoveObserver(
TabOrganizationSession::Observer* observer) { … }
void TabOrganizationSession::OnTabOrganizationUpdated(
const TabOrganization* organization) { … }
void TabOrganizationSession::OnTabOrganizationDestroyed(
TabOrganization::ID organization_id) { … }
void TabOrganizationSession::StartRequest() { … }
void TabOrganizationSession::NotifyObserversOfUpdate() { … }
void TabOrganizationSession::OnRequestResponse(
TabOrganizationResponse* response) { … }
void TabOrganizationSession::PopulateAndCreate(
TabOrganizationResponse* response) { … }
void TabOrganizationSession::PopulateOrganizations(
TabOrganizationResponse* response) { … }