Karl Tomlinson
efbfbbfcf1
Bug 1832479 reflow video elements with natural size from metadata r=pehrsons
...
The spec is inconsistent [1] about whether this size from metadata should be
used, but having predictable behavior in Firefox is better than having the
size change unexpectedly because something unrelated triggers a reflow and
this change makes Firefox consistent with Chrome.
[1] https://github.com/whatwg/html/issues/9279
Differential Revision: https://phabricator.services.mozilla.com/D177984
2023-05-17 01:36:59 +00:00
Karl Tomlinson
f92ec4bbae
Bug 1832479 use types for decoder owner Invalidate() boolean parameters r=pehrsons
...
for safety and readability.
Differential Revision: https://phabricator.services.mozilla.com/D177983
2023-05-16 21:30:29 +00:00
Emilio Cobos Álvarez
ded1458b5b
Bug 1829189 - Make OnAttrSetButNotChanged and AfterSetAttr infallible. r=smaug
...
Same rg + sed shenanigans as the first patch.
There were two that could fail, both due to OOM:
* HTMLInputElement::AfterSetAttr: If we fail (only in the type=range
case) we end up with an old value without it being clamped by
min/max/step.
* HTMLBodyElement::AfterSetAttr: If we fail we won't peek up the
DocShell's frame margins and styling could be incorrect.
That seems better than having to deal with broken states after we've
already set the attribute.
Depends on D176069
Differential Revision: https://phabricator.services.mozilla.com/D176070
2023-04-21 08:56:27 +00:00
Emilio Cobos Álvarez
c195031050
Bug 1825825 - Simplify NAC setup. r=smaug
...
Make all UA widgets also NAC.
Keep the UA widget flag but break at anonymous subtree boundaries, so
that only nodes inside the UA widget directly (and not NAC from those)
get the flag.
This is important because two callers depend on this difference:
* The style system, since we still want to match content rules from
stylesheets in the UA widget. We also match user rules, which is a
bit sketchy, but that was the previous behavior, will file a
follow-up for that.
* The reflector code, since we want the scope for UA widgets to not
include the NAC nodes inside that UA widget. nsINode::IsInUAWidget
got it wrong.
After this patch, ChromeOnlyAccess is equivalent to
IsInNativeAnonymousSubtree, so we should probably unify the naming.
That's left for a follow-up patch because I don't have a strong
preference.
Differential Revision: https://phabricator.services.mozilla.com/D174310
2023-04-05 09:19:15 +00:00
Andreas Pehrson
04981fbabb
Bug 1807215 - Make the intrinsic size arg in MediaDecoderOwner::Invalidate a const ref. r=padenot
...
Differential Revision: https://phabricator.services.mozilla.com/D174083
2023-04-03 08:36:39 +00:00
Andi-Bogdan Postelnicu
011e3fc2d9
Bug 1660405 - Move away from mozilla::IsNaN in favor of std::isnan. r=nbp,media-playback-reviewers,sergesanspaille,padenot
...
Differential Revision: https://phabricator.services.mozilla.com/D173035
2023-03-22 11:35:33 +00:00
Stanca Serban
98c675ed3f
Backed out 7 changesets (bug 1660405) for causing bustages on Linux x64 opt. CLOSED TREE
...
Backed out changeset ad1a5f59214f (bug 1660405)
Backed out changeset a39e95f0aafe (bug 1660405)
Backed out changeset 48629ee0d70d (bug 1660405)
Backed out changeset 8419b99aab60 (bug 1660405)
Backed out changeset 535cc12c8bed (bug 1660405)
Backed out changeset e27052da4927 (bug 1660405)
Backed out changeset 11b0f9cf8091 (bug 1660405)
2023-03-22 13:05:53 +02:00
Andi-Bogdan Postelnicu
5e0156c1e4
Bug 1660405 - Move away from mozilla::IsNaN in favor of std::isnan. r=nbp,media-playback-reviewers,sergesanspaille,padenot
...
Differential Revision: https://phabricator.services.mozilla.com/D173035
2023-03-22 09:27:56 +00:00
alwu
db08a6d91a
Bug 1820723 - do not create wakelock if XPCOM has started shutdown. r=media-playback-reviewers,jolin
...
Differential Revision: https://phabricator.services.mozilla.com/D172031
2023-03-09 18:08:43 +00:00
Tom Schuster
46046879fd
Bug 1813584 - Use fine grained RFP for CubebUtils::PreferredSampleRate. r=media-playback-reviewers,alwu
...
Differential Revision: https://phabricator.services.mozilla.com/D168523
2023-02-15 10:55:31 +00:00
Paul Adenot
37f9d98503
Bug 1812542 - Rename nsMediaElement and nsMediaElementEvents log modules. r=media-playback-reviewers,kinetik
...
Differential Revision: https://phabricator.services.mozilla.com/D167913
2023-01-27 17:10:47 +00:00
alwu
991c4644f7
Bug 1773551 - part1 : move AutoplayPolicy to media namespace in order to prevent naming collision. r=media-playback-reviewers,padenot
...
Differential Revision: https://phabricator.services.mozilla.com/D164748
2022-12-19 20:57:54 +00:00
alwu
203938c43b
Bug 1803834 - part2 : pause/resume non-audible autoplay video when its visibility changes. r=media-playback-reviewers,padenot
...
https://html.spec.whatwg.org/multipage/media.html#ready-states:eligible-for-autoplay-2
Depends on D163741
Differential Revision: https://phabricator.services.mozilla.com/D163742
2022-12-06 18:21:39 +00:00
alwu
d124f21b3c
Bug 1803834 - part1 : rename mAutoplaying to 'mCanAutoplayFlag'. r=media-playback-reviewers,padenot
...
Our current attribute `mAutoplaying` seems be equal to the `can
autoplay flag` defined in the spec, so rename it to the spec name.
https://html.spec.whatwg.org/multipage/media.html#can-autoplay-flag
Differential Revision: https://phabricator.services.mozilla.com/D163741
2022-12-06 18:21:39 +00:00
Martin Robinson
62878408df
Bug 1803377 - Rename the values of the IntrinsicDirty enum r=emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D163607
2022-12-02 12:27:31 +00:00
Andreas Pehrson
ec4fa4139b
Bug 1796069 - Annotate MediaStreamTrackSources with a tracking id and apply it to CopyVideoStages. r=padenot
...
This will allow time consuming tasks (copies, capture, etc.) along the pipe to
be grouped per-track-source when visualizing profiler markers.
Differential Revision: https://phabricator.services.mozilla.com/D160754
2022-12-01 09:52:46 +00:00
Botond Ballo
bcf265578a
Bug 1802225 - Remove Layers.{h,cpp}. r=tnikkel,geckoview-reviewers,jgilbert,media-playback-reviewers,padenot,m_kato
...
Where appropriate, `#include "Layers.h"` is replaced with
more specific inclusions.
Differential Revision: https://phabricator.services.mozilla.com/D162934
2022-11-29 01:52:03 +00:00
Karl Tomlinson
be92f3aece
Bug 1786306 merge AudioStreamTrack::SetAudioOutputDevice() into AddAudioOutput() r=padenot
...
The SetAudioOutputDevice() implementation required a subsequent
AddAudioOutput() call, so there is no need to have separate methods.
Differential Revision: https://phabricator.services.mozilla.com/D158310
2022-09-30 04:13:35 +00:00
Brad Werth
0f8e1e30b5
Bug 1787561 Part 2: Expose HDR telemetry to HTMLMediaElement as a Chrome property. r=alwu,emilio
...
This is necessary scaffolding for testing of the HDR telemetry in a way
that involves the RDD process. This is important for matching real-world
conditions.
Depends on D155902
Differential Revision: https://phabricator.services.mozilla.com/D156245
2022-09-08 18:02:04 +00:00
Kershaw Chang
bd7389a309
Bug 1760580 - P2: Provide a reason when request is cancelled with NS_BINDING_ABORTED, r=necko-reviewers,media-playback-reviewers,valentin,chunmin
...
Differential Revision: https://phabricator.services.mozilla.com/D156071
2022-09-08 09:11:19 +00:00
criss
e11e938522
Backed out 3 changesets (bug 1787561) for causing mochitest failures on browser_tab_visibility_and_play_time.js
...
Backed out changeset a41ab0c5f32f (bug 1787561)
Backed out changeset c1375f03dc75 (bug 1787561)
Backed out changeset afef5857aea6 (bug 1787561)
2022-09-07 23:49:05 +03:00
Brad Werth
f83b217e6c
Bug 1787561 Part 2: Expose HDR telemetry to HTMLMediaElement as a Chrome property. r=alwu,emilio
...
This is necessary scaffolding for testing of the HDR telemetry in a way
that involves the RDD process. This is important for matching real-world
conditions.
Depends on D155902
Differential Revision: https://phabricator.services.mozilla.com/D156245
2022-09-07 18:31:46 +00:00
Emilio Cobos Álvarez
f5ebb46f7e
Bug 1785089 - Minor drive-by clean-ups. r=alwu
...
Differential Revision: https://phabricator.services.mozilla.com/D154800
2022-08-17 21:07:27 +00:00
Emilio Cobos Álvarez
11f33a1c5d
Bug 1785089 - Don't spam the console and front-end with autoplay blocked events. r=alwu
...
Once per video should be enough.
Differential Revision: https://phabricator.services.mozilla.com/D154798
2022-08-17 21:02:44 +00:00
Chun-Min Chang
5bd99e209b
Bug 1776796 - Rename MarkAsContentSource r=media-playback-reviewers,alwu
...
`HTMLMediaElement::MarkAsContentSource` [1] was added in Bug 1299718 to
monitor the visibility / invisibility of various usage of video element.
However, that telemetry had been removed in Bug 1356046.
`MarkAsContentSource` is only used for logging currently. It's better to
reword its name and related comments to bring the code in line with the
current status.
[1] https://searchfox.org/mozilla-central/rev/5b2d2863bd315f232a3f769f76e0eb16cdca7cb0/dom/html/HTMLMediaElement.h#799
Differential Revision: https://phabricator.services.mozilla.com/D150434
2022-07-27 00:20:45 +00:00
Emilio Cobos Álvarez
1c58e2a928
Bug 1773070 - Unify Gecko and Servo EventState/ElementState bits. r=smaug
...
Add a dom/base/rust crate called just "dom" where we can share these.
Most of the changes are automatic:
s/mozilla::EventStates/mozilla::dom::ElementState/
s/EventStates/ElementState/
s/NS_EVENT_STATE_/ElementState::/
s/NS_DOCUMENT_STATE_/DocumentState::/
And so on. This requires a new cbindgen version to avoid ugly casts for
large shifts.
Differential Revision: https://phabricator.services.mozilla.com/D148537
2022-06-07 23:09:52 +00:00
june wilde
5ed20b4307
Bug 1731614 - Clarify error phrasing in NoSupportedMediaSourceError; r=ckerschb,dveditz
...
Differential Revision: https://phabricator.services.mozilla.com/D145576
2022-05-23 21:27:48 +00:00
Kagami Sascha Rosylight
ca80f84bf8
Bug 1767996 - Apply readability-make-member-function-const on dom/html r=smaug
...
Differential Revision: https://phabricator.services.mozilla.com/D145627
2022-05-13 05:35:25 +00:00
az
92ad30e0bc
Bug 1652950 - Unprefix mozPreservesPitch, update corresponding tests r=emilio,saschanaz
...
Differential Revision: https://phabricator.services.mozilla.com/D143237
2022-04-20 18:43:47 +00:00
ashley
2458bfed11
Bug 1744398 - Media element load algorithm must fire 'emptied' before 'timeupdate' r=alwu
...
Differential Revision: https://phabricator.services.mozilla.com/D142628
2022-04-01 18:26:05 +00:00
Bryce Seager van Dyk
a9985759da
Bug 1724106 - Clarify threading usage when getting media debug info. r=alwu
...
Differential Revision: https://phabricator.services.mozilla.com/D124104
2022-03-29 22:17:58 +00:00
Paul Adenot
6f5a211ec1
Bug 1272636 - Reset HTMLMediaElement.played when loading a new source. r=media-playback-reviewers,alwu
...
Differential Revision: https://phabricator.services.mozilla.com/D139925
2022-03-08 13:05:28 +00:00
Paul Adenot
65248351ec
Bug 1630569 - Change the limit at which audio is muted with high or low playback rates, and make it and other parameters configurable via prefs. r=alwu
...
Differential Revision: https://phabricator.services.mozilla.com/D135066
2022-01-05 18:11:58 +00:00
Masayuki Nakano
628f3ba93c
Bug 1455514 - part 1: Add accessors and static helper methods to retrieve nsINode or its concrete classes from EventTarget r=smaug
...
Currently, checking whether an `EventTarget` is `nsINode` (or its concrete
classes) or not requires a QI, but it's expensive and used a lot while we
handle each event. Therefore, it'd be nicer for creating a virtual method,
`EventTarget::IsNode()` and use it for the check.
If trying to convert `EventTarget` to a concrete class, it may require two
virtual method calls. I'm not sure whether it's cheaper than a QI, but at
least, it won't depend on the UUID check order of `QueryInterface()` when
multiple interfaces are implemented.
Differential Revision: https://phabricator.services.mozilla.com/D129781
2021-11-02 13:03:43 +00:00
Jeff Muizelaar
170874e13c
Bug 1736077 - Remove unusued LayerManager.cpp. r=gfx-reviewers,lsalzman
...
Differential Revision: https://phabricator.services.mozilla.com/D128632
2021-10-17 01:28:41 +00:00
Paul Adenot
fa471bffbf
Bug 1678373 - Add a way to measure the duration a media was muted. r=alwu,webidl,emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D125088
2021-10-12 09:03:53 +00:00
Paul Adenot
378544d209
Bug 1678373 - Expose audio telemetry counters as chrome-only attributes like their video counterparts. r=alwu,webidl,emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D125084
2021-10-12 09:03:52 +00:00
Paul Adenot
f847331ea9
Bug 1678373 - Rename chrome-only telemetry counter attributes to distinguish audio and video. r=alwu,webidl,emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D125083
2021-10-12 09:03:52 +00:00
Alexandru Michis
49a60b8e39
Backed out 24 changesets (bug 1678373) for causing bc failures in browser_tab_visibility_and_play_time.js
...
CLOSED TREE
Backed out changeset 1886dbd81c46 (bug 1678373)
Backed out changeset aeff26b5b1ae (bug 1678373)
Backed out changeset 261d8e4483d4 (bug 1678373)
Backed out changeset 89cb5ae23632 (bug 1678373)
Backed out changeset b1eaedd192ab (bug 1678373)
Backed out changeset 58a3eb19c818 (bug 1678373)
Backed out changeset b027ec789cbe (bug 1678373)
Backed out changeset fd596a84feb9 (bug 1678373)
Backed out changeset 1f0ed0392ae2 (bug 1678373)
Backed out changeset ac2be1df81af (bug 1678373)
Backed out changeset bf6d47905d78 (bug 1678373)
Backed out changeset a9fe4f310962 (bug 1678373)
Backed out changeset a15316058968 (bug 1678373)
Backed out changeset 217cdfd46120 (bug 1678373)
Backed out changeset c33c8411129b (bug 1678373)
Backed out changeset 3b854fc36abf (bug 1678373)
Backed out changeset e47c82bcb49a (bug 1678373)
Backed out changeset 2a77cbba1c9f (bug 1678373)
Backed out changeset 65206afede36 (bug 1678373)
Backed out changeset bd04930155f4 (bug 1678373)
Backed out changeset 034e8edd4619 (bug 1678373)
Backed out changeset ed1e56487c4c (bug 1678373)
Backed out changeset b7673d20c521 (bug 1678373)
Backed out changeset 5a93251e2fea (bug 1678373)
2021-10-07 20:36:47 +03:00
Paul Adenot
027d553f00
Bug 1678373 - Add a way to measure the duration a media was muted. r=alwu,webidl,emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D125088
2021-10-07 15:44:54 +00:00
Paul Adenot
d4c37b39d0
Bug 1678373 - Expose audio telemetry counters as chrome-only attributes like their video counterparts. r=alwu,webidl,emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D125084
2021-10-07 15:44:53 +00:00
Paul Adenot
03580ad5e7
Bug 1678373 - Rename chrome-only telemetry counter attributes to distinguish audio and video. r=alwu,webidl,emilio
...
Differential Revision: https://phabricator.services.mozilla.com/D125083
2021-10-07 15:44:53 +00:00
Paul Adenot
51bf8da007
Bug 1733109 - function 'mozilla::dom::HTMLMediaElement::MozGetMetadata' has a definition with different parameter names in HTMLMediaElement.cpp. r=alwu
...
Depends on D126946
Differential Revision: https://phabricator.services.mozilla.com/D126947
2021-09-30 12:36:18 +00:00
Paul Adenot
054d2b2d5c
Bug 1733109 - narrowing conversion from 'double' to 'float' in HTMLMediaElement.cpp. r=alwu
...
Depends on D126945
Differential Revision: https://phabricator.services.mozilla.com/D126946
2021-09-30 12:36:18 +00:00
Paul Adenot
f33c519cf5
Bug 1733109 - 'auto cdmProxy' can be declared as 'auto *cdmProxy' in HTMLMediaElement.cpp. r=alwu
...
Depends on D126944
Differential Revision: https://phabricator.services.mozilla.com/D126945
2021-09-30 12:36:18 +00:00
Paul Adenot
174e8e196a
Bug 1733109 - do not use 'else' after 'return' in HTMLMediaElement.cpp. r=alwu
...
Depends on D126943
Differential Revision: https://phabricator.services.mozilla.com/D126944
2021-09-30 12:36:17 +00:00
Paul Adenot
31a266b246
Bug 1733109 - local copy 'handle' of the variable 'aPrincipalHandle' is never modified; consider avoiding the copy in HTMLMediaElement.cpp. r=alwu
...
Depends on D126942
Differential Revision: https://phabricator.services.mozilla.com/D126943
2021-09-30 12:36:17 +00:00
Paul Adenot
d447721daa
Bug 1733109 - 'auto decoder' can be declared as 'auto *decoder' in HTMLMediaElement.cpp. r=alwu
...
Depends on D126941
Differential Revision: https://phabricator.services.mozilla.com/D126942
2021-09-30 12:36:16 +00:00
Paul Adenot
25838fea3c
Bug 1733109 - 'auto decoder' can be declared as 'auto *decoder' in HTMLMediaElement.cpp. r=alwu
...
Depends on D126940
Differential Revision: https://phabricator.services.mozilla.com/D126941
2021-09-30 12:36:16 +00:00
Paul Adenot
d880a5593c
Bug 1733109 - move constructors should be marked noexcept HTMLMediaElement.cpp. r=alwu
...
We don't use exceptions anyways, but having no warnings allows warning us when
warnings appear, so let's fix this.
Depends on D126939
Differential Revision: https://phabricator.services.mozilla.com/D126940
2021-09-30 12:36:16 +00:00