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

Unified Diff: chrome/renderer/resources/extensions/experimental.app_custom_bindings.js

Issue 10828172: Allow platform apps to respond to Web Intents (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: comments Created 8 years, 4 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 side-by-side diff with in-line comments
Download patch
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:

Powered by Google App Engine
This is Rietveld 408576698