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

Side by Side Diff: chrome/browser/resources/ntp/apps.js

Issue 3474006: NTP: Don't show any sections or layout until we receive mv and apps. (Closed) Base URL: git://codf21.jail/chromium.git
Patch Set: Created 10 years, 3 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
« no previous file with comments | « chrome/browser/resources/new_new_tab.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 function getAppsCallback(data) { 5 function getAppsCallback(data) {
6 logEvent('received apps'); 6 logEvent('received apps');
7 var appsSection = $('apps'); 7 var appsSection = $('apps');
8 var appsSectionContent = $('apps-maxiview'); 8 var appsSectionContent = $('apps-maxiview');
9 var appsMiniview = appsSection.getElementsByClassName('miniview')[0]; 9 var appsMiniview = appsSection.getElementsByClassName('miniview')[0];
10 appsSectionContent.textContent = ''; 10 appsSectionContent.textContent = '';
11 appsMiniview.textContent = ''; 11 appsMiniview.textContent = '';
12 12
13 if (data.apps.length == 0) { 13 if (data.apps.length == 0) {
14 appsSection.classList.add('disabled'); 14 appsSection.classList.add('disabled');
15 setShownSections(Section.THUMB); 15 setShownSections(Section.THUMB);
16 return; 16 } else {
17 data.apps.forEach(function(app) {
18 appsSectionContent.appendChild(apps.createElement(app));
19 });
20
21 appsSectionContent.appendChild(apps.createWebStoreElement());
22
23 data.apps.slice(0, MAX_MINIVIEW_ITEMS).forEach(function(app) {
24 appsMiniview.appendChild(apps.createMiniviewElement(app));
25 });
26
27 appsSection.classList.remove('disabled');
17 } 28 }
18 29
19 data.apps.forEach(function(app) { 30 apps.loaded = true;
20 appsSectionContent.appendChild(apps.createElement(app)); 31 maybeDoneLoading();
21 });
22 32
23 appsSectionContent.appendChild(apps.createWebStoreElement()); 33 if (data.apps.length > 0 && isDoneLoading()) {
24 34 updateMiniviewClipping(appsMiniview);
25 data.apps.slice(0, MAX_MINIVIEW_ITEMS).forEach(function(app) { 35 layoutSections();
26 appsMiniview.appendChild(apps.createMiniviewElement(app)); 36 }
27 });
28
29 appsSection.classList.remove('disabled');
30 updateMiniviewClipping(appsMiniview);
31 layoutSections();
32 } 37 }
33 38
34 var apps = (function() { 39 var apps = (function() {
35 40
36 function createElement(app) { 41 function createElement(app) {
37 var div = document.createElement('div'); 42 var div = document.createElement('div');
38 div.className = 'app'; 43 div.className = 'app';
39 44
40 var a = div.appendChild(document.createElement('a')); 45 var a = div.appendChild(document.createElement('a'));
41 a.setAttribute('app-id', app['id']); 46 a.setAttribute('app-id', app['id']);
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 e.canExecute = currentApp && currentApp['options_url']; 141 e.canExecute = currentApp && currentApp['options_url'];
137 break; 142 break;
138 case 'apps-launch-command': 143 case 'apps-launch-command':
139 case 'apps-uninstall-command': 144 case 'apps-uninstall-command':
140 e.canExecute = true; 145 e.canExecute = true;
141 break; 146 break;
142 } 147 }
143 }); 148 });
144 149
145 return { 150 return {
151 loaded: false,
152
146 createElement: function(app) { 153 createElement: function(app) {
147 var div = createElement(app); 154 var div = createElement(app);
148 var a = div.firstChild; 155 var a = div.firstChild;
149 156
150 a.onclick = handleClick; 157 a.onclick = handleClick;
151 a.style.backgroundImage = url(app['icon_big']); 158 a.style.backgroundImage = url(app['icon_big']);
152 if (hashParams['app-id'] == app['id']) { 159 if (hashParams['app-id'] == app['id']) {
153 div.setAttribute('new', 'new'); 160 div.setAttribute('new', 'new');
154 // Delay changing the attribute a bit to let the page settle down a bit. 161 // Delay changing the attribute a bit to let the page settle down a bit.
155 setTimeout(function() { 162 setTimeout(function() {
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 198
192 createWebStoreElement: function() { 199 createWebStoreElement: function() {
193 return createElement({ 200 return createElement({
194 'id': 'web-store-entry', 201 'id': 'web-store-entry',
195 'name': localStrings.getString('web_store_title'), 202 'name': localStrings.getString('web_store_title'),
196 'launch_url': localStrings.getString('web_store_url') 203 'launch_url': localStrings.getString('web_store_url')
197 }); 204 });
198 } 205 }
199 }; 206 };
200 })(); 207 })();
OLDNEW
« no previous file with comments | « chrome/browser/resources/new_new_tab.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698