Граф коммитов

4673 Коммитов

Автор SHA1 Сообщение Дата
Kris Maglione cdd41d5705 Bug 1472491: Part 2a - Split matching logic for content scripts into MozDocumentMatcher base class. r=zombie
MozReview-Commit-ID: JAOWZcB4hZW

--HG--
extra : rebase_source : 35847d616bd2f04f1d82788f76649b8acb5c1090
extra : source : 466c39fc8af5170ea39d19d6d7aa13b8fe5cd838
2018-04-18 14:02:15 -07:00
Boris Zbarsky 4af64d8709 Bug 1479793. Throw when someone tries to define an accessor property with an integer name on a DOM proxy with an indexed setter. r=qdot,jorendorff
Differential Revision: https://phabricator.services.mozilla.com/D2571

--HG--
extra : moz-landing-system : lando
2018-08-10 17:04:58 +00:00
Himanshu Teli aaafbca72c Bug 1462537. Add WebIDL parser tests for the concept of JSON type. r=bzbarsky 2018-08-09 18:41:55 +05:30
Jan de Mooij 2c9cefda61 Bug 1480678 part 11 - Wrap the typed array in the current compartment instead of entering its realm in WriteStructuredCloneImageData. r=bz
This is also better security-wise: if we're writing the structured clone in some compartment that shouldn't have access to the underlying data of the ImageData, we shouldn't be giving that access here.
2018-08-09 10:48:29 +02:00
Neil Deakin 752b1696e5 Bug 1473026, remove the now unused selectionRegion from TreeBoxObject, r=paolo,bz 2018-08-07 09:32:07 -04:00
Olli Pettay b89a51dc36 Bug 1451172, fallback to current global in FindAssociatedGlobal when nsIGlobalObject doesn't have JS object anymore, r=bz
--HG--
extra : rebase_source : f5c520bd4019e6a8b940307355c68135e7e0cb9c
2018-08-08 09:07:47 +03:00
Jan de Mooij 4af62d6c9e Bug 1480678 part 7 - Use CallbackObject's callback global for realm entering in more places. r=bz 2018-08-07 14:06:44 +02:00
Jan de Mooij 5824a03a39 Bug 1478359 - Store a global object in nsXPCWrappedJS and use it for realm-entering. r=mccr8
The problem we're solving here: getting/entering the realm/global of a cross-compartment wrapper doesn't make sense once there are multiple realms in a compartment and the CCW will be shared by all of them. Because nsXPCWrappedJS can store a CCW, we will no longer be able to use this JSObject to enter the target realm.

What this patch does: we pass a JSContext* to nsXPCWrappedJS::GetNewOrUsed and we use this to store a global object in nsXPCWrappedJS (with the invariant that the object and global stored in nsXPCWrappedJS are same-compartment). Then when we want to enter the nsXPCWrappedJS's target realm, we use this global object instead of the maybe-CCW object. Because we currently still have one realm per compartment and the objects are same-compartment, this is guaranteed to preserve behavior for now.

nsXPCWrappedJS has some code to deal with weak pointers. Fortunately this applies only to root wrappers and root wrappers always store an unwrapped JSObject, so the extra global we store is guaranteed to be marked by the GC in that case (a global object is never collected when there are live JSObjects belonging to the same realm).
2018-08-07 11:57:41 +02:00
Brian Hackett 8eb62dd065 Bug 1479058 Part 8 - Store time warp target on nsIScriptError, r=smaug.
--HG--
extra : rebase_source : 1faf5a0c0ead57f5dfb24c7450873977bf41a022
2018-08-02 23:31:29 +00:00
Jan de Mooij e4ef338836 Bug 1480678 part 5 - Use nsScriptErrorWithStack's stack global in ConsoleListener::Observe. r=bz 2018-08-04 15:30:40 +02:00
Jan de Mooij ff502e7cc6 Bug 1480678 part 4 - Use current global as conversion scope in the Xray case when wrapping the return value in generated bindings. r=bz 2018-08-04 15:30:40 +02:00
Boris Zbarsky f771d7e529 Bug 1477923. Make WebIDL callbacks store a global in addition to the object that's used as a callback. r=mccr8
We want to be able to enter the Realm we were in when the callback was created
before calling it, but if the callback stores a cross-compartment wrapper we
don't really have a good way to find that Realm.  So we store it explicitly by
storing a global when the callback is created.

The changes to the constructor signatures to use JSObject* instead of
JS::Handle<JSObject*> are so we can avoid having to root the global for these
calls.  These changes make two of the constructors ambiguous when nullptr is
being passed for the first arg; this patch adds casts to disambiguate.
2018-08-03 17:11:39 -04:00
Narcis Beleuzu 4684ccf98e Merge inbound to mozilla-central. a=merge 2018-08-03 01:28:14 +03:00
Brian Hackett 9c328e6212 Bug 1479644 - Don't clear wrapper cache during finalization when replaying, r=bz.
--HG--
extra : rebase_source : 1669ac527632cb282f7fba4db76572a5c1c166c7
2018-07-31 19:28:39 +00:00
Dave Townsend 0f27a04f08 Bug 1480195: Allow writing custom element definitions for the special XUL elements. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D2430

--HG--
extra : moz-landing-system : lando
2018-08-02 14:49:04 +00:00
Jan de Mooij b79494e142 Bug 1479363 part 2 - Use JSAutoRealm instead of JSAutoRealmAllowCCW in dom/bindings. r=bz 2018-08-02 08:48:50 +02:00
Jan de Mooij 84036b8de4 Bug 1474272 part 4 - Stop using js::GetGlobalForObjectCrossCompartment in xpc::NativeGlobal. r=bholley 2018-08-01 11:25:50 +02:00
Jan de Mooij 47c842b8ff Bug 1474272 part 1 - Remove unused WrappedJSToDictionary. r=bz 2018-08-01 11:25:49 +02:00
Anny Gakhokidze 469c8c4a94 Bug 1461465 - Implement async Clipboard APIs, r=nika,r=enndeakin
MozReview-Commit-ID: 3vCxbaGZtiv
2018-07-31 13:13:02 -04:00
Jan de Mooij 6e34ef61c4 Bug 1478955 part 4 - Use JSAutoRealm in Codegen.py in a few places. r=bz 2018-07-28 12:16:12 +02:00
Jan de Mooij 80adc67aba Bug 1478955 part 1 - Rename JSAutoRealm to JSAutoRealmAllowCCW. r=luke 2018-07-28 12:12:26 +02:00
Boris Zbarsky 057c310979 Bug 1478890. Stop using ToXPCOMCallback in GetUserMedia code. r=jib
We don't want to expose nsXPCWrappedJS to the web, and this code is doing that.
2018-07-28 00:40:26 -04:00
Jeff Gilbert 0e128a3868 Bug 1470985 - s/PodEqual/ArrayEqual/ from ArrayUtils.h. - r=waldo
We can't use memcmp to compare PODs, largely because of undefined
padding. The rest of the Pod* functions are fine though, since we're
replicating or zeroing PODs.

MozReview-Commit-ID: LSspAi8qCWw
2018-07-27 14:11:18 -07:00
Boris Zbarsky 575eb424f0 Bug 1476145 part 1. Add a getter to get the nsIDOMWindowUtils from a window. r=nika
The new attribute is not [Cached] because we would need to bump
JSCLASS_GLOBAL_APPLICATION_SLOTS for that and it's not obvious that we should do
that.
2018-07-24 19:47:40 -04:00
Brian Hackett 52b33afe4e Bug 1207696 Part 7 - Ensure deterministic interaction of GC with CC and object references, r=smaug.
--HG--
extra : rebase_source : 5d9e7ebd1dc242ca648193ed1f27ae91d19006de
2018-07-23 14:46:37 +00:00
Boris Zbarsky 558221f121 Bug 1476136. "JSON type" determination for IDL dictionaries should look at inherited dictionary members too. r=qdot 2018-07-23 16:33:31 -04:00
Brindusan Cristian dcbbf37b84 Backed out changeset 7b42110e827b (bug 1461465) for android mochitest failures on test_ext_async_clipboard.html. CLOSED TREE 2018-07-23 22:11:26 +03:00
Anny Gakhokidze 05520e664b Bug 1461465 - Implement async Clipboard APIs, r=nika,enndeakin
MozReview-Commit-ID: 3vCxbaGZtiv
2018-07-23 13:41:07 -04:00
Cosmin Sabou 3144e04a98 Backed out changeset 86bce8df5152 (bug 1461465) for build bustages on dom/Clipboard.h. CLOSED TREE 2018-07-23 19:16:37 +03:00
Anny Gakhokidze 2e0358b999 Bug 1461465 - Part 1: Implement async Clipboard APIs, r=nika,enndeakin
MozReview-Commit-ID: 3vCxbaGZtiv
2018-07-23 11:59:13 -04:00
Jan de Mooij 30d5135f62 Bug 1475559 part 6 - Add principals argument to SavedFrame APIs and do frame filtering based on it. r=bz
This removes AutoMaybeEnterFrameRealm. Most places pass cx->realm->principals: it preserves behavior when the (possibly wrapped) SavedFrame and cx are same-compartment. The main exception is the JSStackFrame DOM bindings code where we have to be a bit smarter about which principals to use.
2018-07-21 14:34:58 +02:00
Jan de Mooij 8c93c6e9e8 Bug 1475559 part 5 - Pass a global object to nsScriptErrorWithStack. r=bz
The stack object might be a CCW and we want to make it impossible to get a CCW's global. Now the caller has to supply a same-compartment global object, so we no longer rely on getting the CCW's global.
2018-07-21 14:34:37 +02:00
Jan de Mooij 3536a9cbcb Bug 1475559 part 3 - Add JS::IsUnwrappedSavedFrame and assert this in JSStackFrame's constructor. r=bz 2018-07-21 14:33:22 +02:00
Kris Maglione 72ae1375d1 Bug 1472342: Part 1 - Properly support iterator getters which need JSContexts. r=bz
The IterableIterator helper currently only supports iterator methods which
return types which are supported by ToJSValue, but do not need a JSContext* to
construct them. That means that getters which need to return native JS objects
or values can't do so safely, or without resorting to hacks.

This patch adds templated helpers which will call a JSContext-accepting,
JS::Value-returning version of the getter methods if they exist, and fall back
to the simpler versions if they don't.

MozReview-Commit-ID: hedZOc3lqR

--HG--
extra : rebase_source : b92cdc3900b3c9bee41836af4d4b9f4e65f3d5f6
2018-07-18 13:09:04 -07:00
Andrea Marchesini a053cf1c15 Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
Csoregi Natalia b220f0c0d3 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-07-14 12:45:25 +03:00
Andi-Bogdan Postelnicu 6ab86028d3 Bug 1475515 - Remove member initialization for union Extra::mMessage. r=bz
MozReview-Commit-ID: GgJyXg5KxQm

--HG--
extra : rebase_source : 4a0e0137c1545b96aab9c436c42274db1c393a0a
2018-07-13 14:39:12 +03:00
Margareta Eliza Balazs 448f792f96 Merge inbound to mozilla-central. a=merge 2018-07-13 11:52:00 +03:00
Andreea Pavel 10f6df7c1f Merge mozilla-central to autoland. a=merge on a CLOSED TREE
--HG--
rename : dom/webidl/ScrollBoxObject.webidl => dom/chrome-webidl/XULScrollElement.webidl
rename : layout/xul/ScrollBoxObject.cpp => dom/xul/XULScrollElement.cpp
rename : layout/xul/ScrollBoxObject.h => dom/xul/XULScrollElement.h
2018-07-13 00:53:43 +03:00
Emma Malysz ce8c74748f Bug 1454358, removes unneccessary implementation of ScrollBoxObject rr?enndeakin+6102 r=bz,enndeakin+6102
MozReview-Commit-ID: LBQ0RoS0ZVc

--HG--
rename : dom/webidl/ScrollBoxObject.webidl => dom/chrome-webidl/XULScrollElement.webidl
rename : layout/xul/ScrollBoxObject.cpp => dom/xul/XULScrollElement.cpp
rename : layout/xul/ScrollBoxObject.h => dom/xul/XULScrollElement.h
extra : rebase_source : 6a0de76dfdacbc29d261a4aea703a44f87ad7e12
2018-06-25 10:11:31 -07:00
Kris Maglione 8316d5a0c0 Bug 1463587: Part 3 - Add bindings for SharedMap, and expose it via process message managers. r=erahm,baku,bz
This is the first basic implementation of a shared-memory key-value store for
JS message managers. It has one read-write endpoint in the parent process, and
separate read-only endpoints for each child-process message manager.

Changes to the parent endpoint are broadcast to the children as snapshots.
Each snapshot triggers a "change" event with a list of changed keys.

It currently has the following limitations:

- It only supports basic structured clone data. There's no support for blobs,
  input streams, message ports... Blob support will be added in a follow-up
  patch.

- Changes are currently only broadcast to child endpoints when flush() is
  explicitly called in the parent, or when new child processes are launched.
  In a follow-up, this will be changed to automatically flush after changes
  when the event loop is idle.

- All set operations clone their inputs synchronously, which means that
  there's no trivial way for callers to batch multiple changes to a single key
  without some additional effort. It might be useful to add a
  delayed-serialization option to the .set() call in a follow-up, for callers
  who are sure they know what they're doing.

MozReview-Commit-ID: IM8a3UgejXU

--HG--
extra : rebase_source : 66c92d538a5485349bc789028fdc3a6806bc5d5a
extra : source : 2ebaf5f8c6055b11b11d7ec334d54ee941115d48
2018-06-29 14:55:27 -07:00
Boris Zbarsky c360173249 Bug 1475065 part 12. Stop using nsIDOMOfflineResourceList in bindings. r=nika 2018-07-13 15:42:07 -07:00
Bogdan Tara 6dbc2726d8 Backed out changeset b099e7e0b264 (bug 1454358) for build bustages on Element.h CLOSED TREE
--HG--
rename : dom/chrome-webidl/XULScrollElement.webidl => dom/webidl/ScrollBoxObject.webidl
rename : dom/xul/XULScrollElement.cpp => layout/xul/ScrollBoxObject.cpp
rename : dom/xul/XULScrollElement.h => layout/xul/ScrollBoxObject.h
2018-07-12 01:50:53 +03:00
Emma Malysz c28a132d13 Bug 1454358, removes unneccessary implementation of ScrollBoxObject rr?enndeakin+6102 r=bz,enndeakin+6102
MozReview-Commit-ID: LBQ0RoS0ZVc

--HG--
rename : dom/webidl/ScrollBoxObject.webidl => dom/chrome-webidl/XULScrollElement.webidl
rename : layout/xul/ScrollBoxObject.cpp => dom/xul/XULScrollElement.cpp
rename : layout/xul/ScrollBoxObject.h => dom/xul/XULScrollElement.h
extra : rebase_source : ad00e7030e50229975b0bc0d3c622af4fe244a79
2018-06-25 10:11:31 -07:00
Boris Zbarsky 8f7c90d6be Bug 1473149. Add an external string variant that keeps a DynamicAtom alive. r=njn,rwood
The change to call AsStatic() in SetKnownLiveAtom is drive-by performance cleanup.
2018-07-10 11:21:42 -07:00
Andi-Bogdan Postelnicu 88cc63910d Bug 1453795 - DOM - Initialize member fields in classes/ structures. r=peterv
--HG--
extra : rebase_source : 249fc26e50bded4e94f5effa4308af0f1e54b908
2018-06-16 17:21:46 +03:00
Jan de Mooij d11d85a23c Bug 1472973 part 13 - Use JS::GetNonCCWObjectGlobal in BindingUtils. r=bz 2018-07-12 12:14:38 +02:00
Margareta Eliza Balazs 7b416abaf1 Backed out 10 changesets (bug 1470783, bug 1463587) for causing multiple leakcheck failures on a CLOSED TREE
Backed out changeset cd2080bd727a (bug 1463587)
Backed out changeset 5866137afd9a (bug 1463587)
Backed out changeset d64e1c150db2 (bug 1463587)
Backed out changeset 669f084e8914 (bug 1463587)
Backed out changeset 8074c985095c (bug 1470783)
Backed out changeset 49ed13196e9f (bug 1463587)
Backed out changeset c052042a66cf (bug 1463587)
Backed out changeset cebf1f055d1d (bug 1463587)
Backed out changeset 2ebaf5f8c605 (bug 1463587)
Backed out changeset c27295337b4c (bug 1463587)
2018-07-12 11:27:45 +03:00
Kris Maglione 47c200749a Bug 1463587: Part 3 - Add bindings for SharedMap, and expose it via process message managers. r=erahm,baku,bz
This is the first basic implementation of a shared-memory key-value store for
JS message managers. It has one read-write endpoint in the parent process, and
separate read-only endpoints for each child-process message manager.

Changes to the parent endpoint are broadcast to the children as snapshots.
Each snapshot triggers a "change" event with a list of changed keys.

It currently has the following limitations:

- It only supports basic structured clone data. There's no support for blobs,
  input streams, message ports... Blob support will be added in a follow-up
  patch.

- Changes are currently only broadcast to child endpoints when flush() is
  explicitly called in the parent, or when new child processes are launched.
  In a follow-up, this will be changed to automatically flush after changes
  when the event loop is idle.

- All set operations clone their inputs synchronously, which means that
  there's no trivial way for callers to batch multiple changes to a single key
  without some additional effort. It might be useful to add a
  delayed-serialization option to the .set() call in a follow-up, for callers
  who are sure they know what they're doing.

MozReview-Commit-ID: IM8a3UgejXU

--HG--
extra : rebase_source : 8e8b7891ca48e61b2d6ba3c05912064a909d9698
2018-06-29 14:55:27 -07:00
Boris Zbarsky c4723dda1b Bug 1473492 part 3. Make the getThisObj argument of CGAbstractBindingMethod required. r=mccr8 2018-07-06 11:43:12 -07:00
Boris Zbarsky 56cf508c19 Bug 1473492 part 2. Disallow [Cached] on JS-implemented interfaces. r=mccr8 2018-07-06 11:43:12 -07:00
Boris Zbarsky ba8705c5c6 Bug 1473492 part 1. Remove support for clearing cached attributes on JS-implemented webidl object. r=mccr8
This more or less backs out bug 963382.
2018-07-06 11:43:12 -07:00
Jan de Mooij 81ec9d746f Bug 1472973 part 4 - Use JS::GetNonCCWObjectGlobal in PrefableDisablers::isEnabled. r=bz 2018-07-06 18:16:23 +02:00
Jan de Mooij 09149a5c4a Bug 1472973 part 3 - Remove some GetGlobalForObjectCrossCompartment calls on globals/WindowProxy. r=bz 2018-07-06 18:16:23 +02:00
Jan de Mooij a51f9bdda9 Bug 1472973 part 2 - Use JS::GetNonCCWObjectGlobal in some functions where we unwrapped the object. r=bz 2018-07-06 18:16:23 +02:00
Jan de Mooij 423f3c1384 Bug 1472973 part 1 - Use JS::GetNonCCWObjectGlobal in Codegen.py. r=bz 2018-07-06 18:16:23 +02:00
Neil Deakin f08f9ce4af Bug 1437638, move frame, browser and editor to be based on XULFrameElement, a new subclass of XULElement, r=paolo,bz 2018-07-05 20:14:18 -04:00
Jeff Gilbert a574f2ae1f Bug 1469376 - Initial stubs for WebGPU sketch API. - r=kvark,qdot
MozReview-Commit-ID: 3MZLQDNpHBk

--HG--
extra : rebase_source : 4495aae52f283286ecafcc3217811d306097b9b6
2018-06-13 10:43:48 -07:00
Jean-Yves Avenard 24fc82476b Bug 1409664 - P4. Provide basic MediaCapabilities support. r=bryce
Summary:
The information returned is identical to
1- canPlayType() for file
2- MediaSource.isTypeSupported for media-source
3- MediaRecorder.isTypeRecorder() for recordings.

Depends on D1616

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1617
2018-07-03 11:45:16 -07:00
Jean-Yves Avenard 83a8e7725c Bug 1409664 - P1. Add MediaCapabilities skeleton IDL. r=bz
Summary:
As per https://wicg.github.io/media-capabilities/#idl-index

Placed behind user pref media.mediacapabilities.enabled that is disabled by default

Tags: #secure-revision

Bug #: 1409664

Differential Revision: https://phabricator.services.mozilla.com/D1613
2018-07-03 11:45:15 -07:00
Arnaud Bienner e89bd4b6e5 Bug 1470856 - Add AudioWorklet definition. r=baku,karlt
MozReview-Commit-ID: 39eqjisGNTE

--HG--
extra : rebase_source : 97c18e1125c490f3e9aa3b9d5c864f99da6fd265
2018-06-27 11:31:02 +02:00
Arnaud Bienner bd000427cf Bug 1466182 - Add AudioWorkletProcessor definitions. r=baku,karlt
MozReview-Commit-ID: 1KKrUqRY2qf

--HG--
extra : rebase_source : c287e1c4952f0f9a28dd39879d35bf37d6ce50d2
2018-06-24 20:02:47 +02:00
André Bargull 781fc92292 Bug 1471900: Change return type of JS_EncodeStringToBuffer to bool. r=jandem 2018-06-28 07:35:20 -07:00
Andrew Halberstadt 9435736ade Bug 1471620 - Skip python-tests locally that don't run with python 3 in CI r=davehunt
This will make sure that when running |mach python-test --python 3| locally,
we only run the tests that also run in CI with python 3 (and therefore pass
presumably).

MozReview-Commit-ID: 3OBr9yLSlSq

--HG--
extra : rebase_source : 456340d0ecdddf1078f2b5b4ebb1eddf3813b26a
2018-06-27 11:10:02 -04:00
Ben Kelly 818897b5a1 Bug 1471303 Fix CopyableErrorResult::operator==() to actually compile with ipdl types. r=bz 2018-06-27 06:51:24 -07:00
Dorel Luca f51c4fa5d9 Merge mozilla-inbound to mozilla-central. a=merge 2018-06-27 13:26:49 +03:00
Xidorn Quan d1caa962ed Bug 1471114 part 1 - Move CSSPropFlags prefix generation into GenerateServoCSSPropList.py. r=emilio
MozReview-Commit-ID: E5dl9V2B2dq

--HG--
extra : source : 6e2448ce3f4d9965749298a575795dfab926b9cb
2018-06-27 15:34:29 +10:00
Jean-Yves Avenard f6a7d4ea1a Bug 1471214 - Ensure that DictionaryBase copy constructor is called. r=bzbarsky
Such that a call to dictionary.IsAnyMemberPresent() will return the correct value.

Differential Revision: https://phabricator.services.mozilla.com/D1829
2018-06-26 21:56:45 +00:00
Jeff Gilbert 5b753da289 Bug 1470325 - s/FooBinding/Foo_Binding/g - r=qdot
MozReview-Commit-ID: JtTcLL5OPF0
2018-06-26 17:05:01 -07:00
Jeff Gilbert 15f1932c0f Bug 1470325 - Update Codegen.py to emit Foo_Binding instead of FooBinding. - r=bz,qdot
MozReview-Commit-ID: CFIQpIRsXIU
2018-06-26 17:05:01 -07:00
Nicholas Nethercote 60b1f563cb Bug 1447951 - Store nsDynamicAtom's chars after the end of the object. r=froydnj
This reduces memory usage because we only need one allocation instead of two
for the dynamic atom and its chars, and because we don't need to store a
refcount and a size. It precludes sharing of chars between dynamic atoms, but
we weren't benefiting much from that anyway.

This reduces per-process memory usage by up to several hundred KiB on my
Linux64 box.

One consequence of this change is that we need to allocate + copy in
DOMString::SetKnownLiveAtom(), which could make some things slower.

--HG--
extra : rebase_source : ba4065ea31e509dd985c003614199f73def0596c
2018-06-22 09:38:42 +10:00
Robin Templeton 1267288171 bug 1441098 - Part 4: Enable BigInt wrapping from DOM bindings. r=bz 2018-06-20 19:11:00 +03:00
Andrea Marchesini 037d3a703f Bug 1455256 - Port more components to WorkerRef - part 1 - WorkerProxyToMainThreadRunnable, r=asuth 2018-06-18 16:37:21 -04:00
Steve Fink 70f3630002 Bug 1343620 - Use JS_HAZ_ROOTED everywhere instead of programmatic annotations, r=pbone
--HG--
extra : topic : haz.rooted
extra : rebase_source : 69a2c810ccfecdf7c59fe030a83aad9cb6d5f8ad
2018-06-06 16:28:38 -07:00
Boris Zbarsky 9b13c30592 Bug 1467870. When cloning Xray expando chains for an adopt into the Xray compartment, don't lose expandos. r=mrbkap
This does mean that if the node is adopted back into the original document the
expandos would end up on the reflector at that point.  I think that's OK;
people shouldn't be adopting things in that direction.  Futhermore, if they
adopt, then set expandos, then adopt back they already get this behaviorl

So if we decide we don't want that, we should probably just avoid copying own
props when reparenting into a global whose principals don't subsume the old
global.
2018-06-14 19:06:43 -04:00
Csoregi Natalia 42930ab963 Merge inbound to mozilla-central. a=merge 2018-06-14 12:44:32 +03:00
Nazım Can Altınova 7849dbc1a0 Bug 1451289 - Part 6: Rename ServoCounterStyleRule to CSSCounterStyleRule r=emilio
MozReview-Commit-ID: 4T4FMJAp9WV

--HG--
rename : layout/style/ServoCounterStyleRule.cpp => layout/style/CSSCounterStyleRule.cpp
rename : layout/style/ServoCounterStyleRule.h => layout/style/CSSCounterStyleRule.h
extra : rebase_source : d007c517b93c7feef2a1afd0a6c9e77ff856dfc4
2018-06-05 02:07:25 +02:00
Nazım Can Altınova be5df6059a Bug 1451289 - Part 5: Rename ServoFontFaceRule to CSSFontFaceRule r=emilio
MozReview-Commit-ID: 9S7aW0373NL

--HG--
rename : layout/style/ServoFontFaceRule.cpp => layout/style/CSSFontFaceRule.cpp
rename : layout/style/ServoFontFaceRule.h => layout/style/CSSFontFaceRule.h
extra : rebase_source : 60bafd052315c4a9764c6ccc408868b0b840d504
2018-06-05 01:55:11 +02:00
Jan de Mooij 2b3ff5c90a Bug 1468219 - Rename JS_InitStandardClasses to JS::InitRealmStandardClasses, remove obj argument. r=anba
--HG--
extra : rebase_source : 5c092c37298e89096b85524e92d143ff2447f31f
2018-06-13 12:47:47 -07:00
Joel Maher 50b91c0a14 Bug 1405428 - skip-if = verify on mochitests which do not pass test-verify. r=gbrown 2018-06-10 05:01:47 -04:00
Boris Zbarsky 4a41216e51 Bug 1466255. Allow interfaces only exposed to chrome-or-XBL to be in chrome-webidl. r=kmag 2018-06-09 01:03:26 -04:00
Boris Zbarsky 8dfa5a596c Bug 1466221. Implement ToJSValue variants for non-refcounted (so owned) DOM objects. r=peterv 2018-06-09 01:03:15 -04:00
Ciure Andrei 05605d68c4 Merge inbound to mozilla-central. a=merge 2018-06-08 00:50:18 +03:00
Boris Zbarsky ddfb1afd8e Bug 1186265 - Check the current interface's members. r=bz
MozReview-Commit-ID: JJC82zi33YS

--HG--
extra : rebase_source : 06ccab0bdacd5a4ff669915a1d18c1506c0ec532
2018-05-23 13:56:20 -07:00
Blake Kaplan 2390d89fa5 Bug 1186265 - Partially update DOMPoint, DOMQuad, DOMRect, DOMMatrix. r=bz
Some notes: this does not fully bring us to compliance to the current spec.
Instead, these are the fixes that I needed to make in order to make
css/geometry/interfaces.html pass with the DOMPoint changes in the previous
patches. I don't fully understand why that patch caused the test to fail the
way it did, but it ended up being easier to fix our code than understand why
the harness was falling over.

The DOMQuad::QuadBounds class was the source of some confusion for me. Now
that DOMRectReadOnly is a concrete class with members, I wanted to avoid
wasting them. However, the spec is unclear as to whether a DOMQuad's bound's
should be live -- that is because DOMQuad exposes DOMPoint, we can set its
points after retrieving a QuadBounds object. Our current code is live, setting
the points changes the QuadBounds. Chromium's current behavior is to never
update the QuadBounds object. I've left our behavior untouched in this patch
(and waste 4 doubles per QuadBounds object), but I am intending to file a bug
to understand what the intent of the spec is. I wonder if the author intended
the points to be DOMPointReadOnly instead. If so, we could simplify the
DOMRectReadOnly code and get rid of the virtual getters, which would be nice.

I also wasn't thrilled to put the DOMMatrix setters on the DOMMatrixReadOnly
class, but for brevity and simplicity of implementation, I've made them
public. I briefly considered making the setters protected on the ReadOnly
version of the class, but I'm not convinced that having to explicitly make
them public on the derived class is worth the extra copies of the names.

MozReview-Commit-ID: CjdW4Nbnc6A

--HG--
extra : rebase_source : 44489693afebff571a415b487e29fa6153288421
2018-03-29 16:19:31 -07:00
Jan de Mooij f7fb3be6ec Bug 1466121 part 1 - Rename JSCompartment to JS::Compartment. r=luke
--HG--
extra : rebase_source : cd7140ecda54f0caa02a96f562167b3c9a107450
2018-06-07 16:44:40 +02:00
Jan de Mooij 56ca3c9524 Bug 1466501 part 1 - Refactor ZoneSpecifier and add a sameCompartmentAs option to newGlobal in the shell. r=luke 2018-06-07 10:02:10 +02:00
Narcis Beleuzu cf464eabfe Merge inbound to mozilla-central. a=merge 2018-06-06 20:00:09 +03:00
Karl Tomlinson 9e0c1c7c2b bug 1442776 make CycleCollectedJSContext accessible from JSContext private r=peterv
Inheriting PerThreadAtomCache on CycleCollectedJSContext permits use of
static_cast, avoiding one level of indirection compared to adding a
CycleCollectedJSContext* to PerThreadAtomCache.

PerThreadAtomCache is over 18kB, and so WorkerJSContext and WorkletJSContext
are moved from the stack to the heap.

MozReview-Commit-ID: 6jdJeZcviK4

--HG--
extra : rebase_source : 3c2accb71faf3f017a44c405ae0484e57aaf039c
2018-05-10 17:04:12 +12:00
Karl Tomlinson c0f5d29413 bug 1442776 treat PinnedStringId as rooted GC pointer in hazard analysis r=sfink
MozReview-Commit-ID: GFPSwczIZxV

--HG--
extra : rebase_source : 522ccf7dbf28bbfb881a4c13dfb62f369d7791d7
2018-06-05 16:51:10 +12:00
Jan de Mooij bcadbf2ad9 Bug 1464772 part 5 - Use GetIsSecureContext instead of RealmCreationOptionsRef in IsSecureContextOrObjectIsFromSecureContext. r=bz
Also changes RealmCreationOptionsRef to take a realm instead of compartment (this function is now unused but still potentially useful).
2018-06-06 11:44:17 +02:00
Anny Gakhokidze 8dc3a15a90 Bug 1351193 - Part 3: Update status of affected Web-Platform tests, r=nika
Because of modifications to the DataTransfer constructors, the status of the tests that use DataTransfer objects had to be changed to reflect the fact that those tests now pass. Additionally, a test had to be deleted because it tested an obscure situation using the old Chrome only constructor.

MozReview-Commit-ID: LOWuPwh0NeW
2018-06-04 15:09:22 -04:00
Andreea Pavel 4ced6e8b2d Merge mozilla-central to autoland. a=merge 2018-06-03 07:27:01 +03:00
Emilio Cobos Álvarez 1e9c395548 Bug 1466168: Remove mozilla::Forward in favor of std::forward. r=froydnj
Same approach as the other bug, mostly replacing automatically by removing
'using mozilla::Forward;' and then:

  s/mozilla::Forward/std::forward/
  s/Forward</std::forward</

The only file that required manual fixup was TestTreeTraversal.cpp, which had
a class called TestNodeForward with template parameters :)

MozReview-Commit-ID: A88qFG5AccP
2018-06-02 09:33:26 +02:00
Boris Zbarsky 01f73b98d9 Bug 1466213 part 1. Move PositionError out into a separate file. r=qdot
--HG--
rename : dom/geolocation/nsGeolocation.cpp => dom/geolocation/PositionError.cpp
rename : dom/geolocation/nsGeolocation.h => dom/geolocation/PositionError.h
2018-06-01 22:35:42 -04:00
Boris Zbarsky 15b087c696 Bug 1465875 part 4. Eliminate random mentions of nsIDOMNSEditableElement. r=qdot 2018-06-01 22:35:23 -04:00
Boris Zbarsky a0ebf6e398 Bug 1465602 part 2. Fix the interaction of default toJSON with Func-controlled exposure that examines the object's global. r=qdot 2018-06-01 12:17:10 -04:00
Boris Zbarsky 19aa8a3bac Bug 1465602 part 1. Enforce that the default toJSON can only return 'object'. r=qdot
The spec says:

  The return type of the default toJSON operation must be object.
2018-06-01 12:17:10 -04:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Jan de Mooij b1ff59e919 Bug 1464374 part 3 - Use GetRealmPrincipals in generated bindings to get subject principal. r=bz 2018-05-31 11:28:49 +02:00
Jan de Mooij ce3eb7d5c0 Bug 1464374 part 2 - Pass JS::Realm* instead of JSCompartment* to CallSetup. r=bz,luke
The principals are on the realm so we need a realm instead of a compartment. Also adds js::GetNonCCWObjectRealm to get the realm of a non-CCW object.
2018-05-31 11:28:48 +02:00
Jan de Mooij 09c4068fa0 Bug 1464134 part 1 - Fix various places to use Realm instead of JSCompartment. r=luke 2018-05-31 11:28:48 +02:00
Jan de Mooij 7148cd7d35 Bug 1464036 - Remove PropertyInfo constructor to keep MSVC from generating static initializers. r=bz
--HG--
extra : rebase_source : c59d1878615029c7c8b075f4ec288daef77414c6
2018-05-26 14:14:10 +02:00
Peter Van der Beken 0a2e4b8cb7 Bug 1146316 - Remove nsWrapperCache::SetIsNotDOMBinding and IsDOMBinding(). r=bz.
--HG--
extra : rebase_source : cd36e7afb4f6ebcd042ea40d9403546a683375ad
2018-04-05 17:22:41 +02:00
Narcis Beleuzu 8bfcff6f8c Backed out 3 changesets (bug 1186265) for devtools chrome failures on browser_webconsole_visibility_messages.js. CLOSED TREE
Backed out changeset 4a9965aeeef3 (bug 1186265)
Backed out changeset 55bd80764231 (bug 1186265)
Backed out changeset 00fefd3eb634 (bug 1186265)
2018-05-25 05:36:52 +03:00
Boris Zbarsky 8601802fff Bug 1186265 - Check the current interface's members. r=bz
MozReview-Commit-ID: Hfh0yyNBGE4

--HG--
extra : rebase_source : ed9544d4a8d02aaa69ecf5c364517bca584cf04f
2018-05-23 13:56:20 -07:00
Blake Kaplan aec5df4e02 Bug 1186265 - Partially update DOMPoint, DOMQuad, DOMRect, DOMMatrix. r=bz
Some notes: this does not fully bring us to compliance to the current spec.
Instead, these are the fixes that I needed to make in order to make
css/geometry/interfaces.html pass with the DOMPoint changes in the previous
patches. I don't fully understand why that patch caused the test to fail the
way it did, but it ended up being easier to fix our code than understand why
the harness was falling over.

The DOMQuad::QuadBounds class was the source of some confusion for me. Now
that DOMRectReadOnly is a concrete class with members, I wanted to avoid
wasting them. However, the spec is unclear as to whether a DOMQuad's bound's
should be live -- that is because DOMQuad exposes DOMPoint, we can set its
points after retrieving a QuadBounds object. Our current code is live, setting
the points changes the QuadBounds. Chromium's current behavior is to never
update the QuadBounds object. I've left our behavior untouched in this patch
(and waste 4 doubles per QuadBounds object), but I am intending to file a bug
to understand what the intent of the spec is. I wonder if the author intended
the points to be DOMPointReadOnly instead. If so, we could simplify the
DOMRectReadOnly code and get rid of the virtual getters, which would be nice.

I also wasn't thrilled to put the DOMMatrix setters on the DOMMatrixReadOnly
class, but for brevity and simplicity of implementation, I've made them
public. I briefly considered making the setters protected on the ReadOnly
version of the class, but I'm not convinced that having to explicitly make
them public on the derived class is worth the extra copies of the names.

MozReview-Commit-ID: CjdW4Nbnc6A

--HG--
extra : rebase_source : 97e9386cfb17319242913d28117c8b1b8b6fbbbe
2018-03-29 16:19:31 -07:00
Dorel Luca 018394b03f Backed out 3 changesets (bug 1351193) for landing with the wrong reviewer name
Backed out changeset cc8d55217398 (bug 1351193)
Backed out changeset b05e943f8d2c (bug 1351193)
Backed out changeset 94ffa7844ae7 (bug 1351193)
2018-06-02 17:51:30 +03:00
Csoregi Natalia 2f779be8d9 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-02 01:03:45 +03:00
Markus Stange f49c17a909 Bug 1462784 - Add a DOM category and use it for the WebIDL binding stack labels. r=njn
MozReview-Commit-ID: AevGMqeBvXO

--HG--
extra : rebase_source : 001056270d8b2df8a7e88e523d1a9612913e27a8
2018-05-18 17:49:55 -04:00
Csoregi Natalia fc2ed6e92a Backed out 18 changesets (bug 1462784) for ESlint failure on FlameGraph.js:1297. CLOSED TREE
Backed out changeset 79556798ff9f (bug 1462784)
Backed out changeset 88321efb673b (bug 1462784)
Backed out changeset 7880f9dc7023 (bug 1462784)
Backed out changeset 71fe35fd1f7e (bug 1462784)
Backed out changeset a543b94b049a (bug 1462784)
Backed out changeset d1ca8b0f2221 (bug 1462784)
Backed out changeset 68eabfbf3c16 (bug 1462784)
Backed out changeset 34e71c789903 (bug 1462784)
Backed out changeset 6fe79d1ca1bd (bug 1462784)
Backed out changeset e5ad2e525ea9 (bug 1462784)
Backed out changeset 329645ff1e23 (bug 1462784)
Backed out changeset e09c38853172 (bug 1462784)
Backed out changeset 0663d1a6d2da (bug 1462784)
Backed out changeset 106967fc29d2 (bug 1462784)
Backed out changeset 99b4a433a8e5 (bug 1462784)
Backed out changeset 1d38a4cf5a4a (bug 1462784)
Backed out changeset 692017229de6 (bug 1462784)
Backed out changeset c2911a626671 (bug 1462784)
2018-06-01 23:42:00 +03:00
Markus Stange 1da5dfa148 Bug 1462784 - Add a DOM category and use it for the WebIDL binding stack labels. r=njn
MozReview-Commit-ID: AevGMqeBvXO

--HG--
extra : rebase_source : 463fd96712fb5b389fd67ce97a3de19f86d37558
2018-05-18 17:49:55 -04:00
Anny Gakhokidze 905d2e81e3 Bug 1351193 - Part 3: Update status of affected Web-Platform tests, r=Nika
Because of modifications to the DataTransfer constructors, the status of the tests that use DataTransfer objects had to be changed to reflect the fact that those tests now pass. Additionally, a test had to be deleted because it tested an obscure situation using the old Chrome only constructor.

MozReview-Commit-ID: LOWuPwh0NeW

--HG--
extra : rebase_source : bdfb4509b54925a27fb3fe7b83cb97ed4ea6d877
2018-05-25 13:59:56 -04:00
Noemi Erli 1fd69fa2bc Backed out 18 changesets (bug 1462784) for failures in devtools/client/performance/test/unit/test_tree-model-08.js on a CLOSED TREE
Backed out changeset a74d36598442 (bug 1462784)
Backed out changeset c8192175f360 (bug 1462784)
Backed out changeset cde492240e99 (bug 1462784)
Backed out changeset 8c8d30fa406c (bug 1462784)
Backed out changeset ad3802ffb780 (bug 1462784)
Backed out changeset 2fe10732076c (bug 1462784)
Backed out changeset 268a72b7c3c4 (bug 1462784)
Backed out changeset 4055eb6c3bc6 (bug 1462784)
Backed out changeset 3901070e2e60 (bug 1462784)
Backed out changeset 2faf787fbbdf (bug 1462784)
Backed out changeset 8f06963c7c6f (bug 1462784)
Backed out changeset 036e6f64e224 (bug 1462784)
Backed out changeset e670f156a603 (bug 1462784)
Backed out changeset cd39588aece4 (bug 1462784)
Backed out changeset 2ac65d100fa2 (bug 1462784)
Backed out changeset ea05ff70a51d (bug 1462784)
Backed out changeset 8a06c0ba42f7 (bug 1462784)
Backed out changeset 52ed9a039ad2 (bug 1462784)
2018-06-01 01:06:29 +03:00
Noemi Erli 614b78ae36 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-01 00:58:09 +03:00
Markus Stange 916fd5a90a Bug 1462784 - Add a DOM category and use it for the WebIDL binding stack labels. r=njn
MozReview-Commit-ID: AevGMqeBvXO

--HG--
extra : rebase_source : 4a1bd948e65cbbd890ba53c363248c1ce69774a3
2018-05-18 17:49:55 -04:00
Andrea Marchesini 0519d22370 Bug 1459279 - Console API: Implement console.countReset(), r=bgrins 2018-05-22 11:34:41 +02:00
Margareta Eliza Balazs 0bb5e5ba36 Merge inbound to mozilla-central. a=merge 2018-05-19 12:39:28 +03:00
Boris Zbarsky 9f24750878 Bug 1461711 part 1. Change CustomElementRegistry::Define to just take a JSContext from the caller instead of setting up an AutoJSAPI itself. r=smaug
This more closely matches what should happen with entry/incumbent globals in
the spec.
2018-05-18 16:18:19 -04:00
Boris Zbarsky 453d037a95 Bug 1424160 part 3. Set up @@toStringTag on our synthesized iterator interfaces. r=qdot 2018-05-17 23:45:45 -04:00
Boris Zbarsky fd520f957c Bug 1424160 part 2. Add infrastructure for defining @@toStringTag on Web IDL prototypes. r=qdot 2018-05-17 23:45:35 -04:00
Boris Zbarsky 1fb670215a Bug 1424160 part 1. Allow interfaces the have a different name for SpiderMonkey class name purposes. r=qdot
We want to have some class names with spaces in them, but everything assumes
that an interface identifier is in fact an identifier (e.g. uses it in C++
identifiers like namespace names).
2018-05-17 23:45:26 -04:00
Boris Zbarsky bbb35f3bbb Bug 1375829 part 5. Switch from using "jsonifier" syntax to the spec's "[Default] toJSON" syntax. r=qdot 2018-05-17 23:43:59 -04:00
Boris Zbarsky 5d1de86578 Bug 1375829 part 4. Enforce the spec restrictions on methods named toJSON(). r=qdot
There are two restrictions: such methods must take no arguments and must return a JSON type.
2018-05-17 23:43:55 -04:00
Boris Zbarsky aae7b887d6 Bug 1375829 part 3. Align our definition of "JSON type" with the spec. r=qdot
Compared to the spec, we had the following differences:

* Date was a JSON type in our implementation.  It doesn't even exist as a type
  in the spec.  It stops being a JSON type.
* Annotated types are not supported yet.  Nothing changes here.
* Typedef types were not JSON types in our implementation.  They become JSON
  types if the type it's a typedef for is one.
* Frozen arrays are not supported yet.  nothing changes here.
* Records were not JSON types in our implementation.  They become JSON types
  when the value type is a JSON type.
* Object was not a JSON type in our implementation.  It becomes a JSON type.
* Interface types were only JSON types in our implementation if they had a
  jsonifier.  We change to treating them as JSON types if there is a jsonifier
  anywhere on the inheritance chain.

In terms of observable behavior, the following properties now get included by
toJSON methods that didn't use to be included:

  PaymentResponse.details
  Performance.mozMemory

both because they're of type "object".
2018-05-17 23:39:52 -04:00
Boris Zbarsky 85cfd5fbdf Bug 1375829 part 2. The default binding toJSON should skip over attributes that are not exposed in the current global. r=qdot
Without this, we will start including mozMemory in performance.toJSON() even if
the pref for it is not set, once 'object' becomes a JSON type.

This changes behavior in the following observable ways:

1) We stop exposing PerformanceResourceTiming's .serverTiming in the JSON
serialization in insecure contexts.

2) We stop exposing PerformanceTiming's timeToNonBlankPaint and
timeToDOMContentFlushed in the JSON serialization unless the relevant
preferences are turned on.
2018-05-17 23:39:52 -04:00
Boris Zbarsky 0e86edbbdf Bug 1375829 part 1. Rename isSerializable() to isJSONType(). r=qdot
The spec calls these types "JSON types".
2018-05-17 23:39:52 -04:00
Timothy Guan-tin Chien 08741f30ed Bug 1460962 - Support customized built-in element in XUL r=smaug
This patch enables us to specify a custom element type with |is| attribute
or property when creating a XUL element. Because non-dashed names are valid
custom element names in XUL (bug 1446247), other checks has to modified
accordingly.

The checks I am settling with are
1) Forbids the custom built-in element names to be a non-dashed name.
2) Forbids the custom built-in element to extend a dashed built-in element name.

This also ensures the custom built-in element types don't take on the same
name as the element name it extends.

MozReview-Commit-ID: GCQ9RnfvvrC

--HG--
extra : rebase_source : 2fa13742525d2107580d50872ff5b0fc42539498
extra : source : 2dc5513660d78a4de4801109140743ffc9297f71
2018-05-11 12:44:46 -07:00
Jan de Mooij 17f3983d0f Bug 1461605 part 1 - Rename CompartmentOptions to RealmOptions. r=luke,bz 2018-05-17 10:59:45 +02:00
Jan de Mooij 80e44e8003 Bug 1461292 part 1 - Rename JSAutoCompartment to JSAutoRealm. r=bz,luke 2018-05-16 10:53:16 +02:00
Peter Van der Beken ddfc4b6022 Bug 1452981 - Remove qsObjectHelper. r=bz.
--HG--
extra : rebase_source : f87d70c72bd720cd57377b4b70fdf8ecec590086
2018-05-02 11:47:02 +02:00
Emilio Cobos Álvarez b293adf1cf Bug 1459871: Remove other getPropertyCSSValue-related interfaces. r=bz
I can land the removal behind a pref first if you want and all that instead.

Again, this doesn't remove the internal usage for getComputedStyle (yet).

MozReview-Commit-ID: LA157ohfLhu
2018-05-15 14:05:13 +02:00
Jan de Mooij d660ad143b Bug 1460341 - Give jsid a constructor that initializes it to a void id. r=jonco,bz 2018-05-11 12:01:32 +02:00
Brian Birtles f8c518344a Bug 1456394 - Rename AnimationEffectReadOnly to AnimationEffect; r=bz,hiro
MozReview-Commit-ID: 8jzJiCWt5vs

--HG--
rename : dom/animation/AnimationEffectReadOnly.cpp => dom/animation/AnimationEffect.cpp
rename : dom/animation/AnimationEffectReadOnly.h => dom/animation/AnimationEffect.h
rename : dom/webidl/AnimationEffectReadOnly.webidl => dom/webidl/AnimationEffect.webidl
extra : rebase_source : 2bd6490fe9be47cfb760bda81a63c33ba0b0397d
2018-05-07 11:15:16 +09:00
Kris Maglione 3d65fdbc34 Bug 833098: Part 2 - Remove RDF service. r=hsivonen,Mossop,pike
MozReview-Commit-ID: 32Nl5McAFGJ

--HG--
extra : source : c00426f6bc7d1a10e5609ac9530eb315d64d9d85
extra : histedit_source : 4ab49fa208d0fc0ccd8e0b623644cc91d705d462
2018-04-28 20:06:40 -07:00
Dorel Luca db79e8d752 Backed out 2 changesets (bug 833098) for depending on bug 1457749
Backed out changeset c00426f6bc7d (bug 833098)
Backed out changeset 2ea9f1f5269e (bug 833098)
2018-05-08 13:47:51 +03:00
Kris Maglione d977920517 Bug 833098: Part 2 - Remove RDF service. r=hsivonen,Mossop,pike
MozReview-Commit-ID: 32Nl5McAFGJ

--HG--
extra : rebase_source : 16fa6bd9809078dee570ce3869436d6546c5ee8d
extra : histedit_source : b577bd104042a0c5f300bc3b4e3e5dd799333c94
2018-04-28 20:06:40 -07:00
Xidorn Quan 7db648bdec Bug 1454591 part 1 - Generate more structured data in ServoCSSPropList.py. r=heycam
This patch changes ServoCSSPropList.py to use classes for properties.
This allows extending the data in the file without needing to update all
users of this file.

Sorting in GenerateCSSPropsGenerated.py is removed because the data file
has the right order already.

MozReview-Commit-ID: D74bItCfpPH

--HG--
extra : rebase_source : e0138c255f77515f491496fcb8680686362f4e9e
2018-05-04 13:44:51 +10:00
Mike Shal 507bbb6ecb Bug 1455799 - Make an explicit webidl export target; r=bz,chmanchester
By including codegen.pp and having a target for codegen.pp, we were
relying on make to build out-of-date include files and re-exec itself
after they are built. However, make produces an error if the file does
not exist, which is why this include was changed to a -include in bug
1378965. Unfortunately this means that make ignores not only a
non-existent file, but also any errors in regenerating the target from
the webidl py_action.

Instead we can make a separate stub file target for webidl generation,
and include the codegen.pp that's generated as a side-effect of the
py_action. This way make will fail properly if the webidl generation
fails, and there is no error message about a missing codegen.pp on the
first build.

MozReview-Commit-ID: GjB8zDuMfnL

--HG--
extra : rebase_source : 560b3ae3e60986d7eb3bbabbac0acca67a3a4aff
2018-04-30 12:52:28 -04:00
Kris Maglione a259026c9d Bug 1456035: Part 4 - Convert callers of XPCOMUtils.generateQI to ChromeUtils.generateQI. r=mccr8
This also removes any redundant Ci.nsISupports elements in the interface
lists.

This was done using the following script:

acecb401b7/processors/chromeutils-generateQI.jsm

MozReview-Commit-ID: AIx10P8GpZY

--HG--
extra : rebase_source : a29c07530586dc18ba040f19215475ac20fcfb3b
2018-04-22 20:55:06 -07:00
Neil Deakin ef5f9b4b23 Bug 1446961, move PopupBoxObject to XULPopupElement, a new subclass of XULElement. Remove popup.xml methods, r=paolo,bz
Test changes for removal of PopupBoxObject and popup.xml methods, some reflow tests now have different stacks now that they are not going through popup.xml binding methods, test_popupanchor.xul changes due to need to wait for popuppositioned event after resizing. The old code would just adjust the arrow directly when sizeTo was called, but the new code does this through an asynchronous popuppositioned event. Changes to some places that check for XULElement class.

--HG--
rename : dom/webidl/PopupBoxObject.webidl => dom/webidl/XULPopupElement.webidl
rename : layout/xul/PopupBoxObject.cpp => dom/xul/XULPopupElement.cpp
rename : layout/xul/PopupBoxObject.h => dom/xul/XULPopupElement.h
2018-04-27 11:04:38 -04:00
Neil Deakin e25f02a7f3 Bug 1446961, restructuring to allow nsXULElement to be subclassed. Rename nsXULElement::Create to make it clearer it creates from the prototype element, r=bz 2018-04-27 11:04:37 -04:00
Ben Kelly d4090dc614 Bug 1357463 Add CopyableErrorResult to opt in to auto-cloning ErrorResult values. r=bz 2018-04-26 13:50:56 -07:00
Xidorn Quan 43eb5c8140 Bug 1456364 part 4 - Convert CSS_PROPERTY_* flags to a typed enum flags. r=emilio
MozReview-Commit-ID: 4mLPe5cH80N
2018-04-26 16:24:33 +02:00
Boris Zbarsky 8baa26a2af Bug 1457051. The WebIDL isInstance should be a pure brand check, not an instanceof-like check. r=qdot 2018-04-26 01:38:07 -04:00
Boris Zbarsky 6072982c14 Bug 1456887 part 2. Remove ArrayClass support. r=qdot 2018-04-26 01:38:07 -04:00
Jeff Walden 04d21ccac0 Bug 1451248. r=jorendorff, r=bz
--HG--
extra : rebase_source : e26439a5954162bdaf332fbd63d623a3810e19e0
2018-04-25 19:40:09 -07:00
Kris Maglione dc8ba3688b Bug 1456035: Part 1 - Add helper to generate native QueryInterface callbacks. r=bz
MozReview-Commit-ID: JpV6zYOdvHu

--HG--
extra : rebase_source : 4aeda7c2c612dd9c7dbb7b6f4fdd33b8b289b702
2018-04-22 20:32:11 -07:00
Boris Zbarsky 4b6ed4c011 Bug 1456261. Add cycle collection bits for WebIDL dictionaries. r=smaug 2018-04-24 11:57:40 -04:00
Boris Zbarsky 1ee25c8f50 Bug 1455805. Make CSS a namespace, not interface. r=heycam
MozReview-Commit-ID: LTYBNyGm1JS
2018-04-23 12:36:10 -04:00