Commit Graph

72 Commits

Author SHA1 Message Date
Jeff Gilbert
70a22b2878 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Boris Zbarsky
4ed0a9f56b Bug 1463889 part 2. Get rid of GetWindowList. r=qdot
GetFrames() works just as well, and is arguably better named, and it's silly to
have two APIs that do the same thing.
2018-05-24 23:32:19 -04:00
Peter Van der Beken
8206cf758c Bug 1452981 - Use ToJSValue instead of WrapObject if we know we have a nsWrapperCache. r=bz. 2016-12-09 18:02:50 +01:00
Adrian Wielgosik
3c7a24d734 Bug 1170771 - Remove now-empty nsDOMClassInfo. r=bz
MozReview-Commit-ID: 7XsiPD1kTt9
2018-04-05 14:20:44 +02:00
Nika Layzell
d8c117bc28 Bug 1414974 - Part 2: Switch many consumers to nsGlobalWindow{Inner,Outer}, r=smaug
This is a large patch which tries to switch many of the external consumers of
nsGlobalWindow to instead use the new Inner or Outer variants.

MozReview-Commit-ID: 99648Lm46T5
2017-11-09 10:44:47 -05:00
Boris Zbarsky
1b5503bd8a Bug 1354730. Disable named property object (aka global scope polluter) behavior for all Xrays. r=kmag
MozReview-Commit-ID: KmbXFfSzH0N
2017-10-16 10:58:09 -04:00
Jan de Mooij
e4fc7fd7b6 Bug 1360523 - Define number of reserved slots explicitly for each proxy js::Class. r=bz 2017-04-29 14:41:49 +02:00
Andrew McCreight
d3620de16a Bug 1338272 - Require that the return value of MaybeSetPendingException is used. r=bz
Most of the time, the return value of this method should be checked,
because behavior should depend on whether or not an exception is
thrown. However, if it is called immediately after a throw it doesn't
need to be checked because it will always return true. bz said there
is no public API that lets you assume there is an exception because it
would be "too easy to misuse".

MozReview-Commit-ID: CqyicBbcNjW
2017-02-14 16:17:02 -08:00
Boris Zbarsky
15db6baeb8 Bug 1353150. Add a preference that controls whether named properties object properties are exposed on Xrays, with a default of "not exposed in web extension content scripts". r=bholley
MozReview-Commit-ID: E8CqW16uH3M
2017-04-08 13:03:12 -04:00
Boris Zbarsky
2a2bf6092c Bug 1021289 part 4. Implement support for WebIDL deleters over Xrays. r=peterv 2016-11-04 12:41:26 -04:00
Boris Zbarsky
a07c6aece8 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
Oriol
9cdd7a8894 Bug 1271135 - "window[''] warns "Empty string passed to getElementById()." r=jst 2016-05-08 11:18:00 +02:00
Boris Zbarsky
79a0215206 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
Nicholas Nethercote
e5ff97c7e6 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
2e6194a4d7 Bug 1256419. Null-check our nsDOMWindowList before trying to get its length. r=smaug 2016-03-16 12:40:56 -04:00
Boris Zbarsky
be7b24ab18 Bug 1245554. Window's named properties object should not claim to have duplicates of a given property name if it has multiple iframes with that name. r=peterv
The web platform test was pretty buggy in a few ways:

1)  It claimed that "bar" should be non-writable and enumerable.  This
explicitly contradicts the spec:
http://heycam.github.io/webidl/#named-properties-object-getownproperty step 3
substep 8 sets [[Writable]] to true, and
https://html.spec.whatwg.org/multipage/browsers.html#named-access-on-the-window-object
explicitly says these properties are unenumerable.

2)  It claimed that "constructor" should be exposed on the named properties
object.  But the named property visibility algorithm obviously returns false
for that property name, so it should not be exposed.
2016-02-09 17:40:45 -05:00
Kyle Huey
e95edb30a9 Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Tom Schuster
05bbc0341d Bug 1242214 - Rename JSPropertyDescriptor JS::PropertyDescriptor everywhere else. r=smaug 2016-01-28 11:28:04 +01:00
William Chen
feb63c4043 Bug 717722 - Implement WebKitCSSMatrix. r=baku 2016-01-20 14:48:01 -08:00
Boris Zbarsky
fe7c03b29b Bug 1224007 part 2. Make the various ErrorResult::Report* methods private, so consumers all go through MaybeSetPendingException and rename them to more clearly indicate what they're actually doing. r=peterv 2015-11-20 16:29:41 -05:00
Jeff Walden
e30e4c2287 Bug 1052139 - Make more objects on the global prototype chain have immutable [[Prototype]], when we enable enforcement of this requirement. r=bz 2015-10-08 15:07:57 -07:00
Andrew McCreight
28c2afe833 Bug 1197893 - Check the number of arguments for ThrowTypeError() and ThrowRangeError() at compile time. r=peterv 2015-10-05 09:38:14 -07:00
Phil Ringnalda
0e558241ef Back out 2 changesets (bug 1052139) for mochitest-jetpack bustage
Backed out changeset 3dc503961322 (bug 1052139)
Backed out changeset 6f278bc63614 (bug 1052139)
2015-10-02 22:10:24 -07:00
Wes Kocher
b3d2857460 Backed out changeset 821791826960 (bug 1197893) for Nexus build failures CLOSED TREE 2015-10-02 16:17:05 -07:00
Andrew McCreight
ec01c9ea15 Bug 1197893 - Check the number of arguments for ThrowTypeError() and ThrowRangeError() at compile time. r=peterv 2015-10-02 15:09:02 -07:00
Jeff Walden
95acc1b8f6 Bug 1052139 - Make the [[Prototype]] of all objects on the window object's [[Prototype]] chain be immutable, BUT also disable the code that actually respects immutable-prototype handling. When we want to enable this, it'll then be a one-line change. r=bz 2014-11-28 02:58:23 -05:00
Andrew McCreight
e218651f1b Backed out changeset 6fa9cdf4002b for breaking the build. 2015-10-02 10:49:28 -07:00
Andrew McCreight
edd47ecd4c Bug 1197893 - Check the number of arguments for ThrowTypeError() and ThrowRangeError() at compile time. r=peterv 2015-10-02 10:42:08 -07:00
Boris Zbarsky
3bd2be7bba Bug 959992. Go back to not treating properties that the named properties object exposes as enumerable. r=peterv 2015-07-01 14:15:22 -04:00
Andrew McCreight
92010d3e4c Bug 1152551, part 2 - Fix mode lines in dom/. r=jst 2015-05-03 15:32:37 -04:00
Jason Orendorff
f8862424e5 Bug 1142784, part 2 - Change ProxyHandler::defineProperty() to make the desc argument a non-mutable handle. r=Waldo. 2015-02-17 11:58:43 -06:00
Phil Ringnalda
2b0920d57e Backed out 9 changesets (bug 1142775, bug 1139683, bug 1143810, bug 1142761, bug 1142784, bug 1142794, bug 1144819) for widespread bustage
CLOSED TREE

Backed out changeset 7613fc978d36 (bug 1142794)
Backed out changeset e5f0cb31263d (bug 1142784)
Backed out changeset dcd0af73ac84 (bug 1142784)
Backed out changeset 034f9c8e79ee (bug 1142784)
Backed out changeset ce0ee37e3ca9 (bug 1142775)
Backed out changeset 1519b8f2bbba (bug 1142761)
Backed out changeset 26fd55677841 (bug 1139683)
Backed out changeset 7ebc76a450c3 (bug 1144819)
Backed out changeset 92adb459d519 (bug 1143810)
2015-03-22 09:34:25 -07:00
Jason Orendorff
0c2cf8be27 Bug 1142784, part 2 - Change ProxyHandler::defineProperty() to make the desc argument a non-mutable handle. r=Waldo. 2015-02-17 11:58:43 -06:00
Jason Orendorff
20beb2cc48 Bug 1113369, part 5 - [[Delete]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect. 2015-02-04 10:20:04 -06:00
Jason Orendorff
1d3bb8fb3d Bug 1113369, part 3 - [[DefineOwnProperty]] ObjectOpResult support. r=Waldo, r=bz in dom, r=dvander in js/ipc, r=bholley in js/xpconnect.
Add an ObjectOpResult out-param for DefineProperty functions everywhere. We leave a few js::DefineProperty() convenience functions with no *result out-param. These have strict behavior: that is, they automatically check the result and throw if it is false. In bug 1125624 these strict signatures may end up being called DefinePropertyOrThrow, as that is what the spec calls it.
2015-01-30 11:37:07 -06:00
Boris Zbarsky
316d6bea29 Bug 1136925 part 3. Stop passing parents to js::NewProxyObject. r=waldo 2015-02-26 15:58:59 -05:00
Wes Kocher
64ff21e8a1 Backed out 4 changesets (bug 1136925) for potentially busting m-e10s-dt on a CLOSED TREE
Backed out changeset 331761aaae22 (bug 1136925)
Backed out changeset 2faa0e91fe23 (bug 1136925)
Backed out changeset a00f2530c911 (bug 1136925)
Backed out changeset d5e658bc0792 (bug 1136925)
2015-02-26 23:17:34 -08:00
Boris Zbarsky
c3a0cd16a1 Bug 1136925 part 3. Stop passing parents to js::NewProxyObject. r=waldo 2015-02-26 15:58:59 -05:00
Olli Pettay
61015afdcf Bug 1037687, load iframes in shadow DOM, r=wchen 2015-02-24 16:41:43 +02:00
Dhi Aurrahman
7e9effba7e Bug 1125766 - Throw proper error types for TextEncoder(), TextDecoder() and TextDecoder.decode(). r=bz 2015-02-04 18:46:26 +07:00
Jeff Walden
18d8659106 Bug 603201 - Make HasPropertyOnPrototype fallible. r=peterv 2015-01-02 14:02:36 -06:00
Brian Hackett
851423a90a Bug 1073842 - Remove slots/elements from non-native objects, use a new layout for proxies and typed objects, r=luke,billm,efaust,bz,sfink,jandem. 2014-10-17 16:57:52 -07:00
Jason Orendorff
5823a20a9a Bug 1026918, part 1 - Rename BaseProxyHandler::getOwnPropertyNames -> ownPropertyKeys to match the ES6 [[OwnPropertyKeys]] internal method. r=efaust, r=bz.
Also renamed in this patch:

ENUMERATE_IF_DEFINED -> ADD_KEYS_IF_DEFINED
XrayEnumerateAttributesOrMethods -> XrayAttributeOrMethodKeys
XrayEnumerateNativeProperties -> XrayOwnNativePropertyKeys
XrayEnumerateProperties -> XrayOwnPropertyKeys
WrapperOwner::getPropertyNames -> getPropertyKeys

These make sense because JSITER_* flags are involved; the functions in
question are not for finding enumerable properties only.
2014-09-26 15:16:36 -05:00
Peter Van der Beken
487915a1b7 Bug 787070 - Expandos on the xray of DOM prototypes should have effect on xrays of DOM nodes, make Xrays walk the prototype chain when resolving DOM properties. r=bholley.
* * *
Bug 787070 - Expandos on the xray of DOM prototypes should have effect on xrays of DOM nodes, remove obsolete code. r=bholley.
2014-09-15 16:51:40 +02:00
Peter Van der Beken
e0b294bb9a Bug 787070 - Expandos on the xray of DOM prototypes should have effect on xrays of DOM nodes, add resolve and enumerate native property hooks for the Window named properties object. r=bholley. 2014-09-15 16:51:38 +02:00
Peter Van der Beken
44c582ad01 Bug 787070 - Expandos on the xray of DOM prototypes should have effect on xrays of DOM nodes, add a named properties object type to DOMObjectType and how to get the parent prototype object in DOMIfaceAndProtoJSClass. r=bz, r=bholley. 2014-09-09 15:19:10 +02:00
Peter Van der Beken
607b388ff0 Bug 787070 - Expandos on the xray of DOM prototypes should have effect on xrays of DOM nodes, create the named properties object from the binding code. r=bz. 2014-09-05 22:36:36 +02:00
Peter Van der Beken
bf8911de49 Bug 787070 - Expandos on the xray of DOM prototypes should have effect on xrays of DOM nodes, give the WindowNamedPropertiesHandler a DOMIfaceAndProtoJSClass. r=bz. 2014-09-05 22:09:50 +02:00
Boris Zbarsky
2cb5e9c928 Bug 1017424 part 7. Remove code to handle XPConnect window wrappers from WindowNamedPropertiesHandler and XPCJSRuntime. r=peterv 2014-09-05 14:28:45 -04:00
Boris Zbarsky
8ac66c86d8 Bug 1043690 part 2. Change the codegen for DOM proxies to ignore named props when looking up property descriptors on [[Set]]. r=efaust 2014-08-01 23:37:14 -04:00