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

Unified Diff: chrome/browser/renderer_host/render_message_filter.cc

Issue 6392045: Integrating Mac OS Grammar checker into Chromium. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updated the patch to catch up WebKit side changes. Created 9 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: chrome/browser/renderer_host/render_message_filter.cc
diff --git a/chrome/browser/renderer_host/render_message_filter.cc b/chrome/browser/renderer_host/render_message_filter.cc
index b5ed28f19e0c50d6af079dd294e0524d1440281a..b4f7b5d624f937ebfb6ff78b76b936c3bc2e5f7f 100644
--- a/chrome/browser/renderer_host/render_message_filter.cc
+++ b/chrome/browser/renderer_host/render_message_filter.cc
@@ -315,6 +315,8 @@ bool RenderMessageFilter::OnMessageReceived(const IPC::Message& message,
OnPlatformCheckSpelling)
IPC_MESSAGE_HANDLER(ViewHostMsg_SpellChecker_PlatformFillSuggestionList,
OnPlatformFillSuggestionList)
+ IPC_MESSAGE_HANDLER(ViewHostMsg_SpellChecker_RequestTextCheck,
Hironori Bono 2011/02/09 05:43:51 nit: I prefer 'ViewHostMsg_SpellCheck_PlatformRequ
gmorrita 2011/02/10 02:15:21 Done.
+ OnRequestTextCheck)
IPC_MESSAGE_HANDLER_DELAY_REPLY(ViewHostMsg_GetDocumentTag,
OnGetDocumentTag)
IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentWithTagClosed,
@@ -1145,6 +1147,43 @@ ChromeURLRequestContext* RenderMessageFilter::GetRequestContextForURL(
context_getter->GetURLRequestContext());
}
+class TextCheckingResponder {
+ public:
+ TextCheckingResponder(BrowserMessageFilter* filter,
+ int route_id, int identifier, int document_tag)
+ : filter_(filter), route_id_(route_id), identifier_(identifier),
Hironori Bono 2011/02/09 05:43:51 nit: All parameters should be aligned if possible.
gmorrita 2011/02/10 02:15:21 Done.
+ document_tag_(document_tag) {
Hironori Bono 2011/02/09 05:43:51 nit: need a 2-space indent.
gmorrita 2011/02/10 02:15:21 This is a initializer so I guess there is a differ
+ }
+
+ void RespondAndRelease(const TextCheckingResultList& results) {
+ BrowserThread::PostTask(
+ BrowserThread::IO, FROM_HERE, NewRunnableMethod(
+ filter_, &BrowserMessageFilter::Send,
+ new ViewMsg_SpellChecker_RespondTextCheck
+ (route_id_, identifier_, document_tag_, results)));
Hironori Bono 2011/02/09 05:43:51 nit: ditto. (All parameters should be aligned if p
gmorrita 2011/02/10 02:15:21 Done.
+ delete this;
+ }
+
+ private:
+ BrowserMessageFilter* filter_;
+ int route_id_;
+ int identifier_;
+ int document_tag_;
+};
+
+void RenderMessageFilter::OnRequestTextCheck(
+ int route_id,
+ int identifier,
+ int document_tag,
+ string16 text) {
+ Callback1<const TextCheckingResultList&>::Type*
+ callback = NewCallback(
+ new TextCheckingResponder(
+ this, route_id, identifier, document_tag),
+ &TextCheckingResponder::RespondAndRelease);
Hironori Bono 2011/02/09 05:43:51 It is better to move this code that creates a call
gmorrita 2011/02/10 02:15:21 Done.
+ SpellCheckerPlatform::RequestTextCheck(text, document_tag, callback);
+}
+
void RenderMessageFilter::OnPlatformCheckSpelling(const string16& word,
int tag,
bool* correct) {

Powered by Google App Engine
This is Rietveld 408576698