Title: [281842] trunk
- Revision
- 281842
- Author
- mmaxfi...@apple.com
- Date
- 2021-09-01 01:59:44 -0700 (Wed, 01 Sep 2021)
Log 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:
* TestExpectations:
Modified Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (281841 => 281842)
--- trunk/LayoutTests/ChangeLog 2021-09-01 08:44:16 UTC (rev 281841)
+++ trunk/LayoutTests/ChangeLog 2021-09-01 08:59:44 UTC (rev 281842)
@@ -1,3 +1,12 @@
+2021-09-01 Myles C. Maxfield <mmaxfi...@apple.com>
+
+ CSSFontFaceSet.clear() should not clear CSS-connected members
+ https://bugs.webkit.org/show_bug.cgi?id=229643
+
+ Reviewed by Darin Adler.
+
+ * TestExpectations:
+
2021-08-13 Sergio Villar Senin <svil...@igalia.com>
[css-flexbox] Add initial support for css-align-3 positional alignment properties
Modified: trunk/LayoutTests/TestExpectations (281841 => 281842)
--- trunk/LayoutTests/TestExpectations 2021-09-01 08:44:16 UTC (rev 281841)
+++ trunk/LayoutTests/TestExpectations 2021-09-01 08:59:44 UTC (rev 281842)
@@ -5131,6 +5131,5 @@
webkit.org/b/229726 imported/w3c/web-platform-tests/css/css-font-loading/fontface-override-descriptors.html [ ImageOnlyFailure ]
webkit.org/b/229726 imported/w3c/web-platform-tests/css/css-font-loading/fontface-size-adjust-descriptor.html [ ImageOnlyFailure ]
-webkit.org/b/229643 imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-clear-css-connected-2.html [ ImageOnlyFailure ]
webkit.org/b/229640 imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-delete-css-connected-2.html [ ImageOnlyFailure ]
webkit.org/b/229727 imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-load-var.html [ Skip ]
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (281841 => 281842)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2021-09-01 08:44:16 UTC (rev 281841)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-09-01 08:59:44 UTC (rev 281842)
@@ -1,3 +1,12 @@
+2021-09-01 Myles C. Maxfield <mmaxfi...@apple.com>
+
+ CSSFontFaceSet.clear() should not clear CSS-connected members
+ https://bugs.webkit.org/show_bug.cgi?id=229643
+
+ Reviewed by Darin Adler.
+
+ * web-platform-tests/css/css-font-loading/fontfaceset-clear-css-connected-expected.txt:
+
2021-08-13 Sergio Villar Senin <svil...@igalia.com>
[css-flexbox] Add initial support for css-align-3 positional alignment properties
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-clear-css-connected-expected.txt (281841 => 281842)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-clear-css-connected-expected.txt 2021-09-01 08:44:16 UTC (rev 281841)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-clear-css-connected-expected.txt 2021-09-01 08:59:44 UTC (rev 281842)
@@ -1,3 +1,3 @@
-FAIL fontfaceset-clear-css-connected assert_equals: expected 1 but got 0
+PASS fontfaceset-clear-css-connected
Modified: trunk/Source/WebCore/ChangeLog (281841 => 281842)
--- trunk/Source/WebCore/ChangeLog 2021-09-01 08:44:16 UTC (rev 281841)
+++ trunk/Source/WebCore/ChangeLog 2021-09-01 08:59:44 UTC (rev 281842)
@@ -1,3 +1,18 @@
+2021-09-01 Myles C. Maxfield <mmaxfi...@apple.com>
+
+ CSSFontFaceSet.clear() should not clear CSS-connected members
+ https://bugs.webkit.org/show_bug.cgi?id=229643
+
+ Reviewed by Darin Adler.
+
+ 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):
+
2021-08-13 Sergio Villar Senin <svil...@igalia.com>
[css-flexbox] Add initial support for css-align-3 positional alignment properties
Modified: trunk/Source/WebCore/css/CSSFontFaceSet.h (281841 => 281842)
--- trunk/Source/WebCore/css/CSSFontFaceSet.h 2021-09-01 08:44:16 UTC (rev 281841)
+++ trunk/Source/WebCore/css/CSSFontFaceSet.h 2021-09-01 08:59:44 UTC (rev 281842)
@@ -77,6 +77,8 @@
bool hasActiveFontFaces() { return status() == Status::Loading; }
+ size_t facesPartitionIndex() const { return m_facesPartitionIndex; }
+
ExceptionOr<Vector<std::reference_wrapper<CSSFontFace>>> matchingFacesExcludingPreinstalledFonts(const String& font, const String& text);
// CSSFontFace::Client needs to be able to be held in a RefPtr.
Modified: trunk/Source/WebCore/css/FontFaceSet.cpp (281841 => 281842)
--- trunk/Source/WebCore/css/FontFaceSet.cpp 2021-09-01 08:44:16 UTC (rev 281841)
+++ trunk/Source/WebCore/css/FontFaceSet.cpp 2021-09-01 08:59:44 UTC (rev 281842)
@@ -132,8 +132,11 @@
void FontFaceSet::clear()
{
- while (m_backing->faceCount())
- m_backing->remove(m_backing.get()[0]);
+ auto facesPartitionIndex = m_backing->facesPartitionIndex();
+ while (m_backing->faceCount() > facesPartitionIndex) {
+ m_backing->remove(m_backing.get()[m_backing->faceCount() - 1]);
+ ASSERT(m_backing->facesPartitionIndex() == facesPartitionIndex);
+ }
}
void FontFaceSet::load(const String& font, const String& text, LoadPromise&& promise)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes