Commit Graph

815 Commits

Author SHA1 Message Date
Boris Zbarsky
32c7f6e634 Bug 742217. Reduce the use of nested namespaces in our binding code. r=peterv,bent
In the new setup, all per-interface DOM binding files are exported into
mozilla/dom.  General files not specific to an interface are also exported into
mozilla/dom.

In terms of namespaces, most things now live in mozilla::dom.  Each interface
Foo that has generated code has a mozilla::dom::FooBinding namespace for said
generated code (and possibly a mozilla::bindings::FooBinding_workers if there's
separate codegen for workers).

IDL enums are a bit weird: since the name of the enum and the names of its
entries all end up in the same namespace, we still generate a C++ namespace
with the name of the IDL enum type with "Values" appended to it, with a
::valuelist inside for the actual C++ enum.  We then typedef
EnumFooValues::valuelist to EnumFoo.  That makes it a bit more difficult to
refer to the values, but means that values from different enums don't collide
with each other.

The enums with the proto and constructor IDs in them now live under the
mozilla::dom::prototypes and mozilla::dom::constructors namespaces respectively.
Again, this lets us deal sanely with the whole "enum value names are flattened
into the namespace the enum is in" deal.

The main benefit of this setup (and the reason "Binding" got appended to the
per-interface namespaces) is that this way "using mozilla::dom" should Just
Work for consumers and still allow C++ code to sanely use the IDL interface
names for concrete classes, which is fairly desirable.

--HG--
rename : dom/bindings/Utils.cpp => dom/bindings/BindingUtils.cpp
rename : dom/bindings/Utils.h => dom/bindings/BindingUtils.h
2012-05-03 00:35:38 -04:00
Bill McCloskey
ef6f92f4b9 Bug 750424 - Make nsXULPrototypeNode an nsISupports (r=smaug) 2012-04-30 15:54:16 -07:00
Kyle Huey
cad1dae76e Merge m-i to m-c. 2012-04-25 20:22:53 -07:00
Olli Pettay
babbc77a31 Bug 740063 - Add nsINode::AsDOMNode(), r=jst
--HG--
extra : rebase_source : a838243c11e212ec419df1dd1a219e955c4edc2d
2012-04-25 16:47:30 +03:00
Matt Brubeck
d5da39b00f Back out bug 730208 and bug 747543 because of xpcshell test failures 2012-04-24 20:47:16 -07:00
Honza Bambas
084e5d1783 Bug 700493 - Stop overlay load after document went away, r=bz 2012-04-25 14:50:20 +02:00
Masayuki Nakano
ba56663cd3 Bug 630811 part.2 Replace nsInputEvent::isShift, nsInputEvent::isControl, nsInputEvent::isAlt and nsInputEvent::isMeta r=smaug 2012-04-25 12:00:02 +09:00
Steve Fink
55246c9838 Bug 730208 - UnmarkGray the global object held by nsXULPDGlobalObject to avoid it getting used to create black -> gray edges. r=smaug
--HG--
extra : rebase_source : 08ec063f13679b0a0a32c1b56415f6192a657280
2012-03-20 21:29:47 -07:00
Mark Capella
329ec5f3aa Bug 744332 - Remove nsXULPrototypeScript::ScriptObjectHolder::mLangID. r=jst, f=Ms2ger 2012-04-24 18:31:28 -04:00
Phil Ringnalda
e72580eefe Bug 742455 - disable crashtests on Windows that are taking down the whole suite more often than not, a=test-only 2012-04-20 22:39:39 -07:00
Tom Schuster
fef9c89dba Bug 711843 - Update JSAPI for typed arrays, remove uses of jstypedarray.h outside the engine [r=Waldo,bz,Ms2ger,bholley,bjacob,philikon,evilpie,bent,yourmama] [a=mfinkle thanks to gkw] 2012-01-14 09:43:00 -08:00
Andrew McCreight
8370160730 Bug 744297 - initialize return value in nsXULPrototypeElement::Deserialize. r=bz 2012-04-11 07:48:14 -07:00
Mark Capella
0934514a16 Bug 741580 - Remove nsXULPrototype Element mScriptTypeID, r=ms2ger,jst 2012-04-05 12:20:44 -07:00
Igor Bukanov
83623b313c Bug 737365 - stop using the cx during finalization, part 1.
This part changes the signatures for various finalization API to take
not JSContext* but rather either JSFreeOp structure or its
library-private counterpart FreeOp. These structures wrap parameters
that are passed to the finalizers removing most of explicit dependencies
on JSContext in the finalization code.
2012-03-19 15:34:55 +01:00
Ryan VanderMeulen
e30ff35d31 Backout 17deb5f61b4d (bug 150073) due to build bustage. a=shouldausedtryfirst 2012-04-03 20:22:42 -04:00
Shriram Kunchanapalli
05c95fc3b7 Bug 150073 - Remove nsCRT:: in nsCRT::strlen. f=sgautherie, r=dougt 2012-02-18 19:17:01 +05:30
Rafael Ávila de Espíndola
70d45d3be8 Bug 739674 - test_tmpl_storage_bad_parameters_2.xul (and others) don't close their database. r=enndeakin. 2012-04-03 17:12:31 -04:00
Ms2ger
6ffad56f22 Bug 738759 - Add nsContentUtils::CheckSameOrigin overload taking two nsINodes; r=jst 2012-04-03 09:25:38 +02:00
Mark Capella
3519b46a3e Bug 738380 - Remove nsINode::{GetScriptTypeID, SetScriptTypeID}, nsIScriptContext::GetScriptTypeID, nsIScriptRuntime::GetScriptTypeID; r=jst 2012-04-01 14:47:48 +02:00
Peter Van der Beken
c2e642fbcc Fix for bug 740069 (Generate JS bindings in C++ with a python script for DOM objects on the main thread and in workers. Infrastructure and new bindings for XMLHttpRequest). Patch by bent/bz/bholley/jst/khuey/peterv, r=bent/bz/bholley/jlebar/khuey/peterv/sicking/smaug.
--HG--
rename : js/xpconnect/tests/mochitest/test_bug462428.html => dom/bindings/test/test_lookupGetter.html
2012-03-30 21:42:20 -07:00
Marco Bonardo
31496b4a78 Merge central to inbound 2012-03-30 12:27:55 +02:00
Ms2ger
6f4de79d23 Bug 738996 - Remove agnostic Hold/DropScriptObject nsContentUtils functions; r=mrbkap 2012-03-29 23:09:11 +02:00
Ms2ger
968425f97e Bug 738654 - Part b: RemoveChildAt can't fail; r=sicking 2012-03-29 23:09:07 +02:00
Matias Juntunen
800a01a2e1 Bug 729048 - Part 3: Replace call to nsParserService::CheckQName with nsContentUtils::CheckQName in nsXULDocument.cpp. r=hsivonen 2012-03-29 17:31:40 -04:00
Irving Reid
2804f5e3ca Bug 738662 - Add tracing/warning information to help debug XUL overlay problems. r=bz,enn 2012-03-26 15:40:52 -04:00
Phil Ringnalda
0abdfa04b8 Back out b00bf7f3869c (bug 737976) for apparently causing mochitest-1 leaks on a CLOSED TREE 2012-03-28 22:43:09 -07:00
Kyle Huey
c3096d813b Bug 737976: Remove nsINodeInfo. rs=bent 2012-03-28 19:07:37 -07:00
Igor Bukanov
7296e0408c bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
extra : rebase_source : f8f1536a86b7c3fe7296a16b6677bd21664af98a
2012-02-20 11:58:00 +01:00
Dão Gottwald
766a2b3244 Backed out changeset 30798fdc5bad 2012-03-24 12:33:30 +01:00
Igor Bukanov
f8a4496d31 bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
2012-02-20 11:58:00 +01:00
Ms2ger
8775c56114 Backed out changeset f33e1e959036; r=bustage 2012-03-24 11:04:34 +01:00
Igor Bukanov
8e97874303 bug 737624 - memory-only encoding/decoding of scripts and functions. r=:luke
The patch shrinks the API presented in jsxdrapi.h down to 4 functions to
encode/decode scripts and interpreted functions to/from the memory. The
newly introduced implementation header vm/Xdr.h replaces the former
JSXDRState with the template class XDRState parametrized by the enum
type with two constants, XDR_ENCODE and XDR_DECODE. This way a compiler
can fully eliminate the former runtime checks for the decoding/encoding
mode. As a drawback this required to explicitly instantiate the xdr
implementation as I do not want to put all the xdr code to header files.

The memory-only XDR allows to avoid coping filename and to-be-atomized
chars to a temporary buffer as the code can just access the buffer
directly. Another change is that new XDRScript takes as a parameter its
parent script. This allowed to avoid keeping filename in XDRState and
simplify the filename management.

Another change is the removal of JS_HAS_HDR. As CloneScript uses XDR to
copy a script, JS_HAS_XDR cannot be disabled.

--HG--
rename : js/src/jsxdrapi.cpp => js/src/vm/Xdr.cpp
2012-02-20 11:58:00 +01:00
Mark Capella
1e7fdd17b2 Bug 734023 - Remove language arguments from nsIScriptGlobalObject methods, r=jst, f=ms2ger 2012-03-23 18:13:29 +01:00
Andrew McCreight
9c5ab91ad1 Bug 737060 - don't traverse nsXULTemplateBuilder with observed document. r=bent 2012-03-22 08:37:18 -07:00
Henri Sivonen
f2d3f89eb7 Bug 737417 part 1 - Split charset source constants out of nsIParser.h. r=smaug. 2012-03-22 16:42:42 +02:00
Nathan Froyd
70cbaa6b9e Bug 732167 - Eliminate duplicate headers in content. r=mounir 2012-03-06 13:55:37 -05:00
Justin Lebar
0dbaf73150 Bug 729940 - Part 2: Stop using crappy hash functions in Gecko. r=bz
--HG--
extra : rebase_source : 6fa267a89878cc1a766d8618569debcea9b12e48
2012-03-12 18:53:18 -04:00
Ms2ger
51265ab0b6 Bug 734473 - Remove nsIScriptContext::FinalizeContext; r=jst 2012-03-11 09:51:22 +01:00
Masatoshi Kimura
0fc58c6dd5 Bug 705110 - Suppress warning spam on DOMAttrModified event. r=smaug 2012-02-27 18:57:28 -05:00
Henri Sivonen
c8d46ba72d Bug 650784 part 0 - Fold nsParserUtils into nsContentUtils. r=smaug. 2012-02-27 13:57:48 +02:00
Andrew McCreight
8cd569208b Bug 729401 - use global before we null it out in ~nsXULTemplateBuilder. r=bent 2012-02-24 08:49:23 -08:00
Matthew Schranz
7e8fb26c1e Bug 698381 - Make Node.cloneNode aDeep argument optional, default to true. r=smaug 2012-02-23 14:23:30 +01:00
Igor Bukanov
87ee03b495 bug 726944 - Remove JSClass::xdrObject and related functionality. r=luke 2012-02-13 09:02:21 +01:00
Brian Birtles
b01aa376a5 Bug 629200 part 3 - Make AfterSetAttr take an nsAttrValue; r=bz 2012-02-14 11:00:56 +09:00
Brian Birtles
6d87e35dd1 Bug 629200 part 2 - Make BeforeSetAttr take an nsAttrValue; r=bz 2012-02-14 11:00:56 +09:00
Igor Bukanov
18e6a2e079 bug 724310 - drop cx argument from JSObject field and fixed slots infallible API. r=:Waldo
--HG--
extra : rebase_source : b78519db2ff008eb5143676d2db47935f0e89f45
2012-02-05 21:07:23 +01:00
Igor Bukanov
eb3cfce3dc backout merge for bug 724310. r=irc 2012-02-09 21:28:22 +01:00
Igor Bukanov
efe64d22c0 bug 723517 - drop cx argument from JSObject field and fixed slots infallible API. r=:Waldo
--HG--
extra : rebase_source : c461dfc0e0e0462ab262cc01c2a771d3bb0971cc
2012-02-05 21:07:23 +01:00
Panagiotis Koutsourakis
791aa57b19 Bug 702388 - Convert Makefiles to use |TEST_DIRS += foo| r=khuey
Files named Makefile.in containing the expression

DIRS += <foo>
or
DIRS = <foo>

inside the conditional expression

ifdef ENABLE_TESTS
...
endif

are changed to

TEST_DIRS += tests

outside any conditional expression.

The files

./layout/Makefile.in
./layout/Makefile.in
./layout/style/Makefile.in
./rdf/Makefile.in
./security/manager/Makefile.in
./content/Makefile.in
./content/smil/Makefile.in
./content/xul/templates/Makefile.in
./content/xul/content/Makefile.in
./content/base/Makefile.in
./content/media/Makefile.in
./parser/htmlparser/Makefile.in
./dom/sms/Makefile.in
./js/jsd/Makefile.in
./js/xpconnect/Makefile.in
./widget/Makefile.in
./widget/windows/Makefile.in
./Makefile.in
./startupcache/Makefile.in
./storage/Makefile.in
./gfx/Makefile.in
./intl/strres/Makefile.in
./intl/uconv/Makefile.in
./intl/unicharutil/Makefile.in
./intl/lwbrk/Makefile.in
./embedding/Makefile.in
./modules/libjar/Makefile.in
./modules/libpref/Makefile.in
./build/Makefile.in
./build/win32/Makefile.in
./xpcom/Makefile.in
./extensions/spellcheck/hunspell/Makefile.in
./extensions/cookie/Makefile.in
./netwerk/Makefile.in
./netwerk/streamconv/Makefile.in
./editor/txmgr/Makefile.in
./toolkit/mozapps/shared/Makefile.in
./toolkit/mozapps/update/Makefile.in
./toolkit/library/Makefile.in
./toolkit/library/Makefile.in
./toolkit/crashreporter/Makefile.in
./toolkit/components/perf/Makefile.in
./toolkit/components/perf/Makefile.in
./toolkit/components/feeds/Makefile.in
./toolkit/components/url-classifier/Makefile.in

contain the string

ifdef ENABLE_TESTS

but have some other statement inside (e.g. TOOL_DIRS += <foo> etc) and
they remain unchanged by this patch.
2012-02-04 17:32:24 +00:00
Andrew McCreight
8a73fee0b0 Bug 720292 - add more cycle collector edge names. r=smaug 2012-01-23 15:25:53 -08:00