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

Unified Diff: chrome/browser/extensions/api/i18n/i18n_api.h

Issue 1208993011: New thin layer of API extension chrome.i18n.detectLanguage (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed after the review Created 5 years, 5 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/extensions/api/i18n/i18n_api.h
diff --git a/chrome/browser/extensions/api/i18n/i18n_api.h b/chrome/browser/extensions/api/i18n/i18n_api.h
index 5863aaacf22c42625d43467e99cc5928bb968db7..55de314025c4f3e332879c292b56d9546411e412 100644
--- a/chrome/browser/extensions/api/i18n/i18n_api.h
+++ b/chrome/browser/extensions/api/i18n/i18n_api.h
@@ -5,8 +5,14 @@
#ifndef CHROME_BROWSER_EXTENSIONS_API_I18N_I18N_API_H_
#define CHROME_BROWSER_EXTENSIONS_API_I18N_I18N_API_H_
+#include <string>
+
+#include "base/strings/string16.h"
+#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/extensions/chrome_extension_function.h"
#include "extensions/browser/browser_context_keyed_api_factory.h"
+#include "third_party/cld_2/src/public/compact_lang_det.h"
+#include "third_party/cld_2/src/public/encodings.h"
class Profile;
@@ -18,6 +24,24 @@ class I18nGetAcceptLanguagesFunction : public ChromeSyncExtensionFunction {
DECLARE_EXTENSION_FUNCTION("i18n.getAcceptLanguages", I18N_GETACCEPTLANGUAGES)
};
+typedef struct {
+ std::string language;
+ int percentage;
+} DetectedLanguage;
+
+class I18nDetectLanguageFunction : public ChromeAsyncExtensionFunction {
not at google - send to devlin 2015/07/08 19:34:53 Inherit from UIThreadExtensionFunction not ChromeA
amalika 2015/07/08 21:58:03 Changed to inherit from AsyncExtensionFunction ins
not at google - send to devlin 2015/07/08 22:11:49 The comment right above that says DEPRECATED. Plea
amalika 2015/07/09 23:00:02 Done.
+ private:
+ ~I18nDetectLanguageFunction() override {};
+ bool RunAsync() override;
+ void GetLanguage(const std::string& text);
+ void SendLanguagesResult(DetectedLanguage *detected_langs,
+ const bool is_reliable);
not at google - send to devlin 2015/07/08 19:34:53 There is no point having const things that aren't
amalika 2015/07/08 21:58:03 Done.
+ void InitDetectedLanguages(CLD2::Language *langs, int *percent3,
+ DetectedLanguage detected_langs[3]);
+
+ DECLARE_EXTENSION_FUNCTION("i18n.detectLanguage", I18N_DETECTLANGUAGE)
+};
+
} // namespace extensions
#endif // CHROME_BROWSER_EXTENSIONS_API_I18N_I18N_API_H_

Powered by Google App Engine
This is Rietveld 408576698