924 Commits
Author SHA1 Message Date
Randell Jesup 73565e8f6a Bug 2044796: Avoid crashes if vsync timer fires after MainThread shutdown r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D304572
2026-06-03 21:45:34 +00:00
Bas Schouten cc4a6379e9 Bug 2036782: Add annotation to BHR reports for whether a paint is pending. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D298281
2026-05-18 06:37:49 +00:00
Daniel Holbert c3379cae26 Bug 2036979: Use "return do_AddRef(new ...)" pattern in VsyncRefreshDriverTimer factory methods. r=smaug
This simplifies a two-part return statement into a single expression, while
also enforcing (via already_AddRefed) that the caller must not discard the
returned value.

Differential Revision: https://phabricator.services.mozilla.com/D298471
2026-05-06 22:29:36 +00:00
Cristian Tuns be8c54e3a0 Revert "Bug 2036400 - Initialize uninitialized scalar fields in layout to fix Coverity uninitialized-scalar defects r=layout-reviewers,emilio" for causing build bustages in SVGFilterInstance.h
This reverts commit 8b52e50a4f.
2026-05-05 07:13:05 +00:00
Sylvestre Ledru 8b52e50a4f Bug 2036400 - Initialize uninitialized scalar fields in layout to fix Coverity uninitialized-scalar defects r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D298137
2026-05-05 06:45:16 +00:00
Daniel Holbert 955f0ef940 Bug 2036951: Allocate reference-counted objects for nsCOMPtr variables using MakeAndAddRef, in various places within layout. r=layout-reviewers,TYLin
This is similar to the previous patch in this series, but now for spots where
the object gets stored in a nsCOMPtr rather than a RefPtr.

For these cases, I opted to use MakeAndAddRef instead of MakeRefPtr (though
either would work), because:
* The hypothetical statement `nsCOMPtr<Foo> a = MakeRefPtr<Foo>();` would risk
  looking like a typo to humans, since it's explicitly making one kind of
  pointer and then putting it in another kind of pointer).
* In contrast, MakeAndAddRef is less particular (in its name) about what flavor
  of reference-counted pointer it's claiming to be producing (because it
  returns an already_AddRefed<T>, which nsCOMPtr and nsRefPtr are both happy to
  consume).
* We already follow this pattern in several other places, e.g. here:
https://searchfox.org/firefox-main/rev/a353242aeafd56b2c21a2c0672ecb51ea1b81142/dom/ipc/BrowserParent.cpp#3091

Differential Revision: https://phabricator.services.mozilla.com/D298453
2026-05-05 06:23:26 +00:00
Daniel Holbert f67f00d372 Bug 2036951: Use 'MakeRefPtr' instead of 'new' to allocate reference-counted objects, in various places within layout. r=layout-reviewers,TYLin
Differential Revision: https://phabricator.services.mozilla.com/D298452
2026-05-05 06:23:23 +00:00
Nazım Can Altınova fac0322d2d Bug 2023342 - Dispatch event timing entries when the refresh driver doesn't tick r=smaug
This is a spec bug currently: https://github.com/w3c/event-timing/issues/123

When no paint is pending, event timing entries would stay in the pending
queue indefinitely until unrelated activity triggered a repaint. For
example, a keydown event on a div that doesn't trigger any paint. The
following patch adds a wpt test for this specifically.

Differential Revision: https://phabricator.services.mozilla.com/D288419
2026-03-25 15:42:22 +00:00
Sylvestre Ledru 55481ac4b5 Bug 2023419 - Remove Emacs/Vim modelines from layout/ r=emilio,firefox-style-system-reviewers,layout-reviewers
replaced by .editorconfig

Differential Revision: https://phabricator.services.mozilla.com/D287852
2026-03-17 12:05:43 +00:00
Olli Pettay 30b5eec250 Bug 2009384 - Implement Document reveal algorithm, r=emilio,layout-reviewers
Fix also order-in-new-document-navigation.html to not rely on bogus ordering of
pageshow and pagereveal. Those events are dispatched by tasks from different task sources, so
the ordering isn't guaranteed. pageshow is dispatched from a task from DOM manipulation task source and
pagereveal from rendering task source.

Differential Revision: https://phabricator.services.mozilla.com/D278513
2026-01-15 23:13:28 +00:00
Atila Butkovits d0a9f5fcdc Revert "Bug 2009499, Bug 2009384 - Add onpagereveal attribute, r=vhilla,webidl,emilio" for causing failures at order-in-new-document-navigation.html.
This reverts commit e501886dfd.

Revert "Bug 2009384 - Implement Document reveal algorithm, r=emilio,layout-reviewers"

This reverts commit e1f2f389d3.
2026-01-13 00:26:09 +00:00
Olli Pettay e1f2f389d3 Bug 2009384 - Implement Document reveal algorithm, r=emilio,layout-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D278513
2026-01-12 22:08:57 +00:00
Daniel Holbert f0ae0ea567 Bug 2007110: Reorder popup painting logic to fix checkbox paint invalidation. r=emilio,layout-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D277628
2025-12-30 15:15:12 +00:00
Boris Chiou 10f1e6fd49 Bug 1817051 - Part 1: Add AnimationTimelinesController. r=layout-reviewers,hiro,dom-core,smaug
We wrap the list of timelines attached to the document into a controller,
so this makes it easier to support diffrerent types of timelines, e.g.
scroll-timeline.

We will add the implementation of scroll timelines in the following
patches.

Differential Revision: https://phabricator.services.mozilla.com/D269663
2025-12-16 07:15:58 +00:00
Cristina Horotan d0cad31fea Revert "Bug 1817051 - Part 3: Start to sample scroll timeline in the HTML loop. r=firefox-style-system-reviewers,layout-reviewers,hiro,emilio" on request for causing timeout
This reverts commit 42e172e27a.

Revert "Bug 1817051 - Part 2: Add scroll timeline into AnimationTimelinesController. r=hiro,layout-reviewers"

This reverts commit 4bdbdb5d76.

Revert "Bug 1817051 - Part 1: Add AnimationTimelinesController. r=layout-reviewers,hiro,dom-core,smaug"

This reverts commit 85c927d79e.
2025-12-13 05:20:28 +00:00
Boris Chiou 85c927d79e Bug 1817051 - Part 1: Add AnimationTimelinesController. r=layout-reviewers,hiro,dom-core,smaug
We wrap the list of timelines attached to the document into a controller,
so this makes it easier to support diffrerent types of timelines, e.g.
scroll-timeline.

We will add the implementation of scroll timelines in the following
patches.

Differential Revision: https://phabricator.services.mozilla.com/D269663
2025-12-13 04:40:49 +00:00
Emilio Cobos Álvarez ba0e228d4f Bug 2000639 - Remove nsViewManager. r=jwatt
After the previous patches, nsViewManager is basically a backpointer to
its pres shell.

Remove it and just make PresShell manage the root view directly. After
this is done, we can decide what to do about nsView (which is itself
little more than a widget listener that forwards to pres shell right
now).

This technically starts listening to mParentWidget slightly later (on
pres shell creation), but I think that's ok.

Differential Revision: https://phabricator.services.mozilla.com/D272890
2025-11-28 10:48:18 +00:00
Emilio Cobos Álvarez dc2e8729cf Bug 2000504 - Make PresShell drive more of painting. r=jwatt
This changes the widget size constraints to be applied once per frame
before painting (like popups), but that seems acceptable.

Differential Revision: https://phabricator.services.mozilla.com/D272831
2025-11-25 14:12:49 +00:00
agoloman e318afd777 Revert "Bug 2000504 - Make PresShell drive more of painting. r=jwatt" for causing assertions.
This reverts commit 68078cc21e.
2025-11-25 12:26:04 +00:00
Emilio Cobos Álvarez 68078cc21e Bug 2000504 - Make PresShell drive more of painting. r=jwatt
This changes the widget size constraints to be applied once per frame
before painting (like popups), but that seems acceptable.

Differential Revision: https://phabricator.services.mozilla.com/D272831
2025-11-25 11:42:18 +00:00
serge-sans-paille a6fd653fe8 Bug 1999717 - Remove unused STL header inclusions in layout/** r=emilio,firefox-style-system-reviewers,layout-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D272285
2025-11-12 20:47:05 +00:00
Emilio Cobos Álvarez 763e6c0b4b Bug 1998035 - Fix nsRefreshDriver::GetNextTickHint() when there are global and local timer sources. r=smaug
Local and global vsync sources can co-exist in the same (parent) process
on Wayland and macOS, since we have windowless browsers with no widgets,
and windows have their local vsync source, so we need to account for
them properly.

Differential Revision: https://phabricator.services.mozilla.com/D271157
2025-11-04 09:09:35 +00:00
Jeff Muizelaar a9bdd0b61d Bug 1996304 - Rename AUTO_PROFILER_TRACING_MARKER to AUTO_PROFILER_MARKER. r=mstange,profiler-reviewers,layout-reviewers,emilio
This also drops the category argument. The category string was confusing
because it ends up a field of the marker and not the actual category which is
an enum. Having the category as a field isn't really helpful.

This also sets us up for unifying AUTO_PROFILER_MARKER and
AUTO_PROFILER_MARKER_UNTYPED which become basically the same.

Differential Revision: https://phabricator.services.mozilla.com/D269992
2025-11-01 18:52:58 +00:00
Cristian Tuns dc43a0df23 Revert "Bug 1996304 - Rename AUTO_PROFILER_TRACING_MARKER to AUTO_PROFILER_MARKER. r=mstange,profiler-reviewers,layout-reviewers,emilio" for causing gtest failures in GeckoProfiler.Markers
This reverts commit 3f41ce3a69.
2025-11-01 10:51:36 +00:00
Jeff Muizelaar 3f41ce3a69 Bug 1996304 - Rename AUTO_PROFILER_TRACING_MARKER to AUTO_PROFILER_MARKER. r=mstange,profiler-reviewers,layout-reviewers,emilio
This also drops the category argument. The category string was confusing
because it ends up a field of the marker and not the actual category which is
an enum. Having the category as a field isn't really helpful.

This also sets us up for unifying AUTO_PROFILER_MARKER and
AUTO_PROFILER_MARKER_UNTYPED which become basically the same.

Differential Revision: https://phabricator.services.mozilla.com/D269992
2025-11-01 02:29:14 +00:00
Sandor Molnar 493110acba Revert "Bug 1996304 - Rename AUTO_PROFILER_TRACING_MARKER to AUTO_PROFILER_MARKER. r=mstange,profiler-reviewers,layout-reviewers,emilio" for causing cppunit perma failures
This reverts commit eba2838e1b.
2025-10-31 23:54:16 +00:00
Jeff Muizelaar eba2838e1b Bug 1996304 - Rename AUTO_PROFILER_TRACING_MARKER to AUTO_PROFILER_MARKER. r=mstange,profiler-reviewers,layout-reviewers,emilio
This also drops the category argument. The category string was confusing
because it ends up a field of the marker and not the actual category which is
an enum. Having the category as a field isn't really helpful.

This also sets us up for unifying AUTO_PROFILER_MARKER and
AUTO_PROFILER_MARKER_UNTYPED which become basically the same.

Differential Revision: https://phabricator.services.mozilla.com/D269992
2025-10-31 20:32:15 +00:00
Alexandru Marc 3eee106683 Revert "Bug 1996304 - Rename AUTO_PROFILER_TRACING_MARKER to AUTO_PROFILER_MARKER. r=mstange,profiler-reviewers,layout-reviewers,emilio" for causing build bustages @ ETWTools.h
This reverts commit 38cd0df829.
2025-10-31 16:17:31 +00:00
Jeff Muizelaar 38cd0df829 Bug 1996304 - Rename AUTO_PROFILER_TRACING_MARKER to AUTO_PROFILER_MARKER. r=mstange,profiler-reviewers,layout-reviewers,emilio
This also drops the category argument. The category string was confusing
because it ends up a field of the marker and not the actual category which is
an enum. Having the category as a field isn't really helpful.

This also sets us up for unifying AUTO_PROFILER_MARKER and
AUTO_PROFILER_MARKER_UNTYPED which become basically the same.

Differential Revision: https://phabricator.services.mozilla.com/D269992
2025-10-31 15:39:08 +00:00
serge-sans-paille c3b06ff4b4 Bug 1997165 - Remove unused mfbt inclusion in layout/** r=emilio,firefox-style-system-reviewers,firefox-svg-reviewers,layout-reviewers,dshin,dholbert
Differential Revision: https://phabricator.services.mozilla.com/D270577
2025-10-29 22:18:06 +00:00
serge-sans-paille 1667ec582b Bug 1995723 - Remove unused inclusion of mozilla/ArrayUtils.h r=necko-reviewers,application-update-reviewers,media-playback-reviewers,profiler-reviewers,win-reviewers,firefox-svg-reviewers,layout-reviewers,gstoll,canaltinova,bytesized,alwu,dholbert
Differential Revision: https://phabricator.services.mozilla.com/D269573
2025-10-23 07:30:37 +00:00
serge-sans-paille 7662b3abdc Bug 1994397 - Remove obsolete Unused.h header r=emilio,tschuster,geckoview-reviewers,extension-reviewers,application-update-reviewers,media-playback-reviewers,webrtc-reviewers,cookie-reviewers,places-reviewers,profiler-reviewers,win-reviewers,dom-storage-reviewers,permissions-reviewers,profiles-reviewers,toolkit-telemetry-reviewers,firefox-style-system-reviewers,firefox-svg-reviewers,layout-reviewers,timhuang,gstoll,TravisLong,bytesized,mstange,karlt,robwu,pehrsons,m_kato,jari,jhirsch
It is replaced by a standard-conforming cast to (void) which is
understood the same by the compiler.

In some cases this could be replaced by `[[maybe_unused]]` but for
expression whose value is ignored, this requires storing to a temporary
variable first, so not going that way.

One notable change is that marking an object of type already_AddRefed as
unused used to implicitly leak memory. This is now made explicit.

Most of the heavy lifting was done through:

    $ git grep -l '\<Unused\> <<' | xargs sed -i -e 's/Unused << /(void)/g'
    $ git grep -l mozilla/Unused.h | xargs sed -i -e '/mozilla\/Unused.h/ d'

Differential Revision: https://phabricator.services.mozilla.com/D268706
2025-10-21 19:36:01 +00:00
Cristina Horotan 8a1b1970b7 Revert "Bug 1994397 - Remove obsolete Unused.h header r=emilio,tschuster,geckoview-reviewers,extension-reviewers,application-update-reviewers,media-playback-reviewers,webrtc-reviewers,cookie-reviewers,places-reviewers,profiler-reviewers,win-reviewers,dom-storage-reviewers,permissions-reviewers,profiles-reviewers,toolkit-telemetry-reviewers,firefox-style-system-reviewers,firefox-svg-reviewers,layout-reviewers,timhuang,gstoll,TravisLong,bytesized,mstange,karlt,robwu,pehrsons,m_kato,jari,jhirsch" for causing Gtest failures on AlreadyAddRefed.h
This reverts commit e98adca292.
2025-10-21 16:16:29 +00:00
serge-sans-paille e98adca292 Bug 1994397 - Remove obsolete Unused.h header r=emilio,tschuster,geckoview-reviewers,extension-reviewers,application-update-reviewers,media-playback-reviewers,webrtc-reviewers,cookie-reviewers,places-reviewers,profiler-reviewers,win-reviewers,dom-storage-reviewers,permissions-reviewers,profiles-reviewers,toolkit-telemetry-reviewers,firefox-style-system-reviewers,firefox-svg-reviewers,layout-reviewers,timhuang,gstoll,TravisLong,bytesized,mstange,karlt,robwu,pehrsons,m_kato,jari,jhirsch
It is replaced by a standard-conforming cast to (void) which is
understood the same by the compiler.

In some cases this could be replaced by `[[maybe_unused]]` but for
expression whose value is ignored, this requires storing to a temporary
variable first, so not going that way.

One notable change is that marking an object of type already_AddRefed as
unused used to implicitly leak memory. This is now made explicit.

Most of the heavy lifting was done through:

    $ git grep -l '\<Unused\> <<' | xargs sed -i -e 's/Unused << /(void)/g'
    $ git grep -l mozilla/Unused.h | xargs sed -i -e '/mozilla\/Unused.h/ d'

Differential Revision: https://phabricator.services.mozilla.com/D268706
2025-10-21 15:05:17 +00:00
Cristina Horotan aab924e90d Revert "Bug 1994397 - Remove obsolete Unused.h header r=emilio,tschuster,geckoview-reviewers,extension-reviewers,application-update-reviewers,media-playback-reviewers,webrtc-reviewers,cookie-reviewers,places-reviewers,profiler-reviewers,win-reviewers,dom-storage-reviewers,permissions-reviewers,profiles-reviewers,toolkit-telemetry-reviewers,firefox-style-system-reviewers,firefox-svg-reviewers,layout-reviewers,timhuang,gstoll,TravisLong,bytesized,mstange,karlt,robwu,pehrsons,m_kato,jari,jhirsch" for causing build bustage at nsBrowserApp.cpp
This reverts commit fd0ffa193c.
2025-10-21 10:44:13 +00:00
serge-sans-paille fd0ffa193c Bug 1994397 - Remove obsolete Unused.h header r=emilio,tschuster,geckoview-reviewers,extension-reviewers,application-update-reviewers,media-playback-reviewers,webrtc-reviewers,cookie-reviewers,places-reviewers,profiler-reviewers,win-reviewers,dom-storage-reviewers,permissions-reviewers,profiles-reviewers,toolkit-telemetry-reviewers,firefox-style-system-reviewers,firefox-svg-reviewers,layout-reviewers,timhuang,gstoll,TravisLong,bytesized,mstange,karlt,robwu,pehrsons,m_kato,jari,jhirsch
It is replaced by a standard-conforming cast to (void) which is
understood the same by the compiler.

In some cases this could be replaced by `[[maybe_unused]]` but for
expression whose value is ignored, this requires storing to a temporary
variable first, so not going that way.

One notable change is that marking an object of type already_AddRefed as
unused used to implicitly leak memory. This is now made explicit.

Most of the heavy lifting was done through:

    $ git grep -l '\<Unused\> <<' | xargs sed -i -e 's/Unused << /(void)/g'
    $ git grep -l mozilla/Unused.h | xargs sed -i -e '/mozilla\/Unused.h/ d'

Differential Revision: https://phabricator.services.mozilla.com/D268706
2025-10-21 09:44:11 +00:00
Narcis Beleuzu e1e6bbb1c9 Revert "Bug 1994397 - Remove obsolete Unused.h header r=emilio,tschuster,geckoview-reviewers,extension-reviewers,application-update-reviewers,media-playback-reviewers,webrtc-reviewers,cookie-reviewers,places-reviewers,profiler-reviewers,win-reviewers,dom-storage-reviewers,permissions-reviewers,profiles-reviewers,toolkit-telemetry-reviewers,firefox-style-system-reviewers,firefox-svg-reviewers,layout-reviewers,timhuang,gstoll,TravisLong,bytesized,mstange,karlt,robwu,pehrsons,m_kato,jari,jhirsch" for causing bustages on Document.cpp
This reverts commit b23c15e927.
2025-10-21 06:34:58 +00:00
serge-sans-paille b23c15e927 Bug 1994397 - Remove obsolete Unused.h header r=emilio,tschuster,geckoview-reviewers,extension-reviewers,application-update-reviewers,media-playback-reviewers,webrtc-reviewers,cookie-reviewers,places-reviewers,profiler-reviewers,win-reviewers,dom-storage-reviewers,permissions-reviewers,profiles-reviewers,toolkit-telemetry-reviewers,firefox-style-system-reviewers,firefox-svg-reviewers,layout-reviewers,timhuang,gstoll,TravisLong,bytesized,mstange,karlt,robwu,pehrsons,m_kato,jari,jhirsch
It is replaced by a standard-conforming cast to (void) which is
understood the same by the compiler.

In some cases this could be replaced by `[[maybe_unused]]` but for
expression whose value is ignored, this requires storing to a temporary
variable first, so not going that way.

One notable change is that marking an object of type already_AddRefed as
unused used to implicitly leak memory. This is now made explicit.

Most of the heavy lifting was done through:

    $ git grep -l '\<Unused\> <<' | xargs sed -i -e 's/Unused << /(void)/g'
    $ git grep -l mozilla/Unused.h | xargs sed -i -e '/mozilla\/Unused.h/ d'

Differential Revision: https://phabricator.services.mozilla.com/D268706
2025-10-21 06:01:36 +00:00
Emilio Cobos Álvarez 93b4c09f7e Bug 1933181 - Stop using nsView for popups. r=layout-reviewers,tnikkel
Make the popup frame listener to the widget events itself, rather than
via the view tree.

This is a first step towards getting rid of views as a whole.

This creates the (annoying, but temporary) subtlety of the view tree
jumping across popups, so nsIFrame::GetNearestWidget and co need to
become a bit careful and avoid doing that.

Similarly a couple places relied on view visibility, which now need to
check nsMenuPopupFrame::IsOpen() as well.

Other than that this seems to just work.

Differential Revision: https://phabricator.services.mozilla.com/D230106
2025-10-14 12:03:41 +00:00
Nika Layzell 7d39c30b5b Bug 1979013 - Part 2: Require nsITimer API callers to provide a nsACString, r=xpcom-reviewers,media-playback-reviewers,webrtc-reviewers,profiler-reviewers,dom-storage-reviewers,toolkit-telemetry-reviewers,firefox-style-system-reviewers,mstange,emz,bwc,janv,emilio,padenot
This avoids the small overhead and potential for bugs from the previous
approach of assuming all `const char*` arguments passed to `nsITimer`
initializers are string literals, by instead requiring the argument to be a
`const nsACString&`. This involves changing all callsites to pass a `""_ns`
string literal down instead of a bare string literal.

It appears that while there were currently no buggy callers which
would've provided a dynamic string, there was at least one piece of code
(nsRepeatService::Start) which did pass down a raw char* which may be
dynamically allocated (all callers pass down `nsLiteralCString` so we're
actually OK here right now, but this was a footgun).

Differential Revision: https://phabricator.services.mozilla.com/D261032
2025-08-29 16:18:25 +00:00
iulian moraru f5d6849317 Revert "Bug 1979013: apply code formatting via Lando" for causing windows build bustages on MFTEncoder.cpp.
This reverts commit 8c929cc018.

Revert "Bug 1979013 - Part 2: Require nsITimer API callers to provide a nsACString, r=xpcom-reviewers,media-playback-reviewers,webrtc-reviewers,profiler-reviewers,dom-storage-reviewers,toolkit-telemetry-reviewers,firefox-style-system-reviewers,mstange,emz,bwc,janv,emilio,padenot"

This reverts commit e01c0a6a32.

Revert "Bug 1979013 - Part 1: Eagerly fetch name for timer callbacks, r=xpcom-reviewers,mccr8"

This reverts commit 9f8e73c163.
2025-08-27 23:00:09 +00:00
Nika Layzell e01c0a6a32 Bug 1979013 - Part 2: Require nsITimer API callers to provide a nsACString, r=xpcom-reviewers,media-playback-reviewers,webrtc-reviewers,profiler-reviewers,dom-storage-reviewers,toolkit-telemetry-reviewers,firefox-style-system-reviewers,mstange,emz,bwc,janv,emilio,padenot
This avoids the small overhead and potential for bugs from the previous
approach of assuming all `const char*` arguments passed to `nsITimer`
initializers are string literals, by instead requiring the argument to be a
`const nsACString&`. This involves changing all callsites to pass a `""_ns`
string literal down instead of a bare string literal.

It appears that while there were currently no buggy callers which
would've provided a dynamic string, there was at least one piece of code
(nsRepeatService::Start) which did pass down a raw char* which may be
dynamically allocated (all callers pass down `nsLiteralCString` so we're
actually OK here right now, but this was a footgun).

Differential Revision: https://phabricator.services.mozilla.com/D261032
2025-08-27 22:04:15 +00:00
Emilio Cobos Álvarez 8078b9d597 Bug 1980677 - Improve frame callback cancellation. r=smaug
In order to cancel during firing, just set a bit on the entry.

Differential Revision: https://phabricator.services.mozilla.com/D259624
2025-08-14 13:41:02 +00:00
Sandor Molnar 946f39be1e Revert "Bug 1980677 - Fix a warning with the previous patch." for causing build bustages
This reverts commit 70bff2264f.

Revert "Bug 1980677 - Improve frame callback cancellation. r=smaug"

This reverts commit 5537fb300e.
2025-08-14 12:52:43 +00:00
Emilio Cobos Álvarez 5537fb300e Bug 1980677 - Improve frame callback cancellation. r=smaug
In order to cancel during firing, just set a bit on the entry.

Differential Revision: https://phabricator.services.mozilla.com/D259624
2025-08-14 09:29:33 +00:00
Emilio Cobos Álvarez a8a2311474 Bug 1976457 - Sort includes in layout/. r=janv,dshin
Interesting bit is layout/.clang-format, the rest is all automated.

Differential Revision: https://phabricator.services.mozilla.com/D256616
2025-07-09 13:24:00 +00:00
Emilio Cobos Álvarez f66753a413 Bug 560067 - Only tick the refresh driver if the animated images are tracked by the document. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D255704
2025-07-02 09:37:49 +00:00
Emilio Cobos Álvarez 6db610f3ed Bug 1962381 - Sample SMIL animations along with CSS animations. r=longsonr,smaug
In order to do this and keep tests passing, we need to also recurse into
external resource docs during the refresh driver tick.

Otherwise, we fail dom/smil/test/test_smilExtDoc.xhtml. This used to
work because the SMIL controller registered with the refresh driver
directly, and resource docs share the refresh driver with the parent
doc. I think it makes sense to treat them more like subdocuments, and it
also matches svg-as-image better.

This fixes some known SMIL bugs, too, yay.

Differential Revision: https://phabricator.services.mozilla.com/D246588
2025-04-28 15:21:26 +00:00
Alexandru Marc 05265244cb Backed out changeset d1343d311328 (bug 1962381) for causing build bustages @ Document.h CLOSED TREE 2025-04-28 15:23:11 +03:00
Emilio Cobos Álvarez ce44ec7658 Bug 1962381 - Sample SMIL animations along with CSS animations. r=longsonr,smaug
In order to do this and keep tests passing, we need to also recurse into
external resource docs during the refresh driver tick.

Otherwise, we fail dom/smil/test/test_smilExtDoc.xhtml. This used to
work because the SMIL controller registered with the refresh driver
directly, and resource docs share the refresh driver with the parent
doc. I think it makes sense to treat them more like subdocuments, and it
also matches svg-as-image better.

This fixes some known SMIL bugs, too, yay.

Differential Revision: https://phabricator.services.mozilla.com/D246588
2025-04-28 10:17:49 +00:00