Commit Graph

229 Commits

Author SHA1 Message Date
Birunthan Mohanathas
a29151dc87 Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Juan Gomez
89035d527e Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00
Ryan VanderMeulen
7aba9d7002 Backed out changeset 8b4e4083639e (bug 1171931) for B2G debug emulator bustage. 2015-06-25 19:48:42 -04:00
Juan Gomez
7323e89a40 Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-06-24 14:11:00 -04:00
Nicholas Nethercote
927d4ac466 Bug 1171305 - Remove lots of now-unnecessary null-checks involving XPCMaps. r=mrbkap.
Possible because both |new| and PLDHashTable initialization are infallible now.

I had to use NS_ABORT_OOM for a couple of the maps that use js::HashTable,
which still has fallible initialization. There were a couple of uses of those
maps that weren't protected by null-checks, so we would have got crashes anyway
if they had OOMed.
2015-05-05 18:20:33 -07:00
Jan de Mooij
c6596c5fa8 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
1a1c158706 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
Jan de Mooij
369ef1b850 Bug 1144366 - Switch SpiderMonkey and XPConnect style from |T *t| to |T* t|. r=jorendorff 2015-03-28 12:08:37 +01:00
Boris Zbarsky
78e8ce1375 Bug 1131805 part 1. Remove remaining JS_GetParent and js::GetObjectParent uses in Gecko. r=bholley 2015-03-06 16:33:31 -05:00
Boris Zbarsky
ff09c61895 Bug 1136925 part 2. Stop passing a parent to Wrapper::New. r=waldo,bholley 2015-02-26 15:58:59 -05:00
Wes Kocher
64ff21e8a1 Backed out 4 changesets (bug 1136925) for potentially busting m-e10s-dt on a CLOSED TREE
Backed out changeset 331761aaae22 (bug 1136925)
Backed out changeset 2faa0e91fe23 (bug 1136925)
Backed out changeset a00f2530c911 (bug 1136925)
Backed out changeset d5e658bc0792 (bug 1136925)
2015-02-26 23:17:34 -08:00
Boris Zbarsky
0d229e715e Bug 1136925 part 2. Stop passing a parent to Wrapper::New. r=waldo,bholley 2015-02-26 15:58:59 -05:00
Bobby Holley
f249852d63 Bug 1126911 - Special-case all chrome objects in wrapper selection. r=gabor 2015-02-05 11:07:40 -08:00
Bill McCloskey
3fdc0539fb Bug 1123461 - Make a real interface for js/ipc (r=dvander) 2015-01-26 13:32:18 -08:00
Bill McCloskey
df76390ad7 Bug 1092446 - [e10s] Allow unprivileged scopes to call content-to-chrome CPOWs (r=bholley) 2014-11-04 17:38:19 -08:00
Carsten "Tomcat" Book
475b7960c9 Backed out changeset 2dbf8f6bd2aa (bug 1092446) for suspicion of adding a hazard 2014-11-05 10:04:08 +01:00
Bill McCloskey
447a384ca1 Bug 1092446 - [e10s] Allow unprivileged scopes to call content-to-chrome CPOWs (r=bholley) 2014-11-04 17:38:19 -08:00
Bobby Holley
dc53be8b85 Bug 1081985 - Remove prototype remapping and make COWs simple. r=gabor
\o/
2014-10-20 15:52:53 +02:00
Bobby Holley
2d41b4d59e Bug 1081990 - Turn off COWs for Functions. r=gabor 2014-10-18 11:02:10 +02:00
Bobby Holley
e97f6b5fbd Bug 1083060 - Only use the XOW policy for Window and Location. r=bz 2014-10-17 16:17:03 +02:00
Bobby Holley
ea34b5ae7e Bug 1065186 - Drop support for exposing privileged arrays to untrusted content. r=gabor 2014-10-16 14:12:37 +02:00
Bobby Holley
2e18ca7d61 Bug 1074863 - Handle named constructors which have DOMXrayTraits while being simultaneously JSProto_Function. r=peterv
Simple fix, but interesting test case and worth having on CI.
2014-10-02 11:06:03 +02:00
Bobby Holley
8ff0a8449b Bug 1070696 - Rename xpc::GetNativeForGlobal to xpc::NativeGlobal and make it accept non-global JSObjects. r=smaug
The method is infallible, and making the callers invoke
js::GetGlobalForObjectCrossCompartment manually is dumb.
2014-09-21 21:31:53 +02:00
Bobby Holley
7d0c27ef8e Bug 1060521 - Remove infrastructure for Xrayed NewResolve, GetProperty, and SetProperty on XPCWrappedNatives. r=peterv 2014-09-15 14:13:02 +02:00
Bobby Holley
b37ef629a5 Bug 1064437 - Remove Proxy special-case in ForceCOWBehavior. r=gabor 2014-09-09 08:21:45 -07:00
Nicholas Nethercote
663b82ea3b Bug 1050009 - Initialize pldhash tables with a length, not a capacity. r=roc.
* * *
imported patch rm-dummy-params
2014-08-06 06:31:21 -07:00
Bobby Holley
3b3e9fb216 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
da09d0d1b1 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
24a6a77567 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
8f342b4b33 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
f5bd70ec34 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
4e43ed1b1e Bug 742444 - Only propagate waivers between same-origin compartments. r=gabor 2014-07-22 16:14:27 -07:00
Bobby Holley
1aa4d3a626 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
a7550d8bb6 Bug 1040181 - Use an opaque wrapper rather than failing in Rewrap. r=gabor 2014-07-20 10:03:58 -06:00
Bobby Holley
16757d60d7 Bug 1038844 - Implement a COW opt-out for automation. r=gabor,sr=mrbkap 2014-07-17 21:34:48 -07:00
Bill McCloskey
dbd94cefd5 Bug 1017323 - Fix some non-unified build bustage 2014-07-14 22:49:09 -07:00
Bill McCloskey
0bd4266507 Bug 1017323 - Add-on interposition (r=bholley) 2014-07-14 22:10:05 -07:00
Bobby Holley
a4f5d858cd 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
aae46cc234 Bug 856067 - Make unwaived non-Xrayable objects opaque from privileged code. r=gabor 2014-07-14 10:09:07 -07:00
Bobby Holley
babb1410fd 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
bc09c8bbda 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
540e1dd424 Bug 1034239 - Add Proxies to ForceCOWBehavior. r=gabor 2014-07-10 09:31:37 -07:00
Bobby Holley
d39c5e3b16 Bug 1032317 - Make CompartmentPrivate and XPCWrappedNativeScope accessors infallible. r=gabor 2014-07-03 09:40:52 -07:00
Eric Faust
51c149ff8f Bug 1027402 - Part 2: Mark Proxy Handler instances as const. (r=bholley, r=bz over IRC) 2014-06-27 04:44:04 -07:00
Carsten "Tomcat" Book
026215908a Backed out changeset 346912776f97 (bug 1027402) 2014-06-27 14:21:22 +02:00
Eric Faust
7a21439f3d Bug 1027402 - Part 2: Mark Proxy Handler instances as const. (r=bholley) 2014-06-27 04:44:04 -07:00
Bobby Holley
6f76ec9e20 Bug 976148 - Implement Xrays to Function objects. r=gabor 2014-06-19 09:57:06 -07:00
Terrence Cole
cf3f16eda5 Bug 1017650 - Remove the unused |proto| arg from the wrapping machinery; r=efaust 2014-06-16 11:59:59 -07:00
Bobby Holley
cfef6a798e Bug 1020609 - Implement Xrays to Arrays. r=bz 2014-06-11 15:16:07 -07:00
Bobby Holley
8fe7505f71 Bug 987111 - Make JSProto_Object COWs take precedence over Xrays. r=gabor 2014-06-05 22:32:38 -07:00