Changeset 59541 in webkit
- Timestamp:
- May 15, 2010 9:41:06 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 16 added
- 26 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r59540 r59541 1 2010-05-15 Yael Aharon <yael.aharon@nokia.com> 2 3 Reviewed by Kent Tamura. 4 5 Initial support for HTMLMeterElement 6 https://bugs.webkit.org/show_bug.cgi?id=38140 7 8 * fast/dom/HTMLMeterElement: Added. 9 * fast/dom/HTMLMeterElement/meter-element.html: Added. 10 * fast/dom/HTMLMeterElement/script-tests: Added. 11 * fast/dom/HTMLMeterElement/script-tests/TEMPLATE.html: Added. 12 * fast/dom/HTMLMeterElement/script-tests/set-meter-properties.js: Added. 13 * fast/dom/HTMLMeterElement/set-meter-properties-expected.txt: Added. 14 * fast/dom/HTMLMeterElement/set-meter-properties.html: Added. 15 * platform/chromium/test_expectations.txt: 16 * platform/gtk/Skipped: 17 * platform/mac/Skipped: 18 * platform/qt/fast/dom/HTMLMeterElement: Added. 19 * platform/qt/fast/dom/HTMLMeterElement/meter-element-expected.checksum: Added. 20 * platform/qt/fast/dom/HTMLMeterElement/meter-element-expected.png: Added. 21 * platform/qt/fast/dom/HTMLMeterElement/meter-element-expected.txt: Added. 22 * platform/win/Skipped: 23 1 24 2010-05-15 Eric Uhrhane <ericu@chromium.org> 2 25 -
trunk/LayoutTests/platform/chromium/test_expectations.txt
r59446 r59541 2627 2627 BUG38227 SKIP : fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html = FAIL 2628 2628 2629 // HTMLMeterElement related tests deferred due to https://bugs.webkit.org/show_bug.cgi?id=37074. 2630 BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-element.html = MISSING 2631 BUGWK37074 DEFER : fast/dom/HTMLMeterElement/set-meter-properties.html = TEXT 2632 2629 2633 // WebKit roll 56004 -> 56026 2630 2634 BUG38278 : fast/events/continuous-platform-wheelevent-in-scrolling-div.html = TIMEOUT -
trunk/LayoutTests/platform/gtk/Skipped
r59535 r59541 5715 5715 fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html 5716 5716 5717 # meter element is not supported 5718 fast/dom/HTMLMeterElement/meter-element.html 5719 fast/dom/HTMLMeterElement/set-meter-properties.html 5720 5717 5721 # Needs mock support, and build slave Geolocation service 5718 5722 # See https://bugs.webkit.org/show_bug.cgi?id=36053 -
trunk/LayoutTests/platform/mac/Skipped
r59142 r59541 143 143 fast/dom/HTMLProgressElement/progress-element.html 144 144 145 # meter element is not supported 146 fast/dom/HTMLMeterElement/meter-element.html 147 fast/dom/HTMLMeterElement/set-meter-properties.html 148 145 149 # event.dataTransfer.setData('text/uri-list') not correctly implemented on Mac 146 150 editing/pasteboard/dataTransfer-setData-getData.html -
trunk/LayoutTests/platform/win/Skipped
r59203 r59541 835 835 fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html 836 836 837 # meter element is not supported 838 fast/dom/HTMLMeterElement/meter-element.html 839 fast/dom/HTMLMeterElement/set-meter-properties.html 840 837 841 # No Widgets 1.0 support 838 842 fast/media/media-feature-wgt-view-mode.html -
trunk/WebCore/ChangeLog
r59540 r59541 1 2010-05-15 Yael Aharon <yael.aharon@nokia.com> 2 3 Reviewed by Kent Tamura. 4 5 Initial support for HTMLMeterElement 6 https://bugs.webkit.org/show_bug.cgi?id=38140 7 8 This patch adds support for HTMLMeterElement, including default rendering 9 of the meter element. That is because some platforms do not have a native gauge. 10 The feature is turned on only for the Qt platform. 11 12 Tests: fast/dom/HTMLMeterElement/meter-element.html 13 fast/dom/HTMLMeterElement/set-meter-properties.html 14 15 * DerivedSources.cpp: 16 * DerivedSources.make: 17 * GNUmakefile.am: 18 * WebCore.gypi: 19 * WebCore.pri: 20 * WebCore.pro: 21 * WebCore.vcproj/WebCore.vcproj: 22 * css/CSSPrimitiveValueMappings.h: 23 (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): 24 * css/CSSValueKeywords.in: 25 * css/html.css: 26 (meter): 27 (meter::-webkit-meter): 28 * html/HTMLAttributeNames.in: 29 * html/HTMLElement.cpp: 30 (WebCore::inlineTagList): 31 * html/HTMLElementsAllInOne.cpp: 32 * html/HTMLMeterElement.cpp: Added. 33 (WebCore::HTMLMeterElement::HTMLMeterElement): 34 (WebCore::HTMLMeterElement::create): 35 (WebCore::HTMLMeterElement::createRenderer): 36 (WebCore::HTMLMeterElement::formControlType): 37 (WebCore::HTMLMeterElement::parseMappedAttribute): 38 (WebCore::HTMLMeterElement::min): 39 (WebCore::HTMLMeterElement::setMin): 40 (WebCore::HTMLMeterElement::max): 41 (WebCore::HTMLMeterElement::setMax): 42 (WebCore::HTMLMeterElement::value): 43 (WebCore::HTMLMeterElement::setValue): 44 (WebCore::HTMLMeterElement::low): 45 (WebCore::HTMLMeterElement::setLow): 46 (WebCore::HTMLMeterElement::high): 47 (WebCore::HTMLMeterElement::setHigh): 48 (WebCore::HTMLMeterElement::optimum): 49 (WebCore::HTMLMeterElement::setOptimum): 50 * html/HTMLMeterElement.h: Added. 51 (WebCore::HTMLMeterElement::recalcWillValidate): 52 * html/HTMLMeterElement.idl: Added. 53 * html/HTMLTagNames.in: 54 * page/DOMWindow.idl: 55 * platform/ThemeTypes.h: 56 * rendering/RenderMeter.cpp: Added. 57 (WebCore::RenderMeter::RenderMeter): 58 (WebCore::RenderMeter::layout): 59 (WebCore::RenderMeter::updateFromElement): 60 * rendering/RenderMeter.h: Added. 61 (WebCore::RenderMeter::renderName): 62 (WebCore::RenderMeter::isMeter): 63 (WebCore::toRenderMeter): 64 * rendering/RenderObject.h: 65 (WebCore::RenderObject::isMeter): 66 * rendering/RenderTheme.cpp: 67 (WebCore::RenderTheme::adjustStyle): 68 (WebCore::RenderTheme::paint): 69 (WebCore::RenderTheme::paintBorderOnly): 70 (WebCore::RenderTheme::paintDecorations): 71 (WebCore::RenderTheme::adjustMeterStyle): 72 (WebCore::RenderTheme::paintMeter): 73 * rendering/RenderTheme.h: 74 1 75 2010-05-15 Eric Uhrhane <ericu@chromium.org> 2 76 -
trunk/WebCore/DerivedSources.cpp
r59162 r59541 141 141 #include "JSHTMLMenuElement.cpp" 142 142 #include "JSHTMLMetaElement.cpp" 143 #include "JSHTMLMeterElement.cpp" 143 144 #include "JSHTMLModElement.cpp" 144 145 #include "JSHTMLObjectElement.cpp" -
trunk/WebCore/DerivedSources.make
r59499 r59541 183 183 HTMLMenuElement \ 184 184 HTMLMetaElement \ 185 HTMLMeterElement \ 185 186 HTMLModElement \ 186 187 HTMLOListElement \ … … 645 646 endif 646 647 648 ifeq ($(findstring ENABLE_METER_TAG,$(FEATURE_DEFINES)), ENABLE_METER_TAG) 649 HTML_FLAGS := $(HTML_FLAGS) ENABLE_METER_TAG=1 650 endif 651 647 652 ifeq ($(findstring ENABLE_PROGRESS_TAG,$(FEATURE_DEFINES)), ENABLE_PROGRESS_TAG) 648 653 HTML_FLAGS := $(HTML_FLAGS) ENABLE_PROGRESS_TAG=1 -
trunk/WebCore/GNUmakefile.am
r59526 r59541 245 245 WebCore/html/HTMLMenuElement.idl \ 246 246 WebCore/html/HTMLMetaElement.idl \ 247 WebCore/html/HTMLMeterElement.idl \ 247 248 WebCore/html/HTMLModElement.idl \ 248 249 WebCore/html/HTMLOListElement.idl \ … … 1168 1169 WebCore/html/HTMLMetaElement.cpp \ 1169 1170 WebCore/html/HTMLMetaElement.h \ 1171 WebCore/html/HTMLMeterElement.cpp \ 1172 WebCore/html/HTMLMeterElement.h \ 1170 1173 WebCore/html/HTMLModElement.cpp \ 1171 1174 WebCore/html/HTMLModElement.h \ … … 1901 1904 WebCore/rendering/RenderMenuList.cpp \ 1902 1905 WebCore/rendering/RenderMenuList.h \ 1906 WebCore/rendering/RenderMeter.cpp \ 1907 WebCore/rendering/RenderMeter.h \ 1903 1908 WebCore/rendering/RenderObject.cpp \ 1904 1909 WebCore/rendering/RenderObject.h \ … … 2246 2251 webcore_cppflags += \ 2247 2252 -DENABLE_DATAGRID=0 2253 2254 # ---- 2255 # HTML Meter Element - disable for now. 2256 # ---- 2257 FEATURE_DEFINES += ENABLE_METER_TAG=0 2258 2259 webcore_cppflags += \ 2260 -DENABLE_METER_TAG=0 2248 2261 2249 2262 # ---- -
trunk/WebCore/WebCore.gypi
r59499 r59541 159 159 'html/HTMLMenuElement.idl', 160 160 'html/HTMLMetaElement.idl', 161 'html/HTMLMeterElement.idl', 161 162 'html/HTMLModElement.idl', 162 163 'html/HTMLOListElement.idl', … … 1561 1562 'html/HTMLMetaElement.cpp', 1562 1563 'html/HTMLMetaElement.h', 1564 'html/HTMLMeterElement.cpp', 1565 'html/HTMLMeterElement.h', 1563 1566 'html/HTMLModElement.cpp', 1564 1567 'html/HTMLModElement.h', … … 3138 3141 'rendering/RenderMenuList.cpp', 3139 3142 'rendering/RenderMenuList.h', 3143 'rendering/RenderMeter.cpp', 3144 'rendering/RenderMeter.h', 3140 3145 'rendering/RenderObject.cpp', 3141 3146 'rendering/RenderObject.h', -
trunk/WebCore/WebCore.pri
r59499 r59541 59 59 !contains(DEFINES, ENABLE_RUBY=.): DEFINES += ENABLE_RUBY=1 60 60 !contains(DEFINES, ENABLE_SANDBOX=.): DEFINES += ENABLE_SANDBOX=1 61 !contains(DEFINES, ENABLE_METER_TAG=.): DEFINES += ENABLE_METER_TAG=1 61 62 !contains(DEFINES, ENABLE_PROGRESS_TAG=.): DEFINES += ENABLE_PROGRESS_TAG=1 62 63 !contains(DEFINES, ENABLE_BLOB_SLICE=.): DEFINES += ENABLE_BLOB_SLICE=0 … … 164 165 contains(DEFINES, ENABLE_TILED_BACKING_STORE=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_TILED_BACKING_STORE=1 165 166 contains(DEFINES, ENABLE_NOTIFICATIONS=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_NOTIFICATIONS=1 167 contains(DEFINES, ENABLE_METER_TAG=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_METER_TAG=1 166 168 contains(DEFINES, ENABLE_PROGRESS_TAG=1): FEATURE_DEFINES_JAVASCRIPT += ENABLE_PROGRESS_TAG=1 167 169 … … 378 380 html/HTMLMenuElement.idl \ 379 381 html/HTMLMetaElement.idl \ 382 html/HTMLMeterElement.idl \ 380 383 html/HTMLModElement.idl \ 381 384 html/HTMLObjectElement.idl \ -
trunk/WebCore/WebCore.pro
r59526 r59541 656 656 html/HTMLMenuElement.cpp \ 657 657 html/HTMLMetaElement.cpp \ 658 html/HTMLMeterElement.cpp \ 658 659 html/HTMLModElement.cpp \ 659 660 html/HTMLNameCollection.cpp \ … … 937 938 rendering/RenderMarquee.cpp \ 938 939 rendering/RenderMenuList.cpp \ 940 rendering/RenderMeter.cpp \ 939 941 rendering/RenderObject.cpp \ 940 942 rendering/RenderObjectChildList.cpp \ … … 1377 1379 html/HTMLMenuElement.h \ 1378 1380 html/HTMLMetaElement.h \ 1381 html/HTMLMeterElement.h \ 1379 1382 html/HTMLModElement.h \ 1380 1383 html/HTMLNameCollection.h \ … … 1716 1719 rendering/RenderMedia.h \ 1717 1720 rendering/RenderMenuList.h \ 1721 rendering/RenderMeter.h \ 1718 1722 rendering/RenderObjectChildList.h \ 1719 1723 rendering/RenderObject.h \ -
trunk/WebCore/WebCore.vcproj/WebCore.vcproj
r59526 r59541 6566 6566 </File> 6567 6567 <File 6568 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMeterElement.cpp" 6569 > 6570 <FileConfiguration 6571 Name="Debug|Win32" 6572 ExcludedFromBuild="true" 6573 > 6574 <Tool 6575 Name="VCCLCompilerTool" 6576 /> 6577 </FileConfiguration> 6578 <FileConfiguration 6579 Name="Release|Win32" 6580 ExcludedFromBuild="true" 6581 > 6582 <Tool 6583 Name="VCCLCompilerTool" 6584 /> 6585 </FileConfiguration> 6586 <FileConfiguration 6587 Name="Debug_Internal|Win32" 6588 ExcludedFromBuild="true" 6589 > 6590 <Tool 6591 Name="VCCLCompilerTool" 6592 /> 6593 </FileConfiguration> 6594 <FileConfiguration 6595 Name="Debug_Cairo|Win32" 6596 ExcludedFromBuild="true" 6597 > 6598 <Tool 6599 Name="VCCLCompilerTool" 6600 /> 6601 </FileConfiguration> 6602 <FileConfiguration 6603 Name="Release_Cairo|Win32" 6604 ExcludedFromBuild="true" 6605 > 6606 <Tool 6607 Name="VCCLCompilerTool" 6608 /> 6609 </FileConfiguration> 6610 <FileConfiguration 6611 Name="Debug_All|Win32" 6612 ExcludedFromBuild="true" 6613 > 6614 <Tool 6615 Name="VCCLCompilerTool" 6616 /> 6617 </FileConfiguration> 6618 </File> 6619 <File 6620 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSHTMLMeterElement.h" 6621 > 6622 </File> 6623 <File 6568 6624 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSHTMLModElement.cpp" 6569 6625 > … … 27982 28038 </File> 27983 28039 <File 28040 RelativePath="..\rendering\RenderMeter.cpp" 28041 > 28042 </File> 28043 <File 28044 RelativePath="..\rendering\RenderMeter.h" 28045 > 28046 </File> 28047 <File 27984 28048 RelativePath="..\rendering\RenderObject.cpp" 27985 28049 > … … 33311 33375 <File 33312 33376 RelativePath="..\html\HTMLMetaElement.h" 33377 > 33378 </File> 33379 <File 33380 RelativePath="..\html\HTMLMeterElement.cpp" 33381 > 33382 <FileConfiguration 33383 Name="Debug|Win32" 33384 ExcludedFromBuild="true" 33385 > 33386 <Tool 33387 Name="VCCLCompilerTool" 33388 /> 33389 </FileConfiguration> 33390 <FileConfiguration 33391 Name="Release|Win32" 33392 ExcludedFromBuild="true" 33393 > 33394 <Tool 33395 Name="VCCLCompilerTool" 33396 /> 33397 </FileConfiguration> 33398 <FileConfiguration 33399 Name="Debug_Internal|Win32" 33400 ExcludedFromBuild="true" 33401 > 33402 <Tool 33403 Name="VCCLCompilerTool" 33404 /> 33405 </FileConfiguration> 33406 <FileConfiguration 33407 Name="Debug_Cairo|Win32" 33408 ExcludedFromBuild="true" 33409 > 33410 <Tool 33411 Name="VCCLCompilerTool" 33412 /> 33413 </FileConfiguration> 33414 <FileConfiguration 33415 Name="Release_Cairo|Win32" 33416 ExcludedFromBuild="true" 33417 > 33418 <Tool 33419 Name="VCCLCompilerTool" 33420 /> 33421 </FileConfiguration> 33422 <FileConfiguration 33423 Name="Debug_All|Win32" 33424 ExcludedFromBuild="true" 33425 > 33426 <Tool 33427 Name="VCCLCompilerTool" 33428 /> 33429 </FileConfiguration> 33430 </File> 33431 <File 33432 RelativePath="..\html\HTMLMeterElement.h" 33313 33433 > 33314 33434 </File> -
trunk/WebCore/WebCore.xcodeproj/project.pbxproj
r59526 r59541 2572 2572 A43BF59C1149292800C643CA /* RenderProgress.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A43BF59A1149292800C643CA /* RenderProgress.cpp */; }; 2573 2573 A43BF59D1149292800C643CA /* RenderProgress.h in Headers */ = {isa = PBXBuildFile; fileRef = A43BF59B1149292800C643CA /* RenderProgress.h */; }; 2574 A454424A119B3661009BE912 /* HTMLMeterElement.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A4544248119B3661009BE912 /* HTMLMeterElement.cpp */; }; 2575 A454424B119B3661009BE912 /* HTMLMeterElement.h in Headers */ = {isa = PBXBuildFile; fileRef = A4544249119B3661009BE912 /* HTMLMeterElement.h */; }; 2576 A454424E119B3687009BE912 /* RenderMeter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A454424C119B3687009BE912 /* RenderMeter.cpp */; }; 2577 A454424F119B3687009BE912 /* RenderMeter.h in Headers */ = {isa = PBXBuildFile; fileRef = A454424D119B3687009BE912 /* RenderMeter.h */; }; 2574 2578 A513B3D7114B1666001C429B /* KeyEventCocoa.h in Headers */ = {isa = PBXBuildFile; fileRef = A5C974CF11485FF10066F2AB /* KeyEventCocoa.h */; }; 2575 2579 A513B3D8114B166A001C429B /* KeyEventCocoa.mm in Sources */ = {isa = PBXBuildFile; fileRef = A5C974D011485FF10066F2AB /* KeyEventCocoa.mm */; }; … … 8097 8101 A43BF59A1149292800C643CA /* RenderProgress.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderProgress.cpp; sourceTree = "<group>"; }; 8098 8102 A43BF59B1149292800C643CA /* RenderProgress.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderProgress.h; sourceTree = "<group>"; }; 8103 A4544248119B3661009BE912 /* HTMLMeterElement.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = HTMLMeterElement.cpp; sourceTree = "<group>"; }; 8104 A4544249119B3661009BE912 /* HTMLMeterElement.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HTMLMeterElement.h; sourceTree = "<group>"; }; 8105 A454424C119B3687009BE912 /* RenderMeter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderMeter.cpp; sourceTree = "<group>"; }; 8106 A454424D119B3687009BE912 /* RenderMeter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderMeter.h; sourceTree = "<group>"; }; 8099 8107 A59E3C1C11580F510072928E /* KeyEventCodesIPhone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = KeyEventCodesIPhone.h; path = iphone/KeyEventCodesIPhone.h; sourceTree = "<group>"; }; 8100 8108 A59E3C1D11580F510072928E /* KeyEventIPhone.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = KeyEventIPhone.mm; path = iphone/KeyEventIPhone.mm; sourceTree = "<group>"; }; … … 13398 13406 A871DC180A15205700B12A68 /* HTMLMetaElement.h */, 13399 13407 A80E79FC0A19C307007FB8C5 /* HTMLMetaElement.idl */, 13408 A4544248119B3661009BE912 /* HTMLMeterElement.cpp */, 13409 A4544249119B3661009BE912 /* HTMLMeterElement.h */, 13400 13410 A8CFF79F0A156978000A4234 /* HTMLModElement.cpp */, 13401 13411 A8CFF79D0A156978000A4234 /* HTMLModElement.h */, … … 16165 16175 ABDDFE730A5C6E6F00A3E11D /* RenderMenuList.cpp */, 16166 16176 ABDDFE740A5C6E7000A3E11D /* RenderMenuList.h */, 16177 A454424C119B3687009BE912 /* RenderMeter.cpp */, 16178 A454424D119B3687009BE912 /* RenderMeter.h */, 16167 16179 BCEA4840097D93020094C9E4 /* RenderObject.cpp */, 16168 16180 BCEA4841097D93020094C9E4 /* RenderObject.h */, … … 19170 19182 2E94F4511192096A00B7F75D /* FileReader.h in Headers */, 19171 19183 E440A2D71191A523000820B0 /* SVGFELighting.h in Headers */, 19184 A454424B119B3661009BE912 /* HTMLMeterElement.h in Headers */, 19185 A454424F119B3687009BE912 /* RenderMeter.h in Headers */, 19172 19186 B5B5DC6A119BB3D5002A8790 /* AbstractDatabase.h in Headers */, 19173 19187 4FD8D0F3119C718B002FA825 /* ScriptGCEvent.h in Headers */, … … 21440 21454 2E94F4501192096400B7F75D /* FileReader.cpp in Sources */, 21441 21455 E440A2D51191A50B000820B0 /* SVGFELighting.cpp in Sources */, 21456 A454424A119B3661009BE912 /* HTMLMeterElement.cpp in Sources */, 21457 A454424E119B3687009BE912 /* RenderMeter.cpp in Sources */, 21442 21458 B5B5DC69119BB3D5002A8790 /* AbstractDatabase.cpp in Sources */, 21443 21459 4FD8D0F2119C718B002FA825 /* ScriptGCEvent.cpp in Sources */, -
trunk/WebCore/css/CSSPrimitiveValueMappings.h
r59386 r59541 276 276 m_value.ident = CSSValueMenulistTextfield; 277 277 break; 278 case MeterPart: 279 m_value.ident = CSSValueMeter; 280 break; 278 281 case OuterSpinButtonPart: 279 282 m_value.ident = CSSValueOuterSpinButton; -
trunk/WebCore/css/CSSValueKeywords.in
r58384 r59541 590 590 menulist-text 591 591 menulist-textfield 592 meter 592 593 outer-spin-button 593 594 progress-bar -
trunk/WebCore/css/html.css
r58564 r59541 518 518 } 519 519 520 /* meter */ 521 522 meter { 523 -webkit-appearance: meter; 524 display: inline-block; 525 height: 1em; 526 width: 5em; 527 vertical-align: -0.2em; 528 } 529 530 meter::-webkit-meter { 531 -webkit-appearance: meter; 532 } 533 520 534 /* progress */ 521 535 -
trunk/WebCore/html/HTMLAttributeNames.in
r56402 r59541 99 99 height 100 100 hidden 101 high 101 102 href 102 103 hreflang … … 116 117 longdesc 117 118 loop 119 low 118 120 playcount 119 121 loopend … … 220 222 onwebkitendfullscreen 221 223 onwebkittransitionend 224 optimum 222 225 pattern 223 226 placeholder -
trunk/WebCore/html/HTMLElement.cpp
r58914 r59541 862 862 tagList.add(progressTag.localName().impl()); 863 863 #endif 864 tagList.add(meterTag.localName().impl()); 864 865 } 865 866 return &tagList; -
trunk/WebCore/html/HTMLElementsAllInOne.cpp
r55980 r59541 78 78 #include "HTMLMenuElement.cpp" 79 79 #include "HTMLMetaElement.cpp" 80 #include "HTMLMeterElement.cpp" 80 81 #include "HTMLModElement.cpp" 81 82 #include "HTMLOListElement.cpp" -
trunk/WebCore/html/HTMLTagNames.in
r55980 r59541 78 78 menu createWithNew 79 79 meta createWithNew 80 meter interfaceName=HTMLMeterElement, conditional=METER_TAG 80 81 nav interfaceName=HTMLElement 81 82 nobr interfaceName=HTMLElement -
trunk/WebCore/page/DOMWindow.idl
r59499 r59541 413 413 attribute HTMLMenuElementConstructor HTMLMenuElement; 414 414 attribute HTMLMetaElementConstructor HTMLMetaElement; 415 #if defined(ENABLE_METER_TAG) && ENABLE_METER_TAG 416 attribute HTMLMeterElementConstructor HTMLMeterElement; 417 #endif 415 418 attribute HTMLModElementConstructor HTMLModElement; 416 419 attribute HTMLOListElementConstructor HTMLOListElement; -
trunk/WebCore/platform/ThemeTypes.h
r58228 r59541 53 53 MediaSliderPart, MediaSliderThumbPart, MediaVolumeSliderContainerPart, MediaVolumeSliderPart, MediaVolumeSliderThumbPart, 54 54 MediaControlsBackgroundPart, MediaCurrentTimePart, MediaTimeRemainingPart, 55 MenulistPart, MenulistButtonPart, MenulistTextPart, MenulistTextFieldPart, OuterSpinButtonPart, ProgressBarPart, ProgressBarValuePart,55 MenulistPart, MenulistButtonPart, MenulistTextPart, MenulistTextFieldPart, MeterPart, OuterSpinButtonPart, ProgressBarPart, ProgressBarValuePart, 56 56 SliderHorizontalPart, SliderVerticalPart, SliderThumbHorizontalPart, 57 57 SliderThumbVerticalPart, CaretPart, SearchFieldPart, SearchFieldDecorationPart, -
trunk/WebCore/rendering/RenderObject.h
r58570 r59541 277 277 virtual bool isMedia() const { return false; } 278 278 virtual bool isMenuList() const { return false; } 279 #if ENABLE(METER_TAG) 280 virtual bool isMeter() const { return false; } 281 #endif 279 282 #if ENABLE(PROGRESS_TAG) 280 283 virtual bool isProgress() const { return false; } -
trunk/WebCore/rendering/RenderTheme.cpp
r58564 r59541 25 25 #include "CSSValueKeywords.h" 26 26 #include "Document.h" 27 #include "FloatConversion.h" 27 28 #include "FocusController.h" 28 29 #include "FontSelector.h" … … 38 39 #include "Settings.h" 39 40 #include "TextControlInnerElements.h" 41 42 #if ENABLE(METER_TAG) 43 #include "HTMLMeterElement.h" 44 #include "RenderMeter.h" 45 #endif 40 46 41 47 // The methods in this file are shared by all themes on every platform. … … 215 221 return adjustProgressBarStyle(selector, style, e); 216 222 #endif 223 #if ENABLE(Meter_TAG) 224 case MeterPart: 225 return adjustMeterStyle(selector, style, e); 226 #endif 217 227 default: 218 228 break; … … 273 283 case MenulistPart: 274 284 return paintMenuList(o, paintInfo, r); 285 #if ENABLE(METER_TAG) 286 case MeterPart: 287 return paintMeter(o, paintInfo, r); 288 #endif 275 289 #if ENABLE(PROGRESS_TAG) 276 290 case ProgressBarPart: … … 367 381 case ButtonPart: 368 382 case MenulistPart: 383 #if ENABLE(METER_TAG) 384 case MeterPart: 385 #endif 369 386 #if ENABLE(PROGRESS_TAG) 370 387 case ProgressBarPart: … … 405 422 case ButtonPart: 406 423 case MenulistPart: 424 #if ENABLE(METER_TAG) 425 case MeterPart: 426 #endif 407 427 #if ENABLE(PROGRESS_TAG) 408 428 case ProgressBarPart: … … 867 887 { 868 888 } 889 890 #if ENABLE(METER_TAG) 891 void RenderTheme::adjustMeterStyle(CSSStyleSelector*, RenderStyle* style, Element*) const 892 { 893 style->setBoxShadow(0); 894 } 895 896 bool RenderTheme::paintMeter(RenderObject* renderObject, const RenderObject::PaintInfo& paintInfo, const IntRect& rect) 897 { 898 // Some platforms do not have a native gauge widget, so we draw here a default implementation. 899 RenderMeter* renderMeter = toRenderMeter(renderObject); 900 RenderStyle* style = renderObject->style(); 901 int left = style->borderLeft().width() + style->paddingLeft().value(); 902 int top = style->borderTop().width() + style->paddingTop().value(); 903 int right = style->borderRight().width() + style->paddingRight().value(); 904 int bottom = style->borderBottom().width() + style->paddingBottom().value(); 905 FloatRect innerRect(rect.x() + left, rect.y() + top, rect.width() - left - right, rect.height() - top - bottom); 906 907 HTMLMeterElement* element = static_cast<HTMLMeterElement*>(renderMeter->node()); 908 double min = element->min(); 909 double max = element->max(); 910 double value = element->value(); 911 912 if (min >= max) { 913 paintInfo.context->fillRect(innerRect, Color::black, style->colorSpace()); 914 return false; 915 } 916 917 // Paint the background first 918 paintInfo.context->fillRect(innerRect, Color::lightGray, style->colorSpace()); 919 920 FloatRect valueRect; 921 922 if (rect.width() < rect.height()) { 923 // Vertical gauge 924 double scale = innerRect.height() / (max - min); 925 valueRect.setLocation(FloatPoint(innerRect.x(), innerRect.y() + narrowPrecisionToFloat((max - value) * scale))); 926 valueRect.setSize(FloatSize(innerRect.width(), narrowPrecisionToFloat((value - min) * scale))); 927 } else if (renderMeter->style()->direction() == RTL) { 928 // right to left horizontal gauge 929 double scale = innerRect.width() / (max - min); 930 valueRect.setLocation(FloatPoint(innerRect.x() + narrowPrecisionToFloat((max - value) * scale), innerRect.y())); 931 valueRect.setSize(FloatSize(narrowPrecisionToFloat((value - min) * scale), innerRect.height())); 932 } else { 933 // left to right horizontal gauge 934 double scale = innerRect.width() / (max - min); 935 valueRect.setLocation(innerRect.location()); 936 valueRect.setSize(FloatSize(narrowPrecisionToFloat((value - min)) * scale, innerRect.height())); 937 } 938 if (!valueRect.isEmpty()) 939 paintInfo.context->fillRect(valueRect, Color::black, style->colorSpace()); 940 941 return false; 942 } 943 #endif 869 944 870 945 #if ENABLE(PROGRESS_TAG) -
trunk/WebCore/rendering/RenderTheme.h
r58564 r59541 237 237 virtual void adjustMenuListButtonStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 238 238 virtual bool paintMenuListButton(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) { return true; } 239 240 #if ENABLE(METER_TAG) 241 virtual void adjustMeterStyle(CSSStyleSelector*, RenderStyle*, Element*) const; 242 virtual bool paintMeter(RenderObject*, const RenderObject::PaintInfo&, const IntRect&); 243 #endif 239 244 240 245 #if ENABLE(PROGRESS_TAG)
Note: See TracChangeset
for help on using the changeset viewer.