Simple line layout: support text-transform: lowercase|uppercase|capitalize
authorakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 5 Nov 2014 10:12:42 +0000 (10:12 +0000)
committerakling@apple.com <akling@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 5 Nov 2014 10:12:42 +0000 (10:12 +0000)
<https://webkit.org/b/138406>

Reviewed by Antti Koivisto.

Source/WebCore:

Expand the simple line layout coverage to include all text-transform values.
Since the property works on the text string level, it's really only a matter
of removing the short-circuit.

Test: fast/text/simple-lines-text-transform.html

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::canUseFor):

LayoutTests:

Add ref test for simple line layout with all text-transform values.

* fast/text/simple-lines-text-transform-expected.html: Added.
* fast/text/simple-lines-text-transform.html: Added.

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

LayoutTests/ChangeLog
LayoutTests/fast/text/simple-lines-text-transform-expected.html [new file with mode: 0644]
LayoutTests/fast/text/simple-lines-text-transform.html [new file with mode: 0644]
Source/WebCore/ChangeLog
Source/WebCore/rendering/SimpleLineLayout.cpp

index 00b98fb..150c670 100644 (file)
@@ -1,3 +1,15 @@
+2014-11-05  Andreas Kling  <akling@apple.com>
+
+        Simple line layout: support text-transform: lowercase|uppercase|capitalize
+        <https://webkit.org/b/138406>
+
+        Reviewed by Antti Koivisto.
+
+        Add ref test for simple line layout with all text-transform values.
+
+        * fast/text/simple-lines-text-transform-expected.html: Added.
+        * fast/text/simple-lines-text-transform.html: Added.
+
 2014-11-04  Michael Saboff  <msaboff@apple.com>
 
         Disable flakey dfg-int8array.js and dfg-int16array.js tests for ARM64
diff --git a/LayoutTests/fast/text/simple-lines-text-transform-expected.html b/LayoutTests/fast/text/simple-lines-text-transform-expected.html
new file mode 100644 (file)
index 0000000..13730a2
--- /dev/null
@@ -0,0 +1,52 @@
+<script>
+if (window.internals)
+    internals.settings.setSimpleLineLayoutEnabled(false);
+</script>
+
+<p style="text-transform: none">
+    Quo usque tandem abutere, Catilina, patientia nostra?  quam diu etiam
+    furor iste tuus nos eludet?  quem ad finem sese effrenata iactabit
+    audacia?  Nihilne te nocturnum praesidium Palati, nihil urbis vigiliae,
+    nihil timor populi, nihil concursus bonorum omnium, nihil hic munitissimus
+    habendi senatus locus, nihil horum ora voltusque moverunt?  Patere tua
+    consilia non sentis, constrictam iam horum omnium scientia teneri
+    coniurationem tuam non vides?  Quid proxima, quid superiore nocte egeris,
+    ubi fueris, quos convocaveris, quid consilii ceperis, quem nostrum
+    ignorare arbitraris?  O tempora, o mores!
+</p>
+
+<p style="text-transform: uppercase">
+    Quo usque tandem abutere, Catilina, patientia nostra?  quam diu etiam
+    furor iste tuus nos eludet?  quem ad finem sese effrenata iactabit
+    audacia?  Nihilne te nocturnum praesidium Palati, nihil urbis vigiliae,
+    nihil timor populi, nihil concursus bonorum omnium, nihil hic munitissimus
+    habendi senatus locus, nihil horum ora voltusque moverunt?  Patere tua
+    consilia non sentis, constrictam iam horum omnium scientia teneri
+    coniurationem tuam non vides?  Quid proxima, quid superiore nocte egeris,
+    ubi fueris, quos convocaveris, quid consilii ceperis, quem nostrum
+    ignorare arbitraris?  O tempora, o mores!
+</p>
+
+<p style="text-transform: lowercase">
+    Quo usque tandem abutere, Catilina, patientia nostra?  quam diu etiam
+    furor iste tuus nos eludet?  quem ad finem sese effrenata iactabit
+    audacia?  Nihilne te nocturnum praesidium Palati, nihil urbis vigiliae,
+    nihil timor populi, nihil concursus bonorum omnium, nihil hic munitissimus
+    habendi senatus locus, nihil horum ora voltusque moverunt?  Patere tua
+    consilia non sentis, constrictam iam horum omnium scientia teneri
+    coniurationem tuam non vides?  Quid proxima, quid superiore nocte egeris,
+    ubi fueris, quos convocaveris, quid consilii ceperis, quem nostrum
+    ignorare arbitraris?  O tempora, o mores!
+</div>
+
+<p style="text-transform: capitalize">
+    Quo usque tandem abutere, Catilina, patientia nostra?  quam diu etiam
+    furor iste tuus nos eludet?  quem ad finem sese effrenata iactabit
+    audacia?  Nihilne te nocturnum praesidium Palati, nihil urbis vigiliae,
+    nihil timor populi, nihil concursus bonorum omnium, nihil hic munitissimus
+    habendi senatus locus, nihil horum ora voltusque moverunt?  Patere tua
+    consilia non sentis, constrictam iam horum omnium scientia teneri
+    coniurationem tuam non vides?  Quid proxima, quid superiore nocte egeris,
+    ubi fueris, quos convocaveris, quid consilii ceperis, quem nostrum
+    ignorare arbitraris?  O tempora, o mores!
+</p>
diff --git a/LayoutTests/fast/text/simple-lines-text-transform.html b/LayoutTests/fast/text/simple-lines-text-transform.html
new file mode 100644 (file)
index 0000000..df30314
--- /dev/null
@@ -0,0 +1,52 @@
+<script>
+if (window.internals)
+    internals.settings.setSimpleLineLayoutEnabled(true);
+</script>
+
+<p style="text-transform: none">
+    Quo usque tandem abutere, Catilina, patientia nostra?  quam diu etiam
+    furor iste tuus nos eludet?  quem ad finem sese effrenata iactabit
+    audacia?  Nihilne te nocturnum praesidium Palati, nihil urbis vigiliae,
+    nihil timor populi, nihil concursus bonorum omnium, nihil hic munitissimus
+    habendi senatus locus, nihil horum ora voltusque moverunt?  Patere tua
+    consilia non sentis, constrictam iam horum omnium scientia teneri
+    coniurationem tuam non vides?  Quid proxima, quid superiore nocte egeris,
+    ubi fueris, quos convocaveris, quid consilii ceperis, quem nostrum
+    ignorare arbitraris?  O tempora, o mores!
+</p>
+
+<p style="text-transform: uppercase">
+    Quo usque tandem abutere, Catilina, patientia nostra?  quam diu etiam
+    furor iste tuus nos eludet?  quem ad finem sese effrenata iactabit
+    audacia?  Nihilne te nocturnum praesidium Palati, nihil urbis vigiliae,
+    nihil timor populi, nihil concursus bonorum omnium, nihil hic munitissimus
+    habendi senatus locus, nihil horum ora voltusque moverunt?  Patere tua
+    consilia non sentis, constrictam iam horum omnium scientia teneri
+    coniurationem tuam non vides?  Quid proxima, quid superiore nocte egeris,
+    ubi fueris, quos convocaveris, quid consilii ceperis, quem nostrum
+    ignorare arbitraris?  O tempora, o mores!
+</p>
+
+<p style="text-transform: lowercase">
+    Quo usque tandem abutere, Catilina, patientia nostra?  quam diu etiam
+    furor iste tuus nos eludet?  quem ad finem sese effrenata iactabit
+    audacia?  Nihilne te nocturnum praesidium Palati, nihil urbis vigiliae,
+    nihil timor populi, nihil concursus bonorum omnium, nihil hic munitissimus
+    habendi senatus locus, nihil horum ora voltusque moverunt?  Patere tua
+    consilia non sentis, constrictam iam horum omnium scientia teneri
+    coniurationem tuam non vides?  Quid proxima, quid superiore nocte egeris,
+    ubi fueris, quos convocaveris, quid consilii ceperis, quem nostrum
+    ignorare arbitraris?  O tempora, o mores!
+</div>
+
+<p style="text-transform: capitalize">
+    Quo usque tandem abutere, Catilina, patientia nostra?  quam diu etiam
+    furor iste tuus nos eludet?  quem ad finem sese effrenata iactabit
+    audacia?  Nihilne te nocturnum praesidium Palati, nihil urbis vigiliae,
+    nihil timor populi, nihil concursus bonorum omnium, nihil hic munitissimus
+    habendi senatus locus, nihil horum ora voltusque moverunt?  Patere tua
+    consilia non sentis, constrictam iam horum omnium scientia teneri
+    coniurationem tuam non vides?  Quid proxima, quid superiore nocte egeris,
+    ubi fueris, quos convocaveris, quid consilii ceperis, quem nostrum
+    ignorare arbitraris?  O tempora, o mores!
+</p>
index 2ab0e39..de2e81f 100644 (file)
@@ -1,3 +1,19 @@
+2014-11-05  Andreas Kling  <akling@apple.com>
+
+        Simple line layout: support text-transform: lowercase|uppercase|capitalize
+        <https://webkit.org/b/138406>
+
+        Reviewed by Antti Koivisto.
+
+        Expand the simple line layout coverage to include all text-transform values.
+        Since the property works on the text string level, it's really only a matter
+        of removing the short-circuit.
+
+        Test: fast/text/simple-lines-text-transform.html
+
+        * rendering/SimpleLineLayout.cpp:
+        (WebCore::SimpleLineLayout::canUseFor):
+
 2014-11-05  Jer Noble  <jer.noble@apple.com>
 
         [EME][Mac] Allow the client to specify FPS protocol versions in the keySystem type field.
index f5d84cb..88d8ee2 100644 (file)
@@ -130,8 +130,6 @@ bool canUseFor(const RenderBlockFlow& flow)
         return false;
     if (!style.wordSpacing().isZero() || style.letterSpacing())
         return false;
-    if (style.textTransform() != TTNONE)
-        return false;
     if (!style.isLeftToRightDirection())
         return false;
     if (style.lineBoxContain() != RenderStyle::initialLineBoxContain())