⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 276202 in webkit


Ignore:
Timestamp:
Apr 17, 2021, 11:22:35 AM (5 years ago)
Author:
Alan Bujtas
Message:

[Cleanup] Modernize TrailingObjects
https://bugs.webkit.org/show_bug.cgi?id=224712

Reviewed by Antti Koivisto.

Remove redundant c'tor and start using enum class.

  • rendering/line/BreakingContext.h:

(WebCore::BreakingContext::handleText):
(WebCore::checkWhitespaceCollapsingTransitions):
(WebCore::BreakingContext::handleEndOfLine):

  • rendering/line/TrailingObjects.cpp:

(WebCore::TrailingObjects::updateWhitespaceCollapsingTransitionsForTrailingBoxes):

  • rendering/line/TrailingObjects.h:

(WebCore::TrailingObjects::setTrailingWhitespace):
(WebCore::TrailingObjects::clear):
(WebCore::TrailingObjects::TrailingObjects): Deleted.

Location:
trunk/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r276201 r276202  
     12021-04-17  Zalan Bujtas  <zalan@apple.com>
     2
     3        [Cleanup] Modernize TrailingObjects
     4        https://bugs.webkit.org/show_bug.cgi?id=224712
     5
     6        Reviewed by Antti Koivisto.
     7
     8        Remove redundant c'tor and start using enum class.
     9
     10        * rendering/line/BreakingContext.h:
     11        (WebCore::BreakingContext::handleText):
     12        (WebCore::checkWhitespaceCollapsingTransitions):
     13        (WebCore::BreakingContext::handleEndOfLine):
     14        * rendering/line/TrailingObjects.cpp:
     15        (WebCore::TrailingObjects::updateWhitespaceCollapsingTransitionsForTrailingBoxes):
     16        * rendering/line/TrailingObjects.h:
     17        (WebCore::TrailingObjects::setTrailingWhitespace):
     18        (WebCore::TrailingObjects::clear):
     19        (WebCore::TrailingObjects::TrailingObjects): Deleted.
     20
    1212021-04-17  Zalan Bujtas  <zalan@apple.com>
    222
  • trunk/Source/WebCore/rendering/line/BreakingContext.h

    r276201 r276202  
    981981                    // before the second space.
    982982                    m_lineWhitespaceCollapsingState.startIgnoringSpaces(m_startOfIgnoredSpaces);
    983                     m_trailingObjects.updateWhitespaceCollapsingTransitionsForTrailingBoxes(m_lineWhitespaceCollapsingState, InlineIterator(), TrailingObjects::DoNotCollapseFirstSpace);
     983                    m_trailingObjects.updateWhitespaceCollapsingTransitionsForTrailingBoxes(m_lineWhitespaceCollapsingState, InlineIterator(), TrailingObjects::CollapseFirstSpace::No);
    984984                }
    985985            }
     
    11861186}
    11871187
    1188 inline TrailingObjects::CollapseFirstSpaceOrNot checkWhitespaceCollapsingTransitions(LineWhitespaceCollapsingState& lineWhitespaceCollapsingState, const InlineIterator& lBreak)
     1188inline TrailingObjects::CollapseFirstSpace checkWhitespaceCollapsingTransitions(LineWhitespaceCollapsingState& lineWhitespaceCollapsingState, const InlineIterator& lBreak)
    11891189{
    11901190    // Check to see if our last transition is a start point beyond the line break. If so,
     
    12031203            if (endpoint.renderer()->style().collapseWhiteSpace() && endpoint.renderer()->isText()) {
    12041204                lineWhitespaceCollapsingState.decrementTransitionAt(lineWhitespaceCollapsingState.numTransitions() - 1);
    1205                 return TrailingObjects::DoNotCollapseFirstSpace;
     1205                return TrailingObjects::CollapseFirstSpace::No;
    12061206            }
    12071207        }
    12081208    }
    1209     return TrailingObjects::CollapseFirstSpace;
     1209    return TrailingObjects::CollapseFirstSpace::Yes;
    12101210}
    12111211
     
    12411241
    12421242    // Sanity check our whitespace collapsing transitions.
    1243     TrailingObjects::CollapseFirstSpaceOrNot collapsed = checkWhitespaceCollapsingTransitions(m_lineWhitespaceCollapsingState, m_lineBreak);
    1244 
     1243    auto collapsed = checkWhitespaceCollapsingTransitions(m_lineWhitespaceCollapsingState, m_lineBreak);
    12451244    m_trailingObjects.updateWhitespaceCollapsingTransitionsForTrailingBoxes(m_lineWhitespaceCollapsingState, m_lineBreak, collapsed);
    12461245
  • trunk/Source/WebCore/rendering/line/TrailingObjects.cpp

    r225117 r276202  
    3030namespace WebCore {
    3131
    32 void TrailingObjects::updateWhitespaceCollapsingTransitionsForTrailingBoxes(LineWhitespaceCollapsingState& lineWhitespaceCollapsingState, const InlineIterator& lBreak, CollapseFirstSpaceOrNot collapseFirstSpace)
     32void TrailingObjects::updateWhitespaceCollapsingTransitionsForTrailingBoxes(LineWhitespaceCollapsingState& lineWhitespaceCollapsingState, const InlineIterator& lBreak, CollapseFirstSpace collapseFirstSpace)
    3333{
    3434    if (!m_whitespace)
     
    4242        for ( ; trailingSpaceTransition > 0 && lineWhitespaceCollapsingState.transitions()[trailingSpaceTransition].renderer() != m_whitespace; --trailingSpaceTransition) { }
    4343        ASSERT(trailingSpaceTransition >= 0);
    44         if (collapseFirstSpace == CollapseFirstSpace)
     44        if (collapseFirstSpace == CollapseFirstSpace::Yes)
    4545            lineWhitespaceCollapsingState.decrementTransitionAt(trailingSpaceTransition);
    4646
     
    6060    } else if (!lBreak.renderer()) {
    6161        ASSERT(m_whitespace->isText());
    62         ASSERT(collapseFirstSpace == CollapseFirstSpace);
     62        ASSERT(collapseFirstSpace == CollapseFirstSpace::Yes);
    6363        // Add a new end transition that stops right at the very end.
    6464        unsigned length = m_whitespace->text().length();
  • trunk/Source/WebCore/rendering/line/TrailingObjects.h

    r276201 r276202  
    4444class TrailingObjects {
    4545public:
    46     TrailingObjects()
    47         : m_whitespace(0)
    48     { }
    49 
    50     void setTrailingWhitespace(RenderText& whitespace)
    51     {
    52         m_whitespace = &whitespace;
    53     }
    54 
     46    void setTrailingWhitespace(RenderText& whitespace) { m_whitespace = &whitespace; }
    5547    void clear()
    5648    {
    57         m_whitespace = 0;
     49        m_whitespace = { };
    5850        m_boxes.shrink(0); // Use shrink(0) instead of clear() to retain our capacity.
    5951    }
     
    6557    }
    6658
    67     enum CollapseFirstSpaceOrNot { DoNotCollapseFirstSpace, CollapseFirstSpace };
    68 
    69     void updateWhitespaceCollapsingTransitionsForTrailingBoxes(LineWhitespaceCollapsingState&, const InlineIterator& lBreak, CollapseFirstSpaceOrNot);
     59    enum class CollapseFirstSpace { No, Yes };
     60    void updateWhitespaceCollapsingTransitionsForTrailingBoxes(LineWhitespaceCollapsingState&, const InlineIterator& lBreak, CollapseFirstSpace);
    7061
    7162private:
    72     RenderText* m_whitespace;
     63    RenderText* m_whitespace { nullptr };
    7364    Vector<std::reference_wrapper<RenderBoxModelObject>, 4> m_boxes;
    7465};
Note: See TracChangeset for help on using the changeset viewer.