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

Unified Diff: chrome/browser/translate/translate_manager.h

Issue 14494004: Added the 'Translation Logs' tab to chrome://translate-internals/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: first commit Created 7 years, 7 months 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 side-by-side diff with in-line comments
Download patch
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);
};

Powered by Google App Engine
This is Rietveld 408576698