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

2235 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez e120f9b2b2 Bug 1742393 - Correctly report animation status of pseudo-elements that are not stored in the parent element. r=hiro
We allow animating pseudo-elements like ::-moz-progress-bar (and we
treat them like regular elements).

Ideally we should store animations for these in the parent element as
well, so they survive reframes and such. But treating them as regular
elements right now means that we do animate them, but we never update
animations for them correctly because wrapper.rs assumed them to be
non-animatable.

Since it seems reasonable to keep allowing the animations to happen,
let's just correct the update code and add a test.

Differential Revision: https://phabricator.services.mozilla.com/D131794
2021-11-23 12:36:22 +00:00
Sebastian Hengst d1b0aec796 Bug 1680896 - fix annotation to skip test_pending_animation_tracker.html on Windows opt. DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D131591
2021-11-19 09:26:20 +00:00
Emilio Cobos Álvarez ace16c06ab Bug 1741491 - Make sure we only record old style value once. r=smaug
The way CommitStyles called into servo caused it to call the closure
multiple times, and we were not dealing with that properly.

Handle the "was called" state internally.

Differential Revision: https://phabricator.services.mozilla.com/D131411
2021-11-17 23:39:32 +00:00
Gerald Squelart 5399574d8b Bug 1738627 - profiler_thread_is_being_profiled_for_markers - r=canaltinova
`profiler_thread_is_being_profiled` is used a lot for markers, so it makes sense to have a specialized version, which is a bit shorter, and lives in ProfilerMarkers.h.

Differential Revision: https://phabricator.services.mozilla.com/D130009
2021-11-08 23:59:35 +00:00
Cristian Tuns 1aeac93d23 Backed out 5 changesets (bug 1738627) for causing xpcshell failures on test_ext_geckoProfiler_schema.js CLOSED TREE
Backed out changeset 42d385d7da97 (bug 1738627)
Backed out changeset edeb3a338954 (bug 1738627)
Backed out changeset 98f02e35134d (bug 1738627)
Backed out changeset 711daa6dd24b (bug 1738627)
Backed out changeset 49e12753a40c (bug 1738627)
2021-11-05 05:12:28 -04:00
Gerald Squelart 7fa084ae7c Bug 1738627 - profiler_thread_is_being_profiled_for_markers - r=canaltinova
`profiler_thread_is_being_profiled` is used a lot for markers, so it makes sense to have a specialized version, which is a bit shorter, and lives in ProfilerMarkers.h.

Differential Revision: https://phabricator.services.mozilla.com/D130009
2021-11-05 05:52:28 +00:00
Gerald Squelart df50ece611 Bug 1735697 - Remove profiler_can_accept_markers(), use profiler_thread_is_being_profiled() instead - r=florian
Differential Revision: https://phabricator.services.mozilla.com/D128577
2021-10-18 23:11:30 +00:00
Jeff Muizelaar f76f41feb4 Bug 1736236 - Remove obsolete LayerManager.h. r=gfx-reviewers,lsalzman
This adds a bunch of #include "WindowRenderer.h" in places
that were getting it implicitly before.

Differential Revision: https://phabricator.services.mozilla.com/D128687
2021-10-17 23:00:47 +00:00
Andreea Pavel 6196f00cd0 Bug 1680896 - disable test_pending_animation_tracker.html on win10_2004 not debug r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D126607
2021-09-24 23:09:53 +00:00
Hiroyuki Ikezoe 3608e394a5 Bug 1731009 - Properly check whether the given nsIFrame is inside an OOP Iframe visible rect or not even if the frame size is (0x0). r=tnikkel
Before this change, in nsLayoutUtils::FrameIsScrolledOutOfViewInCrossProcess
we call BaseRect::IsEmpty() for the returned value of GetFrameVisibleRectOnScreen,
unfortunately if the returned value size is (0x0), BaseRect::IsEmpty() returns
true thus we misthink the given nsIFrame is out of the visible area of the OOP
iframe where the nsIFrame lives.

Note that we have already done the same check for in-process cases in
IsFrameScrolledOutOfView [1].

The test case in this change fails without this change, suceeds with
the change. Though, to be honest, I don't know the reason those styles
, `display: grid`, etc. generate (0x0) sized frame even if decendants have
sized.

[1] https://searchfox.org/mozilla-central/rev/15de05f0e6d841cbc2ac66f8dcad72ebdada47f6/layout/generic/nsIFrame.cpp#11090-11094

Differential Revision: https://phabricator.services.mozilla.com/D126312
2021-09-22 22:10:37 +00:00
Andreea Pavel a1a601efac Backed out changeset 4256690c306d (bug 1731009) build bustages on nsLayoutUtils.cpp on a CLOSED TREE 2021-09-22 15:50:18 +03:00
Hiroyuki Ikezoe 681fcbb965 Bug 1731009 - Properly check whether the given nsIFrame is inside an OOP Iframe visible rect or not even if the frame size is (0x0). r=tnikkel
Before this change, in nsLayoutUtils::FrameIsScrolledOutOfViewInCrossProcess
we call BaseRect::IsEmpty() for the returned value of GetFrameVisibleRectOnScreen,
unfortunately if the returned value size is (0x0), BaseRect::IsEmpty() returns
true thus we misthink the given nsIFrame is out of the visible area of the OOP
iframe where the nsIFrame lives.

Note that we have already done the same check for in-process cases in
IsFrameScrolledOutOfView [1].

The test case in this change fails without this change, suceeds with
the change. Though, to be honest, I don't know the reason those styles
, `display: grid`, etc. generate (0x0) sized frame even if decendants have
sized.

[1] https://searchfox.org/mozilla-central/rev/15de05f0e6d841cbc2ac66f8dcad72ebdada47f6/layout/generic/nsIFrame.cpp#11090-11094

Differential Revision: https://phabricator.services.mozilla.com/D126312
2021-09-22 09:20:02 +00:00
Hiroyuki Ikezoe 9e692bb775 Bug 1663509 - Skip test_restyles.html if the target machine's vsync rate is too slow to run the test. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D124584
2021-09-07 23:19:55 +00:00
Matt Woodrow 0ee96e3fa5 Bug 1726291 - Remove FrameLayerBuilder. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D122930
2021-08-23 03:07:31 +00:00
Matt Woodrow fea5444468 Bug 1723266 - Return an infinite perspective in TransformOperation::Perspective::to_animated_zero. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D122919
2021-08-22 20:46:47 +00:00
Cosmin Sabou b53abb88e7 Backed out changeset e111894317cc (bug 1726291) for causing assertion failures on WebRenderCommandBuilder.cpp. CLOSED TREE 2021-08-20 06:22:40 +03:00
Matt Woodrow 94015526e1 Bug 1726291 - Remove FrameLayerBuilder. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D122930
2021-08-20 02:20:39 +00:00
Geoff Brown 8a563cea2a Bug 1724296 - Remove many skip-if(verify) test annotations (mochitest); r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D122972
2021-08-18 21:33:32 +00:00
Emilio Cobos Álvarez 2d0a072174 Bug 1723921 - Cleanup nsComputedDOMStyle and related APIs. r=layout-reviewers,jfkthame
This will make implementing the new behavior behind a pref
really straight-forward, and is generally nicer.

Depends on D121858

Differential Revision: https://phabricator.services.mozilla.com/D121705
2021-08-07 09:47:15 +00:00
Kagami Sascha Rosylight 6b6ee72f7e Bug 1723050 - Part 1: Replace typedef by using in dom/animation/ r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D121293
2021-08-05 02:25:23 +00:00
Boris Chiou 349f9c4bf3 Bug 1714421 - Move the assertion of timeline after checking mReplacedTransition. r=hiro
We support the setter of Animation.timeline, so it's possible to have a
null |mTimeline| when calculating the start value for off-main-thread
animations. If it's null, it must be different from the document
timeline, so in this case we don't set |mReplacedTransition|.
So let's move the assertion below the if-check of |mReplacedTransition|.

Differential Revision: https://phabricator.services.mozilla.com/D121675
2021-08-05 00:37:55 +00:00
Alexandru Michis 326297bd47 Backed out changeset e41bfdf79fb8 (bug 1665476) for causing windows mochitest failures in test_windowminmaxsize.xhtml
CLOSED TREE
2021-08-02 02:14:52 +03:00
Emilio Cobos Álvarez 275707a51b Bug 1665476 - Remove nsRootBoxFrame to unify background propagation between XUL and non-XUL documents. r=layout-reviewers,mats
It's unused on mozilla-central, and Thunderbird can just use the canvas
frame as regular (X)HTML documents, so just use a canvas frame instead
of an nsRootBoxFrame for XUL as well.

nsRootBoxFrame was needed because of various XUL-specific things like
tooltips and so on lived there. But with the move away from XUL, that
functionality has been added to nsCanvasFrame already, behind a
principal check instead.

This also allows simplifying our background propagation setup, which was
only half-working for XUL documents (this bug is a consequence of that).

With this, most of the callers of nsCSSRendering::IsCanvasFrame can go.
They're only two of the frames that would return true for that that
actually paint backgrounds (nsCanvasFrame and nsRootBoxFrame), so the
codepaths in display list building and painting can just check
frame->IsCanvasFrame() instead.

The remaining caller to that function is
nsContainerFrame::SyncWindowProperties, and the change is also legit, in
the sense that the only thing SyncWindowProperties() really cares about
is propagating the max/min-width constraints from the root element's
style to the view/widget, and the only frame that would return true from
IsCanvasFrame and have a view is the viewport frame which is the root of
the frame tree.

Differential Revision: https://phabricator.services.mozilla.com/D90846
2021-08-01 21:57:28 +00:00
Emilio Cobos Álvarez ebffc1928f Bug 1722359 - Remove ui.showHideScrollbars. r=mstange
It probably did something more useful in the past, but right now it's
only used to avoid throttling some overflow-causing animations.

It returns 0 everywhere except on Android (for some reason?), but in any
case it doesn't seem this would need to be a LookAndFeel integer, it
could just be a regular pref that we turn on for tests.

However the tests pass with this patch locally, so for now I'm not
adding a pref to replace it.

Differential Revision: https://phabricator.services.mozilla.com/D120871
2021-07-26 18:42:36 +00:00
Matt Woodrow 912b7f8ef1 Bug 1721537 - Split out WindowRenderer base class from LayerManager. r=miko
Depends on D120439

Differential Revision: https://phabricator.services.mozilla.com/D120440
2021-07-22 22:58:57 +00:00
Tooru Fujisawa cc92ef732d Bug 1708448 - Move property and element functions into js/public/PropertyAndElement.h. r=nbp
Differential Revision: https://phabricator.services.mozilla.com/D119619
2021-07-13 11:52:42 +00:00
Andrew Halberstadt 7a16af4434 Bug 1700781 - Skip failing mochitest-plain tests with fission + xorigin, r=jmaher
Differential Revision: https://phabricator.services.mozilla.com/D117704
2021-06-15 18:24:18 +00:00
Hiroyuki Ikezoe 9e52f5ce78 Bug 1699890 - Forcibly create a display item for backgroud-color animations even if it's transparent at the moment. r=boris,miko
Otherwise we keep restyling for the animations on the main thread and trying
to create display items for them.

Differential Revision: https://phabricator.services.mozilla.com/D115441
2021-05-26 00:17:39 +00:00
Hiroyuki Ikezoe e63d42d765 Bug 1699890 - Restrict background-color animations on canvas frame or on <body> element not to run on the compositor in KeyframeEffect::IsMatchForCompositor. r=boris
So that now EffectCompositor::HasAnimationsForCompositor doesn't return true
for such cases, thus we will not accidentally try to generate
nsDisplayBackgroundColor display item for such animations (bug 1699890#c21)
and we will not generate nsChangeHint_RepaintFrame (bug 1701547) either.

Differential Revision: https://phabricator.services.mozilla.com/D115774
2021-05-26 00:17:39 +00:00
Butkovits Atila 202250ee59 Backed out 2 changesets (bug 1699890) for causing failures on background-color-animation-with-table2.html. CLOSED TREE
Backed out changeset 38bfba07a1ac (bug 1699890)
Backed out changeset 69826920340d (bug 1699890)
2021-05-25 15:30:01 +03:00
Hiroyuki Ikezoe 6b494767d9 Bug 1699890 - Forcibly create a display item for backgroud-color animations even if it's transparent at the moment. r=boris,miko
Otherwise we keep restyling for the animations on the main thread and trying
to create display items for them.

Differential Revision: https://phabricator.services.mozilla.com/D115441
2021-05-25 01:58:19 +00:00
Hiroyuki Ikezoe 9a5d9feeba Bug 1699890 - Restrict background-color animations on canvas frame or on <body> element not to run on the compositor in KeyframeEffect::IsMatchForCompositor. r=boris
So that now EffectCompositor::HasAnimationsForCompositor doesn't return true
for such cases, thus we will not accidentally try to generate
nsDisplayBackgroundColor display item for such animations (bug 1699890#c21)
and we will not generate nsChangeHint_RepaintFrame (bug 1701547) either.

Differential Revision: https://phabricator.services.mozilla.com/D115774
2021-05-25 01:58:18 +00:00
Iulian Moraru 8887e460a5 Backed out changeset c5ce83934eac (bug 1699890) for causing dt assertion failures on nsDisplayList.h. CLOSED TREE 2021-05-21 14:25:37 +03:00
Hiroyuki Ikezoe c8c37c4c3c Bug 1699890 - Forcibly create a display item for backgroud-color animations even if it's transparent at the moment. r=boris,miko
Otherwise we keep restyling for the animations on the main thread and trying
to create display items for them.

Differential Revision: https://phabricator.services.mozilla.com/D115441
2021-05-21 06:09:38 +00:00
Noemi Erli 15e72db6a4 Backed out changeset 1c7f2486a0e9 (bug 1699890) for causing multiple failures CLOSED TREE 2021-05-21 06:43:14 +03:00
Hiroyuki Ikezoe 7cceb18c82 Bug 1699890 - Forcibly create a display item for backgroud-color animations even if it's transparent at the moment. r=boris,miko
Otherwise we keep restyling for the animations on the main thread and trying
to create display items for them.

Differential Revision: https://phabricator.services.mozilla.com/D115441
2021-05-20 23:46:10 +00:00
Edgar Chen f8605ff45d Bug 1709214 - Get rid of NS_ERROR_DOM_ANIM_MISSING_PROPS_ERR; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D114179
2021-05-10 12:20:17 +00:00
Boris Chiou 5272e5d351 Bug 1706157 - Avoid int overflow for steps() timing function. r=hiro
We increase |jumps| for steps(<integer>,jump-both), and the <integer>
could be a large number, so we have to avoid the int overflow. Now we use
CheckedInt32 for it.

Also, `aPortion * aStepFunc.mSteps` may be out of the range of int32_t,
so we clamp it first and use CheckedInt32 for currentStep, too.

The error handling is pretty simple. We don't care about the result of
this unexpected behavior, so we simply roll the value back to the
original one.

Differential Revision: https://phabricator.services.mozilla.com/D112684
2021-05-03 23:07:03 +00:00
Emilio Cobos Álvarez b42ccb7de0 Bug 1705509 - Hide -moz-outline-radius behind a pref. r=mstange
This property does nothing since bug 315209 got implemented.

Every single user that I checked was doing the same math by hand, so
hooray for good defaults :-)

Differential Revision: https://phabricator.services.mozilla.com/D112253
2021-04-16 01:01:45 +00:00
Gerald Squelart 3a798ef925 Bug 1703717 - Check for null aAnimation->GetOwner() before dereferencing - r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D111221
2021-04-08 07:24:54 +00:00
Florian Quèze 113408d081 Bug 1701524 - add more inner window ids in markers, r=canaltinova.
Differential Revision: https://phabricator.services.mozilla.com/D110046
2021-03-31 18:23:13 +00:00
Simon Giesecke cc730d05dd Bug 1184468 - Use nsTHashtable::Keys where possible. r=xpcom-reviewers,nika
Differential Revision: https://phabricator.services.mozilla.com/D108588
2021-03-24 17:56:50 +00:00
Simon Giesecke d517012ca6 Bug 708901 - Migrate to nsTHashSet in dom/animation. r=birtles
Depends on D108591

Differential Revision: https://phabricator.services.mozilla.com/D108592
2021-03-23 10:36:32 +00:00
Florian Quèze 8ad1e5d0aa Bug 1699742 - Remove MOZ_GECKO_PROFILER ifdefs that are no longer needed, r=gerald.
Differential Revision: https://phabricator.services.mozilla.com/D109078
2021-03-22 16:29:52 +00:00
Simon Giesecke 6ae9169f08 Bug 1698098 - Make use of nsBaseHashtable::Clone. r=xpcom-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D107617
2021-03-19 09:01:46 +00:00
Emilio Cobos Álvarez 6c2d77e198 Bug 1698445 - background-position changes should be throttable. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D108611
2021-03-17 23:07:25 +00:00
Florian Quèze 12e6842434 Bug 1698600 - CSS animation profiler markers should also be added for animations that run to completion, r=birtles.
Differential Revision: https://phabricator.services.mozilla.com/D108493
2021-03-16 12:04:01 +00:00
Mike Hommey d395ea5ea6 Bug 1698303 - Wrap code using profiler_can_accept_markers with #ifdef MOZ_GECKO_PROFILER. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D108332
2021-03-14 03:31:48 +00:00
Butkovits Atila cf95b70d32 Bug 1663509 - disable test_restyles.html for frequent failures. r=intermittent-reviewers,jmaher DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D107369
2021-03-13 20:09:31 +00:00
Florian Quèze 67cce94aa4 Bug 1698125 - CSS transitions and animations should be visible with profiler markers, r=emilio.
Differential Revision: https://phabricator.services.mozilla.com/D108201
2021-03-12 17:28:15 +00:00