Commit Graph

1492 Commits

Author SHA1 Message Date
Kyle Huey
aa1997a51a Bug 798491: Add an option to stick all chrome JSMs/JS components in the same compartment. r=mrbkap,philikon 2012-10-30 08:26:12 -07:00
Jacek Szpot
0b35b0e3d8 Bug 792180 - Replace NS_{UN,}LIKELY with MOZ_{UN,}LIKELY; r=ehsan 2012-10-26 15:32:10 +02:00
Peter Van der Beken
1ef60a85a4 Fix for bug 778152 (Content window does not have an XMLHttpRequest property when accessed via an Xray wrapper in a subscript). r=bz.
Switch from using the interface objects from the Xrays compartment to wrapping
interface objects and interface prototype objects in Xrays. Make dom binding
Xrays deal with both instance objects and interface and interface prototype
objects.
2012-10-09 20:50:27 +02:00
Bobby Holley
b4461f0bed Bug 803068 - Merge DirectWrapper and Wrapper. r=ejpbruel
--HG--
extra : rebase_source : a2b98a9585c6f7761747cfaf55684e6eeed91344
2012-10-29 16:52:53 +01:00
Bobby Holley
8eabbd467b Bug 803068 - Manually grab the BaseProxyHandler derived traps in SandboxProxyHandler. r=ejpbruel
Let's just bite the bullet and do this here. It will let us get rid of
IndirectProxyHandler, which has really overcomplicated our proxy hierarchy.

--HG--
extra : rebase_source : 7e81529936bc256d672e40537eb6abca6374e52c
2012-10-29 16:52:53 +01:00
Bobby Holley
c45ac66eb0 Bug 797206 - Remove GetPrincipalFromContext. r=bz 2012-10-29 15:55:36 +01:00
Peter Van der Beken
efd72d6b0c Fix for bug 778152 (Content window does not have an XMLHttpRequest property when accessed via an Xray wrapper in a subscript) - rename ProtoOrIfaceArray. r=bz.
--HG--
extra : rebase_source : c426270fc1ebee818629bd94dfc8d11af59bfc00
2012-10-09 20:50:27 +02:00
Peter Van der Beken
705e0cc63b Fix for bug 804992 (Enable objects with new DOM bindings to be parent of other DOM objects). r=bz.
--HG--
extra : rebase_source : f07cade82dad0216d94e68dd0c0f495977abeb31
2012-09-12 22:29:30 +02:00
Peter Van der Beken
09dd1ac571 Fix for bug 804732 (Remove mCachedDOMPrototypes). r=bz.
--HG--
extra : rebase_source : dc9ffe5f37dbc0542cbb47384b2d25472c70d801
2012-10-23 22:11:58 +02:00
Nicholas Nethercote
dfb006bf92 Bug 805915 (part 5) - Add more detail to shape memory reports. r=luke.
--HG--
extra : rebase_source : f1a05ea15b78e5f33d6398accca3333ab29fa1c6
2012-10-29 08:51:21 +11:00
Nicholas Nethercote
dd15137c21 Bug 805915 (part 4) - Add more detail to string memory reports. r=luke.
--HG--
extra : rebase_source : 010e28f10917ae4cc9d0d11abace9bcdabf0aba8
2012-10-29 08:51:21 +11:00
Nicholas Nethercote
17209cb3c5 Bug 805915 (part 2) - Add more detail to object memory reports. r=luke.
--HG--
extra : rebase_source : e54ece88753280ccac284f6265fd92310dc1bec6
2012-10-29 08:51:21 +11:00
Nicholas Nethercote
d46cd5f2d4 Bug 805915 (part 1) - Rename the "cross-compartment-wrappers" memory report. r=luke.
--HG--
extra : rebase_source : a9689bde17b043bc8bec55c0307c0bbf94768232
2012-10-29 08:51:21 +11:00
Ryan VanderMeulen
dd87cc277e Bug 799917 - Backout for various regressions. 2012-10-28 08:49:20 -04:00
Bill McCloskey
2e039c483d Bug 692267 - Remove jsgc.h from INSTALLED_HEADERS (r=terrence) 2012-10-26 11:17:24 -07:00
Andrew Quartey
1d28872093 Bug 792581 - part 20: Replace LL_UI2L macro with int64_t cast. r=ehsan 2012-10-25 19:25:57 -04:00
Nikhil Marathe
453b3dce5f Bug 804174 - Inline CallerHasUniversalXPConnect with IsCallerChrome. r=mccr8 2012-10-25 16:10:53 -07:00
Bobby Holley
488778aa80 Bug 797821 - Null check to fix intermittent orange. r=me 2012-10-25 18:36:45 +02:00
Ehsan Akhgari
f117c7a7b0 Backed out 2 changesets (bug 579517)
Backed out changeset 5298adc70963
Backed out changeset 86ccf7c918ce (bug 579517)
2012-10-25 12:32:24 -04:00
Ehsan Akhgari
48b5c1a608 Code hygiene: don't use PR_TRUE and PR_FALSE, and use stdint types instead of PRInt types (no bug really, but you could say bug 579517) 2012-10-25 11:48:19 -04:00
Bobby Holley
6bae1ef04d Bug 797821 - Address Ms2ger's review comments. r=me 2012-10-25 17:01:09 +02:00
Bobby Holley
c8500076c1 Bug 797821 - Remove the XPConnect Compartment Set. r=mrbkap 2012-10-25 17:01:09 +02:00
Bobby Holley
c562949e50 Bug 797821 - Hoist XPConnect-y stuff out of the compartment private and into the XPCWrappedNativeScope. r=mrbkap
This change means we no longer have to keep around a set of XPConnect compartments.
We keep the compartment private around for non-xpconnecty stuff like about:memory
instrumentation that needs to happen on non-xpconnect compartments.
2012-10-25 17:01:09 +02:00
Bobby Holley
a257acaeb2 Bug 797821 - Removed the unused reserved slot for XPConnect globals. r=mrbkap 2012-10-25 17:01:09 +02:00
Bobby Holley
4ab5b9a39a Bug 797821 - Remove JSCLASS_XPCONNECT_GLOBAL flag. r=mrbkap 2012-10-25 17:01:09 +02:00
Bobby Holley
c14f6e265e Bug 797821 - Decide whether we need to trace DOM stuff based on more relevant information than JSCLASS_XPCONNECT_GLOBAL. r=mrbkap
This will let us rip out that flag.
2012-10-25 17:01:08 +02:00
Bobby Holley
19e17dc08a Bug 797821 - Remove FindInJSObjectScope and friends. r=mrbkap
\o/
2012-10-25 17:01:08 +02:00
Bobby Holley
05aea8b835 Bug 797821 - Replace usage of XPCWrappedNativeScope::FindInJSObjectScope(ccx, obj) with GetObjectScope(obj). r=mrbkap 2012-10-25 17:01:08 +02:00
Bobby Holley
18d529092b Bug 797821 - Create XPCWrappedNativeScopes immediately after global creation. r=mrbkap 2012-10-25 17:01:08 +02:00
Bobby Holley
36cb31b1bc Bug 797821 - Remove xpc_NewSystemInheritingJSObject and cached mJSPrototypeObject. r=mrbkap
xpc_NewSystemInheritingJSObject is totally unnecessary now that the system bit
has been removed (\o/). Furthermore, the mJSPrototypeObject optimization is
really dumb. it complicates tracing significantly, and we don't actually use it
in any critical places: XPCWrappedNative and slim wrapper creation use a different
prototype, so this is used only for the creation of tearoff reflectors (seldom/
never used), XPCWrappedNativeProto objects, and the nohelper prototype on the
scope (once per scope).

We could actually just pass NULL to JS_NewObject and let it deal. However, this
would actually trigger a dynamic lookup for the prototype object of the
associated JSClass, which isn't what we want. So we just explicitly pass in
Object.prototype.
2012-10-25 17:01:08 +02:00
Bobby Holley
ddca166933 Bug 797821 - Remove unused aNative parameter to XPCWrappedNativeScope creation. r=mrbkap 2012-10-25 17:01:08 +02:00
Bobby Holley
9e5696d887 Bug 797821 - Stop storing mScriptObjectPrincipal. r=mrbkap 2012-10-25 17:01:08 +02:00
Bobby Holley
703a9798c9 Bug 797821 - Stop making nsXBLDocumentInfo and nsXULPrototypeDocument globals with XPConnect. r=mrbkap
We already weren't creating a scope for them. They're generally pretty isolated
and are just used for holding functions that get cloned into other scopes.
Apparently mccr8 once found an edge from an nsXULPrototypeDocument scope into
another scope, but I don't think that should really break anything.
2012-10-25 17:01:07 +02:00
Bobby Holley
d6ecaf26fe Bug 797821 - Allow compartment privates to be lazily created when using them just for storing about:memory URIs. r=mrbkap
This will allow us to stop making nsXULPrototypeDocument and nsXBLDocumentInfo
globals XPConnect globals.
2012-10-25 17:01:07 +02:00
Bobby Holley
826ce1e16b Bug 797821 - Stop passing wantXrays directly to CreateGlobalObject. r=mrbkap
This can happen after the fact where it needs to.
2012-10-25 17:01:07 +02:00
Bobby Holley
961bc14d2b Bug 797821 - Loosen the CompartmentPrivate contract so that having one does not imply being in the compartment set. r=mrbkap
The compartment set goes away in later patches anyway. This is to allow us to
create compartment privates for things like XUL prototype document globals
without having to put them in the set and trace expandos and such.
2012-10-25 17:01:07 +02:00
Bobby Holley
3b50be121c Bug 797821 - Simplify the call signature for XPC::CreateGlobalObject. r=mrbkap 2012-10-25 17:01:07 +02:00
Bobby Holley
78e479ed30 Bug 797821 - Remove CreateNewGlobal. r=mrbkap
It doesn't do anything useful at this point.
2012-10-25 17:01:07 +02:00
Bobby Holley
b04ca561e8 Bug 797821 - Remove the dependency of XPCWrappedNativeScope instantiation on XPCCallContext and expose the raw constructor. r=mrbkap 2012-10-25 17:01:07 +02:00
Bobby Holley
39688c3cc6 Bug 801576 - Android bustage fix. r=me 2012-10-24 14:18:39 +02:00
Bobby Holley
add541742c Bug 801576 - Add tests for the same-origin policy. r=mrbkap 2012-10-24 12:04:19 +02:00
Bobby Holley
32af1d27d9 Bug 801576 - Forbid cross-origin access to the History object. r=mrbkap 2012-10-24 12:04:18 +02:00
Ryan VanderMeulen
f514f1397a Merge m-c to inbound. 2012-10-23 22:41:34 -04:00
Ryan VanderMeulen
ce44cdfbd3 Merge the last PGO-green inbound changeset to m-c. 2012-10-23 22:28:33 -04:00
Olli Pettay
b0e3180948 Bug 780770, nsThread::SetMainThreadObserver, r=bz+bholley 2012-10-24 01:26:36 +03:00
Benjamin Peterson
1adbee29f9 Bug 804404 - Set source hook in XPC initialization. r=bz 2012-10-23 18:09:00 -04:00
Chuck Lee
ddac623d6a Bug 780142 - Rewrite MozWifiConnectionInfoEvent. r=smaug 2012-10-22 18:18:26 +08:00
Chuck Lee
a7168749c9 Bug 780142 - Rewrite WifiStatusChangeEvent. r=smaug 2012-10-22 17:17:18 +08:00
Nick Hurley
31985d7fa6 Bug 536324 part 3 - Change consumers of nsIChannel. r=sworkman 2012-10-22 10:51:07 -07:00
Andres Hernandez
e456defc7f Bug 769298 - Avoid logging script errors coming from private windows in the global error console 2012-10-19 15:52:21 -06:00
Boris Zbarsky
2c0d8809e7 Bug 801712 part 2. Switch ImageData to WebIDL bindings. r=peterv 2012-10-22 13:08:52 -04:00
Boris Zbarsky
ad8c0e8444 Bug 801712 part 1. Add the WebIDL binding API to ImageData. r=peterv 2012-10-22 13:08:52 -04:00
Boris Zbarsky
5592281fbe Bug 801723. WebIDL binding objects may not have classinfo even if they're nsISupports. r=peterv 2012-10-22 13:08:51 -04:00
Bobby Holley
dc33cae831 Bug 789224 - Separate certificate principals out from CAPS. r=dveditz
There's no longer any reason why "certificate principals" need to be principals at all.
I tried to rip them out entirely, but it looks like they're still used vestigially at XPI
install time to display author information. But there's no reason that they have to be
porkbarreled into the security-critical objects that we pass around all over the place.
So let's make them their own deal.

I was tempted to call them "certificate holders", but that would involve renaming methods and
cause more compat fuss than necessary.

--HG--
rename : caps/idl/nsISignatureVerifier.idl => security/manager/ssl/public/nsISignatureVerifier.idl
2012-10-22 08:29:56 +02:00
Bobby Holley
9f03d6c96b Bug 789224 - Remove capability manager stuff in nsScriptSecurityManager. r=mrbkap 2012-10-22 08:29:55 +02:00
Peter Van der Beken
9f37e05526 Fix for bug 803872 (Remove remaining references to the dom.new_bindings pref). r=Ms2ger. 2012-10-21 13:06:55 +02:00
Ms2ger
ff1fb0488f Bug 796903 - Part b: Remove classinfo from DOMImplementation; r=bz 2012-10-21 09:38:41 +02:00
Olli Pettay
2e10612fef Bug 802829 - Don't add nsXPCWrappedJS objects to CC graph if they only point to a certainly alive object, r=mccr8 2012-10-20 22:53:25 +03:00
Peter Van der Beken
0fca6b2112 Fix for bug 801083 (Remove old proxy-based list bindings). r=bz. 2012-10-13 14:50:24 +02:00
foudfou
96e3df5cd9 Bug 799537 - Sort xpconnect chrome mochitests in tests/chrome. r=bholley 2012-10-19 23:16:07 +02:00
foudfou
f830f40097 Bug 799537 - Move xpconnect chrome mochitests in tests/mochitest to tests/chrome. r=bholley
--HG--
rename : js/xpconnect/tests/mochitest/test_bug361111.xul => js/xpconnect/tests/chrome/test_bug361111.xul
rename : js/xpconnect/tests/mochitest/test_bug760131.html => js/xpconnect/tests/chrome/test_bug760131.html
2012-10-19 22:44:26 +02:00
Bobby Holley
8f227813bb Bug 793969 - Define an identity transformation at the Xray layer. r=mrbkap 2012-10-19 21:00:48 +02:00
Isaac Aggrey
5d8d5083ea Bug 794510: Part 1 - Build with NO_NSPR_10_SUPPORT by default; r=ehsan,glandium,wtc 2012-10-11 01:00:54 -05:00
Peter Van der Beken
57adeb4354 Fix for bug 773780 (Add API for new DOM bindings for Node). r=bz.
--HG--
extra : rebase_source : 5dd51c4ad5274da9235c8c341b0531f234e95a91
2012-10-09 14:31:24 +02:00
Ryan VanderMeulen
e7c57435cb Bug 798123 - Fix build bustage. r=Waldo
CLOSED TREE
2012-10-18 22:21:38 -04:00
Gabriele Svelto
cc3411e5ab Bug 798123 - Replace the array conversion functions in BluetoothUtils.cpp with those in nsTArrayHelpers.h. r=mrbkap 2012-10-18 15:20:54 +02:00
Benjamin Peterson
632234f58e Bug 803358 - Remove JSOPTION_RELIMIT. r=luke 2012-10-18 21:06:42 -04:00
Josh Matthews
17184e0206 Backed out changeset 12002e126b39 (bug 769298) 2012-10-18 17:27:23 -04:00
Andres Hernandez
5714d9cba9 Bug 769298 - Avoid logging script errors coming from private windows in the global error console 2012-10-18 00:24:56 -06:00
Bobby Holley
18c36e53ac Bug 802968 - Fix racy test behavior. r=me DONTBUILD
--HG--
extra : rebase_source : 631b1d7d8efc625725b9a733c8e065030ff795e1
2012-10-18 14:41:13 +02:00
Bill McCloskey
513173337d Bug 798678 - Weakmap key preservation test (r=mccr8) 2012-10-17 18:22:54 -07:00
Bill McCloskey
e1b97bbdea Bug 798678 - Add weakmap key preservation support to cycle collector (r=mccr8) 2012-10-17 18:22:46 -07:00
Bill McCloskey
0d30c52e22 Bug 798678 - Refactor wrapper preservation for weakmaps (r=mccr8) 2012-10-08 18:22:47 -07:00
Bill McCloskey
760cd44124 Bug 714050 - Add support for optional JS helper threads (r=luke) 2012-10-16 11:57:09 -07:00
Bobby Holley
a0bafb7cc3 Bug 801241 - Properly handle |false| return false from JS_DescribeScriptedCaller. r=bz 2012-10-17 19:44:30 +02:00
Ehsan Akhgari
1a3d718b58 Merge mozilla-central into mozilla-inbound 2012-10-17 13:03:16 -04:00
bzbarsky@mit.edu
696273ce6e Bug 802243 - WrapperCache DOMStringMap, quickstub, r=smaug
--HG--
extra : rebase_source : 3c1bb6ab18692d647461af42e732e5f150ae8500
2012-10-17 04:14:32 +03:00
Bobby Holley
fcedab455b Bug 792280 - Only censor function.caller for non-same-origin calls. r=luke 2012-10-17 17:56:49 +02:00
Justin Lebar
21c38c75e3 Bug 801780 - Part 2: Explicitly call out long strings in about:memory. r=njn 2012-10-17 10:44:31 -04:00
Bobby Holley
2d8eff9c4b Bug 797304 - Replace MoveWrapper nonsense with orphan fixup. r=peterv 2012-10-16 15:07:54 +02:00
Bobby Holley
12bf387728 Bug 797304 - Add special handling for nuked parents in orphan fixup. r=peterv 2012-10-16 15:07:54 +02:00
Bobby Holley
f688764987 Bug 797304 - Be more aggressive when fixing up orphans. r=peterv
To make stronger assumptions, we should dig deeper on the parent chain, and also morph any slim wrappers. This is slightly slower, but not much, since this stuff only gets called for HTML documents, and the parent chains there tend to be short. Moreover, this only gets called during document.open(), where performance doesn't matter so much.
2012-10-16 15:07:54 +02:00
David Zbarsky
6d18b74223 Bug 801803: More nsresult as enum class creates warnings r=me 2012-10-16 00:26:51 -04:00
David Zbarsky
35ce833fdb Backout 368cd30cccda for bustage 2012-10-15 23:52:17 -04:00
David Zbarsky
95cf6682cb Bug 801803: More nsresult as enum class creates warnings r=me 2012-10-15 23:37:34 -04:00
Ehsan Akhgari
ff1b98f157 Bug 801346 - Remove s_VOID_id from dombindings.cpp; r=bholley 2012-10-15 09:05:09 -04:00
Peter Van der Beken
12f507617a Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - fix CC traversal and wrapper preservation. r=bz.
--HG--
rename : dom/tests/mochitest/chrome/file_bug800817.xul => dom/tests/mochitest/chrome/file_bug799299.xul
rename : dom/tests/mochitest/chrome/test_bug800817.xul => dom/tests/mochitest/chrome/test_bug799299.xul
extra : rebase_source : bed68ffa15fe5933994c33fbd94ad2b597b5b1b9
2012-09-26 20:12:15 +02:00
Aryeh Gregor
45b3e80460 Bug 799917 - Make document.characterSet always lowercase; r=bz,f=hsivonen,smontagu 2012-10-14 10:13:19 +02:00
Aryeh Gregor
2f24871362 Bug 799905 - .URL and .compatMode should be defined on Document, not HTMLDocument; r=bz 2012-10-11 14:48:31 +02:00
Andrew Quartey
464807b57d Bug 792581 - part 16: Replace LL_L2UI macro with uint32_t cast. r=ehsan 2012-10-12 13:29:11 -04:00
Justin Lebar
9ed3356569 Bug 798510 - Part 1: Use mincore to correctly calculate js::StackSpace::sizeOfCommitted() on *nix. r=luke,njn
Previously, we assumed all memory was committed, thus vastly overstating the memory used by our stack.
2012-10-12 10:26:06 -04:00
Ed Morley
8fc88262ba Backout 3044539fec87 (bug 799465),2dbcd6d16b43 (bug 798264), f7019f73a5f0 (bug 711628), a484a3a904da, 7154061ddc00 & 7e7fc42021c1 (bug 799465) for burning 2012-10-12 14:45:38 +01:00
Peter Van der Beken
52e6c5623d Fix for bug 799465 (Add complete support for non-nsISupports objects in new DOM bindings) - fix CC traversal and wrapper preservation. r=bz.
--HG--
extra : rebase_source : 42b0e6db4b418901f253d66e7323ba5a7cd83eea
2012-09-26 20:12:15 +02:00
Nicholas Cameron
404ba9b65d Bug 734668; reviewer's changes. r=Ms2ger,roc
--HG--
rename : content/canvas/src/nsCanvasRenderingContext2DAzure.cpp => content/canvas/src/CanvasRenderingContext2D.cpp
extra : rebase_source : 827a45dd8cc2bdc77e850e8b1d1e23e9f2f72f7d
2012-10-12 22:42:53 +13:00
Nicholas Cameron
80df51e492 Bug 734668; remove canvas quickstubs. r=Ms2ger
--HG--
extra : rebase_source : ceefaf29933c58a0605d60a599fddf31b0c1b229
2012-10-12 22:42:53 +13:00
Ehsan Akhgari
1b602e3962 Backout bug 798510 because of xpcshell orange 2012-10-11 20:17:33 -04:00
Trevor Saunders
3d3592cd63 bug 798595 - remove useless prmem.h includes r=ehsan 2012-10-04 02:14:06 -04:00
Justin Lebar
d90a8e1023 Bug 798510 - Part 1: Use mincore to correctly calculate js::StackSpace::sizeOfCommitted() on *nix. r=luke,njn
Previously, we assumed all memory was committed, thus vastly overstating the memory used by our stack.
2012-10-11 18:55:53 -04:00
Bobby Holley
c30bf840f9 Bug 799348 - When creating a new content window, create the surrounding chrome docshell as system. r=bz 2012-10-11 19:44:20 +02:00
Bobby Holley
0403fed8cc Bug 797204 - Remove API. r=mrbkap
\o/
2012-10-10 11:01:26 +02:00
Bobby Holley
220736fd0b Bug 797204 - Consolidate XBL filename hack logic into nsContentUtils. r=mrbkap
These two functions do the exact same thing, as far as I can tell.
2012-10-10 11:01:26 +02:00
Bobby Holley
055fcd4448 Bug 789224 - Remove chrome check in xpc_EvalInSandbox. r=mrbkap
This function is also called to evaluate javascript:// URIs, at which point the chrome caller assumption isn't actually valid. Let's just do the modern thing here, and fix up the caller that breaks.
2012-10-10 11:01:26 +02:00
foudfou
3a23c1b328 Bug 793433 - Fix crash when nsAppShellService::RegisterTopLevelWindow called with invalid arguments. r=bholley
--HG--
extra : rebase_source : 2f3be0e474c727ea5a58177809bf3af1f34477ec
2012-10-09 11:56:58 +02:00
Ehsan Akhgari
7d0ac4e6bc Bug 799432 - Backout changeset 30ab4e1d4874 and changeset dbcc29e9fcf6 from bug 777292 since they're no longer necessary with bug 795238 2012-10-09 16:01:24 -04:00
Benoit Jacob
966189fec7 Bug 779611 - part 9: port WebGLActiveInfo to WebIDL bindings - r=bz 2012-10-09 14:39:49 -04:00
Chris Peterson
4aecbbb60b Bug 799307 - Remove some XPCDebug.cpp cruft that was obsoleted by bug 787856. r=billm 2012-10-08 17:29:47 -07:00
Bobby Holley
ccb9171060 Bug 786142 - Make sure we have a real WN in MoveWrappers. r=peterv 2012-10-09 17:28:13 +02:00
Gabor Krizsanits
741ac104b0 Bug 684601 - window.toString.call() with native JS Object; r=bz 2012-10-09 17:21:53 +02:00
Nicholas Nethercote
b1fb442071 Bug 799019 - Tweak per-compartment memory reporting. r=Ms2ger.
--HG--
extra : rebase_source : 66bab372c7b3a7f4cebfd059b4c64a7562ba1f5d
2012-10-08 15:20:26 -07:00
Nicholas Nethercote
bc8cd01df6 Bug 799000 - Don't double count when memory-reporting for JSObject2WrappedJSMap. r=terrence.
--HG--
extra : rebase_source : 77553d19751c45e050b5945bb0813dd7155dfea6
2012-10-08 15:20:13 -07:00
Hsin-Yi Tsai
81d7a61b89 Bug 783525 - part 1 - idl and DOM impl for ICCCardLockErrorEvent. r=smaug, sr=sicking 2012-10-03 14:29:07 +08:00
Ed Morley
b9d0962f13 Merge mozilla-central to mozilla-inbound 2012-10-06 21:47:07 +01:00
Ed Morley
5abdf356a2 Merge last PGO-green changeset of mozilla-inbound to mozilla-central 2012-10-06 20:30:35 +01:00
Boris Zbarsky
d1d076b1d3 Bug 796410. Make things still work right if we disable Paris list bindings. r=peterv 2012-10-06 12:21:42 -04:00
Boris Zbarsky
a8b8db0ee0 Bug 798011. Deal with JS_ValueToString failing. r=gabor 2012-10-06 12:06:24 -04:00
Ms2ger
c6c8b09903 Bug 795610 - Part g: Introduce custom quickstubs that call the newly introduced WebIDL APIs; r=mounir 2012-10-06 09:20:56 +02:00
Bobby Holley
54d2fc8eec Bug 761695 - Put Proxy and DOM expandos on the expando object, rather than the holder. r=peterv 2012-10-05 18:59:24 +02:00
Bobby Holley
19863fe088 Bug 761695 - Hoist expando-checking (but not expando-creating) operations into common code. r=peterv
We do this for delete_, enumerateNames, and resolveOwnProperty. This doesn't change
existing behavior, because for ProxyXrayTraits and DOMXrayTraits the expando object
will (currently) always be null.
2012-10-05 18:59:24 +02:00
Bobby Holley
b6b60bd403 Bug 761695 - Create XrayTraits::resolveOwnProperty. r=peterv 2012-10-05 18:59:23 +02:00
Bobby Holley
2f074e80e0 Bug 761695 - Reorder checks for expandos and nodePrincipal. r=peterv
Peter and I decided this was ok. We can't hoist expando stuff otherwise.
2012-10-05 18:59:23 +02:00
Bobby Holley
02fbd34534 Bug 761695 - Implement expando traps for ProxyXrayTraits DOMXrayTraits. r=peterv
For new DOM proxies, we could probably use the Xray expando machinery for the
regular expando object as well, and free up one of the reserved slots. That's
more than I want to bite off for the moment, though.

I also decided not to block on bug 760095 and just kick the problem of globals
with new binding down the road a little bit.
2012-10-05 18:59:23 +02:00
Bobby Holley
513593624e Bug 761695 - Move wrapper preservation stuff into a virtual trap. r=peterv
I'm not sure this stuff is correct for non-WN objects. Hopefully that will
come out in review.

Anyway, with this change, the expando infrastructure in XrayTraits is now
fully generic and non-WN-specific. To make things work for other objects,
we now need to implement the virtual traps and hoist the code that calls the
expando machinery out of XPCWrappedNativeXrayTraits.
2012-10-05 18:59:23 +02:00
Bobby Holley
764ba38fdf Bug 761695 - Make expando chain getting/setting a virtual trap. r=peterv 2012-10-05 18:59:23 +02:00
Bobby Holley
522451000d Bug 761695 - Hoist expando infrastructure into XrayTraits. r=peterv
It's still WN-only, now we can move the WN-only bits into virtual traps.

Note that the new-binding reparenting code will need to have a call to
CloneExpandoChain.
2012-10-05 18:59:23 +02:00
Bobby Holley
2b6769e01a Bug 761695 - Hoist Xray identification machinery into XrayWrapper, and use it for trait identification. r=peterv
We don't currently have a good way of selecting the traits used by a given Xray
wrapper. This lets us do that.

Note: We add a call to js::UnwrapObject to GetXrayType while hoisting it. When
it was used only in WrapperFactory, this was unnecessary, because |obj| was
always unwrapped. But for our new purposes, it might not be. Aside from that,
there are no changes to the function.
2012-10-05 18:59:23 +02:00
Bobby Holley
52b466bd70 Bug 761695 - Move Xray expando infrastructure further down in the file. r=peterv
Just cut/paste. No code changes.
2012-10-05 18:59:23 +02:00
Bobby Holley
f025bdc025 Bug 761695 - Unify holder creation and access. r=peterv
With this patch, all holders are created lazily. There are two common accessors,
getHolder() and ensureHolder(). The former returns null if no holder exists, the
latter lazily creates the holder if it doesn't exist. It does this by calling into
a virtual trap on XrayTraits, which lets the appropriate Xray type do its thing.
2012-10-05 18:59:23 +02:00
Bobby Holley
7ca744b818 Bug 761695 - Get the WN directly from the wrapper. r=peterv
All this indirection was getting seriously mucky. This, incidentally, means that
the XPCWN holder no longer needs a reserved slot pointing to the WN.
2012-10-05 18:59:23 +02:00
Bobby Holley
b250c23a43 Bug 761695 - Hoist call and construct traps into Traits, since the current implementations are XPCWN-specific. r=peterv 2012-10-05 18:59:22 +02:00
Bobby Holley
1a61d79fcf Bug 761695 - Rename getInnerObject to getTargetObject. r=peterv
The current name potentially implies that the object returned is an inner
object in the JS sense, which isn't true. Really we just want the thing
we're Xraying to.
2012-10-05 18:59:22 +02:00
Bobby Holley
c701c6c8c9 Bug 761695 - Hoist getInnerObject into XrayTraits. r=peterv
The only special handling here with wrapped natives is to make sure that we
bypass outer windows. But we can do this with js::UnwrapObject.
2012-10-05 18:59:22 +02:00
Bobby Holley
4d248020dd Bug 761695 - Make Xray traits inherit from a common superclass and give them a singleton instance. r=peterv
There's some code that can be shared between different Xray traits, but can't
(yet) be hoisted into XrayWrapper, because it needs to be callable from outside
XrayWrapper where we don't have the appropriate template parameters. Moreover,
this code benefits from virtual function specialization. The use case here is
illuminated in the next patch.

For the moment, we skip converting the bulk of the traits calls to virtual
methods, because they're working just fine.
2012-10-05 18:59:22 +02:00
Bobby Holley
22cdfb3eb3 Bug 761695 - Stop stashing a raw WN pointer in XPCWN Xray holders. r=peterv
We might as well do this dynamically, which simplifies the code. Note that we
could avoid the reserved slot by parenting the holder to the wrapper. But the
JS parent API is deprecated, and we need to move away from it to reserved slots
anyhow. We might as well start here, with the added advantage that parenting
to the global makes us consistent with the other Xray types.
2012-10-05 18:59:22 +02:00
Bobby Holley
612c502d18 Bug 761695 - Simplify XPCWN Xray holder creation. r=peterv
The major semantic change here is that we parent holders directly to their
global. This should be fine.
2012-10-05 18:59:22 +02:00
Bobby Holley
340b28c0bd Bug 761695 - Fix inaccurate commenting. r=peterv
The .wrappedJSObject property only exists when the Xray wrapper subsumes the wrappee.
2012-10-05 18:59:22 +02:00
Benoit Jacob
7c88e5e534 Bug 779611 - reland parts 5-8 - port WebGLTexture, WebGLBuffer, WebGLFramebuffer, WebGLRenderbuffer, WebGLShader, WebGLProgram to WebIDL bindings - r=bz 2012-10-04 16:35:54 -04:00
Benoit Jacob
3c55b8bae9 back out 6f3714945438, 5732dca84958, bfb93cf89612, e697a832c60b for Mac build error 2012-10-04 15:06:31 -04:00
Benoit Jacob
75765490e7 Bug 779611 - part 8 - port WebGLShader and WebGLProgram to WebIDL bindings - r=bz 2012-10-04 14:45:35 -04:00
Benoit Jacob
3c8b827724 Bug 779611 - part 7 - port WebGLFramebuffer and WebGLRenderbuffer to WebIDL bindings - r=bz 2012-10-04 14:45:33 -04:00
Benoit Jacob
5fed8a3b08 Bug 779611 - part 6 - port WebGLBuffer to WebIDL bindings - r=bz 2012-10-04 14:45:32 -04:00
Benoit Jacob
f0b59e1bef Bug 779611 - part 5 - port WebGLTexture to WebIDL bindings - r=bz 2012-10-04 14:45:25 -04:00
Bobby Holley
65fa4e51c8 Bug 797583 - Remove bogus assertion. r=mrbkap 2012-10-04 11:56:51 +02:00
Gabriele Svelto
f3daa82807 Bug 739780 - Switch Telephony.cpp to use nsTArrayHelpers.h implementation of nsTArrayToJSArray. r=khuey, r=mrbkap 2012-09-28 10:43:49 -07:00
Benoit Jacob
3a142c6980 Bug 779611 - part 3 - port WebGL extensions to WebIDL bindings, refactor them - r=bz,jgilbert 2012-10-03 17:13:05 -04:00
Benoit Jacob
9470b7d5d2 Bug 779611 - part 2 - drop old bindings for WebGLUniformLocation - r=bz 2012-10-03 17:13:05 -04:00
Benoit Jacob
8a7f727099 Bug 779611 - part 1 - port WebGLShaderPrecisionFormat to WebIDL bindings - r=bz 2012-10-03 17:13:05 -04:00
Andrew Quartey
106c5d6f24 Bug 792581 - part 5: Replace LL_CMP macro with standard comparison. r=ehsan 2012-10-03 10:13:19 -04:00
Bobby Holley
e86f6f47ba Bug 795275 - Telemetry. r=mrbkap 2012-10-03 11:44:18 +02:00
Bobby Holley
02d3f31738 Bug 795275 - Warn about content access to |Components|. r=mrbkap 2012-10-03 11:44:18 +02:00
Bobby Holley
5fa99bf185 Bug 795275 - Turn Components into a JS value getter for content scopes. r=mrbkap 2012-10-03 11:44:18 +02:00