| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 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_TRANSLATE_TRANSLATE_MANAGER_H_ | 5 #ifndef CHROME_BROWSER_TRANSLATE_TRANSLATE_MANAGER_H_ |
| 6 #define CHROME_BROWSER_TRANSLATE_TRANSLATE_MANAGER_H_ | 6 #define CHROME_BROWSER_TRANSLATE_TRANSLATE_MANAGER_H_ |
| 7 #pragma once | 7 #pragma once |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <set> | 10 #include <set> |
| 11 #include <string> | 11 #include <string> |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 virtual void Observe(int type, | 76 virtual void Observe(int type, |
| 77 const content::NotificationSource& source, | 77 const content::NotificationSource& source, |
| 78 const content::NotificationDetails& details) OVERRIDE; | 78 const content::NotificationDetails& details) OVERRIDE; |
| 79 | 79 |
| 80 // content::URLFetcherDelegate implementation: | 80 // content::URLFetcherDelegate implementation: |
| 81 virtual void OnURLFetchComplete(const content::URLFetcher* source) OVERRIDE; | 81 virtual void OnURLFetchComplete(const content::URLFetcher* source) OVERRIDE; |
| 82 | 82 |
| 83 // Used by unit-tests to override the default delay after which the translate | 83 // Used by unit-tests to override the default delay after which the translate |
| 84 // script is fetched again from the translation server. | 84 // script is fetched again from the translation server. |
| 85 void set_translate_script_expiration_delay(int delay_ms) { | 85 void set_translate_script_expiration_delay(int delay_ms) { |
| 86 translate_script_expiration_delay_ = | 86 translate_script_expiration_delay_ = delay_ms; |
| 87 base::TimeDelta::FromMilliseconds(delay_ms); | |
| 88 } | 87 } |
| 89 | 88 |
| 90 // Convenience method to know if a tab is showing a translate infobar. | 89 // Convenience method to know if a tab is showing a translate infobar. |
| 91 static bool IsShowingTranslateInfobar(content::WebContents* tab); | 90 static bool IsShowingTranslateInfobar(content::WebContents* tab); |
| 92 | 91 |
| 93 // Returns true if the URL can be translated. | 92 // Returns true if the URL can be translated. |
| 94 static bool IsTranslatableURL(const GURL& url); | 93 static bool IsTranslatableURL(const GURL& url); |
| 95 | 94 |
| 96 // Fills |languages| with the list of languages that the translate server can | 95 // Fills |languages| with the list of languages that the translate server can |
| 97 // translate to and from. | 96 // translate to and from. |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 192 // A map that associates a profile with its parsed "accept languages". | 191 // A map that associates a profile with its parsed "accept languages". |
| 193 typedef std::set<std::string> LanguageSet; | 192 typedef std::set<std::string> LanguageSet; |
| 194 typedef std::map<PrefService*, LanguageSet> PrefServiceLanguagesMap; | 193 typedef std::map<PrefService*, LanguageSet> PrefServiceLanguagesMap; |
| 195 PrefServiceLanguagesMap accept_languages_; | 194 PrefServiceLanguagesMap accept_languages_; |
| 196 | 195 |
| 197 base::WeakPtrFactory<TranslateManager> weak_method_factory_; | 196 base::WeakPtrFactory<TranslateManager> weak_method_factory_; |
| 198 | 197 |
| 199 // The JS injected in the page to do the translation. | 198 // The JS injected in the page to do the translation. |
| 200 std::string translate_script_; | 199 std::string translate_script_; |
| 201 | 200 |
| 202 // Delay after which the translate script is fetched again | 201 // Delay in milli-seconds after which the translate script is fetched again |
| 203 // from the translate server. | 202 // from the translate server. |
| 204 base::TimeDelta translate_script_expiration_delay_; | 203 int translate_script_expiration_delay_; |
| 205 | 204 |
| 206 // Set when the translate JS is currently being retrieved. NULL otherwise. | 205 // Set when the translate JS is currently being retrieved. NULL otherwise. |
| 207 scoped_ptr<content::URLFetcher> translate_script_request_pending_; | 206 scoped_ptr<content::URLFetcher> translate_script_request_pending_; |
| 208 | 207 |
| 209 // Set when the list of languages is currently being retrieved. | 208 // Set when the list of languages is currently being retrieved. |
| 210 // NULL otherwise. | 209 // NULL otherwise. |
| 211 scoped_ptr<content::URLFetcher> language_list_request_pending_; | 210 scoped_ptr<content::URLFetcher> language_list_request_pending_; |
| 212 | 211 |
| 213 // The list of pending translate requests. Translate requests are queued when | 212 // The list of pending translate requests. Translate requests are queued when |
| 214 // the translate script is not ready and has to be fetched from the translate | 213 // the translate script is not ready and has to be fetched from the translate |
| 215 // server. | 214 // server. |
| 216 std::vector<PendingRequest> pending_requests_; | 215 std::vector<PendingRequest> pending_requests_; |
| 217 | 216 |
| 218 // The languages supported by the translation server. | 217 // The languages supported by the translation server. |
| 219 static base::LazyInstance<std::set<std::string> > supported_languages_; | 218 static base::LazyInstance<std::set<std::string> > supported_languages_; |
| 220 | 219 |
| 221 DISALLOW_COPY_AND_ASSIGN(TranslateManager); | 220 DISALLOW_COPY_AND_ASSIGN(TranslateManager); |
| 222 }; | 221 }; |
| 223 | 222 |
| 224 #endif // CHROME_BROWSER_TRANSLATE_TRANSLATE_MANAGER_H_ | 223 #endif // CHROME_BROWSER_TRANSLATE_TRANSLATE_MANAGER_H_ |
| OLD | NEW |