Chromium Code Reviews| 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) { |