Boris Zbarsky
90075801ac
Bug 1323930. Align the handling of Promise return values from callbacks with the current wording of the WebIDL spec. r=bholley
2016-12-16 14:08:40 -05:00
Edgar Chen
881cbd80bd
Bug 1274159 - Part 2-2: Support HTMLConstructor WebIDL extended attribute for custom elements; r=bz,wchen
...
MozReview-Commit-ID: 6egmavfTmFT
2016-11-17 23:31:50 +08:00
Till Schneidereit
95b8398292
Bug 1322920 - Remove DOM Promise implementation. r=bz
...
MozReview-Commit-ID: 1zzd0x2LNNb
2016-12-14 17:11:48 +01:00
Sebastian Hengst
5e1b29b9c0
Backed out changeset f2a5fc3e8c4e (bug 1274159)
2016-12-14 13:27:22 +01:00
Edgar Chen
da0139302c
Bug 1274159 - Part 2-2: Support HTMLConstructor WebIDL extended attribute for custom elements; r=bz,wchen
...
MozReview-Commit-ID: 6egmavfTmFT
--HG--
extra : rebase_source : 07436a4b8dfc1960f0cc24b67b8cc5d1e2ffd5cd
2016-11-17 23:31:50 +08:00
Andi-Bogdan Postelnicu
66a38349d4
Bug 1307142 - correlate MOZ_ASSERT_IF with logic from IsConvertibleToDictionary. r=peterv
...
MozReview-Commit-ID: 9cPblJOOf8U
--HG--
extra : rebase_source : 6b653ab6114624044799d2ac20e824a9c8852ee8
2016-10-03 18:40:36 +03:00
Boris Zbarsky
679c9e41a6
Bug 1321835. Assert that the givenProto argument for binding wrap methods is in the right compartment. r=peterv
2016-12-08 16:41:45 -10:00
Boris Zbarsky
099ef6f007
Bug 1315135. Remove the RegExp (and some Date) special casing from our dictionary conversions and Web IDL overload resolution. r=peterv
2016-11-23 22:57:29 -05:00
Boris Zbarsky
1e3ce6af00
Bug 1316616 part 3. Use the new CallerType-getting API in a few places to demonstrate how it works. r=bholley
2016-11-18 16:13:07 -05:00
Boris Zbarsky
282d7c0569
Bug 1316619. Add a [NeedsCallerType] WebIDL annotation. r=bholley
2016-11-11 16:09:05 -05:00
Andrea Marchesini
8524257019
Bug 1290021 - Implement a prototype version of Houdini "Worklets Level 1" spec - part 2 - WorkletGlobalScope, r=smaug
2016-11-06 09:54:29 +01:00
Boris Zbarsky
1ef30fd1e4
Bug 1021289 another followup. Make sure that we don't leave an uninitialized opresult when deleting things on DOM objects via Xrays. r=bustage and CLOSED TREE
2016-11-04 15:58:32 -04:00
Boris Zbarsky
598f3f4180
Bug 1021289 part 4. Implement support for WebIDL deleters over Xrays. r=peterv
2016-11-04 12:41:26 -04:00
Boris Zbarsky
955f4ccd70
Bug 1021289 part 3. Factor getDeleterBody our of CGDOMJSProxyHandler_delete so we can use it in a new Xray hook too. r=peterv
2016-11-04 12:41:26 -04:00
Boris Zbarsky
d5fd55b992
Bug 1021289 part 2. Remove support for indexed deleters, since they're gone from the spec. r=peterv
2016-11-04 12:41:26 -04:00
Jeff Walden
bc403f8efa
Bug 1306540 - FindEnumStringIndex should follow JSAPI interface conventions. r=bz
...
--HG--
extra : rebase_source : 68b64ef7dc44e52dfdf64c527ab78f8b7ab14d85
2016-09-30 13:11:41 -07:00
Jon Coppeard
529ca3aff2
Bug 1308919 - Fix typo in comments r=bz on a CLOSED TREE
2016-10-14 10:24:56 +01:00
Jon Coppeard
6ca64e3652
Bug 1308919 - Don't make Handles to Heap<T> as it avoids the read barrier r=bz
2016-10-14 09:45:28 +01:00
Boris Zbarsky
e158454b4e
Bug 1309970. Add a way to return frozen arrays to chrome callers with a .contains defined on them, returning the same value as .includes. r=qdot
2016-10-13 22:14:26 -04:00
Boris Zbarsky
4d59f9aa76
Bug 1309239. Fix the codegen for a cached DOM getter to not worry about Xrays if the interface doesn't want Xrays (i.e. is not mainthread-exposed). r=baku
2016-10-11 10:32:37 -04:00
Boris Zbarsky
3f10f5ed57
Bug 1308287 part 1. Change [NeedsSubjectPrincipal] to only do the Maybe thing for interfaces that can be exposed to workers. r=baku
...
The idea is to not make consumers think about whether the principal exists or
not when the caller knows for sure that it does.
The substantive changes are in dom/bindings, nsHTMLDocument::SetDesignMode, and
around the CanUseStorage bits. Everything else is pretty mechanical.
2016-10-10 21:07:48 -04:00
Boris Zbarsky
13514334ba
Bug 946906 part 8. When getting a cacheable property off a DOM Xray, cache it on the Xray's expando object. r=bholley
2016-10-10 18:16:26 -04:00
Boris Zbarsky
fba67a8141
Bug 946906 part 6. Clear the relevant slots on Xray expandos when clearing cached slots on a DOM object. r=bholley
2016-10-10 18:16:26 -04:00
Boris Zbarsky
bb0814b5d3
Bug 946906 part 4. Codegen Xray expando JSClasses for DOM objects with [Cached] or [StoreInSlot] members. r=bholley
2016-10-10 18:16:26 -04:00
Stone Shih
d76caea5e4
Bug 1292063 - Part 1: Add Event.composed. r=smaug
...
--HG--
extra : rebase_source : 105f9cfddb083d48d3da25fa13bf9a3b4c2637f6
2016-08-31 11:16:11 +08:00
Tooru Fujisawa
d7c8c69a03
Bug 1290337 - Part 17: Replace Value parameter to const Value& in dom/bindings. r=smaug
2016-09-11 18:15:24 +09:00
Tooru Fujisawa
e0c7801dc3
Bug 1290337 - Part 13: Replace Value parameter to const Value& in finalizeInBackground. r=sfink
2016-09-11 18:15:23 +09:00
Andrea Marchesini
47e3640d27
Bug 1297393 - Make passing of subject principals to webidl entry points explicit - part 1 - WebIDL [NeedsSubjectPrincipal], r=ehsan, r=peterv
2016-09-29 08:55:19 +02:00
Tooru Fujisawa
6d493d48ec
Bug 1289050 - Part 1: Use ASCII variant of JS_ReportError in simple case. r=jwalden
2016-08-14 20:39:28 +09:00
Andi-Bogdan Postelnicu
0a7e6c2c05
Bug 1302442 - Add ignore-initialization-check annotation to class member variables constructed by Codegen. r=peterv
...
MozReview-Commit-ID: 2vd6EELGSSj
--HG--
extra : rebase_source : 810b61ea983b8a2636130f488c13b1ee61996aef
2016-09-20 15:11:08 +03:00
Boris Zbarsky
87d24a4a1d
Bug 1297304. Fix our named property DOM proxy code to handle deletion correctly when expandos are involved. r=peterv
2016-09-20 13:24:34 +01:00
Boris Zbarsky
f671eef0e3
Bug 1303099. LenientFloat handling should not prevent all arguments being processed; instead it should just cause an early return right after argument processing. r=qdot
2016-09-15 17:10:59 -04:00
Carsten "Tomcat" Book
7c6c7db247
Merge mozilla-central to autoland
2016-09-07 17:26:11 +02:00
Andi-Bogdan Postelnicu
1ccbe1644f
Bug 1301033 - add assert cx on generated code in order to prevent false-positive from static analysis tools. r=baku
...
MozReview-Commit-ID: ELTP8E3zRNf
--HG--
extra : rebase_source : e50e2bbb7414b44a38c4bfbbad976ad65c516394
2016-09-07 15:32:02 +03:00
Boris Zbarsky
40a43f8a00
Bug 1299306 part 2. Call JS_SetImmutablePrototype on Location instances to make their prototype immutable in a more spec-compliant way. r=peterv
2016-09-02 17:55:38 -04:00
Boris Zbarsky
8aef9d0ce9
Bug 1299306 part 1. Refactor the error handling in CGWrapNonWrapperCacheMethod and CGWrapWithCacheMethod to have less duplication. r=peterv
2016-09-02 17:55:38 -04:00
Boris Zbarsky
10a9e4c620
Bug 1297717. Stop using an unforgeable holder for global objects with unforgeable properties, since it's just pure slowdown in that case. r=peterv
2016-09-02 17:55:38 -04:00
Tom Schuster
55a65363a9
Bug 1299321 - Make DOM/Xray handle string values in JSPropertySpec. r=peterv
2016-09-02 18:39:50 +02:00
John Dai
afa50be601
Bug 1294100 - Part 3: Modify Codegen to generate including FakeString's binding files and fix build errors. r=bz
...
--HG--
rename : dom/bindings/BindingUtils.h => dom/bindings/FakeString.h
2016-09-01 18:10:54 +08:00
Boris Zbarsky
37ce88ab1c
Bug 1298410. Remove support for IDL arrays, since those are not a thing anymore. r=peterv
2016-09-01 21:31:23 -04:00
Boris Zbarsky
e8c8715cfb
Bug 1297756
part 2. Allow specifying a default value for a union containing an enum. r=mystor
2016-08-30 12:55:17 -04:00
Michael Layzell
164944c0c0
Bug 1292293 - Part 1: Update the WebIDL Parser to allow default values for ByteString, r=bz
...
--HG--
extra : rebase_source : 8d031a5a34e4bb75a3432e23e625370cbcea0dae
2016-08-05 17:46:54 -04:00
Jon Coppeard
d1435a2a8c
Bug 1296688 - Add JSCLASS_FOREGROUND_FINALIZE flag r=sfink r=smaug
2016-08-24 14:18:10 +01:00
Boris Zbarsky
d7821950f4
Bug 1278583 part 5. Switch DOM code from using hasInstance class hooks to using Symbol.hasInstance. r=peterv
2016-08-03 18:32:07 -07:00
Boris Zbarsky
ba5962ed70
Bug 1278583 part 4. Rip out the now-unused construct hook holder bits in bindings. r=peterv
2016-08-03 18:32:06 -07:00
Boris Zbarsky
ab204ba73e
Bug 1278583 part 3. Make static stuff (static attributes, methods, constants) actually work on globals. r=peterv
2016-08-03 18:32:06 -07:00
Boris Zbarsky
30fb9d7bd3
Bug 1290636. Fix some bugs in the way single-type (value) iterators are hooked up in the Web IDL bindings. r=qdot
...
There were two issues:
1) The keys/entries/values/forEach properties were being added no matater what
the value of the 'unforgeable' boolean was. So we ended up spitting out
unforgeable versions of those, and this confused some Xray cases.
2) The number of args listed for forEach was wrong, which hit assertions in the
JS engine because the same self-hosted function was being instantiated with
different numbers of args from different places.
2016-07-30 01:00:12 -04:00
Boris Zbarsky
8617edc967
Bug 1288791 part 3. Ensure that FindAssociatedGlobal never returns a gray global. r=bkelly
2016-07-27 11:05:36 -04:00
Boris Zbarsky
5b840d9b96
Bug 1288791 part 2. Rename WrapNativeParent to FindAssociatedGlobal and update it to actually do that. r=bkelly
2016-07-27 11:05:36 -04:00
Boris Zbarsky
8e34004cf1
Bug 1288791 part 1. Rename the GetParentObject template bits to make it clearer what they're really doing: finding the associated global for an object's native. r=bkelly
2016-07-27 11:05:36 -04:00
Boris Zbarsky
f65cc2b16c
Bug 1289467 part 4. Make ForwardDeclarationBuilder error out if asked to forward-declare a templated type instead of spitting out nonsense that doesn't compile. r=qdot
2016-07-27 11:05:36 -04:00
Boris Zbarsky
d39f976400
Bug 1289467 part 3. Skip forward-declaring types used by methods/attributes on maplikes/setlikes/iterables that we auto-generate an implementation for. r=qdot
2016-07-27 11:05:36 -04:00
Boris Zbarsky
f9765094cb
Bug 1289467 part 2. Skip example codegen for methods/attributes on maplikes/setlikes/iterables that we auto-generate an implementation for. r=qdot
2016-07-27 11:05:35 -04:00
Boris Zbarsky
25504e4a0d
Bug 1288581 part 1. Start tracing the expando object, if any, inside the ExpandoAndGeneration of a shadowing DOM proxy from that proxy's trace hook. r=smaug
2016-07-22 16:19:52 -04:00
Carsten "Tomcat" Book
a0992595d6
merge mozilla-inbound to mozilla-central a=merge
2016-07-17 10:08:08 +02:00
Boris Zbarsky
de3dccf7da
Bug 933378 part 2. Introduce a FastErrorResult class that bindings can use internally instead of ErrorResult. r=bkelly
2016-07-15 22:35:13 -04:00
Carsten "Tomcat" Book
b2d35d7ca3
Backed out changeset 1c2bd3bdebd6 (bug 933378)
2016-07-16 10:03:10 +02:00
Boris Zbarsky
38d0ae9c0c
Bug 933378 part 2. Introduce a FastErrorResult class that bindings can use internally instead of ErrorResult. r=bkelly
2016-07-15 22:35:13 -04:00
Alexandre Lissy
6798f02654
Bug 1286530 - Clean AvailableIn, CheckAnyPermissions and CheckAllPermissions from WebIDL r=bz,fabrice
...
MozReview-Commit-ID: 6EQfBM09xUE
--HG--
rename : dom/contacts/tests/test_contacts_cache.xul => dom/contacts/tests/test_contacts_a_cache.xul
rename : dom/contacts/tests/test_contacts_shutdown.xul => dom/contacts/tests/test_contacts_a_shutdown.xul
rename : dom/contacts/tests/test_contacts_upgrade.xul => dom/contacts/tests/test_contacts_a_upgrade.xul
rename : dom/mobilemessage/tests/mochitest/mochitest.ini => dom/mobilemessage/tests/mochitest/chrome.ini
extra : rebase_source : 5f708f2a927fafff66626367ef07080785ba9f55
2016-04-21 15:48:59 +02:00
Andrew McCreight
1d1ce1020c
Bug 1283636 - Use CallbackPreserveColor() less. r=bz
...
Some places call CallbackPreserveColor() because they know the object
must have already been marked black. This patch replaces those calls
with a new function CallbackKnownNotGray() which documents and
dynamically checks this assumption.
2016-07-13 13:28:00 +02:00
Boris Zbarsky
efc4dcf284
Bug 1275315 part 2. Use the new Realm getters in binding code. r=peterv
2016-07-09 00:19:52 -04:00
Chris Peterson
43c2748f66
Bug 1277775 - Replace MOZ_CONSTEXPR{_VAR,_TMPL} with constexpr. r=froydnj
2016-07-08 14:39:53 -07:00
Boris Zbarsky
8c00d2132b
Bug 1257037 part 14. Remove the now-unused skipGen bits from binding code. r=khuey
2016-07-08 00:37:55 -04:00
Boris Zbarsky
d959247e48
Bug 1257037 part 13. Get rid of the concept of worker vs non-worker descriptors. r=khuey
2016-07-08 00:37:55 -04:00
Boris Zbarsky
4813a875a7
Bug 1257037 part 12. Simplify CGRegisterWorkerBindings now that there are no more worker descriptors. r=khuey
2016-07-08 00:37:55 -04:00
Boris Zbarsky
f3fde63185
Bug 1257037 part 11. Get rid of getRelevantProviders, since all the places that use it have a Configuration. r=khuey
2016-07-08 00:37:55 -04:00
Boris Zbarsky
584c6019b6
Bug 1257037 part 10. Store only one descriptor per interface name in the configuration. r=khuey
2016-07-08 00:37:54 -04:00
Boris Zbarsky
67d015d59c
Bug 1257037 part 9. Get rid of the concept of mainthread callbacks or worker callbacks; just codegen all the callbacks. r=khuey
2016-07-08 00:37:54 -04:00
Boris Zbarsky
ca29b3c56a
Bug 1257037 part 8. Remove Configuration.getDescriptorProvider. r=khuey
2016-07-08 00:37:54 -04:00
Boris Zbarsky
fc26f41e40
Bug 1257037 part 6. Simplify the toBindingNamespace function now that there are no worker bindings. r=khuey
2016-07-08 00:37:54 -04:00
Boris Zbarsky
e36bd30afb
Bug 1257037 part 5. Remove remaining checks for worker descriptors from Codegen.py. r=khuey
2016-07-08 00:37:54 -04:00
Boris Zbarsky
c65c962762
Bug 1257037 part 4. Remove the worker-only XXX comments from CGWrapGlobalMethod, since we never have worker descriptors for globals anyway. r=khuey
2016-07-08 00:37:54 -04:00
Boris Zbarsky
69caa834f3
Bug 1257037 part 3. Remove filteredSignatures, since it's a no-op unless we're dealing with a worker descriptor. r=khuey
2016-07-08 00:37:54 -04:00
Boris Zbarsky
1dbb14fbc5
Bug 1257037 part 2. Remove isMaybeExposedIn, since it always returns true now. r=khuey
2016-07-08 00:37:53 -04:00
Boris Zbarsky
69f3736864
Bug 1257037 part 1. Remove the worker-descriptor-related complexity in getControllingCondition, since workerDesc.workers never tests true anymore. r=khuey
2016-07-08 00:37:53 -04:00
Boris Zbarsky
4eb82c0b30
Bug 1281071
. Be a bit more careful with our cross-origin-accessible stuff on windows. r=bholley
2016-06-23 19:39:53 -04:00
Boris Zbarsky
0f8a633cfe
Bug 1277401 part 5. Change dictionary codegen to output Func stuff as needed. r=peterv
2016-06-07 10:34:54 -04:00
Boris Zbarsky
7a576733a8
Bug 1277401 part 4. Fix up includes for dictionary members with [Func] on them. r=peterv
2016-06-07 10:34:54 -04:00
Boris Zbarsky
d3289bfcf8
Bug 1277401 part 2. Fix up includes for dictionaries that have [ChromeOnly] members. r=peterv
2016-06-07 10:34:54 -04:00
Boris Zbarsky
df8eeb6742
Bug 1277401 part 1. Factor out the condition list generation for pref/func so we can reuse it for dictionary members. r=peterv
2016-06-07 10:34:53 -04:00
Andrea Marchesini
be787b709b
Bug 989619 - patch 1 - Codegen should allow static methods with a reserved C++ keywords as the name, r=peterv
2016-06-04 09:31:44 +02:00
Cameron McCormack
e3ca5e1f4a
Bug 1141916 - Part 2: Support [ChromeOnly] on dictionary members. r=peterv
2016-06-02 12:14:24 -04:00
Boris Zbarsky
783e8cc098
Bug 1270601 part 3. Add a way to annotate and IDL namespace as needing a new plain object as its prototype, because using Object.prototype as the prototype of 'console' is not web-compatible. r=peterv
2016-06-02 10:34:39 -04:00
Boris Zbarsky
98b4dca6e9
Bug 1270601 part 2. Add codegen support for IDL namespaces. r=peterv
2016-06-02 10:34:39 -04:00
Olli Pettay
b6345324c6
Bug 1276424 - EventListenerWasAdded/Remove doesn't work in JS implemented webidl because of missing 'override', r=bz
...
--HG--
extra : rebase_source : 9bc0109e898b462b500fb40da836c0fb8660b18e
2016-05-31 23:05:55 +03:00
Boris Zbarsky
bfc23d53a8
Bug 1273661 part 3. Add the codegen bits and Trace implementation to allow Web IDL callbacks to not have to HoldJSObjects until the bindings have determined that someone is actually holding on to the callback object. r=smaug,terrence
2016-05-18 12:23:35 -04:00
Boris Zbarsky
61b3aedfa3
Backed out changesets bdb5b50fd858, 74dbcb56456d, 8f319062be85, 9806d7a88802, c08f417d85fd (bug 1273661) for build bustage and CLOSED TREE.
2016-05-19 00:26:24 -04:00
Boris Zbarsky
1a82ba56e3
Bug 1273661 followup. We need different RootedCallback destructors for the OwningNonNull and RefPtr cases, unfortuntately. r=CLOSED TREE
2016-05-18 23:38:23 -04:00
Boris Zbarsky
893059f88a
Bug 1273661 part 3. Add the codegen bits and Trace implementation to allow Web IDL callbacks to not have to HoldJSObjects until the bindings have determined that someone is actually holding on to the callback object. r=smaug,terrence
2016-05-18 12:23:35 -04:00
Jonathan Watt
1f58b22c60
Bug 177957, part 3 - Make the WebIDL code generator support the [SecureContext] extended attribute. r=bz
...
MozReview-Commit-ID: 3O3V4MTgLuR
2016-05-16 10:04:38 +01:00
Xidorn Quan
114633161f
Bug 1268798 part 3 - Add LenientSetter extended attribute. r=khuey
...
MozReview-Commit-ID: 61wybyS36KE
--HG--
extra : source : 98e1ae5fa2ddf5308fba6e09b47cbb831c60ac8a
2016-05-12 10:28:56 +10:00
Peter Van der Beken
5c9bb43e9d
Bug 1267186 - Split lookup of WebIDL DOM class names from lookup of DOMCI DOM class names. r=bz.
...
--HG--
extra : rebase_source : 073ec0857b63df3e2ecef43ef3b982f2e1be2d24
2016-05-09 17:08:31 +02:00
Boris Zbarsky
59de5a530f
Bug 1270349
part 5. Use LegacyUnenumerableNamedProperties instead of passing flags to GetSupportedNames to determine whether named props on DOM proxies should be reflected in ownPropertyKeys. r=peterv
2016-05-09 22:25:40 -04:00
Boris Zbarsky
76180fb5a7
Bug 1270349
part 4. Use LegacyUnenumerableNamedProperties instead of NameIsEnumerable() calls to determine whether named props on DOM proxies should be enumerable. r=peterv
2016-05-09 22:25:40 -04:00
Carsten "Tomcat" Book
98f0a3271a
Backed out changeset d385df62c0e7 (bug 1267186) for hazard failures
2016-05-09 13:40:01 +02:00
Peter Van der Beken
b6c1e074c2
Bug 1267186 - Split lookup of WebIDL DOM class names from lookup of DOMCI DOM class names. r=bz.
...
--HG--
extra : rebase_source : 324cf124544c0ffe2ad2ceccbed397d5069d1435
2016-03-09 15:48:12 +01:00
Sebastian Hengst
faffe478f6
Backed out changeset f9d3ea58c195 (bug 1267186) for static bustage in WebIDLGlobalNameHash.cpp. r=backout
2016-05-06 18:11:03 +02:00
Peter Van der Beken
827ee394ba
Bug 1267186 - Split lookup of WebIDL DOM class names from lookup of DOMCI DOM class names. r=bz.
...
--HG--
extra : rebase_source : 5578057666186f58e434767af84fbfeac0cbdc3c
2016-03-09 15:48:12 +01:00
Boris Zbarsky
049c40b0ef
Bug 1269400. Provide better error messages for the cases when a CallSetup fails and we hence fail to execute a Web IDL callback. r=bholley
2016-05-04 13:59:42 -04:00
Jeff Walden
3017794ba8
Bug 888969 - Permit a cyclic [[Prototype]] chain to be created through a Location object. r=bz, r=efaust
...
--HG--
extra : rebase_source : dca3ecec791ecca5a2512a789c756bb4af1ca895
2016-04-29 19:59:40 -07:00
Boris Zbarsky
2f533f506d
Bug 1265770. Don't try to get a prototype for the interface object for an interface that's [NoInterfaceObject], since it's just unnecessary work that can't even be done at all in some cases (e.g. when the parent interface is also [NoInterfaceObject]). r=peterv
2016-04-20 18:04:56 -04: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
Peter Van der Beken
f781f02ccd
Bug 1245650 - remove JavaScript-navigator-property category support. r=bz.
...
Generate normal properties with getters for things marked as NavigatorProperty,
instead of defining these from a resolve hook.
2016-02-05 20:20:08 +01:00
Nicholas Nethercote
0faa7a06ba
Bug 1261720 (part 2) - Move ClassExtension::isWrappedNative into js::Class::flags. r=jorendorff.
...
This saves 10 KiB of static data on 64-bit, and half that on 32-bit.
--HG--
extra : rebase_source : f0e9c5cdba7f5a71cda046152691de6a5184a223
2016-04-04 08:47:15 +10:00
Nicholas Nethercote
f7dab46ae8
Bug 1261720 (part 1) - Separate js::ClassExtension from js::Class. r=jorendorff,bz.
...
js::ClassExtension 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 17 KiB per process on
64-bit, and half that on 32-bit.
--HG--
extra : rebase_source : eb78ade09ce268e886d091f6cbc38d7e5e912527
2016-04-04 08:45:07 +10:00
Boris Zbarsky
80d8bedf90
Bug 1246153 part 3. Use the new clean global setup for doing from-JSON creation of dictionaries. r=bholley
2016-04-04 12:29:18 -04:00
Boris Zbarsky
190e8db66b
Bug 1246153 part 1. Restrict initialization of dictionaries from JSON to dictionaries that can actually be represented in JSON. r=bholley
2016-04-04 12:16:13 -04:00
Nicholas Nethercote
358a6071d9
Bug 1260653 - Shrink NativeProperties. r=bz.
...
This patch makes NativeProperties variable-length and reduces static data by
110,336 bytes on 64-bit, and half that on 32-bit.
MozReview-Commit-ID: 2etZ5AnEhgO
--HG--
extra : rebase_source : 6a167b64df7da3c6940114782fe08337f04a694d
2016-03-31 09:57:20 +11:00
Nicholas Nethercote
e114b226dc
Bug 1259194 (part 4) - Separate js::ObjectOps from js::Class. r=efaust,mrbkap,bz.
...
js::ObjectOps is often all null. When it's not all null, it's often duplicated
many times among classes. By pulling it out into its own struct, and using a
(possibly null) pointer in js::Class, we can save 208 KiB per process on
64-bit, and half that on 32-bit.
--HG--
extra : rebase_source : 5be8fe45f652392571b8a6d7b63777cbafba6ae4
2016-03-24 07:00:29 +11:00
Boris Zbarsky
4622df74e0
Bug 1104955 part 3. Pass our unscopable names to CreateInterfaceObjects and have it define the right thing on the prototype. r=khuey
2016-03-29 15:50:38 -04:00
Boris Zbarsky
99babb71e8
Bug 1104955 part 2. Make codegen output a list of unscopable names that we can then pass to CreateInterfaceObjects. r=khuey
...
Note that this does not take into account the exposed/enabled state of the
relevant properties. This should be OK, I hope. Taking that state into account
would be rather annoying, unfortunately. We could make codegen fail if
something is conditionally exposed and unscopable, if desired...
2016-03-29 15:49:48 -04:00
Nicholas Nethercote
c01058efe7
Bug 1259194 (part 1) - Add 's' prefixes to some statics generated for dom bindings. r=bz.
...
This makes Class, PrototypeClass and InterfaceObjectClass match existing cases
like sAttributes{,_ids,specs}, sNativeProperties, sNativePropertyHooks.
2016-03-24 06:48:44 +11:00
Jonathan Watt
d274717f72
Bug 1259172 - Fix assertion in Codegen.py's InitUnforgeablePropertiesOnHolder function. r=bz
2016-03-04 16:24:16 +00:00
Nicholas Nethercote
f80479d54a
Bug 1011826 - Split Prefable into two pieces. r=bz.
...
The fields in Prefable relating to disabling are usually all zero. This patch
moves them into a new struct PrefableDisablers. This reduces static data size
by 92 KB, which applies to every process. It might also make isEnabled() faster
because the common case only involves one test instead of two.
--HG--
extra : rebase_source : 004eb8221e23b741c4837dd95af93e437edb4587
2016-03-24 06:09:24 +11:00
Nicholas Nethercote
a299ce6d78
Bug 1258924 - Reorder DOMIfaceAndProtoJSClass fields to reduce padding. r=bz.
...
On 64-bit this reduces sizeof(DOMIfaceAndProtoJSClass) from 336 to 328, saving
20 KiB. On 32-bit it should save half that.
2016-03-24 05:54:38 +11:00
Boris Zbarsky
e3b2de6aa9
Bug 1255817 part 2. Get rid of AutoJSAPI::OwnsErrorReporting and AutoJSAPI::TakeOwnershipOfErrorReporting. r=bholley
2016-03-23 11:44:54 -04:00
Boris Zbarsky
5140ac5aae
Bug 1257725 part 1. Get rid of ThreadsafeAutoJSContext usage in JSEventHandler::HandleEvent. r=smaug
2016-03-23 11:02:57 -04:00
Till Schneidereit
6602beaac6
Bug 1257030 - Add support for supplying preexisting stack instead of capturing one for use as the async parent stack of CallbackObject. r=bz,tromey
2016-03-17 18:07:43 +01:00
Boris Zbarsky
57fc0e989c
Bug 1255709. Simplify the JSContext/GlobalObject handling in ServiceWorkerRegistrationMainThread::GetPushManager a bit. r=bkelly
2016-03-11 16:43:31 -05:00
Kyle Huey
9eea75a6f5
Bug 1252268: If the slow script dialog aborts an interval timer callback, don't schedule it again. r=bz
2016-03-10 01:50:56 -08: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
Boris Zbarsky
4d888c1249
Bug 1250949. Add some better documentation to the dictionary init codegen. r=ehsan
2016-03-02 12:38:24 -05:00
Ehsan Akhgari
afaabe46dc
Bug 1250985 - Part 1: Add a way to identify whether a WebIDL dictionary has any members present; r=bzbarsky
2016-02-25 19:49:06 -05:00
Carsten "Tomcat" Book
839ce412a8
merge fx-team to mozilla-central a=merge
2016-02-23 16:54:50 +01:00
Eddy Bruel
dae2755a45
Bug 1119490 - Expose the URL constructor to WorkerDebuggerGlobalScope;r=khuey
2016-02-22 10:41:09 +01:00
Andrew McCreight
b80e656e9e
Bug 1247679, part 3 - Replace NS_IMPL_CYCLE_COLLECTION_TRACE_JSVAL_MEMBER_CALLBACK with JS_MEMBER. r=smaug
2016-02-22 10:11:02 -08:00
Boris Zbarsky
6f458fb1f3
Bug 1216751 part 4. Implement forEach for iterable interfaces. r=qdot
2016-02-17 22:58:04 -05:00
Boris Zbarsky
ac58157b15
Bug 1216751 part 3. For pair iterators, @@iterator should be an alias for "entries". Similarly for maplikes and "entries" and setlikes and "values". r=qdot
2016-02-17 22:58:02 -05:00
Boris Zbarsky
dcb6669fbd
Bug 1216751 part 2. For value iterators, "entries", "keys", and "values" must just come from Array.prototype. r=qdot
2016-02-17 22:58:00 -05:00
Boris Zbarsky
a7cbbd23ab
Bug 1216751 part 1. Restrict value iterators to interfaces that have indexed properties and pair iterators to interfaces that do not have indexed properties. r=qdot
2016-02-17 22:57:57 -05:00
Boris Zbarsky
7f1e8d6111
Bug 1247346. Slot indices on IDL interface members that get a slot should be per-interface, not a single per-member number. r=peterv
...
This matters when a [Cached] attribute appears on an interface, call it C,
which is a consequential interface for both A and B. There is no a priori
reason that A and B would have identical numbers of their own [Cached]
attributes, which will come before the members of consequential interfaces in
the member array, so in general the attribute may have different slot indices in A
and B.
The approach taken here is to keep things simple and make the slot index of an
interface member either None or a dict mapping interface name to the slot
index. In the common case of only one interface being involved this is a
little wasteful, but it keeps things simple for consumers, and one extra dict
per [Cached] attribute is not a big deal in the grand scheme of the data
structures the Web IDL parser produces. Another option would be to store None,
a number (if there is only one interface involved), or a dict (if there are
several interfaces involved). If we did that, we'd probably want to add some
method to get the slot index for a given interface, because the logic for doing
that would get a bit more complicated.
2016-02-12 21:29:49 -05:00
Boris Zbarsky
98fb58a90f
Bug 1241349 part 5. Start using binding_detail::UnprivilegedJunkScopeOrWorkerGlobal in dictionary ToJSON conversions. r=bholley
2016-02-10 23:31:33 -05:00
Boris Zbarsky
e25e4580b2
Bug 1241349 part 4. Start using binding_detail::UnprivilegedJunkScopeOrWorkerGlobal in maplike/setlike code. r=bholley
2016-02-10 23:31:33 -05:00
Boris Zbarsky
9f63f6adc2
Bug 1241349 part 2. Restrict generation of ToJSON methods on dictionaries to only dictionaries we can safely stringify with JS::ToJSONMaybeSafely. r=bholley
2016-02-10 23:31:33 -05:00
Boris Zbarsky
24566ec012
Bug 1243001 part 7. Stop wrappercaching dom::Promise when SPIDERMONKEY_PROMISE is defined. r=peterv
...
nsWrapperCache expects the object it stores to have an ObjectMoved op that will
notify the wrapper cache when the object is moved. SpiderMonkey promises don't
have a way to do this.
The XPCConvert changes are needed to allow code that passes around Promise
objects as nsISupports to continue working instead of ending up with
double-wrapped nsISupports (XPCWrappedNative for an nsISupports XPCWrappedJS)
around the SpiderMonkey Promise.
2016-02-09 17:40:31 -05:00
Boris Zbarsky
3366af6c39
Bug 1243001 part 5. Get rid of most of the dom::Promise methods when SPIDERMONKEY_PROMISE is defined, and reimplement the rest in terms of SpiderMonkey Promise. r=peterv
...
This is the bulk of the new dom::Promise implementation. It's using the APIs
that bug 911216 part 1 adds.
2016-02-09 17:40:31 -05:00
Boris Zbarsky
7fd3989391
Bug 1243001 part 2. Make Promise an empty [NoInterfaceObject] interface when SPIDERMONKEY_PROMISE is defined. r=peterv
...
The idea is to not define a "Promise" property on the global and not generate
any of the methods, since SpiderMonkey will implement all of those, but to keep
some of the conversion to/from JS logic and the IDL parser validation bits that
we have right now. Once we can assume SPIDERMONKEY_PROMISE we can probably
change how the "Promise" identifier is handled by the IDL parser and how the
resulting type is handled by codegen, but for now we're aiming for minimal
changes.
2016-02-09 17:40:30 -05:00
Birunthan Mohanathas
d7371d07d0
Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj
2016-02-02 17:36:30 +02:00
Phil Ringnalda
d381b4bca6
Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
...
CLOSED TREE
Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
373593275e
Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj
2016-01-31 17:12:12 +02:00
Boris Zbarsky
c7fe6eed14
Bug 1243438. Don't try to include the filename '<unknown>' when including headers for unions that have a built-in typedef they're referenced by. r=peterv
2016-01-29 16:56:04 -05:00
Tom Schuster
4d6aaf2f25
Bug 1242214 - Rename JSPropertyDescriptor JS::PropertyDescriptor everywhere else. r=smaug
2016-01-28 11:28:04 +01:00
Boris Zbarsky
d4db9bedd0
Bug 1242054. Get rid of AbortablePromise, so we can move Promise into SpiderMonkey more easily. r=khuey
2016-01-23 00:37:44 -05:00
Jakob Stoklund Olesen
da78ae7e9b
Bug 1238679 - Put JSJitInfo::depth in anonymous union. r=nbp
...
Add a JSJitInfo::nativeOp field which will be used to identify SIMD operations.
2016-01-20 12:50:06 -08:00
Ehsan Akhgari
a35b970c9e
Bug 1239788 - Don't include non-main-thread assertions in the constructor enabled check for [Exposed=System] WebIDL interfaces; r=bzbarsky
2016-01-14 16:55:50 -05:00
Terrence Cole
fd0fcea703
Bug 1235923 - Part 2: Use new Root tracing APIs in Gecko; r=smaug
2015-12-30 11:31:16 -08:00
Terrence Cole
97c4c6520f
Backout 7621c3ea95cb11e1c376a9f705accc0f90057c0a (bug 1235923) for build bustage on a CLOSED TREE.
...
--HG--
extra : rebase_source : 6c54aa7e1af75c270ab2b6833b56c780c537e297
2016-01-06 12:05:06 -08:00
Terrence Cole
d38e840e6f
Bug 1235923 - Part 2: Use new Root tracing APIs in Gecko; r=smaug
2015-12-30 11:31:16 -08:00
Tooru Fujisawa
88d3b3ecc6
Bug 1180290 - Part 5: Remove getter/setter variant for ThrowInvalidThis message. r=bz
2016-01-06 17:54:00 +09:00
Olli Pettay
5ca565690e
Bug 1120016 - Allocate short lived JS wrappers in the Nursery, r=mccr8,terrence
2015-12-31 15:21:49 +02:00