aboutsummaryrefslogtreecommitdiff
path: root/tools/addon-sdk-1.7/packages/api-utils/docs/globals.md
diff options
context:
space:
mode:
Diffstat (limited to 'tools/addon-sdk-1.7/packages/api-utils/docs/globals.md')
-rw-r--r--tools/addon-sdk-1.7/packages/api-utils/docs/globals.md100
1 files changed, 100 insertions, 0 deletions
diff --git a/tools/addon-sdk-1.7/packages/api-utils/docs/globals.md b/tools/addon-sdk-1.7/packages/api-utils/docs/globals.md
new file mode 100644
index 0000000..e6df8a8
--- /dev/null
+++ b/tools/addon-sdk-1.7/packages/api-utils/docs/globals.md
@@ -0,0 +1,100 @@
+<!-- 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/. -->
+
+Globals in this section are subject to change in the future and/or are likely
+to be of interest to SDK module developers, rather than add-on developers.
+
+## Components ##
+
+To access the infamous and powerful `Components` object, see the
+[Chrome Authority](dev-guide/tutorials/chrome.html) documentation.
+
+## \_\_url\_\_ ##
+
+The `__url__` global is a string identifying the URL from which the code has
+been retrieved. If the code has no identifiable URL, this value may be `null`.
+
+## packaging ##
+
+<span class="aside">
+For more information on packaging, see the [Package Specification][] appendix.
+</span>
+
+The `packaging` global contains methods and metadata related to
+the packages available in the current environment.
+
+<code>packaging.**getURLForData**(*path*)</code>
+
+Given a unix-style path relative to the calling package's `data`
+directory, returns an absolute URL to the file or directory.
+
+By "calling package", we mean the package in which the caller's source
+code resides.
+
+Thus, for example, if a package contains a resource at
+`data/mydata.dat` and a module at `lib/foo.js`, the module at
+`lib/foo.js` may make the following call to retrieve an absolute URL
+to `data/mydata.dat`:
+
+ var myDataURL = packaging.getURLForData("/mydata.dat");
+
+If the calling package has no `data` directory, an exception is
+thrown.
+
+## memory ##
+
+`memory` is an object that exposes functionality to track
+objects of interest and help diagnose and prevent memory leaks.
+
+<code>memory.**track**(*object*, [*bin*])</code>
+
+Marks *object* for being tracked, and categorizes it with the given
+bin name. If *bin* isn't specified, the memory tracker attempts to
+infer a bin name by first checking the object's
+`constructor.name`; if that fails or results in the generic
+`Object`, the stack is inspected and the name of the current
+function being executed&mdash;which is assumed to be a constructor
+function&mdash;is used. If that fails, then the object is placed in a
+bin named `generic`.
+
+<code>memory.**getObjects**([*bin*])</code>
+
+Returns an `Array` containing information about tracked objects
+that have been categorized with the given bin name. If *bin* isn't
+provided, information about all live tracked objects are returned.
+
+Each element of the array is an object with the following keys:
+
+<table>
+ <tr>
+ <td><code>weakref</code></td>
+ <td>A weak reference to the object being tracked. Call
+ <code>get()</code> on this object to retrieve its strong reference; if
+ a strong reference to the object no longer exists, <code>get()</code>
+ will return <code>null</code>.</td>
+ </tr>
+ <tr>
+ <td><code>created</code></td>
+ <td>A <code>Date</code> representing the date and time that
+ <code>memory.track()</code> was called on the object being
+ tracked.</td>
+ </tr>
+ <tr>
+ <td><code>filename</code></td>
+ <td>The name of the file that called <code>memory.track()</code> on
+ the object being tracked.</td>
+ </tr>
+ <tr>
+ <td><code>lineNo</code></td>
+ <td>The line number of the file that called
+ <code>memory.track()</code> on the object being tracked.</td>
+ </tr>
+</table>
+
+<code>memory.**getBins**()</code>
+
+Returns an `Array` containing the names of all bins that aren't
+currently empty.
+
+ [Package Specification]: dev-guide/package-spec.html \ No newline at end of file