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

459 Коммитов

Автор SHA1 Сообщение Дата
Ms2ger 6452f0c3f0 Bug 876604 - Outparamdel UnwrapDOMObjectToISupports; r=bz 2013-06-01 08:56:02 +02:00
Bobby Holley 72af799499 Bug 858101 - Run the DefaultValue algorithm directly on the wrapper for Xrays. r=mrbkap 2013-05-31 10:36:01 -07:00
Peter Van der Beken 3402cab97c Bug 874321 - Fix setting of expandos on Xrays for DOM bindings with named properties. r=bz.
--HG--
extra : rebase_source : 697545417d27696de05c0f22987e4cb187d226cd
2013-05-29 11:38:57 +02:00
Mike Shal 5169c0a913 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
Bobby Holley b433ae35b8 Bug 874318 - Don't allow CALL on XOWs. r=mrbkap 2013-05-22 22:27:16 -06:00
Bobby Holley 89be72dd4e Bug 862380 - Silently fail for enumerate-like operations on XOWs. r=mrbkap 2013-05-22 22:27:15 -06:00
Bobby Holley 2fbd8f4d5c Bug 862380 - Be more explicit about rejecting JSID_VOID for XOWs. r=mrkbap
We already do this, but it's helpful to be clear about it.
2013-05-22 22:27:15 -06:00
Bobby Holley a76f725f9c Bug 862380 - Pass the entered id in addition to the wrapper action to Policy::deny. r=mrbkap 2013-05-22 22:27:15 -06:00
Bobby Holley 0906eb3ba9 Bug 874083 - Ignore domain in PrepareForWrapping prototype remapping. r=gabor, billm 2013-05-21 07:53:35 -06:00
Bobby Holley 047d3c3c1e Bug 872772 - Fix up lost Xray waivers when wrapping into the content compartment. r=gabor 2013-05-17 10:44:25 -07:00
Nathan Froyd a2aebddd70 Bug 871595 - don't include WrapperFactory.h in AccessCheck.h; r=bholley 2013-05-13 12:04:23 -04:00
David Zbarsky 9c18b7ec0d Remove some unused code due to bug 871189, r=bz over irc 2013-05-16 12:29:03 -07:00
David Zbarsky 680b9b7951 Bug 871189 - Remove Document classinfo r=bz 2013-05-16 11:06:21 -07:00
Ted Mielczarek 3cfd62c3d2 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
Bobby Holley 7c5384c4e9 Bug 866823 - Handle standard prototype remapping in PrepareForWrapping. r=gabor,mrbkap 2013-05-15 21:13:12 -07:00
Bobby Holley a7596f01a7 Bug 866823 - Don't create waivers in WaiveXrayAndWrap if the caller has no business waiving. r=gabor,mrbkap 2013-05-15 21:13:12 -07:00
Bobby Holley cc5157a913 Bug 857356 - Remove XBL field auto-waiving. r=bz 2013-05-09 09:16:01 -07:00
Jon Coppeard 068a876f84 Bug 869526 - GC: Fix more rooting hazards in xpconnect r=bholley 2013-05-09 10:39:21 +01:00
Bobby Holley 75723ecffd Bug 834707 - Kill dynamic SOWs. r=gabor
Now that XBL scopes are here to stay (no more pref), we can remove all the
machinery that makes SOWs dynamic. We still need SOWs until bug 825392 is
fixed, but they can now be totally opaque.

One side effect of this patch is that, due to our usage of Opaque, we now
allow CALL on SOWs. But this shouldn't be a problem, because SOWs are used
for anonymous elements which are not callable (and we probably wouldn't mind
it even if they were).
2013-05-06 19:38:23 -07:00
Bobby Holley b47f593e23 Bug 834707 - Disable SOWs for remote XUL domains. r=bz
We have to do this if we want to proceed with eliminating SOWs entirely. Given
the other restrictions around remote XUL, I don't think this is a problem.

Note that we shouldn't need any special handling in the wrapper reparenting
paths, because those all depend on whether a SOW was there already. So that
would only be an issue if it were possible to adoptNode from a non-remote-XUL
domain into a remote-XUL domain, which thankfully can't happen.
2013-05-06 19:38:22 -07:00
Bobby Holley 9b428f8e67 Bug 868122 - Calculate the JS_SaveFrameChain optimization by directly examining the principal of the default compartment. r=mrbkap,gabor 2013-05-06 16:53:10 -07:00
Phil Ringnalda 1a57cd403b Merge m-c to m-i 2013-05-05 12:17:07 -07:00
Ms2ger bb6fd0a4ee Bug 868727 - Pass an nsAString to nsGlobalWindow::GetChildWindow; r=bz 2013-05-05 09:03:19 +02:00
Ms2ger 4a6390f03d Bug 868411 - Handlify js::GetObjectProto; r=bz 2013-05-05 09:03:14 +02:00
Boris Zbarsky 7640b170ac Bug 865969 part 6. Fix rooting hazards in BindingUtils.cpp. r=smaug 2013-05-03 19:29:08 -04:00
Tom Schuster 79e64357e4 Bug 865410 - Use CallArgs for XPConnect Call and Construct hooks. r=bholley. 2013-05-04 19:25:15 +02:00
Jon Coppeard c1714595b9 Bug 866762 - GC: A few more XPConnect rooting hazards r=bholley 2013-04-30 15:27:48 +01:00
Jon Coppeard 7304b3bc6e Bug 865308: GC: More rooting work in XPConnect r=bholley 2013-04-26 18:50:18 +01:00
Boris Zbarsky 1ffcf1ad91 Bug 861493. When passing arguments to an Xray for a WebIDL constructor, make sure to do the argument unwrapping before entering the content compartment. r=bholley,waldo
There are several changes here:

1) Adds some MutableThis methods to Optional, Nullable, and dictionaries to
   effectively allow doing a const_cast without knowing the actual type being
   templated over.  I needed this because I do not in fact know that type in
   the relevant code.  I'm open to suggestions for a better name for this
   method.
2) Adds some operator& to RootedJSValue to make it look more like a JS::Value,
   and in particular so I can JS_WrapValue the thing in it.
3) Adds a Slot() method to NonNullLazyRootedObject, just like NonNull has.
4) Adds an operator& to LazyRootedObject to make it look more like JSObject* so
   I can JS_WrapObject the thing in it.
5) Implements the actual rewrapping of the arguments into the content compartment.
6) Fixes a small preexisting bug in which we didn't look at named constructors
   in getTypesFromDescriptor (this was causing my tests to not compile).
7) Changes Xrays to not enter the content compartment when calling a WebIDL
   constructor.
8) Adds some friend API to report things as not being functions.
2013-04-25 19:03:05 -04:00
Andrew McCreight 85d756a3c6 Bug 865397 - Nicen up "id got defined" assertion. r=bholley 2013-04-25 08:42:44 -07:00
Jon Coppeard c1c42130cf Bug 861887 Review comments for prev patch r=bholley
--HG--
extra : rebase_source : 7f91680f5f7249c9fb09708eb790bdc19c779c67
2013-04-24 14:22:21 +01:00
Jon Coppeard a797c9f224 Bug 861887 - GC: Rooting in XrayWrapper.cpp - part 2 r=bholley 2013-04-24 10:45:41 +01:00
Bobby Holley 02a2496bc2 Bug 860494 - Move the named property check further down in XrayWrapper. r=bz 2013-04-23 12:50:17 -04:00
Bobby Holley 416b2c4c8c Bug 860494 - Check for native properties before checking named children on XOWs. r=bz 2013-04-23 12:50:17 -04:00
Bobby Holley 820adfebdf Bug 860494 - Clarify the semantics of XrayTraits::resolveOwnProperty. r=bz
Right now, it sometimes fills out |desc|, and sometimes just defines the property
on the holder. This can get confusing, so let's refine the semantics here and
describe them in a big comment.
2013-04-23 12:50:17 -04:00
Bobby Holley d4a09bba16 Bug 860494 - Make resolveNativeProperty a virtual instance method in XrayTraits like resolveOwnProperty. r=bz
The current setup is just an artifact of how it used to be before I refactored
Xrays. Have it as a virtual trap is more flexible since it allows us to invoke
the right trap by just calling GetXrayTraits(wrapper) from non-templatized code.
2013-04-23 12:50:16 -04:00
Jon Coppeard 721057a505 Bug 864046 - GC: Almost the last rooting fixes in XPConnect - part 1 r=bholley 2013-04-20 10:41:47 +01:00
Jon Coppeard 7b2f5e54d8 Bug 863767 - GC: Rooting for XPCCallContext r=bholley 2013-04-20 09:52:56 +01:00
Jon Coppeard 6b41db971f Bug 863289 - GC: Continue the rooting of XPConnect r=bholley 2013-04-17 16:38:44 +01:00
Ryan VanderMeulen 040af911d4 Backed out changesets b9f7fd0996f0 and c0ab16b6003e (bug 860494) for mochitest failures on a CLOSED TREE. 2013-04-17 12:00:20 -04:00
Bobby Holley b460b44c87 Bug 860494 - Move the named property check further down in XrayWrapper. r=bz 2013-04-17 10:52:52 -04:00
Mike Shal df7deac25b Bug 846634 - Part 2: Move EXPORTS to moz.build; r=joey 2013-04-16 15:24:43 -04:00
Jon Coppeard 7f7df293ae Bug 861281 - GC: Root the wrap object API r=terrence r=bholley
--HG--
extra : rebase_source : 1d3ed88299ad8e9ad6812fb41aa48f03cc7aabae
2013-04-15 18:32:55 +01:00
Jeff Walden 763718651b 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
Jon Coppeard 32bc2e5c59 Bug 861269 - GC: Continuing the rooting of XPConnect - Convert id_ to idArg style arguments r=bholley
--HG--
extra : rebase_source : a0a88749928f3f622b5626adfc8aa23382d06611
2013-04-15 15:29:37 +01:00
Ryan VanderMeulen 454cb5b6ad No bug - Fix typo. 2013-04-12 23:04:51 -04:00
Jon Coppeard 8d0b0385b6 Bug 860777 - Part 2 - Root WrapperFactory.cpp r=bholley
--HG--
extra : rebase_source : 83a21d88d01e52ea34326388dab462efdc4252ab
2013-04-12 10:50:43 +01:00
Jon Coppeard 650580da78 Bug 860311 - GC: More rooting in XPConnect r=bholley
--HG--
extra : rebase_source : 3afba11173f0df957fe34e66b9dd443b5ed01b9a
2013-04-09 16:42:21 +01:00
Jacek Szpot a38774d086 Bug 854503 - Rename JS unwrapping functions. r=bholley 2013-04-11 11:50:18 -07:00
Bobby Holley 7235a8baf4 Bug 856840 - Kill FindWrapper. r=mrbkap 2013-04-08 12:51:24 -07:00
Gabor Krizsanits 07c194820d Bug 832091 - guards against crashes in resolveDOMCollectionProperty. r=bholley 2013-04-07 10:18:58 +02:00
Ryan VanderMeulen 4df26dd5ac Backed out changeset a85d21e394c0 (bug 854503) for bustage. 2013-04-06 14:37:33 -04:00
Jacek Szpot ab74228011 Bug 854503 - Rename JS unwrapping functions. r=bholley 2013-04-04 12:14:32 +02:00
Ms2ger 97ae827742 Merge m-c to m-i. 2013-04-04 14:15:56 +02:00
Ms2ger 5d894db6f7 Bug 852602 - Pass CallArgs to Proxy call() and construct() hooks; r=Waldo 2013-04-04 09:02:24 +02:00
Bobby Holley 61705225bc Bug 843829 - Wrap unwaived content JS objects in opaque wrappers for XBL scopes. r=mrbkap 2013-04-03 11:41:23 -07:00
Bobby Holley c15547b548 Bug 843829 - Explicitly add a waiver in FieldGetter and FieldSetter. r=mrbkap 2013-04-03 11:41:23 -07:00
Bobby Holley 8788bdc0ee Bug 843829 - Stop using IsTransparent for XBL field access, and explicitly waive instead. r=mrbkap 2013-04-03 11:41:23 -07:00
Bobby Holley a332f0164a Bug 843829 - Apply transitive waivers for nativeCall. r=mrbkap 2013-04-03 11:41:23 -07:00
Bobby Holley 38f05e866f Bug 845862 - Transitively apply waivers for accessor descriptors. r=mrbkap 2013-04-03 11:41:22 -07:00
Ehsan Akhgari eadd54865e 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 bc8fa5b7e3 Bug 843829 - Wrap unwaived content JS objects in opaque wrappers for XBL scopes. r=mrbkap 2013-04-02 18:51:20 -07:00
Bobby Holley 170286774d Bug 843829 - Explicitly add a waiver in FieldGetter and FieldSetter. r=mrbkap 2013-04-02 18:51:20 -07:00
Bobby Holley 6a9d39f758 Bug 843829 - Stop using IsTransparent for XBL field access, and explicitly waive instead. r=mrbkap 2013-04-02 18:51:20 -07:00
Bobby Holley 70b8e9c476 Bug 843829 - Apply transitive waivers for nativeCall. r=mrbkap 2013-04-02 18:51:20 -07:00
Bobby Holley c6e721524b Bug 845862 - Transitively apply waivers for accessor descriptors. r=mrbkap 2013-04-02 18:51:19 -07:00
Jon Coppeard 03a9c98899 Bug 854955 - GC: Rooting in XrayWrapper.cpp r=bholley
--HG--
extra : rebase_source : fdee7c16f54e1fcbf4ae96e89ffd20eb14ec2d8d
2013-03-27 11:33:30 +00:00
Bobby Holley 7ca7a4cb72 Bug 854480 - Remove SCRIPT_ACCESS_ONLY. r=mrbkap 2013-04-01 15:17:51 -07:00
Gabor Krizsanits 31f45643be Bug 820170 - GetNativeForGlobal. r=bholley 2013-04-04 11:27:42 +02:00
Kyle Machulis 72a717a860 Bug 855465 - Add emacs python mode comments to moz.build files; r=gps 2013-04-01 11:36:59 -07:00
Eddy Bruel ac26949ffe Bug 789897 - Implement isExtensible and preventExtensions traps for proxies, including scriptable direct proxies, and in the various wrapper classes. Also move non-static JSObject::preventExtensions to static ObjectImpl::preventExtensions, for handle correctness. Patch is a semi-tag-team effort with jwalden. r=jwalden, r=ejpbruel, r=bholley, r=two-turtle-doves-and-a-partridge-in-a-pear-tree
--HG--
extra : rebase_source : 156d2c22499372fceb60d130e363a3685e68b9fc
2013-03-22 19:43:03 -07:00
Kyle Machulis 43628a7867 Backout for changeset 03452b187c14 (Bug 855465) due to bustage on a CLOSED TREE; r=qdot 2013-03-29 15:12:58 -07:00
Kyle Machulis 334c0800cf Bug 855465 - Add emacs python mode comments to moz.build files; r=gps
--HG--
extra : rebase_source : 004a756492323e1a049586e85b3be5037159df20
2013-03-29 13:56:18 -07:00
Ryan VanderMeulen 114ddf1599 Backed out bug 789897 due to regressions. 2013-03-29 14:07:32 -04:00
Bobby Holley cf8475a71a Bug 855922 - Check XBL scopes per-compartment in the SOW isSafeToUnwrap hook. r=bz 2013-03-28 18:38:07 -07:00
Eddy Bruel 4f59f6b452 Bug 789897 - Implement a preventExtensions trap for proxies. Patch is a semi-tag-team effort with jwalden. r=jwalden, r=ejpbruel, r=bholley, r=two-turtle-doves-and-a-partridge-in-a-pear-tree
--HG--
extra : rebase_source : 03b1b90c727ecc6a5d9d8cd769423f0a8f6efde4
2013-03-22 19:43:12 -07:00
Eddy Bruel 6c07f423e8 Bug 789897 - Implement an isExtensible trap for proxies. Patch is a semi-tag-team effort with jwalden. r=jwalden, r=ejpbruel, r=bholley, r=two-turtle-doves-and-a-partridge-in-a-pear-tree
--HG--
extra : rebase_source : 346645d8dc32ddb76f18e7557e99f41cb66abe9e
2013-03-22 19:43:03 -07:00
Bobby Holley 0cdff77326 Bug 854558 - Enforce __exposedProps__ for Sandboxes. r=gabor 2013-03-26 09:08:29 -07:00
David Zbarsky 46284ae633 Bug 847007: Remove nsIContent includes r=Ms2ger 2013-03-21 20:05:20 -04:00
Tom Schuster a1663a0e87 Bug 828462 - Root Proxy/Wrapper in the browser. r=terrence,bz 2013-03-21 23:23:48 +01:00
Tom Schuster 787f786f96 Bug 828462 - Root Proxy/Wrapper delete. r=terrence 2013-03-21 23:23:48 +01:00
Tom Schuster b6725433ce Bug 828462 - Root Proxy/Wrapper getOwnPropertyNames and keys. r=terrence 2013-03-21 23:23:47 +01:00
Tom Schuster aaa3687e9b Bug 828462 - Root Proxy/Wrapper defineProperty. r=terrence 2013-03-21 23:23:47 +01:00
Tom Schuster 950e87f7e8 Bug 828462 - Root Proxy/Wrapper get(Own)PropertyDescriptor. r=terrence 2013-03-21 23:23:47 +01:00
Bobby Holley 5d587a2a1e Bug 658909 - Remove GWNOJO from AccessCheck. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley 155c7bef82 Bug 658909 - Remove GWNOJO from JSObject2NativeInterface. r=mrbkap 2013-03-21 08:20:44 -07:00
Bobby Holley b945d5623d Bug 658909 - Implement carefully-checked unwrapping in XPCCallContext. r=mrbkap 2013-03-21 08:20:42 -07:00
Bobby Holley dace71a951 Bug 658909 - Make isSafeToUnwrap pseudo-dynamic for SOWs. r=mrbkap
This can go away as soon as XBL scopes are no longer behind a pref.
2013-03-21 08:20:41 -07:00
Ryan VanderMeulen 318dfacf98 Backed out 22 changesets (bug 658909) for Windows debug bustage. 2013-03-21 15:24:54 -04:00
Bobby Holley f89657fd7e Bug 658909 - Remove GWNOJO from AccessCheck. r=mrbkap 2013-03-21 08:20:45 -07:00
Bobby Holley 9d8bb86c94 Bug 658909 - Remove GWNOJO from JSObject2NativeInterface. r=mrbkap 2013-03-21 08:20:44 -07:00
Bobby Holley 9a8ea3591c Bug 658909 - Implement carefully-checked unwrapping in XPCCallContext. r=mrbkap 2013-03-21 08:20:42 -07:00
Bobby Holley 13040f7556 Bug 658909 - Make isSafeToUnwrap pseudo-dynamic for SOWs. r=mrbkap
This can go away as soon as XBL scopes are no longer behind a pref.
2013-03-21 08:20:41 -07:00
Jon Coppeard f18e9439d5 Bug 853028 - GC: Fix some rooting issues found by static analysis r=terrence
--HG--
extra : rebase_source : a1d340a00516ae890c98fa7420497e85526823fc
2013-03-21 12:56:58 +00:00
Mike Shal 7ecea60097 Bug 844654 - Part 2: Move MODULE to moz.build; rs=gps 2013-03-19 11:47:00 -07:00
Mohit Gahlot 8cc749406f Bug 851377 - Now ResolvingId::isResolving is not called with a null object. r=bholley 2013-03-18 21:28:05 +05:30
Bobby Holley fa807df3d0 Bug 851987 - QI to nsPIDOMWindow instead of nsIDOMWindow in XPCWrappedJS. r=bz 2013-03-18 14:30:23 -07:00
Ms2ger 4f5fca99bc Bug 845374 - Part l: Stop including nsIDocument.h in nsContentUtils.h and fix two nits; r=khuey 2013-03-17 08:55:15 +01:00
Bobby Holley 4b95a9deb0 Bug 850517 - Support named window access via Xray. r=mrbkap 2013-03-14 22:38:26 -07:00
Bobby Holley 510b8a85e9 Bug 849730 - Let objectClassIs through for COWs. r=mrbkap 2013-03-13 14:48:59 -07:00
Bill McCloskey 484d62d1fb Bug 846890 - Avoid check for native anonymous content when possible (r=bholley) 2013-03-08 18:49:36 -08:00
Bill McCloskey 7401ed1cc2 Back out bug 846890 for reftest orange 2013-03-08 21:27:25 -08:00
Bill McCloskey 0ca2a01b5b Bug 846890 - Avoid check for native anonymous content when possible (r=bholley) 2013-03-08 18:49:36 -08:00
Jon Coppeard a0a3f88913 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 3a53c22824 Backed out changeset 28ef4bdff455 (bug 848395) 2013-03-07 13:03:35 +00:00
Jon Coppeard 6a98a4532a 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
Gregory Szorc 0c8ee65118 Merge mozilla-central into build-system
There were merges in configure.in and some Makefile.in. None had any
conflicts. I spot verified the Makefile.in changes and confirmed that
the changes did not touch any DIRS* variables.
2013-02-27 10:03:52 -08:00
Gregory Szorc 45faa95b04 Merge mozilla-central into build-system
Only conflict was configure.in amd was due to context, not
changed lines themselves.
2013-02-25 22:09:18 -08:00
Gregory Szorc c832d55dac Bug 784841 - Part 18s: Convert /js; r=glandium 2013-02-25 12:47:22 -08:00
Bobby Holley 0c9994db1d Bug 836301 - Hoist some assertions, remove a bunch of no-op trap overrides, and add assertions that we've entered our policy. r=mrbkap 2013-02-25 13:54:18 -08:00
Bobby Holley 59d3c6c36d Bug 836301 - Hoist enter() calls from {Xray,}Wrapper::foo into Proxy::foo. r=mrbkap 2013-02-25 13:54:18 -08:00
Bobby Holley d916a1015e Bug 836301 - Introduce an RAII class for entering policies. r=mrbkap
This will allow us to make some hard assertions that a given policy has been
entered exactly once.
2013-02-25 13:54:18 -08:00
Bobby Holley e969932415 Bug 836301 - Add Special handling to allow us to call enter() for defineProperty on Xrays. r=mrbkap 2013-02-25 13:54:17 -08:00
Bobby Holley 141e362856 Bug 836301 - Stop using JSRESOLVE_ASSIGNING to determine GET vs SET. r=mrbkap
This is just a heuristic, anyway, and some of the usage is downright broken.
There are two cases here:

1 - Deciding what to do for get{Own,}PropertyDescriptor. In these cases, we can
just enter with GET and rely on the filtering machinery to filter out dangerous
setters for security wrappers.

2 - Custom Xray props. None of these make sense in a |set| context. In fact,
    they generally have null setters anyway, so we can just assume GET.

The policy-entering code in XrayWrapper is super haphazard. We'll get rid of it
entirely later in these patches.
2013-02-25 13:54:17 -08:00
Bobby Holley 75c19cf6e0 Bug 834732 - Assert proper cx stack handling in WrapperFactory::Rewrap. r=mrbkap 2013-02-26 11:04:13 -08:00
Bobby Holley a56a907e29 Bug 834697 - Enable XBL scopes, and disable assertion. r=bz,me 2013-02-14 15:15:59 +01:00
Ryan VanderMeulen 141f9389ce Backed out 12 changesets (bug 834732) for b2g bustage and OSX mochitest-1 crashes on a CLOSED TREE. 2013-02-12 20:54:48 -05:00
Bobby Holley 17eaab9c51 Bug 834732 - Assert proper cx stack handling in WrapperFactory::Rewrap. r=mrbkap 2013-02-13 00:22:27 +01:00
Phil Ringnalda 7529e0b16b Back out 4d301b2bcad0:e0632e639097 (bug 836301) for Windows build bustage
CLOSED TREE
2013-02-22 08:41:37 -08:00
Bobby Holley 510ba5b448 Bug 836301 - Hoist some assertions, remove a bunch of no-op trap overrides, and add assertions that we've entered our policy. r=mrbkap 2013-02-22 08:14:34 -08:00
Bobby Holley bdcb37109c Bug 836301 - Hoist enter() calls from {Xray,}Wrapper::foo into Proxy::foo. r=mrbkap 2013-02-22 08:14:34 -08:00
Bobby Holley 2c74bb15cf Bug 836301 - Introduce an RAII class for entering policies. r=mrbkap
This will allow us to make some hard assertions that a given policy has been
entered exactly once.
2013-02-22 08:14:33 -08:00
Bobby Holley 3e3a4e08c3 Bug 836301 - Add Special handling to allow us to call enter() for defineProperty on Xrays. r=mrbkap 2013-02-22 08:14:33 -08:00
Bobby Holley 79dd453af9 Bug 836301 - Stop using JSRESOLVE_ASSIGNING to determine GET vs SET. r=mrbkap
This is just a heuristic, anyway, and some of the usage is downright broken.
There are two cases here:

1 - Deciding what to do for get{Own,}PropertyDescriptor. In these cases, we can
just enter with GET and rely on the filtering machinery to filter out dangerous
setters for security wrappers.

2 - Custom Xray props. None of these make sense in a |set| context. In fact,
    they generally have null setters anyway, so we can just assume GET.

The policy-entering code in XrayWrapper is super haphazard. We'll get rid of it
entirely later in these patches.
2013-02-22 08:14:32 -08:00
Bobby Holley 047d41c0d3 Bug 839867 - Align gecko with the spec on cross-origin access to Location.hash. r=bz
We update the tests to cover this case. There was also a bug in the tests where
we were accidentally testing non-writable Location properties against window
rather than window.location. :-(
2013-02-11 00:05:17 +01:00
Bobby Holley af54a3636a Bug 821850 - Dynamically waive Xray for field access by XBL script on bound nodes. r=bz 2013-02-08 14:24:22 +00:00
Bobby Holley 1b758ec295 Bug 821850 - Expose XBL members via Xray wrappers. r=bz 2013-02-08 14:24:21 +00:00
Bobby Holley 97bf6ad095 Bug 821850 - Clean up security wrappers for NAC. r=bz 2013-02-08 14:24:20 +00:00
Bobby Holley 54511231e6 Bug 831076 - Outerize during same-compartment wrapping so that JS_Wrap* is guaranteed to outerize. r=mrbkap 2013-02-04 15:13:14 +00:00
Bobby Holley be3d55b211 Bug 831076 - Outerize at the very beginning of XPConnect wrapping and remove other outerization checks. r=mrbkap 2013-02-04 15:13:13 +00:00
Peter Van der Beken 88de345330 Fix for bug 715156 (JS code no longer work for select options as array in a Greasemonkey script (index and name setters don't really work via XrayWrapper)). r=bz.
--HG--
extra : rebase_source : 2ced75b6d49dbab5afe9a6ce7c322bf18a634026
2013-01-14 11:29:48 +01:00
Ed Morley 9474e07ea6 Backout f3c145bd1dd2 & 5075690572a9 for OS X startup failures 2013-01-28 11:08:21 +00:00
Peter Van der Beken 95d9de83f0 Fix for bug 715156 (JS code no longer work for select options as array in a Greasemonkey script (index and name setters don't really work via XrayWrapper)). r=bz.
--HG--
extra : rebase_source : 6bc420bd917e00a49dc5f6f3de13ff9e290c9580
2013-01-14 11:29:48 +01:00
Bobby Holley 59d0d80d82 Bug 823348 - Stop checking for Xray waivers in the Xray machinery. r=mrbkap
All the casese where we want to waive should now be going through WaiveXrayWrapper.
2013-01-23 06:04:39 +01:00
Bobby Holley 38606e7675 Bug 823348 - Replace security wrapper enumeration with a more rule-based approach. r=mrbkap 2013-01-23 06:04:39 +01:00
Bobby Holley 81028b7e44 Bug 823348 - Hoist special cases to the top of WrapperFactory::Rewrap. r=mrbkap
This paves the way for more rule-based selection of wrappers in the common case.
2013-01-23 06:04:39 +01:00
Bobby Holley e73d3f774c Bug 823348 - Move COW prototype remapping out of wrapper selection. r=mrbkap
It's pretty orthogonal, and makes the critical block more complicated than it
needs to be.
2013-01-23 06:04:39 +01:00
Bobby Holley d138e10671 Bug 823348 - Precompute various parameters in Rewrap. r=mrbkap
This is generally cleaner, and avoids potentially calling these functions
multiple times when we start moving this stuff around.
2013-01-23 06:04:39 +01:00
Bobby Holley 93ef6e574e Bug 823348 - Use GetXrayType for content->chrome Xray wrappers. r=mrbkap
There's no reason to do this any different than we do for XOWs and such. The
only thing this might conceivably support would be certain chrome XPWNs-as-COWs.
But that would require that they forced a parent in precreate without being
flagged as DOM objects in classinfo. And it's not clear why we'd want to support
that. And we're generally moving away from COWs anyway.
2013-01-23 06:04:39 +01:00
Bobby Holley 879caaf0ed Bug 823348 - Use EnsureCompartmentPrivate In Rewrap and stop checking for null. r=mrbkap 2013-01-23 06:04:39 +01:00
Bobby Holley 26a118b43a Bug 823348 - Make NNXOWs use an explicitly opaque Policy. r=mrbkap
There's no reason to be doing a dynamic check here, given that the JSClasses
will never match. Lets be explicit and safe.
2013-01-23 06:04:38 +01:00
Bobby Holley 402fba14fe Bug 823348 - Do a better job of lying about the holder and make assertions fatal. r=mrbkap
I noticed this nonfatal assertion firing, unrelated to my patches. Leaking
the holder is not so great. Let's fix this for real.
2013-01-23 06:04:38 +01:00
Bobby Holley 2eb6adc447 Bug 823348 - Remove broken and unused __scriptOnly__ check. r=mrbkap
__scriptOnly__ is unused on mxr and addons-mxr. Morevoer, the current
implementation is totally broken, because we check for NNXOW, which only
happens when a random content JS object ends up in some other cross-origin
scope (via addons, presumably), whereas chrome objects use ChomeObjectWrapper.

I'm soon going to replace SCRIPT_ACCESS_ONLY with checked unwrapping, and mark
all COWs as unsafe to unwrap (see bug 821573 and bug 658909). So let's just kill
this thing here.
2013-01-23 06:04:38 +01:00
Boris Zbarsky 06072bf404 Bug 823228 part 2. Move indexed property access on windows from nsWindowSH::GetProperty to the outer window proxy. r=bholley 2013-01-17 12:30:37 -05:00
Jeff Walden 192b78fa9c Whitespace tab-killing patrol. No bug, r=sparky 2013-01-04 17:00:43 -06:00
Jeff Walden 4a62a2dda6 Bug 824217 - Make ChromeObjectWrapper::getPropertyDescriptor not pretend no descriptor exists when the property exists along the prototype chain, when the property is being resolved just before an assignment. r=bholley 2013-01-03 17:55:58 -06:00
Jeff Walden a127013839 Bug 826447 - Change all the proxy API signatures to take unsigned flags, rather than bool set, so that it's easier to find all tests of JSRESOLVE_ASSIGNING. r=bz
--HG--
extra : rebase_source : 3b88b411965087984d7973a90f8fa1b06457a6ce
2013-01-03 15:31:36 -06:00
Jeff Walden c4fadd1981 Bug 823283 - Remove all remaining uses of JSRESOLVE_QUALIFIED, and the few remaining tests (which were pretty much purely diagnostic). r=luke
--HG--
extra : rebase_source : 51e2ac7ccc76be84d12600baeb6d458c2927bea7
2012-09-15 11:19:55 -07:00
Bobby Holley f681aaffe9 Bug 809652 - Deny nativeCall for SecurityWrapper except under specific circumstances. r=jorendorff 2012-12-20 22:33:26 -08:00
Bobby Holley ee5cb1d935 Bug 809652 - Have SecurityWrapper::enter default to deny, and override SecurityWrapper::objectClassIs. r=jorendorff 2012-12-20 22:33:26 -08:00