Commit Graph

4500 Commits

Author SHA1 Message Date
Bobby Holley
ed9547ed3d Bug 1152784 - Be more robust about possible intermediate wrappers in IsFrameId. r=bz
Boris and I debugged this. It looks like we're somehow ending up with an
XrayWaiver on the other end of a CrossOriginXrayWrapper. The specifics of how
this happens are a bit fuzzy to me, but it's presumably happening in all the
brain transplant weirdness we do when recomputing wrappers during document.domain.

Having an XrayWaiver there isn't unsafe - the wrapper computation algorithm
will ignore the waiver if the principals don't allow the caller to waive. But
it does throw a wrench in some brittle code that only expects certain kinds
of wrappers. Let's just do what XrayTraits::getTargetObject does. I don't think
this is really unsafe at all, because the only wrapper with a security boundary
is the CCW, and we're already stripping that off unconditionally with
Wrapper::wrappedObject.
2015-04-10 00:28:05 -07:00
Ryan VanderMeulen
a7f714dbc3 Merge inbound to m-c. a=merge 2015-04-09 22:43:57 -04:00
Thomas Zimmermann
559b775004 Bug 1146355: Prepare build system to support Bluetooth APIs v1 and v2, r=shuang
This patch adds support for both Bluetooth interfaces to the build
system. The actual interface must be selected at compile time.
2015-04-09 15:57:40 +02:00
Thomas Zimmermann
508a9da29d Bug 1146355: Move Bluetooth legacy interface into sub-directory bluetooth1/, r=joliu 2015-04-09 15:57:40 +02:00
Mike Kaply
94e6bcfb93 Bug 1001158 - Handle an invalid distribution.ini gracefully, r=gijs 2015-04-08 14:18:31 -05:00
Bobby Holley
84fe323eef Bug 1150771 - Let ArrayBuffer through object Xrays. r=gabor 2015-04-07 15:10:00 -07:00
Boris Zbarsky
fdaf501865 Bug 679939 part 8. Drop the now-unused compileAndGo from CompileOptions. r=luke 2015-04-01 12:05:29 -04:00
Boris Zbarsky
c2eaf2205f Bug 679939 part 4. Set the isRunOnce compile flag as needed. r=luke 2015-04-01 12:05:28 -04:00
Steve Fink
2bab38350a Bug 1056410 - Mark more classes final, r=terrence
Bug 1047696 was blocked by the hazard here, so it ended up not marking problematic classes final. Mark them final.
2015-03-30 14:00:45 -07:00
Andrew McCreight
8ca644d24c Bug 1149807 - Remove some unused nsIProgrammingLanguage.h includes. r=froydnj 2015-04-02 14:54:46 -07:00
Jan de Mooij
da0b42dad7 Bug 1144366 followup - Stop declaring multiple pointers on a single line. r=jorendorff 2015-04-02 11:22:21 +02:00
Wes Kocher
e18e14d8e1 Backed out 20 changesets (bug 1138499, bug 1148750, bug 1149563, bug 1148652, bug 1123875, bug 1145636, bug 1147660, bug 1148568, bug 1142828) for talos other timeouts CLOSED TREE
Backed out changeset 3fc49391f7fe (bug 1148750)
Backed out changeset 75e867c1c39e (bug 1148750)
Backed out changeset 7f6a4e3976f0 (bug 1148750)
Backed out changeset 91d726011835 (bug 1149563)
Backed out changeset fc7c3cf0e526 (bug 1148652)
Backed out changeset 35a01c7e0f8d (bug 1148652)
Backed out changeset 3125cc5a7a65 (bug 1148652)
Backed out changeset a9f10724b83b (bug 1148568)
Backed out changeset 87132a806ab0 (bug 1147660)
Backed out changeset e6b410c7b847 (bug 1147660)
Backed out changeset c350fe54d9c0 (bug 1147660)
Backed out changeset e4b971996b94 (bug 1147660)
Backed out changeset f221db19fb75 (bug 1147660)
Backed out changeset c4599f0cff00 (bug 1142828)
Backed out changeset c7388a9c3935 (bug 1138499)
Backed out changeset 9b51b38317d6 (bug 1138499)
Backed out changeset ad243a3cd06f (bug 1138499)
Backed out changeset fafda276abd9 (bug 1138499)
Backed out changeset 0a00470fdc2a (bug 1145636)
Backed out changeset 06dbe25231c2 (bug 1123875)
2015-04-01 19:17:45 -07:00
Jason Orendorff
258f6c26ed Bug 1148750, part 3 - Rewrite the rest of NativeDefineProperty. At this point it stops being practical to continue in small chunks. r=efaust. 2015-03-23 14:32:31 -05:00
Wes Kocher
c506200d80 Backed out 8 changesets (bug 679939) for test failures
Backed out changeset 4a1a45bc093a (bug 679939)
Backed out changeset 5336ae0fe919 (bug 679939)
Backed out changeset 4cbcb40e0ef4 (bug 679939)
Backed out changeset 3bc68cf4610b (bug 679939)
Backed out changeset ec2d863a3df9 (bug 679939)
Backed out changeset 4425a55312c6 (bug 679939)
Backed out changeset d3793e00b41f (bug 679939)
Backed out changeset 872edd1aedf7 (bug 679939)
2015-04-01 10:24:42 -07:00
Boris Zbarsky
21814fccdd Bug 679939 part 8. Drop the now-unused compileAndGo from CompileOptions. r=luke 2015-04-01 12:05:29 -04:00
Boris Zbarsky
0a2cfae2a5 Bug 679939 part 4. Set the isRunOnce compile flag as needed. r=luke 2015-04-01 12:05:28 -04:00
David Rajchenbach-Teller
9c731361b4 Bug 674779 - Per-component CPU monitoring, low-level. r=blassey, r=jandem 2015-03-31 12:40:52 +02:00
Mike Hommey
ccd2a9b975 Bug 1134920 - Use moz_xmalloc/moz_xrealloc/free instead of nsMemory::Alloc/Realloc/Free. r=nfroyd 2015-04-01 13:51:45 +09:00
Tom Schuster
b6e24288b0 Bug 1147005 - Change JSAddPropertyOp signature. r=jorendorff,peterv 2015-03-28 14:47:02 +01:00
Boris Zbarsky
530c951ee0 Bug 1149280 part 1. Make nullprincipal creation faster. r=smaug 2015-03-31 13:11:00 -04:00
Andrew McCreight
78ef3a55a4 Bug 1147572 - Remove implementation language field from DOM class info. r=jst 2015-03-30 10:45:39 -07:00
Andrew McCreight
1f6e5cfea2 Bug 1147951, part 3 - Remove unnecessary includes of nsIProgrammingLanguage. r=baku 2015-03-30 10:45:39 -07:00
Andrew McCreight
4b767927e9 Bug 1148070 - Change nsIClassInfo::getHelperForLanguage() to getScriptableHelper(). r=bholley 2015-03-29 07:52:54 -07:00
Andrew McCreight
12bf4e0709 Bug 1147967 - Remove CreateStackFrameLocation. r=bholley
This method is defined on nsIXPConnect and StackFrame, but is not used.

Also the non-default constructor that for StackFrame that is no longer used.
2015-03-29 07:52:53 -07:00
Jan de Mooij
353df38b83 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 23:22:11 +01:00
Phil Ringnalda
ebf64fc997 Backed out changeset 0c030f97a04f (bug 1144366) for being on top of patches being backed out
CLOSED TREE
2015-03-28 10:39:56 -07:00
Phil Ringnalda
6ed9961a65 Backed out changeset d72144153749 (bug 1147005) for being on top of a patch on top of a patch being backed out
CLOSED TREE
2015-03-28 10:39:09 -07:00
Tom Schuster
66af630422 Bug 1147005 - Change JSAddPropertyOp signature. r=jorendorff,peterv 2015-03-28 14:47:02 +01:00
Jan de Mooij
f981f078d8 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 12:08:37 +01:00
Nick Fitzgerald
f3aee023be Bug 1038238 - Part 1: Make Error instances use SavedFrame objects for their
stacks; r=jorendorff
2015-03-27 13:08:46 -07:00
Andrea Marchesini
b212600c95 Bug 1148527 - Indentation fix after bug 1145631, r=ehsan 2015-03-27 18:52:19 +00:00
Jason Orendorff
db4ac4cade Bug 1142794 - Change 'receiver' argument to SetProperty functions and ProxyHandler::set methods to be a HandleValue. r=Waldo.
Also: Change signature of these functions and methods to all have the same arguments in the same order: (cx, obj, id, v, receiver). Also change v from MutableHandleValue to HandleValue.

There is no change in behavior.

In fact the new error message `JSMSG_SET_NON_OBJECT_RECEIVER` is
impossible to trigger from scripts for now, I think (after re-reading
the whole patch with this in mind). JS_ForwardSetPropertyTo is the only
way to get a non-object receiver into the engine, but no caller
currently does so.

We're installing new pipes here, and they should work, but for now it's
the same cold water flowing through as before. Actually hooking up the
hot water is left for another bug (one with tests, not to put too fine a
point on it).

Notes:

*   InvokeGetterOrSetter had to be split into two functions:
    InvokeGetter takes a MutableHandleValue out-param,
    InvokeSetter a HandleValue in-param.

*   Watchpoints can still tamper with values being assigned. So can
    JSSetterOps. I'm pleased we can support this craziness in a way that
    doesn't have to spread via the type system to encompass the entire
    codebase.

*   Change in GlobalObject::setIntrinsicValue is not really a change.
    Yes, it asserted before, but an exception thrown during self-hosting
    initialization is not going to go unnoticed either.

*   Since the receiver argument to js::SetProperty() is at the end now, it
    makes sense for it to be optional. Some callers look nicer.
2015-03-01 13:16:19 -06:00
Bill McCloskey
d524d0d64e Bug 997325 - Implement main process scriptable only flag in XPIDL (r=mrbkap) 2015-03-26 14:39:48 -07:00
Bobby Holley
4681c5a757 Bug 1147215 - Add a helper to get the current window with a null check. r=smaug 2015-03-26 12:24:53 -07:00
Jason Orendorff
d28f3fee83 Bug 1142784, part 2 - Change ProxyHandler::defineProperty() to make the desc argument a non-mutable handle. r=Waldo. 2015-02-17 11:58:43 -06:00
Brian Hackett
1a5b452e6a Bug 1143256 - Store object metadata using a weak map, r=luke. 2015-03-25 09:07:51 -07:00
Terrence Cole
ef0a198902 Bug 1135985 - Split callback and marking tracers completely; r=jonco, r=mccr8 2015-02-25 13:11:37 -08:00
Jason Orendorff
56c8d75dff Bug 1143810 - Remove some XPConnect JSClass::setProperty hooks that are not needed anymore. r=bholley. 2015-03-13 14:43:48 -05:00
Phil Ringnalda
8a89e647fd Backed out 9 changesets (bug 1142775, bug 1139683, bug 1143810, bug 1142761, bug 1142784, bug 1142794, bug 1144819) for widespread bustage
CLOSED TREE

Backed out changeset 7613fc978d36 (bug 1142794)
Backed out changeset e5f0cb31263d (bug 1142784)
Backed out changeset dcd0af73ac84 (bug 1142784)
Backed out changeset 034f9c8e79ee (bug 1142784)
Backed out changeset ce0ee37e3ca9 (bug 1142775)
Backed out changeset 1519b8f2bbba (bug 1142761)
Backed out changeset 26fd55677841 (bug 1139683)
Backed out changeset 7ebc76a450c3 (bug 1144819)
Backed out changeset 92adb459d519 (bug 1143810)
2015-03-22 09:34:25 -07:00
Jason Orendorff
60373a960b Bug 1142794 - Change 'receiver' argument to SetProperty functions and ProxyHandler::set methods to be a HandleValue. r=Waldo.
Also: Change signature of these functions and methods to all have the same arguments in the same order: (cx, obj, id, v, receiver). Also change v from MutableHandleValue to HandleValue.

There is no change in behavior.

In fact the new error message `JSMSG_SET_NON_OBJECT_RECEIVER` is
impossible to trigger from scripts for now, I think (after re-reading
the whole patch with this in mind). JS_ForwardSetPropertyTo is the only
way to get a non-object receiver into the engine, but no caller
currently does so.

We're installing new pipes here, and they should work, but for now it's
the same cold water flowing through as before. Actually hooking up the
hot water is left for another bug (one with tests, not to put too fine a
point on it).

Notes:

*   InvokeGetterOrSetter had to be split into two functions:
    InvokeGetter takes a MutableHandleValue out-param,
    InvokeSetter a HandleValue in-param.

*   Watchpoints can still tamper with values being assigned. So can
    JSSetterOps. I'm pleased we can support this craziness in a way that
    doesn't have to spread via the type system to encompass the entire
    codebase.

*   Change in GlobalObject::setIntrinsicValue is not really a change.
    Yes, it asserted before, but an exception thrown during self-hosting
    initialization is not going to go unnoticed either.

*   Since the receiver argument to js::SetProperty() is at the end now, it
    makes sense for it to be optional. Some callers look nicer.
2015-03-01 13:16:19 -06:00
Jason Orendorff
6b90d382df Bug 1142784, part 2 - Change ProxyHandler::defineProperty() to make the desc argument a non-mutable handle. r=Waldo. 2015-02-17 11:58:43 -06:00
Jason Orendorff
5d6634efc1 Bug 1143810 - Remove some XPConnect JSClass::setProperty hooks that are not needed anymore. r=bholley. 2015-03-13 14:43:48 -05:00
Ehsan Akhgari
33bb32f549 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Ryan VanderMeulen
909711667c Backed out changeset d3c9b899f7d2 (bug 1143256) for frequent browser_perf-refresh.js leaks. 2015-03-20 16:07:42 -04:00
Brian Hackett
3729221e19 Bug 1143256 - Store object metadata using a weak map, r=luke. 2015-03-20 06:33:33 -07:00
Boris Zbarsky
985513ef44 Bug 1144743 part 3. Set hasPollutedGlobalScope when we're compiling scripts we know will be executed with a non-global scope without cloning them. r=luke 2015-03-20 00:34:07 -04:00
Tom Schuster
308ff4d0ec Bug 837630 - Stop hiding __proto__ from O.getOwnPropertyNames. r=Waldo,peterv,past 2015-03-19 17:42:15 +01:00
Boris Zbarsky
0202d1a774 Bug 1143793 part 6. Drop the obj argument of JS::Compile. r=luke
This is technically a behavior change for the shell's disfile() function, but
I really doubt anyone is doing disfile.call(someObj).
2015-03-19 10:13:34 -04:00
Boris Zbarsky
f0a4481730 Bug 1143793 part 4. Stop supporting load.call(somerandomobj) in xpcshell. r=bholley
I guess I should have done this in bug 1097987.
2015-03-19 10:13:34 -04:00
Boris Zbarsky
3550ddd74e Bug 1143793 part 1. Remove the obj argument of JS_CompileScript. r=luke 2015-03-19 10:13:33 -04:00