Title: [282261] trunk
- Revision
- 282261
- Author
- [email protected]
- Date
- 2021-09-09 23:42:31 -0700 (Thu, 09 Sep 2021)
Log Message
FontFaceSet.load() needs to react to style changes
https://bugs.webkit.org/show_bug.cgi?id=230132
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
This test is being upstreamed in https://github.com/web-platform-tests/wpt/pull/30491
* web-platform-tests/css/css-font-loading/fontfaceset-load-css-connected-expected.txt: Added.
* web-platform-tests/css/css-font-loading/fontfaceset-load-css-connected.html: Added.
Source/WebCore:
If content does something like
let fonts = document.fonts;
... modify style sheets ...
fonts.load(...)
The load() function needs to see the result of hte style sheet modification.
Test: imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-load-css-connected.html
* css/FontFaceSet.cpp:
(WebCore::FontFaceSet::load):
Modified Paths
Added Paths
Diff
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (282260 => 282261)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2021-09-10 06:41:27 UTC (rev 282260)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-09-10 06:42:31 UTC (rev 282261)
@@ -1,3 +1,15 @@
+2021-09-09 Myles C. Maxfield <[email protected]>
+
+ FontFaceSet.load() needs to react to style changes
+ https://bugs.webkit.org/show_bug.cgi?id=230132
+
+ Reviewed by Antti Koivisto.
+
+ This test is being upstreamed in https://github.com/web-platform-tests/wpt/pull/30491
+
+ * web-platform-tests/css/css-font-loading/fontfaceset-load-css-connected-expected.txt: Added.
+ * web-platform-tests/css/css-font-loading/fontfaceset-load-css-connected.html: Added.
+
2021-09-09 Simon Fraser <[email protected]>
right- and bottom-relative values in background-position-x/y don't work
Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-load-css-connected-expected.txt (0 => 282261)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-load-css-connected-expected.txt (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-load-css-connected-expected.txt 2021-09-10 06:42:31 UTC (rev 282261)
@@ -0,0 +1,3 @@
+
+PASS fontfaceset-load-css-connected
+
Property changes on: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-load-css-connected-expected.txt
___________________________________________________________________
Added: svn:eol-style
+native
\ No newline at end of property
Added: svn:keywords
+Author Date Id Rev URL
\ No newline at end of property
Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-load-css-connected.html (0 => 282261)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-load-css-connected.html (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-load-css-connected.html 2021-09-10 06:42:31 UTC (rev 282261)
@@ -0,0 +1,27 @@
+<!DOCTYPE html>
+<html>
+<head id="head">
+<meta charset="utf-8">
+<link rel="author" title="Myles C. Maxfield" href=""
+<link rel="help" href=""
+<meta name="assert" content="Ensure that calling FontFaceSet.load() operates on the up-to-date @font-face blocks." />
+<script src=""
+<script src=""
+<style id="style">
+@font-face {
+ font-family: "WebFont";
+ src: url("resources/Rochester.otf") format("opentype");
+}
+</style>
+</head>
+<body>
+<script>
+promise_test(async function(t) {
+ let fonts = document.fonts;
+ document.getElementById("head").removeChild(document.getElementById("style"));
+ let result = await fonts.load("12px 'WebFont'");
+ assert_equals(result.length, 0);
+});
+</script>
+</body>
+</html>
Modified: trunk/Source/WebCore/ChangeLog (282260 => 282261)
--- trunk/Source/WebCore/ChangeLog 2021-09-10 06:41:27 UTC (rev 282260)
+++ trunk/Source/WebCore/ChangeLog 2021-09-10 06:42:31 UTC (rev 282261)
@@ -1,3 +1,22 @@
+2021-09-09 Myles C. Maxfield <[email protected]>
+
+ FontFaceSet.load() needs to react to style changes
+ https://bugs.webkit.org/show_bug.cgi?id=230132
+
+ Reviewed by Antti Koivisto.
+
+ If content does something like
+ let fonts = document.fonts;
+ ... modify style sheets ...
+ fonts.load(...)
+
+ The load() function needs to see the result of hte style sheet modification.
+
+ Test: imported/w3c/web-platform-tests/css/css-font-loading/fontfaceset-load-css-connected.html
+
+ * css/FontFaceSet.cpp:
+ (WebCore::FontFaceSet::load):
+
2021-09-09 Frédéric Wang <[email protected]>
Nullptr crash in CompositeEditCommand::splitTreeToNode via InsertParagraphSeparatorCommand::doApply
Modified: trunk/Source/WebCore/css/FontFaceSet.cpp (282260 => 282261)
--- trunk/Source/WebCore/css/FontFaceSet.cpp 2021-09-10 06:41:27 UTC (rev 282260)
+++ trunk/Source/WebCore/css/FontFaceSet.cpp 2021-09-10 06:42:31 UTC (rev 282261)
@@ -149,6 +149,7 @@
void FontFaceSet::load(const String& font, const String& text, LoadPromise&& promise)
{
+ m_backing->updateStyleIfNeeded();
auto matchingFacesResult = m_backing->matchingFacesExcludingPreinstalledFonts(font, text);
if (matchingFacesResult.hasException()) {
promise.reject(matchingFacesResult.releaseException());
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes