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 e4d7d1586dc9c261b65a6be7dbf0fced21f4bb7d..babc346ad0fc60f77f0aec851a0e792e71f1d054 100644 |
--- a/content/browser/frame_host/render_frame_host_impl.cc |
+++ b/content/browser/frame_host/render_frame_host_impl.cc |
@@ -297,6 +297,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), |
weak_ptr_factory_(this) { |
@@ -2099,6 +2100,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); |
} |
@@ -2899,6 +2901,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; |