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

Unified Diff: chrome/browser/resources/hotword_helper/manager.js

Issue 277523005: [Hotword] Add new base URLs for the additional languages so it works on their respective local sear… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: clarify comments Created 6 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/resources/hotword_helper/manager.js
diff --git a/chrome/browser/resources/hotword_helper/manager.js b/chrome/browser/resources/hotword_helper/manager.js
index 3fcdb05653ff594c011a009a53b0208a89a87df7..271cb152b9a7535dd3e023321d173cc9bc23a9cd 100644
--- a/chrome/browser/resources/hotword_helper/manager.js
+++ b/chrome/browser/resources/hotword_helper/manager.js
@@ -124,32 +124,67 @@ OptInManager.prototype.handleMessage_ = function(
return false;
};
+/**
+ * Helper function to test URLs as being valid for running the
+ * hotwording extension. It's used by isEligibleUrl to make that
+ * function clearer.
+ * @param {string} url URL to check.
+ * @param {string} base Base URL to compare against..
+ * @return {boolean} True if url is an eligible hotword URL.
+ */
+OptInManager.prototype.checkEligibleUrl = function(url, base) {
+ if (!url)
+ return false;
+
+ if (url === base ||
+ url === base + '/' ||
+ url.indexOf(base + '/_/chrome/newtab?') === 0 || // Appcache NTP.
+ url.indexOf(base + '/?') === 0 ||
+ url.indexOf(base + '/#') === 0 ||
+ url.indexOf(base + '/webhp') === 0 ||
+ url.indexOf(base + '/search') === 0) {
+ return true;
+ }
+ return false;
+
+};
/**
* Determines if a URL is eligible for hotwording. For now, the
* valid pages are the Google HP and SERP (this will include the NTP).
- * @param {string} url Url to check.
- * @return {boolean} True if url is eligible hotword url.
+ * @param {string} url URL to check.
+ * @return {boolean} True if url is an eligible hotword URL.
*/
OptInManager.prototype.isEligibleUrl = function(url) {
if (!url)
return false;
+ // More URLs will be added in the future so leaving this as an array.
var baseUrls = [
- 'https://www.google.com',
- 'chrome://newtab',
- 'https://encrypted.google.com'
+ 'chrome://newtab'
+ ];
+ var baseGoogleUrls = [
+ 'https://www.google.',
+ 'https://encrypted.google.'
];
+ var tlds = [
+ 'com',
+ 'co.uk',
+ 'de',
+ 'fr',
+ 'ru'
+ ];
+
+ // Check URLs which do not have locale-based TLDs first.
+ if (this.checkEligibleUrl(url, baseUrls[0]))
+ return true;
- for (var i = 0; i < baseUrls.length; i++) {
- var base = baseUrls[i];
- if (url === base + '/' ||
- url.indexOf(base + '/_/chrome/newtab?') === 0 || // Appcache NTP.
- url.indexOf(base + '/?') === 0 ||
- url.indexOf(base + '/#') === 0 ||
- url.indexOf(base + '/webhp') === 0 ||
- url.indexOf(base + '/search') === 0) {
- return true;
+ // Check URLs with each type of local-based TLD.
+ for (var i = 0; i < baseGoogleUrls.length; i++) {
+ for (var j = 0; j < tlds.length; j++) {
+ var base = baseGoogleUrls[i] + tlds[j];
+ if (this.checkEligibleUrl(url, base))
+ return true;
}
}
return false;
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698