Changeset 61376 in webkit
- Timestamp:
- Jun 17, 2010 10:13:19 PM (14 years ago)
- Location:
- trunk
- Files:
-
- 8 added
- 31 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r61375 r61376 1 2010-06-15 MORITA Hajime <morrita@google.com> 2 3 Reviewed by Kent Tamura. 4 5 <meter> should allow styling for each gauge-level and component 6 https://bugs.webkit.org/show_bug.cgi?id=40280 7 8 - Updated expectations because both rendering result, render tree structure, 9 html.css was changed. 10 11 * fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html: Added. 12 * fast/dom/HTMLMeterElement/meter-styles.html: Added. 13 * platform/chromium/test_expectations.txt: 14 * platform/gtk/Skipped: 15 * platform/mac/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.checksum: 16 * platform/mac/fast/dom/HTMLMeterElement/meter-element-expected.checksum: 17 * platform/mac/fast/dom/HTMLMeterElement/meter-element-expected.png: 18 * platform/mac/fast/dom/HTMLMeterElement/meter-element-expected.txt: 19 * platform/mac/fast/dom/HTMLMeterElement/meter-optimums-expected.checksum: 20 * platform/mac/fast/dom/HTMLMeterElement/meter-optimums-expected.png: 21 * platform/mac/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.checksum: Added. 22 * platform/mac/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.png: Added. 23 * platform/mac/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt: Added. 24 * platform/mac/fast/dom/HTMLMeterElement/meter-styles-expected.checksum: Added. 25 * platform/mac/fast/dom/HTMLMeterElement/meter-styles-expected.png: Added. 26 * platform/mac/fast/dom/HTMLMeterElement/meter-styles-expected.txt: Added. 27 * platform/win/Skipped: 28 1 29 2010-06-17 Fumitoshi Ukai <ukai@chromium.org> 2 30 -
trunk/LayoutTests/platform/chromium/test_expectations.txt
r61373 r61376 2633 2633 2634 2634 // HTMLMeterElement related tests deferred due to https://bugs.webkit.org/show_bug.cgi?id=37074. 2635 BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-element.html = IMAGE+TEXT2635 BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-element.html = FAIL 2636 2636 BUGWK37074 DEFER : fast/dom/HTMLMeterElement/set-meter-properties.html = TEXT 2637 BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-appearances-capacity.html = IMAGE+TEXT 2638 BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html = IMAGE+TEXT 2639 BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-optimums.html = IMAGE+TEXT 2637 BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-appearances-capacity.html = FAIL 2638 BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html = FAIL 2639 BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-optimums.html = FAIL 2640 BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-styles.html = MISSING 2641 BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html = MISSING 2640 2642 2641 2643 // WebKit roll 56004 -> 56026 -
trunk/LayoutTests/platform/gtk/Skipped
r61367 r61376 5693 5693 fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html 5694 5694 fast/dom/HTMLMeterElement/meter-optimums.html 5695 fast/dom/HTMLMeterElement/meter-styles.html 5696 fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html 5695 5697 5696 5698 # Needs mock support, and build slave Geolocation service -
trunk/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.checksum
r60822 r61376 1 46e2fa5e215820fcbb9e81907bd5ceae 1 82e1e45c173e18f3f49c5ca3df13e498 -
trunk/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-element-expected.checksum
r60822 r61376 1 ee9e030a1b605ca2c030bfee694bf9f6 1 c93f96f488bc2787690a58735a062310 -
trunk/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-element-expected.txt
r60822 r61376 7 7 RenderText {#text} at (0,0) size 0x0 8 8 RenderMeter {METER} at (80,0) size 10x60 9 RenderText {#text} at (0,0) size 0x0 9 RenderBlock (anonymous) at (0,0) size 0x0 10 RenderText {#text} at (0,0) size 0x0 11 RenderBlock {DIV} at (0,0) size 10x60 12 RenderBlock {DIV} at (0,18) size 10x42 10 13 RenderText {#text} at (0,0) size 0x0 -
trunk/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-optimums-expected.checksum
r60822 r61376 1 851e15761e9707f58957d7cc99012925 1 0ff14a0a3109816415cd6312a9f8a898 -
trunk/LayoutTests/platform/win/Skipped
r61232 r61376 841 841 fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html 842 842 fast/dom/HTMLMeterElement/meter-optimums.html 843 fast/dom/HTMLMeterElement/meter-styles.html 844 fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html 843 845 844 846 # No Widgets 1.0 support -
trunk/WebCore/CMakeLists.txt
r61323 r61376 1299 1299 rendering/RenderImage.cpp 1300 1300 rendering/RenderImageGeneratedContent.cpp 1301 rendering/RenderIndicator.cpp 1301 1302 rendering/RenderInline.cpp 1302 1303 rendering/RenderLayer.cpp -
trunk/WebCore/ChangeLog
r61375 r61376 1 2010-06-16 MORITA Hajime <morrita@google.com> 2 3 Reviewed by Kent Tamura. 4 5 <meter> should allow styling for each gauge-level and component 6 https://bugs.webkit.org/show_bug.cgi?id=40280 7 8 - Introduced following new pseudo classes for <meter> element. 9 10 - -webkit-meter-horizontal-bar 11 - -webkit-meter-vertical-bar 12 - -webkit-meter-horizontal-optimum-value 13 - -webkit-meter-vertical-optimum-value 14 - -webkit-meter-horizontal-suboptimal-value 15 - -webkit-meter-vertical-suboptimal-value 16 - -webkit-meter-horizontal-even-less-good-value 17 - -webkit-meter-vertical-even-less-good-value 18 19 - Introduced 2 shadow nodes for RenderMeter to handle CSS styling. 20 one for bar part and another for value part. 21 - Removed RenderTheme::paintMeter() implementation because it can be 22 handled by styled painting without RenderTheme. 23 - Pulled RenderIndicator up to super class from RenderProgress, 24 then make RenderMeter a subclass of it. 25 - Moved shadow related methods from RenderProgress to ShadowBlockElement 26 to share it with RenderMeter. 27 - Added rules for html.css for new pseudo classes. 28 29 Tests: fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html 30 fast/dom/HTMLMeterElement/meter-styles.html 31 32 * CMakeLists.txt: 33 * GNUmakefile.am: 34 * WebCore.gypi: 35 * WebCore.pro: 36 * WebCore.vcproj/WebCore.vcproj: 37 * WebCore.xcodeproj/project.pbxproj: 38 * css/CSSSelector.cpp: 39 (WebCore::CSSSelector::pseudoId): 40 (WebCore::nameToPseudoTypeMap): 41 (WebCore::CSSSelector::extractPseudoType): 42 * css/CSSSelector.h: 43 (WebCore::CSSSelector::): 44 * css/html.css: 45 (meter::-webkit-meter-horizontal-bar): 46 (meter::-webkit-meter-vertical-bar): 47 (meter::-webkit-meter-horizontal-optimum-value): 48 (meter::-webkit-meter-horizontal-suboptimal-value): 49 (meter::-webkit-meter-horizontal-even-less-good-value): 50 (meter::-webkit-meter-vertical-optimum-value): 51 (meter::-webkit-meter-vertical-suboptimal-value): 52 (meter::-webkit-meter-vertical-even-less-good-value): 53 * rendering/RenderIndicator.cpp: Added. 54 (WebCore::RenderIndicator::RenderIndicator): 55 (WebCore::RenderIndicator::~RenderIndicator): 56 (WebCore::RenderIndicator::layout): 57 (WebCore::RenderIndicator::styleDidChange): 58 (WebCore::RenderIndicator::updateFromElement): 59 (WebCore::RenderIndicator::hasParts): 60 (WebCore::RenderIndicator::requestLayoutForParts): 61 * rendering/RenderIndicator.h: Added. 62 (WebCore::RenderIndicator::requiresForcedStyleRecalcPropagation): 63 * rendering/RenderMeter.cpp: 64 (WebCore::RenderMeter::RenderMeter): 65 (WebCore::RenderMeter::~RenderMeter): 66 (WebCore::RenderMeter::layoutParts): Added. 67 (WebCore::RenderMeter::shouldHaveParts): Added. 68 (WebCore::RenderMeter::valueRatio): Added. 69 (WebCore::RenderMeter::barPartRect): Added. 70 (WebCore::RenderMeter::valuePartRect): Added. 71 (WebCore::RenderMeter::isHorizontal): Added. 72 (WebCore::RenderMeter::valuePseudoId): Added. 73 (WebCore::RenderMeter::barPseudoId): Added. 74 (WebCore::RenderMeter::updatePartsState): Added. 75 * rendering/RenderMeter.h: 76 * rendering/RenderProgress.cpp: 77 (WebCore::RenderProgress::RenderProgress): 78 (WebCore::RenderProgress::updateFromElement): 79 (WebCore::RenderProgress::paint): 80 (WebCore::RenderProgress::layoutParts): Added. 81 (WebCore::RenderProgress::shouldHaveParts): Added. 82 (WebCore::RenderProgress::updatePartsState): 83 (WebCore::RenderProgress::valuePartRect): 84 * rendering/RenderProgress.h: 85 * rendering/RenderTheme.cpp: 86 (WebCore::RenderTheme::isControlStyled): 87 (WebCore::RenderTheme::paintMeter): 88 * rendering/RenderTheme.h: 89 (WebCore::RenderTheme::supportsMeter): Added. 90 * rendering/RenderThemeMac.h: 91 * rendering/RenderThemeMac.mm: 92 (WebCore::RenderThemeMac::supportsMeter): Added. 93 * rendering/ShadowElement.cpp: 94 (WebCore::ShadowBlockElement::layoutAsPart): Added. 95 (WebCore::ShadowBlockElement::updateStyleForPart): Added. 96 (WebCore::ShadowBlockElement::createForPart): Added. 97 (WebCore::ShadowBlockElement::createStyleForPart): Added. 98 (WebCore::ShadowBlockElement::partShouldHaveStyle): Added. 99 * rendering/ShadowElement.h: 100 * rendering/style/RenderStyleConstants.h: 101 (WebCore::): 102 1 103 2010-06-17 Fumitoshi Ukai <ukai@chromium.org> 2 104 -
trunk/WebCore/GNUmakefile.am
r61366 r61376 1934 1934 WebCore/rendering/RenderImageGeneratedContent.cpp \ 1935 1935 WebCore/rendering/RenderImageGeneratedContent.h \ 1936 WebCore/rendering/RenderIndicator.cpp \ 1937 WebCore/rendering/RenderIndicator.h \ 1936 1938 WebCore/rendering/RenderInline.cpp \ 1937 1939 WebCore/rendering/RenderInline.h \ -
trunk/WebCore/WebCore.gypi
r61366 r61376 3155 3155 'rendering/RenderImageGeneratedContent.cpp', 3156 3156 'rendering/RenderImageGeneratedContent.h', 3157 'rendering/RenderIndicator.cpp', 3158 'rendering/RenderIndicator.h', 3157 3159 'rendering/RenderInline.cpp', 3158 3160 'rendering/RenderInline.h', -
trunk/WebCore/WebCore.pro
r61366 r61376 950 950 rendering/RenderImage.cpp \ 951 951 rendering/RenderImageGeneratedContent.cpp \ 952 rendering/RenderIndicator.cpp \ 952 953 rendering/RenderInline.cpp \ 953 954 rendering/RenderLayer.cpp \ … … 1733 1734 rendering/RenderImageGeneratedContent.h \ 1734 1735 rendering/RenderImage.h \ 1736 rendering/RenderIndicator.h \ 1735 1737 rendering/RenderInline.h \ 1736 1738 rendering/RenderLayer.h \ -
trunk/WebCore/WebCore.vcproj/WebCore.vcproj
r61366 r61376 28166 28166 </File> 28167 28167 <File 28168 RelativePath="..\rendering\RenderIndicator.cpp" 28169 > 28170 </File> 28171 <File 28172 RelativePath="..\rendering\RenderIndicator.h" 28173 > 28174 </File> 28175 <File 28168 28176 RelativePath="..\rendering\RenderInline.cpp" 28169 28177 > -
trunk/WebCore/WebCore.xcodeproj/project.pbxproj
r61366 r61376 2621 2621 A795463E0B5C4C80007B438F /* DragDataMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = A795463D0B5C4C80007B438F /* DragDataMac.mm */; }; 2622 2622 A79546430B5C4CB4007B438F /* DragData.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A79546420B5C4CB4007B438F /* DragData.cpp */; }; 2623 A7AA66D611C5ED6A001D8C8C /* RenderIndicator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7AA66D411C5ED6A001D8C8C /* RenderIndicator.cpp */; }; 2624 A7AA66D711C5ED6A001D8C8C /* RenderIndicator.h in Headers */ = {isa = PBXBuildFile; fileRef = A7AA66D511C5ED6A001D8C8C /* RenderIndicator.h */; }; 2623 2625 A7AD2F870EC89D07008AB002 /* LinkHash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7AD2F850EC89D07008AB002 /* LinkHash.cpp */; }; 2624 2626 A7AD2F880EC89D07008AB002 /* LinkHash.h in Headers */ = {isa = PBXBuildFile; fileRef = A7AD2F860EC89D07008AB002 /* LinkHash.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 8209 8211 A795463D0B5C4C80007B438F /* DragDataMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DragDataMac.mm; sourceTree = "<group>"; }; 8210 8212 A79546420B5C4CB4007B438F /* DragData.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DragData.cpp; sourceTree = "<group>"; }; 8213 A7AA66D411C5ED6A001D8C8C /* RenderIndicator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderIndicator.cpp; sourceTree = "<group>"; }; 8214 A7AA66D511C5ED6A001D8C8C /* RenderIndicator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderIndicator.h; sourceTree = "<group>"; }; 8211 8215 A7AD2F850EC89D07008AB002 /* LinkHash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LinkHash.cpp; sourceTree = "<group>"; }; 8212 8216 A7AD2F860EC89D07008AB002 /* LinkHash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinkHash.h; sourceTree = "<group>"; }; … … 11024 11028 isa = PBXGroup; 11025 11029 children = ( 11026 81CC114011BEAA9D00D0D856 /* IDBKeyRange.idl */,11027 816C806611BE887E009A45E9 /* IDBKeyRange.cpp */,11028 816C806711BE887E009A45E9 /* IDBKeyRange.h */,11029 B6B0540711B68F10002564C5 /* IDBObjectStoreImpl.cpp */,11030 B6B0540811B68F10002564C5 /* IDBObjectStoreImpl.h */,11031 B6693EEF11AD63F6003F2770 /* IDBObjectStoreRequest.idl */,11032 B6693EE811AD63E6003F2770 /* IDBObjectStore.h */,11033 B6693EE911AD63E6003F2770 /* IDBObjectStoreRequest.cpp */,11034 B6693EEA11AD63E6003F2770 /* IDBObjectStoreRequest.h */,11035 11030 B5B5DC67119BB3D5002A8790 /* AbstractDatabase.cpp */, 11036 11031 B5B5DC68119BB3D5002A8790 /* AbstractDatabase.h */, … … 11081 11076 C51DA9A311AEF2C1009799C5 /* IDBIndexRequest.h */, 11082 11077 C51DA9A411AEF2C1009799C5 /* IDBIndexRequest.idl */, 11078 816C806611BE887E009A45E9 /* IDBKeyRange.cpp */, 11079 816C806711BE887E009A45E9 /* IDBKeyRange.h */, 11080 81CC114011BEAA9D00D0D856 /* IDBKeyRange.idl */, 11081 B6693EE811AD63E6003F2770 /* IDBObjectStore.h */, 11083 11082 B6693EE811AD63E6003F2770 /* IDBObjectStore.h */, 11084 11083 B6B0540711B68F10002564C5 /* IDBObjectStoreImpl.cpp */, 11084 B6B0540711B68F10002564C5 /* IDBObjectStoreImpl.cpp */, 11085 B6B0540811B68F10002564C5 /* IDBObjectStoreImpl.h */, 11085 11086 B6B0540811B68F10002564C5 /* IDBObjectStoreImpl.h */, 11086 11087 B6693EE911AD63E6003F2770 /* IDBObjectStoreRequest.cpp */, 11088 B6693EE911AD63E6003F2770 /* IDBObjectStoreRequest.cpp */, 11087 11089 B6693EEA11AD63E6003F2770 /* IDBObjectStoreRequest.h */, 11090 B6693EEA11AD63E6003F2770 /* IDBObjectStoreRequest.h */, 11091 B6693EEF11AD63F6003F2770 /* IDBObjectStoreRequest.idl */, 11088 11092 B6693EEF11AD63F6003F2770 /* IDBObjectStoreRequest.idl */, 11089 11093 C5198F421192ECFD002B74A6 /* IDBRequest.cpp */, … … 11823 11827 isa = PBXGroup; 11824 11828 children = ( 11825 E41EA0391198374900710BC5 /* CSSValueKeywords.cpp */, 11826 E41EA038119836DB00710BC5 /* CSSPropertyNames.cpp */, 11827 E406F4021198329A009D59D6 /* HTMLEntityNames.cpp */, 11829 656581AC09D14EE6000E61D7 /* CharsetData.cpp */, 11828 11830 E406F3FB1198307D009D59D6 /* ColorData.cpp */, 11829 E406F3FA1198304D009D59D6 /* DocTypeStrings.cpp */,11830 656581AC09D14EE6000E61D7 /* CharsetData.cpp */,11831 11831 6565814409D13043000E61D7 /* CSSGrammar.cpp */, 11832 11832 650F53DB09D15DDA00C9B0C8 /* CSSGrammar.h */, 11833 E41EA038119836DB00710BC5 /* CSSPropertyNames.cpp */, 11833 11834 656580EE09D12B20000E61D7 /* CSSPropertyNames.gperf */, 11834 11835 656580EF09D12B20000E61D7 /* CSSPropertyNames.h */, 11836 E41EA0391198374900710BC5 /* CSSValueKeywords.cpp */, 11835 11837 6565814709D13043000E61D7 /* CSSValueKeywords.gperf */, 11836 11838 6565814809D13043000E61D7 /* CSSValueKeywords.h */, 11839 E406F3FA1198304D009D59D6 /* DocTypeStrings.cpp */, 11837 11840 A17C81200F2A5CF7005DAAEB /* HTMLElementFactory.cpp */, 11838 11841 A17C81210F2A5CF7005DAAEB /* HTMLElementFactory.h */, 11842 E406F4021198329A009D59D6 /* HTMLEntityNames.cpp */, 11839 11843 A8D06B380A265DCD005E7203 /* HTMLNames.cpp */, 11840 11844 A8D06B370A265DCD005E7203 /* HTMLNames.h */, … … 13390 13394 93C441EE0F813A1A00C1A634 /* CollectionCache.h */, 13391 13395 93C441FF0F813AE100C1A634 /* CollectionType.h */, 13396 976E2BA511CAE4DE006C56A0 /* CSSPreloadScanner.cpp */, 13397 976E2BA611CAE4DE006C56A0 /* CSSPreloadScanner.h */, 13392 13398 BC77D2380FF298080070887B /* DataGridColumn.cpp */, 13393 13399 BC77CFC10FF175550070887B /* DataGridColumn.h */, … … 13404 13410 2ED609BB1145B07100C8684E /* DOMFormData.h */, 13405 13411 2E0888C3114883A900AF4265 /* DOMFormData.idl */, 13406 976E2BA511CAE4DE006C56A0 /* CSSPreloadScanner.cpp */,13407 976E2BA611CAE4DE006C56A0 /* CSSPreloadScanner.h */,13408 13412 BCDBB8CC0E08958400C60FF6 /* File.cpp */, 13409 13413 BCDBB8CB0E08958400C60FF6 /* File.h */, … … 13427 13431 A8136D370973A8E700D74463 /* FormDataList.cpp */, 13428 13432 A8136D360973A8E700D74463 /* FormDataList.h */, 13433 A871038811A2947000DBD50E /* HTML5DocumentParser.cpp */, 13434 A871038911A2947000DBD50E /* HTML5DocumentParser.h */, 13429 13435 976E895E11C0CA3A00EA9CA9 /* HTML5EntityParser.cpp */, 13430 13436 976E895F11C0CA3A00EA9CA9 /* HTML5EntityParser.h */, … … 13437 13443 A87F163411AE841300CBB2E5 /* HTML5ScriptRunnerHost.h */, 13438 13444 97E8B3C211A2890800169409 /* HTML5Token.h */, 13439 A871038811A2947000DBD50E /* HTML5DocumentParser.cpp */,13440 A871038911A2947000DBD50E /* HTML5DocumentParser.h */,13441 13445 A879C62311A9D1F70059237A /* HTML5TreeBuilder.cpp */, 13442 13446 A879C62411A9D1F70059237A /* HTML5TreeBuilder.h */, … … 13508 13512 F523D23C02DE4396018635CA /* HTMLDocument.h */, 13509 13513 1A494E290A12354300FDAFC1 /* HTMLDocument.idl */, 13514 F523D25202DE4396018635CA /* HTMLDocumentParser.cpp */, 13515 F523D25302DE4396018635CA /* HTMLDocumentParser.h */, 13510 13516 F523D23E02DE4396018635CA /* HTMLElement.cpp */, 13511 13517 F523D23F02DE4396018635CA /* HTMLElement.h */, … … 13623 13629 A871D44E0A127CBC00B12A68 /* HTMLParamElement.h */, 13624 13630 1AE2AB720A1CE81500B42B25 /* HTMLParamElement.idl */, 13625 F523D25002DE4396018635CA /* LegacyHTMLTreeConstructor.cpp */,13626 F523D25102DE4396018635CA /* LegacyHTMLTreeConstructor.h */,13627 13631 BC588B4A0BFA723C00EE679E /* HTMLParserErrorCodes.cpp */, 13628 13632 BC588AEF0BFA6CF900EE679E /* HTMLParserErrorCodes.h */, … … 13682 13686 A871DC1C0A15205700B12A68 /* HTMLTitleElement.h */, 13683 13687 A80E7AAE0A19D1F1007FB8C5 /* HTMLTitleElement.idl */, 13684 F523D25202DE4396018635CA /* HTMLDocumentParser.cpp */,13685 F523D25302DE4396018635CA /* HTMLDocumentParser.h */,13686 13688 A8EA79E70A1916DF00A8EF5F /* HTMLUListElement.cpp */, 13687 13689 A8EA79E60A1916DF00A8EF5F /* HTMLUListElement.h */, … … 13699 13701 A456FA2411AD4A830020B420 /* LabelsNodeList.cpp */, 13700 13702 A456FA2511AD4A830020B420 /* LabelsNodeList.h */, 13703 F523D25002DE4396018635CA /* LegacyHTMLTreeConstructor.cpp */, 13704 F523D25102DE4396018635CA /* LegacyHTMLTreeConstructor.h */, 13701 13705 E446139B0CD6331000FADA75 /* MediaError.h */, 13702 13706 E446139C0CD6331000FADA75 /* MediaError.idl */, … … 14470 14474 C5BBC9CE11AEF838007C2BFE /* JSIDBIndexRequest.cpp */, 14471 14475 C5BBC9CF11AEF838007C2BFE /* JSIDBIndexRequest.h */, 14476 816C80B011BE9934009A45E9 /* JSIDBKeyRange.cpp */, 14477 816C80AE11BE990D009A45E9 /* JSIDBKeyRange.h */, 14472 14478 B6693EF011AD6486003F2770 /* JSIDBObjectStoreRequest.cpp */, 14473 14479 B6693EF111AD6486003F2770 /* JSIDBObjectStoreRequest.h */, … … 14502 14508 51E0BAE80DA55D4A00A9E417 /* JSStorageEvent.cpp */, 14503 14509 51E0BAE90DA55D4A00A9E417 /* JSStorageEvent.h */, 14504 816C80AE11BE990D009A45E9 /* JSIDBKeyRange.h */,14505 816C80B011BE9934009A45E9 /* JSIDBKeyRange.cpp */,14506 14510 ); 14507 14511 name = Storage; … … 16353 16357 BCB4F8920DB28E530039139B /* RenderImageGeneratedContent.cpp */, 16354 16358 BCB4F88F0DB28DD60039139B /* RenderImageGeneratedContent.h */, 16359 A7AA66D411C5ED6A001D8C8C /* RenderIndicator.cpp */, 16360 A7AA66D511C5ED6A001D8C8C /* RenderIndicator.h */, 16355 16361 BCEA4838097D93020094C9E4 /* RenderInline.cpp */, 16356 16362 BCEA4839097D93020094C9E4 /* RenderInline.h */, … … 16607 16613 1A494ED50A123F1A00FDAFC1 /* DocumentFragment.idl */, 16608 16614 ED2BA83B09A24B91006C0AC4 /* DocumentMarker.h */, 16615 BCCFBAE70B5152ED0001F1D7 /* DocumentParser.h */, 16609 16616 A8185F3209765765005826D9 /* DocumentType.cpp */, 16610 16617 A8185F3109765765005826D9 /* DocumentType.h */, … … 16759 16766 933A142D0B7D188600A53FFD /* TextEvent.h */, 16760 16767 933A142C0B7D188600A53FFD /* TextEvent.idl */, 16761 BCCFBAE70B5152ED0001F1D7 /* DocumentParser.h */,16762 16768 5DB1BC6810715A6400EFAA49 /* TransformSource.h */, 16763 16769 5DB1BC6910715A6400EFAA49 /* TransformSourceLibxslt.cpp */, … … 17030 17036 BC772B3E0C4EA91E0083285F /* CSSParser.h in Headers */, 17031 17037 BC02A4B70E0997B9004B6D2B /* CSSParserValues.h in Headers */, 17038 976E2BA811CAE4DE006C56A0 /* CSSPreloadScanner.h in Headers */, 17032 17039 A80E6CE60A1989CA007FB8C5 /* CSSPrimitiveValue.h in Headers */, 17033 17040 E1ED8AC30CC49BE000BFC557 /* CSSPrimitiveValueMappings.h in Headers */, … … 17094 17101 656D37360ADBA5DE00A4554D /* DocumentLoader.h in Headers */, 17095 17102 ED2BA83C09A24B91006C0AC4 /* DocumentMarker.h in Headers */, 17103 BCCFBAE80B5152ED0001F1D7 /* DocumentParser.h in Headers */, 17096 17104 0B90561A0F2578BF0095FF6A /* DocumentThreadableLoader.h in Headers */, 17097 17105 A8185F3909765766005826D9 /* DocumentType.h in Headers */, … … 17969 17977 9307F1D80AF2D59000DBA31A /* HitTestResult.h in Headers */, 17970 17978 BC3BC29C0E91AB0F00835588 /* HostWindow.h in Headers */, 17979 A871038B11A2947000DBD50E /* HTML5DocumentParser.h in Headers */, 17971 17980 976E896111C0CA3A00EA9CA9 /* HTML5EntityParser.h in Headers */, 17972 17981 97E8B35711A23CE200169409 /* HTML5Lexer.h in Headers */, 17982 97E7936611C6030900E649BC /* HTML5PreloadScanner.h in Headers */, 17973 17983 A83B3AF111ADEFF500458809 /* HTML5ScriptRunner.h in Headers */, 17974 17984 A87F163511AE841300CBB2E5 /* HTML5ScriptRunnerHost.h in Headers */, 17975 17985 97E8B3C311A2890800169409 /* HTML5Token.h in Headers */, 17976 A871038B11A2947000DBD50E /* HTML5DocumentParser.h in Headers */,17977 17986 A879C62611A9D1F70059237A /* HTML5TreeBuilder.h in Headers */, 17978 17987 BC97E23A109144950010D361 /* HTMLAllCollection.h in Headers */, … … 17998 18007 A8EA79F70A1916DF00A8EF5F /* HTMLDListElement.h in Headers */, 17999 18008 93F198E508245E59001E9ABC /* HTMLDocument.h in Headers */, 18009 93F198F008245E59001E9ABC /* HTMLDocumentParser.h in Headers */, 18000 18010 93309DE8099E64920056E581 /* htmlediting.h in Headers */, 18001 18011 93F198E608245E59001E9ABC /* HTMLElement.h in Headers */, … … 18042 18052 A8EA7CB50A192B9C00A8EF5F /* HTMLParagraphElement.h in Headers */, 18043 18053 A871D4580A127CBC00B12A68 /* HTMLParamElement.h in Headers */, 18044 93F198EF08245E59001E9ABC /* LegacyHTMLTreeConstructor.h in Headers */,18045 18054 BC588AF00BFA6CF900EE679E /* HTMLParserErrorCodes.h in Headers */, 18046 18055 449B19F50FA72ECE0015CA4A /* HTMLParserQuirks.h in Headers */, … … 18064 18073 A81369D6097374F600D74463 /* HTMLTextAreaElement.h in Headers */, 18065 18074 A871DC280A15205700B12A68 /* HTMLTitleElement.h in Headers */, 18066 93F198F008245E59001E9ABC /* HTMLDocumentParser.h in Headers */,18067 18075 A8EA79F20A1916DF00A8EF5F /* HTMLUListElement.h in Headers */, 18068 18076 E44613AB0CD6331000FADA75 /* HTMLVideoElement.h in Headers */, … … 18085 18093 C56C9163119D84E600DE4CD9 /* IDBEvent.h in Headers */, 18086 18094 C51DA9A511AEF2C1009799C5 /* IDBIndex.h in Headers */, 18095 C51DA9A511AEF2C1009799C5 /* IDBIndex.h in Headers */, 18096 C51DA9A711AEF2C1009799C5 /* IDBIndexImpl.h in Headers */, 18087 18097 C51DA9A711AEF2C1009799C5 /* IDBIndexImpl.h in Headers */, 18088 18098 C51DA9A911AEF2C1009799C5 /* IDBIndexRequest.h in Headers */, 18099 C51DA9A911AEF2C1009799C5 /* IDBIndexRequest.h in Headers */, 18100 816C806911BE887E009A45E9 /* IDBKeyRange.h in Headers */, 18101 B6693EEC11AD63E6003F2770 /* IDBObjectStore.h in Headers */, 18089 18102 B6693EEC11AD63E6003F2770 /* IDBObjectStore.h in Headers */, 18090 18103 B6B0540A11B68F10002564C5 /* IDBObjectStoreImpl.h in Headers */, 18104 B6B0540A11B68F10002564C5 /* IDBObjectStoreImpl.h in Headers */, 18105 B6693EEE11AD63E6003F2770 /* IDBObjectStoreRequest.h in Headers */, 18091 18106 B6693EEE11AD63E6003F2770 /* IDBObjectStoreRequest.h in Headers */, 18092 18107 C5198F571192ECFD002B74A6 /* IDBRequest.h in Headers */, … … 18326 18341 C56C91A3119D918100DE4CD9 /* JSIDBEvent.h in Headers */, 18327 18342 C5BBC9D111AEF838007C2BFE /* JSIDBIndexRequest.h in Headers */, 18343 C5BBC9D111AEF838007C2BFE /* JSIDBIndexRequest.h in Headers */, 18344 816C80AF11BE990D009A45E9 /* JSIDBKeyRange.h in Headers */, 18345 B6693EF311AD6486003F2770 /* JSIDBObjectStoreRequest.h in Headers */, 18328 18346 B6693EF311AD6486003F2770 /* JSIDBObjectStoreRequest.h in Headers */, 18329 18347 C5F4F40D119306AC00FDFADD /* JSIDBRequest.h in Headers */, … … 18591 18609 85EC9AFB0A71A2C600EEEAED /* Language.h in Headers */, 18592 18610 2D9066070BE141D400956998 /* LayoutState.h in Headers */, 18611 93F198EF08245E59001E9ABC /* LegacyHTMLTreeConstructor.h in Headers */, 18593 18612 512DD8F50D91E6AF000F89EE /* LegacyWebArchive.h in Headers */, 18594 18613 BCE65BEB0EACDF16007E4533 /* Length.h in Headers */, … … 18777 18796 BCEA4876097D93020094C9E4 /* RenderImage.h in Headers */, 18778 18797 BCB4F8900DB28DD60039139B /* RenderImageGeneratedContent.h in Headers */, 18798 A7AA66D711C5ED6A001D8C8C /* RenderIndicator.h in Headers */, 18779 18799 BCEA4878097D93020094C9E4 /* RenderInline.h in Headers */, 18780 18800 BCEA487A097D93020094C9E4 /* RenderLayer.h in Headers */, … … 19190 19210 B2227ACE0D00BF220071B782 /* SVGTextPathElement.h in Headers */, 19191 19211 B2227AD10D00BF220071B782 /* SVGTextPositioningElement.h in Headers */, 19212 0853D73411C9109000B2FD42 /* SVGTextQuery.h in Headers */, 19192 19213 B2227AD40D00BF220071B782 /* SVGTitleElement.h in Headers */, 19193 19214 B2227AD70D00BF220071B782 /* SVGTransform.h in Headers */, … … 19247 19268 E44613B00CD6331000FADA75 /* TimeRanges.h in Headers */, 19248 19269 49E912AE0EFAC906009D0CAF /* TimingFunction.h in Headers */, 19249 BCCFBAE80B5152ED0001F1D7 /* DocumentParser.h in Headers */,19250 19270 49E911C40EF86D47009D0CAF /* TransformationMatrix.h in Headers */, 19251 19271 49E911CE0EF86D47009D0CAF /* TransformOperation.h in Headers */, … … 19301 19321 49C7B9CF1042D32F0009D447 /* WebGLFramebuffer.h in Headers */, 19302 19322 6E47E66110B7944B00B186C8 /* WebGLGetInfo.h in Headers */, 19323 49FFBF3F11C93EE3006A7118 /* WebGLLayer.h in Headers */, 19303 19324 49C7B9D71042D32F0009D447 /* WebGLProgram.h in Headers */, 19304 19325 49C7B9DA1042D32F0009D447 /* WebGLRenderbuffer.h in Headers */, … … 19385 19406 93309E24099E64920056E581 /* WrapContentsInDummySpanCommand.h in Headers */, 19386 19407 6565820209D1508D000E61D7 /* XLinkNames.h in Headers */, 19408 93F1992108245E59001E9ABC /* XMLDocumentParser.h in Headers */, 19409 5D15E3AC0F9E6AC1009E0E3F /* XMLDocumentParserScope.h in Headers */, 19387 19410 BC772C470C4EB2C60083285F /* XMLHttpRequest.h in Headers */, 19388 19411 BC60D9C90D2A29E500B9918F /* XMLHttpRequestException.h in Headers */, … … 19393 19416 E15A36D71104572000B7B639 /* XMLNSNames.h in Headers */, 19394 19417 1ACE53EB0A8D18E70022947D /* XMLSerializer.h in Headers */, 19395 93F1992108245E59001E9ABC /* XMLDocumentParser.h in Headers */,19396 5D15E3AC0F9E6AC1009E0E3F /* XMLDocumentParserScope.h in Headers */,19397 19418 1AB7FC690A8B92EC00D9D37B /* XPathEvaluator.h in Headers */, 19398 19419 BC60DA5B0D2A31F700B9918F /* XPathException.h in Headers */, … … 19419 19440 97DD4D870FDF4D6E00ECF9A4 /* XSSAuditor.h in Headers */, 19420 19441 CE172E011136E8CE0062A533 /* ZoomMode.h in Headers */, 19421 97E7936611C6030900E649BC /* HTML5PreloadScanner.h in Headers */,19422 B6693EEC11AD63E6003F2770 /* IDBObjectStore.h in Headers */,19423 B6693EEE11AD63E6003F2770 /* IDBObjectStoreRequest.h in Headers */,19424 B6693EF311AD6486003F2770 /* JSIDBObjectStoreRequest.h in Headers */,19425 C51DA9A511AEF2C1009799C5 /* IDBIndex.h in Headers */,19426 C51DA9A711AEF2C1009799C5 /* IDBIndexImpl.h in Headers */,19427 C51DA9A911AEF2C1009799C5 /* IDBIndexRequest.h in Headers */,19428 C5BBC9D111AEF838007C2BFE /* JSIDBIndexRequest.h in Headers */,19429 B6B0540A11B68F10002564C5 /* IDBObjectStoreImpl.h in Headers */,19430 816C806911BE887E009A45E9 /* IDBKeyRange.h in Headers */,19431 816C80AF11BE990D009A45E9 /* JSIDBKeyRange.h in Headers */,19432 0853D73411C9109000B2FD42 /* SVGTextQuery.h in Headers */,19433 49FFBF3F11C93EE3006A7118 /* WebGLLayer.h in Headers */,19434 976E2BA811CAE4DE006C56A0 /* CSSPreloadScanner.h in Headers */,19435 19442 ); 19436 19443 runOnlyForDeploymentPostprocessing = 0; … … 19851 19858 BC772B3D0C4EA91E0083285F /* CSSParser.cpp in Sources */, 19852 19859 BC02A5400E099C5A004B6D2B /* CSSParserValues.cpp in Sources */, 19860 976E2BA711CAE4DE006C56A0 /* CSSPreloadScanner.cpp in Sources */, 19853 19861 A80E6D050A1989CA007FB8C5 /* CSSPrimitiveValue.cpp in Sources */, 19854 19862 A80E6CF70A1989CA007FB8C5 /* CSSProperty.cpp in Sources */, … … 20286 20294 6E21C6C01126338500A7BE02 /* GraphicsContext3D.cpp in Sources */, 20287 20295 6E21C6C21126339900A7BE02 /* GraphicsContext3DCG.cpp in Sources */, 20296 49FFBF1D11C8550E006A7118 /* GraphicsContext3DMac.mm in Sources */, 20288 20297 B2ED97710B1F55CE00257D0F /* GraphicsContextCG.cpp in Sources */, 20289 20298 B277B4040B22F37C0004BEC6 /* GraphicsContextMac.mm in Sources */, … … 20297 20306 9363B62C0F8E8FE000803810 /* HistoryPropertyList.cpp in Sources */, 20298 20307 9307F1D70AF2D59000DBA31A /* HitTestResult.cpp in Sources */, 20308 A871038A11A2947000DBD50E /* HTML5DocumentParser.cpp in Sources */, 20299 20309 976E896011C0CA3A00EA9CA9 /* HTML5EntityParser.cpp in Sources */, 20300 20310 97E8B35611A23CE200169409 /* HTML5Lexer.cpp in Sources */, 20311 97E7936511C6030900E649BC /* HTML5PreloadScanner.cpp in Sources */, 20301 20312 A83B3AF011ADEFF500458809 /* HTML5ScriptRunner.cpp in Sources */, 20302 A871038A11A2947000DBD50E /* HTML5DocumentParser.cpp in Sources */,20303 20313 A879C62511A9D1F70059237A /* HTML5TreeBuilder.cpp in Sources */, 20304 20314 BC97E23B109144950010D361 /* HTMLAllCollection.cpp in Sources */, … … 20324 20334 A8EA79F50A1916DF00A8EF5F /* HTMLDListElement.cpp in Sources */, 20325 20335 93F19A9108245E59001E9ABC /* HTMLDocument.cpp in Sources */, 20336 93F19A9C08245E59001E9ABC /* HTMLDocumentParser.cpp in Sources */, 20326 20337 93309DE7099E64920056E581 /* htmlediting.cpp in Sources */, 20327 20338 93F19A9208245E59001E9ABC /* HTMLElement.cpp in Sources */, … … 20369 20380 A8EA7CB20A192B9C00A8EF5F /* HTMLParagraphElement.cpp in Sources */, 20370 20381 A871D4590A127CBC00B12A68 /* HTMLParamElement.cpp in Sources */, 20371 93F19A9B08245E59001E9ABC /* LegacyHTMLTreeConstructor.cpp in Sources */,20372 20382 BC588B4B0BFA723C00EE679E /* HTMLParserErrorCodes.cpp in Sources */, 20373 20383 A871D4570A127CBC00B12A68 /* HTMLPlugInElement.cpp in Sources */, … … 20390 20400 A81369D7097374F600D74463 /* HTMLTextAreaElement.cpp in Sources */, 20391 20401 A871DC290A15205700B12A68 /* HTMLTitleElement.cpp in Sources */, 20392 93F19A9C08245E59001E9ABC /* HTMLDocumentParser.cpp in Sources */,20393 20402 A8EA79F30A1916DF00A8EF5F /* HTMLUListElement.cpp in Sources */, 20394 20403 E44613AA0CD6331000FADA75 /* HTMLVideoElement.cpp in Sources */, … … 20404 20413 C56C9152119D84CB00DE4CD9 /* IDBAny.cpp in Sources */, 20405 20414 B627FB2D11AD743500E97B72 /* IDBDatabaseImpl.cpp in Sources */, 20415 B627FB2D11AD743500E97B72 /* IDBDatabaseImpl.cpp in Sources */, 20406 20416 C5198F531192ECFD002B74A6 /* IDBDatabaseRequest.cpp in Sources */, 20407 20417 C56C915F119D84E600DE4CD9 /* IDBErrorEvent.cpp in Sources */, 20408 20418 C56C9162119D84E600DE4CD9 /* IDBEvent.cpp in Sources */, 20409 20419 C51DA9A611AEF2C1009799C5 /* IDBIndexImpl.cpp in Sources */, 20420 C51DA9A611AEF2C1009799C5 /* IDBIndexImpl.cpp in Sources */, 20410 20421 C51DA9A811AEF2C1009799C5 /* IDBIndexRequest.cpp in Sources */, 20422 C51DA9A811AEF2C1009799C5 /* IDBIndexRequest.cpp in Sources */, 20423 816C806811BE887E009A45E9 /* IDBKeyRange.cpp in Sources */, 20411 20424 B6B0540911B68F10002564C5 /* IDBObjectStoreImpl.cpp in Sources */, 20425 B6B0540911B68F10002564C5 /* IDBObjectStoreImpl.cpp in Sources */, 20426 B6693EED11AD63E6003F2770 /* IDBObjectStoreRequest.cpp in Sources */, 20412 20427 B6693EED11AD63E6003F2770 /* IDBObjectStoreRequest.cpp in Sources */, 20413 20428 C5198F561192ECFD002B74A6 /* IDBRequest.cpp in Sources */, … … 20476 20491 418F88040FF957AE0080F045 /* JSAbstractWorker.cpp in Sources */, 20477 20492 49EECF00105070C400099FAB /* JSArrayBuffer.cpp in Sources */, 20493 BC275CB311C5E85C00C9206C /* JSArrayBufferCustom.cpp in Sources */, 20478 20494 49EECF1B105072F300099FAB /* JSArrayBufferView.cpp in Sources */, 20479 20495 492273A31083B3B100EE5C84 /* JSArrayBufferViewCustom.cpp in Sources */, … … 20574 20590 93B70D6909EB0C7C009D8468 /* JSEventListener.cpp in Sources */, 20575 20591 E0FEF372B47C53EAC1C1FBEE /* JSEventSource.cpp in Sources */, 20592 BC275B8111C5D2B400C9206C /* JSEventSourceCustom.cpp in Sources */, 20576 20593 BC6090200E91B8EC000C68B5 /* JSEventTarget.cpp in Sources */, 20577 20594 3314ACEB10892086000F0E56 /* JSExceptionBase.cpp in Sources */, … … 20684 20701 C56C91A2119D918100DE4CD9 /* JSIDBEvent.cpp in Sources */, 20685 20702 C5BBC9D011AEF838007C2BFE /* JSIDBIndexRequest.cpp in Sources */, 20703 C5BBC9D011AEF838007C2BFE /* JSIDBIndexRequest.cpp in Sources */, 20704 816C80B111BE9934009A45E9 /* JSIDBKeyRange.cpp in Sources */, 20705 B6693EF211AD6486003F2770 /* JSIDBObjectStoreRequest.cpp in Sources */, 20686 20706 B6693EF211AD6486003F2770 /* JSIDBObjectStoreRequest.cpp in Sources */, 20687 20707 C5F4F40C119306AC00FDFADD /* JSIDBRequest.cpp in Sources */, … … 20954 20974 316FE0730E6CCBEE00BF6088 /* JSWebKitCSSKeyframesRule.cpp in Sources */, 20955 20975 4983913F0F1E767500C23782 /* JSWebKitCSSMatrix.cpp in Sources */, 20976 BC275B7D11C5D23500C9206C /* JSWebKitCSSMatrixCustom.cpp in Sources */, 20956 20977 31611E5A0E1C4DE000F6A579 /* JSWebKitCSSTransformValue.cpp in Sources */, 20957 20978 494BD79D0F55C94C00747828 /* JSWebKitPoint.cpp in Sources */, 20979 BC275B7911C5D1C300C9206C /* JSWebKitPointCustom.cpp in Sources */, 20958 20980 31C0FF3F0E4CEFAC007D6FE5 /* JSWebKitTransitionEvent.cpp in Sources */, 20959 20981 5DA5E0FC102B953800088CF9 /* JSWebSocket.cpp in Sources */, … … 20995 21017 9352084509BD43B900F2038D /* Language.mm in Sources */, 20996 21018 2D9066060BE141D400956998 /* LayoutState.cpp in Sources */, 21019 93F19A9B08245E59001E9ABC /* LegacyHTMLTreeConstructor.cpp in Sources */, 20997 21020 512DD8F40D91E6AF000F89EE /* LegacyWebArchive.cpp in Sources */, 20998 21021 51B2417B0D931F3F00E83F5C /* LegacyWebArchiveMac.mm in Sources */, … … 21151 21174 BCEA4875097D93020094C9E4 /* RenderImage.cpp in Sources */, 21152 21175 BCB4F8930DB28E530039139B /* RenderImageGeneratedContent.cpp in Sources */, 21176 A7AA66D611C5ED6A001D8C8C /* RenderIndicator.cpp in Sources */, 21153 21177 BCEA4877097D93020094C9E4 /* RenderInline.cpp in Sources */, 21154 21178 BCEA4879097D93020094C9E4 /* RenderLayer.cpp in Sources */, … … 21526 21550 B2227AC00D00BF220071B782 /* SVGSymbolElement.cpp in Sources */, 21527 21551 B2227AC40D00BF220071B782 /* SVGTests.cpp in Sources */, 21552 0853D73211C9109000B2FD42 /* SVGTextChunkLayoutInfo.cpp in Sources */, 21528 21553 B2227AC70D00BF220071B782 /* SVGTextContentElement.cpp in Sources */, 21529 21554 B2227ACA0D00BF220071B782 /* SVGTextElement.cpp in Sources */, … … 21531 21556 B2227ACD0D00BF220071B782 /* SVGTextPathElement.cpp in Sources */, 21532 21557 B2227AD00D00BF220071B782 /* SVGTextPositioningElement.cpp in Sources */, 21558 0853D73311C9109000B2FD42 /* SVGTextQuery.cpp in Sources */, 21533 21559 B2227AD30D00BF220071B782 /* SVGTitleElement.cpp in Sources */, 21534 21560 B2227AD60D00BF220071B782 /* SVGTransform.cpp in Sources */, … … 21614 21640 49C7B9CE1042D32F0009D447 /* WebGLFramebuffer.cpp in Sources */, 21615 21641 6E47E66010B7944B00B186C8 /* WebGLGetInfo.cpp in Sources */, 21642 49FFBF4011C93EE3006A7118 /* WebGLLayer.mm in Sources */, 21616 21643 49C7B9D61042D32F0009D447 /* WebGLProgram.cpp in Sources */, 21617 21644 49C7B9D91042D32F0009D447 /* WebGLRenderbuffer.cpp in Sources */, … … 21690 21717 93309E23099E64920056E581 /* WrapContentsInDummySpanCommand.cpp in Sources */, 21691 21718 A833C7CC0A2CF07400D57664 /* XLinkNames.cpp in Sources */, 21719 93F19ABC08245E59001E9ABC /* XMLDocumentParser.cpp in Sources */, 21720 54C50F7B0E801DF3009832A0 /* XMLDocumentParserLibxml2.cpp in Sources */, 21721 5D15E3AB0F9E6AC1009E0E3F /* XMLDocumentParserScope.cpp in Sources */, 21692 21722 BC772C460C4EB2C60083285F /* XMLHttpRequest.cpp in Sources */, 21693 21723 A136A00C1134DBD200CC8D50 /* XMLHttpRequestProgressEventThrottle.cpp in Sources */, … … 21696 21726 E15A36D91104572700B7B639 /* XMLNSNames.cpp in Sources */, 21697 21727 1ACE53EA0A8D18E70022947D /* XMLSerializer.cpp in Sources */, 21698 93F19ABC08245E59001E9ABC /* XMLDocumentParser.cpp in Sources */,21699 54C50F7B0E801DF3009832A0 /* XMLDocumentParserLibxml2.cpp in Sources */,21700 5D15E3AB0F9E6AC1009E0E3F /* XMLDocumentParserScope.cpp in Sources */,21701 21728 1AB7FC680A8B92EC00D9D37B /* XPathEvaluator.cpp in Sources */, 21702 21729 1AB7FC6B0A8B92EC00D9D37B /* XPathExpression.cpp in Sources */, … … 21722 21749 E1BE512D0CF6C512002EA959 /* XSLTUnicodeSort.cpp in Sources */, 21723 21750 97DD4D860FDF4D6E00ECF9A4 /* XSSAuditor.cpp in Sources */, 21724 97E7936511C6030900E649BC /* HTML5PreloadScanner.cpp in Sources */,21725 BC275B7911C5D1C300C9206C /* JSWebKitPointCustom.cpp in Sources */,21726 BC275B7D11C5D23500C9206C /* JSWebKitCSSMatrixCustom.cpp in Sources */,21727 BC275B8111C5D2B400C9206C /* JSEventSourceCustom.cpp in Sources */,21728 BC275CB311C5E85C00C9206C /* JSArrayBufferCustom.cpp in Sources */,21729 B6693EED11AD63E6003F2770 /* IDBObjectStoreRequest.cpp in Sources */,21730 B6693EF211AD6486003F2770 /* JSIDBObjectStoreRequest.cpp in Sources */,21731 B627FB2D11AD743500E97B72 /* IDBDatabaseImpl.cpp in Sources */,21732 C51DA9A611AEF2C1009799C5 /* IDBIndexImpl.cpp in Sources */,21733 C51DA9A811AEF2C1009799C5 /* IDBIndexRequest.cpp in Sources */,21734 C5BBC9D011AEF838007C2BFE /* JSIDBIndexRequest.cpp in Sources */,21735 B6B0540911B68F10002564C5 /* IDBObjectStoreImpl.cpp in Sources */,21736 816C806811BE887E009A45E9 /* IDBKeyRange.cpp in Sources */,21737 816C80B111BE9934009A45E9 /* JSIDBKeyRange.cpp in Sources */,21738 49FFBF1D11C8550E006A7118 /* GraphicsContext3DMac.mm in Sources */,21739 0853D73211C9109000B2FD42 /* SVGTextChunkLayoutInfo.cpp in Sources */,21740 0853D73311C9109000B2FD42 /* SVGTextQuery.cpp in Sources */,21741 49FFBF4011C93EE3006A7118 /* WebGLLayer.mm in Sources */,21742 976E2BA711CAE4DE006C56A0 /* CSSPreloadScanner.cpp in Sources */,21743 21751 ); 21744 21752 runOnlyForDeploymentPostprocessing = 0; -
trunk/WebCore/css/CSSSelector.cpp
r61232 r61376 175 175 return NOPSEUDO; 176 176 #endif 177 178 #if ENABLE(METER_TAG) 179 case PseudoMeterHorizontalBar: 180 return METER_HORIZONTAL_BAR; 181 case PseudoMeterHorizontalOptimum: 182 return METER_HORIZONTAL_OPTIMUM; 183 case PseudoMeterHorizontalSuboptimal: 184 return METER_HORIZONTAL_SUBOPTIMAL; 185 case PseudoMeterHorizontalEvenLessGood: 186 return METER_HORIZONTAL_EVEN_LESS_GOOD; 187 case PseudoMeterVerticalBar: 188 return METER_VERTICAL_BAR; 189 case PseudoMeterVerticalOptimum: 190 return METER_VERTICAL_OPTIMUM; 191 case PseudoMeterVerticalSuboptimal: 192 return METER_VERTICAL_SUBOPTIMAL; 193 case PseudoMeterVerticalEvenLessGood: 194 return METER_VERTICAL_EVEN_LESS_GOOD; 195 #else 196 case PseudoMeterHorizontalBar: 197 case PseudoMeterHorizontalOptimum: 198 case PseudoMeterHorizontalSuboptimal: 199 case PseudoMeterHorizontalEvenLessGood: 200 case PseudoMeterHorizontalEvenLessGood: 201 case PseudoMeterVerticalBar: 202 case PseudoMeterVerticalOptimum: 203 case PseudoMeterVerticalSuboptimal: 204 case PseudoMeterVerticalEvenLessGood: 205 ASSERT_NOT_REACHED(); 206 return NOPSEUDO; 207 #endif 208 177 209 case PseudoInputListButton: 178 210 #if ENABLE(DATALIST) … … 305 337 DEFINE_STATIC_LOCAL(AtomicString, progressBarValue, ("-webkit-progress-bar-value")); 306 338 #endif 339 340 #if ENABLE(METER_TAG) 341 DEFINE_STATIC_LOCAL(AtomicString, meterHorizontalBar, ("-webkit-meter-horizontal-bar")); 342 DEFINE_STATIC_LOCAL(AtomicString, meterHorizontalOptimumValue, ("-webkit-meter-horizontal-optimum-value")); 343 DEFINE_STATIC_LOCAL(AtomicString, meterHorizontalSuboptimalValue, ("-webkit-meter-horizontal-suboptimal-value")); 344 DEFINE_STATIC_LOCAL(AtomicString, meterHorizontalEvenLessGoodValue, ("-webkit-meter-horizontal-even-less-good-value")); 345 DEFINE_STATIC_LOCAL(AtomicString, meterVerticalBar, ("-webkit-meter-vertical-bar")); 346 DEFINE_STATIC_LOCAL(AtomicString, meterVerticalOptimumValue, ("-webkit-meter-vertical-optimum-value")); 347 DEFINE_STATIC_LOCAL(AtomicString, meterVerticalSuboptimalValue, ("-webkit-meter-vertical-suboptimal-value")); 348 DEFINE_STATIC_LOCAL(AtomicString, meterVerticalEvenLessGoodValue, ("-webkit-meter-vertical-even-less-good-value")); 349 #endif 350 307 351 DEFINE_STATIC_LOCAL(AtomicString, required, ("required")); 308 352 DEFINE_STATIC_LOCAL(AtomicString, resizer, ("-webkit-resizer")); … … 402 446 nameToPseudoType->set(progressBarValue.impl(), CSSSelector::PseudoProgressBarValue); 403 447 #endif 448 #if ENABLE(METER_TAG) 449 nameToPseudoType->set(meterHorizontalBar.impl(), CSSSelector::PseudoMeterHorizontalBar); 450 nameToPseudoType->set(meterHorizontalOptimumValue.impl(), CSSSelector::PseudoMeterHorizontalOptimum); 451 nameToPseudoType->set(meterHorizontalSuboptimalValue.impl(), CSSSelector::PseudoMeterHorizontalSuboptimal); 452 nameToPseudoType->set(meterHorizontalEvenLessGoodValue.impl(), CSSSelector::PseudoMeterHorizontalEvenLessGood); 453 nameToPseudoType->set(meterVerticalBar.impl(), CSSSelector::PseudoMeterVerticalBar); 454 nameToPseudoType->set(meterVerticalOptimumValue.impl(), CSSSelector::PseudoMeterVerticalOptimum); 455 nameToPseudoType->set(meterVerticalSuboptimalValue.impl(), CSSSelector::PseudoMeterVerticalSuboptimal); 456 nameToPseudoType->set(meterVerticalEvenLessGoodValue.impl(), CSSSelector::PseudoMeterVerticalEvenLessGood); 457 #endif 404 458 nameToPseudoType->set(root.impl(), CSSSelector::PseudoRoot); 405 459 nameToPseudoType->set(windowInactive.impl(), CSSSelector::PseudoWindowInactive); … … 484 538 case PseudoMediaControlsTimelineContainer: 485 539 case PseudoMediaControlsVolumeSliderContainer: 540 case PseudoMeterHorizontalBar: 541 case PseudoMeterHorizontalOptimum: 542 case PseudoMeterHorizontalSuboptimal: 543 case PseudoMeterHorizontalEvenLessGood: 544 case PseudoMeterVerticalBar: 545 case PseudoMeterVerticalOptimum: 546 case PseudoMeterVerticalSuboptimal: 547 case PseudoMeterVerticalEvenLessGood: 486 548 case PseudoOuterSpinButton: 487 549 case PseudoProgressBarValue: -
trunk/WebCore/css/CSSSelector.h
r61232 r61376 188 188 PseudoMediaControlsStatusDisplay, 189 189 PseudoMediaControlsFullscreenButton, 190 PseudoMeterHorizontalBar, 191 PseudoMeterVerticalBar, 192 PseudoMeterHorizontalOptimum, 193 PseudoMeterHorizontalSuboptimal, 194 PseudoMeterHorizontalEvenLessGood, 195 PseudoMeterVerticalOptimum, 196 PseudoMeterVerticalSuboptimal, 197 PseudoMeterVerticalEvenLessGood, 190 198 PseudoInputListButton, 191 199 PseudoInnerSpinButton, -
trunk/WebCore/css/html.css
r61232 r61376 532 532 } 533 533 534 meter::-webkit-meter-horizontal-bar { 535 -webkit-appearance: meter; 536 background: -webkit-gradient(linear, left top, left bottom, from(#ddd), to(#ddd), color-stop(0.20, #eee), color-stop(0.45, #ccc), color-stop(0.55, #ccc)); 537 } 538 539 meter::-webkit-meter-vertical-bar { 540 -webkit-appearance: meter; 541 background: -webkit-gradient(linear, left top, right top, from(#ddd), to(#ddd), color-stop(0.20, #eee), color-stop(0.45, #ccc), color-stop(0.55, #ccc)); 542 } 543 544 meter::-webkit-meter-horizontal-optimum-value { 545 -webkit-appearance: meter; 546 background: -webkit-gradient(linear, left top, left bottom, from(#ad7), to(#ad7), color-stop(0.20, #cea), color-stop(0.45, #7a3), color-stop(0.55, #7a3)); 547 } 548 549 meter::-webkit-meter-horizontal-suboptimal-value { 550 -webkit-appearance: meter; 551 background: -webkit-gradient(linear, left top, left bottom, from(#fe7), to(#fe7), color-stop(0.20, #ffc), color-stop(0.45, #db3), color-stop(0.55, #db3)); 552 } 553 554 meter::-webkit-meter-horizontal-even-less-good-value { 555 -webkit-appearance: meter; 556 background: -webkit-gradient(linear, left top, left bottom, from(#f77), to(#f77), color-stop(0.20, #fcc), color-stop(0.45, #d44), color-stop(0.55, #d44)); 557 } 558 559 meter::-webkit-meter-vertical-optimum-value { 560 -webkit-appearance: meter; 561 background: -webkit-gradient(linear, left top, right top, from(#ad7), to(#ad7), color-stop(0.20, #cea), color-stop(0.45, #7a3), color-stop(0.55, #7a3)); 562 } 563 564 meter::-webkit-meter-vertical-suboptimal-value { 565 -webkit-appearance: meter; 566 background: -webkit-gradient(linear, left top, right top, from(#fe7), to(#fe7), color-stop(0.20, #ffc), color-stop(0.45, #db3), color-stop(0.55, #db3)); 567 } 568 569 meter::-webkit-meter-vertical-even-less-good-value { 570 -webkit-appearance: meter; 571 background: -webkit-gradient(linear, left top, right top, from(#f77), to(#f77), color-stop(0.20, #fcc), color-stop(0.45, #d44), color-stop(0.55, #d44)); 572 } 573 534 574 /* progress */ 535 575 -
trunk/WebCore/rendering/RenderIndicator.cpp
r61375 r61376 21 21 #include "config.h" 22 22 23 #if ENABLE( METER_TAG)23 #if ENABLE(PROGRESS_TAG) || ENABLE(METER_TAG) 24 24 25 #include "Render Meter.h"25 #include "RenderIndicator.h" 26 26 27 #include "HTMLMeterElement.h"28 #include "HTMLNames.h"29 27 #include "RenderTheme.h" 30 28 … … 33 31 namespace WebCore { 34 32 35 using namespace HTMLNames; 36 37 RenderMeter::RenderMeter(HTMLMeterElement* element) 38 : RenderBlock(element) 33 RenderIndicator::RenderIndicator(Node* node) 34 : RenderBlock(node) 39 35 { 40 36 } 41 37 42 void RenderMeter::calcWidth()38 RenderIndicator::~RenderIndicator() 43 39 { 44 RenderBox::calcWidth();45 setWidth(theme()->meterSizeForBounds(this, frameRect()).width());46 40 } 47 41 48 void RenderMeter::calcHeight() 49 { 50 RenderBox::calcHeight(); 51 setHeight(theme()->meterSizeForBounds(this, frameRect()).height()); 52 } 53 54 void RenderMeter::layout() 42 void RenderIndicator::layout() 55 43 { 56 44 ASSERT(needsLayout()); 57 45 58 46 LayoutRepainter repainter(*this, checkForRepaintDuringLayout()); 59 60 47 calcWidth(); 61 48 calcHeight(); 62 63 m_overflow.clear(); 64 49 layoutParts(); 65 50 repainter.repaintAfterLayout(); 66 67 51 setNeedsLayout(false); 68 52 } 69 53 70 void Render Meter::updateFromElement()54 void RenderIndicator::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle) 71 55 { 56 RenderBlock::styleDidChange(diff, oldStyle); 57 requestLayoutForParts(); 58 } 59 60 void RenderIndicator::updateFromElement() 61 { 62 requestLayoutForParts(); 72 63 repaint(); 64 } 65 66 bool RenderIndicator::hasParts() const 67 { 68 if (RenderObject* last = lastChild()) 69 return last->isRenderBlock(); 70 return false; 71 } 72 73 void RenderIndicator::requestLayoutForParts() 74 { 75 if (shouldHaveParts() || hasParts()) 76 setNeedsLayout(true); 73 77 } 74 78 -
trunk/WebCore/rendering/RenderIndicator.h
r61375 r61376 19 19 */ 20 20 21 #ifndef Render Meter_h22 #define Render Meter_h21 #ifndef RenderIndicator_h 22 #define RenderIndicator_h 23 23 24 #if ENABLE( METER_TAG)24 #if ENABLE(PROGRESS_TAG) || ENABLE(METER_TAG) 25 25 #include "RenderBlock.h" 26 #include "RenderWidget.h"27 26 28 27 namespace WebCore { 29 28 30 class HTMLMeterElement; 29 class RenderIndicator : public RenderBlock { 30 public: 31 RenderIndicator(Node*); 32 virtual ~RenderIndicator(); 31 33 32 class RenderMeter : public RenderBlock { 33 public: 34 RenderMeter(HTMLMeterElement*); 34 protected: 35 virtual void layout(); 36 virtual void updateFromElement(); 37 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle); 38 virtual bool requiresForcedStyleRecalcPropagation() const { return true; } 39 40 virtual void layoutParts() = 0; 41 virtual bool shouldHaveParts() const = 0; 35 42 36 43 private: 37 virtual const char* renderName() const { return "RenderMeter"; } 38 virtual bool isMeter() const { return true; } 39 virtual void layout(); 40 virtual void updateFromElement(); 41 virtual void calcWidth(); 42 virtual void calcHeight(); 44 void requestLayoutForParts(); 45 bool hasParts() const; 43 46 }; 44 45 inline RenderMeter* toRenderMeter(RenderObject* object)46 {47 ASSERT(!object || object->isMeter());48 return static_cast<RenderMeter*>(object);49 }50 51 // This will catch anyone doing an unnecessary cast.52 void toRenderMeter(const RenderMeter*);53 47 54 48 } // namespace WebCore … … 56 50 #endif 57 51 58 #endif // Render Meter_h52 #endif // RenderIndicator_h 59 53 -
trunk/WebCore/rendering/RenderMeter.cpp
r61094 r61376 28 28 #include "HTMLNames.h" 29 29 #include "RenderTheme.h" 30 #include "ShadowElement.h" 30 31 31 32 using namespace std; … … 36 37 37 38 RenderMeter::RenderMeter(HTMLMeterElement* element) 38 : Render Block(element)39 : RenderIndicator(element) 39 40 { 41 } 42 43 RenderMeter::~RenderMeter() 44 { 45 if (m_valuePart) 46 m_valuePart->detach(); 47 if (m_barPart) 48 m_barPart->detach(); 40 49 } 41 50 … … 52 61 } 53 62 54 void RenderMeter::layout ()63 void RenderMeter::layoutParts() 55 64 { 56 ASSERT(needsLayout()); 57 58 LayoutRepainter repainter(*this, checkForRepaintDuringLayout()); 59 60 calcWidth(); 61 calcHeight(); 62 63 m_overflow.clear(); 64 65 repainter.repaintAfterLayout(); 66 67 setNeedsLayout(false); 65 // We refresh shadow node here because the state can depend 66 // on the frame size of this render object. 67 updatePartsState(); 68 if (m_valuePart) 69 m_valuePart->layoutAsPart(valuePartRect()); 70 if (m_barPart) 71 m_barPart->layoutAsPart(barPartRect()); 68 72 } 69 73 70 void RenderMeter::updateFromElement() 74 bool RenderMeter::shouldHaveParts() const 71 75 { 72 repaint(); 76 bool hasTheme = theme()->supportsMeter(style()->appearance(), isHorizontal()); 77 if (!hasTheme) 78 return true; 79 bool shadowsHaveStyle = ShadowBlockElement::partShouldHaveStyle(this, barPseudoId()) || ShadowBlockElement::partShouldHaveStyle(this, valuePseudoId()); 80 if (shadowsHaveStyle) 81 return true; 82 return false; 83 } 84 85 double RenderMeter::valueRatio() const 86 { 87 HTMLMeterElement* element = static_cast<HTMLMeterElement*>(node()); 88 double min = element->min(); 89 double max = element->max(); 90 double value = element->value(); 91 92 if (max <= min) 93 return 0; 94 return (value - min) / (max - min); 95 } 96 97 IntRect RenderMeter::barPartRect() const 98 { 99 return IntRect(borderLeft() + paddingLeft(), borderTop() + paddingTop(), lround(width() - borderLeft() - paddingLeft() - borderRight() - paddingRight()), height() - borderTop() - paddingTop() - borderBottom() - paddingBottom()); 100 } 101 102 IntRect RenderMeter::valuePartRect() const 103 { 104 IntRect rect = barPartRect(); 105 106 if (rect.height() <= rect.width()) { 107 int width = static_cast<int>(rect.width()*valueRatio()); 108 if (style()->direction() == RTL) { 109 rect.setX(rect.x() + (rect.width() - width)); 110 rect.setWidth(width); 111 } else 112 rect.setWidth(width); 113 } else { 114 int height = static_cast<int>(rect.height()*valueRatio()); 115 rect.setY(rect.y() + (rect.height() - height)); 116 rect.setHeight(height); 117 } 118 119 return rect; 120 } 121 122 bool RenderMeter::isHorizontal() const 123 { 124 IntRect rect = barPartRect(); 125 return rect.height() <= rect.width(); 126 } 127 128 PseudoId RenderMeter::valuePseudoId() const 129 { 130 HTMLMeterElement* element = static_cast<HTMLMeterElement*>(node()); 131 132 if (isHorizontal()) { 133 switch (element->gaugeRegion()) { 134 case HTMLMeterElement::GaugeRegionOptimum: 135 return METER_HORIZONTAL_OPTIMUM; 136 case HTMLMeterElement::GaugeRegionSuboptimal: 137 return METER_HORIZONTAL_SUBOPTIMAL; 138 case HTMLMeterElement::GaugeRegionEvenLessGood: 139 return METER_HORIZONTAL_EVEN_LESS_GOOD; 140 } 141 } else { 142 switch (element->gaugeRegion()) { 143 case HTMLMeterElement::GaugeRegionOptimum: 144 return METER_VERTICAL_OPTIMUM; 145 case HTMLMeterElement::GaugeRegionSuboptimal: 146 return METER_VERTICAL_SUBOPTIMAL; 147 case HTMLMeterElement::GaugeRegionEvenLessGood: 148 return METER_VERTICAL_EVEN_LESS_GOOD; 149 } 150 } 151 152 ASSERT_NOT_REACHED(); 153 return NOPSEUDO; 154 } 155 156 PseudoId RenderMeter::barPseudoId() const 157 { 158 return isHorizontal() ? METER_HORIZONTAL_BAR : METER_VERTICAL_BAR; 159 } 160 161 void RenderMeter::updatePartsState() 162 { 163 if (shouldHaveParts() && !m_barPart) { 164 ASSERT(!m_valuePart); 165 m_barPart = ShadowBlockElement::createForPart(this->node(), barPseudoId()); 166 addChild(m_barPart->renderer()); 167 m_valuePart = ShadowBlockElement::createForPart(this->node(), valuePseudoId()); 168 addChild(m_valuePart->renderer()); 169 } else if (!shouldHaveParts() && m_barPart) { 170 ASSERT(m_valuePart); 171 m_barPart->detach(); 172 m_barPart = 0; 173 m_valuePart->detach(); 174 m_valuePart = 0; 175 } 176 177 if (m_barPart) { 178 ASSERT(m_valuePart); 179 m_barPart->updateStyleForPart(barPseudoId()); 180 m_valuePart->updateStyleForPart(valuePseudoId()); 181 } 73 182 } 74 183 -
trunk/WebCore/rendering/RenderMeter.h
r60822 r61376 24 24 #if ENABLE(METER_TAG) 25 25 #include "RenderBlock.h" 26 #include "RenderProgress.h" 26 27 #include "RenderWidget.h" 28 27 29 28 30 namespace WebCore { 29 31 30 32 class HTMLMeterElement; 33 class ShadowBlockElement; 31 34 32 class RenderMeter : public Render Block{35 class RenderMeter : public RenderIndicator { 33 36 public: 34 37 RenderMeter(HTMLMeterElement*); 38 virtual ~RenderMeter(); 35 39 36 40 private: 37 41 virtual const char* renderName() const { return "RenderMeter"; } 38 42 virtual bool isMeter() const { return true; } 39 virtual void layout();40 virtual void updateFromElement();41 43 virtual void calcWidth(); 42 44 virtual void calcHeight(); 45 46 virtual void layoutParts(); 47 virtual bool shouldHaveParts() const; 48 49 bool isHorizontal() const; 50 void updatePartsState(); 51 IntRect valuePartRect() const; 52 PseudoId valuePseudoId() const; 53 IntRect barPartRect() const; 54 PseudoId barPseudoId() const; 55 double valueRatio() const; 56 57 RefPtr<ShadowBlockElement> m_barPart; 58 RefPtr<ShadowBlockElement> m_valuePart; 43 59 }; 44 60 -
trunk/WebCore/rendering/RenderProgress.cpp
r61293 r61376 25 25 #include "RenderProgress.h" 26 26 27 #include "HTMLNames.h" 27 28 #include "HTMLProgressElement.h" 28 29 #include "RenderTheme.h" 29 #include "RenderView.h"30 30 #include "ShadowElement.h" 31 31 #include <wtf/CurrentTime.h> … … 37 37 38 38 RenderProgress::RenderProgress(HTMLProgressElement* element) 39 : Render Block(element)39 : RenderIndicator(element) 40 40 , m_position(-1) 41 41 , m_animationStartTime(0) … … 44 44 , m_animating(false) 45 45 , m_animationTimer(this, &RenderProgress::animationTimerFired) 46 , m_valuePart(0)47 46 { 48 47 } … … 54 53 } 55 54 56 void RenderProgress::layout()57 {58 ASSERT(needsLayout());59 60 LayoutRepainter repainter(*this, checkForRepaintDuringLayout());61 62 IntSize oldSize = size();63 64 calcWidth();65 calcHeight();66 if (m_valuePart) {67 IntRect valuePartRect(borderLeft() + paddingLeft(), borderTop() + paddingTop(), lround((width() - borderLeft() - paddingLeft() - borderRight() - paddingRight()) * position()), height() - borderTop() - paddingTop() - borderBottom() - paddingBottom());68 if (style()->direction() == RTL)69 valuePartRect.setX(width() - borderRight() - paddingRight() - valuePartRect.width());70 toRenderBox(m_valuePart->renderer())->setFrameRect(valuePartRect);71 72 if (oldSize != size())73 m_valuePart->renderer()->setChildNeedsLayout(true, false);74 75 LayoutStateMaintainer statePusher(view(), this, size());76 77 IntRect oldRect = toRenderBox(m_valuePart->renderer())->frameRect();78 79 m_valuePart->renderer()->layoutIfNeeded();80 81 toRenderBox(m_valuePart->renderer())->setFrameRect(valuePartRect);82 if (m_valuePart->renderer()->checkForRepaintDuringLayout())83 m_valuePart->renderer()->repaintDuringLayoutIfMoved(oldRect);84 85 statePusher.pop();86 addOverflowFromChild(toRenderBox(m_valuePart->renderer()));87 }88 89 updateAnimationState();90 91 repainter.repaintAfterLayout();92 93 setNeedsLayout(false);94 }95 96 void RenderProgress::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)97 {98 RenderBlock::styleDidChange(diff, oldStyle);99 100 updateValuePartState();101 }102 103 55 void RenderProgress::updateFromElement() 104 56 { … … 109 61 110 62 updateAnimationState(); 111 112 updateValuePartState(); 113 114 repaint(); 115 } 116 117 void RenderProgress::updateValuePartState() 118 { 119 bool needLayout = !style()->hasAppearance() || m_valuePart; 120 if (!style()->hasAppearance() && !m_valuePart) { 121 m_valuePart = ShadowBlockElement::create(node()); 122 RefPtr<RenderStyle> styleForValuePart = createStyleForValuePart(style()); 123 m_valuePart->setRenderer(m_valuePart->createRenderer(renderArena(), styleForValuePart.get())); 124 m_valuePart->renderer()->setStyle(styleForValuePart.release()); 125 m_valuePart->setAttached(); 126 m_valuePart->setInDocument(); 127 addChild(m_valuePart->renderer()); 128 } else if (style()->hasAppearance() && m_valuePart) { 129 m_valuePart->detach(); 130 m_valuePart = 0; 131 } 132 if (needLayout) 133 setNeedsLayout(true); 134 } 135 136 PassRefPtr<RenderStyle> RenderProgress::createStyleForValuePart(RenderStyle* parentStyle) 137 { 138 RefPtr<RenderStyle> styleForValuePart; 139 RenderStyle* pseudoStyle = getCachedPseudoStyle(PROGRESS_BAR_VALUE); 140 if (pseudoStyle) 141 styleForValuePart = RenderStyle::clone(pseudoStyle); 142 else 143 styleForValuePart = RenderStyle::create(); 144 145 if (parentStyle) 146 styleForValuePart->inheritFrom(parentStyle); 147 styleForValuePart->setDisplay(BLOCK); 148 styleForValuePart->setAppearance(ProgressBarValuePart); 149 return styleForValuePart.release(); 63 RenderIndicator::updateFromElement(); 150 64 } 151 65 … … 172 86 } 173 87 174 RenderBlock::paint(paintInfo, tx, ty); 88 RenderIndicator::paint(paintInfo, tx, ty); 89 } 90 91 void RenderProgress::layoutParts() 92 { 93 updatePartsState(); 94 if (m_valuePart) 95 m_valuePart->layoutAsPart(valuePartRect()); 96 updateAnimationState(); 97 } 98 99 bool RenderProgress::shouldHaveParts() const 100 { 101 return !style()->hasAppearance(); 102 } 103 104 void RenderProgress::updatePartsState() 105 { 106 if (shouldHaveParts() && !m_valuePart) { 107 m_valuePart = ShadowBlockElement::createForPart(this->node(), PROGRESS_BAR_VALUE); 108 addChild(m_valuePart->renderer()); 109 } else if (!shouldHaveParts() && m_valuePart) { 110 m_valuePart->detach(); 111 m_valuePart = 0; 112 } 175 113 } 176 114 … … 192 130 } 193 131 132 IntRect RenderProgress::valuePartRect() const 133 { 134 IntRect rect(borderLeft() + paddingLeft(), borderTop() + paddingTop(), lround((width() - borderLeft() - paddingLeft() - borderRight() - paddingRight()) * position()), height() - borderTop() - paddingTop() - borderBottom() - paddingBottom()); 135 if (style()->direction() == RTL) 136 rect.setX(width() - borderRight() - paddingRight() - rect.width()); 137 return rect; 138 } 139 194 140 HTMLProgressElement* RenderProgress::progressElement() const 195 141 { -
trunk/WebCore/rendering/RenderProgress.h
r60951 r61376 24 24 #if ENABLE(PROGRESS_TAG) 25 25 #include "RenderBlock.h" 26 #include "RenderIndicator.h" 26 27 27 28 namespace WebCore { … … 30 31 class ShadowBlockElement; 31 32 32 class RenderProgress : public Render Block{33 class RenderProgress : public RenderIndicator { 33 34 public: 34 35 RenderProgress(HTMLProgressElement*); … … 46 47 virtual const char* renderName() const { return "RenderProgress"; } 47 48 virtual bool isProgress() const { return true; } 48 virtual void layout();49 49 virtual void updateFromElement(); 50 50 virtual void paint(PaintInfo&, int tx, int ty); 51 virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);52 51 53 virtual bool requiresForcedStyleRecalcPropagation() const { return true; } 52 virtual void layoutParts(); 53 virtual bool shouldHaveParts() const; 54 55 IntRect valuePartRect() const; 54 56 55 57 void animationTimerFired(Timer<RenderProgress>*); 56 58 void updateAnimationState(); 57 void updateValuePartState(); 58 PassRefPtr<RenderStyle> createStyleForValuePart(RenderStyle*); 59 void updatePartsState(); 59 60 60 61 double m_position; -
trunk/WebCore/rendering/RenderTheme.cpp
r60822 r61376 652 652 case MenulistPart: 653 653 case ProgressBarPart: 654 case MeterPart: 655 case RelevancyLevelIndicatorPart: 656 case ContinuousCapacityLevelIndicatorPart: 657 case DiscreteCapacityLevelIndicatorPart: 658 case RatingLevelIndicatorPart: 654 659 // FIXME: Uncomment this when making search fields style-able. 655 660 // case SearchFieldPart: … … 915 920 } 916 921 917 bool RenderTheme::paintMeter(RenderObject* renderObject, const RenderObject::PaintInfo& paintInfo, const IntRect& rect) 918 { 919 if (!renderObject->isMeter()) 920 return true; 921 922 // Some platforms do not have a native gauge widget, so we draw here a default implementation. 923 RenderMeter* renderMeter = toRenderMeter(renderObject); 924 RenderStyle* style = renderObject->style(); 925 int left = style->borderLeft().width() + style->paddingLeft().value(); 926 int top = style->borderTop().width() + style->paddingTop().value(); 927 int right = style->borderRight().width() + style->paddingRight().value(); 928 int bottom = style->borderBottom().width() + style->paddingBottom().value(); 929 FloatRect innerRect(rect.x() + left, rect.y() + top, rect.width() - left - right, rect.height() - top - bottom); 930 931 HTMLMeterElement* element = static_cast<HTMLMeterElement*>(renderMeter->node()); 932 double min = element->min(); 933 double max = element->max(); 934 double value = element->value(); 935 936 if (min >= max) { 937 paintInfo.context->fillRect(innerRect, Color::black, style->colorSpace()); 938 return false; 939 } 940 941 // Paint the background first 942 paintInfo.context->fillRect(innerRect, Color::lightGray, style->colorSpace()); 943 944 FloatRect valueRect; 945 946 if (rect.width() < rect.height()) { 947 // Vertical gauge 948 double scale = innerRect.height() / (max - min); 949 valueRect.setLocation(FloatPoint(innerRect.x(), innerRect.y() + narrowPrecisionToFloat((max - value) * scale))); 950 valueRect.setSize(FloatSize(innerRect.width(), narrowPrecisionToFloat((value - min) * scale))); 951 } else if (renderMeter->style()->direction() == RTL) { 952 // right to left horizontal gauge 953 double scale = innerRect.width() / (max - min); 954 valueRect.setLocation(FloatPoint(innerRect.x() + narrowPrecisionToFloat((max - value) * scale), innerRect.y())); 955 valueRect.setSize(FloatSize(narrowPrecisionToFloat((value - min) * scale), innerRect.height())); 956 } else { 957 // left to right horizontal gauge 958 double scale = innerRect.width() / (max - min); 959 valueRect.setLocation(innerRect.location()); 960 valueRect.setSize(FloatSize(narrowPrecisionToFloat((value - min) * scale), innerRect.height())); 961 } 962 if (!valueRect.isEmpty()) 963 paintInfo.context->fillRect(valueRect, Color::black, style->colorSpace()); 964 922 bool RenderTheme::supportsMeter(ControlPart, bool) const 923 { 965 924 return false; 966 925 } 926 927 bool RenderTheme::paintMeter(RenderObject*, const RenderObject::PaintInfo&, const IntRect&) 928 { 929 return true; 930 } 931 967 932 #endif 968 933 -
trunk/WebCore/rendering/RenderTheme.h
r60822 r61376 196 196 #if ENABLE(METER_TAG) 197 197 virtual IntSize meterSizeForBounds(const RenderMeter*, const IntRect&) const; 198 virtual bool supportsMeter(ControlPart, bool isHorizontal) const; 198 199 #endif 199 200 -
trunk/WebCore/rendering/RenderThemeMac.h
r60822 r61376 84 84 virtual IntSize meterSizeForBounds(const RenderMeter*, const IntRect&) const; 85 85 virtual bool paintMeter(RenderObject*, const RenderObject::PaintInfo&, const IntRect&); 86 virtual bool supportsMeter(ControlPart, bool isHorizontal) const; 86 87 #endif 87 88 -
trunk/WebCore/rendering/RenderThemeMac.mm
r60822 r61376 840 840 } 841 841 842 bool RenderThemeMac::supportsMeter(ControlPart part, bool isHorizontal) const 843 { 844 switch (part) { 845 case RelevancyLevelIndicatorPart: 846 case DiscreteCapacityLevelIndicatorPart: 847 case RatingLevelIndicatorPart: 848 case MeterPart: 849 case ContinuousCapacityLevelIndicatorPart: 850 return isHorizontal; 851 default: 852 return false; 853 } 854 } 855 842 856 NSLevelIndicatorStyle RenderThemeMac::levelIndicatorStyleFor(ControlPart part) const 843 857 { -
trunk/WebCore/rendering/ShadowElement.cpp
r61293 r61376 23 23 24 24 #include "HTMLNames.h" 25 #include "RenderTheme.h" 26 #include "RenderView.h" 25 27 26 28 namespace WebCore { … … 38 40 } 39 41 42 void ShadowBlockElement::layoutAsPart(const IntRect& partRect) 43 { 44 RenderBox* parentRenderer = toRenderBox(renderer()->parent()); 45 RenderBox* selfRenderer = toRenderBox(renderer()); 46 IntRect oldRect = selfRenderer->frameRect(); 47 48 LayoutStateMaintainer statePusher(parentRenderer->view(), parentRenderer, parentRenderer->size()); 49 50 if (oldRect.size() != partRect.size()) 51 selfRenderer->setChildNeedsLayout(true, false); 52 53 selfRenderer->layoutIfNeeded(); 54 selfRenderer->setFrameRect(partRect); 55 56 if (selfRenderer->checkForRepaintDuringLayout()) 57 selfRenderer->repaintDuringLayoutIfMoved(oldRect); 58 59 statePusher.pop(); 60 parentRenderer->addOverflowFromChild(selfRenderer); 61 } 62 63 void ShadowBlockElement::updateStyleForPart(PseudoId pseudoId) 64 { 65 if (renderer()->style()->styleType() != pseudoId) 66 renderer()->setStyle(createStyleForPart(renderer()->parent(), pseudoId)); 67 } 68 69 PassRefPtr<ShadowBlockElement> ShadowBlockElement::createForPart(Node* shadowParent, PseudoId pseudoId) 70 { 71 RenderObject* parentRenderer = shadowParent->renderer(); 72 RefPtr<RenderStyle> styleForPart = createStyleForPart(parentRenderer, pseudoId); 73 RefPtr<ShadowBlockElement> part = create(shadowParent); 74 part->setRenderer(part->createRenderer(parentRenderer->renderArena(), styleForPart.get())); 75 part->renderer()->setStyle(styleForPart.release()); 76 part->setAttached(); 77 part->setInDocument(); 78 return part.release(); 79 } 80 81 PassRefPtr<RenderStyle> ShadowBlockElement::createStyleForPart(RenderObject* parentRenderer, PseudoId pseudoId) 82 { 83 RefPtr<RenderStyle> styleForPart; 84 RenderStyle* pseudoStyle = parentRenderer->getCachedPseudoStyle(pseudoId); 85 if (pseudoStyle) 86 styleForPart = RenderStyle::clone(pseudoStyle); 87 else 88 styleForPart = RenderStyle::create(); 89 90 styleForPart->inheritFrom(parentRenderer->style()); 91 styleForPart->setDisplay(BLOCK); 92 styleForPart->setAppearance(NoControlPart); 93 return styleForPart.release(); 94 } 95 96 bool ShadowBlockElement::partShouldHaveStyle(const RenderObject* parentRenderer, PseudoId pseudoId) 97 { 98 // We have some -webkit-appearance values for default styles of parts and 99 // that appearance get turned off during RenderStyle creation 100 // if they have background styles specified. 101 // So !hasAppearance() implies that there are something to be styled. 102 RenderStyle* pseudoStyle = parentRenderer->getCachedPseudoStyle(pseudoId); 103 return !(pseudoStyle && pseudoStyle->hasAppearance()); 104 } 105 40 106 PassRefPtr<ShadowInputElement> ShadowInputElement::create(Node* shadowParent) 41 107 { -
trunk/WebCore/rendering/ShadowElement.h
r61293 r61376 56 56 public: 57 57 static PassRefPtr<ShadowBlockElement> create(Node*); 58 static PassRefPtr<ShadowBlockElement> createForPart(Node*, PseudoId); 59 static bool partShouldHaveStyle(const RenderObject* parentRenderer, PseudoId pseudoId); 60 void layoutAsPart(const IntRect& partRect); 61 void updateStyleForPart(PseudoId); 62 58 63 protected: 59 64 ShadowBlockElement(Node*); 65 66 private: 67 static PassRefPtr<RenderStyle> createStyleForPart(RenderObject*, PseudoId); 60 68 }; 61 69 -
trunk/WebCore/rendering/style/RenderStyleConstants.h
r58228 r61376 76 76 MEDIA_CONTROLS_STATUS_DISPLAY, SCROLLBAR_THUMB, SCROLLBAR_BUTTON, SCROLLBAR_TRACK, SCROLLBAR_TRACK_PIECE, SCROLLBAR_CORNER, RESIZER, 77 77 INPUT_LIST_BUTTON, INNER_SPIN_BUTTON, OUTER_SPIN_BUTTON, VISITED_LINK, PROGRESS_BAR_VALUE, 78 78 METER_HORIZONTAL_BAR, METER_HORIZONTAL_OPTIMUM, METER_HORIZONTAL_SUBOPTIMAL, METER_HORIZONTAL_EVEN_LESS_GOOD, 79 METER_VERTICAL_BAR, METER_VERTICAL_OPTIMUM, METER_VERTICAL_SUBOPTIMAL, METER_VERTICAL_EVEN_LESS_GOOD, 79 80 AFTER_LAST_INTERNAL_PSEUDOID, 80 81 FIRST_PUBLIC_PSEUDOID = FIRST_LINE,
Note: See TracChangeset
for help on using the changeset viewer.