Changeset 148658 in webkit


Ignore:
Timestamp:
Apr 17, 2013 9:25:46 PM (11 years ago)
Author:
commit-queue@webkit.org
Message:

[css3-text] Rendering -webkit-hanging value for text-indent from css3-text
https://bugs.webkit.org/show_bug.cgi?id=114663

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2013-04-17
Reviewed by Beth Dakin.

This patch is the rendering part to support hanging value for text-indent.
"hanging" means "Inverts which lines are affected."
It's prefixed and guarded by CSS3_TEXT flag.

Spec: http://dev.w3.org/csswg/css-text/#text-indent

Source/WebCore:

Test: fast/css3-text/css3-text-indent/text-indent-each-line-hanging.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::requiresIndent): Inverted the return value when "-webkit-hanging" is applied.

LayoutTests:

Renamed and updated the existing testcases.

  • fast/css3-text/css3-text-indent/text-indent-each-line-hanging-expected.html: Renamed from LayoutTests/fast/css3-text/css3-text-indent/text-indent-each-line-expected.html
  • fast/css3-text/css3-text-indent/text-indent-each-line-hanging.html: Renamed from LayoutTests/fast/css3-text/css3-text-indent/text-indent-each-line.html.
Location:
trunk
Files:
1 added
1 deleted
3 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r148654 r148658  
     12013-04-17  Jaehun Lim  <ljaehun.lim@samsung.com>
     2
     3        [css3-text] Rendering -webkit-hanging value for text-indent from css3-text
     4        https://bugs.webkit.org/show_bug.cgi?id=114663
     5
     6        Reviewed by Beth Dakin.
     7
     8        This patch is the rendering part to support hanging value for text-indent.
     9        "hanging" means "Inverts which lines are affected."
     10        It's prefixed and guarded by CSS3_TEXT flag.
     11
     12        Spec: http://dev.w3.org/csswg/css-text/#text-indent
     13
     14        Renamed and updated the existing testcases.
     15       
     16        * fast/css3-text/css3-text-indent/text-indent-each-line-hanging-expected.html: Renamed from LayoutTests/fast/css3-text/css3-text-indent/text-indent-each-line-expected.html
     17        * fast/css3-text/css3-text-indent/text-indent-each-line-hanging.html: Renamed from LayoutTests/fast/css3-text/css3-text-indent/text-indent-each-line.html.
     18
    1192013-04-17  James Craig  <james@cookiecrook.com>
    220
  • trunk/LayoutTests/fast/css3-text/css3-text-indent/text-indent-each-line-hanging.html

    r148657 r148658  
    55    div { width:80px; font: 10px Ahem; background-color:lightgray; }
    66    .normal { text-indent: 4em; }
    7     .eachline { width:80px; text-indent: 4em -webkit-each-line; }
     7    .eachline { text-indent: 4em -webkit-each-line; }
     8    .hanging { text-indent: 4em -webkit-hanging; }
     9    .eachlinehanging { text-indent: 4em -webkit-each-line -webkit-hanging; }
    810    .indent { color: blue; }
    911    </style>
     
    1719<!-- normal text-indent -->
    1820<div class="normal">
    19 <span class="indent">xxxx</span><br>xxxx<br>xxxx
     21<span class="indent">xxxx</span> xxxx<br>xxxx
    2022</div>
    2123<br>
     
    3436<span class="indent">xxxx</span> xxxx<br><span class="indent">xxxx</span>
    3537</div>
     38<br>
     39<!-- normal text-indent with -webkit-hanging -->
     40<div class="hanging">
     41xxxx <span class="indent">xxxx</span><br><span class="indent">xxxx</span>
     42</div>
     43<br>
     44<!-- -webkit-each-line and -webkit-hanging with a soft wrap break -->
     45<div class="eachlinehanging">
     46xxxx <span class="indent">xxxx</span> <span class="indent">xxxx</span>
     47</div>
     48<br>
     49<!-- -webkit-each-line and -webkit-hanging with a forced line break -->
     50<div class="eachlinehanging">
     51xxxx<br>xxxx<br>xxxx
     52</div>
     53<br>
     54<!-- -webkit-each-line and -webkit-hanging with a soft wrap break and a forced line break -->
     55<div class="eachlinehanging">
     56xxxx <span class="indent">xxxx</span><br>xxxx
     57</div>
    3658</body>
    3759</html>
  • trunk/Source/WebCore/ChangeLog

    r148654 r148658  
     12013-04-17  Jaehun Lim  <ljaehun.lim@samsung.com>
     2
     3        [css3-text] Rendering -webkit-hanging value for text-indent from css3-text
     4        https://bugs.webkit.org/show_bug.cgi?id=114663
     5
     6        Reviewed by Beth Dakin.
     7
     8        This patch is the rendering part to support hanging value for text-indent.
     9        "hanging" means "Inverts which lines are affected."
     10        It's prefixed and guarded by CSS3_TEXT flag.
     11
     12        Spec: http://dev.w3.org/csswg/css-text/#text-indent
     13
     14        Test: fast/css3-text/css3-text-indent/text-indent-each-line-hanging.html
     15
     16        * rendering/RenderBlockLineLayout.cpp:
     17        (WebCore::requiresIndent): Inverted the return value when "-webkit-hanging" is applied.
     18
    1192013-04-17  James Craig  <james@cookiecrook.com>
    220
  • trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp

    r148622 r148658  
    996996static IndentTextOrNot requiresIndent(bool isFirstLine, bool isAfterHardLineBreak, RenderStyle* style)
    997997{
     998    IndentTextOrNot shouldIndentText = DoNotIndentText;
    998999    if (isFirstLine)
    999         return IndentText;
     1000        shouldIndentText = IndentText;
    10001001#if ENABLE(CSS3_TEXT)
    1001     if (isAfterHardLineBreak && style->textIndentLine() == TextIndentEachLine)
    1002         return IndentText;
     1002    else if (isAfterHardLineBreak && style->textIndentLine() == TextIndentEachLine)
     1003        shouldIndentText = IndentText;
     1004
     1005    if (style->textIndentType() == TextIndentHanging)
     1006        shouldIndentText = shouldIndentText == IndentText ? DoNotIndentText : IndentText;
    10031007#else
    10041008    UNUSED_PARAM(isAfterHardLineBreak);
    10051009    UNUSED_PARAM(style);
    10061010#endif
    1007     return DoNotIndentText;
     1011    return shouldIndentText;
    10081012}
    10091013
Note: See TracChangeset for help on using the changeset viewer.