summaryrefslogtreecommitdiffstats
path: root/chrome/browser/resources/new_new_tab.js
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/resources/new_new_tab.js')
-rw-r--r--chrome/browser/resources/new_new_tab.js46
1 files changed, 22 insertions, 24 deletions
diff --git a/chrome/browser/resources/new_new_tab.js b/chrome/browser/resources/new_new_tab.js
index d7d78c1..7ba8af3 100644
--- a/chrome/browser/resources/new_new_tab.js
+++ b/chrome/browser/resources/new_new_tab.js
@@ -103,13 +103,15 @@ function tips(data) {
}
function createTip(data) {
- var parsedTips;
- try {
- parsedTips = parseHtmlSubset(data[0].tip_html_text);
- } catch (parseErr) {
- console.log('Error parsing tips: ' + parseErr.message);
+ if (data.length) {
+ try {
+ return parseHtmlSubset(data[0].tip_html_text);
+ } catch (parseErr) {
+ console.error('Error parsing tips: ' + parseErr.message);
+ }
}
- return parsedTips;
+ // Return an empty DF in case of failure.
+ return document.createDocumentFragment();
}
function renderTip() {
@@ -197,23 +199,6 @@ function saveShownSections() {
chrome.send('setShownSections', [String(shownSections)]);
}
-function processData(selector, data) {
- var output = document.querySelector(selector);
-
- // Wait until ready
- if (typeof JsEvalContext !== 'function' || !output) {
- logEvent('JsEvalContext is not yet available, ' + selector);
- document.addEventListener('DOMContentLoaded', function() {
- processData(selector, data);
- });
- } else {
- var d0 = Date.now();
- var input = new JsEvalContext(data);
- jstProcess(input, output);
- logEvent('processData: ' + selector + ', ' + (Date.now() - d0));
- }
-}
-
function getThumbnailClassName(data) {
return 'thumbnail-container' +
(data.pinned ? ' pinned' : '') +
@@ -1239,7 +1224,7 @@ WindowTooltip.prototype = {
WindowTooltip.trackMouseMove_);
clearTimeout(this.timer);
- processData('#window-tooltip', tabs);
+ this.renderItems(tabs);
var rect = linkEl.getBoundingClientRect();
var bodyRect = document.body.getBoundingClientRect();
var rtl = document.documentElement.dir == 'rtl';
@@ -1292,6 +1277,19 @@ WindowTooltip.prototype = {
this.linkEl_ = null;
this.tooltipEl.style.display = 'none';
+ },
+ renderItems: function(tabs) {
+ var tooltip = this.tooltipEl;
+ tooltip.textContent = '';
+
+ tabs.forEach(function(tab) {
+ var span = document.createElement('span');
+ span.className = 'item';
+ span.style.backgroundImage = url('chrome://favicon/' + tab.url);
+ span.dir = tab.direction;
+ span.textContent = tab.title;
+ tooltip.appendChild(span);
+ });
}
};