[iOS] Support additional text styles.
authorenrica@apple.com <enrica@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 Jan 2015 23:36:04 +0000 (23:36 +0000)
committerenrica@apple.com <enrica@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 9 Jan 2015 23:36:04 +0000 (23:36 +0000)
https://bugs.webkit.org/show_bug.cgi?id=140310
rdar://problem/18568864

Reviewed by Joseph Pecoraro.

Source/WebCore:

Add support for three new text styles.

* css/CSSValueKeywords.in:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::systemFont):

Source/WebInspectorUI:

Add support for three new text styles.

* UserInterface/Models/CSSKeywordCompletions.js:

LayoutTests:

Updates the existing test to include the new text styles.

* platform/ios-simulator/ios/fast/text/opticalFontWithTextStyle-expected.txt:
* platform/ios-simulator/ios/fast/text/opticalFontWithTextStyle.html:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@178213 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/ios-simulator/ios/fast/text/opticalFontWithTextStyle-expected.txt
LayoutTests/platform/ios-simulator/ios/fast/text/opticalFontWithTextStyle.html
Source/WebCore/ChangeLog
Source/WebCore/css/CSSValueKeywords.in
Source/WebCore/rendering/RenderThemeIOS.mm
Source/WebInspectorUI/ChangeLog
Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js

index 79ba848..77ac6cb 100644 (file)
@@ -1,3 +1,16 @@
+2015-01-09  Enrica Casucci  <enrica@apple.com>
+
+        [iOS] Support additional text styles.
+        https://bugs.webkit.org/show_bug.cgi?id=140310
+        rdar://problem/18568864
+
+        Reviewed by Joseph Pecoraro.
+
+        Updates the existing test to include the new text styles.
+
+        * platform/ios-simulator/ios/fast/text/opticalFontWithTextStyle-expected.txt:
+        * platform/ios-simulator/ios/fast/text/opticalFontWithTextStyle.html:
+
 2015-01-09  Eric Carlson  <eric.carlson@apple.com>
 
         After updating tests to use kerning, ligatures, and printer fonts, some tests fail
index e91ea34..ecea7f4 100644 (file)
@@ -6,36 +6,45 @@ layer at (0,0) size 800x600
       RenderBlock {DIV} at (0,0) size 784x24
         RenderText {#text} at (0,1) size 107x22
           text run at (0,1) width 107: "H1 / Headline"
-      RenderBlock {DIV} at (0,39) size 784x24
-        RenderText {#text} at (0,1) size 707x22
-          text run at (0,1) width 707: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
-      RenderBlock {DIV} at (0,78) size 784x26
-        RenderText {#text} at (0,2) size 739x22
-          text run at (0,2) width 739: "Tall Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
-      RenderBlock {DIV} at (0,119) size 784x22
+      RenderBlock {DIV} at (0,39) size 784x35
+        RenderText {#text} at (0,0) size 122x34
+          text run at (0,0) width 122: "T1 / Title1"
+      RenderBlock {DIV} at (0,89) size 784x29
+        RenderText {#text} at (0,1) size 98x27
+          text run at (0,1) width 98: "T2 / Title2"
+      RenderBlock {DIV} at (0,133) size 784x26
+        RenderText {#text} at (0,0) size 89x25
+          text run at (0,0) width 89: "T3 / Title3"
+      RenderBlock {DIV} at (0,174) size 784x24
+        RenderText {#text} at (0,1) size 705x22
+          text run at (0,1) width 705: "Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {DIV} at (0,213) size 784x26
+        RenderText {#text} at (0,2) size 735x22
+          text run at (0,2) width 735: "Tall Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {DIV} at (0,254) size 784x22
         RenderText {#text} at (0,1) size 87x19
           text run at (0,1) width 87: "Subheadline"
-      RenderBlock {DIV} at (0,156) size 784x20
+      RenderBlock {DIV} at (0,291) size 784x20
         RenderText {#text} at (0,1) size 81x17
           text run at (0,1) width 81: "FN / Footnote"
-      RenderBlock {DIV} at (0,191) size 784x17
+      RenderBlock {DIV} at (0,326) size 784x17
         RenderText {#text} at (0,1) size 96x15
           text run at (0,1) width 96: "Cap 1 / Caption 1"
-      RenderBlock {DIV} at (0,223) size 784x14
+      RenderBlock {DIV} at (0,358) size 784x14
         RenderText {#text} at (0,0) size 88x14
           text run at (0,0) width 88: "Cap 2 / Caption 2"
-      RenderBlock {DIV} at (0,252) size 784x22
+      RenderBlock {DIV} at (0,387) size 784x22
         RenderText {#text} at (0,0) size 154x22
           text run at (0,0) width 154: "Short H1 / Headline"
-      RenderBlock {DIV} at (0,289) size 784x22
-        RenderText {#text} at (0,0) size 753x22
-          text run at (0,0) width 753: "Short Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
-      RenderBlock {DIV} at (0,326) size 784x20
+      RenderBlock {DIV} at (0,424) size 784x22
+        RenderText {#text} at (0,0) size 751x22
+          text run at (0,0) width 751: "Short Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi"
+      RenderBlock {DIV} at (0,461) size 784x20
         RenderText {#text} at (0,0) size 128x19
           text run at (0,0) width 128: "Short Subheadline"
-      RenderBlock {DIV} at (0,361) size 784x18
+      RenderBlock {DIV} at (0,496) size 784x18
         RenderText {#text} at (0,0) size 116x17
           text run at (0,0) width 116: "Short FN / Footnote"
-      RenderBlock {DIV} at (0,394) size 784x15
+      RenderBlock {DIV} at (0,529) size 784x15
         RenderText {#text} at (0,0) size 128x15
           text run at (0,0) width 128: "Short Cap 1 / Caption 1"
index ca49383..7bd7e7f 100644 (file)
@@ -5,6 +5,9 @@
     </head>
 <body>
     <div style="margin-top: 15px; font: -apple-system-headline">H1 / Headline</div>
+    <div style="margin-top: 15px; font: -apple-system-title1">T1 / Title1</div>
+    <div style="margin-top: 15px; font: -apple-system-title2">T2 / Title2</div>
+    <div style="margin-top: 15px; font: -apple-system-title3">T3 / Title3</div>
     <div style="margin-top: 15px; font: -apple-system-body">Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi</div>
     <div style="margin-top: 15px; font: -apple-system-tall-body">Tall Body Text: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Quisque ornare ornare mi</div>
     <div style="margin-top: 15px; font: -apple-system-subheadline">Subheadline</div>
index 2c00c72..d3b1f8f 100644 (file)
@@ -1,3 +1,17 @@
+2015-01-09  Enrica Casucci  <enrica@apple.com>
+
+        [iOS] Support additional text styles.
+        https://bugs.webkit.org/show_bug.cgi?id=140310
+        rdar://problem/18568864
+
+        Reviewed by Joseph Pecoraro.
+
+        Add support for three new text styles.
+
+        * css/CSSValueKeywords.in:
+        * rendering/RenderThemeIOS.mm:
+        (WebCore::RenderThemeIOS::systemFont):
+
 2015-01-09  Anders Carlsson  <andersca@apple.com>
 
         Fix Windows build.
index 2bf822d..7d456a8 100644 (file)
@@ -45,6 +45,9 @@ small-caption
 -apple-system-short-footnote
 -apple-system-short-caption1
 -apple-system-tall-body
+-apple-system-title1
+-apple-system-title2
+-apple-system-title3
 #endif
 
 // This has to go after the -apple-system versions.
index 21ca821..2ac19dc 100644 (file)
@@ -1119,6 +1119,9 @@ void RenderThemeIOS::systemFont(CSSValueID valueID, FontDescription& fontDescrip
     static NeverDestroyed<FontDescription> shortFootnoteFont;
     static NeverDestroyed<FontDescription> shortCaption1Font;
     static NeverDestroyed<FontDescription> tallBodyFont;
+    static NeverDestroyed<FontDescription> title1Font;
+    static NeverDestroyed<FontDescription> title2Font;
+    static NeverDestroyed<FontDescription> title3Font;
 
     static CFStringRef userTextSize = contentSizeCategory();
 
@@ -1155,6 +1158,24 @@ void RenderThemeIOS::systemFont(CSSValueID valueID, FontDescription& fontDescrip
         if (!bodyFont.get().isAbsoluteSize())
             fontDescriptor = adoptCF(CTFontDescriptorCreateWithTextStyle(textStyle, userTextSize, 0));
         break;
+    case CSSValueAppleSystemTitle1:
+        cachedDesc = &title1Font.get();
+        textStyle = kCTUIFontTextStyleTitle1;
+        if (!title1Font.get().isAbsoluteSize())
+            fontDescriptor = adoptCF(CTFontDescriptorCreateWithTextStyle(textStyle, userTextSize, 0));
+        break;
+    case CSSValueAppleSystemTitle2:
+        cachedDesc = &title2Font.get();
+        textStyle = kCTUIFontTextStyleTitle2;
+        if (!title2Font.get().isAbsoluteSize())
+            fontDescriptor = adoptCF(CTFontDescriptorCreateWithTextStyle(textStyle, userTextSize, 0));
+        break;
+    case CSSValueAppleSystemTitle3:
+        cachedDesc = &title3Font.get();
+        textStyle = kCTUIFontTextStyleTitle3;
+        if (!title3Font.get().isAbsoluteSize())
+            fontDescriptor = adoptCF(CTFontDescriptorCreateWithTextStyle(textStyle, userTextSize, 0));
+        break;
     case CSSValueAppleSystemSubheadline:
         cachedDesc = &subheadlineFont.get();
         textStyle = kCTUIFontTextStyleSubhead;
index 692c0a9..6ff866c 100644 (file)
@@ -1,3 +1,15 @@
+2015-01-09  Enrica Casucci  <enrica@apple.com>
+
+        [iOS] Support additional text styles.
+        https://bugs.webkit.org/show_bug.cgi?id=140310
+        rdar://problem/18568864
+
+        Reviewed by Joseph Pecoraro.
+
+        Add support for three new text styles.
+
+        * UserInterface/Models/CSSKeywordCompletions.js:
+
 2015-01-09  Timothy Hatcher  <timothy@apple.com>
 
         Web Inspector: REGRESSION: Navigation sidebar can show blank next to the Console view
index dc91a69..bbdbe2d 100644 (file)
@@ -451,7 +451,8 @@ WebInspector.CSSKeywordCompletions._propertyKeywordMap = {
         "-webkit-system-font", "-apple-system-font", "-apple-system-headline", "-apple-system-body",
         "-apple-system-subheadline", "-apple-system-footnote", "-apple-system-caption1", "-apple-system-caption2",
         "-apple-system-short-headline", "-apple-system-short-body", "-apple-system-short-subheadline",
-        "-apple-system-short-footnote", "-apple-system-short-caption1", "-apple-system-tall-body"
+        "-apple-system-short-footnote", "-apple-system-short-caption1", "-apple-system-tall-body",
+        "-apple-system-title1", "-apple-system-title2", "-apple-system-title3"
     ],
     "text-overflow-mode": [
         "clip", "ellipsis"