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

Side by Side Diff: chrome/browser/resources/new_new_tab.js

Issue 6297013: [NTP] Allow reordering of apps via drag and drop. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 9 years, 11 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 (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 // To avoid creating tons of unnecessary nodes. We assume we cannot fit more 5 // To avoid creating tons of unnecessary nodes. We assume we cannot fit more
6 // than this many items in the miniview. 6 // than this many items in the miniview.
7 var MAX_MINIVIEW_ITEMS = 15; 7 var MAX_MINIVIEW_ITEMS = 15;
8 8
9 // Extra spacing at the top of the layout. 9 // Extra spacing at the top of the layout.
10 var LAYOUT_SPACING_TOP = 25; 10 var LAYOUT_SPACING_TOP = 25;
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 winEl.sessionTag = win.sessionTag; 188 winEl.sessionTag = win.sessionTag;
189 winEl.winNum = i; 189 winEl.winNum = i;
190 winEl.addEventListener('click', maybeOpenForeignWindow); 190 winEl.addEventListener('click', maybeOpenForeignWindow);
191 winEl.addEventListener('keydown', 191 winEl.addEventListener('keydown',
192 handleIfEnterKey(maybeOpenForeignWindow)); 192 handleIfEnterKey(maybeOpenForeignWindow));
193 winSpan.appendChild(winEl); 193 winSpan.appendChild(winEl);
194 194
195 // Sort tabs by MRU order 195 // Sort tabs by MRU order
196 win.tabs.sort(function(a, b) { 196 win.tabs.sort(function(a, b) {
197 return a.timestamp < b.timestamp; 197 return a.timestamp < b.timestamp;
198 }) 198 });
199 199
200 // Create individual tab information. 200 // Create individual tab information.
201 win.tabs.forEach(function(data) { 201 win.tabs.forEach(function(data) {
202 var tabEl = document.createElement('a'); 202 var tabEl = document.createElement('a');
203 tabEl.className = 'item link tab'; 203 tabEl.className = 'item link tab';
204 tabEl.href = data.timestamp; 204 tabEl.href = data.timestamp;
205 tabEl.style.backgroundImage = url('chrome://favicon/' + data.url); 205 tabEl.style.backgroundImage = url('chrome://favicon/' + data.url);
206 tabEl.dir = data.direction; 206 tabEl.dir = data.direction;
207 tabEl.textContent = data.title; 207 tabEl.textContent = data.title;
208 tabEl.sessionTag = win.sessionTag; 208 tabEl.sessionTag = win.sessionTag;
209 tabEl.winNum = i; 209 tabEl.winNum = i;
210 tabEl.sessionId = data.sessionId; 210 tabEl.sessionId = data.sessionId;
211 tabEl.addEventListener('click', maybeOpenForeignTab); 211 tabEl.addEventListener('click', maybeOpenForeignTab);
212 tabEl.addEventListener('keydown', 212 tabEl.addEventListener('keydown',
213 handleIfEnterKey(maybeOpenForeignTab)); 213 handleIfEnterKey(maybeOpenForeignTab));
214 214
215 winSpan.appendChild(tabEl); 215 winSpan.appendChild(tabEl);
216 }) 216 });
217 217
218 // Append the window. 218 // Append the window.
219 stack.appendChild(winSpan); 219 stack.appendChild(winSpan);
220 }); 220 });
221 return stack; 221 return stack;
222 } 222 }
223 223
224 var recentItems = []; 224 var recentItems = [];
225 225
226 function recentlyClosedTabs(data) { 226 function recentlyClosedTabs(data) {
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 return; 310 return;
311 } 311 }
312 312
313 var oldLayoutMode = layoutMode; 313 var oldLayoutMode = layoutMode;
314 var b = useSmallGrid(); 314 var b = useSmallGrid();
315 layoutMode = b ? LayoutMode.SMALL : LayoutMode.NORMAL; 315 layoutMode = b ? LayoutMode.SMALL : LayoutMode.NORMAL;
316 316
317 if (layoutMode != oldLayoutMode){ 317 if (layoutMode != oldLayoutMode){
318 mostVisited.useSmallGrid = b; 318 mostVisited.useSmallGrid = b;
319 mostVisited.layout(); 319 mostVisited.layout();
320 apps.invalidate();
321 apps.layout();
320 renderRecentlyClosed(); 322 renderRecentlyClosed();
321 renderForeignSessions(); 323 renderForeignSessions();
322 updateAllMiniviewClippings(); 324 updateAllMiniviewClippings();
323 } 325 }
324 326
325 layoutSections(); 327 layoutSections();
326 } 328 }
327 329
328 // Stores some information about each section necessary to layout. A new 330 // Stores some information about each section necessary to layout. A new
329 // instance is constructed for each section on each layout. 331 // instance is constructed for each section on each layout.
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
607 // The miniview is hidden immediately (no need to set this async). 609 // The miniview is hidden immediately (no need to set this async).
608 miniview.classList.remove('opaque'); 610 miniview.classList.remove('opaque');
609 } 611 }
610 } 612 }
611 613
612 switch (section) { 614 switch (section) {
613 case Section.THUMB: 615 case Section.THUMB:
614 mostVisited.visible = true; 616 mostVisited.visible = true;
615 mostVisited.layout(); 617 mostVisited.layout();
616 break; 618 break;
619 case Section.APPS:
620 apps.visible = true;
Aaron Boodman 2011/01/22 23:42:57 The visible flag here (and in mostVisited ftm) see
jstritar 2011/01/24 01:00:42 I think we could use the classes to determine visi
621 apps.layout(true);
617 } 622 }
618 } 623 }
619 } 624 }
620 625
621 // Show this section and hide all other sections - at most one section can 626 // Show this section and hide all other sections - at most one section can
622 // be open at one time. 627 // be open at one time.
623 function showOnlySection(section) { 628 function showOnlySection(section) {
624 for (var p in Section) { 629 for (var p in Section) {
625 if (p == section) 630 if (p == section)
626 showSection(Section[p]); 631 showSection(Section[p]);
627 else 632 else
628 hideSection(Section[p]); 633 hideSection(Section[p]);
629 } 634 }
630 } 635 }
631 636
632 function hideSection(section) { 637 function hideSection(section) {
633 if (section & shownSections) { 638 if (section & shownSections) {
634 shownSections &= ~section; 639 shownSections &= ~section;
635 640
636 switch (section) { 641 switch (section) {
637 case Section.THUMB: 642 case Section.THUMB:
638 mostVisited.visible = false; 643 mostVisited.visible = false;
639 mostVisited.layout(); 644 mostVisited.layout();
640 break; 645 break;
646 case Section.APPS:
647 apps.visible = false;
648 apps.layout();
649 break;
641 } 650 }
642 651
643 var el = getSectionElement(section); 652 var el = getSectionElement(section);
644 if (el) { 653 if (el) {
645 el.classList.add('hidden'); 654 el.classList.add('hidden');
646 655
647 var maxiview = getSectionMaxiview(el); 656 var maxiview = getSectionMaxiview(el);
648 if (maxiview) { 657 if (maxiview) {
649 maxiview.classList.add(isDoneLoading() ? 'hiding' : 'hidden'); 658 maxiview.classList.add(isDoneLoading() ? 'hiding' : 'hidden');
650 maxiview.classList.remove('opaque'); 659 maxiview.classList.remove('opaque');
(...skipping 731 matching lines...) Expand 10 before | Expand all | Expand 10 after
1382 var promoLink = document.querySelector('#apps-promo-text1 a'); 1391 var promoLink = document.querySelector('#apps-promo-text1 a');
1383 promoLink.id = 'apps-promo-link'; 1392 promoLink.id = 'apps-promo-link';
1384 promoLink.href = localStrings.getString('web_store_url'); 1393 promoLink.href = localStrings.getString('web_store_url');
1385 1394
1386 $('apps-promo-hide').addEventListener('click', function() { 1395 $('apps-promo-hide').addEventListener('click', function() {
1387 chrome.send('hideAppsPromo', []); 1396 chrome.send('hideAppsPromo', []);
1388 document.documentElement.classList.remove('apps-promo-visible'); 1397 document.documentElement.classList.remove('apps-promo-visible');
1389 layoutSections(); 1398 layoutSections();
1390 }); 1399 });
1391 }); 1400 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698