Commit Graph

5003 Commits

Author SHA1 Message Date
Boris Zbarsky
624bd9fd22 Bug 1578173 part 8. Remove support for [Constructor] from the Web IDL parser. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D45398

--HG--
extra : moz-landing-system : lando
2019-09-12 18:45:33 +00:00
Boris Zbarsky
ecfb805c22 Bug 1578173 part 7. Remove remaining uses of [Constructor] from binding tests. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D45396

--HG--
extra : moz-landing-system : lando
2019-09-12 18:39:26 +00:00
Boris Zbarsky
1128b8dee8 Bug 1578173 part 6. Remove remaining uses of [Constructor] from bindings. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D45394

--HG--
extra : moz-landing-system : lando
2019-09-12 11:01:17 +00:00
Boris Zbarsky
cdf754533a Bug 1578173 part 5. Remove vestigial binaryNames annotations from Bindings.conf. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D45393

--HG--
extra : moz-landing-system : lando
2019-09-11 21:23:25 +00:00
Boris Zbarsky
14c30e58d6 Bug 1578173 part 4. Switch event subclasses to constructor operations. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45391

--HG--
extra : moz-landing-system : lando
2019-09-11 14:35:28 +00:00
Boris Zbarsky
122af58092 Bug 1578173 part 3. Remove ChromeConstructor. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D45390

--HG--
extra : moz-landing-system : lando
2019-09-11 21:04:12 +00:00
Boris Zbarsky
c0dd336d70 Bug 1578173 part 1. Add support for constructor operations in the parser. r=edgar
The grammar changes parallel those in https://github.com/heycam/webidl/pull/700

We don't prevent having both a constructor operation and [Constructor] or
[ChromeConstructor], because those extended attributes are about to get
removed, once they are no longer used in our IDL.

Differential Revision: https://phabricator.services.mozilla.com/D45387

--HG--
extra : moz-landing-system : lando
2019-09-11 20:44:01 +00:00
Henri Sivonen
b9752dabba Bug 1561564 - Introduce a JSString WebIDL type. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D42297

--HG--
extra : moz-landing-system : lando
2019-09-12 10:27:20 +00:00
Dzmitry Malyshau
6c2bf0f5ad Bug 1575663 - Improve WebIDL bindgen of enum variants starting with a digit r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D42980

--HG--
extra : moz-landing-system : lando
2019-09-11 16:10:45 +00:00
Dzmitry Malyshau
3edde5ecd0 Bug 1575384 - WebIDL: Better error message for trying to inherit from a mixin r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D42736

--HG--
extra : moz-landing-system : lando
2019-09-11 16:05:19 +00:00
Andrew McCreight
9d5c278b92 Bug 1580427 - Fix the nativeType for WindowProxy. r=bzbarsky
Right now, we end up with the forward declaration of
nsIDOMWindowProxy, which does not exist, instead of the proper type.

Differential Revision: https://phabricator.services.mozilla.com/D45516

--HG--
extra : moz-landing-system : lando
2019-09-11 14:25:18 +00:00
Paul Bone
151b418b4e Bug 1578628 - Fix a spelling mistake in a comment r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D44946

--HG--
extra : moz-landing-system : lando
2019-09-10 07:05:07 +00:00
Boris Zbarsky
2742e32812 Bug 1577016. Improve our error reporting for nullable dictionary operation arguments. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D43678

--HG--
extra : moz-landing-system : lando
2019-09-06 15:34:50 +00:00
Emilio Cobos Álvarez
7df79853f9 Bug 1578700 - Change use counter setup to propagate the page use counters together. r=smaug
This is so that SetUseCounter is as cheap as possible.

This is in preparation for hooking the CSS use counters to telemetry. We want
CSS use counters to be fast and be propagated at once to the parent page. This
will make sure to use the same setup as everywhere else.

Differential Revision: https://phabricator.services.mozilla.com/D44645

--HG--
extra : moz-landing-system : lando
2019-09-04 23:36:21 +00:00
Boris Zbarsky
7a49cd3dd7 Bug 1578455. Allow Web IDL operation arguments named "constructor". r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D44505

--HG--
extra : moz-landing-system : lando
2019-09-04 19:44:29 +00:00
Paul Bone
ead45f248b Bug 1576787 - Handle RemoteObjectProxies in instanceof r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D43559

--HG--
extra : moz-landing-system : lando
2019-08-30 05:22:34 +00:00
Boris Zbarsky
58b843488c Bug 1569735. Move almost all uses of binaryNames out of Bindings.conf and into .webidl files. r=peterv
The one exception, apart from tests, is a place where the constructor is being
renamed, because there is no way to support that syntactically yet.  There will
be if https://github.com/heycam/webidl/issues/636 is fixed.

Differential Revision: https://phabricator.services.mozilla.com/D39792

--HG--
extra : moz-landing-system : lando
2019-08-28 17:51:37 +00:00
Boris Zbarsky
7d2bac0334 Bug 921496 part 2. Remove NavigatorProperty. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D40111

--HG--
extra : moz-landing-system : lando
2019-08-26 19:00:04 +00:00
Andrew McCreight
2a7c750b84 Bug 1575711 - CallerSubsumes should return false for remote object proxies. r=peterv
This check is used to reject cross-origin objects from being passed in
as |any| or |object| parameters to WebIDL methods. Remote object
proxies are technically same-origin, but we want to make them behave
the same as when Fission is not enabled.

Differential Revision: https://phabricator.services.mozilla.com/D43105

--HG--
extra : moz-landing-system : lando
2019-08-26 18:26:02 +00:00
Andreea Pavel
38b21106da Backed out changeset 31f52909af17 (bug 1575711) for failing test_bug1036214.html on a CLOSED TREE 2019-08-26 20:50:21 +03:00
Andrew McCreight
06cff83c9f Bug 1575711 - CallerSubsumes should return false for remote object proxies. r=peterv
This check is used to reject cross-origin objects from being passed in
as |any| or |object| parameters to WebIDL methods. Remote object
proxies are technically same-origin, but we want to make them behave
the same as when Fission is not enabled.

Differential Revision: https://phabricator.services.mozilla.com/D43105

--HG--
extra : moz-landing-system : lando
2019-08-26 11:56:50 +00:00
Andrew McCreight
ff786abc93 Bug 1575272 - Fix DOM bindings tests to work with Fission. r=peterv
These test that various DOM things fail when done
cross-origin. They'll fail in a different way if done cross-process,
so change the origin used so that it is same-process, but
cross-origin, even with Fission.

Differential Revision: https://phabricator.services.mozilla.com/D42678

--HG--
extra : moz-landing-system : lando
2019-08-21 20:10:33 +00:00
Andrew McCreight
62bd52a17f Bug 1575343, part 1 - Avoid a gratuitous string copy by calling the nsAString overload of GetCallingLocation. r=smaug
The nsAString overload of GetCallingLocation directly converts the
original source file name string into an nsAString. A number of
callers that want the source file name in an nsAString are calling the
nsACString overload of GetCallingLocation, then calling
NS_ConvertUTF8toUTF16. This results in an extra intermediate copy of
the original string data.

Differential Revision: https://phabricator.services.mozilla.com/D42727

--HG--
extra : moz-landing-system : lando
2019-08-20 22:53:49 +00:00
Brian Hackett
091f2992d2 Bug 1573938 - Never collect wrapper JSObjects when recording/replaying, r=mccr8.
Differential Revision: https://phabricator.services.mozilla.com/D42011

--HG--
extra : moz-landing-system : lando
2019-08-16 20:51:12 +00:00
Kagami Sascha Rosylight
b14e2b2516 Bug 1414372: Introduce interface mixins r=bzbarsky
Add IDLInterfaceMixin with a new superclass shared with existing IDLInterfaceOrNamespace.

Differential Revision: https://phabricator.services.mozilla.com/D38802

--HG--
extra : moz-landing-system : lando
2019-08-15 16:53:49 +00:00
Jon Coppeard
c772fc6cda Bug 1573844 - Remove external references to js::Class r=mccr8
Depends on D41985

Differential Revision: https://phabricator.services.mozilla.com/D41986

--HG--
extra : moz-landing-system : lando
2019-08-14 17:15:15 +00:00
Jon Coppeard
6d38179350 Bug 1573844 - Remove external references to js::Jsvalify and js::Valueify r=mccr8
These are now no-ops so can be removed.

Depends on D41983

Differential Revision: https://phabricator.services.mozilla.com/D41984

--HG--
extra : moz-landing-system : lando
2019-08-14 17:24:59 +00:00
Jon Coppeard
66fc30ba53 Bug 1573844 - Remove js::Class definition and alias JSClass to it r=tcampbell,mccr8
JSClass contained void* members corresponding to the internal pointer members of js::Class. This stores the internal members in JSClass and removes js::Class.

This leaves js::Class aliased to JSClass while we remove references to it. I also aliased Jsvalify and Valueify into global scope temporarily to make this compile. These get removed in the following patches.

I had to remove a few functions which now don't compile with js::Class being the same type as JSClass.

Differential Revision: https://phabricator.services.mozilla.com/D41983

--HG--
extra : moz-landing-system : lando
2019-08-15 08:32:22 +00:00
Jon Coppeard
81a8266309 Bug 1573419 - Fix assertion failure finalizing JSObjects during shutdown r=bzbarsky
The problem is that if there is a leak at shutdown we can end up calling ClearWrapper on a wrapper that has already been cleared by the JS engine. The patch just relaxes the assertion to allow this. I tested this on try with a bunch of retriggers and it seems to fix the problem.

Differential Revision: https://phabricator.services.mozilla.com/D41938

--HG--
extra : moz-landing-system : lando
2019-08-15 08:29:26 +00:00
Jon Coppeard
d23ec38129 Bug 1573508 - Replace external references to js::ClassOps with JSClassOps r=mccr8
Depends on D41759

Differential Revision: https://phabricator.services.mozilla.com/D41760

--HG--
extra : moz-landing-system : lando
2019-08-14 09:45:31 +00:00
Nathan Froyd
b0b2a5088c Bug 1573537 - add parentheses for property info count static_assert; r=bzbarsky
Otherwise we're computing (1ull << CHAR_BIT) * sizeof(...), which is not
quite what we wanted.

Differential Revision: https://phabricator.services.mozilla.com/D41773

--HG--
extra : moz-landing-system : lando
2019-08-13 17:47:04 +00:00
Jon Coppeard
4f45eff7cc Bug 1572782 - Remove external references to js::FreeOp r=mccr8?
Replace external use of js::FreeOp with JSFreeOp.

Differential Revision: https://phabricator.services.mozilla.com/D41411

--HG--
extra : moz-landing-system : lando
2019-08-12 10:43:32 +00:00
Jon Coppeard
a00726d223 Bug 1572782 - Remove js::FreeOp and make JSFreeOp opaque in public API r=tcampbell?
Merge js::FreeOp and JSFreeOp, but alias the former to the latter while we fix uses.

Differential Revision: https://phabricator.services.mozilla.com/D41410

--HG--
extra : moz-landing-system : lando
2019-08-12 10:43:32 +00:00
Oana Pop Rus
44aafcc0d0 Backed out 4 changesets (bug 1572782) for build bustages at build/src/obj-firefox/dist/include/nsIXPCScriptable.h on a CLOSED TREE
Backed out changeset ec9d15c69bc8 (bug 1572782)
Backed out changeset 8239e4baa0f4 (bug 1572782)
Backed out changeset 9fd7bea2b512 (bug 1572782)
Backed out changeset 11d750555fe1 (bug 1572782)
2019-08-12 13:37:03 +03:00
Jon Coppeard
68fef4ffb0 Bug 1572782 - Remove external references to js::FreeOp r=mccr8?
Replace external use of js::FreeOp with JSFreeOp.

Differential Revision: https://phabricator.services.mozilla.com/D41411

--HG--
extra : moz-landing-system : lando
2019-08-12 10:16:00 +00:00
Jon Coppeard
9d51a35e93 Bug 1572782 - Remove js::FreeOp and make JSFreeOp opaque in public API r=tcampbell?
Merge js::FreeOp and JSFreeOp, but alias the former to the latter while we fix uses.

Differential Revision: https://phabricator.services.mozilla.com/D41410

--HG--
extra : moz-landing-system : lando
2019-08-12 10:15:57 +00:00
Brendan Dahl
b474db77c6 Bug 1551344 - Part 1: Remove XULDocument code. r=smaug,Jamie
All .xul files have been loading as HTMLDocuments for a few weeks now, so
it should be safe to remove the XULDocument implementation.

Differential Revision: https://phabricator.services.mozilla.com/D41238

--HG--
extra : moz-landing-system : lando
2019-08-09 19:57:50 +00:00
Kagami Sascha Rosylight
54112deff0 Bug 1572405 - Fix Py3 referenced before assignment error r=bzbarsky
`except Exception as exception` in Python 3 removes the `exception` variable in the outer scope whereas Python 2 does not. This mitigates the error caused by the Py3 behavior.

Differential Revision: https://phabricator.services.mozilla.com/D41194

--HG--
extra : moz-landing-system : lando
2019-08-09 06:27:36 +00:00
Edwin Gao
1eb2f0f7be Bug 1559975 - convert dom/bindings to python3 r=ahal,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D36634

--HG--
extra : moz-landing-system : lando
2019-08-02 19:45:12 +00:00
Boris Zbarsky
4694cad683 Bug 1570350. Refactor ConstructJSImplementation to make consumers a bit simpler. r=mccr8
We could get rid of the need to specify the impl class at the callsite by
taking a T** instead of returning an already_AddRefed<T>, but I'm not sure
which is uglier...

The change from `globalHolder->GetGlobalJSObject()` to `global.Get()` is OK,
because `globalHolder` was coming from the nsISupports attached to
`global.Get()` anyway, so those are the same global JS object.

Differential Revision: https://phabricator.services.mozilla.com/D40060

--HG--
extra : moz-landing-system : lando
2019-07-31 21:38:00 +00:00
Boris Zbarsky
3581c41939 Bug 1568729. Only include the static pref headers we really need in binding code. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D39528

--HG--
extra : moz-landing-system : lando
2019-07-28 11:08:00 +00:00
Yoshi Cheng-Hao Huang
e17d60cbf4 Bug 1551810 - Part 1: return bool in CallbackTracer methods. r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D38980

--HG--
extra : moz-landing-system : lando
2019-07-26 08:59:38 +00:00
Nicholas Nethercote
18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

Differential Revision: https://phabricator.services.mozilla.com/D39138

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Kris Maglione
4bd4d680d4 Bug 1566952: Part 1 - Annotate mochitests that crash with Fission enabled. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D38725

--HG--
extra : rebase_source : 3e8b32b86b12b22d038baa770070a5c8095043c9
2019-07-17 13:37:48 -07:00
Kagami Sascha Rosylight
cbdbeb0691 Bug 1565130 - Update parser/runtests.py for Python 3 r=firefox-build-system-reviewers,mshal
Differential Revision: https://phabricator.services.mozilla.com/D38813

--HG--
extra : moz-landing-system : lando
2019-07-23 22:14:23 +00:00
Gurzau Raul
9866332964 Backed out 3 changesets (bug 1559975) for linting failure at WebIDL.py on a CLOSED TREE.
Backed out changeset a7154744a5d7 (bug 1559975)
Backed out changeset 4005ac274170 (bug 1559975)
Backed out changeset 68ed1ccb5921 (bug 1559975)
2019-07-19 18:25:10 +03:00
Edwin Gao
805e1d99d2 Bug 1559975 - convert dom/bindings to python3 r=ahal,bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D36634

--HG--
extra : moz-landing-system : lando
2019-07-19 14:15:00 +00:00
Andrew McCreight
ac69d4bf7b Bug 1510760, part 4 - Add transplant support to GetRemoteOuterWindowProxy(). r=peterv
When we call GetRemoteOuterWindowProxy in the middle of a transplant,
the remote proxy that the function returns will be almost immediately
swapped with some other object. Rather than trying to fix up the
remote proxy map when that happens, this patch adds a new argument
that is a pointer to the object, if any, that the remote proxy is
going to be swapped to. This will be used in the remote proxy map.

Having a value in the remote proxy map that is not a remote proxy
could cause issues if somebody ends up calling
GetRemoteOuterWindowProxy() a second time before the transplant has
finished. To avoid that, my patch asserts that we are returning an
object with the appropriate class.

Differential Revision: https://phabricator.services.mozilla.com/D37598

--HG--
extra : moz-landing-system : lando
2019-07-18 19:36:17 +00:00
Andrew McCreight
3c4247618f Bug 1510760, part 2 - Add the remote proxy handler to SetDOMProxyInformation. r=peterv,tcampbell
Differential Revision: https://phabricator.services.mozilla.com/D37596

--HG--
extra : moz-landing-system : lando
2019-07-18 19:36:13 +00:00
Andrew McCreight
dd23a020fe Bug 1510760, part 1 - Make GetBrowsingContext and GetOuterWindow callable elsewhere. r=peterv
Also fix an existing formatting issue.

Differential Revision: https://phabricator.services.mozilla.com/D37595

--HG--
extra : moz-landing-system : lando
2019-07-18 19:36:11 +00:00