Title: [97257] trunk/Source/WebKit/chromium
Revision
97257
Author
[email protected]
Date
2011-10-12 06:31:03 -0700 (Wed, 12 Oct 2011)

Log Message

[Chromium] Prevent fallback fonts from purging while measuring
https://bugs.webkit.org/show_bug.cgi?id=69855

Reviewed by Eric Seidel.

When Chrome computes the page width, an international page
may bring in a fallback font. FontCache::getCachedFontData
expects the font cache to be locked, so the measure path
needs to include an instance of FontCachePurgePreventer.

Adding FontCachePurgePreventer suppresses a debug-time assert
when running PageCycler over international tests.

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::contentsPreferredWidth):

Modified Paths

Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (97256 => 97257)


--- trunk/Source/WebKit/chromium/ChangeLog	2011-10-12 13:23:19 UTC (rev 97256)
+++ trunk/Source/WebKit/chromium/ChangeLog	2011-10-12 13:31:03 UTC (rev 97257)
@@ -1,3 +1,21 @@
+2011-10-12  Cary Clark  <[email protected]>
+
+        [Chromium] Prevent fallback fonts from purging while measuring
+        https://bugs.webkit.org/show_bug.cgi?id=69855
+
+        Reviewed by Eric Seidel.
+
+        When Chrome computes the page width, an international page
+        may bring in a fallback font. FontCache::getCachedFontData
+        expects the font cache to be locked, so the measure path
+        needs to include an instance of FontCachePurgePreventer.
+
+        Adding FontCachePurgePreventer suppresses a debug-time assert
+        when running PageCycler over international tests.
+
+        * src/WebFrameImpl.cpp:
+        (WebKit::WebFrameImpl::contentsPreferredWidth):
+
 2011-10-12  Pavel Podivilov  <[email protected]>
 
         Unreviewed, CCThreadTest.startPostAndWaitOnCondition is flaky on linux.

Modified: trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp (97256 => 97257)


--- trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp	2011-10-12 13:23:19 UTC (rev 97256)
+++ trunk/Source/WebKit/chromium/src/WebFrameImpl.cpp	2011-10-12 13:31:03 UTC (rev 97257)
@@ -86,6 +86,7 @@
 #include "Editor.h"
 #include "EventHandler.h"
 #include "FocusController.h"
+#include "FontCache.h"
 #include "FormState.h"
 #include "FrameLoadRequest.h"
 #include "FrameLoader.h"
@@ -579,8 +580,11 @@
 
 int WebFrameImpl::contentsPreferredWidth() const
 {
-    if (m_frame->document() && m_frame->document()->renderView())
+    if (m_frame->document() && m_frame->document()->renderView()) {
+        FontCachePurgePreventer fontCachePurgePreventer;
+
         return m_frame->document()->renderView()->minPreferredLogicalWidth();
+    }
     return 0;
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to