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

Side by Side Diff: chrome/browser/resources/local_ntp/most_visited_thumbnail.js

Issue 178253008: Redoing Issue 36073011: Allowing file:/// in Instant Extended's Most Visited links. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comment fixes; more symmetry to logImpression() and logNavigation(). Created 6 years, 9 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 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
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 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698