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/. */
9 interface nsIURIMutator
;
12 * nsIFileURL provides access to the underlying nsIFile object corresponding to
13 * an URL. The URL scheme need not be file:, since other local protocols may
14 * map URLs to files (e.g., resource:).
16 [scriptable
, builtinclass
, uuid(e91ac988
-27c2
-448b
-b1a1
-3822e1ef1987
)]
17 interface nsIFileURL
: nsIURL
20 * Get the nsIFile corresponding to this URL.
22 * - Returns a reference to an immutable object. Callers must clone
23 * before attempting to modify the returned nsIFile object. NOTE: this
24 * constraint might not be enforced at runtime, so beware!!
26 readonly attribute nsIFile file
;
29 [scriptable
, builtinclass
, uuid(a588b6f2
-d2b9
-4024-84c7
-be3368546b57
)]
30 interface nsIFileURLMutator
: nsISupports
33 * - Marks the inner URI implementation as one that supports nsIFileURL.
35 [must_use
, noscript
] void markFileURL
();
38 * - Setter clones the nsIFile object (allowing the caller to safely modify
39 * the nsIFile object after setting it on this interface).
41 [must_use
, noscript
] void setFile
(in nsIFile aFile
);