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 Rendering for iframed most visited thumbnails. | 7 * @fileoverview Rendering for iframed most visited thumbnails. |
8 */ | 8 */ |
9 | 9 |
10 window.addEventListener('DOMContentLoaded', function() { | 10 window.addEventListener('DOMContentLoaded', function() { |
11 'use strict'; | 11 'use strict'; |
12 | 12 |
13 fillMostVisited(document.location, function(params, data) { | 13 fillMostVisited(document.location, function(params, data) { |
14 function logEvent(eventName) { | 14 function logEvent(eventName) { |
15 chrome.embeddedSearch.newTabPage.logEvent(eventName); | 15 chrome.embeddedSearch.newTabPage.logEvent(eventName); |
16 } | 16 } |
17 function logImpression(tileIndex, provider) { | 17 function logImpression(tileIndex, provider) { |
18 chrome.embeddedSearch.newTabPage.logImpression(tileIndex, provider); | 18 chrome.embeddedSearch.newTabPage.logImpression(tileIndex, provider); |
19 } | 19 } |
20 function displayLink(link) { | 20 function displayLink(link) { |
21 document.body.appendChild(link); | 21 document.body.appendChild(link); |
22 window.parent.postMessage('linkDisplayed', '{{ORIGIN}}'); | 22 window.parent.postMessage('linkDisplayed', '{{ORIGIN}}'); |
23 } | 23 } |
24 function showDomainElement() { | 24 function showDomainElement() { |
25 var link = createMostVisitedLink( | 25 var link = createMostVisitedLink( |
26 params, data.url, data.title, undefined, data.ping, data.provider); | 26 params, data.url, data.title, undefined, data.provider); |
27 var domain = document.createElement('div'); | 27 var domain = document.createElement('div'); |
28 domain.textContent = data.domain; | 28 domain.textContent = data.domain; |
29 link.appendChild(domain); | 29 link.appendChild(domain); |
30 displayLink(link); | 30 displayLink(link); |
31 } | 31 } |
32 // Called on intentionally empty tiles for which the visuals are handled | 32 // Called on intentionally empty tiles for which the visuals are handled |
33 // externally by the page itself. | 33 // externally by the page itself. |
34 function showEmptyTile() { | 34 function showEmptyTile() { |
35 displayLink(createMostVisitedLink( | 35 displayLink(createMostVisitedLink( |
36 params, data.url, data.title, undefined, data.ping, data.provider)); | 36 params, data.url, data.title, undefined, data.provider)); |
37 } | 37 } |
38 // Creates and adds an image. | 38 // Creates and adds an image. |
39 function createThumbnail(src) { | 39 function createThumbnail(src) { |
40 var image = new Image(); | 40 var image = new Image(); |
41 image.onload = function() { | 41 image.onload = function() { |
42 var shadow = document.createElement('span'); | 42 var shadow = document.createElement('span'); |
43 shadow.classList.add('shadow'); | 43 shadow.classList.add('shadow'); |
44 var link = createMostVisitedLink( | 44 var link = createMostVisitedLink( |
45 params, data.url, data.title, undefined, data.ping, | 45 params, data.url, data.title, undefined, data.provider); |
46 data.provider); | |
47 link.appendChild(shadow); | 46 link.appendChild(shadow); |
48 link.appendChild(image); | 47 link.appendChild(image); |
49 displayLink(link); | 48 displayLink(link); |
50 }; | 49 }; |
51 image.onerror = function() { | 50 image.onerror = function() { |
52 logEvent(NTP_LOGGING_EVENT_TYPE.NTP_THUMBNAIL_ERROR); | 51 logEvent(NTP_LOGGING_EVENT_TYPE.NTP_THUMBNAIL_ERROR); |
53 if (data.domain) { | 52 if (data.domain) { |
54 logEvent(NTP_LOGGING_EVENT_TYPE.NTP_GRAY_TILE_FALLBACK); | 53 logEvent(NTP_LOGGING_EVENT_TYPE.NTP_GRAY_TILE_FALLBACK); |
55 showDomainElement(); | 54 showDomainElement(); |
56 } else { | 55 } else { |
(...skipping 15 matching lines...) Expand all Loading... |
72 createThumbnail(data.thumbnailUrl); | 71 createThumbnail(data.thumbnailUrl); |
73 } else if (data.domain) { | 72 } else if (data.domain) { |
74 logEvent(NTP_LOGGING_EVENT_TYPE.NTP_GRAY_TILE); | 73 logEvent(NTP_LOGGING_EVENT_TYPE.NTP_GRAY_TILE); |
75 showDomainElement(); | 74 showDomainElement(); |
76 } else { | 75 } else { |
77 logEvent(NTP_LOGGING_EVENT_TYPE.NTP_EXTERNAL_TILE); | 76 logEvent(NTP_LOGGING_EVENT_TYPE.NTP_EXTERNAL_TILE); |
78 showEmptyTile(); | 77 showEmptyTile(); |
79 } | 78 } |
80 }); | 79 }); |
81 }); | 80 }); |
OLD | NEW |