Background animation get stuck
Categories
(Core :: CSS Parsing and Computation, defect, P2)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr68 | --- | unaffected |
firefox73 | --- | unaffected |
firefox74 | --- | verified |
firefox75 | --- | verified |
People
(Reporter: ailea, Assigned: emilio)
References
(Regression, )
Details
(Keywords: regression)
Attachments
(3 files)
2.01 MB,
video/mp4
|
Details | |
2.34 MB,
video/mp4
|
Details | |
47 bytes,
text/x-phabricator-request
|
pascalc
:
approval-mozilla-release+
|
Details | Review |
Affected versions:
Beta 74.0b9, Nightly 75.0a1 (2020-03-01)
Affected platforms:
Mac OS 10.15, Windows 10.
Steps:
- Launch Firefox with a new profile access: https://fauux.neocities.org/Love.html
Actual result:
The background animation stuck in the middle of the screen, around the character.
Expected result:
The background animation should flow normally.
Please see the video attachment for a better understanding.
Regression range:
Reporter | ||
Comment 1•4 years ago
|
||
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 2•4 years ago
|
||
On some RDL situations we may create the new item, then destroy the old one
afterwards.
When this is the order of operations, the image would end up unregistered, and
thus not invalidating the canvas frame.
Assignee | ||
Updated•4 years ago
|
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/4c6c850d0fa1 Associate image to display item at paint time rather than at construction time. r=tnikkel
Comment 4•4 years ago
|
||
Failure log: https://treeherder.mozilla.org/logviewer.html#?job_id=291321510&repo=autoland
Backout link: https://hg.mozilla.org/integration/autoland/rev/400ddc73d12d18bacb7ab9e6e6fd36468e5b5d10
[task 2020-03-02T20:28:07.421Z] 20:28:07 INFO - GECKO(2231) | Assertion failure: mFrame->IsCanvasFrame() || mFrame->IsTableCellFrame(), at /builds/worker/workspace/build/src/layout/painting/nsDisplayList.cpp:4677
[task 2020-03-02T20:28:28.620Z] 20:28:28 INFO - GECKO(2231) | #01: nsDisplayBackgroundImage::PaintInternal(nsDisplayListBuilder*, gfxContext*, nsRect const&, nsRect*) [layout/painting/nsDisplayList.cpp:4697]
[task 2020-03-02T20:28:28.620Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.621Z] 20:28:28 INFO - GECKO(2231) | #02: mozilla::FrameLayerBuilder::PaintItems(std::vector<mozilla::AssignedDisplayItem, std::allocator<mozilla::AssignedDisplayItem> >&, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, gfxContext*, nsDisplayListBuilder*, nsPresContext*, mozilla::gfx::IntPointTyped<mozilla::gfx::UnknownUnits> const&, float, float) [layout/painting/FrameLayerBuilder.cpp:7122]
[task 2020-03-02T20:28:28.621Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.622Z] 20:28:28 INFO - GECKO(2231) | #03: mozilla::FrameLayerBuilder::DrawPaintedLayer(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::layers::DrawRegionClip, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void*) [layout/painting/FrameLayerBuilder.cpp:7285]
[task 2020-03-02T20:28:28.623Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.623Z] 20:28:28 INFO - GECKO(2231) | #04: mozilla::layers::ClientPaintedLayer::RenderLayerWithReadback(mozilla::layers::ReadbackProcessor*) [gfx/layers/client/ClientPaintedLayer.cpp:166]
[task 2020-03-02T20:28:28.623Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.624Z] 20:28:28 INFO - GECKO(2231) | #05: mozilla::layers::ClientContainerLayer::RenderLayer() [gfx/layers/client/ClientContainerLayer.h:128]
[task 2020-03-02T20:28:28.624Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.625Z] 20:28:28 INFO - GECKO(2231) | #06: mozilla::layers::ClientContainerLayer::RenderLayer() [gfx/layers/client/ClientContainerLayer.h:128]
[task 2020-03-02T20:28:28.625Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.625Z] 20:28:28 INFO - GECKO(2231) | #07: mozilla::layers::ClientContainerLayer::RenderLayer() [gfx/layers/client/ClientContainerLayer.h:128]
[task 2020-03-02T20:28:28.626Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.626Z] 20:28:28 INFO - GECKO(2231) | #08: mozilla::layers::ClientLayerManager::EndTransactionInternal(void (*)(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::layers::DrawRegionClip, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void*), void*, mozilla::layers::LayerManager::EndTransactionFlags) [gfx/layers/client/ClientLayerManager.cpp:360]
[task 2020-03-02T20:28:28.626Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.626Z] 20:28:28 INFO - GECKO(2231) | #09: mozilla::layers::ClientLayerManager::EndTransaction(void (*)(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::layers::DrawRegionClip, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void*), void*, mozilla::layers::LayerManager::EndTransactionFlags) [gfx/layers/client/ClientLayerManager.cpp:416]
[task 2020-03-02T20:28:28.627Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.627Z] 20:28:28 INFO - GECKO(2231) | #10: nsDisplayList::PaintRoot(nsDisplayListBuilder*, gfxContext*, unsigned int) [layout/painting/nsDisplayList.cpp:3128]
[task 2020-03-02T20:28:28.627Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.628Z] 20:28:28 INFO - GECKO(2231) | #11: nsLayoutUtils::PaintFrame(gfxContext*, nsIFrame*, nsRegion const&, unsigned int, nsDisplayListBuilderMode, nsLayoutUtils::PaintFrameFlags) [layout/base/nsLayoutUtils.cpp:4095]
[task 2020-03-02T20:28:28.628Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.628Z] 20:28:28 INFO - GECKO(2231) | #12: mozilla::PresShell::Paint(nsView*, nsRegion const&, mozilla::PaintFlags) [layout/base/PresShell.cpp:6068]
[task 2020-03-02T20:28:28.628Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.629Z] 20:28:28 INFO - GECKO(2231) | #13: nsViewManager::ProcessPendingUpdatesPaint(nsIWidget*) [gfx/src/nsRegion.h:479]
[task 2020-03-02T20:28:28.629Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.630Z] 20:28:28 INFO - GECKO(2231) | #14: nsViewManager::ProcessPendingUpdatesForView(nsView*, bool) [mfbt/RefPtr.h:80]
[task 2020-03-02T20:28:28.630Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.630Z] 20:28:28 INFO - GECKO(2231) | #15: nsViewManager::ProcessPendingUpdates() [view/nsViewManager.cpp:1020]
[task 2020-03-02T20:28:28.630Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.631Z] 20:28:28 INFO - GECKO(2231) | #16: nsRefreshDriver::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) [layout/base/nsRefreshDriver.cpp:2187]
[task 2020-03-02T20:28:28.631Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.631Z] 20:28:28 INFO - GECKO(2231) | #17: mozilla::RefreshDriverTimer::TickRefreshDrivers(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) [layout/base/nsRefreshDriver.cpp:345]
[task 2020-03-02T20:28:28.631Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.632Z] 20:28:28 INFO - GECKO(2231) | #18: mozilla::RefreshDriverTimer::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) [layout/base/nsRefreshDriver.cpp:370]
[task 2020-03-02T20:28:28.632Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.632Z] 20:28:28 INFO - GECKO(2231) | #19: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) [layout/base/nsRefreshDriver.cpp:745]
[task 2020-03-02T20:28:28.633Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.633Z] 20:28:28 INFO - GECKO(2231) | #20: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::VsyncEvent const&) [layout/base/nsRefreshDriver.cpp:643]
[task 2020-03-02T20:28:28.634Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.634Z] 20:28:28 INFO - GECKO(2231) | #21: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyParentProcessVsync() [layout/base/nsRefreshDriver.cpp:563]
[task 2020-03-02T20:28:28.634Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.635Z] 20:28:28 INFO - GECKO(2231) | #22: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::ParentProcessVsyncNotifier::Run() [layout/base/nsRefreshDriver.cpp:537]
[task 2020-03-02T20:28:28.635Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.636Z] 20:28:28 INFO - GECKO(2231) | #23: nsThread::ProcessNextEvent(bool, bool*) [xpcom/threads/nsThread.cpp:1220]
[task 2020-03-02T20:28:28.636Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.636Z] 20:28:28 INFO - GECKO(2231) | #24: NS_ProcessNextEvent(nsIThread*, bool) [xpcom/threads/nsThreadUtils.cpp:481]
[task 2020-03-02T20:28:28.636Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.637Z] 20:28:28 INFO - GECKO(2231) | #25: mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) [ipc/glue/MessagePump.cpp:87]
[task 2020-03-02T20:28:28.637Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.637Z] 20:28:28 INFO - GECKO(2231) | #26: MessageLoop::RunInternal() [ipc/chromium/src/base/message_loop.cc:315]
[task 2020-03-02T20:28:28.638Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.638Z] 20:28:28 INFO - GECKO(2231) | #27: MessageLoop::Run() [ipc/chromium/src/base/message_loop.cc:291]
[task 2020-03-02T20:28:28.638Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.638Z] 20:28:28 INFO - GECKO(2231) | #28: nsBaseAppShell::Run() [widget/nsBaseAppShell.cpp:139]
[task 2020-03-02T20:28:28.638Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.639Z] 20:28:28 INFO - GECKO(2231) | #29: nsAppStartup::Run() [toolkit/components/startup/nsAppStartup.cpp:272]
[task 2020-03-02T20:28:28.639Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.640Z] 20:28:28 INFO - GECKO(2231) | #30: XREMain::XRE_mainRun() [toolkit/xre/nsAppRunner.cpp:4555]
[task 2020-03-02T20:28:28.640Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.640Z] 20:28:28 INFO - GECKO(2231) | #31: XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) [toolkit/xre/nsAppRunner.cpp:4690]
[task 2020-03-02T20:28:28.641Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.641Z] 20:28:28 INFO - GECKO(2231) | #32: XRE_main(int, char**, mozilla::BootstrapConfig const&) [toolkit/xre/nsAppRunner.cpp:4741]
[task 2020-03-02T20:28:28.642Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.642Z] 20:28:28 INFO - GECKO(2231) | #33: _fini
[task 2020-03-02T20:28:28.643Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.643Z] 20:28:28 INFO - GECKO(2231) | #34: libc.so.6 + 0x21b97
[task 2020-03-02T20:28:28.643Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.644Z] 20:28:28 INFO - GECKO(2231) | #35: _fini
[task 2020-03-02T20:28:28.644Z] 20:28:28 INFO -
[task 2020-03-02T20:28:28.645Z] 20:28:28 INFO - GECKO(2231) | [Child 3401, Main Thread] WARNING: No CID found when attempting to map contract ID: file /builds/worker/workspace/build/src/xpcom/components/nsComponentManager.cpp, line 721
[task 2020-03-02T20:28:28.645Z] 20:28:28 INFO - GECKO(2231) | ExceptionHandler::GenerateDump cloned child 3412
[task 2020-03-02T20:28:28.645Z] 20:28:28 INFO - GECKO(2231) | ExceptionHandler::SendContinueSignalToChild sent continue signal to child
[task 2020-03-02T20:28:28.646Z] 20:28:28 INFO - GECKO(2231) | ExceptionHandler::WaitForContinueSignal waiting for continue signal...
[task 2020-03-02T20:28:28.646Z] 20:28:28 INFO - GECKO(2231) | [Child 3371: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 2 (0x7fbffd193520) [pid = 3371] [serial = 1] [outer = (nil)] [url = http://127.0.0.1:8888/browser/browser/base/content/test/plugins/browser_clearplugindata_noage.html]
[task 2020-03-02T20:28:28.647Z] 20:28:28 INFO - GECKO(2231) | [Child 3371: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 1 (0x7fbfe2116c00) [pid = 3371] [serial = 3] [outer = (nil)] [url = http://127.0.0.1:8888/browser/browser/base/content/test/plugins/browser_clearplugindata_noage.html]
[task 2020-03-02T20:28:28.647Z] 20:28:28 INFO - GECKO(2231) | [Child 3371: Main Thread]: I/DocShellAndDOMWindowLeak --DOMWINDOW == 0 (0x7fbfe2a69400) [pid = 3371] [serial = 2] [outer = (nil)] [url = about:blank]
[task 2020-03-02T20:28:28.648Z] 20:28:28 INFO - GECKO(2231) | [Child 3371, Main Thread] WARNING: Extra shutdown CC: 'i < NORMAL_SHUTDOWN_COLLECTIONS', file /builds/worker/workspace/build/src/xpcom/base/nsCycleCollector.cpp, line 3352
[task 2020-03-02T20:28:28.649Z] 20:28:28 INFO - GECKO(2231) | Couldn't convert chrome URL: chrome://branding/locale/brand.properties
[task 2020-03-02T20:28:28.649Z] 20:28:28 INFO - GECKO(2231) | [Child 3401, Main Thread] WARNING: Could not get the program name for a cubeb stream.: 'NS_SUCCEEDED(rv)', file /builds/worker/workspace/build/src/dom/media/CubebUtils.cpp, line 363
[task 2020-03-02T20:28:28.650Z] 20:28:28 INFO - GECKO(2231) | nsStringStats
Assignee | ||
Updated•4 years ago
|
Pushed by ealvarez@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/079f4b05ead2 Associate image to display item at paint time rather than at construction time. r=tnikkel
Comment 6•4 years ago
|
||
Pascal, this bug affects 74, are you fine with uplifting this patch to 74 now?
Comment 7•4 years ago
|
||
bugherder |
Comment 8•4 years ago
|
||
(In reply to Ethan Tseng [:ethan] from comment #6)
Pascal, this bug affects 74, are you fine with uplifting this patch to 74 now?
The bug has no priority set so I lack context to determine if this is a significant regression, is that a source of significant breakage/webcompat issue or can we live a cycle with this bug? Thanks
Assignee | ||
Comment 9•4 years ago
|
||
Comment on attachment 9130228 [details]
Bug 1619245 - Associate image to display item at paint time rather than at construction time. r=tnikkel
Beta/Release Uplift Approval Request
- User impact if declined: Some sites with animated images in the root would fail to animate in some circumstances.
- Is this code covered by automated tests?: Yes
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: Yes
- If yes, steps to reproduce: comment 0
- List of other uplifts needed: none
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): Very minor change.
- String changes made/needed: none
Assignee | ||
Updated•4 years ago
|
Assignee | ||
Comment 10•4 years ago
|
||
Sorry, I should've set the priority and such first. I thought it was too late for uplifts already... I think it's not an extremely common case, but it's a very low risk patch and it'd be nice to not break it on release if we can avoid it.
So I don't think it's an absolute blocker, as I don't think gifs as the background of the root element is very common, and this needs a subset of conditions for that to happen, but still it's something that has worked since forever.
Reporter | ||
Comment 11•4 years ago
|
||
Verified - Fixed in latest Nightly build 75.0a1 (build id: 20200303095030) using Windows 10 and Mac OS 10.15
Comment 12•4 years ago
|
||
Comment on attachment 9130228 [details]
Bug 1619245 - Associate image to display item at paint time rather than at construction time. r=tnikkel
The fix is low risk, has tests and QA verified in nightly. The broken feature is a long supported one, uplift approved for RC2 thanks.
Comment 13•4 years ago
|
||
bugherder uplift |
Reporter | ||
Comment 14•4 years ago
|
||
Verified - Fixed in 74 RC2 (Build id: 20200303203900) using Windows 10 and Mac OS 10.15.
Updated•4 years ago
|
Updated•4 years ago
|
Description
•