Changeset 140791 in webkit


Ignore:
Timestamp:
Jan 24, 2013 11:57:37 PM (11 years ago)
Author:
tkent@chromium.org
Message:

INPUT_MULTIPLE_FIELDS_UI: Refactoring: Remove confusing minimum() and maximum() of DateTimeSymbolicFieldElement
https://bugs.webkit.org/show_bug.cgi?id=107918

Reviewed by Kentaro Hara.

DateTimeSymbolicFieldElement::minimum() and maximum() are very
confusing. They don't return minimum/maximum value of 0-based symbol
index though valueAsInteger is 0-based. These functions are used only
for ARIA attributes in DateTimeFieldElement::initialize().

  • Remove DateTimeFieldElement::minimum() and maximum(), and pass

minimum/maximum values for ARIA attributes as function arguments.

  • DateTimeNumericFieldElement::maximum() is now non-virtual. It is called by subclasses.

No new tests. This should not change any behavior.

  • html/shadow/DateTimeFieldElement.cpp:

(WebCore::DateTimeFieldElement::initialize):
Add axMimimum/axMaximum arguments. Don't use minimum() and maximum().

  • html/shadow/DateTimeFieldElement.h:

(DateTimeFieldElement): Ditto.

  • html/shadow/DateTimeNumericFieldElement.cpp:

(WebCore::DateTimeNumericFieldElement::initialize):
Pass m_range.minimum and maximum to DateTimeFieldElement::initialize().

  • html/shadow/DateTimeNumericFieldElement.h:

(DateTimeNumericFieldElement):

  • Add initialize()
  • Make maximum() non-virtual
  • Remove minimum().
  • html/shadow/DateTimeSymbolicFieldElement.cpp:

(WebCore::DateTimeSymbolicFieldElement::initialize):
Pass m_minimumIndex + 1 and m_maximumIndex + 1 to
DateTimeFieldElement::initialize().

  • html/shadow/DateTimeSymbolicFieldElement.h:

(DateTimeSymbolicFieldElement):
Add initialize() and remove minimum() and maximum().

Location:
trunk/Source/WebCore
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r140788 r140791  
     12013-01-24  Kent Tamura  <tkent@chromium.org>
     2
     3        INPUT_MULTIPLE_FIELDS_UI: Refactoring: Remove confusing minimum() and maximum() of DateTimeSymbolicFieldElement
     4        https://bugs.webkit.org/show_bug.cgi?id=107918
     5
     6        Reviewed by Kentaro Hara.
     7
     8        DateTimeSymbolicFieldElement::minimum() and maximum() are very
     9        confusing. They don't return minimum/maximum value of 0-based symbol
     10        index though valueAsInteger is 0-based. These functions are used only
     11        for ARIA attributes in DateTimeFieldElement::initialize().
     12
     13        - Remove DateTimeFieldElement::minimum() and maximum(), and pass
     14        minimum/maximum values for ARIA attributes as function arguments.
     15        - DateTimeNumericFieldElement::maximum() is now non-virtual.
     16          It is called by subclasses.
     17
     18        No new tests. This should not change any behavior.
     19
     20        * html/shadow/DateTimeFieldElement.cpp:
     21        (WebCore::DateTimeFieldElement::initialize):
     22        Add axMimimum/axMaximum arguments. Don't use minimum() and maximum().
     23        * html/shadow/DateTimeFieldElement.h:
     24        (DateTimeFieldElement): Ditto.
     25        * html/shadow/DateTimeNumericFieldElement.cpp:
     26        (WebCore::DateTimeNumericFieldElement::initialize):
     27        Pass m_range.minimum and maximum to DateTimeFieldElement::initialize().
     28        * html/shadow/DateTimeNumericFieldElement.h:
     29        (DateTimeNumericFieldElement):
     30        - Add initialize()
     31        - Make maximum() non-virtual
     32        - Remove minimum().
     33        * html/shadow/DateTimeSymbolicFieldElement.cpp:
     34        (WebCore::DateTimeSymbolicFieldElement::initialize):
     35        Pass m_minimumIndex + 1 and m_maximumIndex + 1 to
     36        DateTimeFieldElement::initialize().
     37        * html/shadow/DateTimeSymbolicFieldElement.h:
     38        (DateTimeSymbolicFieldElement):
     39        Add initialize() and remove minimum() and maximum().
     40
    1412013-01-24  Kent Tamura  <tkent@chromium.org>
    242
  • trunk/Source/WebCore/html/shadow/DateTimeFieldElement.cpp

    r137275 r140791  
    141141}
    142142
    143 void DateTimeFieldElement::initialize(const AtomicString& pseudo, const String& axHelpText)
     143void DateTimeFieldElement::initialize(const AtomicString& pseudo, const String& axHelpText, int axMinimum, int axMaximum)
    144144{
    145145    setAttribute(aria_helpAttr, axHelpText);
    146     setAttribute(aria_valueminAttr, String::number(minimum()));
    147     setAttribute(aria_valuemaxAttr, String::number(maximum()));
     146    setAttribute(aria_valueminAttr, String::number(axMinimum));
     147    setAttribute(aria_valuemaxAttr, String::number(axMaximum));
    148148    setPseudo(pseudo);
    149149    appendChild(Text::create(document(), visibleValue()));
  • trunk/Source/WebCore/html/shadow/DateTimeFieldElement.h

    r140788 r140791  
    8383    void focusOnNextField();
    8484    virtual void handleKeyboardEvent(KeyboardEvent*) = 0;
    85     void initialize(const AtomicString& pseudo, const String& axHelpText);
     85    void initialize(const AtomicString& pseudo, const String& axHelpText, int axMinimum, int axMaximum);
    8686    Locale& localeForOwner() const;
    8787    AtomicString localeIdentifier() const;
    88     virtual int maximum() const = 0;
    89     virtual int minimum() const = 0;
    9088    void updateVisibleValue(EventBehavior);
    9189    virtual int valueAsInteger() const = 0;
  • trunk/Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp

    r138365 r140791  
    163163}
    164164
     165void DateTimeNumericFieldElement::initialize(const AtomicString& pseudo, const String& axHelpText)
     166{
     167    DateTimeFieldElement::initialize(pseudo, axHelpText, m_range.minimum, m_range.maximum);
     168}
     169
    165170int DateTimeNumericFieldElement::maximum() const
    166171{
    167172    return m_range.maximum;
    168 }
    169 
    170 int DateTimeNumericFieldElement::minimum() const
    171 {
    172     return m_range.minimum;
    173173}
    174174
  • trunk/Source/WebCore/html/shadow/DateTimeNumericFieldElement.h

    r140788 r140791  
    6969    // DateTimeFieldElement functions.
    7070    virtual bool hasValue() const OVERRIDE FINAL;
    71     virtual int maximum() const OVERRIDE FINAL;
     71    void initialize(const AtomicString& pseudo, const String& axHelpText);
     72    int maximum() const;
    7273    virtual void setEmptyValue(EventBehavior = DispatchNoEvent) OVERRIDE FINAL;
    7374    virtual void setValueAsInteger(int, EventBehavior = DispatchNoEvent) OVERRIDE;
     
    8081    virtual void handleKeyboardEvent(KeyboardEvent*) OVERRIDE FINAL;
    8182    virtual float maximumWidth(const Font&) OVERRIDE;
    82     virtual int minimum() const OVERRIDE FINAL;
    8383    virtual void stepDown() OVERRIDE FINAL;
    8484    virtual void stepUp() OVERRIDE FINAL;
  • trunk/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.cpp

    r139043 r140791  
    9393}
    9494
    95 int DateTimeSymbolicFieldElement::maximum() const
     95void DateTimeSymbolicFieldElement::initialize(const AtomicString& pseudo, const String& axHelpText)
    9696{
    97     return m_maximumIndex + 1;
    98 }
    99 
    100 int DateTimeSymbolicFieldElement::minimum() const
    101 {
    102     return m_minimumIndex + 1;
     97    // The minimum and maximum below are exposed to users, and 1-based numbers
     98    // are natural for symbolic fields. For example, the minimum value of a
     99    // month field should be 1, not 0.
     100    DateTimeFieldElement::initialize(pseudo, axHelpText, m_minimumIndex + 1, m_maximumIndex + 1);
    103101}
    104102
  • trunk/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.h

    r139043 r140791  
    4242    size_t symbolsSize() const { return m_symbols.size(); }
    4343    virtual bool hasValue() const OVERRIDE FINAL;
     44    void initialize(const AtomicString& pseudo, const String& axHelpText);
    4445    virtual void setEmptyValue(EventBehavior = DispatchNoEvent) OVERRIDE FINAL;
    4546    virtual void setValueAsInteger(int, EventBehavior = DispatchNoEvent) OVERRIDE FINAL;
     
    5455    // DateTimeFieldElement functions.
    5556    virtual void handleKeyboardEvent(KeyboardEvent*) OVERRIDE FINAL;
    56     virtual int maximum() const OVERRIDE FINAL;
    5757    virtual float maximumWidth(const Font&) OVERRIDE;
    58     virtual int minimum() const OVERRIDE FINAL;
    5958    virtual void stepDown() OVERRIDE FINAL;
    6059    virtual void stepUp() OVERRIDE FINAL;
Note: See TracChangeset for help on using the changeset viewer.