diff --git a/content/browser/web_contents/web_contents_impl.cc b/content/browser/web_contents/web_contents_impl.cc index 4f2e21df64e8788833fc78d76416264d1ab5295e..3ed843770912ba1dad773fece4ed5ccbe90f35db 100644 --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc @@ -7442,6 +7442,24 @@ void WebContentsImpl::ChangeVisibilityOfQuickMenu() { render_view_host_delegate_view_->ChangeVisibilityOfQuickMenu(); } } + +void WebContentsImpl::CollapseAllFramesSelection() { + for (FrameTreeNode* node : primary_frame_tree_.Nodes()) { + RenderFrameHostImpl* rfh = node->current_frame_host(); + if (!rfh->IsRenderFrameLive()) { + continue; + } + RenderWidgetHostImpl* render_widget_host = rfh->GetRenderWidgetHost(); + if (!render_widget_host) { + continue; + } + auto* input_handler = render_widget_host->GetFrameWidgetInputHandler(); + if (!input_handler) { + continue; + } + input_handler->CollapseSelection(); + } +} #endif void WebContentsImpl::ShowContextMenu( diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h index 38647d3f284a59e677411f15f38841de5b78d179..8a9382da73228d428f511ed33173eab6030bd1b0 100644 --- a/content/browser/web_contents/web_contents_impl.h +++ b/content/browser/web_contents/web_contents_impl.h @@ -754,6 +754,7 @@ class CONTENT_EXPORT WebContentsImpl : public WebContents, #if defined(OHOS_CLIPBOARD) void MouseSelectMenuShow(bool show) override; void ChangeVisibilityOfQuickMenu() override; + void CollapseAllFramesSelection() override; #endif void RunJavaScriptDialog(RenderFrameHostImpl* render_frame_host, diff --git a/content/public/browser/web_contents.h b/content/public/browser/web_contents.h index ae9617932e933572c880b478e9343ac2806bbddf..3daea87d469b1caf58086fe3e7360e118a1ff4d1 100644 --- a/content/public/browser/web_contents.h +++ b/content/public/browser/web_contents.h @@ -642,6 +642,7 @@ class WebContents : public PageNavigator, #ifdef OHOS_CLIPBOARD virtual void SetTouchInsertHandleMenuShow(bool show) = 0; virtual bool GetTouchInsertHandleMenuShow() = 0; + virtual void CollapseAllFramesSelection() = 0; #endif #ifdef OHOS_ARKWEB_ADBLOCK