|
1 /* This Source Code Form is subject to the terms of the Mozilla Public |
|
2 * License, v. 2.0. If a copy of the MPL was not distributed with this file, |
|
3 * You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
4 |
|
5 /** |
|
6 * Common front for various implementations of OS.File |
|
7 */ |
|
8 |
|
9 if (typeof Components != "undefined") { |
|
10 this.EXPORTED_SYMBOLS = ["OS"]; |
|
11 Components.utils.import("resource://gre/modules/osfile/osfile_async_front.jsm", this); |
|
12 } else { |
|
13 // At this stage, we need to import all sources at once to avoid |
|
14 // a unique failure on tbpl + talos that seems caused by a |
|
15 // what looks like a nested event loop bug (see bug 794091). |
|
16 #ifdef XP_WIN |
|
17 importScripts( |
|
18 "resource://gre/modules/workers/require.js", |
|
19 "resource://gre/modules/osfile/osfile_win_back.jsm", |
|
20 "resource://gre/modules/osfile/osfile_shared_front.jsm", |
|
21 "resource://gre/modules/osfile/osfile_win_front.jsm" |
|
22 ); |
|
23 #else |
|
24 importScripts( |
|
25 "resource://gre/modules/workers/require.js", |
|
26 "resource://gre/modules/osfile/osfile_unix_back.jsm", |
|
27 "resource://gre/modules/osfile/osfile_shared_front.jsm", |
|
28 "resource://gre/modules/osfile/osfile_unix_front.jsm" |
|
29 ); |
|
30 #endif |
|
31 OS.Path = require("resource://gre/modules/osfile/ospath.jsm"); |
|
32 } |