Title: [178901] branches/safari-600.5-branch

Diff

Modified: branches/safari-600.5-branch/LayoutTests/ChangeLog (178900 => 178901)


--- branches/safari-600.5-branch/LayoutTests/ChangeLog	2015-01-22 09:31:40 UTC (rev 178900)
+++ branches/safari-600.5-branch/LayoutTests/ChangeLog	2015-01-22 09:31:46 UTC (rev 178901)
@@ -1,5 +1,22 @@
 2015-01-22  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r172504. rdar://problem/19451367
+
+    2014-08-12  Myles C. Maxfield  <mmaxfi...@apple.com>
+
+            Fonts forced to use non synthetic italics might be laid out with the incorrect baseline
+            https://bugs.webkit.org/show_bug.cgi?id=135403
+
+            Reviewed by Darin Adler.
+
+            Laying out the same string twice (where there is a cache collision) should be rendered
+            the same as laying out similar strings (where there is no cache collision).
+
+            * fast/text/international/synthesized-italic-vertical-latin-double-expected.html: Added.
+            * fast/text/international/synthesized-italic-vertical-latin-double.html: Added.
+
+2015-01-22  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r172326. rdar://problem/19452126
 
     2014-08-07  Zalan Bujtas  <za...@apple.com>

Added: branches/safari-600.5-branch/LayoutTests/fast/text/international/synthesized-italic-vertical-latin-double-expected.html (0 => 178901)


--- branches/safari-600.5-branch/LayoutTests/fast/text/international/synthesized-italic-vertical-latin-double-expected.html	                        (rev 0)
+++ branches/safari-600.5-branch/LayoutTests/fast/text/international/synthesized-italic-vertical-latin-double-expected.html	2015-01-22 09:31:46 UTC (rev 178901)
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="UTF-8">
+  <style>
+    html {
+        -webkit-writing-mode: vertical-lr;
+    }
+    p {
+        font-size: 30px;
+        font-style: italic;
+    }
+  </style>
+</head>
+<body>
+    <script>
+        if (window.internals)
+            window.internals.invalidateFontCache();
+    </script>
+    <p style="color: white;">ABC丹</p>
+    <p>ABC羽</p>
+</body>
+</html>

Added: branches/safari-600.5-branch/LayoutTests/fast/text/international/synthesized-italic-vertical-latin-double.html (0 => 178901)


--- branches/safari-600.5-branch/LayoutTests/fast/text/international/synthesized-italic-vertical-latin-double.html	                        (rev 0)
+++ branches/safari-600.5-branch/LayoutTests/fast/text/international/synthesized-italic-vertical-latin-double.html	2015-01-22 09:31:46 UTC (rev 178901)
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="UTF-8">
+  <style>
+    html {
+        -webkit-writing-mode: vertical-lr;
+    }
+    p {
+        font-size: 30px;
+        font-style: italic;
+    }
+  </style>
+</head>
+<body>
+    <script>
+        if (window.internals)
+            window.internals.invalidateFontCache();
+    </script>
+    <p style="color: white;">ABC丹羽 亮介</p>
+    <p>ABC羽</p>
+</body>
+</html>

Modified: branches/safari-600.5-branch/Source/WebCore/ChangeLog (178900 => 178901)


--- branches/safari-600.5-branch/Source/WebCore/ChangeLog	2015-01-22 09:31:40 UTC (rev 178900)
+++ branches/safari-600.5-branch/Source/WebCore/ChangeLog	2015-01-22 09:31:46 UTC (rev 178901)
@@ -1,5 +1,33 @@
 2015-01-22  Matthew Hanson  <matthew_han...@apple.com>
 
+        Merge r172504. rdar://problem/19451367
+
+    2014-08-12  Myles C. Maxfield  <mmaxfi...@apple.com>
+
+            Fonts forced to use non synthetic italics might be laid out with the incorrect baseline
+            https://bugs.webkit.org/show_bug.cgi?id=135403
+
+            Reviewed by Darin Adler.
+
+            When italics is specified on a font, and the font isn't coming from the cache, we ask
+            the SimpleFontData to provide a non-synthetic-italic version of itself. Our current
+            implementation doesn't preserve whether or not the SimpleFontData includes vertical
+            glyphs (glyphs that are not rotated when drawn in the vertical writing mode), which
+            determines which baseline we use to lay out the text. By passing "false" to
+            the isTextOrientationFallback argument to SimpleFontData::create(), we preserve this
+            hasVerticalGlyphs flag.
+
+            Test: fast/text/international/synthesized-italic-vertical-latin-double.html
+
+            * platform/graphics/SimpleFontData.cpp:
+            (WebCore::SimpleFontData::nonSyntheticItalicFontData):
+            * testing/Internals.cpp:
+            (WebCore::Internals::invalidateFontCache): Add "invalidateFontCache" to window.internals.
+            * testing/Internals.h: Ditto.
+            * testing/Internals.idl: Ditto.
+
+2015-01-22  Matthew Hanson  <matthew_han...@apple.com>
+
         Merge r172326. rdar://problem/19452126
 
     2014-08-07  Zalan Bujtas  <za...@apple.com>

Modified: branches/safari-600.5-branch/Source/WebCore/platform/graphics/SimpleFontData.cpp (178900 => 178901)


--- branches/safari-600.5-branch/Source/WebCore/platform/graphics/SimpleFontData.cpp	2015-01-22 09:31:40 UTC (rev 178900)
+++ branches/safari-600.5-branch/Source/WebCore/platform/graphics/SimpleFontData.cpp	2015-01-22 09:31:46 UTC (rev 178901)
@@ -242,7 +242,7 @@
 #if PLATFORM(COCOA)
         nonSyntheticItalicFontPlatformData.m_syntheticOblique = false;
 #endif
-        m_derivedFontData->nonSyntheticItalic = create(nonSyntheticItalicFontPlatformData, isCustomFont(), false, true);
+        m_derivedFontData->nonSyntheticItalic = create(nonSyntheticItalicFontPlatformData, isCustomFont());
     }
     return m_derivedFontData->nonSyntheticItalic;
 }

Modified: branches/safari-600.5-branch/Source/WebCore/testing/Internals.cpp (178900 => 178901)


--- branches/safari-600.5-branch/Source/WebCore/testing/Internals.cpp	2015-01-22 09:31:40 UTC (rev 178900)
+++ branches/safari-600.5-branch/Source/WebCore/testing/Internals.cpp	2015-01-22 09:31:46 UTC (rev 178901)
@@ -47,6 +47,7 @@
 #include "Element.h"
 #include "EventHandler.h"
 #include "ExceptionCode.h"
+#include "FontCache.h"
 #include "FormController.h"
 #include "FrameLoader.h"
 #include "FrameView.h"
@@ -813,6 +814,11 @@
     document->frame()->editor().setMarkedTextMatchesAreHighlighted(flag);
 }
 
+void Internals::invalidateFontCache()
+{
+    fontCache().invalidate();
+}
+
 void Internals::setScrollViewPosition(long x, long y, ExceptionCode& ec)
 {
     Document* document = contextDocument();

Modified: branches/safari-600.5-branch/Source/WebCore/testing/Internals.h (178900 => 178901)


--- branches/safari-600.5-branch/Source/WebCore/testing/Internals.h	2015-01-22 09:31:40 UTC (rev 178900)
+++ branches/safari-600.5-branch/Source/WebCore/testing/Internals.h	2015-01-22 09:31:46 UTC (rev 178901)
@@ -133,6 +133,8 @@
     void addTextMatchMarker(const Range*, bool isActive);
     void setMarkedTextMatchesAreHighlighted(bool, ExceptionCode&);
 
+    void invalidateFontCache();
+
     void setScrollViewPosition(long x, long y, ExceptionCode&);
     void setPagination(const String& mode, int gap, ExceptionCode& ec) { setPagination(mode, gap, 0, ec); }
     void setPagination(const String& mode, int gap, int pageLength, ExceptionCode&);

Modified: branches/safari-600.5-branch/Source/WebCore/testing/Internals.idl (178900 => 178901)


--- branches/safari-600.5-branch/Source/WebCore/testing/Internals.idl	2015-01-22 09:31:40 UTC (rev 178900)
+++ branches/safari-600.5-branch/Source/WebCore/testing/Internals.idl	2015-01-22 09:31:46 UTC (rev 178901)
@@ -88,6 +88,8 @@
     void addTextMatchMarker(Range range, boolean isActive);
     [RaisesException] void setMarkedTextMatchesAreHighlighted(boolean flag);
 
+    void invalidateFontCache();
+
     [RaisesException] void setScrollViewPosition(long x, long y);
 
     [RaisesException] void setPagination(DOMString mode, long gap, optional long pageLength);
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to