editor/nsIURIRefObject.idl
author Wes Kocher <wkocher@mozilla.com>
Wed, 20 Jul 2016 15:40:33 -0700
changeset 348052 d2c17679b215bb340b1b8051c74526f6301c6253
parent 216427 faecfa9d0bb6c46e32934182e6154758190262ed
child 476440 96a208d3cceee2f0f0b7aac7fac3278d5a897330
permissions -rw-r--r--
Backed out 5 changesets (bug 1287623) for static build bustage CLOSED TREE Backed out changeset a48daec87ec9 (bug 1287623) Backed out changeset 248153344e15 (bug 1287623) Backed out changeset 8aa409c9b1ce (bug 1287623) Backed out changeset 602d4d88e806 (bug 1287623) Backed out changeset 114da8bdc0b0 (bug 1287623)

/* -*- Mode: C++; tab-width: 2; 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 nsIDOMNode;

/** A class which can represent any node which points to an
  * external URI, e.g. <a>, <img>, <script> etc,
  * and has the capability to rewrite URLs to be
  * relative or absolute.
  * Used by the editor but not dependant on it.
  */

[scriptable, uuid(2226927e-1dd2-11b2-b57f-faab47288563)]

interface nsIURIRefObject  : nsISupports
{
  attribute nsIDOMNode node;

  /**
   * Go back to the beginning of the attribute list.
   */
  void Reset();

  /**
   * Return the next rewritable URI.
   */
  DOMString GetNextURI();

  /**
   * Go back to the beginning of the attribute list
   *
   * @param aOldPat  Old pattern to be replaced, e.g. file:///a/b/
   * @param aNewPat  New pattern to be replaced, e.g. http://mypage.aol.com/
   * @param aMakeRel Rewrite links as relative vs. absolute
   */
  void RewriteAllURIs(in DOMString aOldPat, in DOMString aNewPat,
                      in boolean aMakeRel);
};