1. 07 Jan, 2014 1 commit
    • commit-queue@webkit.org's avatar
      Add Support for the semantics element. · c2c226b5
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=100626
      
      Source/WebCore:
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2014-01-07
      Reviewed by Chris Fleizach.
      
      Tests: mathml/presentation/semantics-2.html
             mathml/presentation/semantics-3.html
             mathml/presentation/semantics-4.html
      
      This provides a complete support for the semantics element. When the first child is a content MathML, an annotation can be selected and displayed. The selection algorithm is identical to Gecko's one. The recognized annotations are text (e.g. LaTeX), presentation MathML, SVG and HTML.
      
      * mathml/MathMLElement.cpp:
      (WebCore::MathMLElement::childShouldCreateRenderer):
      (WebCore::MathMLElement::attributeChanged):
      (WebCore::MathMLElement::isPresentationMathML):
      * mathml/MathMLElement.h:
      (WebCore::MathMLElement::isMathMLToken):
      (WebCore::MathMLElement::isSemanticAnnotation):
      (WebCore::MathMLElement::isPresentationMathML):
      (WebCore::MathMLElement::updateSelectedChild):
      * mathml/MathMLInlineContainerElement.h:
      * mathml/MathMLSelectElement.cpp:
      (WebCore::MathMLSelectElement::getSelectedActionChildAndIndex):
      (WebCore::MathMLSelectElement::getSelectedActionChild):
      (WebCore::MathMLSelectElement::getSelectedSemanticsChild):
      (WebCore::MathMLSelectElement::updateSelectedChild):
      (WebCore::MathMLSelectElement::toggle):
      * mathml/MathMLSelectElement.h:
      * mathml/MathMLTextElement.h:
      * mathml/mathattrs.in:
      * mathml/mathtags.in:
      
      LayoutTests:
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2014-01-07
      Reviewed by Chris Fleizach.
      
      * TestExpectations:
      * mathml/presentation/semantics-2-expected.html: Added.
      * mathml/presentation/semantics-2.html: Added.
      * mathml/presentation/semantics-3-expected.html: Added.
      * mathml/presentation/semantics-3.html: Added.
      * mathml/presentation/semantics-4-expected.html: Added.
      * mathml/presentation/semantics-4.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161430 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c2c226b5
  2. 18 Dec, 2013 1 commit
    • darin@apple.com's avatar
      Additional refinement in MathMLSelectElement toggle implementation · 31ae38fe
      darin@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=125785
      
      Reviewed by Andreas Kling.
      
      Source/WebCore:
      
      * mathml/MathMLSelectElement.cpp:
      (WebCore::MathMLSelectElement::defaultEventHandler): Call setDefaultHandled
      so this will be handled by only one element.
      (WebCore::MathMLSelectElement::willRespondToMouseClickEvents): Return true
      only when action is set to toggle, since other select elements will not
      respond to mouse click events.
      (WebCore::MathMLSelectElement::toggle): Simplified code a bit and gave
      local a clearer variable name.
      
      LayoutTests:
      
      * mathml/presentation/maction-toggle-expected.html: Updated incorrect expected
      result, which expected an already-handled event to be re-handled by a parent
      element during the bubbling process.
      * mathml/presentation/maction-toggle.html: Ditto.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160771 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      31ae38fe
  3. 17 Dec, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Ensure inferred mrows for msqrt, mstyle, merror, mphantom and math. · 5a1c7cb2
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124841
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-12-17
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Tests: mathml/presentation/inferred-mrow-baseline.html
             mathml/presentation/inferred-mrow-stretchy.html
      
      * css/mathml.css: make merror, mphantom and mstyle behave like an mrow.
      (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot, merror, mphantom, mstyle):
      (math, mrow, mfenced, msqrt, mroot, merror, mphantom, mstyle):
      * mathml/MathMLInlineContainerElement.cpp: ditto
      (WebCore::MathMLInlineContainerElement::createRenderer):
      * mathml/mathtags.in: ditto
      * rendering/mathml/RenderMathMLOperator.cpp:
      (WebCore::RenderMathMLOperator::paint): fix failure in mathml/presentation/phantom.html now that phantom can stretch operators.
      
      LayoutTests:
      
      * mathml/presentation/inferred-mrow-baseline-expected.txt: Added.
      * mathml/presentation/inferred-mrow-baseline.html: Added.
      * mathml/presentation/inferred-mrow-stretchy-expected.txt: Added.
      * mathml/presentation/inferred-mrow-stretchy.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160711 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a1c7cb2
  4. 15 Dec, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Add support for maction@toggle · 0469ec67
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120059
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-12-15
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      Test: mathml/presentation/maction-toggle.html
      
      * mathml/MathMLSelectElement.cpp:
      (WebCore::MathMLSelectElement::getSelectedChildAndIndex):
      (WebCore::MathMLSelectElement::updateSelectedChild):
      (WebCore::MathMLSelectElement::defaultEventHandler):
      (WebCore::MathMLSelectElement::willRespondToMouseClickEvents):
      (WebCore::MathMLSelectElement::toggle):
      * mathml/MathMLSelectElement.h:
      
      LayoutTests:
      
      * mathml/presentation/maction-toggle-expected.html: Added.
      * mathml/presentation/maction-toggle.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0469ec67
  5. 03 Dec, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Add an MathMLSelectElement class to implement <maction> and <semantics>. · 4b77b7b4
      commit-queue@webkit.org authored
      <https://webkit.org/b/120058>
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-12-03
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      Tests: mathml/presentation/maction-dynamic.html
             mathml/presentation/maction.html
             mathml/presentation/semantics.html
      
      This adds a new MathMLSelectElement class to prepare the implementation
      of the <maction> and <semantics> elements, for which only one "selected"
      child is visible. We now simply display the first child of the
      <semantics> element instead of hiding the annotations and this allows to
      handle the use case of SVG-in-MathML as generated by Instiki when
      bug 124128 is fixed ; Gecko's selection algorithm will be implemented
      later (bug 100626). We now also rely on the @actiontype and @selection
      attributes to select the visible <maction> child ; It remains to deal
      with the user interaction (bug 85734).
      
      * CMakeLists.txt: add the new files.
      * GNUmakefile.list.am: ditto
      * Target.pri: ditto
      * WebCore.vcxproj/WebCore.vcxproj: ditto
      * WebCore.vcxproj/WebCore.vcxproj.filters: ditto
      * WebCore.xcodeproj/project.pbxproj: ditto
      * css/mathml.css: remove the CSS rule for annotation/annotation-xml.
      * mathml/MathMLAllInOne.cpp: add the new cpp file.
      * mathml/MathMLSelectElement.cpp: Added.
      (WebCore::MathMLSelectElement::MathMLSelectElement):
      (WebCore::MathMLSelectElement::create):
      (WebCore::MathMLSelectElement::createRenderer):
      (WebCore::MathMLSelectElement::childShouldCreateRenderer):
      (WebCore::MathMLSelectElement::finishParsingChildren):
      (WebCore::MathMLSelectElement::childrenChanged):
      (WebCore::MathMLSelectElement::attributeChanged):
      (WebCore::MathMLSelectElement::updateSelectedChild): basic implementation for maction, semantics, maction@actiontype and maction@selection.
      * mathml/MathMLSelectElement.h: Added.
      * mathml/mathattrs.in: add actiontype and selection attributes.
      * mathml/mathtags.in: set element classes for maction, semantics, annotation and annotation-xml.
      
      LayoutTests:
      
      New tests for the selection of the visible child in the <maction> and <semantics> elements.
      
      * mathml/presentation/maction-dynamic-expected.html: Added.
      * mathml/presentation/maction-dynamic.html: Added.
      * mathml/presentation/maction-expected.html: Added.
      * mathml/presentation/maction.html: Added.
      * mathml/presentation/semantics-expected.html: Added.
      * mathml/presentation/semantics.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4b77b7b4
  6. 21 Nov, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Map the dir attribute to the CSS direction property. · d596c146
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124572.
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-11-21
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Test: mathml/presentation/mstyle-css-attributes.html
      
      * mathml/MathMLElement.cpp:
      (WebCore::MathMLElement::isPresentationAttribute): reorder attributes
      (WebCore::MathMLElement::collectStyleForPresentationAttribute): reorder tags that accept dir
      (WebCore::MathMLElement::isMathMLToken): add an inline function to test that a tag corresponds to a MathML Token Element.
      * mathml/MathMLElement.h:
      
      Follow-up work to address Darin's comments.
      
      LayoutTests:
      
      * mathml/presentation/direction-overall-expected.html: test that dir does not apply to msqrt
      * mathml/presentation/direction-overall.html:
      * mathml/presentation/mstyle-css-attributes-expected.html: Added.
      * mathml/presentation/mstyle-css-attributes.html: Added.
      
      Add more tests for presentation attributes on mstyle.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159680 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d596c146
  7. 19 Nov, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Map the dir attribute to the CSS direction property. · c4c98eb8
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124572.
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-11-19
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Tests: mathml/presentation/direction-overall.html
             mathml/presentation/direction-token.html
             mathml/presentation/direction.html
      
      * mathml/MathMLElement.cpp:
      (WebCore::MathMLElement::isPresentationAttribute): add dir
      (WebCore::MathMLElement::collectStyleForPresentationAttribute): map dir
      * mathml/mathattrs.in: add the dir attribute
      * mathml/mathtags.in: add the mstyle tag (needed to use mstyleTag)
      
      LayoutTests:
      
      * mathml/presentation/direction-expected.html: add more tests.
      * mathml/presentation/direction-overall-expected.html: Added.
      * mathml/presentation/direction-overall.html: Added.
      * mathml/presentation/direction-token-expected.html: Added.
      * mathml/presentation/direction-token.html: Added.
      * mathml/presentation/direction.html: add more tests.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@159504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c4c98eb8
  8. 13 Nov, 2013 1 commit
  9. 10 Nov, 2013 1 commit
  10. 08 Nov, 2013 1 commit
    • mrobinson@webkit.org's avatar
      [MathML] Center of stretched curly bracket not always vertically centered · b39d0738
      mrobinson@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=123715
      
      Reviewed by Brent Fulgham.
      
      Source/WebCore:
      
      * rendering/mathml/RenderMathMLOperator.cpp:
      (WebCore::RenderMathMLOperator::fillWithExtensionGlyph): Update an assertion and
      handle the case where two glyph pieces abut.
      (WebCore::RenderMathMLOperator::paint): Do not offset the center glyph by y().
      
      LayoutTests:
      
      * TestExpectations: Unskip mo-stretch.html. It was skipped originally,
      because MathML is changing rapidly, but we need it to test these changes.
      * mathml/presentation/mo-stretch.html: Update to show stretching characteristics
      of all stretchable glyphs.
      * platform/gtk/mathml/presentation/mo-stretch-expected.png:
      * platform/gtk/mathml/presentation/mo-stretch-expected.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@158931 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      b39d0738
  11. 05 Nov, 2013 2 commits
  12. 29 Oct, 2013 1 commit
  13. 07 Oct, 2013 1 commit
    • mrobinson@webkit.org's avatar
      [MathML] Remove RenderTree modification during layout and refactor the StretchyOp code · 34a9f0d6
      mrobinson@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121416
      
      Source/WebCore:
      
      Reviewed by David Hyatt.
      
      Tests: mathml/presentation/mo-minus.html
             mathml/presentation/mo-stacked-glyphs.html
             mathml/presentation/mo-stretchy-vertical-bar.html
             mathml/very-large-stretchy-operators.html
      
      MathML stretched operators by both modifying the width of the operator
      and adding children to the operator node in the render tree.
      
      Instead we make the operator width equal to the widest glyph possible that we use
      to represent the operator.  Additionally instead of rendering stretchy glyphs via
      stacked operator pieces in separate render tree nodes, keep only one node for the
      glyph, and use a custom paint method to paint the stacked representation.
      
      With this patch, rendering seems roughly equivalent on Mac and markedly better
      on Linux.
      
      * css/mathml.css:
      Not sure what this line-height:0 was here for, but it caused bugs with the new code
      
      * mathml/MathMLTextElement.cpp:
      (WebCore::MathMLTextElement::attach):
      (WebCore):
      (WebCore::MathMLTextElement::childrenChanged):
      Need to update the anonymous render tree below <mo> elements when their
      children change or when the renderer is first attached.
      
      * mathml/MathMLTextElement.h:
      (MathMLTextElement):
      * rendering/mathml/RenderMathMLBlock.cpp:
      (WebCore::RenderMathMLBlock::RenderMathMLBlock):
      * rendering/mathml/RenderMathMLBlock.h:
      Now that the preferred width doesn't depend on the height, we don't
      need to override computePreferredLogicalWidths at all.
      
      * rendering/mathml/RenderMathMLFenced.cpp:
      (WebCore::RenderMathMLFenced::makeFences):
      (WebCore::RenderMathMLFenced::styleDidChange):
      Need to update the anonymous renderers for the anonymous RenderMathMLOperators.
      
      * rendering/mathml/RenderMathMLOperator.cpp:
      (WebCore::RenderMathMLOperator::expandedStretchHeight):
      Store the non-expanded stretch height so that we can detect when the height
      actually changed.
      
      (WebCore::RenderMathMLOperator::stretchToHeight):
      Only update the style on the anonymous render tree since this is called
      from RenderMathMLRow::layout
      
      (WebCore::RenderMathMLOperator::styleDidChange):
      (WebCore::RenderMathMLOperator::glyphBoundsForCharacter): A helper to get glyph boundaries.
      (WebCore::RenderMathMLOperator::glyphHeightForCharacter): Ditto for glyph width.
      (WebCore::RenderMathMLOperator::advanceForCharacter): The advance is different from the width,
      and we want the width of the operator to be the advance instead of the tight bounding width.
      (WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Use the max of all possible glyphs
      we can use to render this operator.
      (WebCore::RenderMathMLOperator::computeLogicalHeight): Return the stretched operator height, if appropriate.
      (WebCore::RenderMathMLOperator::updateFromElement): We add a child for rendering the non-scaled
      version of the glyph.
      (WebCore::RenderMathMLOperator::firstCharacterForStretching): Helper to figure out what character
      is the character used for stretching operations.
      (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter): Helper to find an acceptable set
      of glyph pieces for stretching characters.
      (WebCore::RenderMathMLOperator::updateStyle): Resize the operator to the appropriate height and hide
      the child if we are using the stretchy style.
      (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
      (WebCore::RenderMathMLOperator::paintCharacter): Helper to paint a single character component of the
      stretchy glyph.
      (WebCore::RenderMathMLOperator::fillWithExtensionGlyph): Helper to paint the extender glue between
      features of the stretchy glyph.
      (WebCore::RenderMathMLOperator::paint): Properly paint stretchy glyphs.
      * rendering/mathml/RenderMathMLOperator.h: Update method declarations.
      
      LayoutTests:
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-10-04
      Reviewed by David Hyatt.
      
      Add some reftests for stretchy operators.
      
      * TestExpectations: The remaining MathML pixel tests are broken by this patch.
      * LayoutTests/platform/gtk/TestExpectations:
      * LayoutTests/platform/mac/TestExpectations:
      * LayoutTests/platform/win/TestExpectations:
      * mathml/presentation/mo-minus.html: Added.
      * mathml/presentation/mo-stacked-glyphs-expected.html: Added.
      * mathml/presentation/mo-stacked-glyphs.html: Added.
      * mathml/presentation/mo-stretchy-vertical-bar-expected-mismatch.html: Added.
      * mathml/presentation/mo-stretchy-vertical-bar.html: Added.
      * mathml/very-large-stretchy-operators-expected.txt: Added.
      * mathml/very-large-stretchy-operators.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      34a9f0d6
  14. 05 Oct, 2013 1 commit
  15. 04 Oct, 2013 1 commit
    • mrobinson@webkit.org's avatar
      [MathML] Remove RenderTree modification during layout and refactor the StretchyOp code · ac884aa3
      mrobinson@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=121416
      
      Source/WebCore:
      
      Reviewed by David Hyatt.
      
      Tests: mathml/presentation/mo-minus.html
             mathml/presentation/mo-stacked-glyphs.html
             mathml/presentation/mo-stretchy-vertical-bar.html
             mathml/very-large-stretchy-operators.html
      
      MathML stretched operators by both modifying the width of the operator
      and adding children to the operator node in the render tree.
      
      Instead we make the operator width equal to the widest glyph possible that we use
      to represent the operator.  Additionally instead of rendering stretchy glyphs via
      stacked operator pieces in separate render tree nodes, keep only one node for the
      glyph, and use a custom paint method to paint the stacked representation.
      
      With this patch, rendering seems roughly equivalent on Mac and markedly better
      on Linux.
      
      * css/mathml.css:
      Not sure what this line-height:0 was here for, but it caused bugs with the new code
      
      * mathml/MathMLTextElement.cpp:
      (WebCore::MathMLTextElement::attach):
      (WebCore):
      (WebCore::MathMLTextElement::childrenChanged):
      Need to update the anonymous render tree below <mo> elements when their
      children change or when the renderer is first attached.
      
      * mathml/MathMLTextElement.h:
      (MathMLTextElement):
      * rendering/mathml/RenderMathMLBlock.cpp:
      (WebCore::RenderMathMLBlock::RenderMathMLBlock):
      * rendering/mathml/RenderMathMLBlock.h:
      Now that the preferred width doesn't depend on the height, we don't
      need to override computePreferredLogicalWidths at all.
      
      * rendering/mathml/RenderMathMLFenced.cpp:
      (WebCore::RenderMathMLFenced::makeFences):
      (WebCore::RenderMathMLFenced::styleDidChange):
      Need to update the anonymous renderers for the anonymous RenderMathMLOperators.
      
      * rendering/mathml/RenderMathMLOperator.cpp:
      (WebCore::RenderMathMLOperator::expandedStretchHeight):
      Store the non-expanded stretch height so that we can detect when the height
      actually changed.
      
      (WebCore::RenderMathMLOperator::stretchToHeight):
      Only update the style on the anonymous render tree since this is called
      from RenderMathMLRow::layout
      
      (WebCore::RenderMathMLOperator::styleDidChange):
      (WebCore::RenderMathMLOperator::glyphBoundsForCharacter): A helper to get glyph boundaries.
      (WebCore::RenderMathMLOperator::glyphHeightForCharacter): Ditto for glyph width.
      (WebCore::RenderMathMLOperator::advanceForCharacter): The advance is different from the width,
      and we want the width of the operator to be the advance instead of the tight bounding width.
      (WebCore::RenderMathMLOperator::computePreferredLogicalWidths): Use the max of all possible glyphs
      we can use to render this operator.
      (WebCore::RenderMathMLOperator::updateFromElement): We add a child for rendering the non-scaled
      version of the glyph.
      (WebCore::RenderMathMLOperator::firstCharacterForStretching): Helper to figure out what character
      is the character used for stretching operations.
      (WebCore::RenderMathMLOperator::findAcceptableStretchyCharacter): Helper to find an acceptable set
      of glyph pieces for stretching characters.
      (WebCore::RenderMathMLOperator::updateStyle): Resize the operator to the appropriate height and hide
      the child if we are using the stretchy style.
      (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
      (WebCore::RenderMathMLOperator::paintCharacter): Helper to paint a single character component of the
      stretchy glyph.
      (WebCore::RenderMathMLOperator::fillWithExtensionGlyph): Helper to paint the extender glue between
      features of the stretchy glyph.
      (WebCore::RenderMathMLOperator::paint): Properly paint stretchy glyphs.
      * rendering/mathml/RenderMathMLOperator.h: Update method declarations.
      
      LayoutTests:
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-10-04
      Reviewed by David Hyatt.
      
      Add some reftests for stretchy operators.
      
      * TestExpectations: The remaining MathML pixel tests are broken by this patch.
      * LayoutTests/platform/gtk/TestExpectations:
      * LayoutTests/platform/mac/TestExpectations:
      * LayoutTests/platform/win/TestExpectations:
      * mathml/presentation/mo-minus.html: Added.
      * mathml/presentation/mo-stacked-glyphs-expected.html: Added.
      * mathml/presentation/mo-stacked-glyphs.html: Added.
      * mathml/presentation/mo-stretchy-vertical-bar-expected-mismatch.html: Added.
      * mathml/presentation/mo-stretchy-vertical-bar.html: Added.
      * mathml/very-large-stretchy-operators-expected.txt: Added.
      * mathml/very-large-stretchy-operators.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156930 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ac884aa3
  16. 18 Sep, 2013 1 commit
    • commit-queue@webkit.org's avatar
      [MathML] Implement the subscriptshift and superscriptshift attributes · 0655cc7a
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=120069
      
      Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2013-09-18
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Added support for subscriptshift and superscriptshift attributes. The
      subscriptshift attribute is for msup element and superscriptshift for
      msup. msubsup can have both subscriptshift and superscriptshift. The
      subscriptshift attribute specifies the minimum amount to shift the
      baseline of subscript down. The superscriptshift attribute specifies
      the minimum amount to shift the baseline of superscript up.
      
      Tests: mathml/presentation/msub-subscriptshift.html
             mathml/presentation/msubsup-subscriptshift.html
             mathml/presentation/msubsup-superscriptshift.html
             mathml/presentation/msup-superscriptshift.html
             mathml/presentation/multiscript-subscriptshift.html
             mathml/presentation/multiscript-superscriptshift.html
      
      * mathml/mathattrs.in:
      * rendering/mathml/RenderMathMLScripts.cpp:
      (WebCore::RenderMathMLScripts::layout):
      For aligning the subscript and superscript padding is added to the base.
      So subscriptshift and superscriptshift attributes is set as padding bottom
      and padding top of base respectively.
      
      LayoutTests:
      
      * mathml/presentation/msub-subscriptshift-expected.txt: Added.
      * mathml/presentation/msub-subscriptshift.html: Added.
      * mathml/presentation/msubsup-subscriptshift-expected.txt: Added.
      * mathml/presentation/msubsup-subscriptshift.html: Added.
      * mathml/presentation/msubsup-superscriptshift-expected.txt: Added.
      * mathml/presentation/msubsup-superscriptshift.html: Added.
      * mathml/presentation/msup-superscriptshift-expected.txt: Added.
      * mathml/presentation/msup-superscriptshift.html: Added.
      * mathml/presentation/multiscript-subscriptshift-expected.txt: Added.
      * mathml/presentation/multiscript-subscriptshift.html: Added.
      * mathml/presentation/multiscript-superscriptshift-expected.txt: Added.
      * mathml/presentation/multiscript-superscriptshift.html: Added.
      Added new tests for verifying that subscriptshift and superscriptshift are
      being applied properly to the script base.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156036 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0655cc7a
  17. 15 Sep, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Implement the mmultiscripts tag · 99a9d2af
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=99618
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-09-15
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      Tests: mathml/invalid-scripts-crash.html
             mathml/presentation/multiscripts-equivalence.html
             mathml/presentation/multiscripts-noscripts.html
             mathml/presentation/multiscripts-positions.html
             mathml/presentation/scripts-base-alignment.html
             mathml/presentation/scripts-horizontal-alignment.html
             mathml/presentation/scripts-vertical-alignment.html
             mathml/scripts-addChild.html
             mathml/scripts-removeChild.html
      
      This relies on the existing msub/msup/msubsup code to implement the mmultiscripts tag. This also improves dynamic addition/removal of children for these MathML elements and adds a specific style for invalid children, so that they render like an merror tag. Finally, this fixes a bad memory access in the Accessibility render object of msubsup.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * Target.pri:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::isMathSubscriptSuperscript):
      (WebCore::AccessibilityRenderObject::mathSuperscriptObject):
      * css/mathml.css:
      (mo, mrow, mfenced, mfrac, msub, msup, msubsup, mmultiscripts, mprescripts, none, munder, mover, munderover, msqrt, mroot):
      (mover > :last-child, munderover > :last-child):
      (msub > * + *, msup > * + *, msubsup > * + *, mmultiscripts > * + *, munder > * + *, mover > * + *, munderover > * + *):
      (merror, msub > * + * + *, msup > * + * + *, msubsup > * + * + * + *, msub > mprescripts, msup > mprescripts, msubsup > mprescripts, msub > none, msup > none, msubsup > none, mmultiscripts > mprescripts ~ mprescripts, mmultiscripts > mprescripts ~ mprescripts ~ *):
      * mathml/MathMLInlineContainerElement.cpp:
      (WebCore::MathMLInlineContainerElement::createRenderer):
      * mathml/mathtags.in:
      * rendering/mathml/RenderMathMLBlock.h:
      (WebCore::RenderMathMLBlock::isRenderMathMLScripts):
      (WebCore::RenderMathMLBlock::isRenderMathMLScriptsWrapper):
      * rendering/mathml/RenderMathMLScripts.cpp: Added.
      (WebCore::isMPrescripts):
      (WebCore::RenderMathMLScripts::RenderMathMLScripts):
      (WebCore::RenderMathMLScripts::base):
      (WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair):
      (WebCore::RenderMathMLScripts::fixAnonymousStyles):
      (WebCore::RenderMathMLScripts::addChildInternal):
      (WebCore::RenderMathMLScripts::removeChildInternal):
      (WebCore::RenderMathMLScripts::addChild):
      (WebCore::RenderMathMLScripts::removeChild):
      (WebCore::RenderMathMLScripts::styleDidChange):
      (WebCore::RenderMathMLScripts::unembellishedOperator):
      (WebCore::RenderMathMLScripts::layout):
      (WebCore::RenderMathMLScripts::firstLineBoxBaseline):
      (WebCore::RenderMathMLScriptsWrapper::createAnonymousWrapper):
      (WebCore::RenderMathMLScriptsWrapper::addChildInternal):
      (WebCore::RenderMathMLScriptsWrapper::addChild):
      (WebCore::RenderMathMLScriptsWrapper::removeChildInternal):
      (WebCore::RenderMathMLScriptsWrapper::removeChild):
      * rendering/mathml/RenderMathMLScripts.h: Added.
      (WebCore::RenderMathMLScriptsWrapper::RenderMathMLScriptsWrapper):
      (WebCore::RenderMathMLScriptsWrapper::renderName):
      (WebCore::RenderMathMLScriptsWrapper::isRenderMathMLScriptsWrapper):
      (WebCore::toRenderMathMLScriptsWrapper):
      (WebCore::RenderMathMLScripts::isRenderMathMLScripts):
      (WebCore::RenderMathMLScripts::renderName):
      (WebCore::toRenderMathMLScripts):
      * rendering/mathml/RenderMathMLSubSup.cpp: Removed.
      * rendering/mathml/RenderMathMLSubSup.h: Removed.
      
      LayoutTests:
      
      Add many tests for script msub/msup/msubsup/mmultiscripts:
      - invalid markup
      - equivalence between mmultiscripts without scripts and mrow
      - equivalence between mmultiscripts and msub/msup/msubsup
      - position of scripts in mmultiscripts
      - baseline alignment of msub/msup/msubsup elements
      - horizontal/vertical alignment of scripts
      - adding/removing children with the DOM
      
      * TestExpectations: Some remaining MathML pixel tests are broken by this patch.
      * mathml/invalid-scripts-crash-expected.txt: Added.
      * mathml/invalid-scripts-crash.html: Added.
      * mathml/presentation/multiscripts-equivalence-expected.html: Added.
      * mathml/presentation/multiscripts-equivalence.html: Added.
      * mathml/presentation/multiscripts-noscripts-expected.html: Added.
      * mathml/presentation/multiscripts-noscripts.html: Added.
      * mathml/presentation/multiscripts-positions-expected.html: Added.
      * mathml/presentation/multiscripts-positions.html: Added.
      * mathml/presentation/scripts-base-alignment-expected.html: Added.
      * mathml/presentation/scripts-base-alignment.html: Added.
      * mathml/presentation/scripts-horizontal-alignment-expected.html: Added.
      * mathml/presentation/scripts-horizontal-alignment.html: Added.
      * mathml/presentation/scripts-vertical-alignment-expected.html: Added.
      * mathml/presentation/scripts-vertical-alignment.html: Added.
      * mathml/scripts-addChild-expected.html: Added.
      * mathml/scripts-addChild.html: Added.
      * mathml/scripts-removeChild-expected.html: Added.
      * mathml/scripts-removeChild.html: Added.
      * platform/mac/accessibility/mathml-multiscript-expected.txt: Reference updated.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155797 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      99a9d2af
  18. 23 Aug, 2013 1 commit
    • zalan@apple.com's avatar
      MathML: ASSERTION FAILED: !isPreferredLogicalHeightDirty() in... · d9b9bdfc
      zalan@apple.com authored
      MathML: ASSERTION FAILED: !isPreferredLogicalHeightDirty() in RenderMathMLBlock::preferredLogicalHeight() const
      https://bugs.webkit.org/show_bug.cgi?id=120157
      
      Reviewed by Antti Koivisto.
      
      RenderListMarker needs to be inserted to the render tree before
      we start computing the preferred logical widths for the associated
      RenderListItem.
      
      Source/WebCore:
      
      Test: mathml/mn-as-list-item-assert.html
      
      * rendering/RenderListItem.cpp:
      (WebCore::RenderListItem::insertOrMoveMarkerRendererIfNeeded):
      (WebCore::RenderListItem::layout):
      (WebCore::RenderListItem::computePreferredLogicalWidths):
      * rendering/RenderListItem.h:
      
      LayoutTests:
      
      * mathml/mn-as-list-item-assert-expected.txt: Added.
      * mathml/mn-as-list-item-assert.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d9b9bdfc
  19. 24 Jul, 2013 1 commit
  20. 19 Jul, 2013 1 commit
    • commit-queue@webkit.org's avatar
      More conversions from MathML pixel tests to reftests. · e9febc36
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=118853
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-07-19
      Reviewed by Chris Fleizach.
      
      * mathml/presentation/fenced-expected.html: Added.
      * mathml/presentation/fenced-mi-expected.html: Added.
      * mathml/presentation/fenced-mi.html: Added.
      * mathml/presentation/fenced-mi.xhtml: Removed.
      * mathml/presentation/fenced.html: Added.
      * mathml/presentation/fenced.xhtml: Removed.
      * mathml/presentation/mroot-pref-width-expected.html: Added.
      * mathml/presentation/mroot-pref-width.html:
      * mathml/presentation/row-alignment.xhtml: Removed.
      * mathml/presentation/style-border-padding-background-expected.html: Added.
      * mathml/presentation/style-border-padding-background.html: Added.
      * mathml/presentation/style-color-sqrt-expected-mismatch.html: Added.
      * mathml/presentation/style-color-sqrt.html: Added.
      * mathml/presentation/style.xhtml: Removed.
      * mathml/presentation/tables-columnalign-expected.html: Added.
      * mathml/presentation/tables-columnalign.html: Added.
      * mathml/presentation/tables-simple-expected.html: Added.
      * mathml/presentation/tables-simple.html: Added.
      * mathml/presentation/tables-spans-dynamic-expected.html: Added.
      * mathml/presentation/tables-spans-dynamic.html: Added.
      * mathml/presentation/tables-spans-expected.html: Added.
      * mathml/presentation/tables-spans.html: Added.
      * mathml/presentation/tables.xhtml: Removed.
      * mathml/xHeight.xhtml: Removed.
      * platform/efl/mathml/presentation/fenced-expected.png: Removed.
      * platform/efl/mathml/presentation/fenced-expected.txt: Removed.
      * platform/efl/mathml/presentation/fenced-mi-expected.png: Removed.
      * platform/efl/mathml/presentation/fenced-mi-expected.txt: Removed.
      * platform/efl/mathml/presentation/mroot-pref-width-expected.png: Removed.
      * platform/efl/mathml/presentation/mroot-pref-width-expected.txt: Removed.
      * platform/efl/mathml/presentation/row-alignment-expected.png: Removed.
      * platform/efl/mathml/presentation/row-alignment-expected.txt: Removed.
      * platform/efl/mathml/presentation/style-expected.png: Removed.
      * platform/efl/mathml/presentation/style-expected.txt: Removed.
      * platform/efl/mathml/presentation/tables-expected.png: Removed.
      * platform/efl/mathml/presentation/tables-expected.txt: Removed.
      * platform/efl/mathml/xHeight-expected.png: Removed.
      * platform/efl/mathml/xHeight-expected.txt: Removed.
      * platform/gtk/mathml/presentation/fenced-expected.png: Removed.
      * platform/gtk/mathml/presentation/fenced-expected.txt: Removed.
      * platform/gtk/mathml/presentation/fenced-mi-expected.png: Removed.
      * platform/gtk/mathml/presentation/fenced-mi-expected.txt: Removed.
      * platform/gtk/mathml/presentation/mroot-pref-width-expected.png: Removed.
      * platform/gtk/mathml/presentation/mroot-pref-width-expected.txt: Removed.
      * platform/gtk/mathml/presentation/row-alignment-expected.png: Removed.
      * platform/gtk/mathml/presentation/row-alignment-expected.txt: Removed.
      * platform/gtk/mathml/presentation/style-expected.png: Removed.
      * platform/gtk/mathml/presentation/style-expected.txt: Removed.
      * platform/gtk/mathml/presentation/tables-expected.png: Removed.
      * platform/gtk/mathml/presentation/tables-expected.txt: Removed.
      * platform/gtk/mathml/xHeight-expected.png: Removed.
      * platform/gtk/mathml/xHeight-expected.txt: Removed.
      * platform/mac/TestExpectations:
      * platform/mac/mathml/presentation/fenced-expected.png: Removed.
      * platform/mac/mathml/presentation/fenced-expected.txt: Removed.
      * platform/mac/mathml/presentation/fenced-mi-expected.png: Removed.
      * platform/mac/mathml/presentation/fenced-mi-expected.txt: Removed.
      * platform/mac/mathml/presentation/mroot-pref-width-expected.png: Removed.
      * platform/mac/mathml/presentation/mroot-pref-width-expected.txt: Removed.
      * platform/mac/mathml/presentation/row-alignment-expected.png: Removed.
      * platform/mac/mathml/presentation/row-alignment-expected.txt: Removed.
      * platform/mac/mathml/presentation/style-expected.png: Removed.
      * platform/mac/mathml/presentation/style-expected.txt: Removed.
      * platform/mac/mathml/presentation/tables-expected.png: Removed.
      * platform/mac/mathml/presentation/tables-expected.txt: Removed.
      * platform/mac/mathml/xHeight-expected.png: Removed.
      * platform/mac/mathml/xHeight-expected.txt: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e9febc36
  21. 18 Jul, 2013 2 commits
    • commit-queue@webkit.org's avatar
      Convert MathML fraction tests to reftests. · a3ace884
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=118812
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-07-18
      Reviewed by Chris Fleizach.
      
      fractions-vertical-alignment and fractions are converted to reftests.
      
      * mathml/presentation/fractions-box-expected.html: Added.
      * mathml/presentation/fractions-box.html: Added.
      * mathml/presentation/fractions-color-expected-mismatch.html: Added.
      * mathml/presentation/fractions-color.html: Added.
      * mathml/presentation/fractions-invalid-expected.html: Added.
      * mathml/presentation/fractions-invalid.html: Added.
      * mathml/presentation/fractions-linethickness-expected.html: Added.
      * mathml/presentation/fractions-linethickness.html: Added.
      * mathml/presentation/fractions-mrow-expected.html: Added.
      * mathml/presentation/fractions-mrow.html: Added.
      * mathml/presentation/fractions-numalign-denomalign-expected.html: Added.
      * mathml/presentation/fractions-numalign-denomalign.html: Added.
      * mathml/presentation/fractions-positions-expected.html: Added.
      * mathml/presentation/fractions-positions.html: Added.
      * mathml/presentation/fractions-vertical-alignment-expected.html: Added.
      * mathml/presentation/fractions-vertical-alignment.html: Added.
      * mathml/presentation/fractions-vertical-alignment.xhtml: Removed.
      * mathml/presentation/fractions.xhtml: Removed.
      * platform/efl/mathml/presentation/fractions-expected.png: Removed.
      * platform/efl/mathml/presentation/fractions-expected.txt: Removed.
      * platform/efl/mathml/presentation/fractions-vertical-alignment-expected.png: Removed.
      * platform/efl/mathml/presentation/fractions-vertical-alignment-expected.txt: Removed.
      * platform/gtk/mathml/presentation/fractions-expected.png: Removed.
      * platform/gtk/mathml/presentation/fractions-expected.txt: Removed.
      * platform/gtk/mathml/presentation/fractions-vertical-alignment-expected.png: Removed.
      * platform/gtk/mathml/presentation/fractions-vertical-alignment-expected.txt: Removed.
      * platform/mac/mathml/presentation/fractions-expected.png: Removed.
      * platform/mac/mathml/presentation/fractions-expected.txt: Removed.
      * platform/mac/mathml/presentation/fractions-vertical-alignment-expected.png: Removed.
      * platform/mac/mathml/presentation/fractions-vertical-alignment-expected.txt: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152849 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a3ace884
    • commit-queue@webkit.org's avatar
      Incorrect calculated width for mspace. · 7922b213
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=118601
      
      Patch by Zalan Bujtas <zalan@apple.com> on 2013-07-18
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      Use intrinsic logical widths to size <mspace> properly.
      This patch also fixes an assert on isPreferredLogicalHeightDirty() which occurs
      while layouting <mspace>. The assert fix is required, so that the sizing can be
      fixed.
      
      Test: mathml/presentation/mspace-prefered-width.html
      
      * rendering/mathml/RenderMathMLBlock.cpp:
      (WebCore::parseMathMLLength): switch to LayoutUnits.
      (WebCore::parseMathMLNamedSpace): switch to LayoutUnits.
      * rendering/mathml/RenderMathMLBlock.h:
      * rendering/mathml/RenderMathMLFraction.cpp:
      (WebCore::RenderMathMLFraction::updateFromElement):
      * rendering/mathml/RenderMathMLFraction.h:
      * rendering/mathml/RenderMathMLSpace.cpp:
      (WebCore::RenderMathMLSpace::computeIntrinsicLogicalWidths):
      * rendering/mathml/RenderMathMLSpace.h:
      
      LayoutTests:
      
      Use intrinsic logical widths to size <mspace> properly.
      This patch also fixes an assert on isPreferredLogicalHeightDirty(), which occurs
      while layouting <mspace>. The assert fix is required, so that the sizing can be
      fixed.
      
      * mathml/presentation/mspace-prefered-width-expected.html: Added.
      * mathml/presentation/mspace-prefered-width.html: Added.
      * platform/mac/mathml/presentation/fractions-expected.png: Rebaseline: float->LayoutUnit.
      * platform/mac/mathml/presentation/fractions-expected.txt: Rebaseline: float->LayoutUnit.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152840 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7922b213
  22. 17 Jul, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Replace MathML pixel tests by reftests. · 82d0c57b
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=118599
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-07-17
      Reviewed by Chris Fleizach.
      
      - attributes.xhtml is replaced by attributes*.html
      
      - underover.xhtml, under.xhtml, sub.xhtml, sup.xhtml, over.xhtml and subsup.xhtml are replaced by scripts*.html and bug*.html.
      
      - tokenElements.xhtml is replaced by replaced tokenElements-mathvariant.html
      
      * mathml/presentation/attributes-background-color-expected.html: Added.
      * mathml/presentation/attributes-background-color.html: Added.
      * mathml/presentation/attributes-display-expected.html: Added.
      * mathml/presentation/attributes-display.html: Added.
      * mathml/presentation/attributes-mathsize-expected.html: Added.
      * mathml/presentation/attributes-mathsize.html: Added.
      * mathml/presentation/attributes-mathvariant-expected.html: Added.
      * mathml/presentation/attributes-mathvariant.html: Added.
      * mathml/presentation/attributes-style-expected-mismatch.html: Added.
      * mathml/presentation/attributes-style.html: Added.
      * mathml/presentation/attributes.xhtml: Removed.
      * mathml/presentation/bug95015-expected.html: Added.
      * mathml/presentation/bug95015.html: Added.
      * mathml/presentation/bug95404-expected.html: Added.
      * mathml/presentation/bug95404.html: Added.
      * mathml/presentation/bug97990-expected.html: Added.
      * mathml/presentation/bug97990.html: Added.
      * mathml/presentation/over.xhtml: Removed.
      * mathml/presentation/scripts-font-size-expected-mismatch.html: Added.
      * mathml/presentation/scripts-font-size.html: Added.
      * mathml/presentation/scripts-height-expected.html: Added.
      * mathml/presentation/scripts-height.html: Added.
      * mathml/presentation/scripts-mrow-expected.html: Added.
      * mathml/presentation/scripts-mrow.html: Added.
      * mathml/presentation/scripts-subsup-expected.html: Added.
      * mathml/presentation/scripts-subsup.html: Added.
      * mathml/presentation/scripts-underover-expected.html: Added.
      * mathml/presentation/scripts-underover.html: Added.
      * mathml/presentation/scripts-width-expected.html: Added.
      * mathml/presentation/scripts-width.html: Added.
      * mathml/presentation/sub.xhtml: Removed.
      * mathml/presentation/subsup.xhtml: Removed.
      * mathml/presentation/sup.xhtml: Removed.
      * mathml/presentation/tokenElements-mathvariant-expected.html: Added.
      * mathml/presentation/tokenElements-mathvariant.html: Added.
      * mathml/presentation/tokenElements.xhtml: Removed.
      * mathml/presentation/under.xhtml: Removed.
      * mathml/presentation/underover.xhtml: Removed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152777 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      82d0c57b
  23. 01 Jul, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Add Support for mspace element · 4496a299
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=115610
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-07-01
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      This patch adds basic support for the MathML mspace element. This is
      important to let people control spacing of mathematical formulas.
      Attributes width, height and depth are implemented. For the moment,
      only nonnegative width are accepted.
      
      * CMakeLists.txt: add references to the RenderMathMLSpace files.
      * GNUmakefile.list.am: ditto.
      * Target.pri: ditto.
      * WebCore.vcxproj/WebCore.vcxproj: ditto.
      * WebCore.vcxproj/WebCore.vcxproj.filters: ditto.
      * WebCore.xcodeproj/project.pbxproj: ditto.
      * css/mathml.css:
      (mtable[columnlines="dashed"] > mtr > mtd + mtd): remove the obsolete linebreaking rule.
      * mathml/MathMLTextElement.cpp:
      (WebCore::MathMLTextElement::createRenderer): map mspaceTag to RenderMathMLSpace.
      * mathml/mathattrs.in: add width, height and depth attributes
      * mathml/mathtags.in: add mspace element
      * rendering/mathml/RenderMathMLBlock.cpp:
      (WebCore::parseMathMLLength): fix int to float conversion.
      * rendering/mathml/RenderMathMLBlock.h: declare isRenderMathMLSpace.
      (WebCore::RenderMathMLBlock::isRenderMathMLSpace):
      * rendering/mathml/RenderMathMLSpace.cpp: Added.
      (WebCore::RenderMathMLSpace::RenderMathMLSpace):
      (WebCore::RenderMathMLSpace::isChildAllowed):
      (WebCore::RenderMathMLSpace::computePreferredLogicalWidths):
      (WebCore::RenderMathMLSpace::updateFromElement):
      (WebCore::RenderMathMLSpace::updateLogicalWidth):
      (WebCore::RenderMathMLSpace::updateLogicalHeight):
      (WebCore::RenderMathMLSpace::layout):
      (WebCore::RenderMathMLSpace::styleDidChange):
      (WebCore::RenderMathMLSpace::firstLineBoxBaseline):
      * rendering/mathml/RenderMathMLSpace.h: Added.
      (WebCore::RenderMathMLSpace::isRenderMathMLSpace):
      (WebCore::RenderMathMLSpace::renderName):
      (WebCore::toRenderMathMLSpace):
      
      LayoutTests:
      
      Add a reftest for the mspace element (width, height and depth) and
      the parsing of MathML lengths. Import a reftest from Gecko to check
      positive namedspace values.
      
      * mathml/presentation/mspace-expected.html: Added.
      * mathml/presentation/mspace-units-expected.html: Added.
      * mathml/presentation/mspace-units.html: Added.
      * mathml/presentation/mspace.html: Added.
      * mathml/presentation/positive-namedspace-expected.html: Added.
      * mathml/presentation/positive-namedspace.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152235 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4496a299
  24. 27 Jun, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Implement parsing of MathML lengths. · 214e667f
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=118053
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-06-27
      Reviewed by Chris Fleizach.
      
      Source/WebCore:
      
      A parsing function for MathML lengths, similar to Gecko's one, is
      implemented. It is currently only used to parse mfrac@linethickness but
      will be convenient to parse other MathML attributes in the future.
      
      Tests: mathml/presentation/mfrac-linethickness1.html
             mathml/presentation/mfrac-linethickness2.html
             mathml/presentation/mfrac-linethickness3.html
      
      * rendering/mathml/RenderMathMLBlock.cpp: add parsing functions
      (WebCore::parseMathMLLength): parsing MathML Length (number unit)
      (WebCore::parseNamedSpace): parsing MathML namedspaces
      * rendering/mathml/RenderMathMLBlock.h: declare parsing functions
      * rendering/mathml/RenderMathMLFraction.cpp: use the parsing function for linethickness
      (WebCore::RenderMathMLFraction::updateFromElement):
      
      LayoutTests:
      
      Add some reftests for mfrac@linethickness. Better tests for the parsing
      of MathML lengths will be provided when mspace is implemented
      (bug 115610)
      
      * mathml/presentation/mfrac-linethickness1-expected-mismatch.html: Added.
      * mathml/presentation/mfrac-linethickness1.html: Added.
      * mathml/presentation/mfrac-linethickness2-expected.html: Added.
      * mathml/presentation/mfrac-linethickness2.html: Added.
      * mathml/presentation/mfrac-linethickness3-expected-mismatch.html: Added.
      * mathml/presentation/mfrac-linethickness3.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@152140 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      214e667f
  25. 07 Jun, 2013 1 commit
    • cfleizach@apple.com's avatar
      MathML line fraction needs to parse number values · e6d1a011
      cfleizach@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=117305
      
      Reviewed by Darin Adler.
      
      Source/WebCore: 
      
      The line fraction thickness was not handling arbitrary thickness numbers.
      The accessibility code was not handling default values for line thickness, so
      it made sense to have AX rely on the RenderFraction object to retrive the thickness.
      
      Modified existing tests to cover new behavior.
      
      * accessibility/AccessibilityRenderObject.cpp:
      (WebCore::AccessibilityRenderObject::mathLineThickness):
      * rendering/mathml/RenderMathMLFraction.cpp:
      (WebCore::RenderMathMLFraction::updateFromElement):
      * rendering/mathml/RenderMathMLFraction.h:
      (WebCore::RenderMathMLFraction::lineThickness):
      (WebCore::toRenderMathMLFraction):
      
      LayoutTests: 
      
      Math fractions test now encodes for an arbitrary thickness number.
      Accessibility test handles the default line thickness.
      
      * mathml/presentation/fractions.xhtml:
      * platform/mac/accessibility/mathml-line-fraction-expected.txt:
      * platform/mac/accessibility/mathml-line-fraction.html:
      * platform/mac/mathml/presentation/fractions-expected.png:
      * platform/mac/mathml/presentation/fractions-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@151323 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e6d1a011
  26. 17 May, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Bad spacing inside MathML formulas when text-indent is specified · a481ce9c
      commit-queue@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=106600
      
      Patch by Frédéric Wang <fred.wang@free.fr> on 2013-05-17
      Reviewed by Martin Robinson.
      
      Source/WebCore:
      
      When MathML is used in a HTML page that modifies the CSS text-indent,
      large gaps appear inside the mathematical expressions. Resetting it to
      0 on the math root (as Gecko does) fixes the issue.
      
      Tests: mathml/presentation/text-indent.html
             mathml/presentation/text-indent-expected.html
      
      * css/mathml.css:
      (math): reset text-indent to its default value.
      
      LayoutTests:
      
      New test to verify that the text-indent property is reset to 0 on
      the MathML root.
      
      * mathml/presentation/text-indent-expected.html: Added.
      * mathml/presentation/text-indent.html: Added.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@150264 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a481ce9c
  27. 26 Jan, 2013 1 commit
    • commit-queue@webkit.org's avatar
      Unreviewed, rolling out r140880. · 42ce7481
      commit-queue@webkit.org authored
      http://trac.webkit.org/changeset/140880
      https://bugs.webkit.org/show_bug.cgi?id=108023
      
      Caused mathml/presentation and tests to crash and fail
      (Requested by keishi on #webkit).
      
      Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-01-26
      
      Source/WebCore:
      
      * mathml/MathMLTextElement.cpp:
      * mathml/MathMLTextElement.h:
      (MathMLTextElement):
      * rendering/mathml/RenderMathMLBlock.cpp:
      (WebCore::RenderMathMLBlock::RenderMathMLBlock):
      (WebCore::RenderMathMLBlock::computePreferredLogicalWidths):
      (WebCore):
      (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
      (WebCore::RenderMathMLBlock::preferredLogicalHeightAfterSizing):
      * rendering/mathml/RenderMathMLBlock.h:
      (RenderMathMLBlock):
      (WebCore::RenderMathMLBlock::isPreferredLogicalHeightDirty):
      (WebCore::RenderMathMLBlock::preferredLogicalHeight):
      (WebCore::RenderMathMLBlock::setPreferredLogicalHeight):
      * rendering/mathml/RenderMathMLFenced.cpp:
      (WebCore::RenderMathMLFenced::makeFences):
      (WebCore::RenderMathMLFenced::styleDidChange):
      * rendering/mathml/RenderMathMLOperator.cpp:
      (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
      (WebCore):
      (WebCore::RenderMathMLOperator::glyphHeightForCharacter):
      (WebCore::RenderMathMLOperator::updateFromElement):
      (WebCore::RenderMathMLOperator::createGlyph):
      (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
      * rendering/mathml/RenderMathMLOperator.h:
      (RenderMathMLOperator):
      * rendering/mathml/RenderMathMLRoot.cpp:
      (WebCore::RenderMathMLRoot::index):
      (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
      (WebCore):
      (WebCore::RenderMathMLRoot::layout):
      * rendering/mathml/RenderMathMLRoot.h:
      (RenderMathMLRoot):
      * rendering/mathml/RenderMathMLRow.cpp:
      (WebCore::RenderMathMLRow::computePreferredLogicalWidths):
      (WebCore::RenderMathMLRow::layout):
      * rendering/mathml/RenderMathMLRow.h:
      (RenderMathMLRow):
      
      LayoutTests:
      
      * mathml/differentiable-manifold.html: Removed.
      * platform/chromium-linux/mathml/differentiable-manifold-expected.png: Removed.
      * platform/chromium-linux/mathml/differentiable-manifold-expected.txt: Removed.
      * platform/chromium-linux/mathml/presentation/fenced-expected.txt:
      * platform/chromium-linux/mathml/presentation/fenced-mi-expected.png:
      * platform/chromium-linux/mathml/presentation/fenced-mi-expected.txt:
      * platform/chromium-linux/mathml/presentation/mo-expected.txt:
      * platform/chromium-linux/mathml/presentation/mo-stretch-expected.png:
      * platform/chromium-linux/mathml/presentation/mo-stretch-expected.txt:
      * platform/chromium-linux/mathml/presentation/over-expected.txt:
      * platform/chromium-linux/mathml/presentation/row-alignment-expected.txt:
      * platform/chromium-linux/mathml/presentation/row-expected.png:
      * platform/chromium-linux/mathml/presentation/row-expected.txt:
      * platform/chromium-linux/mathml/presentation/sub-expected.png:
      * platform/chromium-linux/mathml/presentation/sub-expected.txt:
      * platform/chromium-linux/mathml/presentation/subsup-expected.txt:
      * platform/chromium/TestExpectations:
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/qt/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140923 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      42ce7481
  28. 25 Jan, 2013 1 commit
    • ojan@chromium.org's avatar
      MathML preferred widths should not depend on layout information · 5ba7ff77
      ojan@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=107353
      
      Reviewed by Levi Weintraub.
      
      Source/WebCore:
      
      * mathml/MathMLTextElement.cpp:
      (WebCore::MathMLTextElement::attach):
      (WebCore::MathMLTextElement::childrenChanged):
      * mathml/MathMLTextElement.h:
      Need to update the render tree when the text of a <mo> changes.
      
      * rendering/mathml/RenderMathMLBlock.cpp:
      (WebCore::RenderMathMLBlock::RenderMathMLBlock):
      * rendering/mathml/RenderMathMLBlock.h:
      * rendering/mathml/RenderMathMLFenced.cpp:
      (WebCore::RenderMathMLFenced::makeFences):
      (WebCore::RenderMathMLFenced::styleDidChange):
      Need to update the rendertree to apply operator stretching.
      
      * rendering/mathml/RenderMathMLOperator.cpp:
      (WebCore::RenderMathMLOperator::glyphHeightForCharacter):
      (WebCore::RenderMathMLOperator::widthForCharacter):
      (WebCore::RenderMathMLOperator::computeIntrinsicLogicalWidths):
      (WebCore::RenderMathMLOperator::stretchDisabledByMarkup):
      (WebCore::RenderMathMLOperator::firstTextCharacter):
      (WebCore::RenderMathMLOperator::stretchyCharacterIndex):
      (WebCore::RenderMathMLOperator::updateFromElement):
      (WebCore::RenderMathMLOperator::firstLineBoxBaseline):
      -Make the preferred widths of operators the max of all possible
      characters to be used in the operator and center the operator in that width.
      -For stretching where we don't use multiple glyphs, use transforms
      instead of font-size. This both looks better and avoids affecting the width.
      -Now that preferred widths don't depends on height, we don't need to
      override computePreferredLogicalWidths at all in MathML code.
      
      * rendering/mathml/RenderMathMLOperator.h:
      * rendering/mathml/RenderMathMLRoot.cpp:
      (WebCore::RenderMathMLRoot::index):
      Tighten up the type.
      
      (WebCore::RenderMathMLRoot::layout):
      Move the laying out of children to the layout method.
      
      * rendering/mathml/RenderMathMLRoot.h:
      * rendering/mathml/RenderMathMLRow.cpp:
      (WebCore::RenderMathMLRow::logicalHeightExcludingOperators):
      (WebCore::RenderMathMLRow::stretchOperatorsAndLayout):
      (WebCore::RenderMathMLRow::layout):
      Move the laying out of children and the subsequent setting of stretchHeight
      to the layout method.
      
      * rendering/mathml/RenderMathMLRow.h:
      
      LayoutTests:
      
      * mathml/differentiable-manifold.html: Added.
      * platform/chromium-linux/mathml/differentiable-manifold-expected.png: Added.
      * platform/chromium-linux/mathml/differentiable-manifold-expected.txt: Added.
      * platform/chromium-linux/mathml/presentation/fenced-expected.txt:
      * platform/chromium-linux/mathml/presentation/fenced-mi-expected.png:
      * platform/chromium-linux/mathml/presentation/fenced-mi-expected.txt:
      * platform/chromium-linux/mathml/presentation/mo-expected.txt:
      * platform/chromium-linux/mathml/presentation/mo-stretch-expected.png:
      * platform/chromium-linux/mathml/presentation/mo-stretch-expected.txt:
      * platform/chromium-linux/mathml/presentation/over-expected.txt:
      * platform/chromium-linux/mathml/presentation/row-alignment-expected.txt:
      * platform/chromium-linux/mathml/presentation/row-expected.png:
      * platform/chromium-linux/mathml/presentation/row-expected.txt:
      * platform/chromium-linux/mathml/presentation/sub-expected.png:
      * platform/chromium-linux/mathml/presentation/sub-expected.txt:
      * platform/chromium-linux/mathml/presentation/subsup-expected.txt:
      * platform/chromium/TestExpectations:
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/qt/TestExpectations:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140880 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5ba7ff77
  29. 07 Jan, 2013 1 commit
  30. 13 Dec, 2012 1 commit
    • dbarton@mathscribe.com's avatar
      Heap-use-after-free in WebCore::RenderBlock::finishDelayUpdateScrollInfo · 746e4abd
      dbarton@mathscribe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=103750
      
      Reviewed by Tony Chang.
      
      Source/WebCore:
      
      MathML sometimes creates and destroys renderers for descendants during layout (or even to calculate
      preferred logical widths), e.g. for operator stretching. RenderBlock::finishDelayUpdateScrollInfo
      must therefore leave gDelayedUpdateScrollInfoSet intact as it iterates over it, so
      RenderBlock::willBeDestroyed can call gDelayedUpdateScrollInfoSet->remove(this) effectively if needed.
      This also prevents duplicate entries from being added to gDelayedUpdateScrollInfoSet.
      
      Test: mathml/mo-stretch-crash.html
      
      * rendering/RenderBlock.cpp:
      (WebCore::RenderBlock::startDelayUpdateScrollInfo):
          - Allow gDelayedUpdateScrollInfoSet to be non-null when gDelayUpdateScrollInfo is 0 during
            RenderBlock::finishDelayUpdateScrollInfo.
      (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
          - Remove blocks from gDelayedUpdateScrollInfoSet one at a time, waiting for each block until it is
            about to be updated.
      
      LayoutTests:
      
      * mathml/mo-stretch-crash-expected.txt: Added.
      * mathml/mo-stretch-crash.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@137632 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      746e4abd
  31. 04 Dec, 2012 1 commit
  32. 03 Dec, 2012 2 commits
    • tony@chromium.org's avatar
      Performance degradation while rendering MathML content, freezes the tab. · 4d1f4e90
      tony@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=102585
      
      Reviewed by Eric Seidel.
      
      Add a regression test for nested fractions. The O(2^n) layout time should
      be fixed by r136324.
      
      * mathml/presentation/mfrac-nested-expected.txt: Added.
      * mathml/presentation/mfrac-nested.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4d1f4e90
    • tony@chromium.org's avatar
      [mathml] Improve performance of nested sup or sub elements · ec03b6d5
      tony@chromium.org authored
      https://bugs.webkit.org/show_bug.cgi?id=103665
      
      Reviewed by Darin Adler.
      
      Source/WebCore:
      
      Reduce the number of extra layouts. Since RenderMathMLSubSup calls
      layout twice, this can lead to an exponential number of layouts. Avoid
      extra layouts.
      
      Test: mathml/presentation/sup-nested.html - Should not time out.
      
      * css/mathml.css:
      (msup): Stretching children also causes extra layouts. Avoid this by aligning to the top.
      (msub): Same as msup, but align to the bottom.
      * rendering/mathml/RenderMathMLSubSup.cpp:
      (WebCore::RenderMathMLSubSup::layout): Only do the second layout if the padding changed.
      Also fix up the calls to setNeedsLayout (since we're calling it on this) and
      setChildNeedsLayout (since we're calling it on a child).
      
      LayoutTests:
      
      Update Chromium Linux baselines and mark tests as failing on other platforms.
      The mathml.css change causes these pixel results changes. This doesn't change
      the pixel results, it is only a change to the render tree. The render boxes
      should more tightly wrap the superscripts and subscripts but be positioned
      in the same place.
      
      * mathml/presentation/sup-nested-expected.txt: Added.
      * mathml/presentation/sup-nested.html: Added.
      * platform/chromium/TestExpectations:
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/mac/TestExpectations:
      * platform/chromium-linux/mathml/presentation/roots-expected.txt:
      * platform/chromium-linux/mathml/presentation/row-alignment-expected.txt:
      * platform/chromium-linux/mathml/presentation/sub-expected.txt:
      * platform/chromium-linux/mathml/presentation/subsup-expected.txt:
      * platform/chromium-linux/mathml/presentation/sup-expected.txt:
      * platform/chromium-linux/mathml/presentation/tables-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136409 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      ec03b6d5
  33. 29 Oct, 2012 1 commit
  34. 27 Oct, 2012 1 commit
    • dbarton@mathscribe.com's avatar
      [MathML] Improve some addChild methods · 8c38681f
      dbarton@mathscribe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=98791
      
      Reviewed by Eric Seidel.
      
      Source/WebCore:
      
      MathML addChild methods need to handle any anonymous renderers correctly. Actually, most MathML elements have a fixed
      number of children, so conformant javascript won't be doing arbitrary addChild and removeChild calls. However, we don't
      want any assertions to fail, and we do want addChild to work correctly when beforeChild == 0, to build up the original
      renderer, and then replaceChild at least should work correctly after that. We therefore clean up these routines before
      giving them to the chromium fuzzers.
      
      It's best to build the anonymous wrappers just once initially if possible, so empty wrappers aren't left in the render
      tree after later removeChild calls.
      
      Test: mathml/presentation/dynamic.html added for mfrac and msqrt. There are already tests for dynamically changing
      msub/sup elements, in mathml/presentation/m*-changed.xhtml.
      
      * rendering/mathml/RenderMathMLFraction.cpp:
      (WebCore::RenderMathMLFraction::addChild):
          - The two wrappers are built initially. Also, the old RenderMathMLBlock::addChild(row, beforeChild); doesn't really
            work because beforeChild is buried inside a wrapper. This new routine allows the numerator and denominator to be
            added initially, and then later replaced with replaceChild. It's not clear whether e.g. a plain removeChild of a
            numerator should move the remaining child from the denominator to the numerator or not, so we ignore that for now.
      * rendering/mathml/RenderMathMLRoot.cpp:
      (WebCore::RenderMathMLRoot::addChild):
          - A bit of bullet-proofing for the fuzzers.
      * rendering/mathml/RenderMathMLSubSup.cpp:
      (WebCore::RenderMathMLSubSup::addChild):
          - Like RenderMathMLFraction::addChild, we create the wrappers once initially, and then fill them dynamically.
      
      LayoutTests:
      
      * mathml/presentation/dynamic-expected.html: Added.
      * mathml/presentation/dynamic.html: Added.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132735 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8c38681f
  35. 23 Oct, 2012 1 commit
    • dbarton@mathscribe.com's avatar
      [MathML] Symbol font uses greek letters for roman ones on linux and Windows · f93c3a9d
      dbarton@mathscribe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=99921
      
      Reviewed by Eric Seidel.
      
      Source/WebCore: 
      
      For parts of stretched parentheses and brackets, mathml.css currently uses the Symbol font,
      which on linux and Windows has greek letters at roman code points. To fix this, we switch
      to the STIXSizeOneSym font when available. However, this can cause vertical gaps between
      glyph parts, because of hard-coded constants in RenderMathMLOperator.cpp. We eliminate all
      these constants. We also shift glyphs upward by 1px and truncate them to avoid the gaps.
      
      Tested by existing tests, and one test added to LayoutTests/mathml/presentation/mo.xhtml.
      
      * css/mathml.css:
      (math, mfenced > *):
          - Set font-family for mn, mi, etc.
      (mo, mfenced):
          - Set font-family for mo and anonymous operators, including extension glyphs for
            stretched operators like parentheses and brackets.
      (math):
      * rendering/mathml/RenderMathMLOperator.cpp:
      (WebCore):
          - Change 0x23d0 to 0x23aa for STIX & Cambria Math fonts.
      (WebCore::RenderMathMLOperator::glyphHeightForCharacter):
      (WebCore::RenderMathMLOperator::updateFromElement):
      (WebCore::RenderMathMLOperator::createStackableStyle):
          - Eliminate unused lineHeight and topRelative parameters, and the hard-coded font size
            of 14.
      (WebCore::RenderMathMLOperator::createGlyph):
          - Eliminate unused lineHeight and topRelative parameters.
      * rendering/mathml/RenderMathMLOperator.h:
      (RenderMathMLOperator):
      
      Tools: 
      
      Enable the STIXSizeOneSym font for testing.
      
      * DumpRenderTree/mac/DumpRenderTree.mm:
      (allowedFontFamilySet):
      * WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:
      (WTR::allowedFontFamilySet):
      
      LayoutTests: 
      
      * mathml/presentation/mo.xhtml:
      * platform/chromium/TestExpectations:
      * platform/chromium/mathml/presentation/attributes-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/attributes-expected.txt:
      * platform/chromium/mathml/presentation/fenced-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/fenced-expected.txt:
      * platform/chromium/mathml/presentation/fenced-mi-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/fenced-mi-expected.txt:
      * platform/chromium/mathml/presentation/fractions-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/fractions-expected.txt:
      * platform/chromium/mathml/presentation/fractions-vertical-alignment-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/fractions-vertical-alignment-expected.txt:
      * platform/chromium/mathml/presentation/mo-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/mo-expected.txt:
      * platform/chromium/mathml/presentation/mo-stretch-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/mo-stretch-expected.txt:
      * platform/chromium/mathml/presentation/mroot-pref-width-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/mroot-pref-width-expected.txt:
      * platform/chromium/mathml/presentation/over-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/over-expected.txt:
      * platform/chromium/mathml/presentation/roots-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/roots-expected.txt:
      * platform/chromium/mathml/presentation/row-alignment-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/row-alignment-expected.txt:
      * platform/chromium/mathml/presentation/row-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/row-expected.txt:
      * platform/chromium/mathml/presentation/style-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/style-expected.txt:
      * platform/chromium/mathml/presentation/sub-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/sub-expected.txt:
      * platform/chromium/mathml/presentation/subsup-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/subsup-expected.txt:
      * platform/chromium/mathml/presentation/sup-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/sup-expected.txt:
      * platform/chromium/mathml/presentation/tables-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/tables-expected.txt:
      * platform/chromium/mathml/presentation/tokenElements-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/tokenElements-expected.txt:
      * platform/chromium/mathml/presentation/under-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/under-expected.txt:
      * platform/chromium/mathml/presentation/underover-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/presentation/underover-expected.txt:
      * platform/chromium/mathml/xHeight-expected.png: Modified property svn:mime-type.
      * platform/chromium/mathml/xHeight-expected.txt:
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/mac/TestExpectations:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@132264 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f93c3a9d
  36. 08 Oct, 2012 1 commit
  37. 01 Oct, 2012 1 commit
    • dbarton@mathscribe.com's avatar
      [MathML] Baseline wrong for fractions or munder/mover with padding · 0fc1e9a0
      dbarton@mathscribe.com authored
      https://bugs.webkit.org/show_bug.cgi?id=97990
      
      Reviewed by Eric Seidel.
      
      Source/WebCore: 
      
      We include any border or padding in our baseline computation. We also take this opportunity
      to quit adding extra left & right padding to numerators and denominators, making our output
      tighter and also more compatible with Firefox and TeX, since we are rebaselining some
      fraction pixel tests now anyway.
      
      Tests added to LayoutTests/mathml/presentation/{over,row-alignment}.xhtml
      
      * rendering/mathml/RenderMathMLFraction.cpp:
      (WebCore::RenderMathMLFraction::fixChildStyle):
      (WebCore::RenderMathMLFraction::paint):
      (WebCore::RenderMathMLFraction::firstLineBoxBaseline):
      * rendering/mathml/RenderMathMLUnderOver.cpp:
      (WebCore::RenderMathMLUnderOver::firstLineBoxBaseline):
      
      LayoutTests: 
      
      We handle any border and padding correctly, and quit adding extra left and right padding
      to numerators and denominators.
      
      * mathml/presentation/over.xhtml:
      * mathml/presentation/row-alignment.xhtml:
      * platform/efl/TestExpectations:
      * platform/gtk/TestExpectations:
      * platform/mac/mathml/presentation/attributes-expected.png:
      * platform/mac/mathml/presentation/attributes-expected.txt:
      * platform/mac/mathml/presentation/fractions-expected.png:
      * platform/mac/mathml/presentation/fractions-expected.txt:
      * platform/mac/mathml/presentation/fractions-vertical-alignment-expected.png:
      * platform/mac/mathml/presentation/fractions-vertical-alignment-expected.txt:
      * platform/mac/mathml/presentation/mo-stretch-expected.png:
      * platform/mac/mathml/presentation/mo-stretch-expected.txt:
      * platform/mac/mathml/presentation/over-expected.png:
      * platform/mac/mathml/presentation/over-expected.txt:
      * platform/mac/mathml/presentation/roots-expected.png:
      * platform/mac/mathml/presentation/roots-expected.txt:
      * platform/mac/mathml/presentation/row-alignment-expected.png:
      * platform/mac/mathml/presentation/row-alignment-expected.txt:
      * platform/mac/mathml/presentation/subsup-expected.png:
      * platform/mac/mathml/presentation/subsup-expected.txt:
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@130097 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      0fc1e9a0