| OLD | NEW |
| 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 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 180 winEl.sessionTag = win.sessionTag; | 180 winEl.sessionTag = win.sessionTag; |
| 181 winEl.winNum = i; | 181 winEl.winNum = i; |
| 182 winEl.addEventListener('click', maybeOpenForeignWindow); | 182 winEl.addEventListener('click', maybeOpenForeignWindow); |
| 183 winEl.addEventListener('keydown', | 183 winEl.addEventListener('keydown', |
| 184 handleIfEnterKey(maybeOpenForeignWindow)); | 184 handleIfEnterKey(maybeOpenForeignWindow)); |
| 185 winSpan.appendChild(winEl); | 185 winSpan.appendChild(winEl); |
| 186 | 186 |
| 187 // Sort tabs by MRU order | 187 // Sort tabs by MRU order |
| 188 win.tabs.sort(function(a, b) { | 188 win.tabs.sort(function(a, b) { |
| 189 return a.timestamp < b.timestamp; | 189 return a.timestamp < b.timestamp; |
| 190 }) | 190 }); |
| 191 | 191 |
| 192 // Create individual tab information. | 192 // Create individual tab information. |
| 193 win.tabs.forEach(function(data) { | 193 win.tabs.forEach(function(data) { |
| 194 var tabEl = document.createElement('a'); | 194 var tabEl = document.createElement('a'); |
| 195 tabEl.className = 'item link tab'; | 195 tabEl.className = 'item link tab'; |
| 196 tabEl.href = data.timestamp; | 196 tabEl.href = data.timestamp; |
| 197 tabEl.style.backgroundImage = url('chrome://favicon/' + data.url); | 197 tabEl.style.backgroundImage = url('chrome://favicon/' + data.url); |
| 198 tabEl.dir = data.direction; | 198 tabEl.dir = data.direction; |
| 199 tabEl.textContent = data.title; | 199 tabEl.textContent = data.title; |
| 200 tabEl.sessionTag = win.sessionTag; | 200 tabEl.sessionTag = win.sessionTag; |
| 201 tabEl.winNum = i; | 201 tabEl.winNum = i; |
| 202 tabEl.sessionId = data.sessionId; | 202 tabEl.sessionId = data.sessionId; |
| 203 tabEl.addEventListener('click', maybeOpenForeignTab); | 203 tabEl.addEventListener('click', maybeOpenForeignTab); |
| 204 tabEl.addEventListener('keydown', | 204 tabEl.addEventListener('keydown', |
| 205 handleIfEnterKey(maybeOpenForeignTab)); | 205 handleIfEnterKey(maybeOpenForeignTab)); |
| 206 | 206 |
| 207 winSpan.appendChild(tabEl); | 207 winSpan.appendChild(tabEl); |
| 208 }) | 208 }); |
| 209 | 209 |
| 210 // Append the window. | 210 // Append the window. |
| 211 stack.appendChild(winSpan); | 211 stack.appendChild(winSpan); |
| 212 }); | 212 }); |
| 213 return stack; | 213 return stack; |
| 214 } | 214 } |
| 215 | 215 |
| 216 var recentItems = []; | 216 var recentItems = []; |
| 217 | 217 |
| 218 function recentlyClosedTabs(data) { | 218 function recentlyClosedTabs(data) { |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 302 return; | 302 return; |
| 303 } | 303 } |
| 304 | 304 |
| 305 var oldLayoutMode = layoutMode; | 305 var oldLayoutMode = layoutMode; |
| 306 var b = useSmallGrid(); | 306 var b = useSmallGrid(); |
| 307 layoutMode = b ? LayoutMode.SMALL : LayoutMode.NORMAL; | 307 layoutMode = b ? LayoutMode.SMALL : LayoutMode.NORMAL; |
| 308 | 308 |
| 309 if (layoutMode != oldLayoutMode){ | 309 if (layoutMode != oldLayoutMode){ |
| 310 mostVisited.useSmallGrid = b; | 310 mostVisited.useSmallGrid = b; |
| 311 mostVisited.layout(); | 311 mostVisited.layout(); |
| 312 apps.layout({force:true}); |
| 312 renderRecentlyClosed(); | 313 renderRecentlyClosed(); |
| 313 renderForeignSessions(); | 314 renderForeignSessions(); |
| 314 updateAllMiniviewClippings(); | 315 updateAllMiniviewClippings(); |
| 315 } | 316 } |
| 316 | 317 |
| 317 layoutSections(); | 318 layoutSections(); |
| 318 } | 319 } |
| 319 | 320 |
| 320 // Stores some information about each section necessary to layout. A new | 321 // Stores some information about each section necessary to layout. A new |
| 321 // instance is constructed for each section on each layout. | 322 // instance is constructed for each section on each layout. |
| (...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 619 // The miniview is hidden immediately (no need to set this async). | 620 // The miniview is hidden immediately (no need to set this async). |
| 620 miniview.classList.remove('opaque'); | 621 miniview.classList.remove('opaque'); |
| 621 } | 622 } |
| 622 } | 623 } |
| 623 | 624 |
| 624 switch (section) { | 625 switch (section) { |
| 625 case Section.THUMB: | 626 case Section.THUMB: |
| 626 mostVisited.visible = true; | 627 mostVisited.visible = true; |
| 627 mostVisited.layout(); | 628 mostVisited.layout(); |
| 628 break; | 629 break; |
| 630 case Section.APPS: |
| 631 apps.visible = true; |
| 632 apps.layout({disableAnimations:true}); |
| 633 break; |
| 629 } | 634 } |
| 630 } | 635 } |
| 631 } | 636 } |
| 632 | 637 |
| 633 // Show this section and hide all other sections - at most one section can | 638 // Show this section and hide all other sections - at most one section can |
| 634 // be open at one time. | 639 // be open at one time. |
| 635 function showOnlySection(section) { | 640 function showOnlySection(section) { |
| 636 for (var p in Section) { | 641 for (var p in Section) { |
| 637 if (p == section) | 642 if (p == section) |
| 638 showSection(Section[p]); | 643 showSection(Section[p]); |
| 639 else | 644 else |
| 640 hideSection(Section[p]); | 645 hideSection(Section[p]); |
| 641 } | 646 } |
| 642 } | 647 } |
| 643 | 648 |
| 644 function hideSection(section) { | 649 function hideSection(section) { |
| 645 if (section & shownSections) { | 650 if (section & shownSections) { |
| 646 shownSections &= ~section; | 651 shownSections &= ~section; |
| 647 | 652 |
| 648 switch (section) { | 653 switch (section) { |
| 649 case Section.THUMB: | 654 case Section.THUMB: |
| 650 mostVisited.visible = false; | 655 mostVisited.visible = false; |
| 651 mostVisited.layout(); | 656 mostVisited.layout(); |
| 652 break; | 657 break; |
| 658 case Section.APPS: |
| 659 apps.visible = false; |
| 660 apps.layout(); |
| 661 break; |
| 653 } | 662 } |
| 654 | 663 |
| 655 var el = getSectionElement(section); | 664 var el = getSectionElement(section); |
| 656 if (el) { | 665 if (el) { |
| 657 el.classList.add('collapsed'); | 666 el.classList.add('collapsed'); |
| 658 | 667 |
| 659 var maxiview = getSectionMaxiview(el); | 668 var maxiview = getSectionMaxiview(el); |
| 660 if (maxiview) { | 669 if (maxiview) { |
| 661 maxiview.classList.add(isDoneLoading() ? 'collapsing' : 'collapsed'); | 670 maxiview.classList.add(isDoneLoading() ? 'collapsing' : 'collapsed'); |
| 662 maxiview.classList.remove('opaque'); | 671 maxiview.classList.remove('opaque'); |
| (...skipping 728 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1391 var promoLink = document.querySelector('#apps-promo-text1 a'); | 1400 var promoLink = document.querySelector('#apps-promo-text1 a'); |
| 1392 promoLink.id = 'apps-promo-link'; | 1401 promoLink.id = 'apps-promo-link'; |
| 1393 promoLink.href = localStrings.getString('web_store_url'); | 1402 promoLink.href = localStrings.getString('web_store_url'); |
| 1394 | 1403 |
| 1395 $('apps-promo-hide').addEventListener('click', function() { | 1404 $('apps-promo-hide').addEventListener('click', function() { |
| 1396 chrome.send('hideAppsPromo', []); | 1405 chrome.send('hideAppsPromo', []); |
| 1397 document.documentElement.classList.remove('apps-promo-visible'); | 1406 document.documentElement.classList.remove('apps-promo-visible'); |
| 1398 layoutSections(); | 1407 layoutSections(); |
| 1399 }); | 1408 }); |
| 1400 }); | 1409 }); |
| OLD | NEW |