blob: a647001c7eb7e20574192ea9ffd88c16e966d551 [file] [log] [blame]
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#import "ios/web/content/ui/web_contents_view_delegate_impl.h"
#import <memory>
#import "components/javascript_dialogs/tab_modal_dialog_manager.h"
#import "content/public/browser/context_menu_params.h"
#import "content/public/browser/render_frame_host.h"
#import "content/public/browser/web_contents.h"
#import "content/public/browser/web_contents_view_delegate.h"
#import "ios/web/content/ui/content_context_menu_controller.h"
#import "ios/web/content/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_ios.h"
WebContentsViewDelegateImpl::WebContentsViewDelegateImpl(
content::WebContents* web_contents)
: web_contents_(web_contents) {
javascript_dialogs::TabModalDialogManager::CreateForWebContents(
web_contents_.get(),
std::make_unique<JavaScriptTabModalDialogManagerDelegateIOS>(
web_contents_.get()));
}
WebContentsViewDelegateImpl::~WebContentsViewDelegateImpl() {}
void WebContentsViewDelegateImpl::ShowContextMenu(
content::RenderFrameHost& render_frame_host,
const content::ContextMenuParams& params) {
scoped_refptr<ContentContextMenuController> context_menu_controller(
new ContentContextMenuController());
context_menu_controller->ShowContextMenu(render_frame_host, params);
}
void WebContentsViewDelegateImpl::DismissContextMenu() {}
std::unique_ptr<content::WebContentsViewDelegate> CreateWebContentsViewDelegate(
content::WebContents* web_contents) {
return std::make_unique<WebContentsViewDelegateImpl>(web_contents);
}