summaryrefslogtreecommitdiff
path: root/chromium/chrome/browser/resources/ntp4/recently_closed.js
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/chrome/browser/resources/ntp4/recently_closed.js')
-rw-r--r--chromium/chrome/browser/resources/ntp4/recently_closed.js122
1 files changed, 0 insertions, 122 deletions
diff --git a/chromium/chrome/browser/resources/ntp4/recently_closed.js b/chromium/chrome/browser/resources/ntp4/recently_closed.js
deleted file mode 100644
index cd804df0d29..00000000000
--- a/chromium/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,
- };
-});