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

Side by Side Diff: chrome/browser/spellchecker/spellcheck_service.h

Issue 654653002: Enables the user to select multiple languages for spellchecking (UI) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Temporarily disabled tests, fixed a bug Created 6 years, 1 month 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_SPELLCHECKER_SPELLCHECK_SERVICE_H_ 5 #ifndef CHROME_BROWSER_SPELLCHECKER_SPELLCHECK_SERVICE_H_
6 #define CHROME_BROWSER_SPELLCHECKER_SPELLCHECK_SERVICE_H_ 6 #define CHROME_BROWSER_SPELLCHECKER_SPELLCHECK_SERVICE_H_
7 7
8 #include "base/compiler_specific.h" 8 #include "base/compiler_specific.h"
9 #include "base/gtest_prod_util.h" 9 #include "base/gtest_prod_util.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 }; 53 };
54 54
55 explicit SpellcheckService(content::BrowserContext* context); 55 explicit SpellcheckService(content::BrowserContext* context);
56 virtual ~SpellcheckService(); 56 virtual ~SpellcheckService();
57 57
58 // This function computes a vector of strings which are to be displayed in 58 // This function computes a vector of strings which are to be displayed in
59 // the context menu over a text area for changing spell check languages. It 59 // the context menu over a text area for changing spell check languages. It
60 // returns the index of the current spell check language in the vector. 60 // returns the index of the current spell check language in the vector.
61 // TODO(port): this should take a vector of base::string16, but the 61 // TODO(port): this should take a vector of base::string16, but the
62 // implementation has some dependencies in l10n util that need porting first. 62 // implementation has some dependencies in l10n util that need porting first.
63 static int GetSpellCheckLanguages(content::BrowserContext* context, 63 static std::set<int> GetSpellCheckLanguages(
64 std::vector<std::string>* languages); 64 content::BrowserContext* context,
65 std::vector<std::string>* languages);
65 66
66 // Computes a vector of strings which are to be displayed in the context 67 // Computes a vector of strings which are to be displayed in the context
67 // menu from |accept_languages| and |dictionary_language|. 68 // menu from |accept_languages| and |dictionary_language|.
68 static void GetSpellCheckLanguagesFromAcceptLanguages( 69 static void GetSpellCheckLanguagesFromAcceptLanguages(
69 const std::vector<std::string>& accept_languages, 70 const std::vector<std::string>& accept_languages,
70 const std::string& dictionary_language,
71 std::vector<std::string>* languages); 71 std::vector<std::string>* languages);
72 72
73 // Signals the event attached by AttachTestEvent() to report the specified 73 // Signals the event attached by AttachTestEvent() to report the specified
74 // event to browser tests. This function is called by this class and its 74 // event to browser tests. This function is called by this class and its
75 // derived classes to report their status. This function does not do anything 75 // derived classes to report their status. This function does not do anything
76 // when we do not set an event to |status_event_|. 76 // when we do not set an event to |status_event_|.
77 static bool SignalStatusEvent(EventType type); 77 static bool SignalStatusEvent(EventType type);
78 78
79 // Instantiates SpellCheckHostMetrics object and makes it ready for recording 79 // Instantiates SpellCheckHostMetrics object and makes it ready for recording
80 // metrics. This should be called only if the metrics recording is active. 80 // metrics. This should be called only if the metrics recording is active.
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 120
121 // SpellcheckHunspellDictionary::Observer implementation. 121 // SpellcheckHunspellDictionary::Observer implementation.
122 virtual void OnHunspellDictionaryInitialized() override; 122 virtual void OnHunspellDictionaryInitialized() override;
123 virtual void OnHunspellDictionaryDownloadBegin() override; 123 virtual void OnHunspellDictionaryDownloadBegin() override;
124 virtual void OnHunspellDictionaryDownloadSuccess() override; 124 virtual void OnHunspellDictionaryDownloadSuccess() override;
125 virtual void OnHunspellDictionaryDownloadFailure() override; 125 virtual void OnHunspellDictionaryDownloadFailure() override;
126 126
127 private: 127 private:
128 FRIEND_TEST_ALL_PREFIXES(SpellcheckServiceBrowserTest, DeleteCorruptedBDICT); 128 FRIEND_TEST_ALL_PREFIXES(SpellcheckServiceBrowserTest, DeleteCorruptedBDICT);
129 129
130 static std::vector<std::string> GetAcceptLanguages(PrefService* prefs);
131 static std::vector<std::string> GetSpellCheckDictionaryLanguages(
132 PrefService* prefs);
133
130 // Attaches an event so browser tests can listen the status events. 134 // Attaches an event so browser tests can listen the status events.
131 static void AttachStatusEvent(base::WaitableEvent* status_event); 135 static void AttachStatusEvent(base::WaitableEvent* status_event);
132 136
133 // Returns the status event type. 137 // Returns the status event type.
134 static EventType GetStatusEvent(); 138 static EventType GetStatusEvent();
135 139
136 // Pass all renderers some basic initialization information. 140 // Pass all renderers some basic initialization information.
137 void InitForAllRenderers(); 141 void InitForAllRenderers();
138 142
139 // Reacts to a change in user preferences on whether auto-spell-correct should 143 // Reacts to a change in user preferences on whether auto-spell-correct should
(...skipping 24 matching lines...) Expand all
164 scoped_ptr<SpellcheckHunspellDictionary> hunspell_dictionary_; 168 scoped_ptr<SpellcheckHunspellDictionary> hunspell_dictionary_;
165 169
166 scoped_ptr<spellcheck::FeedbackSender> feedback_sender_; 170 scoped_ptr<spellcheck::FeedbackSender> feedback_sender_;
167 171
168 base::WeakPtrFactory<SpellcheckService> weak_ptr_factory_; 172 base::WeakPtrFactory<SpellcheckService> weak_ptr_factory_;
169 173
170 DISALLOW_COPY_AND_ASSIGN(SpellcheckService); 174 DISALLOW_COPY_AND_ASSIGN(SpellcheckService);
171 }; 175 };
172 176
173 #endif // CHROME_BROWSER_SPELLCHECKER_SPELLCHECK_SERVICE_H_ 177 #endif // CHROME_BROWSER_SPELLCHECKER_SPELLCHECK_SERVICE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698