Closed Bug 1923880 Opened 10 months ago Closed 29 days ago

Implement atomic moveBefore() API

Categories

(Core :: DOM: Core & HTML, enhancement)

enhancement
Points:
?

Tracking

()

RESOLVED FIXED
143 Branch
Size Estimate S
Tracking Status
relnote-firefox --- nightly+
firefox143 --- fixed

People

(Reporter: domfarolino, Assigned: smaug)

References

Details

User Story

web-feature: move-before

Attachments

(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36

Steps to reproduce:

This is a tracking bug for the Gecko implementation of the moveBefore() API:

See:

Component: Untriaged → DOM: Core & HTML
Product: Firefox → Core
Points: --- → ?
Assignee: nobody → smaug
Size Estimate: --- → S
User Story: (updated)
Attachment #9497566 - Attachment description: WIP: Bug 1923880, moveBefore, WIP, needs to be rebased and heavy merging required because of the recent trusted types changes → Bug 1923880, ParentNode.moveBefore(), r=edgar!,emilio!
Pushed by imoraru@mozilla.com: https://github.com/mozilla-firefox/firefox/commit/d9d5a440a732 https://hg.mozilla.org/integration/autoland/rev/e8564194ad03 Revert "Bug 1923880, ParentNode.moveBefore(), r=edgar,emilio" for causing non-unified build bustages on nsGenericHTMLFrameElement.cpp.

Revert for causing non-unified build bustages on nsGenericHTMLFrameElement.cpp.

[task 2025-07-21T10:01:46.819+00:00] 10:01:46     INFO -  gmake[4]: Entering directory '/builds/worker/workspace/obj-build/dom/html'
[task 2025-07-21T10:01:46.821+00:00] 10:01:46     INFO -  /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang++ --sysroot /builds/worker/fetches/sysroot-x86_64-linux-gnu -o nsGenericHTMLFrameElement.o -c  -I/builds/worker/workspace/obj-build/dist/stl_wrappers -I/builds/worker/workspace/obj-build/dist/system_wrappers -include /builds/worker/checkouts/gecko/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -fstrict-flex-arrays=1 -DNDEBUG=1 -DTRIMMED=1 -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DMOZ_SUPPORT_LEAKCHECKING -DSTATIC_EXPORTABLE_JS_API -I/builds/worker/checkouts/gecko/dom/html -I/builds/worker/workspace/obj-build/dom/html -I/builds/worker/workspace/obj-build/ipc/ipdl/_ipdlheaders -I/builds/worker/checkouts/gecko/ipc/chromium/src -I/builds/worker/checkouts/gecko/caps -I/builds/worker/checkouts/gecko/docshell/base -I/builds/worker/checkouts/gecko/dom/base -I/builds/worker/checkouts/gecko/dom/canvas -I/builds/worker/checkouts/gecko/dom/html/input -I/builds/worker/checkouts/gecko/dom/media -I/builds/worker/checkouts/gecko/dom/security -I/builds/worker/checkouts/gecko/dom/xul -I/builds/worker/checkouts/gecko/image -I/builds/worker/checkouts/gecko/layout/forms -I/builds/worker/checkouts/gecko/layout/generic -I/builds/worker/checkouts/gecko/layout/style -I/builds/worker/checkouts/gecko/layout/tables -I/builds/worker/checkouts/gecko/layout/xul -I/builds/worker/checkouts/gecko/netwerk/base -I/builds/worker/checkouts/gecko/parser/htmlparser -I/builds/worker/checkouts/gecko/third_party/abseil-cpp -I/builds/worker/checkouts/gecko/third_party/libwebrtc -I/builds/worker/workspace/obj-build/dist/include -I/builds/worker/workspace/obj-build/dist/include/nspr -I/builds/worker/workspace/obj-build/dist/include/nss -DMOZILLA_CLIENT -include /builds/worker/workspace/obj-build/mozilla-config.h -D_GLIBCXX_USE_CXX11_ABI=0 -fno-rtti -pthread -fno-sized-deallocation -fno-aligned-new -ffunction-sections -fdata-sections -fno-math-errno -fno-exceptions -fPIC -fcrash-diagnostics-dir=/builds/worker/artifacts -gdwarf-4 -Xclang -load -Xclang /builds/worker/workspace/obj-build/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O2 -fno-omit-frame-pointer -funwind-tables -Werror -Wall -Wbitfield-enum-conversion -Wempty-body -Wformat-type-confusion -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtautological-constant-in-range-compare -Wtype-limits -Wno-error=tautological-type-limit-compare -Wunreachable-code -Wunreachable-code-return -Wunused-but-set-parameter -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wenum-compare-conditional -Wenum-float-conversion -Wno-deprecated-anon-enum-enum-conversion -Wno-deprecated-enum-enum-conversion -Wno-deprecated-this-capture -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wno-error=atomic-alignment -Wno-error=deprecated-builtins -Wformat -Wformat-security -Wno-psabi -Wthread-safety -Wno-error=builtin-macro-redefined -Wno-vla-cxx-extension -Wno-unknown-warning-option -fno-strict-aliasing -ffp-contract=off  -MD -MP -MF .deps/nsGenericHTMLFrameElement.o.pp   /builds/worker/checkouts/gecko/dom/html/nsGenericHTMLFrameElement.cpp
[task 2025-07-21T10:01:46.822+00:00] 10:01:46    ERROR -  /builds/worker/checkouts/gecko/dom/html/nsGenericHTMLFrameElement.cpp:202:32: error: member access into incomplete type 'UnbindContext' (aka 'mozilla::dom::UnbindContext')
[task 2025-07-21T10:01:46.822+00:00] 10:01:46     INFO -    202 |   if (mFrameLoader && !aContext.IsMove()) {
[task 2025-07-21T10:01:46.822+00:00] 10:01:46     INFO -        |                                ^
[task 2025-07-21T10:01:46.822+00:00] 10:01:46     INFO -  /builds/worker/checkouts/gecko/dom/base/nsIContent.h:25:8: note: forward declaration of 'mozilla::dom::UnbindContext'
[task 2025-07-21T10:01:46.822+00:00] 10:01:46     INFO -     25 | struct UnbindContext;
[task 2025-07-21T10:01:46.822+00:00] 10:01:46     INFO -        |        ^
[task 2025-07-21T10:01:46.822+00:00] 10:01:46     INFO -  1 error generated.
[task 2025-07-21T10:01:46.823+00:00] 10:01:46    ERROR -  gmake[4]: *** [/builds/worker/checkouts/gecko/config/rules.mk:674: nsGenericHTMLFrameElement.o] Error 1
[task 2025-07-21T10:01:46.823+00:00] 10:01:46     INFO -  gmake[4]: Leaving directory '/builds/worker/workspace/obj-build/dom/html'
Flags: needinfo?(smaug)
Created web-platform-tests PR https://github.com/web-platform-tests/wpt/pull/53865 for changes under testing/web-platform/tests
Status: UNCONFIRMED → RESOLVED
Closed: 29 days ago
Resolution: --- → FIXED
Target Milestone: --- → 143 Branch
Upstream PR merged by moz-wptsync-bot
Regressions: 1978553
Regressions: 1978556
Regressions: 1978560
Flags: needinfo?(smaug)

Is this something we should call out in the Nightly release notes? Please nominate if yes.

Flags: needinfo?(smaug)
Duplicate of this bug: 1980519

Release Note Request (optional, but appreciated)
[Why is this notable]: Implementing a new API
[Affects Firefox for Android]: YES
[Suggested wording]:
Element.moveBefore API has been enabled in Nightly 143.
[Links (documentation, blog post, etc)]:
https://developer.mozilla.org/en-US/docs/Web/API/Element/moveBefore

relnote-firefox: --- → ?
Flags: needinfo?(smaug)

Added to the Nightly relnotes, thanks.

You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: