OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 cr.define('options', function() { | 5 cr.define('options', function() { |
6 /** @const */ var Page = cr.ui.pageManager.Page; | 6 /** @const */ var Page = cr.ui.pageManager.Page; |
7 /** @const */ var PageManager = cr.ui.pageManager.PageManager; | 7 /** @const */ var PageManager = cr.ui.pageManager.PageManager; |
8 | 8 |
9 /** | 9 /** |
10 * Encapsulated handling of a search bubble. | 10 * Encapsulated handling of a search bubble. |
11 * @constructor | 11 * @constructor |
12 */ | 12 */ |
13 function SearchBubble(text) { | 13 function SearchBubble(text) { |
14 var el = cr.doc.createElement('div'); | 14 var el = cr.doc.createElement('div'); |
15 SearchBubble.decorate(el); | 15 SearchBubble.decorate(el); |
16 el.content = text; | 16 el.content = text; |
17 return el; | 17 return el; |
18 } | 18 } |
19 | 19 |
20 /** | |
21 * Guests on Desktop cannot search. Permitted otherwise. | |
22 */ | |
23 function ShouldEnableSearch() { | |
24 if (loadTimeData.getBoolean('profileIsGuest') && !cr.isChromeOS) | |
Evan Stade
2014/09/05 21:02:33
return (expression);
Mike Lerman
2014/09/08 13:51:14
Done.
| |
25 return false; | |
26 return true; | |
27 } | |
28 | |
20 SearchBubble.decorate = function(el) { | 29 SearchBubble.decorate = function(el) { |
21 el.__proto__ = SearchBubble.prototype; | 30 el.__proto__ = SearchBubble.prototype; |
22 el.decorate(); | 31 el.decorate(); |
23 }; | 32 }; |
24 | 33 |
25 SearchBubble.prototype = { | 34 SearchBubble.prototype = { |
26 __proto__: HTMLDivElement.prototype, | 35 __proto__: HTMLDivElement.prototype, |
27 | 36 |
28 decorate: function() { | 37 decorate: function() { |
29 this.className = 'search-bubble'; | 38 this.className = 'search-bubble'; |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
180 * Update the UI to reflect whether we are in a search state. | 189 * Update the UI to reflect whether we are in a search state. |
181 * @param {boolean} active True if we are on the search page. | 190 * @param {boolean} active True if we are on the search page. |
182 * @private | 191 * @private |
183 */ | 192 */ |
184 setSearchActive_: function(active) { | 193 setSearchActive_: function(active) { |
185 // It's fine to exit if search wasn't active and we're not going to | 194 // It's fine to exit if search wasn't active and we're not going to |
186 // activate it now. | 195 // activate it now. |
187 if (!this.searchActive_ && !active) | 196 if (!this.searchActive_ && !active) |
188 return; | 197 return; |
189 | 198 |
190 // Guest users should never have active search. | 199 if (!ShouldEnableSearch()) |
191 if (loadTimeData.getBoolean('profileIsGuest')) | |
192 return; | 200 return; |
193 | 201 |
194 this.searchActive_ = active; | 202 this.searchActive_ = active; |
195 | 203 |
196 if (active) { | 204 if (active) { |
197 var hash = location.hash; | 205 var hash = location.hash; |
198 if (hash) { | 206 if (hash) { |
199 this.searchField.value = | 207 this.searchField.value = |
200 decodeURIComponent(hash.slice(1).replace(/\+/g, ' ')); | 208 decodeURIComponent(hash.slice(1).replace(/\+/g, ' ')); |
201 } else if (!this.searchField.value) { | 209 } else if (!this.searchField.value) { |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
257 } | 265 } |
258 } | 266 } |
259 }, | 267 }, |
260 | 268 |
261 /** | 269 /** |
262 * Set the current search criteria. | 270 * Set the current search criteria. |
263 * @param {string} text Search text. | 271 * @param {string} text Search text. |
264 * @private | 272 * @private |
265 */ | 273 */ |
266 setSearchText_: function(text) { | 274 setSearchText_: function(text) { |
267 // Guest users should never have search text. | 275 if (!ShouldEnableSearch()) |
268 if (loadTimeData.getBoolean('profileIsGuest')) | |
269 return; | 276 return; |
270 | 277 |
271 // Prevent recursive execution of this method. | 278 // Prevent recursive execution of this method. |
272 if (this.insideSetSearchText_) return; | 279 if (this.insideSetSearchText_) return; |
273 this.insideSetSearchText_ = true; | 280 this.insideSetSearchText_ = true; |
274 | 281 |
275 // Cleanup the search query string. | 282 // Cleanup the search query string. |
276 text = SearchPage.canonicalizeQuery(text); | 283 text = SearchPage.canonicalizeQuery(text); |
277 | 284 |
278 // Set the hash on the current page, and the enclosing uber page. Only do | 285 // Set the hash on the current page, and the enclosing uber page. Only do |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
576 // Trim beginning and ending whitespace. | 583 // Trim beginning and ending whitespace. |
577 return text.replace(/^\s+|\s+$/g, ''); | 584 return text.replace(/^\s+|\s+$/g, ''); |
578 }; | 585 }; |
579 | 586 |
580 // Export | 587 // Export |
581 return { | 588 return { |
582 SearchPage: SearchPage | 589 SearchPage: SearchPage |
583 }; | 590 }; |
584 | 591 |
585 }); | 592 }); |
OLD | NEW |