Chromium Code Reviews| Index: chrome/renderer/resources/extensions/experimental.app_custom_bindings.js |
| diff --git a/chrome/renderer/resources/extensions/experimental.app_custom_bindings.js b/chrome/renderer/resources/extensions/experimental.app_custom_bindings.js |
| index a586df96f8e9e8eec8cb6c98678c7a71a9962894..91a144f15fdc19e39bd50e05a09fb1d5fdf7a8e0 100644 |
| --- a/chrome/renderer/resources/extensions/experimental.app_custom_bindings.js |
| +++ b/chrome/renderer/resources/extensions/experimental.app_custom_bindings.js |
| @@ -9,12 +9,26 @@ var fileSystemHelpers = requireNative('file_system_natives'); |
| var GetIsolatedFileSystem = fileSystemHelpers.GetIsolatedFileSystem; |
| var appNatives = requireNative('experimental_app'); |
| var DeserializeString = appNatives.DeserializeString; |
| +var SerializeToString = appNatives.SerializeToString; |
| var CreateBlob = appNatives.CreateBlob; |
| chromeHidden.Event.registerArgumentMassager('experimental.app.onLaunched', |
| function(args, dispatch) { |
| - var launchData = args[0]; |
| - var intentData = args[1]; |
| + var id = args[0]; |
|
Mihai Parparita -not on Chrome
2012/08/11 00:25:45
Nit: call this intentId.
thorogood
2012/08/13 05:00:12
Done.
|
| + var launchData = args[1]; |
| + var intentData = args[2]; |
| + |
| + if (launchData) { |
| + var fn = function(success, data) { |
| + chrome.experimental.app.postIntentResponse({ |
| + 'intentId': id, |
| + 'success': success, |
| + 'data': SerializeToString(data) |
| + }); |
| + }; |
| + launchData.intent.postResult = fn.bind(undefined, true); |
| + launchData.intent.postFailure = fn.bind(undefined, false); |
| + } |
| if (launchData && intentData) { |
| switch(intentData.format) { |
| @@ -23,8 +37,6 @@ chromeHidden.Event.registerArgumentMassager('experimental.app.onLaunched', |
| try { |
| fs.root.getFile(intentData.baseName, {}, function(fileEntry) { |
| launchData.intent.data = fileEntry; |
| - launchData.intent.postResult = function() {}; |
| - launchData.intent.postFailure = function() {}; |
| dispatch([launchData]); |
| }, function(fileError) { |
| console.error('Error getting fileEntry, code: ' + fileError.code); |
| @@ -38,16 +50,12 @@ chromeHidden.Event.registerArgumentMassager('experimental.app.onLaunched', |
| case('serialized'): |
| var deserializedData = DeserializeString(intentData.data); |
| launchData.intent.data = deserializedData; |
| - launchData.intent.postResult = function() {}; |
| - launchData.intent.postFailure = function() {}; |
| dispatch([launchData]); |
| break; |
| case('blob'): |
| var blobData = CreateBlob(intentData.blobFilePath, |
| intentData.blobLength); |
| launchData.intent.data = blobData; |
| - launchData.intent.postResult = function() {}; |
| - launchData.intent.postFailure = function() {}; |
| dispatch([launchData]); |
| break; |
| default: |