Changeset 203973 in webkit


Ignore:
Timestamp:
Aug 1, 2016 12:44:20 AM (8 years ago)
Author:
fred.wang@free.fr
Message:

Introduce a RenderMathMLFencedOperator class
https://bugs.webkit.org/show_bug.cgi?id=160245

Patch by Frederic Wang <fwang@igalia.com> on 2016-08-01
Reviewed by Darin Adler.

We introduce a class to handle all the code specific to anonymous mfenced operators. In
particular many members of the RenderMathMLOperator class are going to be removed while
fixing bug 156537 but they may still need to stored and exposed in some way by mfenced
operators.

No new tests, behavior is unchanged.

  • CMakeLists.txt: Add RenderMathMLFencedOperator.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • rendering/RenderObject.h:

(WebCore::RenderObject::isRenderMathMLFencedOperator): Function to allow casting to
RenderMathMLFencedOperator.

  • rendering/mathml/RenderMathMLFenced.cpp: Use RenderMathMLFencedOperator instead of

RenderMathMLOperator and use the new name updateOperatorContent.
(WebCore::RenderMathMLFenced::updateFromElement):
(WebCore::RenderMathMLFenced::createMathMLOperator):
(WebCore::RenderMathMLFenced::makeFences):
(WebCore::RenderMathMLFenced::addChild):

  • rendering/mathml/RenderMathMLFenced.h: Use RenderMathMLFencedOperator instead of

RenderMathMLOperator.

  • rendering/mathml/RenderMathMLFencedOperator.cpp: New class derived from RenderMathMLOperator

(WebCore::RenderMathMLFencedOperator::RenderMathMLFencedOperator): Init form and operator
flags with the specified parameters and init the text content.
(WebCore::RenderMathMLFencedOperator::updateOperatorContent): We move the
RenderMathMLOperator::updateTokenContent function used by anonymous operators here. It is
renamed to avoid build errors due to conflicts with the other
RenderMathMLOperator::updateTokenContent function.

  • rendering/mathml/RenderMathMLFencedOperator.h: New class for anonymous mfenced operators

with getter and setter for the m_textContent. Also override RenderMathMLFencedOperator to
allow casting to RenderMathMLFencedOperator.

  • rendering/mathml/RenderMathMLOperator.cpp:

(WebCore::RenderMathMLOperator::RenderMathMLOperator): Simplify the constructors. Some
initializations is moved in RenderMathMLOperator.h while other code is moved to
RenderMathMLFencedOperator.
(WebCore::RenderMathMLOperator::textContent): No need to handle the anonymous case here since
it is handled in RenderMathMLFencedOperator.
(WebCore::RenderMathMLOperator::updateTokenContent): We delete the version used for anonymous
operators and move it into RenderMathMLFencedOperator.

  • rendering/mathml/RenderMathMLOperator.h: Make the class and some members overridable and

exposed to the derived RenderMathMLFencedOperator class. We also move initialization of some
members here.

Location:
trunk/Source/WebCore
Files:
8 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/CMakeLists.txt

    r203935 r203973  
    25332533    rendering/mathml/RenderMathMLBlock.cpp
    25342534    rendering/mathml/RenderMathMLFenced.cpp
     2535    rendering/mathml/RenderMathMLFencedOperator.cpp
    25352536    rendering/mathml/RenderMathMLFraction.cpp
    25362537    rendering/mathml/RenderMathMLMath.cpp
  • trunk/Source/WebCore/ChangeLog

    r203971 r203973  
     12016-08-01  Frederic Wang  <fwang@igalia.com>
     2
     3        Introduce a RenderMathMLFencedOperator class
     4        https://bugs.webkit.org/show_bug.cgi?id=160245
     5
     6        Reviewed by Darin Adler.
     7
     8        We introduce a class to handle all the code specific to anonymous mfenced operators. In
     9        particular many members of the RenderMathMLOperator class are going to be removed while
     10        fixing bug 156537 but they may still need to stored and exposed in some way by mfenced
     11        operators.
     12
     13        No new tests, behavior is unchanged.
     14
     15        * CMakeLists.txt: Add RenderMathMLFencedOperator.
     16        * WebCore.xcodeproj/project.pbxproj: Ditto.
     17        * rendering/RenderObject.h:
     18        (WebCore::RenderObject::isRenderMathMLFencedOperator): Function to allow casting to
     19        RenderMathMLFencedOperator.
     20        * rendering/mathml/RenderMathMLFenced.cpp: Use RenderMathMLFencedOperator instead of
     21        RenderMathMLOperator and use the new name updateOperatorContent.
     22        (WebCore::RenderMathMLFenced::updateFromElement):
     23        (WebCore::RenderMathMLFenced::createMathMLOperator):
     24        (WebCore::RenderMathMLFenced::makeFences):
     25        (WebCore::RenderMathMLFenced::addChild):
     26        * rendering/mathml/RenderMathMLFenced.h: Use RenderMathMLFencedOperator instead of
     27        RenderMathMLOperator.
     28        * rendering/mathml/RenderMathMLFencedOperator.cpp: New class derived from RenderMathMLOperator
     29        (WebCore::RenderMathMLFencedOperator::RenderMathMLFencedOperator): Init form and operator
     30        flags with the specified parameters and init the text content.
     31        (WebCore::RenderMathMLFencedOperator::updateOperatorContent): We move the
     32        RenderMathMLOperator::updateTokenContent function used by anonymous operators here. It is
     33        renamed to avoid build errors due to conflicts with the other
     34        RenderMathMLOperator::updateTokenContent function.
     35        * rendering/mathml/RenderMathMLFencedOperator.h: New class for anonymous mfenced operators
     36        with getter and setter for the m_textContent. Also override RenderMathMLFencedOperator to
     37        allow casting to RenderMathMLFencedOperator.
     38        * rendering/mathml/RenderMathMLOperator.cpp:
     39        (WebCore::RenderMathMLOperator::RenderMathMLOperator): Simplify the constructors. Some
     40        initializations is moved in RenderMathMLOperator.h while other code is moved to
     41        RenderMathMLFencedOperator.
     42        (WebCore::RenderMathMLOperator::textContent): No need to handle the anonymous case here since
     43        it is handled in RenderMathMLFencedOperator.
     44        (WebCore::RenderMathMLOperator::updateTokenContent): We delete the version used for anonymous
     45        operators and move it into RenderMathMLFencedOperator.
     46        * rendering/mathml/RenderMathMLOperator.h: Make the class and some members overridable and
     47        exposed to the derived RenderMathMLFencedOperator class. We also move initialization of some
     48        members here.
     49
    1502016-08-01  Youenn Fablet  <youennf@gmail.com>
    251
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r203935 r203973  
    17011701                439046D912DA25E800AF80A2 /* RenderMathMLFenced.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 439046C512DA25E800AF80A2 /* RenderMathMLFenced.cpp */; };
    17021702                439046DA12DA25E800AF80A2 /* RenderMathMLFenced.h in Headers */ = {isa = PBXBuildFile; fileRef = 439046C612DA25E800AF80A2 /* RenderMathMLFenced.h */; };
     1703                439046D912DA25E800AF81B3 /* RenderMathMLFencedOperator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 439046C512DA25E800AF81B3 /* RenderMathMLFencedOperator.cpp */; };
     1704                439046DA12DA25E800AF81B3 /* RenderMathMLFencedOperator.h in Headers */ = {isa = PBXBuildFile; fileRef = 439046C612DA25E800AF81B3 /* RenderMathMLFencedOperator.h */; };
    17031705                439046DB12DA25E800AF80A2 /* RenderMathMLFraction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 439046C712DA25E800AF80A2 /* RenderMathMLFraction.cpp */; };
    17041706                439046DC12DA25E800AF80A2 /* RenderMathMLFraction.h in Headers */ = {isa = PBXBuildFile; fileRef = 439046C812DA25E800AF80A2 /* RenderMathMLFraction.h */; };
     
    93309332                439046C512DA25E800AF80A2 /* RenderMathMLFenced.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderMathMLFenced.cpp; sourceTree = "<group>"; };
    93319333                439046C612DA25E800AF80A2 /* RenderMathMLFenced.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderMathMLFenced.h; sourceTree = "<group>"; };
     9334                439046C512DA25E800AF81B3 /* RenderMathMLFencedOperator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderMathMLFencedOperator.cpp; sourceTree = "<group>"; };
     9335                439046C612DA25E800AF81B3 /* RenderMathMLFencedOperator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderMathMLFencedOperator.h; sourceTree = "<group>"; };
    93329336                439046C712DA25E800AF80A2 /* RenderMathMLFraction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderMathMLFraction.cpp; sourceTree = "<group>"; };
    93339337                439046C812DA25E800AF80A2 /* RenderMathMLFraction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderMathMLFraction.h; sourceTree = "<group>"; };
     
    1716817172                                439046C512DA25E800AF80A2 /* RenderMathMLFenced.cpp */,
    1716917173                                439046C612DA25E800AF80A2 /* RenderMathMLFenced.h */,
     17174                                439046C512DA25E800AF81B3 /* RenderMathMLFencedOperator.cpp */,
     17175                                439046C612DA25E800AF81B3 /* RenderMathMLFencedOperator.h */,
    1717017176                                439046C712DA25E800AF80A2 /* RenderMathMLFraction.cpp */,
    1717117177                                439046C812DA25E800AF80A2 /* RenderMathMLFraction.h */,
     
    2796727973                                439046D812DA25E800AF80A2 /* RenderMathMLBlock.h in Headers */,
    2796827974                                439046DA12DA25E800AF80A2 /* RenderMathMLFenced.h in Headers */,
     27975                                439046DA12DA25E800AF81B3 /* RenderMathMLFencedOperator.h in Headers */,
    2796927976                                439046DC12DA25E800AF80A2 /* RenderMathMLFraction.h in Headers */,
    2797027977                                439046DE12DA25E800AF80A2 /* RenderMathMLMath.h in Headers */,
     
    3168031687                                439046D712DA25E800AF80A2 /* RenderMathMLBlock.cpp in Sources */,
    3168131688                                439046D912DA25E800AF80A2 /* RenderMathMLFenced.cpp in Sources */,
     31689                                439046D912DA25E800AF81B3 /* RenderMathMLFencedOperator.cpp in Sources */,
    3168231690                                439046DB12DA25E800AF80A2 /* RenderMathMLFraction.cpp in Sources */,
    3168331691                                439046DD12DA25E800AF80A2 /* RenderMathMLMath.cpp in Sources */,
  • trunk/Source/WebCore/rendering/RenderObject.h

    r203660 r203973  
    339339    virtual bool isRenderMathMLMenclose() const { return false; }
    340340    virtual bool isRenderMathMLFenced() const { return false; }
     341    virtual bool isRenderMathMLFencedOperator() const { return false; }
    341342    virtual bool isRenderMathMLFraction() const { return false; }
    342343    virtual bool isRenderMathMLPadded() const { return false; }
  • trunk/Source/WebCore/rendering/mathml/RenderMathMLFenced.cpp

    r203660 r203973  
    3333#include "MathMLNames.h"
    3434#include "RenderInline.h"
    35 #include "RenderMathMLOperator.h"
     35#include "RenderMathMLFencedOperator.h"
    3636#include "RenderText.h"
    3737#include <wtf/text/StringBuilder.h>
     
    7979    else {
    8080        // FIXME: The mfenced element fails to update dynamically when its open, close and separators attributes are changed (https://bugs.webkit.org/show_bug.cgi?id=57696).
    81         downcast<RenderMathMLOperator>(*firstChild()).updateTokenContent(m_open);
    82         m_closeFenceRenderer->updateTokenContent(m_close);
     81        if (is<RenderMathMLFencedOperator>(*firstChild()))
     82            downcast<RenderMathMLFencedOperator>(*firstChild()).updateOperatorContent(m_open);
     83        m_closeFenceRenderer->updateOperatorContent(m_close);
    8384    }
    8485}
    8586
    86 RenderPtr<RenderMathMLOperator> RenderMathMLFenced::createMathMLOperator(const String& operatorString, MathMLOperatorDictionary::Form form, MathMLOperatorDictionary::Flag flag)
     87RenderPtr<RenderMathMLFencedOperator> RenderMathMLFenced::createMathMLOperator(const String& operatorString, MathMLOperatorDictionary::Form form, MathMLOperatorDictionary::Flag flag)
    8788{
    88     RenderPtr<RenderMathMLOperator> newOperator = createRenderer<RenderMathMLOperator>(document(), RenderStyle::createAnonymousStyleWithDisplay(style(), BLOCK), operatorString, form, flag);
     89    RenderPtr<RenderMathMLFencedOperator> newOperator = createRenderer<RenderMathMLFencedOperator>(document(), RenderStyle::createAnonymousStyleWithDisplay(style(), BLOCK), operatorString, form, flag);
    8990    newOperator->initializeStyle();
    9091    return newOperator;
     
    9394void RenderMathMLFenced::makeFences()
    9495{
    95     RenderPtr<RenderMathMLOperator> openFence = createMathMLOperator(m_open, MathMLOperatorDictionary::Prefix, MathMLOperatorDictionary::Fence);
     96    RenderPtr<RenderMathMLFencedOperator> openFence = createMathMLOperator(m_open, MathMLOperatorDictionary::Prefix, MathMLOperatorDictionary::Fence);
    9697    RenderMathMLRow::addChild(openFence.leakPtr(), firstChild());
    9798
    98     RenderPtr<RenderMathMLOperator> closeFence = createMathMLOperator(m_close, MathMLOperatorDictionary::Postfix, MathMLOperatorDictionary::Fence);
     99    RenderPtr<RenderMathMLFencedOperator> closeFence = createMathMLOperator(m_close, MathMLOperatorDictionary::Postfix, MathMLOperatorDictionary::Fence);
    99100    m_closeFenceRenderer = closeFence.get();
    100101    RenderMathMLRow::addChild(closeFence.leakPtr());
     
    109110    // FIXME: Adding or removing a child should possibly cause all later separators to shift places if they're different, as later child positions change by +1 or -1. This should also handle surrogate pairs. See https://bugs.webkit.org/show_bug.cgi?id=125938.
    110111
    111     RenderPtr<RenderMathMLOperator> separatorRenderer;
     112    RenderPtr<RenderMathMLFencedOperator> separatorRenderer;
    112113    if (m_separators.get()) {
    113114        unsigned int count = 0;
  • trunk/Source/WebCore/rendering/mathml/RenderMathMLFenced.h

    r203228 r203973  
    2929
    3030#include "MathMLInlineContainerElement.h"
    31 #include "RenderMathMLOperator.h"
     31#include "RenderMathMLFencedOperator.h"
    3232#include "RenderMathMLRow.h"
    3333
     
    4545    void updateFromElement() final;
    4646
    47     RenderPtr<RenderMathMLOperator> createMathMLOperator(const String& operatorString, MathMLOperatorDictionary::Form, MathMLOperatorDictionary::Flag);
     47    RenderPtr<RenderMathMLFencedOperator> createMathMLOperator(const String& operatorString, MathMLOperatorDictionary::Form, MathMLOperatorDictionary::Flag);
    4848    void makeFences();
    4949
     
    5252    RefPtr<StringImpl> m_separators;
    5353
    54     RenderMathMLOperator* m_closeFenceRenderer;
     54    RenderMathMLFencedOperator* m_closeFenceRenderer;
    5555};
    5656
  • trunk/Source/WebCore/rendering/mathml/RenderMathMLFencedOperator.cpp

    r203972 r203973  
    11/*
    2  * Copyright (C) 2009 Alex Milowski (alex@milowski.com). All rights reserved.
     2 * Copyright (C) 2016 Igalia S.L. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2424 */
    2525
    26 #pragma once
     26#include "config.h"
    2727
    2828#if ENABLE(MATHML)
     29#include "RenderMathMLFencedOperator.h"
    2930
    30 #include "MathMLInlineContainerElement.h"
    31 #include "RenderMathMLOperator.h"
    32 #include "RenderMathMLRow.h"
     31#include "MathMLOperatorElement.h"
    3332
    3433namespace WebCore {
    3534
    36 class RenderMathMLFenced final : public RenderMathMLRow {
    37 public:
    38     RenderMathMLFenced(MathMLInlineContainerElement&, RenderStyle&&);
    39     MathMLInlineContainerElement& element() { return static_cast<MathMLInlineContainerElement&>(nodeForNonAnonymous()); }
     35RenderMathMLFencedOperator::RenderMathMLFencedOperator(Document& document, RenderStyle&& style, const String& operatorString, MathMLOperatorDictionary::Form form, unsigned short flags)
     36    : RenderMathMLOperator(document, WTFMove(style), form, flags)
     37{
     38    updateOperatorContent(operatorString);
     39}
    4040
    41 private:
    42     bool isRenderMathMLFenced() const final { return true; }
    43     const char* renderName() const final { return "RenderMathMLFenced"; }
    44     void addChild(RenderObject* child, RenderObject* beforeChild) final;
    45     void updateFromElement() final;
    46 
    47     RenderPtr<RenderMathMLOperator> createMathMLOperator(const String& operatorString, MathMLOperatorDictionary::Form, MathMLOperatorDictionary::Flag);
    48     void makeFences();
    49 
    50     String m_open;
    51     String m_close;
    52     RefPtr<StringImpl> m_separators;
    53 
    54     RenderMathMLOperator* m_closeFenceRenderer;
    55 };
     41void RenderMathMLFencedOperator::updateOperatorContent(const String& operatorString)
     42{
     43    m_textContent = MathMLOperatorElement::parseOperatorText(operatorString);
     44    rebuildTokenContent();
     45}
    5646
    5747}
    5848
    59 #endif // ENABLE(MATHML)
     49#endif
  • trunk/Source/WebCore/rendering/mathml/RenderMathMLFencedOperator.h

    r203972 r203973  
    11/*
    2  * Copyright (C) 2009 Alex Milowski (alex@milowski.com). All rights reserved.
     2 * Copyright (C) 2016 Igalia S.L. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2828#if ENABLE(MATHML)
    2929
    30 #include "MathMLInlineContainerElement.h"
     30#include "MathMLOperatorDictionary.h"
    3131#include "RenderMathMLOperator.h"
    32 #include "RenderMathMLRow.h"
    3332
    3433namespace WebCore {
    3534
    36 class RenderMathMLFenced final : public RenderMathMLRow {
     35class RenderMathMLFencedOperator final : public RenderMathMLOperator {
    3736public:
    38     RenderMathMLFenced(MathMLInlineContainerElement&, RenderStyle&&);
    39     MathMLInlineContainerElement& element() { return static_cast<MathMLInlineContainerElement&>(nodeForNonAnonymous()); }
     37    RenderMathMLFencedOperator(Document&, RenderStyle&&, const String& operatorString, MathMLOperatorDictionary::Form, unsigned short flags = 0);
     38    void updateOperatorContent(const String&);
    4039
    4140private:
    42     bool isRenderMathMLFenced() const final { return true; }
    43     const char* renderName() const final { return "RenderMathMLFenced"; }
    44     void addChild(RenderObject* child, RenderObject* beforeChild) final;
    45     void updateFromElement() final;
     41    bool isRenderMathMLFencedOperator() const final { return true; }
     42    UChar textContent() const final { return m_textContent; }
    4643
    47     RenderPtr<RenderMathMLOperator> createMathMLOperator(const String& operatorString, MathMLOperatorDictionary::Form, MathMLOperatorDictionary::Flag);
    48     void makeFences();
    49 
    50     String m_open;
    51     String m_close;
    52     RefPtr<StringImpl> m_separators;
    53 
    54     RenderMathMLOperator* m_closeFenceRenderer;
     44    UChar m_textContent { 0 };
    5545};
    5646
    57 }
     47}; // namespace WebCore
     48
     49SPECIALIZE_TYPE_TRAITS_RENDER_OBJECT(RenderMathMLFencedOperator, isRenderMathMLFencedOperator())
    5850
    5951#endif // ENABLE(MATHML)
  • trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.cpp

    r203896 r203973  
    5050RenderMathMLOperator::RenderMathMLOperator(MathMLOperatorElement& element, RenderStyle&& style)
    5151    : RenderMathMLToken(element, WTFMove(style))
    52     , m_stretchHeightAboveBaseline(0)
    53     , m_stretchDepthBelowBaseline(0)
    54     , m_isVertical(true)
    5552{
    5653    updateTokenContent();
    5754}
    5855
    59 RenderMathMLOperator::RenderMathMLOperator(Document& document, RenderStyle&& style, const String& operatorString, MathMLOperatorDictionary::Form form, unsigned short flags)
     56RenderMathMLOperator::RenderMathMLOperator(Document& document, RenderStyle&& style, MathMLOperatorDictionary::Form form, unsigned short flags)
    6057    : RenderMathMLToken(document, WTFMove(style))
    61     , m_stretchHeightAboveBaseline(0)
    62     , m_stretchDepthBelowBaseline(0)
    63     , m_textContent(0)
    64     , m_isVertical(true)
    6558    , m_operatorForm(form)
    6659    , m_operatorFlags(flags)
    6760{
    68     updateTokenContent(operatorString);
    6961}
    7062
     
    7668UChar RenderMathMLOperator::textContent() const
    7769{
    78     return isAnonymous() ? m_textContent : element().operatorText();
     70    ASSERT(!isAnonymous());
     71    return element().operatorText();
    7972}
    8073
     
    320313}
    321314
    322 void RenderMathMLOperator::updateTokenContent(const String& operatorString)
    323 {
    324     ASSERT(isAnonymous());
    325     m_textContent = MathMLOperatorElement::parseOperatorText(operatorString);
    326     rebuildTokenContent();
    327 }
    328 
    329315void RenderMathMLOperator::updateTokenContent()
    330316{
  • trunk/Source/WebCore/rendering/mathml/RenderMathMLOperator.h

    r203896 r203973  
    3737class MathMLOperatorElement;
    3838
    39 class RenderMathMLOperator final : public RenderMathMLToken {
     39class RenderMathMLOperator : public RenderMathMLToken {
    4040public:
    4141    RenderMathMLOperator(MathMLOperatorElement&, RenderStyle&&);
    42     RenderMathMLOperator(Document&, RenderStyle&&, const String& operatorString, MathMLOperatorDictionary::Form, unsigned short flags = 0);
     42    RenderMathMLOperator(Document&, RenderStyle&&, MathMLOperatorDictionary::Form, unsigned short flags = 0);
    4343    MathMLOperatorElement& element() const;
    4444
     
    5454    LayoutUnit italicCorrection() const { return m_mathOperator.italicCorrection(); }
    5555
    56     void updateTokenContent(const String& operatorString);
    5756    void updateTokenContent() final;
    5857    void updateOperatorProperties();
    5958    void updateFromElement() final;
    60     UChar textContent() const;
     59    virtual UChar textContent() const;
     60
     61protected:
     62    void rebuildTokenContent();
     63
     64    MathMLOperatorDictionary::Form m_operatorForm;
     65    unsigned short m_operatorFlags;
    6166
    6267private:
     
    7883    Optional<int> firstLineBaseline() const final;
    7984    RenderMathMLOperator* unembellishedOperator() final { return this; }
    80     void rebuildTokenContent();
    8185
    8286    bool shouldAllowStretching() const;
     
    8993    LayoutUnit verticalStretchedOperatorShift() const;
    9094
    91     LayoutUnit m_stretchHeightAboveBaseline;
    92     LayoutUnit m_stretchDepthBelowBaseline;
     95    LayoutUnit m_stretchHeightAboveBaseline { 0 };
     96    LayoutUnit m_stretchDepthBelowBaseline { 0 };
    9397    LayoutUnit m_stretchWidth;
    9498
    95     UChar m_textContent;
    96     bool m_isVertical;
    97     MathMLOperatorDictionary::Form m_operatorForm;
    98     unsigned short m_operatorFlags;
     99    bool m_isVertical { true };
    99100    LayoutUnit m_leadingSpace;
    100101    LayoutUnit m_trailingSpace;
Note: See TracChangeset for help on using the changeset viewer.