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

Side by Side Diff: chrome/renderer/resources/extensions/app_runtime_custom_bindings.js

Issue 12440030: Use utils.forEach everywhere rather than Array.prototype.forEach to guard (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: make foreach of an array give numbers Created 7 years, 9 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
« no previous file with comments | « no previous file | chrome/renderer/resources/extensions/binding.js » ('j') | 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) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 // Custom binding for the chrome.app.runtime API. 5 // Custom binding for the chrome.app.runtime API.
6 6
7 var binding = require('binding').Binding.create('app.runtime'); 7 var binding = require('binding').Binding.create('app.runtime');
8 8
9 var chromeHidden = requireNative('chrome_hidden').GetChromeHidden(); 9 var chromeHidden = requireNative('chrome_hidden').GetChromeHidden();
10 var chrome = requireNative('chrome').GetChrome(); 10 var chrome = requireNative('chrome').GetChrome();
11 var fileSystemHelpers = requireNative('file_system_natives'); 11 var fileSystemHelpers = requireNative('file_system_natives');
12 var forEach = require('utils').forEach;
12 var GetIsolatedFileSystem = fileSystemHelpers.GetIsolatedFileSystem; 13 var GetIsolatedFileSystem = fileSystemHelpers.GetIsolatedFileSystem;
13 var appNatives = requireNative('app_runtime'); 14 var appNatives = requireNative('app_runtime');
14 var DeserializeString = appNatives.DeserializeString; 15 var DeserializeString = appNatives.DeserializeString;
15 var SerializeToString = appNatives.SerializeToString; 16 var SerializeToString = appNatives.SerializeToString;
16 var CreateBlob = appNatives.CreateBlob; 17 var CreateBlob = appNatives.CreateBlob;
17 18
18 chromeHidden.Event.registerArgumentMassager('app.runtime.onLaunched', 19 chromeHidden.Event.registerArgumentMassager('app.runtime.onLaunched',
19 function(args, dispatch) { 20 function(args, dispatch) {
20 var launchData = args[0]; 21 var launchData = args[0];
21 22
22 if (launchData && typeof launchData.id !== 'undefined') { 23 if (launchData && typeof launchData.id !== 'undefined') {
23 // new-style dispatch. 24 // new-style dispatch.
24 var items = [] 25 var items = []
25 var numItems = launchData.items.length; 26 var numItems = launchData.items.length;
26 var itemLoaded = function(err, item) { 27 var itemLoaded = function(err, item) {
27 if (err) { 28 if (err) {
28 console.error('Error getting fileEntry, code: ' + err.code); 29 console.error('Error getting fileEntry, code: ' + err.code);
29 } else { 30 } else {
30 items.push(item); 31 items.push(item);
31 } 32 }
32 if (--numItems === 0) { 33 if (--numItems === 0) {
33 if (items.length === 0) { 34 if (items.length === 0) {
34 dispatch([]); 35 dispatch([]);
35 } else { 36 } else {
36 var data = { id: launchData.id, items: items }; 37 var data = { id: launchData.id, items: items };
37 dispatch([data]); 38 dispatch([data]);
38 } 39 }
39 } 40 }
40 }; 41 };
41 launchData.items.forEach(function(item) { 42 forEach(launchData.items, function(i, item) {
42 var fs = GetIsolatedFileSystem(item.fileSystemId); 43 var fs = GetIsolatedFileSystem(item.fileSystemId);
43 fs.root.getFile(item.baseName, {}, function(fileEntry) { 44 fs.root.getFile(item.baseName, {}, function(fileEntry) {
44 itemLoaded(null, { entry: fileEntry, type: item.mimeType }); 45 itemLoaded(null, { entry: fileEntry, type: item.mimeType });
45 }, function(fileError) { 46 }, function(fileError) {
46 itemLoaded(fileError); 47 itemLoaded(fileError);
47 }); 48 });
48 }); 49 });
49 } else if (launchData) { 50 } else if (launchData) {
50 dispatch([launchData]); 51 dispatch([launchData]);
51 } else { 52 } else {
52 dispatch([]); 53 dispatch([]);
53 } 54 }
54 }); 55 });
55 56
56 exports.binding = binding.generate(); 57 exports.binding = binding.generate();
OLDNEW
« no previous file with comments | « no previous file | chrome/renderer/resources/extensions/binding.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698