• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #include "chrome/browser/spellcheck_message_filter.h"
6 
7 #include "chrome/browser/spellchecker_platform_engine.h"
8 #include "chrome/common/spellcheck_messages.h"
9 
SpellCheckMessageFilter()10 SpellCheckMessageFilter::SpellCheckMessageFilter() {
11 }
12 
~SpellCheckMessageFilter()13 SpellCheckMessageFilter::~SpellCheckMessageFilter() {
14 }
15 
OnMessageReceived(const IPC::Message & message,bool * message_was_ok)16 bool SpellCheckMessageFilter::OnMessageReceived(const IPC::Message& message,
17                                           bool* message_was_ok) {
18   bool handled = true;
19   IPC_BEGIN_MESSAGE_MAP_EX(SpellCheckMessageFilter, message, *message_was_ok)
20     IPC_MESSAGE_HANDLER(SpellCheckHostMsg_PlatformCheckSpelling,
21                         OnPlatformCheckSpelling)
22     IPC_MESSAGE_HANDLER(SpellCheckHostMsg_PlatformFillSuggestionList,
23                         OnPlatformFillSuggestionList)
24     IPC_MESSAGE_HANDLER(SpellCheckHostMsg_GetDocumentTag, OnGetDocumentTag)
25     IPC_MESSAGE_HANDLER(SpellCheckHostMsg_DocumentWithTagClosed,
26                         OnDocumentWithTagClosed)
27     IPC_MESSAGE_HANDLER(SpellCheckHostMsg_ShowSpellingPanel,
28                         OnShowSpellingPanel)
29     IPC_MESSAGE_HANDLER(SpellCheckHostMsg_UpdateSpellingPanelWithMisspelledWord,
30                         OnUpdateSpellingPanelWithMisspelledWord)
31     IPC_MESSAGE_HANDLER(SpellCheckHostMsg_PlatformRequestTextCheck,
32                         OnPlatformRequestTextCheck)
33     IPC_MESSAGE_UNHANDLED(handled = false)
34   IPC_END_MESSAGE_MAP()
35   return handled;
36 }
37 
OnPlatformCheckSpelling(const string16 & word,int tag,bool * correct)38 void SpellCheckMessageFilter::OnPlatformCheckSpelling(const string16& word,
39                                                       int tag,
40                                                       bool* correct) {
41   *correct = SpellCheckerPlatform::CheckSpelling(word, tag);
42 }
43 
OnPlatformFillSuggestionList(const string16 & word,std::vector<string16> * suggestions)44 void SpellCheckMessageFilter::OnPlatformFillSuggestionList(
45     const string16& word,
46     std::vector<string16>* suggestions) {
47   SpellCheckerPlatform::FillSuggestionList(word, suggestions);
48 }
49 
OnGetDocumentTag(int * tag)50 void SpellCheckMessageFilter::OnGetDocumentTag(int* tag) {
51   *tag = SpellCheckerPlatform::GetDocumentTag();
52 }
53 
OnDocumentWithTagClosed(int tag)54 void SpellCheckMessageFilter::OnDocumentWithTagClosed(int tag) {
55   SpellCheckerPlatform::CloseDocumentWithTag(tag);
56 }
57 
OnShowSpellingPanel(bool show)58 void SpellCheckMessageFilter::OnShowSpellingPanel(bool show) {
59   SpellCheckerPlatform::ShowSpellingPanel(show);
60 }
61 
OnUpdateSpellingPanelWithMisspelledWord(const string16 & word)62 void SpellCheckMessageFilter::OnUpdateSpellingPanelWithMisspelledWord(
63     const string16& word) {
64   SpellCheckerPlatform::UpdateSpellingPanelWithMisspelledWord(word);
65 }
66 
OnPlatformRequestTextCheck(int route_id,int identifier,int document_tag,const string16 & text)67 void SpellCheckMessageFilter::OnPlatformRequestTextCheck(
68     int route_id,
69     int identifier,
70     int document_tag,
71     const string16& text) {
72   SpellCheckerPlatform::RequestTextCheck(
73       route_id, identifier, document_tag, text, this);
74 }
75