Title: [134239] trunk/Source/WebCore
Revision
134239
Author
[email protected]
Date
2012-11-12 07:38:31 -0800 (Mon, 12 Nov 2012)

Log Message

Refactoring: set read-only values on layout in DateTimeEditElement
https://bugs.webkit.org/show_bug.cgi?id=101916

Reviewed by Kentaro Hara.

We have always updated read-only values when we set an empty value or
DateTimeFieldsState. It has wasted CPU time because such read-only
values are never updated after layout() essentially. So, we set
read-only values in DateTimeEditBuilder used by layout(), and remove
dateForReadOnlyField arguments of setEmptyValue and
setValueAsDateTimeFieldsState.

No new tests. This should not make behavior changes.

* html/BaseMultipleFieldsDateAndTimeInputType.cpp:
(WebCore::BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState):
We removed dateForReadOnlyField argument because read-only values are
already set in DateTimeFieldElement::layout().
* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditBuilder::visitField):
Set a value to a read-only minute/second/millisecond field while
building UI elements.
Also, changed variable types for millisecond and second fields to
RefPtr<DateTimeNumericFieldElement> because we'd like to call
setValueAsDate, which is private in DateTimeMillisecondFieldElement and
DateTimeSecondFieldElement
(WebCore::DateTimeEditElement::setValueAsDateTimeFieldsState):
We removed dateForReadOnlyField argument because read-only values are
already set in DateTimeFieldElement::layout().
(WebCore::DateTimeEditElement::setEmptyValue): Ditto.
* html/shadow/DateTimeEditElement.h:
(DateTimeEditElement):
Removed dateForReadOnlyField argument for setValueAsDateTimeFieldsState.

* html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
We removed dateForReadOnlyField argument because read-only values are
already set in DateTimeFieldElement::layout().
* html/shadow/DateTimeFieldElement.h:
(DateTimeFieldElement): Ditto.

* html/shadow/DateTimeFieldElements.cpp: Ditto.
* html/shadow/DateTimeFieldElements.h: Ditto.
* html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::setEmptyValue):
It should do nothing if it is read-only because a read-only value was
already set just after construction.
* html/shadow/DateTimeNumericFieldElement.h:
(DateTimeNumericFieldElement):
Removed dateForReadOnlyField argument of setEmptyValue.
* html/shadow/DateTimeSymbolicFieldElement.cpp:
(WebCore::DateTimeSymbolicFieldElement::setEmptyValue): Ditto.
* html/shadow/DateTimeSymbolicFieldElement.h:
(DateTimeSymbolicFieldElement): Ditto.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (134238 => 134239)


--- trunk/Source/WebCore/ChangeLog	2012-11-12 15:27:24 UTC (rev 134238)
+++ trunk/Source/WebCore/ChangeLog	2012-11-12 15:38:31 UTC (rev 134239)
@@ -1,3 +1,60 @@
+2012-11-12  Kent Tamura  <[email protected]>
+
+        Refactoring: set read-only values on layout in DateTimeEditElement
+        https://bugs.webkit.org/show_bug.cgi?id=101916
+
+        Reviewed by Kentaro Hara.
+
+        We have always updated read-only values when we set an empty value or
+        DateTimeFieldsState. It has wasted CPU time because such read-only
+        values are never updated after layout() essentially. So, we set
+        read-only values in DateTimeEditBuilder used by layout(), and remove
+        dateForReadOnlyField arguments of setEmptyValue and
+        setValueAsDateTimeFieldsState.
+
+        No new tests. This should not make behavior changes.
+
+        * html/BaseMultipleFieldsDateAndTimeInputType.cpp:
+        (WebCore::BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState):
+        We removed dateForReadOnlyField argument because read-only values are
+        already set in DateTimeFieldElement::layout().
+        * html/shadow/DateTimeEditElement.cpp:
+        (WebCore::DateTimeEditBuilder::visitField):
+        Set a value to a read-only minute/second/millisecond field while
+        building UI elements.
+        Also, changed variable types for millisecond and second fields to
+        RefPtr<DateTimeNumericFieldElement> because we'd like to call
+        setValueAsDate, which is private in DateTimeMillisecondFieldElement and
+        DateTimeSecondFieldElement
+        (WebCore::DateTimeEditElement::setValueAsDateTimeFieldsState):
+        We removed dateForReadOnlyField argument because read-only values are
+        already set in DateTimeFieldElement::layout().
+        (WebCore::DateTimeEditElement::setEmptyValue): Ditto.
+        * html/shadow/DateTimeEditElement.h:
+        (DateTimeEditElement):
+        Removed dateForReadOnlyField argument for setValueAsDateTimeFieldsState.
+
+        * html/shadow/DateTimeFieldElement.cpp:
+        (WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
+        We removed dateForReadOnlyField argument because read-only values are
+        already set in DateTimeFieldElement::layout().
+        * html/shadow/DateTimeFieldElement.h:
+        (DateTimeFieldElement): Ditto.
+
+        * html/shadow/DateTimeFieldElements.cpp: Ditto.
+        * html/shadow/DateTimeFieldElements.h: Ditto.
+        * html/shadow/DateTimeNumericFieldElement.cpp:
+        (WebCore::DateTimeNumericFieldElement::setEmptyValue):
+        It should do nothing if it is read-only because a read-only value was
+        already set just after construction.
+        * html/shadow/DateTimeNumericFieldElement.h:
+        (DateTimeNumericFieldElement):
+        Removed dateForReadOnlyField argument of setEmptyValue.
+        * html/shadow/DateTimeSymbolicFieldElement.cpp:
+        (WebCore::DateTimeSymbolicFieldElement::setEmptyValue): Ditto.
+        * html/shadow/DateTimeSymbolicFieldElement.h:
+        (DateTimeSymbolicFieldElement): Ditto.
+
 2012-11-12  Tiancheng Jiang  <[email protected]>
 
         [BlackBerry] Update BB10 form theme.

Modified: trunk/Source/WebCore/html/BaseMultipleFieldsDateAndTimeInputType.cpp (134238 => 134239)


--- trunk/Source/WebCore/html/BaseMultipleFieldsDateAndTimeInputType.cpp	2012-11-12 15:27:24 UTC (rev 134238)
+++ trunk/Source/WebCore/html/BaseMultipleFieldsDateAndTimeInputType.cpp	2012-11-12 15:38:31 UTC (rev 134239)
@@ -299,10 +299,8 @@
 {
     if (!m_dateTimeEditElement)
         return;
-    DateComponents date;
-    setMillisecondToDateComponents(createStepRange(AnyIsDefaultStep).minimum().toDouble(), &date);
     DateTimeFieldsState dateTimeFieldsState = DateTimeFieldsState::restoreFormControlState(state);
-    m_dateTimeEditElement->setValueAsDateTimeFieldsState(dateTimeFieldsState, date);
+    m_dateTimeEditElement->setValueAsDateTimeFieldsState(dateTimeFieldsState);
     element()->setValueInternal(sanitizeValue(m_dateTimeEditElement->value()), DispatchNoEvent);
 }
 

Modified: trunk/Source/WebCore/html/shadow/DateTimeEditElement.cpp (134238 => 134239)


--- trunk/Source/WebCore/html/shadow/DateTimeEditElement.cpp	2012-11-12 15:27:24 UTC (rev 134238)
+++ trunk/Source/WebCore/html/shadow/DateTimeEditElement.cpp	2012-11-12 15:38:31 UTC (rev 134239)
@@ -121,8 +121,10 @@
     case DateTimeFormat::FieldTypeMinute: {
         RefPtr<DateTimeNumericFieldElement> field = DateTimeMinuteFieldElement::create(document, m_editElement);
         m_editElement.addField(field);
-        if (shouldMinuteFieldReadOnly())
+        if (shouldMinuteFieldReadOnly()) {
+            field->setValueAsDate(m_dateValue);
             field->setReadOnly();
+        }
         return;
     }
 
@@ -161,10 +163,12 @@
         return;
 
     case DateTimeFormat::FieldTypeSecond: {
-        RefPtr<DateTimeSecondFieldElement> field = DateTimeSecondFieldElement::create(document, m_editElement);
+        RefPtr<DateTimeNumericFieldElement> field = DateTimeSecondFieldElement::create(document, m_editElement);
         m_editElement.addField(field);
-        if (shouldSecondFieldReadOnly())
+        if (shouldSecondFieldReadOnly()) {
+            field->setValueAsDate(m_dateValue);
             field->setReadOnly();
+        }
 
         if (needMillisecondField()) {
             visitLiteral(m_parameters.locale.localizedDecimalSeparator());
@@ -174,10 +178,12 @@
     }
 
     case DateTimeFormat::FieldTypeFractionalSecond: {
-        RefPtr<DateTimeMillisecondFieldElement> field = DateTimeMillisecondFieldElement::create(document, m_editElement);
+        RefPtr<DateTimeNumericFieldElement> field = DateTimeMillisecondFieldElement::create(document, m_editElement);
         m_editElement.addField(field);
-        if (shouldMillisecondFieldReadOnly())
+        if (shouldMillisecondFieldReadOnly()) {
+            field->setValueAsDate(m_dateValue);
             field->setReadOnly();
+        }
         return;
     }
 
@@ -462,17 +468,17 @@
         m_fields[fieldIndex]->setValueAsDate(date);
 }
 
-void DateTimeEditElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField)
+void DateTimeEditElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState)
 {
     for (size_t fieldIndex = 0; fieldIndex < m_fields.size(); ++fieldIndex)
-        m_fields[fieldIndex]->setValueAsDateTimeFieldsState(dateTimeFieldsState, dateForReadOnlyField);
+        m_fields[fieldIndex]->setValueAsDateTimeFieldsState(dateTimeFieldsState);
 }
 
 void DateTimeEditElement::setEmptyValue(const LayoutParameters& layoutParameters, const DateComponents& dateForReadOnlyField)
 {
     layout(layoutParameters, dateForReadOnlyField);
     for (size_t fieldIndex = 0; fieldIndex < m_fields.size(); ++fieldIndex)
-        m_fields[fieldIndex]->setEmptyValue(dateForReadOnlyField, DateTimeFieldElement::DispatchNoEvent);
+        m_fields[fieldIndex]->setEmptyValue(DateTimeFieldElement::DispatchNoEvent);
 }
 
 bool DateTimeEditElement::hasFocusedField()

Modified: trunk/Source/WebCore/html/shadow/DateTimeEditElement.h (134238 => 134239)


--- trunk/Source/WebCore/html/shadow/DateTimeEditElement.h	2012-11-12 15:27:24 UTC (rev 134238)
+++ trunk/Source/WebCore/html/shadow/DateTimeEditElement.h	2012-11-12 15:38:31 UTC (rev 134239)
@@ -97,7 +97,7 @@
     void resetFields();
     void setEmptyValue(const LayoutParameters&, const DateComponents& dateForReadOnlyField);
     void setValueAsDate(const LayoutParameters&, const DateComponents&);
-    void setValueAsDateTimeFieldsState(const DateTimeFieldsState&, const DateComponents& dateForReadOnlyField);
+    void setValueAsDateTimeFieldsState(const DateTimeFieldsState&);
     void stepDown();
     void stepUp();
     String value() const;

Modified: trunk/Source/WebCore/html/shadow/DateTimeFieldElement.cpp (134238 => 134239)


--- trunk/Source/WebCore/html/shadow/DateTimeFieldElement.cpp	2012-11-12 15:27:24 UTC (rev 134238)
+++ trunk/Source/WebCore/html/shadow/DateTimeFieldElement.cpp	2012-11-12 15:38:31 UTC (rev 134239)
@@ -111,7 +111,7 @@
 
     if (keyIdentifier == "U+0008" || keyIdentifier == "U+007F") {
         keyboardEvent->setDefaultHandled();
-        setEmptyValue(DateComponents(), DispatchEvent);
+        setEmptyValue(DispatchEvent);
         return;
     }
 }

Modified: trunk/Source/WebCore/html/shadow/DateTimeFieldElement.h (134238 => 134239)


--- trunk/Source/WebCore/html/shadow/DateTimeFieldElement.h	2012-11-12 15:27:24 UTC (rev 134238)
+++ trunk/Source/WebCore/html/shadow/DateTimeFieldElement.h	2012-11-12 15:38:31 UTC (rev 134239)
@@ -65,9 +65,9 @@
     virtual void populateDateTimeFieldsState(DateTimeFieldsState&) = 0;
     void removeEventHandler() { m_fieldOwner = 0; }
     void setReadOnly();
-    virtual void setEmptyValue(const DateComponents& dateForReadOnlyField, EventBehavior = DispatchNoEvent) = 0;
+    virtual void setEmptyValue(EventBehavior = DispatchNoEvent) = 0;
     virtual void setValueAsDate(const DateComponents&) = 0;
-    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&, const DateComponents& dateForReadOnlyField) = 0;
+    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) = 0;
     virtual void setValueAsInteger(int, EventBehavior = DispatchNoEvent) = 0;
     virtual void stepDown() = 0;
     virtual void stepUp() = 0;

Modified: trunk/Source/WebCore/html/shadow/DateTimeFieldElements.cpp (134238 => 134239)


--- trunk/Source/WebCore/html/shadow/DateTimeFieldElements.cpp	2012-11-12 15:27:24 UTC (rev 134238)
+++ trunk/Source/WebCore/html/shadow/DateTimeFieldElements.cpp	2012-11-12 15:38:31 UTC (rev 134239)
@@ -61,12 +61,12 @@
     setValueAsInteger(date.hour() >= 12 ? 1 : 0);
 }
 
-void DateTimeAMPMFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField)
+void DateTimeAMPMFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState)
 {
     if (dateTimeFieldsState.hasAMPM())
         setValueAsInteger(dateTimeFieldsState.ampm());
     else
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
 }
 
 // ----------------------------
@@ -94,10 +94,10 @@
     setValueAsInteger(date.monthDay());
 }
 
-void DateTimeDayFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField)
+void DateTimeDayFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState)
 {
     if (!dateTimeFieldsState.hasDayOfMonth()) {
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
         return;
     }
 
@@ -107,7 +107,7 @@
         return;
     }
 
-    setEmptyValue(dateForReadOnlyField);
+    setEmptyValue();
 }
 
 // ----------------------------
@@ -166,17 +166,17 @@
     setValueAsInteger(date.hour());
 }
 
-void DateTimeHourFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField)
+void DateTimeHourFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState)
 {
     if (!dateTimeFieldsState.hasHour()) {
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
         return;
     }
 
     const int hour12 = dateTimeFieldsState.hour();
 
     if (hour12 < 1 || hour12 > 12) {
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
         return;
     }
 
@@ -240,16 +240,16 @@
     setValueAsInteger(date.millisecond());
 }
 
-void DateTimeMillisecondFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField)
+void DateTimeMillisecondFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState)
 {
     if (!dateTimeFieldsState.hasMillisecond()) {
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
         return;
     }
 
     const unsigned value = dateTimeFieldsState.millisecond();
     if (value > static_cast<unsigned>(maximum())) {
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
         return;
     }
 
@@ -281,16 +281,16 @@
     setValueAsInteger(date.minute());
 }
 
-void DateTimeMinuteFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField)
+void DateTimeMinuteFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState)
 {
     if (!dateTimeFieldsState.hasMinute()) {
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
         return;
     }
 
     const unsigned value = dateTimeFieldsState.minute();
     if (value > static_cast<unsigned>(maximum())) {
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
         return;
     }
 
@@ -322,10 +322,10 @@
     setValueAsInteger(date.month() + 1);
 }
 
-void DateTimeMonthFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField)
+void DateTimeMonthFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState)
 {
     if (!dateTimeFieldsState.hasMonth()) {
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
         return;
     }
 
@@ -335,7 +335,7 @@
         return;
     }
 
-    setEmptyValue(dateForReadOnlyField);
+    setEmptyValue();
 }
 
 // ----------------------------
@@ -363,16 +363,16 @@
     setValueAsInteger(date.second());
 }
 
-void DateTimeSecondFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField)
+void DateTimeSecondFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState)
 {
     if (!dateTimeFieldsState.hasSecond()) {
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
         return;
     }
 
     const unsigned value = dateTimeFieldsState.second();
     if (value > static_cast<unsigned>(maximum())) {
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
         return;
     }
 
@@ -407,16 +407,16 @@
     setValueAsInteger(date.month());
 }
 
-void DateTimeSymbolicMonthFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField)
+void DateTimeSymbolicMonthFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState)
 {
     if (!dateTimeFieldsState.hasMonth()) {
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
         return;
     }
 
     const unsigned value = dateTimeFieldsState.month() - 1;
     if (value >= symbolsSize()) {
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
         return;
     }
 
@@ -448,10 +448,10 @@
     setValueAsInteger(date.week());
 }
 
-void DateTimeWeekFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField)
+void DateTimeWeekFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState)
 {
     if (!dateTimeFieldsState.hasWeekOfYear()) {
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
         return;
     }
 
@@ -461,7 +461,7 @@
         return;
     }
 
-    setEmptyValue(dateForReadOnlyField);
+    setEmptyValue();
 }
 
 // ----------------------------
@@ -521,10 +521,10 @@
     setValueAsInteger(date.fullYear());
 }
 
-void DateTimeYearFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState, const DateComponents& dateForReadOnlyField)
+void DateTimeYearFieldElement::setValueAsDateTimeFieldsState(const DateTimeFieldsState& dateTimeFieldsState)
 {
     if (!dateTimeFieldsState.hasYear()) {
-        setEmptyValue(dateForReadOnlyField);
+        setEmptyValue();
         return;
     }
 
@@ -534,7 +534,7 @@
         return;
     }
 
-    setEmptyValue(dateForReadOnlyField);
+    setEmptyValue();
 }
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/html/shadow/DateTimeFieldElements.h (134238 => 134239)


--- trunk/Source/WebCore/html/shadow/DateTimeFieldElements.h	2012-11-12 15:27:24 UTC (rev 134238)
+++ trunk/Source/WebCore/html/shadow/DateTimeFieldElements.h	2012-11-12 15:38:31 UTC (rev 134239)
@@ -44,7 +44,7 @@
     // DateTimeFieldElement functions.
     virtual void populateDateTimeFieldsState(DateTimeFieldsState&) OVERRIDE FINAL;
     virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
-    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&, const DateComponents& dateForReadOnlyField) OVERRIDE FINAL;
+    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) OVERRIDE FINAL;
 };
 
 class DateTimeDayFieldElement : public DateTimeNumericFieldElement {
@@ -59,7 +59,7 @@
     // DateTimeFieldElement functions.
     virtual void populateDateTimeFieldsState(DateTimeFieldsState&) OVERRIDE FINAL;
     virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
-    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&, const DateComponents& dateForReadOnlyField) OVERRIDE FINAL;
+    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) OVERRIDE FINAL;
 };
 
 // DateTimeHourFieldElement is used for hour field of date time format
@@ -80,7 +80,7 @@
     // DateTimeFieldElement functions.
     virtual void populateDateTimeFieldsState(DateTimeFieldsState&) OVERRIDE FINAL;
     virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
-    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&, const DateComponents& dateForReadOnlyField) OVERRIDE FINAL;
+    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) OVERRIDE FINAL;
     virtual void setValueAsInteger(int, EventBehavior = DispatchNoEvent) OVERRIDE FINAL;
     virtual int valueAsInteger() const OVERRIDE FINAL;
 
@@ -99,7 +99,7 @@
     // DateTimeFieldElement functions.
     virtual void populateDateTimeFieldsState(DateTimeFieldsState&) OVERRIDE FINAL;
     virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
-    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&, const DateComponents& dateForReadOnlyField) OVERRIDE FINAL;
+    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) OVERRIDE FINAL;
 };
 
 class DateTimeMinuteFieldElement : public DateTimeNumericFieldElement {
@@ -114,7 +114,7 @@
     // DateTimeFieldElement functions.
     virtual void populateDateTimeFieldsState(DateTimeFieldsState&) OVERRIDE FINAL;
     virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
-    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&, const DateComponents& dateForReadOnlyField) OVERRIDE FINAL;
+    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) OVERRIDE FINAL;
 };
 
 class DateTimeMonthFieldElement : public DateTimeNumericFieldElement {
@@ -129,7 +129,7 @@
     // DateTimeFieldElement functions.
     virtual void populateDateTimeFieldsState(DateTimeFieldsState&) OVERRIDE FINAL;
     virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
-    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&, const DateComponents& dateForReadOnlyField) OVERRIDE FINAL;
+    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) OVERRIDE FINAL;
 };
 
 class DateTimeSecondFieldElement : public DateTimeNumericFieldElement {
@@ -144,7 +144,7 @@
     // DateTimeFieldElement functions.
     virtual void populateDateTimeFieldsState(DateTimeFieldsState&) OVERRIDE FINAL;
     virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
-    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&, const DateComponents& dateForReadOnlyField) OVERRIDE FINAL;
+    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) OVERRIDE FINAL;
 };
 
 class DateTimeSymbolicMonthFieldElement : public DateTimeSymbolicFieldElement {
@@ -159,7 +159,7 @@
     // DateTimeFieldElement functions.
     virtual void populateDateTimeFieldsState(DateTimeFieldsState&) OVERRIDE FINAL;
     virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
-    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&, const DateComponents& dateForReadOnlyField) OVERRIDE FINAL;
+    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) OVERRIDE FINAL;
 };
 
 class DateTimeWeekFieldElement : public DateTimeNumericFieldElement {
@@ -174,7 +174,7 @@
     // DateTimeFieldElement functions.
     virtual void populateDateTimeFieldsState(DateTimeFieldsState&) OVERRIDE FINAL;
     virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
-    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&, const DateComponents& dateForReadOnlyField) OVERRIDE FINAL;
+    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) OVERRIDE FINAL;
 };
 
 class DateTimeYearFieldElement : public DateTimeNumericFieldElement {
@@ -205,7 +205,7 @@
     // DateTimeFieldElement functions.
     virtual void populateDateTimeFieldsState(DateTimeFieldsState&) OVERRIDE FINAL;
     virtual void setValueAsDate(const DateComponents&) OVERRIDE FINAL;
-    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&, const DateComponents& dateForReadOnlyField) OVERRIDE FINAL;
+    virtual void setValueAsDateTimeFieldsState(const DateTimeFieldsState&) OVERRIDE FINAL;
 
     // DateTimeNumericFieldElement functions.
     virtual int clampValueForHardLimits(int) const OVERRIDE FINAL;

Modified: trunk/Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp (134238 => 134239)


--- trunk/Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp	2012-11-12 15:27:24 UTC (rev 134238)
+++ trunk/Source/WebCore/html/shadow/DateTimeNumericFieldElement.cpp	2012-11-12 15:38:31 UTC (rev 134239)
@@ -160,14 +160,12 @@
     return m_range.minimum;
 }
 
-void DateTimeNumericFieldElement::setEmptyValue(const DateComponents& dateForReadOnlyField, EventBehavior eventBehavior)
+void DateTimeNumericFieldElement::setEmptyValue(EventBehavior eventBehavior)
 {
     m_lastDigitCharTime = 0;
 
-    if (isReadOnly()) {
-        setValueAsDate(dateForReadOnlyField);
+    if (isReadOnly())
         return;
-    }
 
     m_hasValue = false;
     m_value = 0;

Modified: trunk/Source/WebCore/html/shadow/DateTimeNumericFieldElement.h (134238 => 134239)


--- trunk/Source/WebCore/html/shadow/DateTimeNumericFieldElement.h	2012-11-12 15:27:24 UTC (rev 134238)
+++ trunk/Source/WebCore/html/shadow/DateTimeNumericFieldElement.h	2012-11-12 15:38:31 UTC (rev 134239)
@@ -62,7 +62,7 @@
     // DateTimeFieldElement functions.
     virtual bool hasValue() const OVERRIDE FINAL;
     virtual int maximum() const OVERRIDE FINAL;
-    virtual void setEmptyValue(const DateComponents& dateForReadOnlyField, EventBehavior = DispatchNoEvent) OVERRIDE FINAL;
+    virtual void setEmptyValue(EventBehavior = DispatchNoEvent) OVERRIDE FINAL;
     virtual void setValueAsInteger(int, EventBehavior = DispatchNoEvent) OVERRIDE;
     virtual int valueAsInteger() const OVERRIDE;
     virtual String visibleValue() const OVERRIDE FINAL;

Modified: trunk/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.cpp (134238 => 134239)


--- trunk/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.cpp	2012-11-12 15:27:24 UTC (rev 134238)
+++ trunk/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.cpp	2012-11-12 15:38:31 UTC (rev 134239)
@@ -105,7 +105,7 @@
     return 1;
 }
 
-void DateTimeSymbolicFieldElement::setEmptyValue(const DateComponents&, EventBehavior eventBehavior)
+void DateTimeSymbolicFieldElement::setEmptyValue(EventBehavior eventBehavior)
 {
     m_selectedIndex = invalidIndex;
     updateVisibleValue(eventBehavior);

Modified: trunk/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.h (134238 => 134239)


--- trunk/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.h	2012-11-12 15:27:24 UTC (rev 134238)
+++ trunk/Source/WebCore/html/shadow/DateTimeSymbolicFieldElement.h	2012-11-12 15:38:31 UTC (rev 134239)
@@ -40,7 +40,7 @@
     DateTimeSymbolicFieldElement(Document*, FieldOwner&, const Vector<String>&);
     size_t symbolsSize() const { return m_symbols.size(); }
     virtual bool hasValue() const OVERRIDE FINAL;
-    virtual void setEmptyValue(const DateComponents& dateForReadOnlyField, EventBehavior = DispatchNoEvent) OVERRIDE FINAL;
+    virtual void setEmptyValue(EventBehavior = DispatchNoEvent) OVERRIDE FINAL;
     virtual void setValueAsInteger(int, EventBehavior = DispatchNoEvent) OVERRIDE FINAL;
     virtual int valueAsInteger() const OVERRIDE FINAL;
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to