Index: content/browser/renderer_host/render_widget_host_view_mac.mm |
diff --git a/content/browser/renderer_host/render_widget_host_view_mac.mm b/content/browser/renderer_host/render_widget_host_view_mac.mm |
index f37a73fc85697e2a4611f723149f50f158701467..60a385138efc87edfc3aaf7e72239d3cf4cb4bb9 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_mac.mm |
+++ b/content/browser/renderer_host/render_widget_host_view_mac.mm |
@@ -2799,6 +2799,24 @@ void RenderWidgetHostViewMac::SendPendingSwapAck() { |
[responderDelegate_ touchesEndedWithEvent:event]; |
} |
+// This is invoked only on 10.8 or newer when the user taps a word using |
+// three fingers. |
+- (void)quickLookWithEvent:(NSEvent*)event { |
+ NSPoint point = [self convertPoint:[event locationInWindow] fromView:nil]; |
+ TextInputClientMac::GetInstance()->GetStringAtPoint( |
+ renderWidgetHostView_->render_widget_host_, |
+ gfx::Point(point.x, NSHeight([self frame]) - point.y), |
+ ^(NSAttributedString* string, NSPoint baselinePoint) { |
+ if (string && [string length] > 0) { |
+ dispatch_async(dispatch_get_main_queue(), ^{ |
+ [self showDefinitionForAttributedString:string |
+ atPoint:baselinePoint]; |
+ }); |
+ } |
+ } |
+ ); |
+} |
+ |
// This method handles 2 different types of hardware events. |
// (Apple does not distinguish between them). |
// a. Scrolling the middle wheel of a mouse. |