Commit Graph

68 Commits

Author SHA1 Message Date
Bobby Holley
0c75150387 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
Nicholas Nethercote
b756f6b258 Bug 898914 (part 1) - Remove JSBool.
--HG--
extra : rebase_source : 2d202e0e5005a7f54724b1540481c15cde3ad52e
2013-08-08 15:53:04 -07:00
Nicholas Nethercote
ba723f1034 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
8278efd42a 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
8c89deb65b Backed out changeset ae8d72538dee (bug 897484) for b2g bustage 2013-07-26 12:34:25 +02:00
Jon Coppeard
fc9b509d4f 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
1463e7df5b Bug 896949 - JS_SetProperty APIs should take an immutable parameter r=waldo r=bz 2013-07-26 10:00:38 +01:00
Jon Coppeard
477e4df5c5 Bug 896540 - GC: Convert JS_SetProperty* to take MutableHandleValue - browser changes r=bz 2013-07-25 13:57:00 +01:00
Gabor Krizsanits
756a8f8c8c Bug 864335 - Remove GetScriptGlobalObject. r=mrbkap 2013-06-21 16:25:20 +02:00
Bobby Holley
91448a9dac 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
54ef3d2952 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
ed14745b20 Bug 834701 - Stop setting the XBL script in the browser. r=bz 2013-05-20 22:34:17 -06:00
David Zbarsky
ae680f2b5f Bug 868312 - Rooting fixes for dom r=bz 2013-05-10 14:22:21 -04:00
Bobby Holley
d0202a05c6 Bug 857356 - Remove XBL field auto-waiving. r=bz 2013-05-09 09:16:01 -07:00
Jacek Szpot
514f40e52a Bug 854503 - Rename JS unwrapping functions. r=bholley 2013-04-11 11:50:18 -07:00
Ryan VanderMeulen
24a4c17eff Backed out changeset a85d21e394c0 (bug 854503) for bustage. 2013-04-06 14:37:33 -04:00
Jacek Szpot
8ce12e971c Bug 854503 - Rename JS unwrapping functions. r=bholley 2013-04-04 12:14:32 +02:00
Bobby Holley
0c00d801cd Bug 858642 - Null-check the XBL scope. r=bz 2013-04-05 12:04:09 -07:00
Tom Schuster
d3ebb2d912 Bug 855411 - Root InstallField. r=bz,terrence 2013-04-05 15:21:02 +02:00
Tom Schuster
cc6b62046b Bug 855411 - Root InstallAccessors. r=bz,terrence 2013-04-05 15:21:02 +02:00
Tom Schuster
ffa0382dc0 Bug 855411 - Root InstallXBLField. r=bz,terrence 2013-04-05 15:21:02 +02:00
Bobby Holley
c038c610e6 Bug 843829 - Explicitly add a waiver in FieldGetter and FieldSetter. r=mrbkap 2013-04-03 11:41:23 -07:00
Ehsan Akhgari
9df6dde4c7 Backed out 6 changesets (bug 843829, bug 845862) because of broken mochitest-5
Backed out changeset 1df3bdadb7ce (bug 843829)
Backed out changeset 64f001fe04fb (bug 843829)
Backed out changeset 57652d8f0827 (bug 843829)
Backed out changeset 2e889cd77a48 (bug 843829)
Backed out changeset 97d16e7beb27 (bug 843829)
Backed out changeset 6c6ab0e54917 (bug 845862)

Landed on a CLOSED TREE
2013-04-02 23:05:48 -04:00
Bobby Holley
b8f153dab6 Bug 843829 - Explicitly add a waiver in FieldGetter and FieldSetter. r=mrbkap 2013-04-02 18:51:20 -07:00
Jose Cortes
ed1d7393df Bug 842186 - Update use of jsval with JS::Value in cpp and h files in the content/xul/ content/canvas/ content/xslt/ and content/xbl/ directories. r=jwalden
--HG--
extra : rebase_source : fc2809818c2601d0b58f503968d579d09de98ea9
2013-03-22 22:05:20 -07:00
David Zbarsky
5cc0fcdcdf Bug 847007: Remove nsIContent includes r=Ms2ger 2013-03-21 20:05:20 -04:00
Jon Coppeard
8d5fd16382 Bug 848395 - GC: Move Rooted to JS namespace - rename js::Rooted to JS::Rooted outside SpiderMonkey r=terrence
--HG--
extra : rebase_source : 35cbf3cc4da4598c2e9e6975028ef397718849db
2013-03-06 16:41:43 +00:00
Ed Morley
fe417ad697 Backed out changeset 28ef4bdff455 (bug 848395) 2013-03-07 13:03:35 +00:00
Jon Coppeard
fa71007e65 Bug 848395 - GC: Move Rooted to JS namespace - rename js::Rooted to JS::Rooted outside SpiderMonkey r=terrence
--HG--
extra : rebase_source : 866879df05e3ec3f8e93570eb3f6b71103636b41
2013-03-06 16:41:43 +00:00
Bobby Holley
d1a3436036 Bug 834732 - Audit callers of GetNativeContext and use AutoPushJSContext where appropriate. r=mrbkap 2013-02-26 11:04:13 -08:00
Bobby Holley
0a9cda6738 Bug 821850 - Clone XBL into the XBL scope's compartment. r=bz 2013-02-08 14:24:22 +00:00
Bobby Holley
2eef2f91f9 Bug 821850 - Unwrap |callee| before passing it to InstallXBLField. r=bz
InstallXBLField knows how to handle cross-compartment |callee|. However,
The current value will always be wrapped. We need to unwrap said wrappers,
otherwise we'll end up with objects that aren't functions.
2013-02-08 14:24:21 +00:00
Bobby Holley
85c0f5cf46 Bug 821850 - Install XBL field accessors on prototype objects at setup time, and nuke XBLResolve. r=bz 2013-02-08 14:24:21 +00:00
Bobby Holley
c6479a3444 Bug 821850 - Hoist Field machinery into nsXBLProtoImplField. r=bz
This is a pure cut/paste except for removing |static| from XBLResolve.
XBLResolve will go away soon, so there's no need to put it in a header.
2013-02-08 14:24:21 +00:00
Bobby Holley
fe9b482b3b Bug 824864 - Pass EvaluateString out-param as a pointer, not a reference. r=bz 2013-01-16 18:50:27 -08:00
Bobby Holley
89a6e0fc9e Bug 824864 - Rename EvaluateStringWithValue to EvaluateString. r=bz
Now that there's only one of them, we can get rid of the silly suffix. \o/
2013-01-16 18:50:26 -08:00
Bobby Holley
1724ed7409 Bug 824864 - Improve the API for EvaluateStringWithValue. r=bz
There are a few changes we make here:
1 - Having callers pass JS::CompileOptions directly.
2 - Removing aUndefined, which makes no sense and is unused by consumers.
3 - Making aScopeObject and aRetValue non-optional, via references.
3 - Adding an argument to optionally coerce the return value to a string.

Coercing jsvals to strings is the reason we currently have two nearly-identical
functions, EvaluateString and EvaluateStringWithValue, since the coercion can
trigger arbitrary script and thus needs to be bracketed by all the junk that
nsJSContext does. However, if callers can be guaranteed that the return value
will be a bonafide string, then they can easily extract the string themselves
if they so desire. This will allow us to combine the two functions.
2013-01-16 18:50:26 -08:00
Bobby Holley
b9b954824f Bug 820666 - Tag XBL script for <field> elements and child scripts. r=jorendorff 2012-12-12 17:09:37 -08:00
Ehsan Akhgari
b5c39afb4e Bug 792502 - Kill the FunctionTimer code; r=vlad 2012-09-19 16:59:38 -04:00
Randell Jesup
eedf93a21d Bug 773151: Convert nsCAutoString->nsAutoCString CLOSED TREE r=bsmedberg 2012-09-01 22:35:17 -04:00
Aryeh Gregor
e806eeab4f Bug 777292 part 2 - Change all nsnull to nullptr 2012-07-30 17:20:58 +03:00
David Zbarsky
ae718ee1c0 Bug 763350 - Clean up some includes in content/ and dom/ r=smaug 2012-07-01 16:45:59 -07:00
Jeff Walden
52fa77ed8b Bug 758912 - Don't use JSCLASS_NEW_RESOLVE_GETS_START in XBL code. r=bz 2012-05-29 12:01:30 -07:00
Gervase Markham
ca171eec44 Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Olli Pettay
aef37dab12 Bug 641821, MutationObserver, r=sicking
--HG--
extra : rebase_source : a680c883b22976edf38eea23fb516215e081084f
2012-03-31 09:30:13 -07:00
Nathan Froyd
70cbaa6b9e Bug 732167 - Eliminate duplicate headers in content. r=mounir 2012-03-06 13:55:37 -05:00
Ginn Chen
4dfb39f696 Bug 701273 Fix prototype mismatch for nsXBLProtoImplProperty and nsXBLProtoImplField (bool vs const bool) r=enndeakin 2011-11-21 11:09:16 +08:00
Ms2ger
433468f9b0 Bug 698380 - Give nsIScriptContext::EvaluateStringWithValue a JS::Value retval parameter; r=peterv 2011-11-16 08:50:20 +01:00
Neil Deakin
f8a0db5b61 Bug 94199, part 4, serialize/deserialize xbl to startup cache, r=bz 2011-11-03 16:39:08 -04:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00