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 d6d878cf464998d72d4d6023c05db3c8cf48d47d..92d4e4ddeb28f12f343bb6342de4677d4bc4dcef 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), |
@@ -2090,6 +2091,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); |
} |
@@ -2875,6 +2877,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; |