Index: pdf/out_of_process_instance.cc |
diff --git a/pdf/out_of_process_instance.cc b/pdf/out_of_process_instance.cc |
index 59b04394419410bc1eda3518839f2323169bbe94..e0ab99a3468022548df5f4fd22511ece1a6c0173 100644 |
--- a/pdf/out_of_process_instance.cc |
+++ b/pdf/out_of_process_instance.cc |
@@ -127,6 +127,11 @@ const char kJSRotateClockwiseType[] = "rotateClockwise"; |
const char kJSRotateCounterclockwiseType[] = "rotateCounterclockwise"; |
// Select all text in the document (Page -> Plugin) |
const char kJSSelectAllType[] = "selectAll"; |
+// Get the selected text in the document (Page -> Plugin) |
+const char kJSGetSelectedTextType[] = "getSelectedText"; |
+// Reply with selected text (Plugin -> Page) |
+const char kJSGetSelectedTextReplyType[] = "getSelectedTextReply"; |
+const char kJSSelectedText[] = "selectedText"; |
const int kFindResultCooldownMs = 100; |
@@ -444,6 +449,11 @@ void OutOfProcessInstance::HandleMessage(const pp::Var& message) { |
PostMessage(reply); |
} else if (type == kJSStopScrollingType) { |
stop_scrolling_ = true; |
+ } else if (type == kJSGetSelectedTextType) { |
+ pp::VarDictionary reply; |
+ reply.Set(pp::Var(kType), pp::Var(kJSGetSelectedTextReplyType)); |
+ reply.Set(pp::Var(kJSSelectedText), engine_->GetSelectedText()); |
+ PostMessage(reply); |
} else { |
NOTREACHED(); |
} |