Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Unified Diff: content/browser/renderer_host/text_input_client_mac.mm

Issue 166903005: mac: Add support for asynchronous dictionary lookup (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Use ScopedBlock. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/text_input_client_mac.mm
diff --git a/content/browser/renderer_host/text_input_client_mac.mm b/content/browser/renderer_host/text_input_client_mac.mm
index b9d900a704ea47ca047bce8d9220ab57c744eaf7..6bccccf07d0227c2b999ccbac011ee47cae847be 100644
--- a/content/browser/renderer_host/text_input_client_mac.mm
+++ b/content/browser/renderer_host/text_input_client_mac.mm
@@ -33,6 +33,23 @@ TextInputClientMac* TextInputClientMac::GetInstance() {
return Singleton<TextInputClientMac>::get();
}
+void TextInputClientMac::GetStringAtPoint(
+ RenderWidgetHost* rwh,
+ gfx::Point point,
+ void (^replyHandler)(NSAttributedString*, NSPoint)) {
+ replyHandler_.reset(replyHandler, base::scoped_policy::RETAIN);
Avi (use Gerrit) 2014/03/12 04:55:40 Out of paranoia, DCHECK if the replyHandler_ isn't
Andre 2014/03/12 16:59:26 Done.
+ RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(rwh);
+ rwhi->Send(new TextInputClientMsg_StringAtPoint(rwhi->GetRoutingID(), point));
+}
+
+void TextInputClientMac::GetStringAtPointReply(NSAttributedString* string,
+ NSPoint point) {
Avi (use Gerrit) 2014/03/12 04:55:40 Isn't this guaranteed to be on the main thread?
Andre 2014/03/12 16:59:26 No, this happens on the IO thread.
+ if (replyHandler_.get()) {
+ replyHandler_.get()(string, point);
+ replyHandler_.reset();
+ }
+}
+
NSUInteger TextInputClientMac::GetCharacterIndexAtPoint(RenderWidgetHost* rwh,
gfx::Point point) {
base::TimeTicks start = base::TimeTicks::Now();

Powered by Google App Engine
This is Rietveld 408576698