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

Side by Side Diff: chrome/browser/resources/omnibox/omnibox.js

Issue 12081002: about:omnibox - add "in keyword mode" checkbox (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: forth -> fourth Created 7 years, 10 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 /** 5 /**
6 * Javascript for omnibox.html, served from chrome://omnibox/ 6 * Javascript for omnibox.html, served from chrome://omnibox/
7 * This is used to debug omnibox ranking. The user enters some text 7 * This is used to debug omnibox ranking. The user enters some text
8 * into a box, submits it, and then sees lots of debug information 8 * into a box, submits it, and then sees lots of debug information
9 * from the autocompleter that shows what omnibox would do with that 9 * from the autocompleter that shows what omnibox would do with that
10 * input. 10 * input.
11 * 11 *
12 * The simple object defined in this javascript file listens for 12 * The simple object defined in this javascript file listens for
13 * certain events on omnibox.html, sends (when appropriate) the 13 * certain events on omnibox.html, sends (when appropriate) the
14 * input text to C++ code to start the omnibox autcomplete controller 14 * input text to C++ code to start the omnibox autcomplete controller
15 * working, and listens from callbacks from the C++ code saying that 15 * working, and listens from callbacks from the C++ code saying that
16 * results are available. When results (possibly intermediate ones) 16 * results are available. When results (possibly intermediate ones)
17 * are available, the Javascript formats them and displays them. 17 * are available, the Javascript formats them and displays them.
18 */ 18 */
19 cr.define('omniboxDebug', function() { 19 cr.define('omniboxDebug', function() {
20 'use strict'; 20 'use strict';
21 21
22 /** 22 /**
23 * Register our event handlers. 23 * Register our event handlers.
24 */ 24 */
25 function initialize() { 25 function initialize() {
26 $('omnibox-input-form').addEventListener( 26 $('omnibox-input-form').addEventListener(
27 'submit', startOmniboxQuery, false); 27 'submit', startOmniboxQuery, false);
28 $('prevent-inline-autocomplete').addEventListener( 28 $('prevent-inline-autocomplete').addEventListener(
29 'change', startOmniboxQuery); 29 'change', startOmniboxQuery);
30 $('prefer-keyword').addEventListener('change', startOmniboxQuery);
30 $('show-details').addEventListener('change', refresh); 31 $('show-details').addEventListener('change', refresh);
31 $('show-incomplete-results').addEventListener('change', refresh); 32 $('show-incomplete-results').addEventListener('change', refresh);
32 $('show-all-providers').addEventListener('change', refresh); 33 $('show-all-providers').addEventListener('change', refresh);
33 } 34 }
34 35
35 /** 36 /**
36 * @type {Array.<Object>} an array of all autocomplete results we've seen 37 * @type {Array.<Object>} an array of all autocomplete results we've seen
37 * for this query. We append to this list once for every call to 38 * for this query. We append to this list once for every call to
38 * handleNewAutocompleteResult. For details on the structure of 39 * handleNewAutocompleteResult. For details on the structure of
39 * the object inside, see the comments by addResultToOutput. 40 * the object inside, see the comments by addResultToOutput.
40 */ 41 */
41 var progressiveAutocompleteResults = []; 42 var progressiveAutocompleteResults = [];
42 43
43 /** 44 /**
44 * @type {number} the value for cursor position we sent with the most 45 * @type {number} the value for cursor position we sent with the most
45 * recent request. We need to remember this in order to display it 46 * recent request. We need to remember this in order to display it
46 * in the output; otherwise it's hard or impossible to determine 47 * in the output; otherwise it's hard or impossible to determine
47 * from screen captures or print-to-PDFs. 48 * from screen captures or print-to-PDFs.
48 */ 49 */
49 var cursorPositionUsed = -1; 50 var cursorPositionUsed = -1;
50 51
51 /** 52 /**
52 * Extracts the input text from the text field and sends it to the 53 * Extracts the input text from the text field and sends it to the
53 * C++ portion of chrome to handle. The C++ code will iteratively 54 * C++ portion of chrome to handle. The C++ code will iteratively
54 * call handleNewAutocompleteResult as results come in. 55 * call handleNewAutocompleteResult as results come in.
55 */ 56 */
56 function startOmniboxQuery(event) { 57 function startOmniboxQuery(event) {
57 // First, clear the results of past calls (if any). 58 // First, clear the results of past calls (if any).
58 progressiveAutocompleteResults = []; 59 progressiveAutocompleteResults = [];
59 // Then, call chrome with a three-element list: 60 // Then, call chrome with a four-element list:
60 // - first element: the value in the text box 61 // - first element: the value in the text box
61 // - second element: the value of prevent-inline-autocomplete 62 // - second element: the location of the cursor in the text box
62 // - third element: the location of the cursor in the text box 63 // - third element: the value of prevent-inline-autocomplete
64 // - forth element: the value of prefer-keyword
63 cursorPositionUsed = $('input-text').selectionEnd; 65 cursorPositionUsed = $('input-text').selectionEnd;
64 chrome.send('startOmniboxQuery', [ 66 chrome.send('startOmniboxQuery', [
65 $('input-text').value, 67 $('input-text').value,
68 cursorPositionUsed,
66 $('prevent-inline-autocomplete').checked, 69 $('prevent-inline-autocomplete').checked,
67 cursorPositionUsed]); 70 $('prefer-keyword').checked]);
68 // Cancel the submit action. i.e., don't submit the form. (We handle 71 // Cancel the submit action. i.e., don't submit the form. (We handle
69 // display the results solely with Javascript.) 72 // display the results solely with Javascript.)
70 event.preventDefault(); 73 event.preventDefault();
71 } 74 }
72 75
73 /** 76 /**
74 * Returns a simple object with information about how to display an 77 * Returns a simple object with information about how to display an
75 * autocomplete result data field. 78 * autocomplete result data field.
76 * @param {string} header the label for the top of the column/table. 79 * @param {string} header the label for the top of the column/table.
77 * @param {string} urlLabelForHeader the URL that the header should point 80 * @param {string} urlLabelForHeader the URL that the header should point
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
433 } 436 }
434 437
435 return { 438 return {
436 initialize: initialize, 439 initialize: initialize,
437 startOmniboxQuery: startOmniboxQuery, 440 startOmniboxQuery: startOmniboxQuery,
438 handleNewAutocompleteResult: handleNewAutocompleteResult 441 handleNewAutocompleteResult: handleNewAutocompleteResult
439 }; 442 };
440 }); 443 });
441 444
442 document.addEventListener('DOMContentLoaded', omniboxDebug.initialize); 445 document.addEventListener('DOMContentLoaded', omniboxDebug.initialize);
OLDNEW
« no previous file with comments | « chrome/browser/resources/omnibox/omnibox.html ('k') | chrome/browser/ui/webui/omnibox/omnibox_ui_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698