Chromium Code Reviews| 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..89848034589ff75f2ac5a3cca9e51ffdf3e7d031 100644 |
| --- a/chrome/browser/resources/hotword_helper/manager.js |
| +++ b/chrome/browser/resources/hotword_helper/manager.js |
| @@ -124,6 +124,27 @@ OptInManager.prototype.handleMessage_ = function( |
| return false; |
| }; |
| +/** |
| + * Helper function to test urls. |
|
James Hawkins
2014/05/09 02:54:27
Can you update the method name and documentation t
rpetterson
2014/05/09 06:07:20
Done.
|
| + * @param {string} url Url to check. |
| + * @param {string} base Base url to compare against.. |
| + * @return {boolean} True if url is eligible hotword url. |
| + */ |
| +OptInManager.prototype.checkUrl = function(url, base) { |
| + if (!url) |
| + return false; |
| + |
| + 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; |
| + } |
| + return false; |
| + |
| +}; |
| /** |
| * Determines if a URL is eligible for hotwording. For now, the |
| @@ -136,20 +157,28 @@ OptInManager.prototype.isEligibleUrl = function(url) { |
| return false; |
| 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' |
| + ]; |
| + |
| + if (this.checkUrl(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; |
| + for (var i = 0; i < baseGoogleUrls.length; i++) { |
| + for (var j = 0; j < tlds.length; j++) { |
| + var base = baseGoogleUrls[i] + tlds[j]; |
| + if (this.checkUrl(url, base)) |
| + return true; |
| } |
| } |
| return false; |