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 23b5a2443085f09635bcba5302cb0923b28068c9..4d0821ed925801b2084dc650573ca6fa1b5bd91f 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), |
@@ -2111,6 +2112,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); |
} |
@@ -2896,6 +2898,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; |