#include "chrome/browser/ui/webui/top_chrome/webui_contents_wrapper.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h"
#include "chrome/browser/task_manager/web_contents_tags.h"
#include "chrome/browser/ui/browser_window.h"
#include "chrome/browser/ui/prefs/prefs_tab_helper.h"
#include "chrome/browser/ui/webui/top_chrome/webui_contents_preload_manager.h"
#include "chrome/common/chrome_render_frame.mojom.h"
#include "components/input/native_web_keyboard_event.h"
#include "components/site_engagement/content/site_engagement_helper.h"
#include "components/site_engagement/content/site_engagement_service.h"
#include "content/public/browser/keyboard_event_processing_result.h"
#include "content/public/browser/render_frame_host.h"
#include "content/public/browser/render_widget_host_view.h"
#include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h"
#include "ui/base/models/menu_model.h"
#include "ui/gfx/geometry/rounded_corners_f.h"
#include "ui/gfx/geometry/size.h"
namespace {
RequestResult;
bool IsEscapeEvent(const input::NativeWebKeyboardEvent& event) { … }
RequestResult Request(const GURL& webui_url,
content::BrowserContext* browser_context) { … }
void EnableAutoResizeForWebContents(content::WebContents* web_contents) { … }
void EnableDraggableRegions(content::WebContents* web_contents) { … }
}
bool WebUIContentsWrapper::Host::HandleKeyboardEvent(
content::WebContents* source,
const input::NativeWebKeyboardEvent& event) { … }
bool WebUIContentsWrapper::Host::HandleContextMenu(
content::RenderFrameHost& render_frame_host,
const content::ContextMenuParams& params) { … }
content::WebContents* WebUIContentsWrapper::Host::OpenURLFromTab(
content::WebContents* source,
const content::OpenURLParams& params,
base::OnceCallback<void(content::NavigationHandle&)>
navigation_handle_callback) { … }
WebUIContentsWrapper::WebUIContentsWrapper(const GURL& webui_url,
Profile* profile,
int task_manager_string_id,
bool webui_resizes_host,
bool esc_closes_ui,
bool supports_draggable_regions,
const std::string& webui_name)
: … { … }
WebUIContentsWrapper::~WebUIContentsWrapper() { … }
void WebUIContentsWrapper::ResizeDueToAutoResize(content::WebContents* source,
const gfx::Size& new_size) { … }
content::KeyboardEventProcessingResult
WebUIContentsWrapper::PreHandleKeyboardEvent(
content::WebContents* source,
const input::NativeWebKeyboardEvent& event) { … }
bool WebUIContentsWrapper::HandleKeyboardEvent(
content::WebContents* source,
const input::NativeWebKeyboardEvent& event) { … }
bool WebUIContentsWrapper::HandleContextMenu(
content::RenderFrameHost& render_frame_host,
const content::ContextMenuParams& params) { … }
std::unique_ptr<content::EyeDropper> WebUIContentsWrapper::OpenEyeDropper(
content::RenderFrameHost* frame,
content::EyeDropperListener* listener) { … }
content::WebContents* WebUIContentsWrapper::OpenURLFromTab(
content::WebContents* source,
const content::OpenURLParams& params,
base::OnceCallback<void(content::NavigationHandle&)>
navigation_handle_callback) { … }
void WebUIContentsWrapper::RequestMediaAccessPermission(
content::WebContents* web_contents,
const content::MediaStreamRequest& request,
content::MediaResponseCallback callback) { … }
void WebUIContentsWrapper::RunFileChooser(
content::RenderFrameHost* render_frame_host,
scoped_refptr<content::FileSelectListener> listener,
const blink::mojom::FileChooserParams& params) { … }
void WebUIContentsWrapper::DraggableRegionsChanged(
const std::vector<blink::mojom::DraggableRegionPtr>& regions,
content::WebContents* contents) { … }
void WebUIContentsWrapper::SetContentsBounds(content::WebContents* source,
const gfx::Rect& bounds) { … }
void WebUIContentsWrapper::PrimaryPageChanged(content::Page& page) { … }
void WebUIContentsWrapper::PrimaryMainFrameRenderProcessGone(
base::TerminationStatus status) { … }
void WebUIContentsWrapper::OnProfileWillBeDestroyed(Profile* profile) { … }
void WebUIContentsWrapper::ShowUI() { … }
void WebUIContentsWrapper::CloseUI() { … }
void WebUIContentsWrapper::ShowContextMenu(
gfx::Point point,
std::unique_ptr<ui::MenuModel> menu_model) { … }
void WebUIContentsWrapper::HideContextMenu() { … }
base::WeakPtr<WebUIContentsWrapper::Host> WebUIContentsWrapper::GetHost() { … }
void WebUIContentsWrapper::SetHost(
base::WeakPtr<WebUIContentsWrapper::Host> host) { … }
void WebUIContentsWrapper::SetWebContentsForTesting(
std::unique_ptr<content::WebContents> web_contents) { … }