Commit Graph

1427 Commits

Author SHA1 Message Date
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
Wes Kocher
792ca14825 Backed out changeset 0d55a6e4e98e (bug 1120016) for 980 b2g hazards
--HG--
extra : commitid : 27OIHVsa17S
2015-12-30 16:34:18 -08:00
Olli Pettay
2066f6d7b3 Bug 1120016 - Allocate short lived JS wrappers in the Nursery, r=mccr8,terrence
--HG--
extra : rebase_source : 3d51b7fc9962a93eb6071328db84b5b327225246
2015-12-30 19:16:13 +02:00
Jan de Mooij
1762bca503 Bug 1225396 part 4 - Remove @@iterator workaround in Codegen.py. r=bz 2015-12-09 22:56:17 -05:00
Boris Zbarsky
affdb545dd Bug 1230291. Correctly include nsContentUtils when generating a manual hasInstance with nsIDOM* stuff or when we have a JS-implemented interface with clearable cached attrs 2015-12-04 09:51:04 -05:00
Peter Van der Beken
426b1b699a Bug 1227987: Simplify CGDOMJSClass::define. r=bz.
--HG--
extra : rebase_source : aaf309c651b97ec750c56c2fbdf635529718fa14
2015-11-25 16:31:42 +01:00
Boris Zbarsky
09e35c652a Bug 1048695 part 1. Pass the set of globals where a member should NOT be exposed to MemberCondition. r=peterv 2015-12-01 12:02:33 -05:00
Nathan Froyd
df330eaf5c Bug 1229176 - make check for ChromeOnly interfaces for header inclusion more complete; r=bz
If an interface has a {Chrome,}Constructor(), it doesn't show up as a
normal member.  If the interface has a ChromeConstructor, we need to
include nsContentUtils.h in the generated file for a
ThreadsafeIsCallerChrome check.  There is an existing check for a
descriptor's ChromeOnly-ness in CGBindingRoot; this check is used to
determine whether nsContentUtils.h is included in the generated file.
But the check in descriptorHasChromeOnly doesn't detect this
(ChromeOnly) constructor, and so nsContentUtils.h won't be included if
there are no other ChromeOnly members, or if the interface itself is not
ChromeOnly.

Therefore, we need to take the constructor of the interface (if any)
into account when checking for ChromeOnly-ness.
2015-11-30 20:57:57 -05:00
Boris Zbarsky
8ed93afa4c Bug 1229031. Make sure to not init binding pref var caches on worker threads. r=smaug 2015-11-30 22:04:20 -05:00
Boris Zbarsky
73208ce2f3 Bug 1228707. Add a away to call Web IDL callbacks while ignoring any errors from them, and use it in a few places. r=smaug 2015-11-30 22:04:09 -05:00
Boris Zbarsky
4cb14db1a1 Bug 1170760 part 13. Add subclassing support to Promise::Then/Catch. r=baku,efaust 2015-11-25 15:48:10 -05:00
Boris Zbarsky
bc6a0c8f1c Bug 1170760 part 12. Rip out the promise-resolved-with-promise fast path. r=baku 2015-11-25 15:48:09 -05:00
Boris Zbarsky
0baeed7ed3 Bug 1170760 part 10. Add subclassing support to Promise::Resolve. r=baku,efaust 2015-11-25 15:48:09 -05:00
Boris Zbarsky
c9985b9298 Bug 1170760 part 4. Change Promise::Constructor to run in the Xray compartment when new Promise happens over Xrays. r=peterv 2015-11-25 15:48:08 -05:00
Boris Zbarsky
7229385d25 Bug 1170760 part 3. Add an @@species getter on Promise. r=peterv 2015-11-25 15:48:08 -05:00
Boris Zbarsky
64186b5b76 Bug 1170760 part 2. Pass in the 'this' value to Promise static methods. r=peterv 2015-11-25 15:48:08 -05:00
Phil Ringnalda
53745073f0 Back out 13 changesets (bug 1170760) for Gu bustage in homescreen/test/unit/apps_test.js
CLOSED TREE

Backed out changeset 5d84599a8846 (bug 1170760)
Backed out changeset 6104fe33d5f5 (bug 1170760)
Backed out changeset 1dfb229da01d (bug 1170760)
Backed out changeset f380faddfdd8 (bug 1170760)
Backed out changeset 541831dc6b57 (bug 1170760)
Backed out changeset 6a5b7dfab882 (bug 1170760)
Backed out changeset ee514a256922 (bug 1170760)
Backed out changeset 3c2c1acc34ee (bug 1170760)
Backed out changeset dc2a7f5dc5d6 (bug 1170760)
Backed out changeset b312a08fbab5 (bug 1170760)
Backed out changeset cb6aba9b8497 (bug 1170760)
Backed out changeset 39e4f5b1ba40 (bug 1170760)
Backed out changeset 7d79cce3630a (bug 1170760)
2015-11-25 21:02:55 -08:00
Boris Zbarsky
d71fb767c8 Bug 1170760 part 13. Add subclassing support to Promise::Then/Catch. r=baku,efaust 2015-11-25 15:48:10 -05:00
Boris Zbarsky
f1d0f460ff Bug 1170760 part 12. Rip out the promise-resolved-with-promise fast path. r=baku 2015-11-25 15:48:09 -05:00
Boris Zbarsky
93faa5b1b0 Bug 1170760 part 10. Add subclassing support to Promise::Resolve. r=baku,efaust 2015-11-25 15:48:09 -05:00
Boris Zbarsky
56a0511eb4 Bug 1170760 part 4. Change Promise::Constructor to run in the Xray compartment when new Promise happens over Xrays. r=peterv 2015-11-25 15:48:08 -05:00
Boris Zbarsky
c1ba24a868 Bug 1170760 part 3. Add an @@species getter on Promise. r=peterv 2015-11-25 15:48:08 -05:00
Boris Zbarsky
b4cbee7794 Bug 1170760 part 2. Pass in the 'this' value to Promise static methods. r=peterv 2015-11-25 15:48:08 -05:00
Sunny Sidhu
268b906ced Bug 1225782 - Removes GlobalPropertiesAreOwn(). r=bz 2015-11-20 10:00:00 +01:00
Boris Zbarsky
35f1292e72 Bug 1225603. Codegen ToJSValue overloads for Web IDL enums. r=smaug,jib 2015-11-21 12:15:11 -05:00
Boris Zbarsky
72f8befdf5 Bug 979591. Disallow calling WebIDL constructors as functions even for system callers in release builds. r=peterv 2015-11-20 16:29:41 -05:00
Boris Zbarsky
fb747879e0 Bug 1224007 part 3. Push down WouldReportJSException into MaybeSetPendingException, since anyone calling the latter will propagate the JS exception as needed. r=peterv 2015-11-20 16:29:41 -05:00
Boris Zbarsky
c19412a7ac Bug 1224007 part 1. Rename ThrowMethodFailed to MaybeSetPendingException and make it an ErrorResult instance method. r=peterv 2015-11-20 16:29:40 -05:00
Boris Zbarsky
9533b5464f Bug 1226448. Fix Optional::Construct to do perfect forwarding, and fix the dictionary assignment operator code for members that can have missing values to not try constructing and already constructed member. r=jib 2015-11-20 13:36:45 -05:00
Chris Peterson
155af957a6 Bug 1223265 - Fix -Wunreachable-code and -Wimplicit-fallthrough warnings in dom/bindings and dom/ipc. r=khuey 2015-11-08 21:41:40 -08:00
Boris Zbarsky
7c672a451f Bug 1225392 part 2. WebIDL autogenerated iterators should chain up to %IteratorPrototype%. r=qdot 2015-11-18 18:26:07 -05:00
Kyle Huey
bdbb2ec50a Bug 1224061: Make Event::InitEvent infallible. r=smaug 2015-11-13 08:09:42 +08:00
Olli Pettay
9eb0f0cb58 Bug 1220900 - Remove unused JSBindingFinalized, r=peterv 2015-11-09 18:24:09 +02:00
Jan de Mooij
115d04ec63 Bug 1125423 part 5 - Remove innerObject/outerObject/thisValue Class hooks. r=luke 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
Jon Coppeard
a6103d6c93 Bug 1219183 - Update comments that reference renamed thisObject hook r=shu 2015-10-30 09:50:06 +00:00
Boris Zbarsky
7ae3b58eb6 Bug 1039986. Make Function.prototype.toString work on Web IDL interface objects. r=jorendorff,peterv 2015-10-27 16:25:14 -04:00
Jason Orendorff
0fed3b5351 Bug 1210570 - Ensure that ToPrimitive(location) is not spoofable. r=bz.
--HG--
extra : commitid : 2rz0SkgNFBy
extra : rebase_source : cc7551193fb3a81cb6d7b69535eb152335a6cda4
2015-10-06 10:42:17 -05:00
Jon Coppeard
59be23d316 Bug 930414 - Replace |thisObject| object op with |thisValue| and use if for modules r=shu r=smaug 2015-10-21 10:21:44 +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
Boris Zbarsky
a9549930a2 Bug 1215559. Create separate iterator native types for one-type and two-type iterators, so we don't force the one-type case to implement GetKeyAtIndex. r=qdot 2015-10-16 15:54:51 -04:00
Boris Zbarsky
b9fcc36e5e Back out revision 5985a4717758 (bug 1215559) because the Linux compiler is not happy with the template using bits 2015-10-16 16:16:36 -04:00
Boris Zbarsky
ab96208de8 Bug 1215559. Create separate iterator native types for one-type and two-type iterators, so we don't force the one-type case to implement GetKeyAtIndex. r=qdot 2015-10-16 15:54:51 -04:00
Kyle Machulis
09d9074cb2 Bug 1085293 - WebIDL Iterable Implementation and Tests; r=bz 2015-10-15 12:06:13 -07:00