editor/nsIURIRefObject.idl
author James Graham <james@hoppipolla.co.uk>
Tue, 23 May 2017 13:48:29 +0100
changeset 582988 f6ed7e68c53797f5cfe8f933175863644bfb41f3
parent 194509 faecfa9d0bb6c46e32934182e6154758190262ed
child 799679 96a208d3cceee2f0f0b7aac7fac3278d5a897330
permissions -rw-r--r--
Bug 1367041 - Add |mach wpt| support for Chrome, Edge and Servo, r=AutomatedTester Using the wptrun infrastructure from upstream, it is now posible to make it easy to run web-platform-tests in other browsers. The syntax used is mach wpt --product [chrome|servo|edge] [tests] This will try to use the selected product; possibly prompting to install dependencies like the WebDriver implementation. For servo if the install isn't on the PATH then --binary can be used to point to the actual location. Because manifest metadata is kept in the same directory as expectation data and we don't want to reuse Firefox expectation data for other browsers, a new products subdirectory is introduced and added to the ignore files. This will contain a subdirectory for each product into which a copy of the test manifest is placed. It may also be used to store any expectation data for the other products, in the same way as testing/web-platform/meta. MozReview-Commit-ID: 8fdCnha5t2F

/* -*- 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);
};