diff options
author | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-12 16:45:32 +0000 |
---|---|---|
committer | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-12 16:45:32 +0000 |
commit | 86a7d3ca7f467269213f8ce08ab138bbed5326f2 (patch) | |
tree | eae0402b5fc2109882d1596387febab0418d5bc5 /chrome/renderer | |
parent | ae1db5c0ef02b23f7e670eee09b2d06ec978a364 (diff) | |
download | chromium_src-86a7d3ca7f467269213f8ce08ab138bbed5326f2.zip chromium_src-86a7d3ca7f467269213f8ce08ab138bbed5326f2.tar.gz chromium_src-86a7d3ca7f467269213f8ce08ab138bbed5326f2.tar.bz2 |
Move TextInputClient from chrome to content.
BUG=95573
TEST=dictionary popup still works
Review URL: http://codereview.chromium.org/7844003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100703 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/chrome_content_renderer_client.cc | 5 | ||||
-rw-r--r-- | chrome/renderer/text_input_client_observer.cc | 70 | ||||
-rw-r--r-- | chrome/renderer/text_input_client_observer.h | 41 |
3 files changed, 0 insertions, 116 deletions
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc index 7becf4a..7e4e08d 100644 --- a/chrome/renderer/chrome_content_renderer_client.cc +++ b/chrome/renderer/chrome_content_renderer_client.cc @@ -57,7 +57,6 @@ #include "chrome/renderer/searchbox_extension.h" #include "chrome/renderer/spellchecker/spellcheck.h" #include "chrome/renderer/spellchecker/spellcheck_provider.h" -#include "chrome/renderer/text_input_client_observer.h" #include "chrome/renderer/translate_helper.h" #include "chrome/renderer/visitedlink_slave.h" #include "content/common/view_messages.h" @@ -226,10 +225,6 @@ void ChromeContentRendererClient::RenderViewCreated(RenderView* render_view) { safe_browsing::MalwareDOMDetails::Create(render_view); #endif -#if defined(OS_MACOSX) - new TextInputClientObserver(render_view); -#endif // defined(OS_MACOSX) - PasswordAutofillManager* password_autofill_manager = new PasswordAutofillManager(render_view); AutofillAgent* autofill_agent = new AutofillAgent(render_view, diff --git a/chrome/renderer/text_input_client_observer.cc b/chrome/renderer/text_input_client_observer.cc deleted file mode 100644 index 2102267..0000000 --- a/chrome/renderer/text_input_client_observer.cc +++ /dev/null @@ -1,70 +0,0 @@ -// 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. - -#include "chrome/renderer/text_input_client_observer.h" - -#include "base/memory/scoped_ptr.h" -#include "chrome/common/text_input_client_messages.h" -#include "content/renderer/render_view.h" -#include "ipc/ipc_message_macros.h" -#include "third_party/WebKit/Source/WebKit/chromium/public/mac/WebSubstringUtil.h" -#include "third_party/WebKit/Source/WebKit/chromium/public/WebFrame.h" -#include "third_party/WebKit/Source/WebKit/chromium/public/WebPoint.h" -#include "third_party/WebKit/Source/WebKit/chromium/public/WebRect.h" -#include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h" -#include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" -#include "ui/gfx/rect.h" - -TextInputClientObserver::TextInputClientObserver(RenderView* render_view) - : RenderViewObserver(render_view) { -} - -TextInputClientObserver::~TextInputClientObserver() { -} - -bool TextInputClientObserver::OnMessageReceived(const IPC::Message& message) { - bool handled = true; - IPC_BEGIN_MESSAGE_MAP(TextInputClientObserver, message) - IPC_MESSAGE_HANDLER(TextInputClientMsg_CharacterIndexForPoint, - OnCharacterIndexForPoint) - IPC_MESSAGE_HANDLER(TextInputClientMsg_FirstRectForCharacterRange, - OnFirstRectForCharacterRange) - IPC_MESSAGE_HANDLER(TextInputClientMsg_StringForRange, OnStringForRange) - IPC_MESSAGE_UNHANDLED(handled = false) - IPC_END_MESSAGE_MAP() - return handled; -} - -WebKit::WebView* TextInputClientObserver::webview() { - return render_view()->webview(); -} - -void TextInputClientObserver::OnCharacterIndexForPoint(gfx::Point point) { - WebKit::WebPoint web_point(point); - size_t index = webview()->focusedFrame()->characterIndexForPoint(web_point); - Send(new TextInputClientReplyMsg_GotCharacterIndexForPoint(routing_id(), - index)); -} - -void TextInputClientObserver::OnFirstRectForCharacterRange(ui::Range range) { - WebKit::WebFrame* frame = webview()->focusedFrame(); - WebKit::WebRect web_rect; - frame->firstRectForCharacterRange(range.start(), range.length(), web_rect); - gfx::Rect rect(web_rect); - Send(new TextInputClientReplyMsg_GotFirstRectForRange(routing_id(), rect)); -} - -void TextInputClientObserver::OnStringForRange(ui::Range range) { -#if defined(OS_MACOSX) - NSAttributedString* string = - WebKit::WebSubstringUtil::attributedSubstringInRange( - webview()->focusedFrame(), range.start(), range.length()); - scoped_ptr<const mac::AttributedStringCoder::EncodedString> encoded( - mac::AttributedStringCoder::Encode(string)); - Send(new TextInputClientReplyMsg_GotStringForRange(routing_id(), - *encoded.get())); -#else - NOTIMPLEMENTED(); -#endif -} diff --git a/chrome/renderer/text_input_client_observer.h b/chrome/renderer/text_input_client_observer.h deleted file mode 100644 index bbd265a..0000000 --- a/chrome/renderer/text_input_client_observer.h +++ /dev/null @@ -1,41 +0,0 @@ -// 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. - -#ifndef CHROME_RENDERER_TEXT_INPUT_CLIENT_OBSERVER_H_ -#define CHROME_RENDERER_TEXT_INPUT_CLIENT_OBSERVER_H_ - -#include "base/basictypes.h" -#include "build/build_config.h" -#include "content/renderer/render_view_observer.h" -#include "ui/base/range/range.h" -#include "ui/gfx/point.h" - -namespace WebKit { -class WebView; -} - -// This is the renderer-side message filter that generates the replies for the -// messages sent by the TextInputClientMac. See -// chrome/browser/renderer_host/text_input_client_mac.h for more information. -class TextInputClientObserver : public RenderViewObserver { - public: - explicit TextInputClientObserver(RenderView* render_view); - virtual ~TextInputClientObserver(); - - // RenderViewObserver overrides: - virtual bool OnMessageReceived(const IPC::Message& message); - - private: - // Returns the WebView of the RenderView. - WebKit::WebView* webview(); - - // IPC Message handlers: - void OnCharacterIndexForPoint(gfx::Point point); - void OnFirstRectForCharacterRange(ui::Range range); - void OnStringForRange(ui::Range range); - - DISALLOW_COPY_AND_ASSIGN(TextInputClientObserver); -}; - -#endif // CHROME_RENDERER_TEXT_INPUT_CLIENT_OBSERVER_H_ |