diff --git a/libcef/browser/osr/render_widget_host_view_osr.cc b/libcef/browser/osr/render_widget_host_view_osr.cc index f2ad3933c269eeab18f631c83386c87b70db93ee..ffab039afcc9f77801dc478645fabf3869fbbde2 100644 --- a/libcef/browser/osr/render_widget_host_view_osr.cc +++ b/libcef/browser/osr/render_widget_host_view_osr.cc @@ -1579,6 +1579,8 @@ void CefRenderWidgetHostViewOSR::SelectionChanged(const std::u16string& text, if (n > 0) { handler->StartVibraFeedback("longPress.light"); } + } else { + is_select_text_ = false; #endif // defined(OHOS_INPUT_EVENTS) } @@ -3565,6 +3567,7 @@ void CefRenderWidgetHostViewOSR::SelectionBoundsChanged( CefRefPtr handler = browser_impl_->GetClient()->GetRenderHandler(); CHECK(handler); + UpdateEditBounds(); if (!is_select_text_) { handler->OnCursorUpdate(browser_impl_->GetBrowser(), @@ -3573,7 +3576,6 @@ void CefRenderWidgetHostViewOSR::SelectionBoundsChanged( return; } - UpdateEditBounds(); auto processedOffset = HandleCursorOffset(); handler->OnCursorUpdate(browser_impl_->GetBrowser(), CefRect(processedOffset.first, processedOffset.second,