Commit Graph

5003 Commits

Author SHA1 Message Date
Noemi Erli
1916d2be66 Backed out 5 changesets (bug 1510760) for bustages in nsGlobalWindowOuter.cpp
Backed out changeset 19a972ea7855 (bug 1510760)
Backed out changeset 524ac8b3040d (bug 1510760)
Backed out changeset 3bc5442338bc (bug 1510760)
Backed out changeset cb12d4068aca (bug 1510760)
Backed out changeset 75b769608cce (bug 1510760)
2019-07-18 19:18:47 +03:00
Andrew McCreight
c7d6336a9d 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 15:02:57 +00:00
Andrew McCreight
d957b14cdb 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 15:02:47 +00:00
Andrew McCreight
6307831c6e 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 15:02:45 +00:00
Kris Maglione
0962c2b731 Bug 1566182: Annotate mochitests that fail with Fission enabled. r=mccr8
My preference was to annotate most of the failing tests with `fail-if` so that
if they start passing, the `fail-if` needs to be removed and they need to keep
passing. That doesn't work for tests that timeout, or which trigger failures
from their cleanup functions, however, so those tests need skip-if. And tests
with fail in their cleanup functions likely leave the browser in an
inconsistent state for subsequent tests, anyway, so really should be skipped
regardless.

There are some remaining tests which still fail because of crashes. I chose
not to skip them here, but to fix the crashes in separate bugs instead.

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

--HG--
extra : rebase_source : 39ba8fec2e882cfe577c5f2b58ab7e4b461f1178
2019-07-15 16:19:32 -07:00
Nicholas Nethercote
624de194fe Bug 1565110 - Rename abc.def and ghi.jkl prefs as dom.webidl.test[12]. r=bzbarsky
Depends on D37669

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

--HG--
extra : moz-landing-system : lando
2019-07-12 04:39:12 +00:00
Markus Stange
6efbe54e95 Bug 1515214 - Add CallbackObject::GetDescription and TimeoutHandler::GetDescription. r=bzbarsky
This allows us to create profiler markers whose description contains the name
of the function and its file / line number. This allows the profiler UI to
match up setTimeout callbacks for multiple instances of the same page load, in
order to create meaningful profile comparisons based on markers.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 20:48:14 +00:00
Barret Rennie
4636522c18 Bug 1289211 - Rename InfallibleTArray to nsTArray in dom/bindings/ r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D36942

--HG--
extra : moz-landing-system : lando
2019-07-10 03:25:38 +00:00
Kagami Sascha Rosylight
936e15f95d Bug 1563937: Support Python 3 in WebIDL.py r=firefox-build-system-reviewers,bzbarsky,mshal
Should allow Servo to start Python 3 migration.

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

--HG--
extra : moz-landing-system : lando
2019-07-10 02:36:57 +00:00
Boris Zbarsky
3910c9fe0a Bug 1561887 part 2. Fix cycle-collection skipping of JSEventHandler to work correctly. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D36870

--HG--
extra : moz-landing-system : lando
2019-07-09 17:04:59 +00:00
Kagami Sascha Rosylight
30a1af2b27 Bug 1020975: Allow LenientFloat to be only in a specific overload r=bzbarsky
This assumes that LenientFloat won't break float-less overload behavior.

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

--HG--
extra : moz-landing-system : lando
2019-07-09 12:58:42 +00:00
Sylvestre Ledru
131d0c6a02 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-07-06 08:18:28 +00:00
Victor Porof
0a8ff0ad85 Bug 1561435 - Format dom/, a=automatic-formatting
# ignore-this-changeset

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

--HG--
extra : source : 62f3501af4bc1c0bd1ee1977a28aee04706a6663
2019-07-05 10:44:55 +02:00
Oana Pop Rus
2ad74ef9f7 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-07-04 06:38:21 +03:00
Boris Zbarsky
19251f27ce Bug 1562680. Implement the new syntax for Web IDL dictionary defaulting. r=peterv
`= {}` can now be used to indicate that an optional dictionary should have the
default value of 'default-initialized dictionary'

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

--HG--
extra : moz-landing-system : lando
2019-07-03 07:52:35 +00:00
Kris Maglione
b459f53a11 Bug 1561061: Move SpecialPowers pref env code to parent and make sane-ish. r=aswan
Differential Revision: https://phabricator.services.mozilla.com/D35706

--HG--
extra : rebase_source : ec33af8c17048c3828d4ca4643e2e17bd2a854c0
extra : source : c2d0956f41d82e76c682f829807e818863cd802a
2019-06-24 13:47:53 -07:00
Kagami Sascha Rosylight
509d2d30b6 Bug 1366738: Implement [LegacyWindowAlias] r=bzbarsky
Add [LegacyWindowAlias] extended attribute support for WebKitCSSMatrix and webkitURL.

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

--HG--
extra : moz-landing-system : lando
2019-07-03 08:37:01 +00:00
Cosmin Sabou
3ef8d24958 Backed out changeset 8e16f13a88c8 (bug 1562680) for colliding with Bug 1366738 that was backed out. CLOSED TREE 2019-07-03 10:46:39 +03:00
Mihai Alexandru Michis
9c4d142e96 Backed out changeset 509af1e0771d (bug 1366738) for causing failures in test_WebKitCSSMatrix.html CLOSED TREE 2019-07-03 10:21:30 +03:00
Boris Zbarsky
73f095abc4 Bug 1562680. Implement the new syntax for Web IDL dictionary defaulting. r=peterv
`= {}` can now be used to indicate that an optional dictionary should have the
default value of 'default-initialized dictionary'

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

--HG--
extra : moz-landing-system : lando
2019-07-03 06:44:36 +00:00
Mihai Alexandru Michis
c7fc76c18f Backed out changeset 12653dd76667 (bug 1562680) for causing bustages in FuzzingFunctions.webidl CLOSED TREE 2019-07-03 09:34:48 +03:00
Boris Zbarsky
3a5c721abb Bug 1562680. Implement the new syntax for Web IDL dictionary defaulting. r=peterv
`= {}` can now be used to indicate that an optional dictionary should have the
default value of 'default-initialized dictionary'

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

--HG--
extra : moz-landing-system : lando
2019-07-03 06:15:54 +00:00
Kagami Sascha Rosylight
8dd328fee0 Bug 1366738: Implement [LegacyWindowAlias] r=bzbarsky
Add [LegacyWindowAlias] extended attribute support for WebKitCSSMatrix and webkitURL.

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

--HG--
extra : moz-landing-system : lando
2019-07-03 02:37:11 +00:00
Boris Zbarsky
81f57ed877 Bug 1562008. Update the grammar for IDL union types to exclude Promise types. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D36238

--HG--
extra : moz-landing-system : lando
2019-07-02 22:17:40 +00:00
Boris Zbarsky
ef2db21d4d Bug 1562004. Disallow specifying [Global] and [Constructor] or [NamedConstructor] on the same interface. r=peterv
See https://github.com/heycam/webidl/issues/744

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

--HG--
extra : moz-landing-system : lando
2019-07-02 07:56:26 +00:00
Kagami Sascha Rosylight
3f472122f6 Bug 1560462: Implement DOMMatrix.fromMatrix r=bzbarsky
Also fixes `.multiply()` to use DOMMatrixInit.

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

--HG--
extra : moz-landing-system : lando
2019-06-30 03:02:13 +00:00
Coroiu Cristina
3712f3103e Backed out changeset d63622bdde81 (bug 1560462) for wpt failures at css/geometry/DOMMatrixInit-validate-fixup.html 2019-06-30 03:21:14 +03:00
Kagami Sascha Rosylight
ef13c99bda Bug 1560462: Implement DOMMatrix.fromMatrix r=bzbarsky
Also fixes `.multiply()` to use DOMMatrixInit.

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

--HG--
extra : moz-landing-system : lando
2019-06-29 03:24:08 +00:00
Boris Zbarsky
75224691ef Bug 1350254 part 2. Switch ImageData to [Serializable]. r=baku
Differential Revision: https://phabricator.services.mozilla.com/D35716

--HG--
extra : moz-landing-system : lando
2019-06-25 06:44:38 +00:00
Boris Zbarsky
68a52b3c30 Bug 1350254 part 1. Add support for [Serializable] in the Web IDL parser and code generator. r=baku,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D35715

--HG--
extra : moz-landing-system : lando
2019-06-27 22:21:22 +00:00
Boris Zbarsky
fdecfb9423 Bug 1560553 part 2. Improve the assertions in MaybeWrapNonDOMObjectValue. r=peterv
We don't need to worry about JSCLASS_PRIVATE_IS_NSISUPPORTS, because the only
work we're really skipping here compared to MaybeWrapObjectValue is the
TryToOuterize call, and that only matters for Window objects, which always have
a DOM class.

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

--HG--
extra : moz-landing-system : lando
2019-06-27 16:13:32 +00:00
Boris Zbarsky
486374ebb4 Bug 1560553 part 1. Simplify the TryToOuterize callers a bit. r=peterv
TryToOuterize fast-path bails out if a bit-check on the JSClass fails.  Trying
to avoid that bit-check by checking for a DOM class, which is also a bit-check
on the JSClass doesn't really make sense.

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

--HG--
extra : moz-landing-system : lando
2019-06-27 15:03:20 +00:00
Zibi Braniecki
224a1bb5c4 Bug 1560342 - Replace generic object argument with a specific L10nArgs object for passing l10n arguments. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D35586

--HG--
extra : moz-landing-system : lando
2019-06-25 19:43:50 +00:00
Zibi Braniecki
ae32fa44eb Bug 1560342 - Factor Localization out of DOMLocalization. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D35445

--HG--
extra : moz-landing-system : lando
2019-06-25 19:39:53 +00:00
Jeff Gilbert
7c6109af7b Bug 1560422 - WEBGL_explicit_present extension. r=lsalzman,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D35495

--HG--
extra : moz-landing-system : lando
2019-06-25 19:48:24 +00:00
Boris Zbarsky
00ac432030 Improve documentation around 'concrete' in bindings. No bug. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D35465

--HG--
extra : moz-landing-system : lando
2019-06-21 06:50:52 +00:00
Boris Zbarsky
50150d0231 Bug 1559468 part 2. Move JS_DefineProfilingFunctions into dom::CreateGlobal. r=mccr8
Various callers either already call it or should but are forgetting to.  The exception is WorkerDebuggerGlobalScope_Binding::Wrap, but it should be OK to set up the profiling functions there too.

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

--HG--
extra : moz-landing-system : lando
2019-06-20 23:07:40 +00:00
longsonr
160c161d5f Bug 1551030 - Merge all SVGRect classes r=dholbert 2019-06-20 07:03:54 -07:00
Tooru Fujisawa
5e4375de8d Bug 1557056 - Use extended function only for self-hosted function that needs to store canonical name in extended slot. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D34983

--HG--
extra : moz-landing-system : lando
2019-06-19 20:00:24 +00:00
Logan Smyth
a1de03c27b Bug 1529345 - Part 2: Add Gecko infrastructure for receiving notifications about debugger-related events. r=jimb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D30565

--HG--
extra : moz-landing-system : lando
2019-06-17 04:36:29 +00:00
Dorel Luca
e12ad70ab7 Backed out 2 changesets (bug 1529345) for Windows 2012 build bustages
Backed out changeset 87aa4894b4a1 (bug 1529345)
Backed out changeset cf6f6281cb44 (bug 1529345)

--HG--
extra : rebase_source : b19274a3d20d3a1ea92f0fe1224ef30910e10916
2019-06-14 23:34:36 +03:00
Logan Smyth
77f27aa54c Bug 1529345 - Part 2: Add Gecko infrastructure for receiving notifications about debugger-related events. r=jimb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D30565

--HG--
extra : moz-landing-system : lando
2019-06-14 18:25:47 +00:00
Dorel Luca
6b40527932 Backed out 2 changesets (bug 1529345) for Build Bustage. CLOSED TREE
Backed out changeset 63f80a49839e (bug 1529345)
Backed out changeset 15bac42cc73a (bug 1529345)
2019-06-14 20:55:52 +03:00
Logan Smyth
c09e533d0e Bug 1529345 - Part 2: Add Gecko infrastructure for receiving notifications about debugger-related events. r=jimb,smaug
Differential Revision: https://phabricator.services.mozilla.com/D30565

--HG--
extra : moz-landing-system : lando
2019-06-14 17:14:13 +00:00
Eden Chuang
2e0a3f0ddb Bug 1546306 - Add an optional aFromChromeContext parameter to nsIScriptError::InitWithWindowID for the case the passed in windowId is zero. r=baku
In some cases, the nsIScriptError is initialized with zero innerWindowId, but is from chrome context.

For cases, this patch adds an optional aFromChromeContext parameter to nsIScriptError::InitWithWindowID, which default value is false.

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

--HG--
extra : moz-landing-system : lando
2019-06-13 09:50:49 +00:00
Peter Van der Beken
2f11f4dd4c Bug 1490044 - Convert WebIDL pref disablers to use StaticPrefs. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D33508

--HG--
extra : moz-landing-system : lando
2019-06-13 09:01:18 +00:00
Peter Van der Beken
8b00dd9ff2 Bug 1490044 - Move all prefs used in WebIDL to StaticPrefs. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D33507

--HG--
extra : moz-landing-system : lando
2019-06-13 09:00:59 +00:00
Andrew McCreight
391865dfe8 Bug 1557141 - IsRemoteObjectProxy shouldn't be static top level functions. r=bzbarsky
This will create copies of the function in each translation unit.

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

--HG--
extra : moz-landing-system : lando
2019-06-07 20:27:40 +00:00
Zibi Braniecki
307d0160a7 Bug 1552714 - Remove dom::l10n namespace and unify class naming. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D33739

--HG--
rename : dom/chrome-webidl/DOMOverlays.webidl => dom/chrome-webidl/L10nOverlays.webidl
rename : dom/l10n/Mutations.cpp => dom/l10n/L10nMutations.cpp
rename : dom/l10n/Mutations.h => dom/l10n/L10nMutations.h
rename : dom/l10n/DOMOverlays.cpp => dom/l10n/L10nOverlays.cpp
rename : dom/l10n/DOMOverlays.h => dom/l10n/L10nOverlays.h
rename : dom/l10n/tests/gtest/TestDOMOverlays.cpp => dom/l10n/tests/gtest/TestL10nOverlays.cpp
rename : dom/l10n/tests/mochitest/dom_localization/test_mutations.html => dom/l10n/tests/mochitest/dom_localization/test_l10n_mutations.html
rename : dom/l10n/tests/mochitest/mutations/test_append_content_post_dcl.html => dom/l10n/tests/mochitest/l10n_mutations/test_append_content_post_dcl.html
rename : dom/l10n/tests/mochitest/mutations/test_append_content_pre_dcl.html => dom/l10n/tests/mochitest/l10n_mutations/test_append_content_pre_dcl.html
rename : dom/l10n/tests/mochitest/mutations/test_append_fragment_post_dcl.html => dom/l10n/tests/mochitest/l10n_mutations/test_append_fragment_post_dcl.html
rename : dom/l10n/tests/mochitest/mutations/test_pause_observing.html => dom/l10n/tests/mochitest/l10n_mutations/test_pause_observing.html
rename : dom/l10n/tests/mochitest/mutations/test_set_attributes.html => dom/l10n/tests/mochitest/l10n_mutations/test_set_attributes.html
rename : dom/l10n/tests/mochitest/domoverlays/test_attributes.html => dom/l10n/tests/mochitest/l10n_overlays/test_attributes.html
rename : dom/l10n/tests/mochitest/domoverlays/test_extra_text_markup.html => dom/l10n/tests/mochitest/l10n_overlays/test_extra_text_markup.html
rename : dom/l10n/tests/mochitest/domoverlays/test_functional_children.html => dom/l10n/tests/mochitest/l10n_overlays/test_functional_children.html
rename : dom/l10n/tests/mochitest/domoverlays/test_domoverlays.xul => dom/l10n/tests/mochitest/l10n_overlays/test_l10n_overlays.xul
rename : dom/l10n/tests/mochitest/domoverlays/test_same_id.html => dom/l10n/tests/mochitest/l10n_overlays/test_same_id.html
rename : dom/l10n/tests/mochitest/domoverlays/test_same_id_args.html => dom/l10n/tests/mochitest/l10n_overlays/test_same_id_args.html
rename : dom/l10n/tests/mochitest/domoverlays/test_text_children.html => dom/l10n/tests/mochitest/l10n_overlays/test_text_children.html
extra : moz-landing-system : lando
2019-06-06 16:32:58 +00:00
Zibi Braniecki
fdd3cb9cbd Bug 1552714 - Move DocumentL10n to dom/l10n. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D32957

--HG--
rename : dom/webidl/DocumentL10n.webidl => dom/chrome-webidl/DocumentL10n.webidl
rename : intl/l10n/DocumentL10n.cpp => dom/l10n/DocumentL10n.cpp
rename : intl/l10n/DocumentL10n.h => dom/l10n/DocumentL10n.h
extra : moz-landing-system : lando
2019-06-06 16:31:44 +00:00
Zibi Braniecki
319ed7e3c9 Bug 1552714 - Extract DOMLocalization out of DocumentL10n. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D32397

--HG--
extra : moz-landing-system : lando
2019-06-06 16:31:25 +00:00
Thomas Nguyen
01ff0bf93f Bug 1534681 Use ReferrerInfo class in document r=ckerschb,baku,Gijs
Also, in many place, we use document uri as referrer. It is not right
for the case srdoc iframe. We should use the last non-srdoc parent
document's uri

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

--HG--
rename : testing/web-platform/tests/referrer-policy/generic/iframe-inheritance.html => testing/web-platform/tests/referrer-policy/generic/inheritance/iframe-inheritance-data.html
rename : testing/web-platform/tests/referrer-policy/generic/iframe-inheritance.html => testing/web-platform/tests/referrer-policy/generic/inheritance/iframe-inheritance-srcdoc.html
extra : moz-landing-system : lando
2019-06-06 07:23:37 +00:00
Boris Zbarsky
34522cf0c8 Bug 1555085. Don't assume that objects whose DOMObjectType is eInterface have a DOMIfaceAndProtoJSClass JSClass. r=peterv
Named constructors are eInterface but are plain Function objects, without a
DOMIfaceAndProtoJSClass class.

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

--HG--
extra : moz-landing-system : lando
2019-06-04 09:49:24 +00:00
Chris Manchester
399d530b9b Bug 1556185 - Ensure autoconf.mk is tracked as a dependency when preprocessing webidls. r=nalexander
webidlsrcs.mk is treated specially by the build system, and this entire
process should be supported better by moz.build, but in the meantime this
fixes the clobber bug caused by not re-building these targets when defines
are updated.

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

--HG--
extra : moz-landing-system : lando
2019-06-03 20:33:36 +00:00
Jon Coppeard
5d93091ef5 Bug 1555729 - Improve CallbackObject::CallbackPreserveColor comments to warn about use of Reset() r=bzbarsky?
Differential Revision: https://phabricator.services.mozilla.com/D33263

--HG--
extra : moz-landing-system : lando
2019-05-31 16:19:41 +00:00
Andrea Marchesini
b1b122fb20 Bug 1554464 - Merge nsICookie2 and nsICookie in 1 single interface, r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D33031

--HG--
extra : moz-landing-system : lando
2019-05-31 09:36:44 +00:00
Boris Zbarsky
7f4c22772f Bug 1553018 part 6. Allow [Pref] annotations on dictionary members. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D32947

--HG--
extra : moz-landing-system : lando
2019-05-30 17:23:06 +00:00
Boris Zbarsky
a4f8e9b452 Bug 1553018 part 5. Remove now-unused conditionSetup bits in getConditionList. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D32946

--HG--
extra : moz-landing-system : lando
2019-05-30 17:22:45 +00:00
Boris Zbarsky
561e744e8c Bug 1553018 part 4. Start using StaticPrefs for Pref visibility annotations on interface objects. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D32945

--HG--
extra : moz-landing-system : lando
2019-05-30 17:22:32 +00:00
Boris Zbarsky
e379022658 Bug 1551282 and bug 1553436. Allow pages to override window.u2f but not the "sign" and "register" properties on the U2F object. r=jcj,smaug
There are two related problems this patch is trying to address.  The first, and
simpler, one is bug 1553436: there are websites that use existing variables and
functions named "u2f" and adding a non-replaceable readonly property with that
name on Window breaks them.  The fix for this is straightforward: mark the
property [Replaceable].

The second problem, covered by bug 1551282, involves sites that use the Google
U2F polyfill.  The relevant parts of that polyfill look like this:

  'use strict';
  var u2f = u2f || {};
  u2f.register = some_function_that_only_works_right_in_Chrome;
  u2f.sign = some_function_that_only_works_right_in_Chrome;

The failure mode for that code before this fix is that the assignment to "u2f"
throws because it's a readonly property and we're in strict mode, so any code
the page concatenates in the same file after the polyfill does not get run.
That's what bug 1551282 is about.  The [Replaceable] annotation fixes that
issue, because now the polyfill gets the value of window.u2f and then redefines
the property (via the [Replaceable] setter) to be a value property with that
value.  So far, so good.

But then we need to prevent the sets of u2f.register
and u2f.sign from taking effect, because if they are allowed to happen, the
actual sign/register functionality on the page will not work in Firefox.  We
can't just make the properties readonly, because then the sets will throw due
to being in strict mode, and we still have bug 1551282.  The proposed fix is to
make these accessor properties with a no-op setter, which is exactly what
[LenientSetter] gives us.

The rest of the patch is just setting up infrastructure for generating the
normal bits we would generate if "sign" and "register" were methods and using
that to create the JSFunctions at the point when the getter is called.  The
JSFunctions then get cached on the u2f instance object.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 20:40:59 +00:00
shindli
54646b5a7c Backed out changeset 823ab2e5430a (bug 1551282) for Windows build bustages CLOSED TREE 2019-05-24 21:15:20 +03:00
Boris Zbarsky
943dde7841 Bug 1554195. Remove MSG_THIS_DOES_NOT_IMPLEMENT_INTERFACE. r=mccr8
I was clearly trying to do that in bug 882653 part 3 and failed to.  Our
current behavior of passing two args to this error message (which only takes
one arg) is silly, and the only thing that makes it at all sane is that we only
use it in class hooks, which can never have the wrong sort of object, so it's
unreached code.

The comment cleanup is just to make the role of CGAbstractBindingMethod. and
the validity of the changes to it, clearer.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 17:31:42 +00:00
Boris Zbarsky
cd062bb5d7 Bug 1551282 and bug 1553436. Allow pages to override window.u2f but not the "sign" and "register" properties on the U2F object. r=jcj,smaug
There are two related problems this patch is trying to address.  The first, and
simpler, one is bug 1553436: there are websites that use existing variables and
functions named "u2f" and adding a non-replaceable readonly property with that
name on Window breaks them.  The fix for this is straightforward: mark the
property [Replaceable].

The second problem, covered by bug 1551282, involves sites that use the Google
U2F polyfill.  The relevant parts of that polyfill look like this:

  'use strict';
  var u2f = u2f || {};
  u2f.register = some_function_that_only_works_right_in_Chrome;
  u2f.sign = some_function_that_only_works_right_in_Chrome;

The failure mode for that code before this fix is that the assignment to "u2f"
throws because it's a readonly property and we're in strict mode, so any code
the page concatenates in the same file after the polyfill does not get run.
That's what bug 1551282 is about.  The [Replaceable] annotation fixes that
issue, because now the polyfill gets the value of window.u2f and then redefines
the property (via the [Replaceable] setter) to be a value property with that
value.  So far, so good.

But then we need to prevent the sets of u2f.register
and u2f.sign from taking effect, because if they are allowed to happen, the
actual sign/register functionality on the page will not work in Firefox.  We
can't just make the properties readonly, because then the sets will throw due
to being in strict mode, and we still have bug 1551282.  The proposed fix is to
make these accessor properties with a no-op setter, which is exactly what
[LenientSetter] gives us.

The rest of the patch is just setting up infrastructure for generating the
normal bits we would generate if "sign" and "register" were methods and using
that to create the JSFunctions at the point when the getter is called.  The
JSFunctions then get cached on the u2f instance object.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 17:19:23 +00:00
Boris Zbarsky
3d0e0bba72 Bug 1121623 part 10. Use a more-accurate default value for 'concrete' in Web IDL bindings. r=peterv
The idea is that we should only generate concreate-binding (wrap methods, etc)
machinery for an interface by default if we have reason to expect that the
interface is used as the primary interface for some objects.  Two clear signals
that would indicate that are the interface being a leaf interface (with no
descendants) and the interface having a constructor.  Other cases would require
a 'concrete' annotation in Bindings.conf.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 10:43:37 +00:00
Boris Zbarsky
6f302d793c Bug 1121623 part 9. Change example codegen to not spit out WrapObject bits for non-concrete interfaces. r=peterv
This should keep people from marking things concrete unnecessarily just so
their example-generated WrapObject works.

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

--HG--
extra : moz-landing-system : lando
2019-05-24 07:34:33 +00:00
Boris Zbarsky
471d7a508d Bug 1121623 part 3. Switch WebrtcGlobalInformation to being a namespace. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D32201

--HG--
extra : moz-landing-system : lando
2019-05-24 07:22:22 +00:00
Boris Zbarsky
d51859cb38 Bug 1121623 part 2. Switch AddonManagerPermissions to being a namespace. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D32200

--HG--
extra : moz-landing-system : lando
2019-05-24 07:19:58 +00:00
Boris Zbarsky
28c8e552a8 Bug 1121623 part 1. Switch PromiseDebugging to being a namespace, since that's how we use it. r=peterv
Differential Revision: https://phabricator.services.mozilla.com/D32199

--HG--
extra : moz-landing-system : lando
2019-05-24 07:13:16 +00:00
Jeff Gilbert
047e98938e Bug 1536672 - Implement WebGL OVR_multiview2 behind draft flag. r=lsalzman,qdot
Also disable clang-format for gfx/gl/GLConsts.h.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 20:48:21 +00:00
Zibi Braniecki
2ee19983ae Bug 1546432 - Migrate DocumentL10n to use dom::l10n::Mutations. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D28981

--HG--
extra : moz-landing-system : lando
2019-05-21 19:46:32 +00:00
Mihai Alexandru Michis
354eec452c Backed out changeset a649f69f29df (bug 1536672) for failing crashtest at WebGLContextValidate.cpp. CLOSED TREE 2019-05-23 10:57:29 +03:00
Jeff Gilbert
fb7050f9bf Bug 1536672 - Implement WebGL OVR_multiview2 behind draft flag. r=lsalzman,qdot
Also disable clang-format for gfx/gl/GLConsts.h.

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

--HG--
extra : moz-landing-system : lando
2019-05-23 02:43:11 +00:00
Boris Zbarsky
3022e3c3fb Bug 1553286. Mark legacycall hooks (and a few other binding hooks) as MOZ_CAN_RUN_SCRIPT. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D32053

--HG--
extra : moz-landing-system : lando
2019-05-22 02:50:55 +00:00
Tooru Fujisawa
66e25f6243 Bug 1549340 - Part 2: Use union instead of reinterpret_cast to initialize const char* with symbol for JSPropertySpec.name. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D30493

--HG--
extra : moz-landing-system : lando
2019-05-13 10:26:48 +00:00
Csoregi Natalia
e3fa16f6f6 Backed out changeset 1760c6913c09 (bug 1549340) for rust bustage. CLOSED TREE
--HG--
extra : rebase_source : 19015aa11df57b8026881f6a86a4714887ec0244
2019-05-10 18:16:09 +03:00
Tooru Fujisawa
9fa8a62e9e Bug 1549340 - Part 2: Use union instead of reinterpret_cast to initialize const char* with symbol for JSPropertySpec.name. r=jandem
Differential Revision: https://phabricator.services.mozilla.com/D30493

--HG--
extra : moz-landing-system : lando
2019-05-10 14:08:07 +00:00
Boris Chiou
7ab6e6d017 Bug 1545239 - Update ResizeObserver and ResizeObserverEntry. r=smaug,dholbert
In this patch, we support
1. content-box (default)
2. border-box

And let ResizeObserverEntry expose these box sizes.

Besides, we store the mLastReportedSize as the logical size.

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

--HG--
extra : moz-landing-system : lando
2019-05-08 20:54:36 +00:00
Brian Hackett
ab337aa92c Bug 1392408 Part 3 - Report stacks to net monitor when loading worker scripts, r=bzbarsky.
--HG--
extra : rebase_source : c4b52354dc9c71bb86cd157f0f710d01b78659e5
2019-05-02 08:34:27 -10:00
Zibi Braniecki
28c31b907a Bug 1548798 - Switch SequenceRooter, RecordRooter and RootedUnion to use RootedContext. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D29810

--HG--
extra : moz-landing-system : lando
2019-05-03 16:07:21 +00:00
Boris Zbarsky
517a6ebdd7 Bug 1547923 part 6. Make nsIGlobalObject::GetGlobalJSObject always expose to active JS. r=mccr8
See callsite audit in https://bugzilla.mozilla.org/attachment.cgi?id=9061976
for details on why the remaining GetGlobalJSObject callers should switch to the
"always expose" behavior.

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

--HG--
extra : moz-landing-system : lando
2019-05-02 21:36:15 +00:00
Boris Zbarsky
356eb6dfd9 Bug 1547923 part 5. Start using nsIGlobalObject::GetGlobalJSObjectPreserveColor where possible. r=mccr8,jonco
Differential Revision: https://phabricator.services.mozilla.com/D29706

--HG--
extra : moz-landing-system : lando
2019-05-03 15:15:31 +00:00
Boris Zbarsky
ff72e84ac1 Bug 1547923 part 4. Add nsIGlobalObject::HasJSGlobal(). r=mccr8
Consumers that just care about this boolean state should use this instead of
getting the JSObject* directly.

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

--HG--
extra : moz-landing-system : lando
2019-05-02 21:32:17 +00:00
Boris Zbarsky
5c1d789bfa Bug 1547923 part 3. Add nsIGlobalObject::GetGlobalJSObjectPreserveColor(). r=mccr8
This can be used in things like assertions or some other rare circumstances
where not exposing the object to active JS is OK.

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

--HG--
extra : moz-landing-system : lando
2019-05-02 21:23:35 +00:00
Coroiu Cristina
3b1ccb8045 Merge mozilla-central to inbound a=merge 2019-05-01 07:27:22 +03:00
Steve Fink
8484af2fa6 Bug 1547782 - Implement GCPolicy<T>::isValid for Gecko specializations r=jonco
Differential Revision: https://phabricator.services.mozilla.com/D29302

--HG--
extra : moz-landing-system : lando
2019-04-30 21:48:32 +00:00
Fariskhi Vidyan
b2514b847b Bug 1272409 - Part 2: Add ResizeObserver webidl and implementation. r=dholbert,smaug
This implements the first version of spec, so the webidl file doesn't
match the current spec and we will fix them in the follow-up bugs.

i.e.
1. The default observer box is content-box.
2. `ResizeObserverBoxOptions`, `ResizeObserverOptions`, and `ResizeObserverSize`
   are not included in `ResizeObserver.webidl`.
3. `ResizeObserverEntry` doesn't have `borderBoxSize` and `contentBoxSize`
   attributes.

Depends on D27615

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

--HG--
extra : moz-landing-system : lando
2019-04-26 20:29:14 +00:00
Boris Zbarsky
99bd4f897d Bug 1317658 part 2. Pass enough information to bindings' GetDesiredProto to allow it to return the prototype the spec says it should. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D28518

--HG--
extra : moz-landing-system : lando
2019-04-26 15:55:59 +00:00
Boris Zbarsky
5b875fd884 Bug 1317658 part 1. Remove unnecessary isConstructing check from GetDesiredProto, now that all callers ensure that we are in fact constructing. r=edgar
Binding constructors started doing that in bug 979591.

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

--HG--
extra : moz-landing-system : lando
2019-04-24 11:28:46 +00:00
Tooru Fujisawa
56585dc81e Bug 1543843 - Add constructors to JSPropertySpec and inner structs/unions. r=jwalden
Differential Revision: https://phabricator.services.mozilla.com/D27277

--HG--
extra : moz-landing-system : lando
2019-04-26 01:01:15 +00:00
Daniel Varga
46db25d004 Backed out 5 changesets (bug 1272409) for build bustage at /builds/worker/workspace/build/src/dom/base/nsGlobalWindowCommands. On a CLOSED TREE
Backed out changeset 2ad8260489d6 (bug 1272409)
Backed out changeset 224dad4cbdc3 (bug 1272409)
Backed out changeset 72775dbf35c8 (bug 1272409)
Backed out changeset c331a4a8b343 (bug 1272409)
Backed out changeset d817fbfc52b6 (bug 1272409)
2019-04-26 02:41:43 +03:00
Fariskhi Vidyan
3d0af6e0c6 Bug 1272409 - Part 2: Add ResizeObserver webidl and implementation. r=dholbert,smaug
This implements the first version of spec, so the webidl file doesn't
match the current spec and we will fix them in the follow-up bugs.

i.e.
1. The default observer box is content-box.
2. `ResizeObserverBoxOptions`, `ResizeObserverOptions`, and `ResizeObserverSize`
   are not included in `ResizeObserver.webidl`.
3. `ResizeObserverEntry` doesn't have `borderBoxSize` and `contentBoxSize`
   attributes.

Depends on D27615

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

--HG--
extra : moz-landing-system : lando
2019-04-25 18:30:06 +00:00
Zibi Braniecki
0e59a5d8f4 Bug 1544118 - Move nsINode::localize to use DocumentL10n::TranslateFragment. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D28269

--HG--
extra : moz-landing-system : lando
2019-04-24 10:35:37 +00:00
Noemi Erli
7bb9457084 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-04-24 12:57:59 +03:00
Zibi Braniecki
0890bbe4c2 Bug 1503657 - Implement Fluent DOMOverlays in C++. r=smaug,Pike
Differential Revision: https://phabricator.services.mozilla.com/D27200

--HG--
extra : moz-landing-system : lando
2019-04-24 05:05:11 +00:00
Emilio Cobos Álvarez
1b45496357 Bug 1546467 - Preserve reflectors of custom elements when they already have one. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D28542

--HG--
extra : moz-landing-system : lando
2019-04-23 21:01:39 +00:00
Ciure Andrei
d753cf6b80 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2019-04-24 07:30:32 +03:00
Ryan Hunt
3675f2449b Bug 1534395 - Rename nsITabParent to nsIRemoteTab. r=nika,mconley
nsITabParent is exposed to frontend code and is generally used as a representation of a remote tab. We could just rename the interface to nsIBrowserParent and worry about it later, but I think it's better to rename the interface to nsIRemoteTab so that we can later work on splitting the interface away from the PBrowser protocol.

Note: Some frontend code refers to a TabParentId. This commit renames this to RemoteTabId. We need to figure out the purpose of TabId with fission.

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

--HG--
rename : dom/interfaces/base/nsITabParent.idl => dom/interfaces/base/nsIRemoteTab.idl
extra : rebase_source : 9d8a1790a7bb10195ad063644d1a93d63b2afb72
2019-04-09 15:59:37 -05:00
Olli Pettay
779ae5beb3 Bug 1544670, don't let one to reuse unlinked CallbackObjectHolder, r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D27732

--HG--
extra : moz-landing-system : lando
2019-04-17 11:41:31 +00:00
Rob Wu
4a6f84f91d Bug 1544834 - Replace deprecated generics in test code r=evilpie
- `Array.map` becomes `Array.from`
- Array copying via `Array.slice` becomes `Array.from`.
- `Array.forEach` that did not rely on closures becomes `for`-`of` loops.
- Anything else: `Array.X` becomes `Array.prototype.X`.

Complex cases:

dom/bindings/test/TestInterfaceJS.js and
dom/bindings/test/test_exception_options_from_jsimplemented.html
use `Array.indexOf` to generate an error with a specific error message.
Switched to `Array.prototype.forEach` to generate the same error.

js/src/jit-test/tests/basic/exception-column-number.js
In this test `Array.indexOf()` is used to generate an error. Since the
exact message doesn't matter, I switched to `Array.from()`.

Intentionally not changed:

editor/libeditor/tests/browserscope/lib/richtext/richtext/js/range.js
Did not modify because this is 3rd-party code and the code uses
feature detection as a fall back when Array generics are not used.

testing/talos/talos/tests/dromaeo/lib/mootools.js
Did not modify because mootools adds the `Array.slice` method to the
`Array` object.

Not changed because they check the implementation of Array generics:
js/src/jit-test/tests/basic/arrayNatives.js
js/src/jit-test/tests/basic/bug563243.js
js/src/jit-test/tests/basic/bug618853.js
js/src/jit-test/tests/basic/bug830967.js
js/src/jit-test/tests/jaeger/recompile/bug656753.js
js/src/jit-test/tests/self-hosting/alternate-static-and-instance-array-extras.js
js/src/tests/non262/Array/generics.js
js/src/tests/non262/Array/regress-415540.js
js/src/tests/non262/extensions/regress-355497.js
js/src/tests/non262/extensions/typedarray-set-neutering.js

Depends on D27802

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

--HG--
extra : moz-landing-system : lando
2019-04-17 19:03:19 +00:00
Boris Zbarsky
d31e7ee991 Bug 1534593 part 3. Initialize JSObject* entries in Record types. r=qdot
Differential Revision: https://phabricator.services.mozilla.com/D27562

--HG--
extra : moz-landing-system : lando
2019-04-16 19:18:52 +00:00