Title: [93171] trunk
Revision
93171
Author
[email protected]
Date
2011-08-16 15:58:26 -0700 (Tue, 16 Aug 2011)

Log Message

<http://webkit.org/b/66328> ASSERT in fast/css/custom-font-xheight.html

Reviewed by Dan Bernstein.

In r93140 the temporary font created for a remote CSS font face
was created without being retained. We need to protect the
font from being purged while we hold onto it, so add a font cache
purge preventer.

* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):

* platform/chromium/test_expectations.txt:
Unskipped.

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (93170 => 93171)


--- trunk/LayoutTests/ChangeLog	2011-08-16 22:35:03 UTC (rev 93170)
+++ trunk/LayoutTests/ChangeLog	2011-08-16 22:58:26 UTC (rev 93171)
@@ -1,3 +1,13 @@
+2011-08-16  Joseph Pecoraro  <[email protected]>
+
+        Unreviewed, unskipping the test.
+
+        ASSERT in fast/css/custom-font-xheight.html
+        https://bugs.webkit.org/show_bug.cgi?id=66328
+
+        * platform/chromium/test_expectations.txt:
+        Test should no longer ASSERT.
+
 2011-08-16  Ryosuke Niwa  <[email protected]>
 
         Skip tests modified by r93134 on WebKit2 since they now sets editing behavior explicitly,

Modified: trunk/LayoutTests/platform/chromium/test_expectations.txt (93170 => 93171)


--- trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-08-16 22:35:03 UTC (rev 93170)
+++ trunk/LayoutTests/platform/chromium/test_expectations.txt	2011-08-16 22:58:26 UTC (rev 93171)
@@ -3384,7 +3384,7 @@
 BUGCR83499 : fast/box-shadow/scaled-box-shadow.html = PASS IMAGE+TEXT IMAGE
 BUGCR83499 MAC : fast/box-shadow/box-shadow-transformed.html = PASS IMAGE+TEXT IMAGE
 
-BUGCR83504 WIN RELEASE : fast/css/custom-font-xheight.html = PASS TIMEOUT
+BUGCR83504 WIN : fast/css/custom-font-xheight.html = PASS TIMEOUT
 
 // New test from WK r87026
 BUGCR83555 LINUX WIN : fast/block/positioning/058.html = IMAGE+TEXT
@@ -3683,9 +3683,5 @@
 BUGTONY : fast/repaint/overflow-flipped-writing-mode-block-in-regions.html = IMAGE
 BUGTONY : fast/repaint/line-flow-with-floats-in-regions.html = IMAGE+TEXT IMAGE
 
-// When removing, make sure to update the WIN line to apply to debug and
-// release.
-BUGWK66328 DEBUG : fast/css/custom-font-xheight.html = CRASH
-
 BUGWK66338 MAC : fast/repaint/background-scaling.html = IMAGE
 BUGWK66338 MAC : fast/repaint/scale-page-shrink.html = IMAGE

Modified: trunk/Source/WebCore/ChangeLog (93170 => 93171)


--- trunk/Source/WebCore/ChangeLog	2011-08-16 22:35:03 UTC (rev 93170)
+++ trunk/Source/WebCore/ChangeLog	2011-08-16 22:58:26 UTC (rev 93171)
@@ -1,5 +1,20 @@
 2011-08-16  Joseph Pecoraro  <[email protected]>
 
+        ASSERT in fast/css/custom-font-xheight.html
+        https://bugs.webkit.org/show_bug.cgi?id=66328
+
+        Reviewed by Dan Bernstein.
+
+        In r93140 the temporary font created for a remote CSS font face
+        was created without being retained. We need to protect the
+        font from being purged while we hold onto it, so add a font cache
+        purge preventer.
+
+        * css/CSSFontFaceSource.cpp:
+        (WebCore::CSSFontFaceSource::getFontData):
+
+2011-08-16  Joseph Pecoraro  <[email protected]>
+
         Unreviewed Chromium Windows build fix after r93140. Take 4.
         Namespace the now public enum as FontCache::ShouldRetain.
 

Modified: trunk/Source/WebCore/css/CSSFontFaceSource.cpp (93170 => 93171)


--- trunk/Source/WebCore/css/CSSFontFaceSource.cpp	2011-08-16 22:35:03 UTC (rev 93170)
+++ trunk/Source/WebCore/css/CSSFontFaceSource.cpp	2011-08-16 22:58:26 UTC (rev 93171)
@@ -185,8 +185,10 @@
         if (!m_loadStartTimer.isActive())
             m_loadStartTimer.startOneShot(0);
 
-        SimpleFontData* tempData = fontCache()->getNonRetainedLastResortFallbackFont(fontDescription);
-        fontData = adoptPtr(new SimpleFontData(tempData->platformData(), true, true));
+        // This temporary font is not retained and should not be returned.
+        FontCachePurgePreventer fontCachePurgePreventer;
+        SimpleFontData* temporaryFont = fontCache()->getNonRetainedLastResortFallbackFont(fontDescription);
+        fontData = adoptPtr(new SimpleFontData(temporaryFont->platformData(), true, true));
     }
 
     SimpleFontData* fontDataRawPtr = fontData.leakPtr();
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to