W3C home > Mailing lists > Public > public-web-intents@w3.org > January 2012

Supporting extra parameters on the Intent object

From: James Hawkins <jhawkins@google.com>
Date: Sun, 29 Jan 2012 18:18:17 -0800
Message-ID: <CAO800Sx5_kZ3vyy_V8EGuHgTVi4do84Giec6JHKfZV0tGyYAAA@mail.gmail.com>
To: WebIntents <public-web-intents@w3.org>
Many use cases require passing optional, extra parameters from the
client to the service and vice versa.

Consider an example client invoking the Pick intent: a web mail client
using Pick for attachments.  The current implementation allows the
user browse the file system and pick a file to attach: this file has a
filename, and that filename is displayed in the UI.  Using the Pick
intent, the mail client can receive, say, an image to attach, but
currently there is no way to correlate a filename with the picked
image.

I propose following the precedence set by Android Intents [1] to solve
this problem: add an optional |extras| dictionary to the Intent
object.  Documentation for intent actions could specify handling of
optional extra parameters, e.g., filename for Pick.

[Constructor(in string action, in string type, in any data)]
interface Intent {
    readonly attribute DOMString action;
    readonly attribute DOMString type;
    readonly attribute any data;
    readonly attribute Dictionary extras;  <--- Added
    void postResult (any data, optional Dictionary extras);      <---
|extras| added
    void postFailure (any data);
};

Client:

document.getElementById('attach').onclick = function() {
  var intent = new Intent("http://webintents.org/pick", "*");
  navigator.startActivity(intent, filePicked);
});

Service:

if (window.intent) {
  ....
  window.intent.postResult(selectedFile, {filename: selectedFilename});
}


What do you think?

[1] http://developer.android.com/reference/android/content/Intent.html,
search for 'extras'.

Thanks,
James
Received on Monday, 30 January 2012 02:19:25 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 30 January 2012 02:19:26 GMT