Commit Graph

894 Commits

Author SHA1 Message Date
Bobby Holley
1ec46ae8f9 Bug 902718 - Use the SafeJSContext for XBL serialization and deserialization. r=bz 2013-08-09 09:25:13 -07:00
Bobby Holley
2ae63c93c3 Bug 902718 - Fix up nsXBLDocGlobalObject::GetGlobalJSObject() to force lazy global creation. r=bz
Currently we always pull the global off the nsIScriptContext, and trigger
a call to EnsureScriptEnvironment in the GetContext() call. So as we move away
from nsIScriptContext, let's make sure that GetGlobalJSObject continues to work
correctly.
2013-08-09 09:25:13 -07:00
Bobby Holley
f5b4947a7e Bug 902718 - Rip out nsIScriptContext from the lion's share of XBL code. r=bz
This kind of has to be done all at once. The primary correctness concern here is
making sure that we continue to operate in the correct compartment. So the basic
strategy here is as follows.

For most anything that previously took a script context, we remove the parameter
entirely and assert that the stack-top cx is in the compartment of the
compilation scope. We then bubble this up through all the callers until we hit
a caller that finds the scx via some means other than its parameter list. At
these points, we push the scx, making it stack-top.

This puts us in a good position to switch wholesale to the SafeJSContext in
subsequent patches.
2013-08-09 09:25:13 -07:00
Bobby Holley
2ec088ab64 Bug 902718 - Stop taking an nsIScriptContext in XBL serialization routines. r=bz 2013-08-09 09:25:13 -07:00
Bobby Holley
402cf54235 Bug 902718 - Add a mechanism to assert that the stack-top cx is an XBL compilation scope. r=bz 2013-08-09 09:25:12 -07:00
Bobby Holley
a3eabb303f Bug 902718 - Defer XPCOM release from the XBL compilation scope finalizer. r=mccr8
Apparently the current setup is incidentally safe, but far from kosher.
2013-08-09 09:25:12 -07:00
Nicholas Nethercote
849635b8f1 Bug 898914 (part 1) - Remove JSBool.
--HG--
extra : rebase_source : 2d202e0e5005a7f54724b1540481c15cde3ad52e
2013-08-08 15:53:04 -07:00
Nicholas Nethercote
aa5919539d Bug 902332 - Replace JS_{FALSE,TRUE} with {false,true} almost everywhere. r=luke,bz.
--HG--
extra : rebase_source : 25f4de1bfae830b0af6407d260a70b787ab1dc9b
2013-08-06 23:59:54 -07:00
Blake Kaplan
f407186e88 Bug 898926 - xbl:children elements are insertion points if they're inactive. r=sicking 2013-08-06 17:31:30 -07:00
Nicholas Nethercote
c1d8302699 Bug 901750 - Change return type of |JSNative| from |JSBool| to |bool|. code=nnethercote,jandem. r=luke,bz.
--HG--
extra : rebase_source : 5b3d7cc339af6d93bde078322e25c6e740d1b617
2013-08-02 00:41:57 -07:00
Jon Coppeard
0f31f8c399 Bug 900979 - Change JS_DeleteProperty APIs to use a boolean out param rather than a value r=waldo r=bz 2013-08-05 14:01:53 +01:00
Jon Coppeard
ef396b7874 Bug 899973 - GC: Convert the rest of the JS property API to use MutableHandleValue for out params - browser changes r=bz 2013-08-02 13:15:39 +01:00
Robert O'Callahan
57a1ce6eee Bug 880854. When attaching XBL bindings to elements in a static document, sync-load the bindings document so that delayed changes to the shadow DOM don't mess up, for example, printing. r=mrbkap
--HG--
extra : rebase_source : 283ce66e7659b8ac9d8c5dc08d52b0f5a79452fb
2013-08-02 21:26:21 +12:00
Bobby Holley
595cbc9fd5 Bug 897322 - Allow callers to manually fire OnNewGlobalObject when bootstrapping is complete. r=luke 2013-08-01 18:38:47 -07:00
Bobby Holley
e365a778eb Bug 885388 - Make compilation scopes invisible to the debugger. r=mrbkap 2013-08-01 18:38:46 -07:00
Mike Hommey
ca80cd82ad Bug 881323 - Re-implement CycleCollectorParticipant with actual vtables, with constexpr to avoid static initializers. r=mccr8 2013-08-02 10:29:05 +09:00
Tom Schuster
8ac55e5939 Bug 884410 - Handlify JS_GetPrototype. r=terrence 2013-07-31 12:20:33 -04:00
Bobby Holley
92b0bb5f15 Bug 898811 - Use the system error reporter for XBL compilation. r=mrbkap
The current XBL error reporter logs things to the console service, but not to
stderr. And in certain situations (especially if there's a parse error in
frontend XBL that leaves the browser in a half-baked state), it can be very
difficult to get to the error console.

So we should log to stderr too, which is exactly what the system error reporter
does.
2013-07-30 17:58:46 -07:00
Bobby Holley
08f9b6fd28 Bug 899245 - Rename JS_SetGlobalObject and move it into jsfriendapi. r=luke 2013-07-29 16:45:26 -07:00
Jon Coppeard
fd4d274d46 Bug 897484 - GC: Convert JS_GetProperty APIs to take MutableHandleValue r=terrence r=bholley r=smaug 2013-07-26 10:00:38 +01:00
Carsten "Tomcat" Book
ac22f0d0ad Backed out changeset ae8d72538dee (bug 897484) for b2g bustage 2013-07-26 12:34:25 +02:00
Jon Coppeard
fed22eac4c Bug 897484 - GC: Convert JS_GetProperty APIs to take MutableHandleValue r=terrence r=bholley r=smaug 2013-07-26 10:00:38 +01:00
Jon Coppeard
4258a261db Bug 896949 - JS_SetProperty APIs should take an immutable parameter r=waldo r=bz 2013-07-26 10:00:38 +01:00
William Chen
0c8fbf52b7 Bug 895805 - Ensure nsBindingManager hashtable is initialized before use. r=mrbkap 2013-07-25 22:58:39 -07:00
Jon Coppeard
bd28d643f7 Bug 896540 - GC: Convert JS_SetProperty* to take MutableHandleValue - browser changes r=bz 2013-07-25 13:57:00 +01:00
Ms2ger
d7e09279b4 Bug 896385 - Use nsInterfaceHashtable for nsXBLPrototypeBinding::mInterfaceTable; r=mrbkap 2013-07-24 09:39:56 +02:00
Jon Coppeard
7345e3e7f2 Bug 891966 - 2 - Comment calls to Handle::fromMarkedLocation r=bz 2013-07-23 10:58:28 +01:00
Jon Coppeard
b216cf9603 Bug 891966 - 1 - Don't allow construction of Handle<T> from Heap<T> r=bz 2013-07-23 10:58:27 +01:00
Blake Kaplan
9bff37c4e0 Bug 895129 - Fix a typo in the original patch: we should be ignoring xul:observes. r=sicking 2013-07-17 16:20:37 -07:00
Bobby Holley
1dceda6384 Bug 887334 - Enter a compartment between manual calls to JS_{Save,Restore}FrameChain. r=luke
The stuff in nsXBLProtoImplMethod is doing the same thing, so let's just have
it call into nsJSUtils.
2013-07-17 11:53:52 -07:00
William Chen
f8b2cdb2c6 Bug 796061 - Part 2: Remove mInsertionParentTable from nsBindingManager. r=mrbkap 2013-07-17 09:05:06 -07:00
William Chen
43142c497a Bug 796061 - Part 1: Remove mBindingTable from nsBindingManager. r=mrbkap 2013-07-17 09:05:03 -07:00
Blake Kaplan
89177ea95a Bug 888787 - Restore old XBL behavior when a child of the bound element didn't match any of the <children/> in the binding. r=sicking 2013-07-11 17:05:54 -04:00
Mike Hommey
e9ee5bb8ee Bug 892904 - Remove useless includes of config.mk. r=gps 2013-07-15 18:48:40 +09:00
Trevor Saunders
238525e2d8 bug 887483 - remove a bunch of useless assignments to FORCE_STATIC_LIB implied by LIBXUL_LIBRARY=1 r=mshal 2013-07-11 11:06:34 -04:00
Boris Zbarsky
e787289888 Bug 890193. Make the XML prettyprinter actually drop its binding when it unhooks, and remove the now-dead concept of "style binding" in the process. r=mrbkap 2013-07-11 11:58:28 -04:00
J. Ryan Stinnett
b048433edd Bug 282097 - Part 9: Ensure editor commands are enabled. r=enndeakin 2013-07-10 09:13:53 -05:00
J. Ryan Stinnett
e56a76c9f2 Bug 282097 - Part 5: Remove platform bindings for Cocoa. r=neil 2013-07-10 09:10:18 -05:00
Tim Taubert
a887626424 Bug 891806 - part 2 - replace 'yield;' with 'yield undefined;' in content/; r=smaug 2013-07-10 23:52:14 +02:00
Ryan VanderMeulen
ec6b3d53b5 Merge m-c to inbound. 2013-07-10 09:45:16 -04:00
Ms2ger
1475a22d49 Bug 213324 - Remove getter_AddRefs(T*); r=ehsan 2013-07-10 11:56:21 +02:00
Blake Kaplan
ecf2b59e9a Bug 891088 - Rename nsXBLChildrenElement -> mozilla::dom::XBLChildrenElement. r=peterv
--HG--
rename : content/xbl/src/nsXBLChildrenElement.cpp => content/xbl/src/XBLChildrenElement.cpp
rename : content/xbl/src/nsXBLChildrenElement.h => content/xbl/src/XBLChildrenElement.h
2013-07-01 15:09:37 -07:00
Kyle Huey
09f79c85d7 Bug 891088: Fix whitespace. r=me 2013-07-09 07:29:25 -07:00
Kyle Huey
afae5b1108 Bug 885866: Separate deferred finalization from XPConnect so we can use it off the main thread. r=mccr8, peterv, bsmedberg, jorendorff 2013-07-09 07:28:15 -07:00
Bobby Holley
f1be1a01ff Bug 880917 - Remove AutoVersionChecker. r=luke
Looks like cdleary added this back in bug 595691, as an equivalence to some
even-older-and-more-overly-cautious XBL code that was saving and restoring
the version across XBL calls. It doesn't seem like this should be an issue
anymore, and it's just a debugging aid to boot. Let's kill it.
2013-06-29 09:11:18 -06:00
Bobby Holley
49f8ff5f9d Bug 880917 - Generalize JS_NewGlobalObject API to take CompartmentOptions. r=luke
This will be useful for versioning, as well as JIT options and all the other
stuff that eventually needs to move out of the JSContext.
2013-06-29 09:11:17 -06:00
Blake Kaplan
a3a6516091 Bug 653881 - Rework XBL insertion points and clean up related code to more closely follow the Web Components model. Instead of maintaining a hashtable of insertion points in bindings (and removing insertions points from the tree) leave the insertion points in the tree as explicit placeholders and teach all other relevant code how to walk the explicit children of elements via two iterators (ExplicitChildIterator and FlattenedChildIterator). Note that this patch does not maintain 100% compatibility with the previous code: there are bug fixes and behavior changes included. For example, by having explicit insertion points in the bindings, it is now easier to handle dynamic changes to the bound element correctly (as well as, eventually, handling dynamic changes to the binding correctly). Patch originally by sicking. r=bzbarsky
--HG--
extra : rebase_source : 6926ae8ea57b20f4067b16bd3d7bd85bda854756
2013-05-01 15:50:08 -07:00
Ms2ger
67f84492bd Bug 884268 - Part b: Move nsContentUtils::PreserveWrapper to nsWrapperCache; r=smaug 2013-06-23 09:15:42 +02:00
Gabor Krizsanits
2efc3017e5 Bug 864335 - Remove GetScriptGlobalObject. r=mrbkap 2013-06-21 16:25:20 +02:00
Jon Coppeard
19b426b223 Bug 885310 - 1 Rename JSHandleFoo in the browser r=bz 2013-06-21 14:12:46 +01:00
Bobby Holley
7a9309f7be Bug 883450 - Miscellaneous requests. r=gabor 2013-06-20 11:05:34 -07:00
Terrence Cole
066e7ee97b Bug 884410 - Handlify the JS_ResolveStandardClass interface; r=jonco
--HG--
extra : rebase_source : 3ba45931aad97fb7cbca517ae9bccb974d42e57a
2013-06-13 17:10:00 -07:00
Jon Coppeard
da723794cd Bug 884371 - Remove JSMutableHandleXXX from the browser r=bz 2013-06-19 11:32:27 +01:00
Jon Coppeard
281d96245b Bug 884283 - GC: Rename RootMethods to GCMethods r=terrence 2013-06-19 11:32:26 +01:00
Jon Coppeard
38bba7f726 Bug 877762 - GC: Post-barrier cycle collector participants - 8 Convert JS::Object to use Heap<T> (XBL) r=bz r=sfink 2013-06-18 11:00:38 +01:00
Arnaud Sourioux
1aded9ba34 Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug 2013-05-29 13:43:41 -07:00
Ryan VanderMeulen
eb4d754279 Backed out changeset a966aadd9ae3 (bug 856822) for Windows bustage on a CLOSED TREE. 2013-05-29 17:56:10 -04:00
Arnaud Sourioux
83d60db473 Bug 856822: Annotate ~1700 methods with MOZ_OVERRIDE in /content r=smaug 2013-05-29 13:43:41 -07:00
Mike Shal
6f32ddf61c Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Jon Coppeard
f53a29e132 Bug 874691 - Make CC participant tracing indirect r=mccr8 r=smaug r=bz 2013-05-27 12:50:49 +01:00
Masatoshi Kimura
407e00e58c Bug 876040 - Replace nsIDOMEvent::GetPreventDefault() with nsIDOMEvent::DefaultPrevented(). r=smaug 2013-05-26 06:05:36 +09:00
Bobby Holley
11f2396ec2 Bug 868110 - Introduce a more private API for the consumers that really do need the default compartment object. r=luke
The primary consumer of this is the whole inner/outer DOM window setup, which
uses the default global to track the current inner. But there are few other
random ones as well.

We use this as an opportunity to convert a bunch of consumers from the two-step
GetNativeContext() -> JS_GetGlobalObject() into just |GetNativeGlobal()|. This
will make things much easier to convert when we start tracking the current inner
explicitly.
2013-05-22 15:42:44 -06:00
Bobby Holley
1b2f22fe61 Bug 868130 - Remove the lion's share of JSAutoRequests in gecko. r=gabor
There are still a handful that either are used with other runtimes, or that
happen very early/late in cx the lifetime of various things where it doesn't
necessarily make sense to have a cx on the stack. This should definitely ensure
that we're not doing double-duty with the nsCxPusher change, though.
2013-05-22 10:05:28 -06:00
Bobby Holley
ba05c93769 Bug 868130 - Include nsCxPusher.h everywhere we need it, and stop including it from nsContentUtils.h. r=gabor 2013-05-22 10:05:26 -06:00
Bobby Holley
62b6770441 Bug 834701 - Stop setting the XBL script in the browser. r=bz 2013-05-20 22:34:17 -06:00
Boris Zbarsky
810766595d Bug 873735 part 2. Change nsIXPConnectJSObjectHolder::GetJSObject to return a JSObject*. r=bholley 2013-05-20 08:44:18 -04:00
Boris Zbarsky
be0882e3a1 Bug 873735 part 1. Fix the more or less mechanical browser rooting hazards. r=terrence 2013-05-20 08:40:06 -04:00
Boris Zbarsky
114a299902 Bug 869195. Make QueryInterface be exposed for both chrome and xbl scopes, not just in chrome. r=bholley,peterv 2013-05-14 14:24:48 -04:00
Ted Mielczarek
47d7af59de bug 871712 - make MSVC PGO opt-in per-directory, and opt-in in the directories that matter. r=glandium 2013-05-16 09:33:26 -04:00
Ryan VanderMeulen
a7737c8f7f Backed out 4 changesets (bug 869195, bug 870845, bug 872043, bug 862825) for mochitest b-c, mochitest-other, and xpcshell orange on a CLOSED TREE.
Backed out changeset 049889b25a79 (bug 869195)
Backed out changeset fc0bef5a2cfd (bug 862825)
Backed out changeset 267fe0d9c201 (bug 870845)
Backed out changeset 7b06b9d1acb2 (bug 872043)
2013-05-14 16:40:26 -04:00
Boris Zbarsky
5acfb67e4a Bug 869195. Make QueryInterface be exposed for both chrome and xbl scopes, not just in chrome. r=bholley,peterv 2013-05-14 14:24:48 -04:00
Ehsan Akhgari
b757634fd8 Bug 871315 - Fix some rooting hazards in content/; r=till,bzbarsky 2013-05-13 13:43:53 -04:00
Ehsan Akhgari
7cb39c2935 Backed out 2 changesets (bug 871315) because different compilers have different standards on what is and is not C++
Backed out changeset d0d2e13e8b83 (bug 871315)
Backed out changeset be3976bd2d57 (bug 871315)

Landed on a CLOSED TREE
2013-05-13 14:42:03 -04:00
Ehsan Akhgari
fc17efaf67 Bug 871315 - Fix some rooting hazards in content/; r=till,bzbarsky 2013-05-13 13:43:53 -04:00
David Zbarsky
e521e7ffff Bug 868312 - Rooting fixes for dom r=bz 2013-05-10 14:22:21 -04:00
Bobby Holley
c72a658997 Bug 857356 - Convert field-y XBL tests to run with dom.use_xbl_scopes_for_remote_xul=false. r=bz
There are a couple of tests here that do funny things with fields. Our basic
position here is that fields have no place for in-content XBL bindings, but
there's still value in testing this stuff given our heavy usage of XBL in
chrome code. They really should be converted to chrome tests, but I was having
trouble doing that, so I decided to convert them to run without XBL scopes, like
we do for remote XUL.

As a nice side effect, this gives us a tiny bit more test coverage for the
remote XUL configuration.

--HG--
rename : content/xbl/test/test_bug372769.xhtml => content/xbl/test/file_bug372769.xhtml
rename : content/xbl/test/test_bug397934.xhtml => content/xbl/test/file_bug397934.xhtml
2013-05-09 09:16:02 -07:00
Bobby Holley
5d7e378cff Bug 857356 - Fix in-content XBL tests. r=bz 2013-05-09 09:16:02 -07:00
Bobby Holley
2dcffbdb3d Bug 857356 - Remove XBL field auto-waiving. r=bz 2013-05-09 09:16:01 -07:00
Ehsan Akhgari
d3a06e40f8 Bug 868783 - Fix rooting hazards in nsXBLSerialize.cpp; r=till 2013-05-04 19:48:13 -04:00
Bobby Holley
b26fa028cb Bug 834699 - Fix tests that munge dom.xbl_scopes. r=bz 2013-05-02 16:02:04 -07:00
David Zbarsky
3f7cb5e49c Bug 866450 Part 1: Fix rooting hazards under content/ and dom/ r=bz 2013-05-02 05:12:45 -04:00
Ed Morley
0e4101d53a Backed out changeset ad10907da2d4 (bug 866450) for B2G build failures 2013-05-02 11:58:05 +01:00
David Zbarsky
350f4548ad Bug 866450 Part 1: Fix rooting hazards under content/ and dom/ r=bz 2013-05-02 05:12:45 -04:00
Aryeh Gregor
e78504c9a9 Bug 859817 - Remove implicit conversions from raw pointer to already_AddRefed; r=Ms2ger 2013-04-22 14:15:59 +03:00
Boris Zbarsky
f75142b01d Bug 864727 part 5. Make all the WrapObject methods take a handle for the scope object. r=ms2ger 2013-04-25 12:29:54 -04:00
Boris Zbarsky
5e7cf4462d Bug 862629 part 1. Stop playing compartment games with WebIDL callbacks and just use the given object as-is. r=peterv 2013-04-24 14:59:15 -04:00
Nathan Froyd
8aa8012d0b Bug 781702 - silence warning spew from nsXBLProtoImplMethod.cpp; r=bz 2012-10-08 15:52:24 -04:00
David Zbarsky
2bc2cd98b5 [Bug 857884] Use dom::EventTarget more instead of nsIDOMEventTarget Part 7 r=Ms2ger 2013-04-21 21:25:28 -04:00
Mike Shal
24b4056720 Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Jeff Walden
6539207aee Bug 858677 - Fix up code not built by SpiderMonkey to use the newly-changed deletion signatures. r=bholley, r=billm 2013-04-05 21:22:55 -07:00
David Zbarsky
c60331f6f0 Bug 857884 - Use dom::EventTarget more in content/ and dom/ Part 3 r=Ms2ger 2013-04-14 14:27:33 -04:00
Jacek Szpot
8123bfdfc5 Bug 854503 - Rename JS unwrapping functions. r=bholley 2013-04-11 11:50:18 -07:00
Ryan VanderMeulen
99647ac22c Backed out changesets a550dadafa30 and 315f6b451d07 (bug 857884) for mochitest failures on a CLOSED TREE. 2013-04-11 13:59:02 -04:00
David Zbarsky
3eb67cb52c Bug 857884 - Use dom::EventTarget more in content/ and dom/ Part 3 r=Ms2ger 2013-04-11 12:24:47 -04:00
Aryeh Gregor
f080632c9a Bug 857102 part 4 - Make NS_NewCommentNode and nsIDocument::CreateCommentNode infallible; r=bz 2013-04-04 15:02:22 +03:00
Aryeh Gregor
fe91515d0c Bug 857102 part 3 - Make various GetNodeInfo callers infallible; r=bz 2013-04-04 15:01:11 +03:00
Aryeh Gregor
f9e1831a55 Bug 857102 part 2 - Make NS_NewTextNode and nsIDocument::CreateTextNode infallible; r=bz 2013-04-04 15:01:08 +03:00
Ryan VanderMeulen
9420af6638 Backed out changeset a85d21e394c0 (bug 854503) for bustage. 2013-04-06 14:37:33 -04:00
Jacek Szpot
ccadc1da47 Bug 854503 - Rename JS unwrapping functions. r=bholley 2013-04-04 12:14:32 +02:00
David Zbarsky
dd55a87c18 Bug 857884 - Use dom::EventTarget more in content/ and dom/ Part 2 r=Ms2ger 2013-04-05 20:44:26 -04:00