Commit Graph

539 Commits

Author SHA1 Message Date
Brian Hackett
8033ed29a8 Bug 1324002 - Mark atoms separately in each zone, r=jonco,mccr8,peterv.
--HG--
extra : rebase_source : 53cf4fa94f122a991c2adbd7bae3714de4391bb4
2017-01-30 06:31:47 -07:00
Boris Zbarsky
39d50c2647 Bug 1332713 part 4. Make Promise-returning getters return a rejected Promise on exception instead of throwing. r=qdot 2017-01-27 18:53:37 -05:00
Kris Maglione
729b7a2019 Bug 1273251: Part 3 - Allow CallbackObject to contain a null callable. r=peterv
MozReview-Commit-ID: FCXVHouhG3I

--HG--
extra : rebase_source : f3e9325559d40bcb4017ec2505f435275d4fea7f
2016-11-14 21:25:37 -08:00
Boris Zbarsky
fbf9e7a22b Bug 1330536 part 3. Add a subclass of FastErrorResult that can be used only to throw OOM. r=smaug 2017-01-17 23:52:13 -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
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
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
Tomislav Jurin
348bfffc19 Bug 1296189 - Replace NS_RUNTIMEABORT("some string literal message") with MOZ_CRASH(). r=froydnj 2016-12-02 13:46:53 -08: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
Peter Van der Beken
3f830565b0 Bug 1287912. r=bz
--HG--
extra : rebase_source : 68af5c520e775f3c92cb99d192f73a3300c2a0cf
2016-11-23 16:58:59 -05: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
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
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
8070de70a2 Bug 946906 part 5. Use the codegenned JSClass, if available, when creating Xray expando objects. r=bholley 2016-10-10 18:16:26 -04:00
Tooru Fujisawa
64346ea2e2 Bug 1289050 - Part 11: Use UTF8 variant of JS_ReportErrorNumberVA. r=jwalden 2016-08-14 20:39:30 +09:00
Boris Zbarsky
4d0f8a0705 Bug 1302858. Remove unnecessary JS_WrapValue from dom::MaybeWrapObjectValue. r=peterv 2016-09-20 13:25:05 +01:00
Jan de Mooij
a53986bf29 Bug 1302448 part 1 - Rename CycleCollectedJSRuntime to CycleCollectedJSContext. r=mccr8
--HG--
rename : xpcom/base/CycleCollectedJSRuntime.cpp => xpcom/base/CycleCollectedJSContext.cpp
rename : xpcom/base/CycleCollectedJSRuntime.h => xpcom/base/CycleCollectedJSContext.h
extra : rebase_source : 075214b5057f151520926715b6154e99ae80a0b3
2016-09-14 15:47:32 +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
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
Jan de Mooij
0ad12515f4 Bug 1292892 part 1 - Stop using JSRuntime outside SpiderMonkey. r=bz,terrence,fitzgen,kanru 2016-08-11 14:39:22 +02: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
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
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
Emilio Cobos Álvarez
12929ea07e Bug 1224664 - Assert if an ErrorResult is accessed on a thread different than the one it's created on, r=khuey 2016-07-15 22:35:13 -04:00
Carsten "Tomcat" Book
255d05f484 Backed out changeset 03362dd7616d (bug 1224664) 2016-07-16 10:03:12 +02: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
Emilio Cobos Álvarez
c5ce5bdb84 Bug 1224664 - Assert if an ErrorResult is accessed on a thread different than the one it's created on, r=khuey 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
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
Tom Schuster
4455e57052 Bug 1114580 - Change ESClassValue to an enum class. r=jorendorff 2016-06-30 00:04:56 +02:00
Kyle Huey
2dda6971f7 Bug 1282603: Don't use 'workers': True for *WorkerGlobalScope. r=baku
--HG--
extra : rebase_source : ed96d99034e9236bd1fd4a8287efbd17cf20138e
2016-06-28 10:47:23 -07:00
Jonathan Watt
b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01: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
Nathan Froyd
1578760736 Bug 1272813 - part 3 - try to take advantage of string sharing in JSEventHandler::HandleEvent; r=peterv
The Rebind() call in HandleEvent was attempting to be clever by sharing
string data with the error event's message.  Unfortunately, we
eventually needed to pass the message out to JS, which required copying
the string for JS's purposes.  Fortunately, we can attempt to be even
more clever by noticing whether the error event's message is already
allocated as a string buffer and sharing that, rather than just the raw
data.  In the best case, the string buffer can be shared out to JS and
we avoid some needless copying.
2016-06-01 16:26:59 -04:00
Nathan Froyd
a4f2ce0263 Bug 1272813 - part 2 - factor out a AssignFromStringBuffer method in FakeString; r=peterv
We're shortly going to have multiple ways to assign an nsStringBuffer
into FakeString, so we might as well put the common code somewhere
useful.
2016-06-01 16:26:59 -04:00
Boris Zbarsky
3c3e4fad9c Bug 1272160. Fix XPCWrappedNativeScope::AddSizeOfIncludingThis to not blindly poke at non-DOM globals as if they were DOM globals. r=khuey
I did audit the XPConnect callers of TraceProtoAndIfaceCache and DestroyProtoAndIfaceCache, and they all check JSCLASS_DOM_GLOBAL.
2016-05-13 20:21:40 -04:00
Jeff Muizelaar
1838c2a407 Bug 1272442. Make RootedDictionary, NullableRootedDictionary and SequenceRooter final. r=ehsan
This eliminates a bunch of clang warnings.
2016-05-12 15:01:27 -04: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
Nathan Froyd
5de480bee4 Bug 1264187 - check for a ProtoAndIfaceCache before blindly destroying it; r=bz
We normally create global objects in the DOM bindings via:

  1. Call JS_NewGlobalObject.
  2. Set a private slot to hold a ProtoAndIfaceCache.
  3. Other steps that aren't relevant here.

However, it's possible for step 1 to construct a global inside the JS
engine and then fail to initialize it in some way.  When that happens,
the newly-created object will be subjected to GC and any GC-related
hooks that were passed in to JS_NewGlobalObject.  Which implies that our
tracing and finalization hooks must be prepared to handle an object
that's not fully initialized--i.e. doesn't have a ProtoAndIfaceCache
object allocated for it.  We handled such a case in our trace hook, but
we failed to add the same check for our finalization hook.  Do so.
2016-04-14 11:42:34 -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
Kyle Huey
e0648b2c3a Bug 934889: Use JS_InitStandardClasses everywhere now that it works. r=bz 2016-04-01 11:28:47 -07: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