netwerk/base/public/nsIStandardURL.idl

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
     2 /* This Source Code Form is subject to the terms of the Mozilla Public
     3  * License, v. 2.0. If a copy of the MPL was not distributed with this
     4  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     6 #include "nsIMutable.idl"
     8 interface nsIURI;
    10 /**
    11  * nsIStandardURL defines the interface to an URL with the standard
    12  * file path format common to protocols like http, ftp, and file.
    13  * It supports initialization from a relative path and provides
    14  * some customization on how URLs are normalized.
    15  */
    16 [scriptable, uuid(babd6cca-ebe7-4329-967c-d6b9e33caa81)]
    17 interface nsIStandardURL : nsIMutable
    18 {
    19     /**
    20      * blah:foo/bar    => blah://foo/bar
    21      * blah:/foo/bar   => blah:///foo/bar
    22      * blah://foo/bar  => blah://foo/bar
    23      * blah:///foo/bar => blah:///foo/bar
    24      */
    25     const unsigned long URLTYPE_STANDARD        = 1;
    27     /**
    28      * blah:foo/bar    => blah://foo/bar
    29      * blah:/foo/bar   => blah://foo/bar
    30      * blah://foo/bar  => blah://foo/bar
    31      * blah:///foo/bar => blah://foo/bar
    32      */
    33     const unsigned long URLTYPE_AUTHORITY       = 2;
    35     /**
    36      * blah:foo/bar    => blah:///foo/bar
    37      * blah:/foo/bar   => blah:///foo/bar
    38      * blah://foo/bar  => blah://foo/bar
    39      * blah:///foo/bar => blah:///foo/bar
    40      */
    41     const unsigned long URLTYPE_NO_AUTHORITY    = 3;
    43     /**
    44      * Initialize a standard URL.
    45      *
    46      * @param aUrlType       - one of the URLTYPE_ flags listed above.
    47      * @param aDefaultPort   - if the port parsed from the URL string matches
    48      *                         this port, then the port will be removed from the
    49      *                         canonical form of the URL.
    50      * @param aSpec          - URL string.
    51      * @param aOriginCharset - the charset from which this URI string
    52      *                         originated.  this corresponds to the charset
    53      *                         that should be used when communicating this
    54      *                         URI to an origin server, for example.  if
    55      *                         null, then provide aBaseURI implements this
    56      *                         interface, the origin charset of aBaseURI will
    57      *                         be assumed, otherwise defaulting to UTF-8 (i.e.,
    58      *                         no charset transformation from aSpec).
    59      * @param aBaseURI       - if null, aSpec must specify an absolute URI.
    60      *                         otherwise, aSpec will be resolved relative
    61      *                         to aBaseURI.
    62      */
    63     void init(in unsigned long aUrlType,
    64               in long aDefaultPort,
    65               in AUTF8String aSpec,
    66               in string aOriginCharset,
    67               in nsIURI aBaseURI);
    68 };

mercurial