Commit graph

450 commits

Author SHA1 Message Date
Tom Schuster
55a65363a9 Bug 1299321 - Make DOM/Xray handle string values in JSPropertySpec. r=peterv 2016-09-02 18:39:50 +02:00
Jon Coppeard
d1435a2a8c Bug 1296688 - Add JSCLASS_FOREGROUND_FINALIZE flag r=sfink r=smaug 2016-08-24 14:18:10 +01:00
Tom Schuster
92024846c1 Bug 1114580 - Define getBuiltinClass on Xray. r=peterv 2016-08-18 10:59:36 +02:00
Boris Zbarsky
599897e926 Bug 1291142. Ensure that we don't return gray objects when getting child windows by name or index. r=bholley 2016-08-02 11:06:25 -07:00
Botond Ballo
36779c6cc3 Bug 1289608 - Define XrayWrapper<...>::singleton for all instantiations, instead of defining specializations for specific ones. r=bholley
MozReview-Commit-ID: GecaSstpxRQ

--HG--
extra : rebase_source : 30e95b590a18dee92a588d2cb4e8b44808bbe11a
2016-07-29 16:40:08 -04:00
Boris Zbarsky
55c20fd2a2 Bug 1281276 part 5. Get rid of the LangType argument of the XPCCallContext constructor and the now-dead language type enums. r=bholley 2016-06-23 00:22:29 -04:00
Jeff Walden
56d59777fd Bug 888969 - Make the getPrototypeOf/setPrototypeOf traps scriptable. r=efaust, r=bholley
--HG--
extra : rebase_source : 4a19f3a59e9a5935f8a41f2928b74c0af3947942
2016-02-23 13:42:30 -08:00
Nicholas Nethercote
60dcde7875 Bug 1261723 (part 2) - Separate class ops from js::Class. code=njn,h4writer. r=efaust,bz.
js::Class op are often all null. And when they're not all null, they're often
duplicated among classes. By pulling them out into their own struct, and using a
(possibly null) pointer in js::Class, we can save 114 KiB per process on
64-bit, and half that on 32-bit.
* * *
imported patch separate-ClassOps-2

--HG--
extra : rebase_source : bd751bf247e9491c1966a123dbeffa573657dfb1
2016-04-01 11:00:01 +11:00
Nicholas Nethercote
3e563eab78 Bug 1260984 (part 3) - Separate js::ClassSpec from js::Class. r=jorendorff.
js::ClassSpec is often all null. When it's not all null, it's often duplicated
among classes. By pulling it out into its own struct, and using a (possibly
null) pointer in js::Class, we can save 138 KiB per process on 64-bit, and half
that on 32-bit.

--HG--
extra : rebase_source : 852ac6770ace46958d018107e78c5c44ebd6528a
2016-04-01 10:59:54 +11:00
Till Schneidereit
db904728ee Bug 911216 - Part 7: Implement ES6 Promises in the JavaScript engine. r=efaust
--HG--
extra : rebase_source : 44ac4d767f6b2298acea444675c7177cb8f0d602
2015-11-10 12:34:00 +01:00
Tom Schuster
6961cb0fa4 Bug 1256688 - Continue using getPropertyDescriptor for has in XrayWrapper. r=peterv 2016-03-19 01:30:03 +01:00
Benjamin Bouvier
70202e15a1 Bug 1251308; r=luke
MozReview-Commit-ID: AqsMX4m7Qh9

--HG--
extra : rebase_source : 519aef2cf8c0bb39771d4589069e8fd1a06970c3
2016-03-09 11:20:11 +01:00
Till Schneidereit
dc24ad50e8 Bug 1254968 - Add support for running JS builtins' constructors over Xray wrappers without unwrapping the newTarget. r=bholley,f=bz 2016-02-10 23:09:13 +01:00
Boris Zbarsky
3d39097c61 Bug 1254293. Fix dom::GetArrayIndexFromId to actually follow the spec for large indices (i.e. ones that don't fit in in int32_t). r=peterv 2016-03-08 17:21:40 -05:00
Peter Van der Beken
38d879e09d Bug 1248478 - Remove some obsolete code in XrayWrapper.cpp. r=bholley.
--HG--
extra : rebase_source : 3c4aca4a228811f41aebf5b1f3619ee18346aedc
2016-02-16 19:30:49 +01:00
Boris Zbarsky
5289b5b26f Bug 1243824. Add support for static functions and attributes on JSXrays. r=bholley 2016-02-05 10:41:08 -05:00
Kyle Huey
91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Tom Schuster
4d6aaf2f25 Bug 1242214 - Rename JSPropertyDescriptor JS::PropertyDescriptor everywhere else. r=smaug 2016-01-28 11:28:04 +01:00
Tom Schuster
180499c4ff Bug 1242214 - Rename JSPropertyDescriptor JS::PropertyDescriptor in js. r=sstangl 2016-01-28 11:28:04 +01:00
Tom Schuster
7b7782424a Bug 1242072 - Continue using getPropertyDescriptor for get in XrayWrapper. r=bholley 2016-01-26 19:38:52 +01:00
Luke Wagner
72ea23c63e Bug 1239601 - improve the UniquePtr situation (r=jandem)
--HG--
extra : commitid : JegWAoGsuQ9
extra : rebase_source : 995c1b6ab8e4fd3b83c44741cd84a2d7b0d934d7
2016-01-15 18:26:20 -06:00
Nathan Froyd
c381a6b86c Bug 1218454 - part 2 - don't #include nsContentUtils.h from CallbackObject.h; r=bz
We used to need nsContentUtils.h here for nsCxPusher, but since that got
moved to ScriptSettings.h, we no longer need nsContentUtils.h for
anything.
2015-10-26 12:14:47 -04:00
Jan de Mooij
932f8cece3 Bug 1125423 part 3 - Use IsWindow/IsWindowProxy functions instead of checking for Class hooks. r=bz 2015-11-06 19:03:52 +01:00
Jan de Mooij
fffc37012e Bug 1125423 part 2 - Rename stopAtOuter argument to *Unwrap functions to stopAtWindowProxy. r=bz 2015-11-06 19:03:52 +01:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Bobby Holley
2ae3a1d103 Bug 1198934 - Support special-case WebExtension behavior for TypedArrays. r=billm 2015-10-14 16:57:51 -07:00
Jason Orendorff
deb2270515 Bug 1054756, part 5 - Remove Class::convert.
--HG--
extra : commitid : 6KCxWrCseSZ
extra : rebase_source : 63f3cd6ec1ade43c732ffd9b661fe6f2dca9eb4b
2015-03-20 16:28:59 -05:00
Jason Orendorff
e2eba49587 Bug 1054756, part 4 - Remove BaseProxyHandler::defaultValue. r=jandem.
--HG--
extra : commitid : 6Z8hk7yUjaS
extra : rebase_source : cc5bfa42ce5790b87681f254e15c0ec8c9ced98f
2015-03-20 14:03:24 -05:00
Jason Orendorff
abd42d3ec5 Bug 1054756, part 3 - Implement Symbol.toPrimitive. Replace existing convert hooks with methods. r=jandem.
JSClass::convert is no longer used after this, but to minimize the noise, it will be deleted in a separate patch. However all non-nullptr convert hook implementations must be replaced with [@@toPrimitive] methods in this patch to avoid changing the behavior.

The changes in XrayWrapper.cpp fix a pre-existing bug: when an Xray wrapper tries to emit the "Silently denied access" warning, if id is a symbol, the existing code triggers an error trying to convert it to a string for the warning message. Implementing Symbol.toPrimitive revealed this bug; the fix is straightforward.

--HG--
extra : commitid : B48u39i6pxl
extra : rebase_source : bddefbd7bc131007303a5a00dd9c0bb8fec1b122
2015-03-20 14:02:55 -05:00
Jason Orendorff
cba3fb8913 Bug 1054756, part 1 - Support symbol-keyed properties in JSXrayTraits::resolveOwnProperty(). r=jandem.
--HG--
extra : commitid : Iw7k8V0s8vH
extra : rebase_source : 47344f609f8282df5cfe30ccb89792e3b26e5d3c
2015-07-07 19:22:20 -05:00
Wes Kocher
b19d88b060 Backed out 7 changesets (bug 1206168, bug 1177318, bug 1054756) for hazard build failures CLOSED TREE
Backed out changeset e892727a373a (bug 1206168)
Backed out changeset 6c93d1044b7e (bug 1054756)
Backed out changeset 105433ce195b (bug 1054756)
Backed out changeset 13128a88f2b9 (bug 1054756)
Backed out changeset c250abf4fd17 (bug 1054756)
Backed out changeset fc9fef646a97 (bug 1054756)
Backed out changeset c8897f109a08 (bug 1177318)
2015-09-23 12:31:19 -07:00
Jason Orendorff
54e92d9beb Bug 1054756, part 5 - Remove Class::convert.
--HG--
extra : commitid : KrjkP1flM3c
extra : rebase_source : 8c367e3158528e92ac8ebc51521d32472f1e5bb1
2015-03-20 16:28:59 -05:00
Jason Orendorff
69f5edcebe Bug 1054756, part 4 - Remove BaseProxyHandler::defaultValue. r=jandem.
--HG--
extra : commitid : 2c3wdgbGsGs
extra : rebase_source : d7d00204286b855fc90e19ac85c74f046166b643
2015-03-20 14:03:24 -05:00
Jason Orendorff
81838ba2bd Bug 1054756, part 3 - Implement Symbol.toPrimitive. Replace existing convert hooks with methods. r=jandem.
JSClass::convert is no longer used after this, but to minimize the noise, it will be deleted in a separate patch. However all non-nullptr convert hook implementations must be replaced with [@@toPrimitive] methods in this patch to avoid changing the behavior.

The changes in XrayWrapper.cpp fix a pre-existing bug: when an Xray wrapper tries to emit the "Silently denied access" warning, if id is a symbol, the existing code triggers an error trying to convert it to a string for the warning message. Implementing Symbol.toPrimitive revealed this bug; the fix is straightforward.

--HG--
extra : commitid : Bod43vTkd1o
extra : rebase_source : 0cd6b8e3e7046952631b1b471430c5ab5002c7d8
2015-03-20 14:02:55 -05:00
Jason Orendorff
ec6bc5a0e0 Bug 1054756, part 1 - Support symbol-keyed properties in JSXrayTraits::resolveOwnProperty(). r=jandem.
--HG--
extra : commitid : 8L9zXvmmUaY
extra : rebase_source : 3e472abcd4b4d8860be8a57200b29bb83e11d40e
2015-07-07 19:22:20 -05:00
Tom Schuster
e3fbb8bc43 Bug 603201 - Change GetProperty receiver argument to Value in the browser. r=smaug 2015-09-18 00:14:41 +02:00
Nicholas Nethercote
f1569466ff Bug 1200484 (part 2) - Use JS column numbers in ReportWrapperDenial(). r=mrbkap.
--HG--
extra : rebase_source : 5bb85db84152d38cdf4d6206e0b4d2d5ee95b91b
2015-08-31 21:28:50 -07:00
Kyle Huey
74f03750da Bug 1182316: Part 3 - Add assertions to most other WebIDL entry points, clean up nsIDOMJSWindow cruft. r=peterv 2015-07-16 22:10:35 -07:00
Bobby Holley
e53c744803 Bug 1182409 - Add 'allowWaivers' sandbox option. r=gabor 2015-07-15 11:32:30 -07:00
Birunthan Mohanathas
a8939590de 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
Jan de Mooij
303b210317 Bug 1177892 part 3 - Remove OBJECT_TO_JSVAL. r=evilpie 2015-06-30 21:09:46 -07:00
Jan de Mooij
80aa064383 Bug 1177892 part 2 - Remove PRIVATE_TO_JSVAL. r=evilpie 2015-06-30 11:20:58 -07:00
Ryan VanderMeulen
7483c0563e Backed out changesets ad58c270ce87 and 849151330d60 (bug 1177892) for B2G bustage.
CLOSED TREE
2015-06-30 15:48:11 -04:00
Jan de Mooij
ba71789f3a Bug 1177892 part 2 - Remove PRIVATE_TO_JSVAL. r=evilpie
--HG--
extra : rebase_source : ab95d8c3cea6679b0dce33a9cac6a1c9b0b0871a
2015-06-30 11:20:58 -07:00
Jan de Mooij
976586cb5f Bug 1177825 - Remove JSVAL_* constants. r=evilpie 2015-06-29 18:36:44 -07:00
Bobby Holley
cc43ed1385 Bug 1174971 - Introduce two variants of getOwnPropertyFromTargetIfSafe. r=gabor,r=arai 2015-06-16 09:00:41 -07:00
Tom Schuster
a65f7266fe Bug 1165722 - Replace JS_GetPropertyDescriptor usage in Xray code. r=bholley 2015-06-02 23:27:39 +02:00
Terrence Cole
161a4c26ba Bug 1164602 - Replace js::NullPtr and JS::NullPtr with nullptr_t; r=sfink 2015-05-13 14:07:34 -07:00
Tooru Fujisawa
54cc04881a Bug 861219 - Part 0: Make ClassSpec be able to delegate to another ClassSpec. r=bholley 2015-05-14 13:03:14 +09:00
Carsten "Tomcat" Book
59967ca2ab Backed out changeset 3841e37b0e2f (bug 861219) for JS Crashes on a CLOSED TREE 2015-05-12 12:27:52 +02:00