| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 /** | 6 /** |
| 7 * @fileoverview Utilities for rendering most visited thumbnails and titles. | 7 * @fileoverview Utilities for rendering most visited thumbnails and titles. |
| 8 */ | 8 */ |
| 9 | 9 |
| 10 <include src="instant_iframe_validation.js"> | 10 <include src="instant_iframe_validation.js"> |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 link.textContent = text; | 114 link.textContent = text; |
| 115 link.addEventListener('mouseover', function() { | 115 link.addEventListener('mouseover', function() { |
| 116 var ntpApiHandle = chrome.embeddedSearch.newTabPage; | 116 var ntpApiHandle = chrome.embeddedSearch.newTabPage; |
| 117 ntpApiHandle.logEvent(NTP_LOGGING_EVENT_TYPE.NTP_MOUSEOVER); | 117 ntpApiHandle.logEvent(NTP_LOGGING_EVENT_TYPE.NTP_MOUSEOVER); |
| 118 }); | 118 }); |
| 119 | 119 |
| 120 // Webkit's security policy prevents some Most Visited thumbnails from | 120 // Webkit's security policy prevents some Most Visited thumbnails from |
| 121 // working (those with schemes different from http and https). Therefore, | 121 // working (those with schemes different from http and https). Therefore, |
| 122 // navigateContentWindow is being used in order to get all schemes working. | 122 // navigateContentWindow is being used in order to get all schemes working. |
| 123 link.addEventListener('click', function handleNavigation(e) { | 123 link.addEventListener('click', function handleNavigation(e) { |
| 124 e.preventDefault(); | |
| 125 var ntpApiHandle = chrome.embeddedSearch.newTabPage; | 124 var ntpApiHandle = chrome.embeddedSearch.newTabPage; |
| 126 if ('pos' in params && isFinite(params.pos)) { | 125 if ('pos' in params && isFinite(params.pos)) { |
| 127 ntpApiHandle.logMostVisitedNavigation(parseInt(params.pos, 10), | 126 ntpApiHandle.logMostVisitedNavigation(parseInt(params.pos, 10), |
| 128 provider || ''); | 127 provider || ''); |
| 129 } | 128 } |
| 130 ntpApiHandle.navigateContentWindow(href, getDispositionFromEvent(e)); | 129 var isServerSuggestion = 'url' in params; |
| 130 if (!isServerSuggestion) { |
| 131 e.preventDefault(); |
| 132 ntpApiHandle.navigateContentWindow(href, getDispositionFromEvent(e)); |
| 133 } |
| 134 // Else follow <a> normally, so transition type would be LINK. |
| 131 }); | 135 }); |
| 132 | 136 |
| 133 return link; | 137 return link; |
| 134 } | 138 } |
| 135 | 139 |
| 136 | 140 |
| 137 /** | 141 /** |
| 138 * Decodes most visited styles from URL parameters. | 142 * Decodes most visited styles from URL parameters. |
| 139 * - f: font-family | 143 * - f: font-family |
| 140 * - fs: font-size as a number in pixels. | 144 * - fs: font-size as a number in pixels. |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 201 data.provider = params.pr || CLIENT_PROVIDER_NAME; | 205 data.provider = params.pr || CLIENT_PROVIDER_NAME; |
| 202 } | 206 } |
| 203 if (/^javascript:/i.test(data.url) || | 207 if (/^javascript:/i.test(data.url) || |
| 204 /^javascript:/i.test(data.thumbnailUrl) || | 208 /^javascript:/i.test(data.thumbnailUrl) || |
| 205 !/^[a-z0-9]{0,8}$/i.test(data.provider)) | 209 !/^[a-z0-9]{0,8}$/i.test(data.provider)) |
| 206 return; | 210 return; |
| 207 if (data.direction) | 211 if (data.direction) |
| 208 document.body.dir = data.direction; | 212 document.body.dir = data.direction; |
| 209 fill(params, data); | 213 fill(params, data); |
| 210 } | 214 } |
| OLD | NEW |