editor/nsIEditorUtils.idl
author Kris Maglione <maglione.k@gmail.com>
Wed, 22 Mar 2017 20:33:05 -0700
changeset 428214 c90ba1cf0de266a399896f541bb9bfb08257a4ba
parent 423002 cddc1b05b8760e76c0621c402047adaa553be468
child 473550 4f8b341fea03c37954f49dff6f6c1d91e8efafec
permissions -rw-r--r--
Bug 1255894: Part 3 - Create skeleton IPDL framework for OOP stream filters. r=baku This interface will allow extensions running into a content process to attach a filtering stream listener to an HTTP request in the parent process. The content process attaches a listener by sending a message from the content process containing the ID of the request to filter, and the ID of the add-on making the request. The permissions and request mappings for this are handled by the web request service added in part 2. MozReview-Commit-ID: B7Dd3ywwCBX

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"
#include "domstubs.idl"

interface nsIDOMBlob;
interface mozIDOMWindowProxy;

[scriptable, builtinclass, uuid(eb8b8ad9-5d8f-43bd-8ce5-5b943c180d56)]
interface nsIEditorBlobListener : nsISupports
{
  void onResult(in ACString aResult);
  void onError(in AString aErrorName);
};

/**
 * A collection of utility functions that editors can use that are more easily
 * done in JavaScript.
 */
[scriptable, uuid(4bf94928-575e-4bd1-8321-a2c4b3d0119e)]
interface nsIEditorUtils : nsISupports
{
  /**
   * Given a blob, returns the data from that blob, asynchronously.
   */
  void slurpBlob(in nsIDOMBlob aBlob, in mozIDOMWindowProxy aScope,
                 in nsIEditorBlobListener aListener);
};