Initial support for HTMLMeterElement
https://bugs.webkit.org/show_bug.cgi?id=38140
Reviewed by Kent Tamura.
WebCore:
This patch adds support for HTMLMeterElement, including default rendering
of the meter element. That is because some platforms do not have a native gauge.
The feature is turned on only for the Qt platform.
Tests: fast/dom/HTMLMeterElement/meter-element.html
fast/dom/HTMLMeterElement/set-meter-properties.html
* DerivedSources.cpp:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gypi:
* WebCore.pri:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSValueKeywords.in:
* css/html.css:
(meter):
(meter::-webkit-meter):
* html/HTMLAttributeNames.in:
* html/HTMLElement.cpp:
(WebCore::inlineTagList):
* html/HTMLElementsAllInOne.cpp:
* html/HTMLMeterElement.cpp: Added.
(WebCore::HTMLMeterElement::HTMLMeterElement):
(WebCore::HTMLMeterElement::create):
(WebCore::HTMLMeterElement::createRenderer):
(WebCore::HTMLMeterElement::formControlType):
(WebCore::HTMLMeterElement::parseMappedAttribute):
(WebCore::HTMLMeterElement::min):
(WebCore::HTMLMeterElement::setMin):
(WebCore::HTMLMeterElement::max):
(WebCore::HTMLMeterElement::setMax):
(WebCore::HTMLMeterElement::value):
(WebCore::HTMLMeterElement::setValue):
(WebCore::HTMLMeterElement::low):
(WebCore::HTMLMeterElement::setLow):
(WebCore::HTMLMeterElement::high):
(WebCore::HTMLMeterElement::setHigh):
(WebCore::HTMLMeterElement::optimum):
(WebCore::HTMLMeterElement::setOptimum):
* html/HTMLMeterElement.h: Added.
(WebCore::HTMLMeterElement::recalcWillValidate):
* html/HTMLMeterElement.idl: Added.
* html/HTMLTagNames.in:
* page/DOMWindow.idl:
* platform/ThemeTypes.h:
* rendering/RenderMeter.cpp: Added.
(WebCore::RenderMeter::RenderMeter):
(WebCore::RenderMeter::layout):
(WebCore::RenderMeter::updateFromElement):
* rendering/RenderMeter.h: Added.
(WebCore::RenderMeter::renderName):
(WebCore::RenderMeter::isMeter):
(WebCore::toRenderMeter):
* rendering/RenderObject.h:
(WebCore::RenderObject::isMeter):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::adjustMeterStyle):
(WebCore::RenderTheme::paintMeter):
* rendering/RenderTheme.h:
LayoutTests:
* fast/dom/HTMLMeterElement: Added.
* fast/dom/HTMLMeterElement/meter-element.html: Added.
* fast/dom/HTMLMeterElement/script-tests: Added.
* fast/dom/HTMLMeterElement/script-tests/TEMPLATE.html: Added.
* fast/dom/HTMLMeterElement/script-tests/set-meter-properties.js: Added.
* fast/dom/HTMLMeterElement/set-meter-properties-expected.txt: Added.
* fast/dom/HTMLMeterElement/set-meter-properties.html: Added.
* platform/chromium/test_expectations.txt:
* platform/gtk/Skipped:
* platform/mac/Skipped:
* platform/qt/fast/dom/HTMLMeterElement: Added.
* platform/qt/fast/dom/HTMLMeterElement/meter-element-expected.checksum: Added.
* platform/qt/fast/dom/HTMLMeterElement/meter-element-expected.png: Added.
* platform/qt/fast/dom/HTMLMeterElement/meter-element-expected.txt: Added.
* platform/win/Skipped:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@59541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
39 files changed