Граф коммитов

767 Коммитов

Автор SHA1 Сообщение Дата
Bobby Holley 8bbf60b812 Bug 965898 - Squelch exceptions during the shadowing detection in isCrossOriginAccessPermitted. r=gabor 2014-07-30 12:23:03 -07:00
Bobby Holley 99778c8324 Bug 965898 - Switch policies for get{,Own}PropertyDescriptor. r=gabor 2014-07-30 12:23:03 -07:00
Bobby Holley a348ab6fd4 Bug 965898 - Generalize FilterSetter to work on all the relevant fields of JSPropertyDescriptor. r=gabor 2014-07-30 12:23:03 -07:00
Bobby Holley 7ca7c75a83 Bug 965898 - Don't use a FilteringWrapper to get an unfiltered view in ChromeObjectWrapper. r=gabor
This is necessary because subsequent patches cause us to assert when invoking
getPropertyDescriptor on a FilteringWrapper for which |Policy| denies both GET
and SET.

This stuff is really a mess. I'm looking forward to it going away.
2014-07-30 12:23:02 -07:00
Bobby Holley f3c7314f1e Bug 965898 - Throw for [[Delete]] and [[DefineOwnProperty]]. r=gabor 2014-07-30 12:23:02 -07:00
Bobby Holley 2fcb56964b Bug 965898 - Implement proper behavior for [[Enumerate]] And [[OwnPropertyKeys]]. r=gabor 2014-07-30 12:23:02 -07:00
Bobby Holley 6f1162c539 Bug 965898 - Cross-origin objects should have null prototypes. r=gabor 2014-07-30 12:23:02 -07:00
Bobby Holley c329d3c74c Bug 965898 - All properties from cross-origin objects are "configurable", non-enumerable, and non-writable. r=gabor 2014-07-30 12:23:02 -07:00
Bobby Holley 921ed05b2c Bug 965898 - All properties on cross-origin DOM objects should be |own|. r=gabor 2014-07-30 12:23:01 -07:00
Bobby Holley 3a13d5adec Bug 965898 - Implement an Xray subclass that we can use to implement HTML5 cross-origin semantics. r=gabor 2014-07-30 12:23:01 -07:00
Bobby Holley c125de4fef Bug 965898 - Drop support for XPCWN XOWs. r=gabor
XOWs only allow access to Window and Location, both of which are on WebIDL now.
2014-07-30 12:23:01 -07:00
Bobby Holley 49e86ce330 Backed out 16 changesets (bug 965898) for rooting hazards. CLOSED TREE
Backed out changeset ac4abde3579f (bug 965898)
Backed out changeset c4c7ab1a2f70 (bug 965898)
Backed out changeset e0bf3598dfe1 (bug 965898)
Backed out changeset 8f2788a0ba24 (bug 965898)
Backed out changeset 0d1cda4decaa (bug 965898)
Backed out changeset 3d80ffc439fb (bug 965898)
Backed out changeset ad66ab36fe2d (bug 965898)
Backed out changeset dcf7ccf6eff2 (bug 965898)
Backed out changeset d3f02e80355d (bug 965898)
Backed out changeset 212f2d05d9e7 (bug 965898)
Backed out changeset c350a2c0aa6d (bug 965898)
Backed out changeset c75acd0663a9 (bug 965898)
Backed out changeset d68f7ef0ae69 (bug 965898)
Backed out changeset 610e6d6e1a88 (bug 965898)
Backed out changeset 54d40a30f6ad (bug 965898)
Backed out changeset 403a0e1d2324 (bug 965898)
2014-07-29 22:57:59 -07:00
Bobby Holley 3edb3819a0 Bug 965898 - Fix non-unified build bustage. r=me CLOSED TREE 2014-07-29 22:37:55 -07:00
Bobby Holley 077b49ebff Bug 965898 - Allow both gettable and settable attributes in Filter(). r=gabor 2014-07-29 21:35:32 -07:00
Bobby Holley 0ff091e38b Bug 965898 - Squelch exceptions during the shadowing detection in isCrossOriginAccessPermitted. r=gabor 2014-07-29 21:35:32 -07:00
Bobby Holley 8f84226eb0 Bug 965898 - Switch policies for get{,Own}PropertyDescriptor. r=gabor 2014-07-29 21:35:32 -07:00
Bobby Holley 2773e94581 Bug 965898 - Generalize FilterSetter to work on all the relevant fields of JSPropertyDescriptor. r=gabor 2014-07-29 21:35:31 -07:00
Bobby Holley 1eccf2848c Bug 965898 - Don't use a FilteringWrapper to get an unfiltered view in ChromeObjectWrapper. r=gabor
This is necessary because subsequent patches cause us to assert when invoking
getPropertyDescriptor on a FilteringWrapper for which |Policy| denies both GET
and SET.

This stuff is really a mess. I'm looking forward to it going away.
2014-07-29 21:35:31 -07:00
Bobby Holley 3b613a5b26 Bug 965898 - Throw for [[Delete]] and [[DefineOwnProperty]]. r=gabor 2014-07-29 21:35:31 -07:00
Bobby Holley d080afcd9d Bug 965898 - Implement proper behavior for [[Enumerate]] And [[OwnPropertyKeys]]. r=gabor 2014-07-29 21:35:31 -07:00
Bobby Holley 4f0d1e2311 Bug 965898 - Cross-origin objects should have null prototypes. r=gabor 2014-07-29 21:35:30 -07:00
Bobby Holley 1845c65894 Bug 965898 - All properties from cross-origin objects are "configurable", non-enumerable, and non-writable. r=gabor 2014-07-29 21:35:30 -07:00
Bobby Holley 80a57aee8e Bug 965898 - All properties on cross-origin DOM objects should be |own|. r=gabor 2014-07-29 21:35:30 -07:00
Bobby Holley 7cb586e5d9 Bug 965898 - Implement an Xray subclass that we can use to implement HTML5 cross-origin semantics. r=gabor 2014-07-29 21:35:30 -07:00
Bobby Holley 03c0bac2d7 Bug 965898 - Drop support for XPCWN XOWs. r=gabor
XOWs only allow access to Window and Location, both of which are on WebIDL now.
2014-07-29 21:35:29 -07:00
Bobby Holley 8615f8ac98 Bug 1042398 - Add a WaiveXrayWrapper override for ::iterate. r=gabor
I thought we had overrides for all the proxy traps that returned non-primitive
values, but it looks like we missed one.
2014-07-23 15:20:05 -07:00
Wes Kocher db3599ee0f Backed out changeset 79d2db9a2a2c (bug 1042398) for build bustage on a CLOSED TREE 2014-07-23 13:08:24 -07:00
Bobby Holley 1ce9ff6a4a Bug 1042398 - Add a WaiveXrayWrapper override for ::iterate. r=gabor
I thought we had overrides for all the proxy traps that returned non-primitive
values, but it looks like we missed one.
2014-07-23 12:36:22 -07:00
Boris Zbarsky eafe8cdc8f Bug 1021066. Make named setters work even for non-overridebuiltins bindings over Xrays. r=bholley,jorendorff 2014-07-23 01:06:33 -04:00
Mike Hommey bc5d6801bb Bug 1041860 - Avoid setting FINAL_LIBRARY to libraries that further use a FINAL_LIBRARY. r=mshal 2014-07-23 08:37:51 +09:00
Bobby Holley ffe3111a73 Bug 742444 - Only propagate waivers between same-origin compartments. r=gabor 2014-07-22 16:14:27 -07:00
Bobby Holley eaccea432a Bug 742444 - Pass the old wrapper or value to the prewrap callback instead of its flags. r=gabor
We need this so that we can reason about the origin of the wrapper that
previously had a waiver and decide whether or not to extend it.
2014-07-22 16:14:27 -07:00
Bobby Holley 972dacf31e Bug 930091 - Check objects at COW membranes. r=gabor,r=msucan 2014-07-20 15:36:32 -06:00
Bobby Holley 71765487c1 Bug 1040181 - Use an opaque wrapper rather than failing in Rewrap. r=gabor 2014-07-20 10:03:58 -06:00
Bobby Holley 96f5760708 Bug 1038844 - Implement a COW opt-out for automation. r=gabor,sr=mrbkap 2014-07-17 21:34:48 -07:00
Bobby Holley e6562f0ffa Bug 1036185 - Clean up logic in IsPermitted (bonus fix). r=gabor 2014-07-15 09:04:19 -07:00
Bill McCloskey 47a7769d00 Bug 1017323 - Fix some non-unified build bustage 2014-07-14 22:49:09 -07:00
Bill McCloskey 926f8bfdd8 Bug 1017323 - Add-on interposition (r=bholley) 2014-07-14 22:10:05 -07:00
Bobby Holley d65aa88546 Bug 856067 - Add some helpful logging to the console when we deny access to a non-Xrayable object. r=gabor 2014-07-14 10:09:07 -07:00
Bobby Holley 2fac4671d3 Bug 856067 - Remove special case for content XBL scopes. r=gabor
This is now the default behavior. \o/
2014-07-14 10:09:07 -07:00
Bobby Holley 1ef8a86459 Bug 856067 - Make unwaived non-Xrayable objects opaque from privileged code. r=gabor 2014-07-14 10:09:07 -07:00
Boris Zbarsky 4330519678 Bug 832014 part 9. Switch AccessCheck to using the generated LocationBinding::IsPermitted method. r=bholley 2014-07-11 19:34:44 -04:00
Bobby Holley e7024b77c9 Bug 987669 - Just use macros because MSVC and gcc don't have real constexpr support. r=me CLOSED TREE 2014-07-11 09:37:00 -07:00
Bobby Holley c4700e5072 Bug 987669 - Turn on Xrays for Error objects. r=gabor 2014-07-11 09:09:22 -07:00
Bobby Holley 83fe833e66 Bug 987669 - Add Xray support for FooError.prototype.name. r=gabor 2014-07-11 09:09:22 -07:00
Bobby Holley d4e5d6b652 Bug 987669 - Implement Xray support for the data properties on ErrorObject instances. r=gabor 2014-07-11 09:09:21 -07:00
Bobby Holley d2fd703dac Bug 987669 - Implement IsErrorObjectKey and do more at compile-time. r=gabor 2014-07-11 09:09:21 -07:00
Chris Peterson 6f5eb4b6c9 Bug 1036778 - Replace MOZ_ASSUME_UNREACHABLE with MOZ_CRASH in js/xpconnect. r=bholley 2014-06-29 20:42:36 -07:00
Bobby Holley c6ad0230b3 Bug 1034262 - Honor the wantXrays of both sides of the membrane when computing same-origin wrappers. r=gabor
The basic problem in the testcase is that one compartment requests same-origin
Xrays via wantXrays=true (the default for Sandboxes) while the other does not.
The current code only considers the wantXrays flag of the compartment performing
the access, so we end up in a situation where we have same-origin compartments,
but Xray in one direction and Transparent in the other.

This is a problem for crossCompartmentFunction.apply(null, [arg]). If both
globals get transparent wrappers, there's obviously no problem. And if both
globals get XrayWrappers, then the |apply| happens on the XrayWrapper of the
function in the caller's compartment. So the Array is unpacked in the caller's
compartment, and again we have no problem.

But if the caller gets Transparent and the callee gets Xrays, then we end up
invoking |apply| from the callee's side, which then gets an XrayWrapper to the
array. This XrayWrapper may do surprising things, leading to the odd situation
in the testcase.

Same-origin Xrays are kind of broken anyway, but I don't think we'll ever be
able to get rid of them. So the most sensible thing to do is probably to honor
the flag (if set) from either compartment. This patch does that.
2014-07-10 10:04:30 -07:00
Bobby Holley 4a9f9e844b Bug 1034239 - Replace GentlyOpaque with an "Xray-to-nothing" wrapper. r=gabor
I did this wrong before. Making this a SecurityWrapper means that the caller does
not subsumes the target, and that the target therefore needs to be protected
from the caller. But GentlyOpaque was supposed to be an analog of PermissiveXray
for use when no useful XrayTraits exist, so it should behave similarly.

If we make this a Filtering Security Wrapper, we get a bunch of assertions where we
expect CheckedUnwrap to succeed for a chrome-side wrapper. And we can't making it
a Filtering Non-Security Wrapper, because then the filtering policy isn't even
consulted (an optimization in jsproxy.cpp).

Really, we want all of the Xray machinery (like the ability to waive and to place
expandos), and we just don't want to resolve any properties. This patch does this.
2014-07-10 09:31:37 -07:00
Bobby Holley bba8240dd7 Bug 1034239 - Add Proxies to ForceCOWBehavior. r=gabor 2014-07-10 09:31:37 -07:00
Jan de Mooij b986e6ec0f Bug 1034627 part 3 - Fix SandboxDump, AccessCheck.cpp to work with Latin1 strings and nursery strings. r=bholley 2014-07-10 17:36:35 +02:00
Bobby Holley ec0078e10d Bug 1033927 - Drop support for custom [object XrayWrapper [object ClassName]] stringification. r=peterv 2014-07-07 13:11:24 -07:00
Jan de Mooij 44da586636 Bug 1034191 - Make nsDependentJSString users work with Latin1 strings and nursery-allocated strings. r=bz 2014-07-05 17:30:54 +02:00
Bobby Holley f0dce63c2c Bug 1029933 - Introduce and use ParentKeyForStandardClass. r=Waldo 2014-07-04 12:41:28 -07:00
Bobby Holley 98413afdad Bug 1029933 - Introduce the concept of "dependent" standard classes and handle them in the ClassSpec infrastructure. r=Waldo 2014-07-04 12:41:28 -07:00
Bobby Holley 71f1a77169 Bug 1032317 - Make CompartmentPrivate and XPCWrappedNativeScope accessors infallible. r=gabor 2014-07-03 09:40:52 -07:00
Bobby Holley 7bfa2b8c8f Bug 1033920 - Handle null in XrayWrapper::setPrototypeOf. v1 r=efaust
From ac73068c4494c0df74329482e57f64ba8ec93cb4 Mon Sep 17 00:00:00 2001
2014-07-02 21:06:28 -07:00
Bobby Holley 9e1742f3c3 Bug 1033253 - Null-check the result of JS_GetFunctionId. r=bz 2014-07-02 11:02:11 -07:00
Steve Fink 04d4a79438 Bug 1022773 - Return value rooting for XPConnect, r=bholley
--HG--
extra : rebase_source : 7dd3b1585bbc3d6a4a22812771495dedf600d7e0
2014-06-25 15:35:37 -07:00
Eric Faust 19ae308309 Bug 1027402 - Part 4: Mark Proxy Handler uses const. (r=jorendorff, r=bz) 2014-06-27 04:44:08 -07:00
Eric Faust 04ec29520a Bug 1027402 - Part 3: Mark all Proxy Handler methods const. (r=jorendorff, r=bz) 2014-06-27 04:44:06 -07:00
Eric Faust 992c8dde5a Bug 1027402 - Part 2: Mark Proxy Handler instances as const. (r=bholley, r=bz over IRC) 2014-06-27 04:44:04 -07:00
Eric Faust d6d3b525f2 Bug 1027402 - Part 1: Remove set* from BaseProxyHandler. (r=bholley) 2014-06-27 04:44:02 -07:00
Carsten "Tomcat" Book e4f5e9f3a3 Backed out changeset 2c6403818106 (bug 1027402) for bustage on a CLOSED TREE 2014-06-27 14:21:46 +02:00
Carsten "Tomcat" Book cbe01cdaa8 Backed out changeset 346912776f97 (bug 1027402) 2014-06-27 14:21:22 +02:00
Carsten "Tomcat" Book 76beb8d59f Backed out changeset 285c853fedfa (bug 1027402) 2014-06-27 14:21:20 +02:00
Carsten "Tomcat" Book 0c7ea5265d Backed out changeset 96443362db6f (bug 1027402) 2014-06-27 14:21:17 +02:00
Eric Faust 6f7e434c6b Bug 1027402 - Part 4: Mark Proxy Handler uses const. (r=jorendorff, r=bz) 2014-06-27 04:44:08 -07:00
Eric Faust 62d61ccf3f Bug 1027402 - Part 3: Mark all Proxy Handler methods const. (r=jorendorff, r=bz) 2014-06-27 04:44:06 -07:00
Eric Faust 6091687271 Bug 1027402 - Part 2: Mark Proxy Handler instances as const. (r=bholley) 2014-06-27 04:44:04 -07:00
Eric Faust 89bdda2ed7 Bug 1027402 - Part 1: Remove set* from BaseProxyHandler. (r=bholley) 2014-06-27 04:44:02 -07:00
Jason Orendorff 76d9f6e407 Bug 645416, part 22 - Remove JSCompartment::wrapId. r=terrence.
This is unnecessary now that object jsids no longer exist. Both string and
symbol jsids point only to GC things in the atoms compartment, which are safe
to pass to any compartment without wrapping.

--HG--
extra : rebase_source : 82c21e8474df05b1bb42c14d872c981205bbe879
2014-06-23 10:57:02 -05:00
Bobby Holley a5aa04cdbc Bug 976148 - Support the .name and .length properties of Function instances. r=gabor 2014-06-19 09:57:06 -07:00
Bobby Holley 5549a2a2cc Bug 976148 - Support the 'prototype' property for standard constructors. r=gabor 2014-06-19 09:57:06 -07:00
Bobby Holley 02c638ea36 Bug 976148 - Implement Xrays to Function objects. r=gabor 2014-06-19 09:57:06 -07:00
Bobby Holley 3963ab573b Bug 987163 - Implement Xrays for TypedArrays. r=gabor 2014-06-17 10:16:08 -07:00
Bobby Holley a5a0be7595 Bug 987163 - Drop special COW support for TypedArrays. r=gabor
From now on, if someone wants to expose a TypedArray to content, they should
use Cu.cloneInto.
2014-06-17 10:16:08 -07:00
Bobby Holley 78b6ce807b Bug 987163 - Fix some squelched OOMs. r=gabor 2014-06-17 10:16:08 -07:00
Bobby Holley e25ce66bda Bug 987163 - Convert from |switch| statements to |if| statements. r=gabor
I realized that the switches are going to be cumbersome for Array stuff, because
we'll have to enumerate each kind of TypedArray as a separate case: statement.
Let's just use |if| so that we can call a helper.
2014-06-17 10:16:08 -07:00
Terrence Cole 5590758a75 Bug 1017650 - Remove the unused |proto| arg from the wrapping machinery; r=efaust 2014-06-16 11:59:59 -07:00
Bobby Holley 07bee3c907 Bug 1020609 - Implement Xrays to Arrays. r=bz 2014-06-11 15:16:07 -07:00
Bobby Holley 0f251a891e Bug 1020609 - Make configurability check in Xray defineProperty match the spec. r=bz
This code is basically emulating the ES semantics with respect to non-configurable
properties. Non-configurable value properties can still be writable, in which case
their value and writability may be updated.
2014-06-11 15:16:06 -07:00
Chris Peterson c04dc8b035 Bug 1018680 - Fix jsd_xpc.cpp warning and mark js/ductwork, js/jsd, and js/xpconnet as FAIL_ON_WARNINGS. r=ejpbruel 2014-05-31 19:50:24 -07:00
Bobby Holley 699946fc90 Bug 1022016 - Redesign nsDependentJSString API to be less of a footgun. r=gabor 2014-06-10 20:15:56 -07:00
Trevor Saunders dd19f59774 bug 1021171 - don't return nulllptr in functions returning bool r=bz,waldo 2014-06-06 15:31:30 -04:00
Bobby Holley 9db935d49b Bug 987111 - Flip on Object Xrays. r=gabor 2014-06-05 22:32:39 -07:00
Bobby Holley 42f7024f5e Bug 987111 - Implement delete_ for Object Xrays. r=gabor 2014-06-05 22:32:39 -07:00
Bobby Holley cad5e8f936 Bug 987111 - Implement defineProperty for Object Xrays. r=gabor 2014-06-05 22:32:39 -07:00
Bobby Holley 88e63325ae Bug 987111 - Implement resolveOwnProperty and enumerateNames for Object instances. r=gabor 2014-06-05 22:32:38 -07:00
Bobby Holley a2ee510ecb Bug 987111 - Make JSProto_Object COWs take precedence over Xrays. r=gabor 2014-06-05 22:32:38 -07:00
Bobby Holley bbc449149e Bug 987111 - Handle the Object.prototype case in Xray getPrototypeOf. r=gabor 2014-06-05 22:32:38 -07:00
Bobby Holley 6bb5e95a97 Bug 987111 - Fill out existing_desc with all properties, not just |own| ones. r=gabor
This gives us strictly more information than we had before, which turns out to
be useful. We can still get the old behavior by testing the identity of
desc.object(), which I've done in one of the two existing uses for existing_desc.
The other (in DOMXrayTraits::defineProperty) is actually more correct with the
full (non-own) lookup.
2014-06-05 22:32:38 -07:00
Vivien Nicolas bc803a18da Bug 1015887 - Expose realFrameElement to Chrome JS. r=bholley 2014-06-04 20:11:05 +02:00
Wes Kocher 915f3c652a Backed out 13 changesets (bug 987111) for disagreeing with some patch from b-i or fx-team in tonight's merge to hopefully fix a CLOSED TREE
Backed out changeset d4e390ceac27 (bug 987111)
Backed out changeset 5f88b5ef9496 (bug 987111)
Backed out changeset cdfd24ddf448 (bug 987111)
Backed out changeset 7883150e5471 (bug 987111)
Backed out changeset 407c7ca82ada (bug 987111)
Backed out changeset e7140ccf7e09 (bug 987111)
Backed out changeset 0a4d18d6306f (bug 987111)
Backed out changeset e7b7548867d9 (bug 987111)
Backed out changeset 944d128f135a (bug 987111)
Backed out changeset 33860f30fc4f (bug 987111)
Backed out changeset 518a915fb81b (bug 987111)
Backed out changeset 7576a51cf72e (bug 987111)
Backed out changeset 1a8dc1af9de6 (bug 987111)
2014-06-04 22:12:50 -07:00
Bobby Holley c6742de97a Bug 987111 - Flip on Object Xrays. r=gabor 2014-06-04 15:12:27 -07:00
Bobby Holley a9aed971d9 Bug 987111 - Implement delete_ for Object Xrays. r=gabor 2014-06-04 15:12:27 -07:00
Bobby Holley 98b02626d5 Bug 987111 - Implement defineProperty for Object Xrays. r=gabor 2014-06-04 15:12:27 -07:00
Bobby Holley 6e9bc694e8 Bug 987111 - Implement resolveOwnProperty and enumerateNames for Object instances. r=gabor 2014-06-04 15:12:27 -07:00
Bobby Holley 5fce5dd4ab Bug 987111 - Make JSProto_Object COWs take precedence over Xrays. r=gabor 2014-06-04 15:12:26 -07:00
Bobby Holley 6c6c52d3ec Bug 987111 - Handle the Object.prototype case in Xray getPrototypeOf. r=gabor 2014-06-04 15:12:26 -07:00
Bobby Holley ce6b82c251 Bug 987111 - Fill out existing_desc with all properties, not just |own| ones. r=gabor
This gives us strictly more information than we had before, which turns out to
be useful. We can still get the old behavior by testing the identity of
desc.object(), which I've done in one of the two existing uses for existing_desc.
The other (in DOMXrayTraits::defineProperty) is actually more correct with the
full (non-own) lookup.
2014-06-04 15:12:26 -07:00
Ryan VanderMeulen 3d3ce28f0f Backed out 5 changesets (bug 1015871, bug 1020257, bug 1015887, bug 1005888, bug 1015894) for desktop B2G mochitest failures on a CLOSED TREE.
Backed out changeset dbcb9974b640 (bug 1020257)
Backed out changeset 3220b7b2efc9 (bug 1015894)
Backed out changeset 4e23647ae247 (bug 1015887)
Backed out changeset 59df0cdacc15 (bug 1015871)
Backed out changeset e7124b07804b (bug 1005888)
2014-06-04 16:07:06 -04:00
Vivien Nicolas 34a46b6121 Bug 1015887 - Expose realFrameElement to Chrome JS. r=bholley 2014-06-04 20:11:05 +02:00
Bill McCloskey 9157c8fd4d Bug 1017310 - Rename *XBLScope to *ContentXBLScope in xpconnect (r=bholley) 2014-06-02 18:04:21 -07:00
Bobby Holley 13813ca2bf Bug 972987 - Implement Xrays to self-hosted methods and properties. r=till,gabor 2014-06-02 13:55:20 -07:00
Bobby Holley 09f9f51b84 Bug 992958 - Add support for prototype JSPropertySpecs on ClassSpec. r=luke 2014-05-23 16:53:03 -07:00
Julien Levesy 38b0b1f449 Bug 1006692 - Replaced nsScriptSecurityManager::SubjectIsPrivileged and AccessCheck::IsCallerChrome by nsContentUtils::IsCallerChrome. r=bholley 2014-05-19 13:39:00 +02:00
Bobby Holley 2513cf740a Bug 1001198 - Explicitly fire up the SSM from nsXPConnect. r=gabor 2014-05-06 23:17:43 -07:00
Bobby Holley 8ba3be8772 Bug 997987 - Cache the system principal on nsContentUtils and remove nsIScriptSecurityManager::SubjectPrincipalIsSystem. r=Ms2ger,sr=bz 2014-05-06 15:43:03 -07:00
Jon Coppeard 1216544376 Bug 959787 - Handlify remaining JS APIs r=terrence r=bz r=bholley 2014-04-30 10:10:33 +01:00
Michael Shuen e76fd87034 Bug 972385 - Make JS::AutoValueVector subscript operator return handles. r=jonco, smaug 2014-04-28 16:53:00 +02:00
Birunthan Mohanathas c48b86b0c6 Bug 866289 - Make mode lines consistent in js/xpconnect/ for 4 space indented files. r=Ms2ger 2014-04-03 07:58:00 -04:00
Jason Orendorff 4740c9dea6 Bug 547140, part 4 - Remove flags argument from resolve hooks. r=Waldo. 2014-04-25 16:11:02 -05:00
Jason Orendorff 6e21c723d2 Bug 547140, part 2 - Remove flags argument from JS_GetPropertyDescriptor and friends. r=Waldo. 2014-04-25 16:11:01 -05:00
Jason Orendorff e51a8c4a20 Bug 547140, part 1 - Remove JSRESOLVE_ASSIGNING. r=Waldo. 2014-04-25 16:11:00 -05:00
Jason Orendorff f66a185e68 Bug 987007, part 2 - Handle assignment to named and indexed setters without using JSRESOLVE_ASSIGNING. r=bz, r=bholley.
--HG--
extra : rebase_source : a26eb85a086a18219a4d423cd7ad49a92cfd2584
2014-04-25 15:07:18 -05:00
Peter Van der Beken 4b64c1bee2 Bug 993057 - Fix Xrays to disallow indexed expando properties on Xrays for Window with a WebIDL binding. r=bholley.
--HG--
extra : rebase_source : a7762fc56b9ad1801be22aa3380f430b44082f9e
2014-02-15 22:12:35 +01:00
Bobby Holley 2ca3777187 Bug 958326 - Remove same-compartment security wrapper machinery. r=mrbkap 2014-03-26 10:59:20 -03:00
Bobby Holley 4146c05d55 Bug 975042 - Enable JS Xray for the Date object. r=peterv 2014-03-23 11:02:14 -03:00
Bobby Holley 56aac00a06 Bug 975042 - Implement resolveOwnProperty and enumerateNames trap. r=peterv 2014-03-23 11:02:13 -03:00
Bobby Holley a9d3924c56 Bug 975042 - Make enumerateNames trap virtual. r=peterv 2014-03-23 11:02:13 -03:00
Bobby Holley 8eb80b2fd1 Bug 975042 - Implement getPrototypeOf. r=peterv 2014-03-23 11:02:13 -03:00
Bobby Holley f08d932ce0 Bug 975042 - Implement createHolder. r=peterv 2014-03-23 11:02:13 -03:00
Bobby Holley 60e8547108 Bug 975042 - Implement the easy trait hooks. r=peterv 2014-03-23 11:02:13 -03:00
Bobby Holley 9c97f0b173 Bug 975042 - Basic Xray infrastructure and boilerplate. r=peterv
All of this machinery asserts if it actually get used. But it won't be used at
present, because we have an empty whitelist of JSProtoKeys.
2014-03-23 11:02:12 -03:00
Bobby Holley c34dd9877d Bug 975042 - Remove the special COW support for Date. r=peterv
As soon as Date is on Xrays, this stuff won't work anyway. Henceforth, content
access to chrome Date objects is forbidden, and APIs should use something like
|new contentWindow.Date()| for any Date object they wish to expose to content.
2014-03-23 11:02:12 -03:00
Carsten "Tomcat" Book 9099b263ed Backed out changeset f787c0fa465e (bug 975042) for B2G ICS Emulator M7 Orange on a CLOSED TREE 2014-03-21 08:48:40 +01:00
Carsten "Tomcat" Book 0bc70db9d7 Backed out changeset 351371062c26 (bug 975042) 2014-03-21 08:47:48 +01:00
Carsten "Tomcat" Book f816ce48b9 Backed out changeset 449ade4078c0 (bug 975042) 2014-03-21 08:47:47 +01:00
Carsten "Tomcat" Book ac8230799d Backed out changeset 59a38e0e27bb (bug 975042) 2014-03-21 08:47:45 +01:00
Carsten "Tomcat" Book 2c95000099 Backed out changeset 8ac7fa583164 (bug 975042) 2014-03-21 08:47:44 +01:00
Carsten "Tomcat" Book 5f92d5b6fa Backed out changeset 6c25a4bfd449 (bug 975042) 2014-03-21 08:47:43 +01:00
Carsten "Tomcat" Book 9f22e17a78 Backed out changeset f7d97dc26289 (bug 975042) 2014-03-21 08:47:42 +01:00
Carsten "Tomcat" Book 239b34fee5 Backed out changeset 1b62c8f1c211 (bug 975042) 2014-03-21 08:47:41 +01:00
Bobby Holley 1973d9aa6a Bug 975042 - Enable JS Xray for the Date object. r=peterv 2014-03-20 23:47:24 -03:00
Bobby Holley 838db9bb08 Bug 975042 - Implement resolveOwnProperty and enumerateNames trap. r=peterv 2014-03-20 23:47:24 -03:00
Bobby Holley 5cc38c0e83 Bug 975042 - Make enumerateNames trap virtual. r=peterv 2014-03-20 23:47:24 -03:00
Bobby Holley 3364cb667b Bug 975042 - Implement getPrototypeOf. r=peterv 2014-03-20 23:47:24 -03:00
Bobby Holley a00932c5e2 Bug 975042 - Implement createHolder. r=peterv 2014-03-20 23:47:24 -03:00
Bobby Holley 9115f9b416 Bug 975042 - Implement the easy trait hooks. r=peterv 2014-03-20 23:47:23 -03:00
Bobby Holley eb2c3f8bbb Bug 975042 - Basic Xray infrastructure and boilerplate. r=peterv
All of this machinery asserts if it actually get used. But it won't be used at
present, because we have an empty whitelist of JSProtoKeys.
2014-03-20 23:47:23 -03:00
Bobby Holley 6567ce6262 Bug 975042 - Remove the special COW support for Date. r=peterv
As soon as Date is on Xrays, this stuff won't work anyway. Henceforth, content
access to chrome Date objects is forbidden, and APIs should use something like
|new contentWindow.Date()| for any Date object they wish to expose to content.
2014-03-20 23:47:23 -03:00
Bobby Holley fbb9b62de8 Bug 825392 - Remove SOWs. r=bz 2014-03-19 13:35:45 -03:00
Bobby Holley 8dee0c93c9 Bug 976704 - Make opaque security wrappers non-callable. r=gabor,sr=mrbkap 2014-03-18 19:23:45 -03:00
Peter Van der Beken ae397a6658 Bug 982112 - Make accesscheck code deal with WebIDL bindings. r=bz. 2013-11-05 09:47:59 +01:00
Jon Coppeard bafb7ba32f Bug 959787 - Handlify some friend and debug APIs r=sfink r=bholley 2014-03-17 16:17:58 +00:00
Bobby Holley 46624f507a Bug 976938 - Add a way to identify the Xray parent (if any) of a given function. r=bz 2014-03-04 10:05:07 -08:00
Bobby Holley 5ebbbb4ebd Bug 976151 - Anti eval/Function() check during wrapping should use |subsumes|. r=gabor 2014-02-25 08:38:33 -08:00
Bobby Holley 30907ef9cb Bug 975277 - Introduce a mechanism to identify instances of standard classes. r=luke 2014-02-21 16:03:11 -08:00
Bobby Holley 97f387fd67 Bug 975277 - Move the wrappedJSObject getter out of getPropertyDescriptor. r=gabor
The current setup is kinda wrong, and doesn't work with HasPrototype Xrays.
This change requires us to manually munge the holder, but that's probably ok
for now.
2014-02-21 16:03:08 -08:00
Bobby Holley 3fb149d9d7 Bug 975277 - Clean up the XPCWN XrayHolder a bit. r=gabor 2014-02-21 15:55:31 -08:00
Peter Van der Beken 6f7b80e5b5 Bug 975277 - Pass the real receiver when using HasPrototype. r=bholley 2014-02-21 15:55:31 -08:00
Peter Van der Beken 08d239ffd1 Bug 975277 - Add some machinery to allow Traits to specify whether they want to use hasPrototype or not. r=bholley,efaust 2014-02-21 15:55:30 -08:00
Bobby Holley 4b70a01ff8 Bug 973780 - Hook Xrays up to the new expando map. r=bz 2014-02-21 11:35:48 -08:00
Luke Wagner b1325de739 Bug 797126 - Remove tinyid/shortid/userid (r=terrence)
--HG--
extra : rebase_source : d3cee5e71ca02708e91419b209b5914ce9fd2f9f
2014-02-21 10:24:26 -06:00
Phil Ringnalda 01ad150169 Back out 0f5f58d5d410:8db4d719f5f8 (bug 973780) for debug WinXP mochitest-3 assertions
CLOSED TREE
2014-02-20 20:46:50 -08:00
Bobby Holley 21ff903ba9 Bug 973780 - Hook Xrays up to the new expando map. r=bz 2014-02-20 18:24:09 -08:00
Bobby Holley 1c600e7056 Bug 956382 - Remove usage of explicit *IgnoringDomain variants. r=mrbkap 2014-02-13 18:57:36 -08:00
Bobby Holley 2b33b064b7 Bug 956382 - Consider document.domain when computing security wrappers. r=mrbkap 2014-02-13 18:57:35 -08:00
Bobby Holley e0f33e6e2e Bug 956382 - Add AccessCheck::subsumesConsideringDomain and clean up other implementations. r=mrbkap
We now assert that we have a principal when we enter the wrap callback, and we
now have a convenient overload defined in nsIPrincipal.idl.
2014-02-13 18:57:34 -08:00
Bobby Holley 74dced0ef3 Bug 965981 - Wrap ids in XPCWrappedNativeXrayTraits::enumerateNames. r=mccr8 2014-02-13 10:54:08 -08:00
Bobby Holley 26295823eb Bug 965901 - Add an ENUMERATE policy action. r=gabor sr=mrbkap 2014-02-13 10:54:08 -08:00
Bobby Holley cab18b5855 Bug 965901 - Track and assert the policy action in AutoEnterPolicy/assertEnteredPolicy. r=gabor sr=mrbkap 2014-02-13 10:54:07 -08:00
Bobby Holley 331a1f6c7b Bug 959012 - Clean up and separate the semantics of js_{Get,Find}Class{Prototype,Object}. r=jorendorff 2014-01-30 07:45:16 -08:00
Bobby Holley 8b2a3c8d5b Bug 959012 - Remove unused cx parameter from JS_IdentifyClassPrototype. r=jorendorff 2014-01-30 07:45:16 -08:00
Boris Zbarsky 0ec24be88b Bug 965144. Make the Window-specific bits of XrayWrapper work with WebIDL windows. r=bholley 2014-01-29 22:34:25 -08:00
Bobby Holley 4261137095 Bug 965082 - Only run the {get,set}PrototypeOf override for non-SecurityWrappers. r=mrbkap,r=gabor 2014-01-29 13:07:13 -08:00
Bobby Holley 6a1e0258a1 Bug 965082 - Unify duplicate bits of state of proxies. r=mrbkap,r=gabor
Conceptually, these all boil down to "is this a security wrapper?"
2014-01-29 13:07:13 -08:00
Tom Schuster 18397aa440 Bug 958119 - Some cleanup for XPConnect. r=gabor 2014-01-22 18:50:32 +01:00
Bobby Holley 44cd3fcb36 Bug 958324 - Remove same-compartment security wrappers for WNs. r=peterv,r=mrbkap
We've fixed Components, and SOWs are new-binding only. Youpie!
2014-01-21 08:26:40 -08:00
Bobby Holley 18dab24d3d Bug 794943 - Followup bustage fix. r=me CLOSED TREE 2014-01-16 16:11:25 -08:00
Bobby Holley aca56744a1 Bug 794943 - Make window.controllers [ChromeOnly], and remove nsISecurityCheckedComponent from nsXULControllers. r=bz 2014-01-16 15:45:40 -08:00
Terrence Cole 6beccf2363 Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 3; r=sfink
--HG--
extra : rebase_source : ace7b0fa6ba93acbf0ec8ecaeb68ffa287a33665
2014-01-16 09:48:58 -08:00
Terrence Cole aa7ab27af5 Bug 959787 - Handlify several JSAPI interfaces that can GC, Part 2; r=sfink
--HG--
extra : rebase_source : e36c89af9c362e781d9ca9aceee42779258328b5
2014-01-14 17:19:07 -08:00
Tom Schuster f39e81815a Bug 939294 - Change xpidl jsval to handles. r=gabor,bz,khuey,bsmedberg,terrence 2014-01-09 18:39:36 +01:00
Boris Zbarsky 1b7f303480 Bug 959695 part 3. Make ReportIsNotFunction take a Handle. r=terrence 2014-01-14 21:46:44 -05:00
Bobby Holley 78a5768df9 Bug 951948 - Remove Components wrappers. r=mrbkap
We fix up the tests here to test the new behavior, and fix some bugs in the test
while we're at it.
2014-01-14 18:49:30 -08:00
Andrew McCreight 194d76d7e9 Bug 956455, part 3 - Remove the holder argument to nsXPConnect::WrapNativeToJSVal. r=gabor 2014-01-06 11:54:43 -08:00
Ms2ger 561cae4a0e Bug 950130 - Move more INCLUDES / LOCAL_INCLUDES to moz.build; r=mshal 2013-12-31 10:06:11 +01:00
Wes Kocher 51be634cd2 Backed out changeset ef0eeaec74a8 (bug 949183) on the theory that it somehow broke every single b2g test on a CLOSED TREE 2013-12-16 18:27:43 -08:00
Sean Stangl 59305924cb Bug 949183 - Fix jsid static constructor explosion. r=Waldo 2013-12-16 14:40:05 -08:00
Eric Faust 46a65bdd10 Bug 926012 - Part 3: Convert wrappers to using dynamic prototype hooks. (r=bholley) 2013-12-13 12:01:30 -08:00
Boris Zbarsky abefb320a5 Bug 946067 part 2. Generate Window's access checks in XPConnect based on WebIDL access annotations. r=bholley,peterv 2013-12-09 10:34:03 -05:00
Boris Zbarsky 5a1836271c Bug 946289. Make GetNativeForGlobal work for WebIDL globals. r=peterv 2013-12-09 10:34:03 -05:00
Jacek Caban c9efa74885 Bug 944444 - Fix js/ compilation on mingw. r=Waldo 2013-12-05 10:56:22 +01:00
Ehsan Akhgari 656e1c1b05 Bug 939608 - Part 2: Build xpconnect in unified mode; r=bholley 2013-11-20 11:35:34 -05:00
Bobby Holley 76193870ea Bug 933681 - Resolve canonical eval() onto Xrayed globals. r=jorendorff 2013-11-22 10:55:43 -08:00
Bobby Holley bdc983a462 Bug 933681 - Add lookups for standard classes in XrayWrapper. r=jorendorff 2013-11-22 10:55:42 -08:00
Ehsan Akhgari b86497683d Backed out changeset 5993d8ad664c (bug 939608) because bug 941450 was backed out
Landed on a CLOSED TREE
2013-11-22 11:22:49 -05:00
Jon Coppeard d8c217e468 Bug 941767 - Fix rooting hazard in GetNativeForGlobal() r=bholley 2013-11-22 06:58:32 -08:00
Ehsan Akhgari 64bc15535e Bug 939608 - Part 2: Build xpconnect in unified mode; r=bholley
--HG--
extra : rebase_source : d4baf7ddb95bb0217357b9eb9fabd2e08d37548a
2013-11-20 11:35:34 -05:00
Terrence Cole 6936f37dc7 Bug 940505 - Handlify GetXrayWaiver; r=bholley
--HG--
extra : rebase_source : 1812e79207fccdcf479b14637b67b2510d2f317b
2013-11-19 10:12:10 -08:00
Ehsan Akhgari 69ecdab690 Bug 939608 - Part 1: Code changes required to build xpconnect in unified mode; r=bholley
--HG--
extra : rebase_source : e691b361737fbb233a0b33ed7fc6aa97ae172223
2013-11-19 15:03:40 -05:00
Carsten "Tomcat" Book 30de6cc6d3 Backed out changeset 161bfee3f57a (bug 939608) PGO build issue 2013-11-19 14:13:15 +01:00
Mike Hommey 2812d11fce Bug 939632 - Remove LIBRARY_NAME for leaf libraries. r=gps
Landing on a CLOSED TREE.
2013-11-19 11:50:54 +09:00
Mike Hommey e06d795c71 Bug 939074 - Remove most LIBXUL_LIBRARY. rs=gps 2013-11-19 11:48:10 +09:00
Mike Hommey e80e877ab7 Bug 939044 - Remove most definitions of MODULE. r=mshal 2013-11-19 11:47:39 +09:00
Mike Hommey ffe0380912 Bug 935881 - Use FINAL_LIBRARY for all (fake) libraries that end up linked in a single other library. r=gps 2013-11-19 11:47:14 +09:00
Ehsan Akhgari e91814a204 Bug 939608 - Build xpconnect in unified mode; r=bholley 2013-11-18 00:47:30 -05:00