| Index: chrome/browser/renderer_host/render_message_filter_mac.mm
|
| diff --git a/chrome/browser/renderer_host/render_message_filter_mac.mm b/chrome/browser/renderer_host/render_message_filter_mac.mm
|
| index dd80f2edb381e8b4e93d79d16852e91bf50f009c..2ba222e9f99710c357563a954e019f2449dbc829 100644
|
| --- a/chrome/browser/renderer_host/render_message_filter_mac.mm
|
| +++ b/chrome/browser/renderer_host/render_message_filter_mac.mm
|
| @@ -1,4 +1,4 @@
|
| -// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
|
| +// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| @@ -9,7 +9,9 @@
|
| #include "base/message_loop.h"
|
| #include "base/sys_string_conversions.h"
|
| #include "chrome/browser/browser_thread.h"
|
| +#import "chrome/browser/renderer_host/text_input_client_mac.h"
|
| #import "chrome/browser/ui/cocoa/find_pasteboard.h"
|
| +#include "gfx/rect.h"
|
|
|
| // The number of utf16 code units that will be written to the find pasteboard,
|
| // longer texts are silently ignored. This is to prevent that a compromised
|
| @@ -41,3 +43,25 @@ void RenderMessageFilter::OnClipboardFindPboardWriteString(
|
| }
|
| }
|
| }
|
| +
|
| +void RenderMessageFilter::OnGotCharacterIndexForPoint(uint index) {
|
| + TextInputClientMac* service = TextInputClientMac::GetInstance();
|
| + service->SetCharacterIndexAndSignal(index);
|
| +}
|
| +
|
| +void RenderMessageFilter::OnGotFirstRectForRange(const gfx::Rect& rect) {
|
| + CGRect cgrect(rect.ToCGRect());
|
| + TextInputClientMac* service = TextInputClientMac::GetInstance();
|
| + service->SetFirstRectAndSignal(NSRectFromCGRect(rect.ToCGRect()));
|
| +}
|
| +
|
| +void RenderMessageFilter::OnGotStringFromRange(const string16& string) {
|
| + TextInputClientMac* service = TextInputClientMac::GetInstance();
|
| + if (!string.length()) {
|
| + service->SetSubstringAndSignal(nil);
|
| + } else {
|
| + NSData* data = [NSData dataWithBytes:string.data() length:string.length()];
|
| + NSAttributedString* string = [NSUnarchiver unarchiveObjectWithData:data];
|
| + service->SetSubstringAndSignal(string);
|
| + }
|
| +}
|
|
|