/* 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"

interface mozIDOMWindow;
webidl Document;
webidl WebExtensionContentScript;

[scriptable, uuid(6b09dc51-6caa-4ca7-9d6d-30c87258a630)]
interface mozIExtensionProcessScript : nsISupports
{
  void preloadContentScript(in nsISupports contentScript);

  Promise loadContentScript(in WebExtensionContentScript contentScript,
                            in mozIDOMWindow window);

  void initExtensionDocument(in nsISupports extension, in Document doc,
                             in boolean privileged);
};
