Closed Bug 1963030 Opened 19 days ago Closed 10 days ago

[wpt-sync] Sync PR 52195 - Consistently match default namespace declaration during serialization

Categories

(Core :: DOM: Core & HTML, task, P4)

task

Tracking

()

RESOLVED FIXED
140 Branch
Tracking Status
firefox140 --- fixed

People

(Reporter: wpt-sync, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Attachments

(1 file)

Sync web-platform-tests PR 52195 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/52195
Details from upstream follow.

Fredrik Söderquist <fs@opera.com> wrote:

Consistently match default namespace declaration during serialization

During record-namespace-information for an Element, we match on the
attribute local name ('xmlns'), but while (later) performing the actual
serialization we check if the attribute namespace matches the XMLNS
namespace.

Use the same check in both of these cases, and allow matching both local
name and attribute namespace. This appears to match Gecko.

Guard behind flag "XMLSerializerConsistentDefaultNsDeclMatching".

Fixed: 40068829
Change-Id: Ie8d29f51502b5804ec89f90e259718342ffd5c1a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6429609
Reviewed-by: Kent Tamura \<tkent@chromium.org>
Commit-Queue: Fredrik Söderquist \<fs@opera.com>
Cr-Commit-Position: refs/heads/main@{#1452495}

Component: web-platform-tests → CSS Parsing and Computation
Product: Testing → Core

CI Results

Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 1 tests and 26 subtests

Status Summary

Firefox

OK : 1
PASS: 12
FAIL: 14

Chrome

OK : 1
PASS: 20
FAIL: 6

Safari

OK : 1
PASS: 14
FAIL: 12

Links

GitHub PR Head
GitHub PR Base

Details

Firefox-only Failures

  • /domparsing/XMLSerializer-serializeToString.html [wpt.fyi]
    • Check if the prefix of an attribute is replaced with a generated one in a case where the prefix is already mapped to a different namespace URI.: FAIL
    • Check if attribute serialization takes into account of the same prefix declared in an ancestor element: FAIL
    • Check if start tag serialization applied the original prefix even if it is declared in an ancestor element.: FAIL
    • Check if generated prefixes match to "ns${index}".: FAIL
    • Check if no special handling for XLink namespace unlike HTML serializer.: FAIL

New Tests That Don't Pass

  • /domparsing/XMLSerializer-serializeToString.html [wpt.fyi]
    • Check if redundant xmlns="..." is dropped.: FAIL (Chrome: FAIL, Safari: FAIL)
    • Check if inconsistent xmlns="..." is dropped.: FAIL (Chrome: PASS, Safari: FAIL)
    • Check if an attribute with namespace and no prefix is serialized with the nearest-declared prefix even if the prefix is assigned to another namespace.: FAIL (Chrome: FAIL, Safari: FAIL)
    • Check if the prefix of an attribute is NOT preserved in a case where neither its prefix nor its namespace URI is not already used.: FAIL (Chrome: FAIL, Safari: FAIL)
    • Check if the prefix of an attribute is replaced with a generated one in a case where the prefix is already mapped to a different namespace URI.: FAIL (Chrome: PASS, Safari: PASS)
    • Check if attribute serialization takes into account of following xmlns:* attributes: FAIL (Chrome: PASS, Safari: FAIL)
    • Check if attribute serialization takes into account of the same prefix declared in an ancestor element: FAIL (Chrome: PASS, Safari: PASS)
    • Check if start tag serialization drops element prefix if the namespace is same as inherited default namespace.: FAIL (Chrome: PASS, Safari: FAIL)
    • Check if start tag serialization takes into account of its xmlns:* attributes: FAIL (Chrome: PASS, Safari: FAIL)
    • Check if start tag serialization applied the original prefix even if it is declared in an ancestor element.: FAIL (Chrome: PASS, Safari: PASS)
    • Check if start tag serialization does NOT apply the default namespace if its namespace is declared in an ancestor.: FAIL (Chrome: FAIL, Safari: FAIL)
    • Check if generated prefixes match to "ns${index}".: FAIL (Chrome: PASS, Safari: PASS)
    • Check if "ns1" is generated even if the element already has xmlns:ns1.: FAIL (Chrome: FAIL, Safari: FAIL)
    • Check if no special handling for XLink namespace unlike HTML serializer.: FAIL (Chrome: PASS, Safari: PASS)
Component: CSS Parsing and Computation → DOM: Core & HTML

Automatic update from web-platform-tests
Consistently match default namespace declaration during serialization

During record-namespace-information for an Element, we match on the
attribute local name ('xmlns'), but while (later) performing the actual
serialization we check if the attribute namespace matches the XMLNS
namespace.

Use the same check in both of these cases, and allow matching both local
name and attribute namespace. This appears to match Gecko.

Guard behind flag "XMLSerializerConsistentDefaultNsDeclMatching".

Fixed: 40068829
Change-Id: Ie8d29f51502b5804ec89f90e259718342ffd5c1a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/6429609
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Fredrik Söderquist <fs@opera.com>
Cr-Commit-Position: refs/heads/main@{#1452495}

--

wpt-commits: 076019e2f136427b7f00e5a523b1a86335207f60
wpt-pr: 52195

Pushed by aborovova@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/dfdda22036a6 [wpt PR 52195] - Consistently match default namespace declaration during serialization,
Status: NEW → RESOLVED
Closed: 10 days ago
Resolution: --- → FIXED
Target Milestone: --- → 140 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: