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 1e0a5f400a3e0047253f150f9aaa62def2b6ca7d..98d2a3d907616a687884ce11aa7782c94e5348f1 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), |
@@ -2110,6 +2111,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); |
} |
@@ -2891,6 +2893,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; |