Commit Graph

18320 Commits

Author SHA1 Message Date
Bobby Holley
2672787670 Bug 733984 - Explicitly disallow shadowing on location wrappers. r=mrbkap
This was taken care of in other ways before, but we need to be more explicit about it now that we're doing more Xray stuff with Location wrappers.
2012-03-23 15:58:18 -07:00
Bobby Holley
db60d031a5 Bug 667388 - Handle wrappers during structured clone. r=mrbkap
We also remove the declared-but-never-implemented JSObject::getWrapperHandler.
2012-03-23 14:59:27 -07:00
Bobby Holley
9146523a9f Bug 667388 - Introduce the PUNCTURE wrapper action. r=mrbkap 2012-03-23 14:59:27 -07:00
Bobby Holley
57296aa50b Bug 667388 - Make the chrome-to-content Xray wrapper derive CrossCompartmentWrapper. r=mrbkap
The current situation seems incorrect, especially given the behavior of CrossOriginWrapper and XrayProxy. Currently it doesn't matter, but it probably will in the future.
2012-03-23 14:59:27 -07:00
Bobby Holley
041837d99f Bug 733984 - Apply Location wrappers for same-origin cross-compartment wrapping. r=mrbkap
This isn't an issue right now, since it can't ever happen outside of sandboxes, which content can't use. But if it could, it could get a pure CrossCompartmentWrapper to a Location object, which is bad.
2012-03-23 14:59:23 -07:00
Bobby Holley
011c97a205 Bug 733984 - Use the Location security policy even for content accessing chrome. r=mrbkap
I'm adding asserts about when we do and don't have a Location object behind the wrapper, and this case was hitting them. What we do here doesn't so much matter given how this stuff all works. On the one hand, statically using a restrictive policy is slightly more defense-in-depth. On the other hand, if this stuff is broken we're screwed in much more serious ways than content reading chrome locations, and using a consistent wrapper scheme allows us to make stronger asserts and assumptions.

I opted for stronger assumptions and more understandable security code. If Blake feels strongly though, I could go the other way and sprinkle '|| isChrome(obj)' throughout the asserts though.
2012-03-23 14:59:19 -07:00
Bobby Holley
a44b6d76ac Bug 733984 - Clarify the security characteristics of Location objects. r=mrbkap
I was getting confused by some of the naming and lack of comments here.
2012-03-23 14:59:07 -07:00
Bobby Holley
4d5b2ef225 Bug 733984 - Stop specializing createHolder, and simplify holder creation in WrapperFactory::Rewrap. r=mrbkap 2012-03-23 14:59:04 -07:00
Jared Wein
30d9fd445e Backed out changeset 5f79a3dd45ff (bug 730318) r=bustage 2012-03-23 11:11:31 -07:00
Mike Hommey
916407a772 Bug 734050 - Build stlport as part of our build process. r=ted 2012-03-23 17:35:09 +01:00
Makoto Kato
50d65689bb Bug 684138 - Remove unused GARBAGE from configure.in. r=khuey 2012-03-23 14:45:51 +09:00
Nicholas Nethercote
78439dc8b2 Bug 738153 - Remove JSScript::inlineData. r=luke.
--HG--
extra : rebase_source : f003203fbe0219735655d334192fca14cc434736
2012-03-21 23:05:23 -07:00
Jared Wein
589f9135f9 Bug 730318 - Implement a way for chrome js to enumerate the plugin objects on a page for activation. r=khuey 2012-03-22 13:53:59 -07:00
Mike Hommey
6c75c64ae7 Bug 736959 - Don't wrap PR_Malloc and other NSPR allocation functions. r=khuey 2012-03-22 08:01:27 +01:00
Nicholas Nethercote
616b0f275a merge 2012-03-21 21:48:40 -07:00
Nicholas Nethercote
256772d52e Backed out changeset 0124795a8cbb (bug 711895) due to i10n build bustage. r=me. 2012-03-21 21:46:27 -07:00
Pranav Ravichandran
75b8ad96ec Bug 535594 - Fix/Clean-up 'security.enable_java' preference references. r=bsmedberg 2012-03-21 19:52:23 -04:00
Nicholas Nethercote
1859bc3ea6 Bug 711895 - Tweak the warning options used for GCC builds (2nd attempt). r=waldo,derf,khuey,mhommey,jwatt. 2012-03-15 19:40:00 -07:00
Jeff Walden
6d2861cf63 Windows build bustage fix -- looks like Windows doesn't recognize nested method definitions with const, implicitly namespace-nested argument types (?). No bug, r=red, all hail MSVC 2012-03-21 14:55:12 -07:00
Jeff Walden
11cec064bd Warning patrol. No bug, r=themaid
--HG--
extra : rebase_source : 49934cb03e1cde5ea44bda525d2502227117aa2a
2012-03-21 14:12:51 -07:00
Jeff Walden
64398b2a15 Bug 728411 - Move a couple more slot methods over to ObjectImpl. r=bhackett
--HG--
extra : rebase_source : e9e872a9557d87cb545c1c209a946a6b87d85e4d
2012-02-24 20:01:05 -08:00
Jeff Walden
00596da6c2 Bug 728411 - Move checkShapeConsistency into ObjectImpl. r=bhackett
--HG--
extra : rebase_source : 92525ff32e1d27c335eb0d2c73a8b54b0d5b8a54
2012-02-23 15:45:01 -08:00
Jeff Walden
5451b477d4 Bug 728411 - Move most other slot-access methods into ObjectImpl. r=bhackett
--HG--
extra : rebase_source : 34a66226584835cdedc5958d0475606de972180a
2012-02-23 15:39:35 -08:00
Jeff Walden
8fe8c16233 Bug 728411 - Move slot range operations into ObjectImpl. r=bhackett
--HG--
extra : rebase_source : 704d67267923e019df82de7f77f60b48c6c62128
2012-02-23 15:39:32 -08:00
Jeff Walden
48e59df2bd Bug 737996 - Remove some essentially-obsolete configuration options from jsversion.h. r=luke
--HG--
extra : rebase_source : 4b54a0ab0a6fcdb15ee671ee8c1b460d4b4f4180
2012-03-21 12:23:07 -07:00
Terrence Cole
a592913d0e Bug 735761 - Fix a cosmetic error in the test suite; r=dmandelin
This patch pushes our null results for non-run tests before running other tests
so that when we do not try to update the progress bar after we finish running.

--HG--
extra : rebase_source : 02e53cddcab4c5898ef2636f78c806509ae33dcf
2012-03-21 11:49:01 -07:00
Igor Bukanov
b2f0cd3a2f bug 730221 - followup to bump XDR version number as the previously landed changeset made incompatible changes to xdr format. r=bugzilla_comment 2012-03-21 19:14:42 +01:00
Hessam Salehi
7d69570885 Bug 474505 - Replace uses of nsVoidPtrHashkey with nsPtrHashKey<T>; r=bsmedberg 2012-03-21 14:07:31 -04:00
Luke Wagner
792d416eee Bug 737388 - Put back piece of prologue accidentally removed earlier (r=bhackett) 2012-03-21 01:51:11 -07:00
Brian Hackett
1b9f03e039 Use singleton types for global object initializers, bug 731398. r=dvander 2012-03-21 07:37:43 -06:00
Brian Hackett
791a99843d Update type sets persistently for arithmetic on objects, bug 733979. r=billm 2012-03-21 06:32:18 -06:00
Luke Wagner
c76d3c7c21 Bug 736555 - don't use magic values to implement deleted args (r=bhackett)
--HG--
extra : rebase_source : f4e3f63512acb2ff8ee874de2d718bd7877932d6
2012-03-14 17:19:17 -07:00
Luke Wagner
7b7d34d1b2 Bug 737575 - fix arguments['integer'] (r=dvander)
--HG--
extra : rebase_source : 5cb580a47187f2a88a98efc3fa8a88ee4c8bc551
2012-03-20 17:21:58 -07:00
Terrence Cole
7c61b7fb78 Bug 737221 - Add a missing pre barrier on jsid strings; r=billm
--HG--
extra : rebase_source : 970b91446c7703966aa6f397ac40d8d9d486f796
2012-03-20 16:03:50 -07:00
Steve Fink
9be8331544 Fix --enable-dtrace build failure from bug 737195. r=npotb, DONTBUILD 2012-03-20 12:48:43 -07:00
Terrence Cole
0cf4763bf0 Bug 737195 - Add barriers to JSFunction::atom; r=billm
This is only ever initialized, so it needs generational barriers, but not
incremental barriers.
2012-03-19 17:24:05 -07:00
Igor Bukanov
5542df3342 bug 730221 - delegating serialization of script principals to the embedding. r=:luke,:bz
Currently to serialize principals stored in JSScript we have a rather complex
schema. First there is the transcode callback that the embedding must provide
to transcode principals using XDR API. Second we use rather complex glue code
to implement that callback in terms of writing/reading nsIObjectOutputStream/
nsIObjectInputStream. This glue code is duplicated in 3 places. All this can
be avoided if we simply delegate transcoding of principals to the caller. In
addition, at least in the case of the cached startup scripts we do not even
need to transcode the principals as the the cached scripts always have the
system principal so we can skip all the transcode complexity there.

The patch implemnts this idea. In particular, the code in JS engine
responsible for transcoding of principals is replaced by the single API
function JS_XDRSetPrincipals that the embedding can use to set principals for
decoded scripts and functions. Then the startup cache uses this to set the
principals for the decoded script to the system principals. The other two
places in nsJSContext::Serialize and  XBL_SerializeFunction that need to
serialize principals together with a function or script now uses common
utilities in nsXPConnect so the serialization complexity resides in the single
 place.
2012-02-13 14:10:04 +01:00
Matt Brubeck
3057ab345d Merge mozilla-central and mozilla-inbound 2012-03-19 16:47:00 -07:00
Luke Wagner
7a6b47a381 Bug 736807 - Fix test added by fc8534cfca3d to test for gczeal (r=orange) 2012-03-19 11:47:23 -07:00
Luke Wagner
176cb177d1 Bug 736807 - InitExnPrivate needs to root values since they can now be wrapped (r=bholley)
--HG--
extra : rebase_source : 4aeb6c6b271588c57c4b6e166c630a72c8c7d0d5
2012-03-19 10:49:12 -07:00
Mike Hommey
603769b284 Bug 733773 - Reset default values for thumb, float-abi, etc. when --with-arch is specified. r=ted 2012-03-13 09:47:03 +01:00
Jesse Ruderman
ae4faf428d Bug 736795 - Some shell help() messages have extra periods 2012-03-17 22:24:07 -07:00
David Mandelin
6ab5b174aa Bug 726794: clean up some WTF Platform.h macros, r=dvander
--HG--
extra : rebase_source : 1969660fdeda9c426c9e37a68fc067786ef79d58
2012-03-16 17:02:52 -07:00
Bill McCloskey
8a370df06f Bug 736643 - Add timestamp support to GC/CC JSON output (r=terrence) 2012-03-16 16:36:26 -07:00
Jim Blandy
00ec77b58e Bug 734454: Use a table to declare atoms. r=waldo 2012-03-16 16:15:31 -07:00
Jim Blandy
f0861f366e Bug 734454: Minor cleanups to atom declarations and definitions, in preparation for conversion to a table. r=waldo 2012-03-16 16:15:31 -07:00
Igor Bukanov
ed3f5972bd bug 736978 - remove JS_FinalizeStub. r=:billm
Currently the GC finalizes on the background thread only objects with null
JSClass::finalize. However, this implies that any object that uses
JS_FinalizeStub for the finalizer would be prevented from the background
finalization.

To fix this the patch removes JS_FinalizeStub replacing it with NULL in all
cases when the class has no custom finalizer. For style consistency the patch
also removed the usage of JSCLASS_NO_OPTIONAL_MEMBERS in the static
declarations as the compiler fills the missing fields with null in any cases.
2012-03-19 15:27:58 +01:00
Prabindh Sundareson
e9c8c2fdde Bug 735594 - Add check for MOZ_JSDEBUGGER so that --enable-jsd=no works. r=bholley+khuey 2012-03-15 20:12:45 -04:00
Bill McCloskey
610d48849d Bug 736605 - Add more timers to GC statistics (r=terrence) 2012-03-16 14:55:56 -07:00
Bobby Holley
948121e077 Bug 596351 - Proxies should throw TypeErrors for assignments to read-only properties in ES5 strict mode. r=luke 2012-03-16 12:47:21 -07:00