Index: chrome/browser/resources/ntp4/recently_closed.js |
diff --git a/chrome/browser/resources/ntp4/recently_closed.js b/chrome/browser/resources/ntp4/recently_closed.js |
deleted file mode 100644 |
index cd804df0d29a2daa21b76cae1848a50b48e03111..0000000000000000000000000000000000000000 |
--- a/chrome/browser/resources/ntp4/recently_closed.js |
+++ /dev/null |
@@ -1,122 +0,0 @@ |
-// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-/** |
- * @fileoverview The recently closed menu: button, model data, and menu. |
- */ |
- |
-cr.define('ntp', function() { |
- 'use strict'; |
- |
- /** |
- * Returns the text used for a recently closed window. |
- * @param {number} numTabs Number of tabs in the window. |
- * @return {string} The text to use. |
- */ |
- function formatTabsText(numTabs) { |
- if (numTabs == 1) |
- return loadTimeData.getString('closedwindowsingle'); |
- return loadTimeData.getStringF('closedwindowmultiple', numTabs); |
- } |
- |
- var Menu = cr.ui.Menu; |
- var MenuItem = cr.ui.MenuItem; |
- var MenuButton = cr.ui.MenuButton; |
- var RecentMenuButton = cr.ui.define('button'); |
- |
- RecentMenuButton.prototype = { |
- __proto__: MenuButton.prototype, |
- |
- decorate: function() { |
- MenuButton.prototype.decorate.call(this); |
- this.menu = new Menu; |
- cr.ui.decorate(this.menu, Menu); |
- this.menu.classList.add('footer-menu'); |
- document.body.appendChild(this.menu); |
- |
- this.needsRebuild_ = true; |
- this.anchorType = cr.ui.AnchorType.ABOVE; |
- this.invertLeftRight = true; |
- }, |
- |
- /** |
- * Shows the menu, first rebuilding it if necessary. |
- * TODO(estade): the right of the menu should align with the right of the |
- * button. |
- * @override |
- */ |
- showMenu: function(shouldSetFocus) { |
- if (this.needsRebuild_) { |
- this.menu.textContent = ''; |
- this.dataItems_.forEach(this.addItem_, this); |
- this.needsRebuild_ = false; |
- } |
- |
- MenuButton.prototype.showMenu.apply(this, arguments); |
- }, |
- |
- /** |
- * Sets the menu model data. |
- * @param {Array} dataItems Array of objects that describe the apps. |
- */ |
- set dataItems(dataItems) { |
- this.dataItems_ = dataItems; |
- this.needsRebuild_ = true; |
- this.hidden = !dataItems.length; |
- }, |
- |
- /** |
- * Adds an app to the menu. |
- * @param {Object} data An object encapsulating all data about the app. |
- * @private |
- */ |
- addItem_: function(data) { |
- var isWindow = data.type == 'window'; |
- var a = this.ownerDocument.createElement('a'); |
- a.className = 'footer-menu-item'; |
- if (isWindow) { |
- a.href = ''; |
- a.classList.add('recent-window'); |
- a.textContent = formatTabsText(data.tabs.length); |
- a.title = data.tabs.map(function(tab) { return tab.title; }).join('\n'); |
- } else { |
- a.href = data.url; |
- a.style.backgroundImage = getFaviconImageSet(data.url); |
- a.textContent = data.title; |
- } |
- |
- function onActivated(e) { |
- ntp.logTimeToClick('RecentlyClosed'); |
- chrome.send('recordAppLaunchByURL', |
- [encodeURIComponent(data.url), |
- ntp.APP_LAUNCH.NTP_RECENTLY_CLOSED]); |
- var index = Array.prototype.indexOf.call(a.parentNode.children, a); |
- var orig = e.originalEvent; |
- var button = 0; |
- if (orig instanceof MouseEvent) |
- button = orig.button; |
- var params = [data.sessionId, |
- index, |
- button, |
- orig.altKey, |
- orig.ctrlKey, |
- orig.metaKey, |
- orig.shiftKey]; |
- chrome.send('reopenTab', params); |
- |
- e.preventDefault(); |
- e.stopPropagation(); |
- } |
- a.addEventListener('activate', onActivated); |
- a.addEventListener('click', function(e) { e.preventDefault(); }); |
- |
- this.menu.appendChild(a); |
- cr.ui.decorate(a, MenuItem); |
- }, |
- }; |
- |
- return { |
- RecentMenuButton: RecentMenuButton, |
- }; |
-}); |