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 /** | 5 /** |
6 * Javascript for suggestions_internals.html, served from | 6 * Javascript for suggestions_internals.html, served from |
7 * chrome://suggestions-internals/. This is used to debug suggestions ranking. | 7 * chrome://suggestions-internals/. This is used to debug suggestions ranking. |
8 * When loaded, the page will show the current set of suggestions, along with a | 8 * When loaded, the page will show the current set of suggestions, along with a |
9 * large set of information (e.g. all the signals that were taken into | 9 * large set of information (e.g. all the signals that were taken into |
10 * consideration for deciding which pages were selected to be shown to the user) | 10 * consideration for deciding which pages were selected to be shown to the user) |
(...skipping 23 matching lines...) Expand all Loading... |
34 * Reloads the suggestions data by sending a 'getSuggestions' message to | 34 * Reloads the suggestions data by sending a 'getSuggestions' message to |
35 * Chrome. The C++ code is then expected to call 'setSuggestions' when there | 35 * Chrome. The C++ code is then expected to call 'setSuggestions' when there |
36 * are suggestions ready. | 36 * are suggestions ready. |
37 */ | 37 */ |
38 function refresh() { | 38 function refresh() { |
39 chrome.send('getSuggestions'); | 39 chrome.send('getSuggestions'); |
40 } | 40 } |
41 | 41 |
42 /** | 42 /** |
43 * A list of columns that we do not want to display. | 43 * A list of columns that we do not want to display. |
44 * @type {Array.<string>} | 44 * @type {Array<string>} |
45 * @const | 45 * @const |
46 */ | 46 */ |
47 var IGNORED_COLUMNS = [ | 47 var IGNORED_COLUMNS = [ |
48 'direction' | 48 'direction' |
49 ]; | 49 ]; |
50 | 50 |
51 /** | 51 /** |
52 * A list specifying the name of the first columns to be displayed. If | 52 * A list specifying the name of the first columns to be displayed. If |
53 * present, they will be displayed in this order, followed by the remaining | 53 * present, they will be displayed in this order, followed by the remaining |
54 * columns. | 54 * columns. |
55 * @type {Array.<string>} | 55 * @type {Array<string>} |
56 * @const | 56 * @const |
57 */ | 57 */ |
58 var PREFERRED_COLUMN_ORDER = [ | 58 var PREFERRED_COLUMN_ORDER = [ |
59 'title', | 59 'title', |
60 'url', | 60 'url', |
61 'score' | 61 'score' |
62 ]; | 62 ]; |
63 | 63 |
64 function setBooleanColumn(column, value) { | 64 function setBooleanColumn(column, value) { |
65 if (value) { | 65 if (value) { |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
153 anchor.innerText = data; | 153 anchor.innerText = data; |
154 column.appendChild(anchor); | 154 column.appendChild(anchor); |
155 } else { | 155 } else { |
156 column.innerText = data; | 156 column.innerText = data; |
157 } | 157 } |
158 } else if (columnName == 'rank') { | 158 } else if (columnName == 'rank') { |
159 column.innerText = rank++; | 159 column.innerText = rank++; |
160 } else if (columnName == 'screenshot') { | 160 } else if (columnName == 'screenshot') { |
161 var thumbnailUrl = 'chrome://thumb/' + entry.url; | 161 var thumbnailUrl = 'chrome://thumb/' + entry.url; |
162 var img = document.createElement('img'); | 162 var img = document.createElement('img'); |
163 img.onload = function() { setBooleanColumn(column, true); } | 163 img.onload = function() { setBooleanColumn(column, true); }; |
164 img.onerror = function() { setBooleanColumn(column, false); } | 164 img.onerror = function() { setBooleanColumn(column, false); }; |
165 img.src = thumbnailUrl; | 165 img.src = thumbnailUrl; |
166 } else if (columnName == 'favicon') { | 166 } else if (columnName == 'favicon') { |
167 var faviconUrl = 'chrome://favicon/size/16@1x/' + entry.url; | 167 var faviconUrl = 'chrome://favicon/size/16@1x/' + entry.url; |
168 column.style.backgroundImage = url(faviconUrl); | 168 column.style.backgroundImage = url(faviconUrl); |
169 column.style.backgroundRepeat = 'no-repeat'; | 169 column.style.backgroundRepeat = 'no-repeat'; |
170 column.style.backgroundPosition = 'center center'; | 170 column.style.backgroundPosition = 'center center'; |
171 } | 171 } |
172 row.appendChild(column); | 172 row.appendChild(column); |
173 }); | 173 }); |
174 table.appendChild(row); | 174 table.appendChild(row); |
175 }); | 175 }); |
176 | 176 |
177 output.appendChild(table); | 177 output.appendChild(table); |
178 } | 178 } |
179 | 179 |
180 return { | 180 return { |
181 initialize: initialize, | 181 initialize: initialize, |
182 setSuggestions: setSuggestions | 182 setSuggestions: setSuggestions |
183 }; | 183 }; |
184 }); | 184 }); |
185 | 185 |
186 document.addEventListener('DOMContentLoaded', suggestionsInternals.initialize); | 186 document.addEventListener('DOMContentLoaded', suggestionsInternals.initialize); |
OLD | NEW |