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

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: Created 6 years, 10 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..35fac9a4d25caf3ca148ce4de05e3780b5e7482f 100644
--- a/content/browser/renderer_host/text_input_client_mac.mm
+++ b/content/browser/renderer_host/text_input_client_mac.mm
@@ -22,7 +22,8 @@ const float kWaitTimeout = 1500;
TextInputClientMac::TextInputClientMac()
: character_index_(NSNotFound),
lock_(),
- condition_(&lock_) {
+ condition_(&lock_),
+ replyHandler_(nil) {
}
TextInputClientMac::~TextInputClientMac() {
@@ -33,6 +34,26 @@ TextInputClientMac* TextInputClientMac::GetInstance() {
return Singleton<TextInputClientMac>::get();
}
+void TextInputClientMac::GetStringAtPoint(RenderWidgetHost* rwh,
+ gfx::Point point,
+ void (^replyHandler)(NSAttributedString*, NSRect)) {
+ RenderWidgetHostImpl* rwhi = RenderWidgetHostImpl::From(rwh);
+ rwhi->Send(new TextInputClientMsg_StringAtPoint(rwhi->GetRoutingID(),
+ point));
+ if (replyHandler_ != nil)
+ [replyHandler_ release];
+ replyHandler_ = [replyHandler copy];
+}
+
+void TextInputClientMac::GetStringAtPointReply(NSAttributedString* string,
+ NSRect rect) {
+ if (replyHandler_ != nil) {
+ replyHandler_(string, rect);
+ [replyHandler_ release];
+ replyHandler_ = nil;
+ }
+}
+
NSUInteger TextInputClientMac::GetCharacterIndexAtPoint(RenderWidgetHost* rwh,
gfx::Point point) {
base::TimeTicks start = base::TimeTicks::Now();

Powered by Google App Engine
This is Rietveld 408576698