Index: components/spellcheck/renderer/spellcheck.h |
diff --git a/components/spellcheck/renderer/spellcheck.h b/components/spellcheck/renderer/spellcheck.h |
index 4e8582537fe0915eafdc90936275c147dd6ddc93..c5a839f7ba699cf5763823002805e7e453bff455 100644 |
--- a/components/spellcheck/renderer/spellcheck.h |
+++ b/components/spellcheck/renderer/spellcheck.h |
@@ -15,11 +15,12 @@ |
#include "base/macros.h" |
#include "base/memory/weak_ptr.h" |
#include "base/strings/string16.h" |
+#include "components/spellcheck/common/spellcheck.mojom.h" |
#include "components/spellcheck/renderer/custom_dictionary_engine.h" |
#include "components/spellcheck/spellcheck_build_features.h" |
#include "content/public/renderer/render_thread_observer.h" |
+#include "mojo/public/cpp/bindings/binding_set.h" |
-struct SpellCheckBDictLanguage; |
class SpellcheckLanguage; |
struct SpellCheckResult; |
@@ -29,8 +30,8 @@ struct WebTextCheckingResult; |
template <typename T> class WebVector; |
} |
-namespace IPC { |
-class Message; |
+namespace service_manager { |
+struct BindSourceInfo; |
} |
// TODO(morrita): Needs reorg with SpellCheckProvider. |
@@ -38,7 +39,8 @@ class Message; |
// Shared spellchecking logic/data for a RenderProcess. All RenderViews use |
// this object to perform spellchecking tasks. |
class SpellCheck : public content::RenderThreadObserver, |
- public base::SupportsWeakPtr<SpellCheck> { |
+ public base::SupportsWeakPtr<SpellCheck>, |
+ public spellcheck::mojom::SpellChecker { |
public: |
// TODO(groby): I wonder if this can be private, non-mac only. |
class SpellcheckRequest; |
@@ -121,15 +123,18 @@ class SpellCheck : public content::RenderThreadObserver, |
const std::vector<std::vector<base::string16>>& suggestions_list, |
std::vector<base::string16>* optional_suggestions); |
- // RenderThreadObserver implementation: |
- bool OnControlMessageReceived(const IPC::Message& message) override; |
+ // Binds requests for the SpellChecker interface. |
+ void SpellCheckerRequest(const service_manager::BindSourceInfo& source_info, |
+ spellcheck::mojom::SpellCheckerRequest request); |
- // Message handlers. |
- void OnInit(const std::vector<SpellCheckBDictLanguage>& bdict_languages, |
- const std::set<std::string>& custom_words); |
- void OnCustomDictionaryChanged(const std::set<std::string>& words_added, |
- const std::set<std::string>& words_removed); |
- void OnEnableSpellCheck(bool enable); |
+ // spellcheck::mojom::SpellChecker: |
+ void Initialize( |
+ std::vector<spellcheck::mojom::SpellCheckBDictLanguagePtr> dictionaries, |
+ const std::vector<std::string>& custom_words, |
+ bool enable) override; |
+ void CustomDictionaryChanged( |
+ const std::vector<std::string>& words_added, |
+ const std::vector<std::string>& words_removed) override; |
#if !BUILDFLAG(USE_BROWSER_SPELLCHECKER) |
// Posts delayed spellcheck task and clear it if any. |
@@ -147,6 +152,9 @@ class SpellCheck : public content::RenderThreadObserver, |
std::unique_ptr<SpellcheckRequest> pending_request_param_; |
#endif |
+ // Bindings for SpellChecker clients. |
+ mojo::BindingSet<spellcheck::mojom::SpellChecker> spellchecker_bindings_; |
+ |
// A vector of objects used to actually check spelling, one for each enabled |
// language. |
std::vector<std::unique_ptr<SpellcheckLanguage>> languages_; |