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

85 Коммитов

Автор SHA1 Сообщение Дата
Bobby Holley 373e284d28 Bug 792036 - Add a SpecialPowers API to provide access to the Components object in various forms. r=mrbkap,ted
Now that window.Components is no longer acccessible to page JS, we need a way
to access it in mochitests. So this patch provides SpecialPowers.Components,
which is the bonafide Components object for the window upon which SpecialPowers
is defined. It also provides SpecialPowers.{Cc,Ci,Cr,Cu}, which are SpecialPowers-wrapped
versions of their respective sub-objects (with the exception of Ci, which is unwrapped).
2012-09-24 14:46:27 +02:00
David Anderson 09854d2b71 Merge from mozilla-central. 2012-09-10 12:16:38 -07:00
Daniel Holbert 1dc8cb22b6 Bug 789382: Change nsIScriptError methods init() and initWithWindowID() to take nsAString, rather than wchar / PRUnichar*. r=bz sr=bsmedberg 2012-09-09 16:29:12 -07:00
David Anderson f4bf6ff039 Merge from mozilla-central. 2012-09-06 18:28:59 -07:00
David Anderson 3b9fed8952 Merge from mozilla-central. 2012-08-22 16:09:24 -07:00
David Anderson a264d0ebc8 Merge from mozilla-central. 2012-08-21 15:59:12 -07:00
David Anderson 58e1815704 Merge from mozilla-central. 2012-08-15 14:22:26 -07:00
David Anderson 5c045998a5 Merge from mozilla-central. 2012-08-13 13:40:42 -07:00
Ehsan Akhgari e368dc9c85 Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
This patch was generated by a script.  Here's the source of the script for
future reference:

function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
       ! -wholename "*security/nss*" \
       ! -wholename "*/.hg*" \
       ! -wholename "obj-ff-dbg*" \
       ! -name nsXPCOMCID.h \
       ! -name prtypes.h \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t

convert PRIntn int
convert PRUintn unsigned

convert PRSize size_t

convert PROffset32 int32_t
convert PROffset64 int64_t

convert PRPtrdiff ptrdiff_t

convert PRFloat64 double
2012-08-22 11:56:38 -04:00
David Anderson f2b01e4cbb Merge from mozilla-central.
--HG--
rename : layout/base/nsFrameTraversal.cpp => layout/base/nsFrameIterator.cpp
rename : layout/base/nsFrameTraversal.h => layout/base/nsFrameIterator.h
rename : browser/modules/WebappsInstaller.jsm => toolkit/webapps/WebappsInstaller.jsm
2012-08-06 12:44:06 -07:00
Kyle Huey 74b7acf005 Bug 781700: Don't hold strong references to databases from the synchronization queue, so that GCing a database will unblock waiting operations. r=bent
--HG--
extra : rebase_source : 2f1b2405ffc91831d33eb91e4b2d61c2b1ac872b
2012-08-10 09:15:02 -07:00
David Anderson 8027cb08c0 Merge from mozilla-central. 2012-07-24 16:32:08 -07:00
David Anderson 07f7d8e680 Merge from mozilla-central. 2012-07-20 12:02:04 -07:00
David Anderson eec7db39f5 Merge from mozilla-central.
--HG--
rename : js/xpconnect/wrappers/CrossOriginWrapper.cpp => js/xpconnect/wrappers/WaiveXrayWrapper.cpp
rename : js/xpconnect/wrappers/CrossOriginWrapper.h => js/xpconnect/wrappers/WaiveXrayWrapper.h
2012-07-18 19:02:32 -07:00
David Anderson 12f86be1b6 Merge from mozilla-central.
--HG--
rename : editor/libeditor/base/DeleteElementTxn.cpp => editor/libeditor/base/DeleteNodeTxn.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicBuffers.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicBuffers.h
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicCanvasLayer.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicColorLayer.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicContainerLayer.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicContainerLayer.h
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicImageLayer.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicLayerManager.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicLayersImpl.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicLayersImpl.h
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicThebesLayer.cpp
rename : gfx/layers/basic/BasicLayers.cpp => gfx/layers/basic/BasicThebesLayer.h
rename : js/src/jsobj.cpp => js/src/builtin/Eval.cpp
2012-07-10 19:45:14 -07:00
Bobby Holley f747c53f93 Bug 773962 - Introduce Cu.recomputeWrappers. r=mrbkap
It's sort of annoying to add this API just for tests, but there's not another
great way to trigger a compartment-wide transplant with Xray waivers
(since setting document.domain doesn't recompute wrappers to/from chrome, and
Xray waivers will stop being accessible to content entirely in bug 742444).
2012-07-23 15:51:18 +02:00
Mike Hommey 70d7c821af Bug 774032 bonus - Use @DEPTH@ and @relativesrcdir@ in Makefile.in. r=ted 2012-08-04 20:26:44 +02:00
Justin Lebar 488861592f Bug 773980 - Add Components.utils.isDeadWrapper. r=bholley
--HG--
rename : js/xpconnect/tests/Makefile.in => js/xpconnect/tests/browser/Makefile.in
2012-07-19 12:39:43 -04:00
Gabor Krizsanits 2e645f31ef Bug 769273 - part3: Cu.nukeSandbox. r=bholley 2012-07-17 17:41:07 +02:00
Aryeh Gregor 4e199a1679 Bug 780618 - Move all error codes to nsError.h; r=ehsan 2012-07-27 17:03:27 +03:00
Bobby Holley 081bc4bb16 Bug 774607 - Remove use of JS_{Is,Make}SystemObject from Gecko. r=bz
We currently set this for system globals and anything whose parent
chain leads to a system global. Maybe this was relevant before, but
with CPG this is just equivalent to asking whether the object is in
a system compartment. And the only place where we _check_ this bit
is immediately after checking for a system compartment, in
WrapperFactory. So AFAICT this can go away entirely.
2012-09-05 11:32:07 -07:00
Kyle Huey 13d799f93d Bug 765936. r=bent,peterv 2012-07-06 10:28:51 -07:00
David Anderson 2e039591ee Merge from mozilla-central.
--HG--
rename : js/xpconnect/src/XPCThreadContext.cpp => js/xpconnect/src/XPCJSContextStack.cpp
2012-06-22 14:26:15 -07:00
David Anderson 99dd2a9400 Merge from mozilla-central.
--HG--
rename : accessible/src/msaa/CAccessibleText.cpp => accessible/src/msaa/ia2AccessibleText.cpp
rename : accessible/src/msaa/CAccessibleText.h => accessible/src/msaa/ia2AccessibleText.h
2012-06-20 17:36:56 -07:00
Fabrice Desré d660f450c5 Bug 766378 - adds a createArrayIn() call to create JS arrays in a given scope [r=mrbkap] 2012-06-19 16:54:46 -07:00
Sean Stangl 169aba0505 Merge m-c onto Ionmonkey.
--HG--
rename : accessible/src/atk/nsAccessibleWrap.cpp => accessible/src/atk/AccessibleWrap.cpp
rename : accessible/src/atk/nsAccessibleWrap.h => accessible/src/atk/AccessibleWrap.h
rename : accessible/src/atk/nsDocAccessibleWrap.h => accessible/src/atk/DocAccessibleWrap.h
rename : accessible/src/base/nsAccessible.cpp => accessible/src/generic/Accessible.cpp
rename : accessible/src/base/nsAccessible.h => accessible/src/generic/Accessible.h
rename : accessible/src/base/nsDocAccessible.cpp => accessible/src/generic/DocAccessible.cpp
rename : accessible/src/base/nsDocAccessible.h => accessible/src/generic/DocAccessible.h
rename : accessible/src/mac/nsAccessibleWrap.h => accessible/src/mac/AccessibleWrap.h
rename : accessible/src/mac/nsAccessibleWrap.mm => accessible/src/mac/AccessibleWrap.mm
rename : accessible/src/mac/nsDocAccessibleWrap.h => accessible/src/mac/DocAccessibleWrap.h
rename : accessible/src/mac/nsDocAccessibleWrap.mm => accessible/src/mac/DocAccessibleWrap.mm
rename : accessible/src/msaa/nsAccessibleWrap.cpp => accessible/src/msaa/AccessibleWrap.cpp
rename : accessible/src/msaa/nsDocAccessibleWrap.cpp => accessible/src/msaa/DocAccessibleWrap.cpp
rename : accessible/src/msaa/nsTextAccessibleWrap.cpp => accessible/src/msaa/TextLeafAccessibleWrap.cpp
rename : accessible/src/msaa/nsTextAccessibleWrap.h => accessible/src/msaa/TextLeafAccessibleWrap.h
rename : netwerk/protocol/http/SpdySession.cpp => netwerk/protocol/http/SpdySession2.cpp
rename : netwerk/protocol/http/SpdySession.h => netwerk/protocol/http/SpdySession2.h
rename : netwerk/protocol/http/SpdySession.cpp => netwerk/protocol/http/SpdySession3.cpp
rename : netwerk/protocol/http/SpdySession.h => netwerk/protocol/http/SpdySession3.h
rename : netwerk/protocol/http/SpdyStream.cpp => netwerk/protocol/http/SpdyStream2.cpp
rename : netwerk/protocol/http/SpdyStream.cpp => netwerk/protocol/http/SpdyStream3.cpp
2012-05-31 17:17:52 -07:00
Bobby Holley 547f3015cc Bug 755255 - Hoist pending exception junk into XPCJSRuntime. r=mrbkap 2012-06-21 16:14:49 +02:00
Gervase Markham 68d38d677f Bug 759095 - upgrade license to MPL 2, and other licensing cleanups.
--HG--
extra : rebase_source : da55a4937383eda2baf7c9a362501da8ee664146
2012-05-29 16:52:43 +01:00
David Anderson edaeadf3ad Merge from mozilla-central. 2012-05-21 14:40:04 -07:00
Gervase Markham 82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
David Anderson 68a2caab6c Merge from mozilla-central. 2012-05-08 17:34:07 -07:00
Ms2ger c1e5ff949e Bug 762436 - Get rid of the nsresult return value for nsIXPCScriptable::GetScriptableFlags(); r=mrbkap 2012-06-17 10:11:16 +02:00
David Anderson b931ba5b9c Enable IonMonkey in the browser, and introduce an about:config option to pref it off (bug 745390, r=dmandelin). 2012-04-19 15:02:47 -07:00
Andrew Paprocki 77fe9cf5f6 Bug 736792 - Add JSOPTION_STRICT_MODE for embedders to force ES5 strict mode for all code without requiring "use strict" annotations. r=njn 2012-05-05 15:26:16 -04:00
Ms2ger a147767a14 Bug 741245 - Remove nsresult return value from nsXPConnect::GetSafeJSContext(); r=bholley 2012-05-05 11:00:05 +02:00
Ms2ger 1d66128fff Bug 741347 - Remove nsIXPConnect::DefineDOMQuickStubs, call DOM_DefineQuickStubs directly instead; r=bholley 2012-04-14 15:05:17 +02:00
Ms2ger 77ca860259 Backing out bf0a78471e5e:dc7022e2d807 for inexplicable windows crashes. 2012-04-14 17:52:34 +02:00
Ms2ger 23617402f0 Bug 741347 - Remove nsIXPConnect::DefineDOMQuickStubs, call DOM_DefineQuickStubs directly instead; r=bholley 2012-04-14 15:05:17 +02:00
Ms2ger 5a2d0a8476 Bug 741245 - Remove nsresult return value from nsXPConnect::GetSafeJSContext(); r=bholley 2012-04-14 15:05:01 +02:00
Bill McCloskey 5ba066f3bb Bug 758034 - Clean up browser GC API (r=smaug) 2012-06-30 14:16:32 -07:00
Bobby Holley 8ac1ba8830 Bug 695292 - Port SimpleTest.executeSoon() to SpecialPowers. r=mrbkap
If we just naively use the thread manager to dispatch the event via SpecialPowers,
we cannot avoid the XPCWrappedJS for the runnable being in chrome scope (even if
we pass a content object, we make the call in chrome scope, so we pass a cross-
compartment wrapper). This means that the machinery in
nsXPCWrappedJSClass::CheckForException ends up calling the error reporter for the
SpecialPowers scope, which isn't what we want.

Messing around with the implementation of CheckForException is playing with fire.
So we work around this with an explicit Cu API. :-(
2012-08-17 15:13:23 -07:00
Phil Ringnalda 9208a5089e Back out e6761635f9cf (bug 695292) for Android mochitest bustage on a CLOSED TREE 2012-08-16 21:35:53 -07:00
Bobby Holley c64c9eb535 Bug 695292 - Port SimpleTest.executeSoon() to SpecialPowers. r=mrbkap
If we just naively use the thread manager to dispatch the event via SpecialPowers,
we cannot avoid the XPCWrappedJS for the runnable being in chrome scope (even if
we pass a content object, we make the call in chrome scope, so we pass a cross-
compartment wrapper). This means that the machinery in
nsXPCWrappedJSClass::CheckForException ends up calling the error reporter for the
SpecialPowers scope, which isn't what we want.

Messing around with the implementation of CheckForException is playing with fire.
So we work around this with an explicit Cu API. :-(
2012-08-16 18:33:27 -07:00
Olli Pettay ba65734702 Bug 773803 - Remove nsIScriptObjectOwner, r=bz
--HG--
rename : dom/base/nsIScriptObjectOwner.h => dom/base/nsIScriptEventHandlerOwner.h
2012-07-14 01:23:59 +03:00
Bobby Holley 79ab421362 Bug 771202 - Add a PostTransplant nsIXPCScriptable hook. r=peterv 2012-07-13 10:55:14 +02:00
Ms2ger 9ae4350b73 Merge m-c to m-i. 2012-04-09 09:32:28 +02:00
Igor Bukanov 20e5c3933b Bug 737364 - part 2 - replace JSContext with JSRuntime in the GC-related API
This part replaces the JSContext *cx argument in most GC-related API
with JSRuntime *rt. When possible, the patch removes the code to obtain
a temporary cx just to run the GC.

The patch also removes JS_DestroyContextMaybeGC. That function is not
used in FF code base and its implementation is broken. It requires that
the context has an entered compartment when it is destroyed, which in
turns implies a missing leave compartment call.
2012-03-28 12:13:30 +02:00
Kyle Huey bcc7b8930d Fix Bug 743376. r=bz 2012-04-06 17:44:50 -07:00
Igor Bukanov 2d04a4fe3d Bug 737365 - stop using the cx during finalization, part 1.
This part changes the signatures for various finalization API to take
not JSContext* but rather either JSFreeOp structure or its
library-private counterpart FreeOp. These structures wrap parameters
that are passed to the finalizers removing most of explicit dependencies
on JSContext in the finalization code.
2012-03-19 15:34:55 +01:00
Igor Bukanov c8154dcd0e 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