Changeset 148027 in webkit


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

Whitespace in particular source code changes rendering; does not in Firefox
https://bugs.webkit.org/show_bug.cgi?id=100943

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2013-04-09
Reviewed by Darin Adler.

Source/WebCore:

A render inline which requires a line box is considered a possible
trailing object. So, ensureLineBoxInsideIgnoredSpaces will be called
for it, even if it is placed after a text render ending with a single
space.

Tests: fast/text/whitespace/trailing-space-before-empty-span-1.html

fast/text/whitespace/trailing-space-before-empty-span-2.html

  • rendering/RenderBlockLineLayout.cpp:

(TrailingObjects):
(WebCore::TrailingObjects::appendBoxIfNeeded):
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):

LayoutTests:

  • fast/text/whitespace/trailing-space-before-empty-span-1-expected.html: Added.
  • fast/text/whitespace/trailing-space-before-empty-span-1.html: A test

with a span whose text ends with a single span. A following span
is empty but requires a line box (because it has some padding).
The second span should be rendered.

  • fast/text/whitespace/trailing-space-before-empty-span-2-expected.html: Added.
  • fast/text/whitespace/trailing-space-before-empty-span-2.html: Same

test as trailing-space-before-empty-span-1.html except that second
span contains whitespace only text.

Location:
trunk
Files:
4 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r148026 r148027  
     12013-04-09  Arnaud Renevier  <a.renevier@sisa.samsung.com>
     2
     3        Whitespace in particular source code changes rendering; does not in Firefox
     4        https://bugs.webkit.org/show_bug.cgi?id=100943
     5
     6        Reviewed by Darin Adler.
     7
     8        * fast/text/whitespace/trailing-space-before-empty-span-1-expected.html: Added.
     9        * fast/text/whitespace/trailing-space-before-empty-span-1.html: A test
     10            with a span whose text ends with a single span. A following span
     11            is empty but requires a line box (because it has some padding).
     12            The second span should be rendered.
     13        * fast/text/whitespace/trailing-space-before-empty-span-2-expected.html: Added.
     14        * fast/text/whitespace/trailing-space-before-empty-span-2.html: Same
     15            test as trailing-space-before-empty-span-1.html except that second
     16            span contains whitespace only text.
     17
    1182013-04-09  Andrei Bucur  <abucur@adobe.com>
    219
  • trunk/Source/WebCore/ChangeLog

    r148026 r148027  
     12013-04-09  Arnaud Renevier  <a.renevier@sisa.samsung.com>
     2
     3        Whitespace in particular source code changes rendering; does not in Firefox
     4        https://bugs.webkit.org/show_bug.cgi?id=100943
     5
     6        Reviewed by Darin Adler.
     7
     8        A render inline which requires a line box is considered a possible
     9        trailing object. So, ensureLineBoxInsideIgnoredSpaces will be called
     10        for it, even if it is placed after a text render ending with a single
     11        space.
     12
     13        Tests: fast/text/whitespace/trailing-space-before-empty-span-1.html
     14               fast/text/whitespace/trailing-space-before-empty-span-2.html
     15
     16        * rendering/RenderBlockLineLayout.cpp:
     17        (TrailingObjects):
     18        (WebCore::TrailingObjects::appendBoxIfNeeded):
     19        (WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
     20
    1212013-04-09  Andrei Bucur  <abucur@adobe.com>
    222
  • trunk/Source/WebCore/rendering/RenderBlockLineLayout.cpp

    r147939 r148027  
    25152515    void setTrailingWhitespace(RenderText*);
    25162516    void clear();
    2517     void appendBoxIfNeeded(RenderBox*);
     2517    void appendBoxIfNeeded(RenderBoxModelObject*);
    25182518
    25192519    enum CollapseFirstSpaceOrNot { DoNotCollapseFirstSpace, CollapseFirstSpace };
     
    25232523private:
    25242524    RenderText* m_whitespace;
    2525     Vector<RenderBox*, 4> m_boxes;
     2525    Vector<RenderBoxModelObject*, 4> m_boxes;
    25262526};
    25272527
     
    25432543}
    25442544
    2545 inline void TrailingObjects::appendBoxIfNeeded(RenderBox* box)
     2545inline void TrailingObjects::appendBoxIfNeeded(RenderBoxModelObject* box)
    25462546{
    25472547    if (m_whitespace)
     
    28142814                    currentCharacterIsWS = true;
    28152815                    ignoringSpaces = true;
     2816                } else {
     2817                    trailingObjects.appendBoxIfNeeded(flowBox);
    28162818                }
    28172819            }
Note: See TracChangeset for help on using the changeset viewer.