Index: content/browser/frame_host/render_frame_host_impl.cc |
diff --git a/content/browser/frame_host/render_frame_host_impl.cc b/content/browser/frame_host/render_frame_host_impl.cc |
index 79cb7c2cb584f3cccf55095da3821c994025f68d..76b998902991073ec3a82bf79743f120c31c0b33 100644 |
--- a/content/browser/frame_host/render_frame_host_impl.cc |
+++ b/content/browser/frame_host/render_frame_host_impl.cc |
@@ -299,6 +299,7 @@ RenderFrameHostImpl::RenderFrameHostImpl(SiteInstance* site_instance, |
web_ui_type_(WebUI::kNoWebUI), |
pending_web_ui_type_(WebUI::kNoWebUI), |
should_reuse_web_ui_(false), |
+ has_selection_(false), |
last_navigation_lofi_state_(LOFI_UNSPECIFIED), |
frame_host_binding_(this), |
waiting_for_init_(renderer_initiated_creation), |
@@ -2133,6 +2134,7 @@ void RenderFrameHostImpl::OnSerializeAsMHTMLResponse( |
void RenderFrameHostImpl::OnSelectionChanged(const base::string16& text, |
uint32_t offset, |
const gfx::Range& range) { |
+ has_selection_ = !text.empty(); |
GetRenderWidgetHost()->SelectionChanged(text, offset, range); |
} |
@@ -2918,6 +2920,10 @@ void RenderFrameHostImpl::FilesSelectedInChooser( |
Send(new FrameMsg_RunFileChooserResponse(routing_id_, files)); |
} |
+bool RenderFrameHostImpl::HasSelection() { |
+ return has_selection_; |
+} |
+ |
void RenderFrameHostImpl::GetInterfaceProvider( |
service_manager::mojom::InterfaceProviderRequest interfaces) { |
service_manager::InterfaceProviderSpec browser_spec, renderer_spec; |