Skip to content
  • tkent@chromium.org's avatar
    <input type=number> UI: inner spin button layout · 06dfd042
    tkent@chromium.org authored
    https://bugs.webkit.org/show_bug.cgi?id=41924
    
    Reviewed by Darin Fisher.
    
    WebCore:
    
    Add layout/event/style code for the inner spin button, which is
    going to be used for Windows implementation.
    No new tests because no ports implement the inner spin button yet.
    
    * rendering/RenderTextControlSingleLine.cpp:
      Introduce m_innerSpinButton.
    (WebCore::RenderTextControlSingleLine::~RenderTextControlSingleLine):
      Detach m_innerSpinButton.
    (WebCore::RenderTextControlSingleLine::layout):
      Set position and size of m_innerSpinButton.
    (WebCore::RenderTextControlSingleLine::nodeAtPoint):
      Handle m_innerSpinButton.
    (WebCore::RenderTextControlSingleLine::forwardEvent):
      Handle m_innerSpinButton.
    (WebCore::RenderTextControlSingleLine::textBlockWidth):
      Shorten the text block width by m_innerSpinButton width.
    (WebCore::RenderTextControlSingleLine::preferredContentWidth):
      Add m_innerSpinButton width.
    (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
      Handle m_innerSpinButton.
    (WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle):
      Make style for m_innerSpinButton with INNER_SPIN_BUTTON pseudo class.
    * rendering/RenderTextControlSingleLine.h:
    
    LayoutTests:
    
    Update test expectations because a shadow node is added to
    <input type=number>.
    
    * platform/mac/fast/forms/input-appearance-spinbutton-disabled-readonly-expected.html
    * platform/mac/fast/forms/input-appearance-spinbutton-expected.txt:
    * platform/mac/fast/forms/input-appearance-spinbutton-up-expected.txt:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63288 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    06dfd042