Closed Bug 1712140 Opened 3 years ago Closed 3 months ago

Implement Declarative Shadow DOM

Categories

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

Firefox 90
enhancement

Tracking

()

RESOLVED FIXED
122 Branch
Tracking Status
relnote-firefox --- -
firefox122 --- fixed

People

(Reporter: 709922234, Assigned: avandolder)

References

(Blocks 5 open bugs)

Details

(Keywords: dev-doc-complete)

Attachments

(6 files)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:90.0) Gecko/20100101 Firefox/90.0

Steps to reproduce:

https://github.com/mfreed7/declarative-shadow-dom

Component: Untriaged → DOM: Core & HTML
Product: Firefox → Core

Anne: Could you consider something about this?

Flags: needinfo?(annevk)

See https://github.com/mozilla/standards-positions/issues/335. We don't think this is a good idea. Performance numbers might persuade us, but we see a better future in declarative web components.

(FWIW, I'm fine with leaving this bug open so we have a central place in Bugzilla where this is captured.)

Flags: needinfo?(annevk)

Thanks, let's set the severity to N/A for now.

Severity: -- → N/A
Priority: -- → P5
Blocks: shadowdom
Status: UNCONFIRMED → NEW
Ever confirmed: true

There is an open patch for WebKit to enable Declarative Shadow DOM by default on all platforms: https://github.com/WebKit/WebKit/pull/7798.

Priority: P5 → --
See Also: → 1821269

Mosaic standards positions here have changed. Obviously not a commitment to implement, but potentially worth reevaluation, as I haven't seen the change in position (or the new proposal generally) represented in this ticket since the previous proposal was considered harmful.

*Mozilla

Blocks: 1850675
Assignee: nobody → avandolder
Keywords: dev-doc-needed
Blocks: 1676798
Duplicate of this bug: 1850675

Is it intentional that a lot of the APIs added here are not behind a pref? Even if we want to enable by default ASAP, there probably should be a runtime flag.

Flags: needinfo?(hsivonen)
Flags: needinfo?(avandolder)
Attachment #9363725 - Attachment description: Bug 1712140 - Part 5: Unblock Declarative ShadowDOM tests. r?#dom-core → Bug 1712140 - Part 6: Unblock Declarative ShadowDOM tests. r?#dom-core
Flags: needinfo?(avandolder)
Flags: needinfo?(hsivonen)
See Also: → 1867577
Pushed by avandolder@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ff3bb42f91d1
Part 1: Add Declarative ShadowDOM attributes to parser. r=dom-core,emilio,hsivonen
https://hg.mozilla.org/integration/autoland/rev/59ee434d503e
Part 2: Allow ShadowRoots to be clonable and declarative. r=webidl,emilio,saschanaz
https://hg.mozilla.org/integration/autoland/rev/4241a7241a9b
Part 3: Add support for parsing and building Declarative ShadowDOMs. r=dom-core,webidl,saschanaz,hsivonen
https://hg.mozilla.org/integration/autoland/rev/98dd5766dd46
Part 4: Add parseHTMLUnsafe and setHTMLUnsafe methods. r=dom-core,webidl,hsivonen
https://hg.mozilla.org/integration/autoland/rev/14ebbfca2e84
Part 5: Block Declarative ShadowDOM behind feature pref. r=emilio
https://hg.mozilla.org/integration/autoland/rev/554a46ed8046
Part 6: Unblock Declarative ShadowDOM tests. r=dom-core,hsivonen

Backed out for causing wpt failures in declarative-shadow-dom-opt-in.html.

Also, this Bp-nu bustage.

Flags: needinfo?(avandolder)
Attachment #9363721 - Attachment description: Bug 1712140 - Part 1: Add Declarative ShadowDOM attributes to parser. r?#dom-core → Bug 1712140 - Part 1: Add Declarative ShadowDOM template attributes to parser. r?#dom-core
Pushed by avandolder@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/4ffe7a6ad366
Part 1: Add Declarative ShadowDOM template attributes to parser. r=dom-core,emilio,hsivonen
https://hg.mozilla.org/integration/autoland/rev/8ae1f766f1f9
Part 2: Allow ShadowRoots to be clonable and declarative. r=webidl,emilio,saschanaz
https://hg.mozilla.org/integration/autoland/rev/b65511d17150
Part 3: Add support for parsing and building Declarative ShadowDOMs. r=dom-core,webidl,saschanaz,hsivonen
https://hg.mozilla.org/integration/autoland/rev/4d2749962c5f
Part 4: Add parseHTMLUnsafe and setHTMLUnsafe methods. r=dom-core,webidl,hsivonen
https://hg.mozilla.org/integration/autoland/rev/8601fce480ef
Part 5: Block Declarative ShadowDOM behind feature pref. r=emilio
https://hg.mozilla.org/integration/autoland/rev/78e3a33470ae
Part 6: Unblock Declarative ShadowDOM tests. r=dom-core,hsivonen

Backed out for causing wpt failures on declarative-shadow-dom-opt-in.html.

[task 2023-12-04T20:14:28.410Z] 20:14:28     INFO - TEST-PASS | /shadow-dom/declarative/declarative-shadow-dom-opt-in.html | document.write allowed from synchronous script loaded from main document 
[task 2023-12-04T20:14:28.410Z] 20:14:28     INFO - TEST-UNEXPECTED-FAIL | /shadow-dom/declarative/declarative-shadow-dom-opt-in.html | document.write disallowed on fresh document - assert_true: Shadow root FOUND - none should be present. expected true got false
[task 2023-12-04T20:14:28.410Z] 20:14:28     INFO - assert_dsd@http://web-platform.test:8000/shadow-dom/declarative/declarative-shadow-dom-opt-in.html:49:16
[task 2023-12-04T20:14:28.410Z] 20:14:28     INFO - @http://web-platform.test:8000/shadow-dom/declarative/declarative-shadow-dom-opt-in.html:149:13
[task 2023-12-04T20:14:28.410Z] 20:14:28     INFO - Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:2599:25
[task 2023-12-04T20:14:28.410Z] 20:14:28     INFO - test@http://web-platform.test:8000/resources/testharness.js:628:30
[task 2023-12-04T20:14:28.410Z] 20:14:28     INFO - @http://web-platform.test:8000/shadow-dom/declarative/declarative-shadow-dom-opt-in.html:145:5
[task 2023-12-04T20:14:28.448Z] 20:14:28     INFO - TEST-OK | /shadow-dom/declarative/declarative-shadow-dom-opt-in.html | took 956ms
Flags: needinfo?(avandolder)
Flags: needinfo?(avandolder)
Pushed by avandolder@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/50828058065e
Part 1: Add Declarative ShadowDOM template attributes to parser. r=dom-core,emilio,hsivonen
https://hg.mozilla.org/integration/autoland/rev/5490dad148ef
Part 2: Allow ShadowRoots to be clonable and declarative. r=webidl,emilio,saschanaz
https://hg.mozilla.org/integration/autoland/rev/e7c5449482f9
Part 3: Add support for parsing and building Declarative ShadowDOMs. r=dom-core,webidl,saschanaz,hsivonen
https://hg.mozilla.org/integration/autoland/rev/6f50077df42a
Part 4: Add parseHTMLUnsafe and setHTMLUnsafe methods. r=dom-core,webidl,hsivonen
https://hg.mozilla.org/integration/autoland/rev/2ed53d545d6d
Part 5: Block Declarative ShadowDOM behind feature pref. r=emilio
https://hg.mozilla.org/integration/autoland/rev/3d799b386f3e
Part 6: Unblock Declarative ShadowDOM tests. r=dom-core,hsivonen

Backed out for causing Linux related wpt failures in nsHtml5TreeBuilder.cpp.

Also these wpts.

Pushed by avandolder@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/dc1dc389f2dc
Part 1: Add Declarative ShadowDOM template attributes to parser. r=dom-core,emilio,hsivonen
https://hg.mozilla.org/integration/autoland/rev/a861fd445f56
Part 2: Allow ShadowRoots to be clonable and declarative. r=webidl,emilio,saschanaz
https://hg.mozilla.org/integration/autoland/rev/a93481858c38
Part 3: Add support for parsing and building Declarative ShadowDOMs. r=dom-core,webidl,saschanaz,hsivonen
https://hg.mozilla.org/integration/autoland/rev/3a35e1401130
Part 4: Add parseHTMLUnsafe and setHTMLUnsafe methods. r=dom-core,webidl,hsivonen
https://hg.mozilla.org/integration/autoland/rev/dfc44cccff32
Part 5: Block Declarative ShadowDOM behind feature pref. r=emilio
https://hg.mozilla.org/integration/autoland/rev/b374469160e9
Part 6: Unblock Declarative ShadowDOM tests. r=dom-core,hsivonen

Backed out for causing sanitizer failures on nsHtml5TreeBuilder.cpp.

[task 2023-12-07T05:43:51.521Z] 05:43:51     INFO - TEST-START | /html/syntax/speculative-parsing/generated/document-write/nested-template-shadowrootmode-1.tentative.sub.html
[task 2023-12-07T05:43:51.583Z] 05:43:51     INFO - Closing window d1ffcc55-74b0-4508-a689-979027253001
[task 2023-12-07T05:43:52.526Z] 05:43:52     INFO - PID 3798 | /builds/worker/checkouts/gecko/parser/html/nsHtml5TreeBuilder.cpp:4512:10: runtime error: load of value 228, which is not a valid value for type 'bool'
[task 2023-12-07T05:43:53.740Z] 05:43:53     INFO - PID 3798 |     #0 0x7f925bf4a39b in isAllowDeclarativeShadowRoots /builds/worker/checkouts/gecko/parser/html/nsHtml5TreeBuilder.cpp:4512:10
[task 2023-12-07T05:43:53.741Z] 05:43:53     INFO - PID 3798 |     #1 0x7f925bf4a39b in getDeclarativeShadowRoot /builds/worker/checkouts/gecko/parser/html/nsHtml5TreeBuilder.cpp:2099:8
[task 2023-12-07T05:43:53.742Z] 05:43:53     INFO - PID 3798 |     #2 0x7f925bf4a39b in nsHtml5TreeBuilder::appendToCurrentNodeAndPushElement(nsHtml5ElementName*, nsHtml5HtmlAttributes*) /builds/worker/checkouts/gecko/parser/html/nsHtml5TreeBuilder.cpp:4240:9
[task 2023-12-07T05:43:53.743Z] 05:43:53     INFO - PID 3798 |     #3 0x7f925beda7c7 in startTagTemplateInHead /builds/worker/checkouts/gecko/parser/html/nsHtml5TreeBuilder.cpp:2072:3
[task 2023-12-07T05:43:53.743Z] 05:43:53     INFO - PID 3798 |     #4 0x7f925beda7c7 in nsHtml5TreeBuilder::startTag(nsHtml5ElementName*, nsHtml5HtmlAttributes*, bool) /builds/worker/checkouts/gecko/parser/html/nsHtml5TreeBuilder.cpp:1575:15
[task 2023-12-07T05:43:53.744Z] 05:43:53     INFO - PID 3798 |     #5 0x7f925becfbcf in nsHtml5Tokenizer::emitCurrentTagToken(bool, int) /builds/worker/checkouts/gecko/parser/html/nsHtml5Tokenizer.cpp:330:21
[task 2023-12-07T05:43:53.745Z] 05:43:53     INFO - PID 3798 |     #6 0x7f925bf05b36 in int nsHtml5Tokenizer::stateLoop<nsHtml5LineColPolicy>(int, char16_t, int, char16_t*, bool, int, int) /builds/worker/checkouts/gecko/parser/html/nsHtml5Tokenizer.cpp:634:37
[task 2023-12-07T05:43:53.762Z] 05:43:53     INFO - PID 3798 |     #7 0x7f925bec36fa in nsHtml5Tokenizer::tokenizeBuffer(nsHtml5UTF16Buffer*) /builds/worker/checkouts/gecko/parser/html/nsHtml5Tokenizer.cpp:445:11
[task 2023-12-07T05:43:53.764Z] 05:43:53     INFO - PID 3798 |     #8 0x7f925be8ef1c in nsHtml5Parser::Parse(nsTSubstring<char16_t> const&, void*, bool) /builds/worker/checkouts/gecko/parser/html/nsHtml5Parser.cpp:448:44
[task 2023-12-07T05:43:53.765Z] 05:43:53     INFO - PID 3798 |     #9 0x7f925d3a0e25 in mozilla::dom::Document::WriteCommon(nsTSubstring<char16_t> const&, bool, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/dom/base/Document.cpp:10001:55
[task 2023-12-07T05:43:53.767Z] 05:43:53     INFO - PID 3798 |     #10 0x7f925d3a032f in mozilla::dom::Document::WriteCommon(mozilla::dom::Sequence<nsTString<char16_t>> const&, bool, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/dom/base/Document.cpp:9882:5
[task 2023-12-07T05:43:53.768Z] 05:43:53     INFO - PID 3798 |     #11 0x7f925f33e065 in mozilla::dom::Document_Binding::write(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) /builds/worker/workspace/obj-build/dom/bindings/./DocumentBinding.cpp:3749:24
[task 2023-12-07T05:43:53.768Z] 05:43:53     INFO - PID 3798 |     #12 0x7f925f9bcba4 in bool mozilla::dom::binding_detail::GenericMethod<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/dom/bindings/BindingUtils.cpp:3330:13
[task 2023-12-07T05:43:53.768Z] 05:43:53     INFO - PID 3798 |     #13 0x7f92697e9235 in CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:472:13
[task 2023-12-07T05:43:53.768Z] 05:43:53     INFO - PID 3798 |     #14 0x7f92697e9235 in js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:566:12
[task 2023-12-07T05:43:53.768Z] 05:43:53     INFO - PID 3798 |     #15 0x7f926980e200 in InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:633:10
[task 2023-12-07T05:43:53.768Z] 05:43:53     INFO - PID 3798 |     #16 0x7f926980e200 in CallFromStack /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:638:10
[task 2023-12-07T05:43:53.768Z] 05:43:53     INFO - PID 3798 |     #17 0x7f926980e200 in js::Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:3053:16
[task 2023-12-07T05:43:53.768Z] 05:43:53     INFO - PID 3798 |     #18 0x7f92697e7fb5 in MaybeEnterInterpreterTrampoline /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:386:10
[task 2023-12-07T05:43:53.768Z] 05:43:53     INFO - PID 3798 |     #19 0x7f92697e7fb5 in js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:444:13
[task 2023-12-07T05:43:53.768Z] 05:43:53     INFO - PID 3798 |     #20 0x7f92697ed8c3 in js::ExecuteKernel(JSContext*, JS::Handle<JSScript*>, JS::Handle<JSObject*>, js::AbstractFramePtr, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:831:13
[task 2023-12-07T05:43:53.769Z] 05:43:53     INFO - PID 3798 |     #21 0x7f926997a8e5 in JS_ExecuteScript(JSContext*, JS::Handle<JSScript*>) /builds/worker/checkouts/gecko/js/src/vm/CompilationAndEvaluation.cpp:518:10
[task 2023-12-07T05:43:53.769Z] 05:43:53     INFO - PID 3798 |     #22 0x7f925d4d5939 in mozilla::dom::JSExecutionContext::ExecScript() /builds/worker/checkouts/gecko/dom/base/JSExecutionContext.cpp:238:8
[task 2023-12-07T05:43:53.769Z] 05:43:53     INFO - PID 3798 |     #23 0x7f9263b1e7d6 in ExecuteCompiledScript /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:2522:16
[task 2023-12-07T05:43:53.769Z] 05:43:53     INFO - PID 3798 |     #24 0x7f9263b1e7d6 in mozilla::dom::ScriptLoader::EvaluateScript(nsIGlobalObject*, JS::loader::ScriptLoadRequest*) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:2802:12
[task 2023-12-07T05:43:53.769Z] 05:43:53     INFO - PID 3798 |     #25 0x7f9263b1c978 in mozilla::dom::ScriptLoader::EvaluateScriptElement(JS::loader::ScriptLoadRequest*) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:2591:10
[task 2023-12-07T05:43:53.769Z] 05:43:53     INFO - PID 3798 |     #26 0x7f9263b12394 in mozilla::dom::ScriptLoader::ProcessRequest(JS::loader::ScriptLoadRequest*) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:2234:10
[task 2023-12-07T05:43:53.769Z] 05:43:53     INFO - PID 3798 |     #27 0x7f9263b0e3f9 in mozilla::dom::ScriptLoader::ProcessInlineScript(nsIScriptElement*, JS::loader::ScriptKind) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:1481:10
[task 2023-12-07T05:43:53.769Z] 05:43:53     INFO - PID 3798 |     #28 0x7f9263af6163 in mozilla::dom::ScriptLoader::ProcessScriptElement(nsIScriptElement*, nsTAutoStringN<char16_t, 64ul> const&) /builds/worker/checkouts/gecko/dom/script/ScriptLoader.cpp:1068:10
[task 2023-12-07T05:43:53.782Z] 05:43:53     INFO - PID 3798 |     #29 0x7f9263af51c2 in mozilla::dom::ScriptElement::MaybeProcessScript() /builds/worker/checkouts/gecko/dom/script/ScriptElement.cpp:195:18
[task 2023-12-07T05:43:53.793Z] 05:43:53     INFO - PID 3798 |     #30 0x7f925bf70b0d in AttemptToExecute /builds/worker/workspace/obj-build/dist/include/nsIScriptElement.h:224:18
[task 2023-12-07T05:43:53.794Z] 05:43:53     INFO - PID 3798 |     #31 0x7f925bf70b0d in nsHtml5TreeOpExecutor::RunScript(nsIContent*, bool) /builds/worker/checkouts/gecko/parser/html/nsHtml5TreeOpExecutor.cpp:957:22
[task 2023-12-07T05:43:53.795Z] 05:43:53     INFO - PID 3798 |     #32 0x7f925bf6ae0f in nsHtml5TreeOpExecutor::RunFlushLoop() /builds/worker/checkouts/gecko/parser/html/nsHtml5TreeOpExecutor.cpp:742:7
[task 2023-12-07T05:43:53.795Z] 05:43:53     INFO - PID 3798 |     #33 0x7f925bf7c906 in nsHtml5ExecutorReflusher::Run() /builds/worker/checkouts/gecko/parser/html/nsHtml5TreeOpExecutor.cpp:83:16
[task 2023-12-07T05:43:53.796Z] 05:43:53     INFO - PID 3798 |     #34 0x7f9259baadea in mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:549:16
[task 2023-12-07T05:43:53.797Z] 05:43:53     INFO - PID 3798 |     #35 0x7f9259b93dae in mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:876:26
[task 2023-12-07T05:43:53.798Z] 05:43:53     INFO - PID 3798 |     #36 0x7f9259b90998 in mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:699:15
[task 2023-12-07T05:43:53.798Z] 05:43:53     INFO - PID 3798 |     #37 0x7f9259b91099 in mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:485:36
[task 2023-12-07T05:43:53.799Z] 05:43:53     INFO - PID 3798 |     #38 0x7f9259bb2e81 in operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:211:37
[task 2023-12-07T05:43:53.800Z] 05:43:53     INFO - PID 3798 |     #39 0x7f9259bb2e81 in mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::$_0>::Run() /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.h:548:5
[task 2023-12-07T05:43:53.800Z] 05:43:53     INFO - PID 3798 |     #40 0x7f9259bd9cca in nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1198:16
[task 2023-12-07T05:43:53.801Z] 05:43:53     INFO - PID 3798 |     #41 0x7f9259be753a in NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10
[task 2023-12-07T05:43:53.802Z] 05:43:53     INFO - PID 3798 |     #42 0x7f925b61dbf8 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:85:21
[task 2023-12-07T05:43:53.802Z] 05:43:53     INFO - PID 3798 |     #43 0x7f925b46b8aa in RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:370:10
[task 2023-12-07T05:43:53.803Z] 05:43:53     INFO - PID 3798 |     #44 0x7f925b46b8aa in RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:363:3
[task 2023-12-07T05:43:53.803Z] 05:43:53     INFO - PID 3798 |     #45 0x7f925b46b8aa in MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:345:3
[task 2023-12-07T05:43:53.804Z] 05:43:53     INFO - PID 3798 |     #46 0x7f9264106979 in nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:148:27
[task 2023-12-07T05:43:53.805Z] 05:43:53     INFO - PID 3798 |     #47 0x7f9264307972 in nsAppShell::Run() /builds/worker/checkouts/gecko/widget/gtk/nsAppShell.cpp:470:33
[task 2023-12-07T05:43:53.805Z] 05:43:53     INFO - PID 3798 |     #48 0x7f926940921e in XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:721:20
[task 2023-12-07T05:43:53.806Z] 05:43:53     INFO - PID 3798 |     #49 0x7f925b46b8aa in RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:370:10
[task 2023-12-07T05:43:53.806Z] 05:43:53     INFO - PID 3798 |     #50 0x7f925b46b8aa in RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:363:3
[task 2023-12-07T05:43:53.807Z] 05:43:53     INFO - PID 3798 |     #51 0x7f925b46b8aa in MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:345:3
[task 2023-12-07T05:43:53.807Z] 05:43:53     INFO - PID 3798 |     #52 0x7f92694088a5 in XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:656:34
[task 2023-12-07T05:43:53.808Z] 05:43:53     INFO - PID 3798 |     #53 0x5574a3e01a9b in content_process_main /builds/worker/checkouts/gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:57:28
[task 2023-12-07T05:43:53.808Z] 05:43:53     INFO - PID 3798 |     #54 0x5574a3e01a9b in main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:375:18
[task 2023-12-07T05:43:53.809Z] 05:43:53     INFO - PID 3798 |     #55 0x7f927f514b96 in __libc_start_main /tmp/glibc/csu/../csu/libc-start.c:310
[task 2023-12-07T05:43:53.817Z] 05:43:53     INFO - PID 3798 |     #56 0x5574a3d25df8 in _start (/builds/worker/workspace/build/application/firefox/firefox+0xcfdf8) (BuildId: 4eb66141297dbf2f0ee89bf2c9187f2d2c819e00)
[task 2023-12-07T05:43:53.818Z] 05:43:53     INFO - PID 3798 | SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /builds/worker/checkouts/gecko/parser/html/nsHtml5TreeBuilder.cpp:4512:10 in
[task 2023-12-07T05:43:53.840Z] 05:43:53     INFO - PID 3798 | A content process crashed and MOZ_CRASHREPORTER_SHUTDOWN is set, shutting down
[task 2023-12-07T05:43:54.044Z] 05:43:54     INFO - PID 3798 | 1701927834043	Marionette	INFO	Stopped listening on port 60137
[task 2023-12-07T05:43:54.212Z] 05:43:54     INFO - NoSuchWindowException on command, setting status to CRASH
[task 2023-12-07T05:43:54.212Z] 05:43:54     INFO - TEST-UNEXPECTED-CRASH | /html/syntax/speculative-parsing/generated/document-write/nested-template-shadowrootmode-1.tentative.sub.html | expected OK
[task 2023-12-07T05:43:54.212Z] 05:43:54     INFO - TEST-INFO took 2691ms
[task 2023-12-07T05:43:54.233Z] 05:43:54     INFO - PID 3798 | JavaScript error: chrome://remote/content/marionette/cert.sys.mjs, line 51: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsICertOverrideService.setDisableAllSecurityChecksAndLetAttackersInterceptMyData]
[task 2023-12-07T05:43:54.257Z] 05:43:54     INFO - PID 3798 | JavaScript error: chrome://remote/content/marionette/cert.sys.mjs, line 51: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsICertOverrideService.setDisableAllSecurityChecksAndLetAttackersInterceptMyData]
[task 2023-12-07T05:43:54.341Z] 05:43:54     INFO - PID 3798 | console.error: ({})
[task 2023-12-07T05:43:54.724Z] 05:43:54     INFO - PID 3798 | -----------------------------------------------------
[task 2023-12-07T05:43:54.724Z] 05:43:54     INFO - PID 3798 | Suppressions used:
[task 2023-12-07T05:43:54.724Z] 05:43:54     INFO - PID 3798 |   count      bytes template
[task 2023-12-07T05:43:54.724Z] 05:43:54     INFO - PID 3798 |       2        288 libfontconfig.so
[task 2023-12-07T05:43:54.724Z] 05:43:54     INFO - PID 3798 |      31      16288 style::global_style_data
[task 2023-12-07T05:43:54.724Z] 05:43:54     INFO - PID 3798 |       1       9504 style::sharing::SHARING_CACHE_KEY
[task 2023-12-07T05:43:54.724Z] 05:43:54     INFO - PID 3798 |       1       4112 style::bloom::BLOOM_KEY
[task 2023-12-07T05:43:54.724Z] 05:43:54     INFO - PID 3798 | -----------------------------------------------------
[task 2023-12-07T05:43:54.944Z] 05:43:54     INFO - TEST-START | /css/css-variables/css-variable-change-style-001.html
Flags: needinfo?(avandolder)
Flags: needinfo?(avandolder)
Backout by imoraru@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/d6000f1e4ebb
Backed out 6 changesets for causing sanitizer failures on nsHtml5TreeBuilder.cpp. CLOSED TREE

You need to initialize the bool in the constructor.

Pushed by avandolder@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ea1dbcd2e721
Part 1: Add Declarative ShadowDOM template attributes to parser. r=dom-core,emilio,hsivonen
https://hg.mozilla.org/integration/autoland/rev/da345a85a04a
Part 2: Allow ShadowRoots to be clonable and declarative. r=webidl,emilio,saschanaz
https://hg.mozilla.org/integration/autoland/rev/12ef8cab6409
Part 3: Add support for parsing and building Declarative ShadowDOMs. r=dom-core,webidl,saschanaz,hsivonen
https://hg.mozilla.org/integration/autoland/rev/2587aec125b6
Part 4: Add parseHTMLUnsafe and setHTMLUnsafe methods. r=dom-core,webidl,hsivonen
https://hg.mozilla.org/integration/autoland/rev/d86bcec1accf
Part 5: Block Declarative ShadowDOM behind feature pref. r=emilio
https://hg.mozilla.org/integration/autoland/rev/06e6b28ba195
Part 6: Unblock Declarative ShadowDOM tests. r=dom-core,hsivonen

:avandolder could you consider nominating this for a release note? (Process info)
Since the pref is nightly only, we could include it in the nightly release notes.

Regressions: 1868977
Regressions: 1869003
Flags: needinfo?(avandolder)
Blocks: 1870052
Blocks: 1870055

:avanholder could you consider nominating this for a release note? (Process info)

Flags: needinfo?(avandolder)
Blocks: 1871813

Release Note Request (optional, but appreciated)
[Why is this notable]: Implements recently-specced highly-requested feature already shipping in Blink and Webkit.
[Affects Firefox for Android]: Shipping in Android.
[Suggested wording]: Firefox now supports declarative ShadowDOM, providing developers greater flexibility and improved ergonomics when working with ShadowDOMs directly within HTML.
[Links (documentation, blog post, etc)]: https://developer.chrome.com/docs/css-ui/declarative-shadow-dom

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

Does it mean that it’s going to be enabled by default in the upcoming Firefox 122 release?

The relnote would probably be better in the bug to enable by default (Bug 1870052)? Which would be in Fx123+ afaik

I'll remove the note from 122, and please nominate Bug 1870052 whenever it lands

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