| Index: chrome/browser/translate/translate_manager.h
|
| diff --git a/chrome/browser/translate/translate_manager.h b/chrome/browser/translate/translate_manager.h
|
| index 78b3a3f856f87843ffab32ed8c9970689a7e4af0..9cb5ab35bac87f9d8cd3780373e3d901adb5e1c8 100644
|
| --- a/chrome/browser/translate/translate_manager.h
|
| +++ b/chrome/browser/translate/translate_manager.h
|
| @@ -14,6 +14,7 @@
|
| #include "base/lazy_instance.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/memory/weak_ptr.h"
|
| +#include "base/observer_list.h"
|
| #include "base/prefs/pref_change_registrar.h"
|
| #include "base/time.h"
|
| #include "chrome/common/translate_errors.h"
|
| @@ -23,6 +24,7 @@
|
|
|
| template <typename T> struct DefaultSingletonTraits;
|
| class GURL;
|
| +struct LanguageDetectionDetails;
|
| struct PageTranslatedDetails;
|
| class PrefService;
|
| struct ShortcutConfiguration;
|
| @@ -110,6 +112,18 @@ class TranslateManager : public content::NotificationObserver,
|
| // static const values shared with our browser tests.
|
| static const char kLanguageListCallbackName[];
|
| static const char kTargetLanguagesKey[];
|
| +
|
| + // The observer class for TranslateManager.
|
| + class Observer {
|
| + public:
|
| + virtual void OnLanguageDetection(
|
| + const LanguageDetectionDetails& details) = 0;
|
| + };
|
| +
|
| + // Adds/removes observer.
|
| + void AddObserver(Observer* obs);
|
| + void RemoveObserver(Observer* obs);
|
| +
|
| protected:
|
| TranslateManager();
|
|
|
| @@ -169,6 +183,9 @@ class TranslateManager : public content::NotificationObserver,
|
| // to translate it).
|
| void RequestTranslateScript();
|
|
|
| + // Notifies to the observers when a language is detected.
|
| + void NotifyLanguageDetection(const LanguageDetectionDetails& details);
|
| +
|
| // Returns the language to translate to. The language returned is the
|
| // first language found in the following list that is supported by the
|
| // translation service:
|
| @@ -217,6 +234,9 @@ class TranslateManager : public content::NotificationObserver,
|
| // The languages supported by the translation server.
|
| static base::LazyInstance<std::set<std::string> > supported_languages_;
|
|
|
| + // List of registered observers.
|
| + ObserverList<Observer> observer_list_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(TranslateManager);
|
| };
|
|
|
|
|