From 5c6caac7d19d6aebbbece94dd5ed9899f4ff789c Mon Sep 17 00:00:00 2001 From: Darin Adler Date: Mon, 16 Oct 2017 09:46:46 +0000 Subject: [PATCH] Merge r221835 - Fix double resolve assertion in FontFaceSet seen while running tests https://bugs.webkit.org/show_bug.cgi?id=176525 Reviewed by Brent Fulgham. * css/FontFaceSet.cpp: (WebCore::FontFaceSet::FontFaceSet): Only resolve the promise if the CSSFontFaceSet is already loaded. Otherwise, we will resolve it later when it calls completedLoading. --- Source/WebCore/ChangeLog | 11 +++++++++++ Source/WebCore/css/FontFaceSet.cpp | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog index 089a63742264..71f7ed373b41 100644 --- a/Source/WebCore/ChangeLog +++ b/Source/WebCore/ChangeLog @@ -1,3 +1,14 @@ +2017-09-07 Darin Adler + + Fix double resolve assertion in FontFaceSet seen while running tests + https://bugs.webkit.org/show_bug.cgi?id=176525 + + Reviewed by Brent Fulgham. + + * css/FontFaceSet.cpp: + (WebCore::FontFaceSet::FontFaceSet): Only resolve the promise if the CSSFontFaceSet + is already loaded. Otherwise, we will resolve it later when it calls completedLoading. + 2017-09-08 Dean Jackson gl.detachShader breaks shader program diff --git a/Source/WebCore/css/FontFaceSet.cpp b/Source/WebCore/css/FontFaceSet.cpp index f31056019296..582a03ed396d 100644 --- a/Source/WebCore/css/FontFaceSet.cpp +++ b/Source/WebCore/css/FontFaceSet.cpp @@ -63,8 +63,9 @@ FontFaceSet::FontFaceSet(Document& document, CSSFontFaceSet& backing) , m_backing(backing) , m_readyPromise(*this, &FontFaceSet::readyPromiseResolve) { - m_readyPromise.resolve(*this); m_backing->addClient(*this); + if (m_backing->status() == CSSFontFaceSet::Status::Loaded) + m_readyPromise.resolve(*this); } FontFaceSet::~FontFaceSet()