Changeset 281842 in webkit


Ignore:
Timestamp:
Sep 1, 2021 1:59:44 AM (11 months ago)
Author:
mmaxfield@apple.com
Message:

CSSFontFaceSet.clear() should not clear CSS-connected members
https://bugs.webkit.org/show_bug.cgi?id=229643

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-font-loading/fontfaceset-clear-css-connected-expected.txt:

Source/WebCore:

The spec https://drafts.csswg.org/css-font-loading-3/#dom-fontfaceset-clear says:

Remove all non-CSS-connected items

  • css/CSSFontFaceSet.h:
  • css/FontFaceSet.cpp:

(WebCore::FontFaceSet::clear):

LayoutTests:

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r281840 r281842  
     12021-09-01  Myles C. Maxfield  <mmaxfield@apple.com>
     2
     3        CSSFontFaceSet.clear() should not clear CSS-connected members
     4        https://bugs.webkit.org/show_bug.cgi?id=229643
     5
     6        Reviewed by Darin Adler.
     7
     8        * TestExpectations:
     9
    1102021-08-13  Sergio Villar Senin  <svillar@igalia.com>
    211
  • trunk/LayoutTests/TestExpectations

    r281840 r281842  
    51325132webkit.org/b/229726 imported/w3c/web-platform-tests/css/css-font-loading/fontface-override-descriptors.html [ ImageOnlyFailure ]
    51335133webkit.org/b/229726 imported/w3c/web-platform-tests/css/css-font-loading/fontface-size-adjust-descriptor.html [ ImageOnlyFailure ]
    5134 webkit.org/b/229643 imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-clear-css-connected-2.html [ ImageOnlyFailure ]
    51355134webkit.org/b/229640 imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-delete-css-connected-2.html [ ImageOnlyFailure ]
    51365135webkit.org/b/229727 imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-load-var.html [ Skip ]
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r281840 r281842  
     12021-09-01  Myles C. Maxfield  <mmaxfield@apple.com>
     2
     3        CSSFontFaceSet.clear() should not clear CSS-connected members
     4        https://bugs.webkit.org/show_bug.cgi?id=229643
     5
     6        Reviewed by Darin Adler.
     7
     8        * web-platform-tests/css/css-font-loading/fontfaceset-clear-css-connected-expected.txt:
     9
    1102021-08-13  Sergio Villar Senin  <svillar@igalia.com>
    211
  • trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-clear-css-connected-expected.txt

    r281836 r281842  
    11
    2 FAIL fontfaceset-clear-css-connected assert_equals: expected 1 but got 0
     2PASS fontfaceset-clear-css-connected
    33
  • trunk/Source/WebCore/ChangeLog

    r281840 r281842  
     12021-09-01  Myles C. Maxfield  <mmaxfield@apple.com>
     2
     3        CSSFontFaceSet.clear() should not clear CSS-connected members
     4        https://bugs.webkit.org/show_bug.cgi?id=229643
     5
     6        Reviewed by Darin Adler.
     7
     8        The spec https://drafts.csswg.org/css-font-loading-3/#dom-fontfaceset-clear says:
     9
     10        > Remove all non-CSS-connected items
     11
     12        * css/CSSFontFaceSet.h:
     13        * css/FontFaceSet.cpp:
     14        (WebCore::FontFaceSet::clear):
     15
    1162021-08-13  Sergio Villar Senin  <svillar@igalia.com>
    217
  • trunk/Source/WebCore/css/CSSFontFaceSet.h

    r278253 r281842  
    7878    bool hasActiveFontFaces() { return status() == Status::Loading; }
    7979
     80    size_t facesPartitionIndex() const { return m_facesPartitionIndex; }
     81
    8082    ExceptionOr<Vector<std::reference_wrapper<CSSFontFace>>> matchingFacesExcludingPreinstalledFonts(const String& font, const String& text);
    8183
  • trunk/Source/WebCore/css/FontFaceSet.cpp

    r278975 r281842  
    133133void FontFaceSet::clear()
    134134{
    135     while (m_backing->faceCount())
    136         m_backing->remove(m_backing.get()[0]);
     135    auto facesPartitionIndex = m_backing->facesPartitionIndex();
     136    while (m_backing->faceCount() > facesPartitionIndex) {
     137        m_backing->remove(m_backing.get()[m_backing->faceCount() - 1]);
     138        ASSERT(m_backing->facesPartitionIndex() == facesPartitionIndex);
     139    }
    137140}
    138141
Note: See TracChangeset for help on using the changeset viewer.