INPUT_MULTIPLE_FIELDS_UI: Use disabled attribute internally instead of readonly attribute
https://bugs.webkit.org/show_bug.cgi?id=108911

Reviewed by Kentaro Hara.

Source/WebCore:

Use 'disabled' attribute for shadow elements for <input> with
multiple-fields UI instead of 'readonly' attribute because 'readonly'
attribute represents focusable-but-non-editable state in HTML though
we'd like to represent non-focusable-and-non-editable state.

The summary of changes:
- Use 'disabled' attribute instead of 'readonly' attribute for DateTimeFieldElement,
- Rename C++ functions for it,
- Call isFocusable instead of isReadOnly to check focusable state.

No new tests. This doesn't make user-visible behavior changes.

* css/html.css:
Replace [readonly] with [disabled] for sub-fields.
* html/shadow/DateTimeEditElement.cpp:
(DateTimeEditBuilder):
(WebCore::DateTimeEditBuilder::visitField):
(WebCore::DateTimeEditBuilder::shouldDayOfMonthFieldDisabled):
(WebCore::DateTimeEditBuilder::shouldHourFieldDisabled):
(WebCore::DateTimeEditBuilder::shouldMillisecondFieldDisabled):
(WebCore::DateTimeEditBuilder::shouldMinuteFieldDisabled):
(WebCore::DateTimeEditBuilder::shouldSecondFieldDisabled):
(WebCore::DateTimeEditBuilder::shouldYearFieldDisabled):
(WebCore::DateTimeEditElement::anyEditableFieldsHaveValues):
(WebCore::DateTimeEditElement::focusOnNextField): Use isFocusable.
(WebCore::DateTimeEditElement::focusOnPreviousField): Use isFocusable.
* html/shadow/DateTimeFieldElement.cpp:
(WebCore::DateTimeFieldElement::isFocusable):
(WebCore::DateTimeFieldElement::isDisabled):
(WebCore::DateTimeFieldElement::setDisabled):
* html/shadow/DateTimeFieldElement.h:
(DateTimeFieldElement): Make isFocusable public in order that
DateTimeEditElement can call it.
* html/shadow/DateTimeNumericFieldElement.cpp:
(WebCore::DateTimeNumericFieldElement::handleKeyboardEvent):
(WebCore::DateTimeNumericFieldElement::setEmptyValue):
* html/shadow/DateTimeSymbolicFieldElement.cpp:
(WebCore::DateTimeSymbolicFieldElement::setEmptyValue):

LayoutTests:

* fast/forms/date-multiple-fields/date-multiple-fields-readonly-subfield.html:
* fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-readonly-subfield.html:
* fast/forms/month-multiple-fields/month-multiple-fields-readonly-subfield.html:
* fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html:
* fast/forms/week-multiple-fields/week-multiple-fields-readonly-subfield.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141866 268f45cc-cd09-0410-ab3c-d52691b4dbfc