#include "chrome/browser/ui/side_search/side_search_tab_contents_helper.h"
#include "base/feature_list.h"
#include "base/metrics/histogram_functions.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/task_manager/web_contents_tags.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_finder.h"
#include "chrome/browser/ui/prefs/prefs_tab_helper.h"
#include "chrome/browser/ui/side_search/side_search_config.h"
#include "chrome/browser/ui/side_search/side_search_metrics.h"
#include "chrome/browser/ui/side_search/side_search_utils.h"
#include "chrome/browser/ui/side_search/unified_side_search_helper.h"
#include "chrome/browser/ui/ui_features.h"
#include "chrome/browser/ui/uma_browsing_activity_observer.h"
#include "components/sessions/content/session_tab_helper.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/navigation_controller.h"
#include "content/public/browser/navigation_handle.h"
#include "content/public/browser/storage_partition.h"
#include "content/public/browser/web_contents.h"
#include "net/http/http_request_headers.h"
#include "services/network/public/cpp/resource_request.h"
#include "services/network/public/cpp/simple_url_loader.h"
#include "third_party/blink/public/mojom/frame/user_activation_notification_type.mojom.h"
#include "ui/base/page_transition_types.h"
#include "ui/views/controls/webview/web_contents_set_background_color.h"
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/browser/extensions/tab_helper.h"
#endif
SideSearchTabContentsHelper::~SideSearchTabContentsHelper() { … }
void SideSearchTabContentsHelper::NavigateInTabContents(
const content::OpenURLParams& params) { … }
void SideSearchTabContentsHelper::LastSearchURLUpdated(const GURL& url) { … }
bool SideSearchTabContentsHelper::HandleKeyboardEvent(
content::WebContents* source,
const input::NativeWebKeyboardEvent& event) { … }
content::WebContents* SideSearchTabContentsHelper::GetTabWebContents() { … }
void SideSearchTabContentsHelper::CarryOverSideSearchStateToNewTab(
const GURL& search_url,
content::WebContents* new_web_contents) { … }
content::WebContents* SideSearchTabContentsHelper::OpenURLFromTab(
content::WebContents* source,
const content::OpenURLParams& params,
base::OnceCallback<void(content::NavigationHandle&)>
navigation_handle_callback) { … }
void SideSearchTabContentsHelper::DidOpenRequestedURL(
content::WebContents* new_contents,
content::RenderFrameHost* source_render_frame_host,
const GURL& url,
const content::Referrer& referrer,
WindowOpenDisposition disposition,
ui::PageTransition transition,
bool started_from_context_menu,
bool renderer_initiated) { … }
void SideSearchTabContentsHelper::DidStartNavigation(
content::NavigationHandle* navigation_handle) { … }
void SideSearchTabContentsHelper::DidFinishNavigation(
content::NavigationHandle* navigation_handle) { … }
void SideSearchTabContentsHelper::OnSideSearchConfigChanged() { … }
void SideSearchTabContentsHelper::SidePanelProcessGone() { … }
content::WebContents* SideSearchTabContentsHelper::GetSidePanelContents() { … }
void SideSearchTabContentsHelper::SetAutoTriggered(bool auto_triggered) { … }
void SideSearchTabContentsHelper::ClearSidePanelContents() { … }
bool SideSearchTabContentsHelper::CanShowSidePanelForCommittedNavigation() { … }
void SideSearchTabContentsHelper::
MaybeRecordDurationSidePanelAvailableToFirstOpen() { … }
void SideSearchTabContentsHelper::SetDelegate(
base::WeakPtr<Delegate> delegate) { … }
void SideSearchTabContentsHelper::SetSidePanelContentsForTesting(
std::unique_ptr<content::WebContents> side_panel_contents) { … }
SideSearchTabContentsHelper::SideSearchTabContentsHelper(
content::WebContents* web_contents)
: … { … }
SideSearchSideContentsHelper*
SideSearchTabContentsHelper::GetSideContentsHelper() { … }
void SideSearchTabContentsHelper::OpenSidePanelFromContextMenuSearch(
const GURL& url) { … }
bool SideSearchTabContentsHelper::CanShowSidePanelFromContextMenuSearch() { … }
void SideSearchTabContentsHelper::CreateSidePanelContents() { … }
void SideSearchTabContentsHelper::UpdateSideContentsNavigation() { … }
void SideSearchTabContentsHelper::ClearHelperState() { … }
SideSearchConfig* SideSearchTabContentsHelper::GetConfig() { … }
WEB_CONTENTS_USER_DATA_KEY_IMPL(SideSearchTabContentsHelper);