Edit - http://webintents.org/edit

The edit intent is designed to give applications the ability to offer a simple mechanism to edit data from the current page.

An action that can handle edit could be anything that the user has installed, including and not limited to image manipulation tools and text editors.

The "Edit" protocol is intended to be a lightweight edit facility.

Registration

<intent
  action="http://webintents.org/edit" 
  type="image/*" 
  href="edit.html"
 />
action
Required. Must be http://webintents.org/edit
type
Optional. Types are a filter
href
Optional. If specified, it will point to the action that is loaded when the user chooses the service. If undefined, use the current page.

Invocation

var data = /* Parse the data from canvas or somewhere else */;
var intent = new Intent("http://webintents.org/edit", "image/png", data);

/* Set up the callback that recieves the data */
var onsuccess = function(data) {
  // Add the new data to the image.
  var logo = document.getElementById("wilogo");
  logo.src = data;
};

window.navigator.startActivity(intent, onsuccess);

Try it!

Data Formats

Clients and services can only interact with each other if the both support the same intent AND the same data type. Data-types can be any arbitary string, but it is expected that client and service will pass the same data if they both agree to support the protocol.

Advisory data-schemes are described below based off MIME-Types or Activity Streams

image/*
[Blob] || [Data URI] || Blob || Data URI
audio/*
[Blob] || [Data URI] || Blob || Data URI
video/*
[Blob] || [Data URI] || Blob || Data URI
text/uri-list
[uri] || uri