gecko/js/src
2010-10-19 17:24:53 -07:00
..
analysis-tests Bug 578235 - Port jsstack.js to Dehydra with GCC 4.5 r=taras, a=test-only 2010-08-18 18:06:17 -07:00
assembler Bug 604799: allocate 64K code memory chunks on Windows, r=dvander 2010-10-15 15:42:56 -07:00
build Add support for CL_INCLUDES_PREFIX environment variable for handling localized cl.exe /showIncludes output. (Bug 587372) r=ted a2.0=blocking2.0:final 2010-09-17 12:29:52 -07:00
config Syncing js and m-c system-headers. r=dougt a=buildbustage 2010-10-18 10:16:45 -07:00
ctypes Bug 585124 - Fix leak [@StructType::DefineInternal]. r=Waldo, a=bsmedberg 2010-10-19 09:37:03 -07:00
editline Bug 506041 Part 2: Correct misspellings in source code 2010-05-13 14:19:50 +02:00
gnuplot Bug 579586 - TM: remove doubles from GCTIMER (r=jorendorff) 2010-07-20 09:52:02 -07:00
jsapi-tests Add a test for bug 604087. r=gal 2010-10-13 16:54:13 -07:00
lirasm These tests should have been added as part of the patch for bug 595728. 2010-10-07 23:14:10 -07:00
methodjit Avoid convertValueToType() in PunboxAssembler. b=604448, r=dvander. 2010-10-15 19:17:35 -04:00
metrics [JAEGER] Merge. 2010-08-02 11:55:59 -07:00
nanojit Bug 599247 - nanojit: in Nativei386.cpp, generate d[b + i<<s] addressing modes in asm_store32(). r=edwsmith. 2010-10-07 20:24:07 -07:00
perf Bug 492849 - Implement Object.preventExtensions, Object.isExtensible. a=waldo,jimb, r=brendan 2010-09-21 11:35:29 -07:00
ref-config
shell Bug 590486: Remove snarl now that eval is fast again. 2010-10-14 17:49:49 -07:00
t [JAEGER] Reverted accidental test changes. 2010-07-31 18:59:53 -07:00
tests Bug 575522 - Object.prototype.toString should return "[object Undefined]" and "[object Null]" when called with |this === undefined| or |this === null|, respectively. r=jorendorff,brendan 2010-10-12 11:50:03 -07:00
trace-test Backed out changeset 8ea3083a9787 2010-10-15 15:29:57 -07:00
tracevis Bug 583143 - Fix bustage with MOZ_TRACEVIS and other NPOTB code (r=lw) 2010-09-20 12:43:52 -07:00
v8 Update our local copy of the V8 benchmarks to the latest test harness. 2010-05-27 17:15:56 -07:00
v8-dtoa Bug 597367 Add fpclassify() for Solaris r=gal 2010-09-30 18:53:11 +08:00
vprof Bug 555345 - Histogram profiling macros for JIT-generated code (r=rreitmai+) 2010-06-04 14:31:25 -07:00
xpconnect Bug 599799 - Cookies are doubled when switching between FF3.6 and FF4beta. Part 2: migration tests. r=sdwilsh, a=betaN+ 2010-10-19 17:24:53 -07:00
yarr Merge tracemonkey to mozilla-central. 2010-10-18 12:01:28 -05:00
aclocal.m4
bench.sh
config.mk
configure.in Fix the bustage for real by AC_SUBSTing the variable. r=me a=me 2010-10-15 21:47:47 -04:00
dtoa.c Bug 584252 - disallow non-standard extensions to float syntax (r=jorendorff) (CLOSED TREE) 2010-08-05 14:33:34 -07:00
find-child.py
imacro_asm.py Bug 563728 - Switch the imacro compiler over to Python. r=Waldo. 2010-05-12 08:49:36 -05:00
imacros.jsasm Bug 581747 - Remove JSOP_CONCATN. Good-night, sweet prince. (r=waldo) 2010-08-01 21:54:09 -07:00
javascript-trace.d Bug 593483 - Unbreak (real) dtrace. r=gal, a=NPOTB 2010-09-16 13:21:12 -07:00
jitstats.tbl
js-config.h.in [JAEGER] Bug 580144: put JS_METHODJIT in js-config.h so that everyone sees the same jscntxt.h structs 2010-07-22 14:32:52 -07:00
js-config.in
js.mdp
js.msg Bug 595297 - Portable serialize/deserialize implementation of the HTML5 structured cloning algorithm (jsclone.cpp). r=gal. 2010-09-30 19:47:10 -05:00
jsapi.cpp Bug 604087 - Minor tweaks to JS_TransplantWrapper and JSAutoEnterCompartment. r=mrbkap 2010-10-13 17:26:40 -07:00
jsapi.h Bug 604087 - Minor tweaks to JS_TransplantWrapper and JSAutoEnterCompartment. r=mrbkap 2010-10-13 17:26:40 -07:00
jsarena.cpp Header changes for sixgill, annotations. bug 601129, r=jorendorff 2010-10-01 21:00:55 -07:00
jsarena.h Header changes for sixgill, annotations. bug 601129, r=jorendorff 2010-10-01 21:00:55 -07:00
jsarray.cpp Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsarray.h Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsast.tbl bug 590774, r=cdleary: implement function::identifier E4X extension 2010-09-07 16:16:34 -07:00
jsatom.cpp Bug 575522 - Object.prototype.toString should return "[object Undefined]" and "[object Null]" when called with |this === undefined| or |this === null|, respectively. r=jorendorff,brendan 2010-10-12 11:50:03 -07:00
jsatom.h Bug 575522 - Object.prototype.toString should return "[object Undefined]" and "[object Null]" when called with |this === undefined| or |this === null|, respectively. r=jorendorff,brendan 2010-10-12 11:50:03 -07:00
jsatominlines.h Bug 572057 - TM: remove weak roots (pigeon hole) r=igor 2010-08-18 12:46:47 -07:00
jsbit.h
jsbool.cpp Bug 514570 - 1 - Convert primitive-this-of-type function flags into a single primitive-this flag, to pave way for strict mode unadulterated-this passing. r=jorendorff 2010-10-12 11:50:02 -07:00
jsbool.h Bug 549143 - fatvals 2010-07-14 23:19:36 -07:00
jsbuiltins.cpp Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsbuiltins.h Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jscell.h bug 600687 - proper accounting for colors during the marking phase. r=anygregor 2010-09-30 01:31:20 +02:00
jsclist.h
jsclone.cpp Bug 595297 - Portable serialize/deserialize implementation of the HTML5 structured cloning algorithm (jsclone.cpp). r=gal. 2010-09-30 19:47:10 -05:00
jsclone.h Bug 595297 - Portable serialize/deserialize implementation of the HTML5 structured cloning algorithm (jsclone.cpp). r=gal. 2010-09-30 19:47:10 -05:00
jscntxt.cpp Silence the few noisiest MSVC warnings. Bug 604276, r=luke. 2010-10-14 18:47:24 -05:00
jscntxt.h Backed out changeset 8ea3083a9787 2010-10-15 15:29:57 -07:00
jscntxtinlines.h Make functions per compartment, and deep copy instead of clone them if needed (584789, r=mrbkap). 2010-09-29 23:17:29 -07:00
jscompartment.cpp Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jscompartment.h Silence the few noisiest MSVC warnings. Bug 604276, r=luke. 2010-10-14 18:47:24 -05:00
jscompat.h
jsconfig.mk
jscpucfg.cpp Bug 598261: Cannot cross compile JS on OSX. r+a=ted 2010-10-15 09:56:09 -07:00
jscpucfg.h
jsdate.cpp Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsdate.h Bug 579471 - fast constructors (r=dmandelin,lw) 2010-08-10 16:38:08 -07:00
jsdbgapi.cpp Backed out changeset 8ea3083a9787 2010-10-15 15:29:57 -07:00
jsdbgapi.h Backed out changeset 8ea3083a9787 2010-10-15 15:29:57 -07:00
jsdhash.cpp Bug 569821 - js compilation failure on mingw-w64 r=dvander 2010-06-27 01:27:18 +02:00
jsdhash.h
jsdtoa.cpp Detect some OOM conditions. b=602935, r=jorendorff. 2010-10-14 19:24:09 -04:00
jsdtoa.h Bug 590834 - Clean up number-to-string code. r=jwalden. 2010-09-13 13:08:25 -07:00
jsemit.cpp Backed out changeset 8ea3083a9787 2010-10-15 15:29:57 -07:00
jsemit.h Bug 535912 - Eliminate blockChain from JSStackFrame (r=cdleary) 2010-09-29 13:21:36 -07:00
jsexn.cpp Bug 558861 - Compartmental GC (r=gal) 2010-09-24 10:54:39 -07:00
jsexn.h Bug 549143 - fatvals 2010-07-14 23:19:36 -07:00
jsfun.cpp Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsfun.h Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsfuninlines.h Bug 516255 - Use different classes for arguments objects created inside and outside strict mode code, with slightly different ops, in preparation for implementing strict mode arguments objects' less magical functionality. r=dmandelin 2010-08-11 23:26:59 -07:00
jsgc.cpp Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsgc.h Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsgcchunk.cpp Merge from Tracemonkey. 2010-08-02 15:55:29 -07:00
jsgcchunk.h fatval tweaks: bump XDR version, remove spurious comment and #defines, realign JSStackFrame 2010-07-15 13:18:12 -07:00
jsgcinlines.h Fix memory leak, change uint to unsigned, bug 584917 followup. r=brendan,njn 2010-10-13 16:10:15 -07:00
jsgcstats.cpp Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsgcstats.h bug 602534 - simpler scheduling of the last ditch GC. r=anygregor 2010-10-07 22:43:52 +02:00
jshash.cpp Finally get rid of /* Added by JSIFY */ comments. r=Waldo. 2010-10-01 18:46:54 -05:00
jshash.h
jshashtable.h Bug 599801 - TM: Clean up Compartment (de)construction. r=sayrer 2010-09-27 15:35:10 -07:00
jsify.pl
jsinterp.cpp Backed out changeset 8ea3083a9787 2010-10-15 15:29:57 -07:00
jsinterp.h Backed out changeset 8ea3083a9787 2010-10-15 15:29:57 -07:00
jsinterpinlines.h Backed out changeset 8ea3083a9787 2010-10-15 15:29:57 -07:00
jsinttypes.h
jsinvoke.cpp
jsiter.cpp Backed out changeset 8ea3083a9787 2010-10-15 15:29:57 -07:00
jsiter.h Bug 580128 - Small cleanups in XrayWrapper and first stab at enumeration. r=mrbkap 2010-10-10 15:37:22 -07:00
jskeyword.tbl
jskwgen.cpp
jslibmath.h [JAEGER] Windows build fixes 2010-06-01 18:06:46 -07:00
jslock.cpp Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jslock.h [JAEGER] Merge from Tracemonkey. 2010-08-30 15:13:32 -07:00
jslocko.asm
jslog2.cpp
jslong.h
jsmath.cpp Bug 578916 - Cache results of Math.sin() (r=waldo) 2010-10-06 12:13:20 -07:00
jsmath.h Bug 578916 - Cache results of Math.sin() (r=waldo) 2010-10-06 12:13:20 -07:00
jsnativestack.cpp [JAEGER] Merge from fatval & TM. 2010-07-05 18:07:39 -07:00
jsnativestack.h bug 237006 - automatic detection of the native thread stack base. The patch is based on the initial patches for bug 516832 by gal and gregor. r=gregor 2010-05-19 10:29:05 +02:00
jsnum.cpp Bug 514570 - 1 - Convert primitive-this-of-type function flags into a single primitive-this flag, to pave way for strict mode unadulterated-this passing. r=jorendorff 2010-10-12 11:50:02 -07:00
jsnum.h Bug 597814 - Optimize js_DoubleToECMAInt32 for MSVC and gcc x86_64. r=dvander 2010-09-24 20:19:43 -04:00
jsobj.cpp Fix memory leak, change uint to unsigned, bug 584917 followup. r=brendan,njn 2010-10-13 16:10:15 -07:00
jsobj.h Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsobjinlines.h Fix memory leak, change uint to unsigned, bug 584917 followup. r=brendan,njn 2010-10-13 16:10:15 -07:00
json.cpp Bug 599254 - Avoid an unnecessary switch in the JSON parser. r=sayrer. 2010-09-27 17:20:43 -07:00
json.h Bug 599254 - Avoid an unnecessary switch in the JSON parser. r=sayrer. 2010-09-27 17:20:43 -07:00
jsopcode.cpp Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsopcode.h Bug 549143 - fatvals 2010-07-14 23:19:36 -07:00
jsopcode.tbl Backed out changeset 8ea3083a9787 2010-10-15 15:29:57 -07:00
jsopcodeinlines.h Bug 535912 - Eliminate blockChain from JSStackFrame (r=cdleary) 2010-09-29 13:21:36 -07:00
jsoplengen.cpp
jsotypes.h
jsparse.cpp Fix old comment referring to eval cache code being in obj_eval. r=waylon 2010-10-11 11:49:29 -07:00
jsparse.h Bug 535912 - Eliminate blockChain from JSStackFrame (r=cdleary) 2010-09-29 13:21:36 -07:00
jsprf.cpp Finally get rid of /* Added by JSIFY */ comments. r=Waldo. 2010-10-01 18:46:54 -05:00
jsprf.h
jsprobes.cpp Bug 558861 - Compartmental GC (r=gal) 2010-09-24 10:54:39 -07:00
jsprobes.h Backout accidental checkin of 149dfce94388 2010-09-14 22:30:36 -07:00
jspropertycache.cpp Backed out changeset 8ea3083a9787 2010-10-15 15:29:57 -07:00
jspropertycache.h Revert 782a44082ed2, which was a somewhat-too-optimistic removal of code that's not dead yet (and is not getting better). r=orange 2010-10-14 14:20:59 -07:00
jspropertycacheinlines.h Revert 782a44082ed2, which was a somewhat-too-optimistic removal of code that's not dead yet (and is not getting better). r=orange 2010-10-14 14:20:59 -07:00
jspropertytree.cpp Modularize to avoid inline vs. not ShapeHasher static woes (595615, r=dbaron, a=beta6+/debug-only-fix-for-devs). 2010-09-12 09:39:45 -07:00
jspropertytree.h JSFunction::addLocal never calls Shape::maybeHash (595918, r=jorendorff). 2010-09-13 18:44:34 -07:00
jsproto.tbl bug 533874, r=jimb: expose the parser as a JS API 2010-06-15 13:32:32 -07:00
jsproxy.cpp Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsproxy.h Bug 604365 - Don't accidentally share JSSLOT_PROXY_EXTRA with functions. r=peterv 2010-10-18 15:21:47 -07:00
jsprvtd.h Bug 537873, Bug 514574: Delete unused property operation typedefs: JSDefinePropOp, JSPropertyIdOp. r=luke 2010-09-15 13:43:54 -07:00
jspubtd.h bug 580128 - Allow API consumers to pass in a new object altogether before trying to wrap in a security wrapper. r=gal/peterv 2010-10-10 15:36:38 -07:00
jsreflect.cpp bug 594622, r=cdleary: support for TOK_XMLSPACE nodes 2010-09-14 19:55:53 -07:00
jsreflect.h bug 590766, r=cdleary: let-expressions and let-statements 2010-09-07 15:44:31 -07:00
jsregexp.cpp Bug 558861 - Compartmental GC (r=gal) 2010-09-24 10:54:39 -07:00
jsregexp.h Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsregexpinlines.h Bug 604432: Disable Yarr JIT on i9000s. r=cdleary a=blocking-fennec 2010-10-15 16:51:47 -05:00
jsreops.tbl
jsscan.cpp Bug 596502: unbreak XML parsing on JS1.6 and onwards. (r=brendan) 2010-09-18 00:31:36 -07:00
jsscan.h Bug 540675: eviscerate JSStackFrame::callerVersion. (r=lw) 2010-09-13 09:38:22 -07:00
jsscope.cpp Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsscope.h Avoid MSVC mumbo-jumbo in static assertion. Following up on suggestions in bug 604276 comment 6 and bug 598055 comment 1. no_r=me. 2010-10-15 09:31:07 -05:00
jsscopeinlines.h Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsscript.cpp Warning fixes (one left over from 602621, the other from 584789). 2010-10-10 21:11:45 -07:00
jsscript.h Fix bug 602574 - Assertion failure: constOffset != 0 in JSScript::NewScript() on 64-bit platforms. r=gal@uci.edu 2010-10-10 15:47:09 -07:00
jsscriptinlines.h [JAEGER] Remove tracerecursion (bug 591539, r=luke). 2010-08-27 21:18:58 -07:00
jsshell.msg Bug 595297 - Portable serialize/deserialize implementation of the HTML5 structured cloning algorithm (jsclone.cpp). r=gal. 2010-09-30 19:47:10 -05:00
jsstack.js Bug 578235 - Port jsstack.js to Dehydra with GCC 4.5 r=taras, a=test-only 2010-08-18 18:06:17 -07:00
jsstaticcheck.h Header changes for sixgill, annotations. bug 601129, r=jorendorff 2010-10-01 21:00:55 -07:00
jsstdint.h
jsstr.cpp Detect some OOM conditions. b=602935, r=jorendorff. 2010-10-14 19:24:09 -04:00
jsstr.h Detect some OOM conditions. b=602935, r=jorendorff. 2010-10-14 19:24:09 -04:00
jsstrinlines.h bug 599481 - static string tables should be constant. r=alangpierce 2010-09-25 00:36:58 +02:00
jstl.h Backout c130135dcf02 (Fix for bug 590612 (Speed up js-wrapping in classinfo when we already have a wrapper)). 2010-09-14 22:27:02 -07:00
jstracer.cpp Backed out changeset 8ea3083a9787 2010-10-15 15:29:57 -07:00
jstracer.h Bug 600779 - TM: allow for branches that are always taken. r=dmandelin. 2010-10-13 16:39:20 -07:00
jstypedarray.cpp Detect some OOM conditions. b=602935, r=jorendorff. 2010-10-14 19:24:09 -04:00
jstypedarray.h Bug 581263 - remove slow natives (r=waldo,mrbkap) 2010-08-16 12:35:04 -07:00
jstypes.h Bug 537873, Bug 514574: Have strict mode code report TypeErrors for assignments, deletions. r=brendan 2010-09-15 13:43:55 -07:00
jsutil.cpp [JAEGER] Merge from Tracemonkey. 2010-08-30 15:13:32 -07:00
jsutil.h Bug 601835 Add JS_STATIC_ASSERT back for Solaris Studio, r=brendan 2010-10-11 18:23:55 +08:00
jsval.h Bug 604323 - Bug 514570 causes bustage Win64 debug build. r=jwalden 2010-10-15 10:28:30 +09:00
jsvalue.h Flexible length JSObject, bug 584917. r=brendan,igor 2010-10-13 11:49:22 -07:00
jsvector.h Bug 595297 - Portable serialize/deserialize implementation of the HTML5 structured cloning algorithm (jsclone.cpp). r=gal. 2010-09-30 19:47:10 -05:00
jsversion.h Bug 592644 - ES5 indirect eval. Part 1, add support and tests. r=brendan. 2010-10-07 15:00:09 -05:00
jswin.h Forgotten jswin.h file. (r=red) 2010-08-11 14:59:19 -07:00
jswince.asm
jswrapper.cpp bug 580128 - Allow unwrapping windows via JSObject::unwrap. r=jst 2010-10-10 15:48:35 -07:00
jswrapper.h bug 580128 - Allow proxies to answer the "hasInstance" question. r=mrbkap 2010-10-10 15:39:26 -07:00
jsxdrapi.cpp Finally get rid of /* Added by JSIFY */ comments. r=Waldo. 2010-10-01 18:46:54 -05:00
jsxdrapi.h Backed out changeset 8ea3083a9787 2010-10-15 15:29:57 -07:00
jsxml.cpp Bug 604108 - Grab the right compartment to check if we're finalizing the functionNamespaceObject. r=peterv 2010-10-13 11:17:21 -07:00
jsxml.h Bug 558861 - Compartmental GC (r=gal) 2010-09-24 10:54:39 -07:00
lock_sparcv8plus.il
lock_sparcv9.il
Makefile.in Backed out changeset 2402ccc1d428 2010-10-15 21:44:10 -04:00
Makefile.ref Remove special constructs no longer needed for Narcissus (bug 579137, r=gal) 2010-07-16 18:16:07 -07:00
nanojit-import-filemap
nanojit-import-rev Update nanojit-import-rev stamp. 2010-10-12 12:53:29 -07:00
perfect.js
plify_jsdhash.sed
prmjtime.cpp Correct GMT offsets for New Zealand and the Kingdom of Tonga, bug 591845. r=brendan, CLOSED TREE 2010-08-31 17:57:14 -07:00
prmjtime.h Date performance fixes, bug 578259. r=waldo 2010-08-17 10:42:57 -07:00
README.html
resource.h
rules.mk
SpiderMonkey.rsp
time.sh
Y.js

<!-- ***** BEGIN LICENSE BLOCK *****
   - Version: MPL 1.1/GPL 2.0/LGPL 2.1
   -
   - The contents of this file are subject to the Mozilla Public License Version
   - 1.1 (the "License"); you may not use this file except in compliance with
   - the License. You may obtain a copy of the License at
   - http://www.mozilla.org/MPL/
   -
   - Software distributed under the License is distributed on an "AS IS" basis,
   - WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
   - for the specific language governing rights and limitations under the
   - License.
   - 
   - The Original Code is Mozilla Communicator client code, released
   - March 31, 1998.
   - 
   - The Initial Developer of the Original Code is
   - Netscape Communications Corporation.
   - Portions created by the Initial Developer are Copyright (C) 1998-1999
   - the Initial Developer. All Rights Reserved.
   - 
   - Contributor(s):
   - 
   - Alternatively, the contents of this file may be used under the terms of
   - either of the GNU General Public License Version 2 or later (the "GPL"),
   - or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
   - in which case the provisions of the GPL or the LGPL are applicable instead
   - of those above. If you wish to allow use of your version of this file only
   - under the terms of either the GPL or the LGPL, and not to allow others to
   - use your version of this file under the terms of the MPL, indicate your
   - decision by deleting the provisions above and replace them with the notice
   - and other provisions required by the GPL or the LGPL. If you do not delete
   - the provisions above, a recipient may use your version of this file under
   - the terms of any one of the MPL, the GPL or the LGPL.
   -
   - ***** END LICENSE BLOCK ***** -->
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta http-equiv="Refresh"
	 content="0;URL=http://developer.mozilla.org/en/docs/SpiderMonkey">
   <title>SpiderMonkey README</title>
</head>
<body>

<h1>SpiderMonkey README</h1>

<p>See the
<a href="http://developer.mozilla.org/en/docs/SpiderMonkey">SpiderMonkey
pages</a> on the Mozilla Developer Center</a>.

</body>
</html>