Changeset 61376 in webkit


Ignore:
Timestamp:
Jun 17, 2010 10:13:19 PM (14 years ago)
Author:
morrita@google.com
Message:

2010-06-15 MORITA Hajime <morrita@google.com>

Reviewed by Kent Tamura.

<meter> should allow styling for each gauge-level and component
https://bugs.webkit.org/show_bug.cgi?id=40280

  • Updated expectations because both rendering result, render tree structure, html.css was changed.
  • fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html: Added.
  • fast/dom/HTMLMeterElement/meter-styles.html: Added.
  • platform/chromium/test_expectations.txt:
  • platform/gtk/Skipped:
  • platform/mac/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.checksum:
  • platform/mac/fast/dom/HTMLMeterElement/meter-element-expected.checksum:
  • platform/mac/fast/dom/HTMLMeterElement/meter-element-expected.png:
  • platform/mac/fast/dom/HTMLMeterElement/meter-element-expected.txt:
  • platform/mac/fast/dom/HTMLMeterElement/meter-optimums-expected.checksum:
  • platform/mac/fast/dom/HTMLMeterElement/meter-optimums-expected.png:
  • platform/mac/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.checksum: Added.
  • platform/mac/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.png: Added.
  • platform/mac/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt: Added.
  • platform/mac/fast/dom/HTMLMeterElement/meter-styles-expected.checksum: Added.
  • platform/mac/fast/dom/HTMLMeterElement/meter-styles-expected.png: Added.
  • platform/mac/fast/dom/HTMLMeterElement/meter-styles-expected.txt: Added.
  • platform/win/Skipped:

2010-06-16 MORITA Hajime <morrita@google.com>

Reviewed by Kent Tamura.

<meter> should allow styling for each gauge-level and component
https://bugs.webkit.org/show_bug.cgi?id=40280

  • Introduced following new pseudo classes for <meter> element.
  • -webkit-meter-horizontal-bar
  • -webkit-meter-vertical-bar
  • -webkit-meter-horizontal-optimum-value
  • -webkit-meter-vertical-optimum-value
  • -webkit-meter-horizontal-suboptimal-value
  • -webkit-meter-vertical-suboptimal-value
  • -webkit-meter-horizontal-even-less-good-value
  • -webkit-meter-vertical-even-less-good-value
  • Introduced 2 shadow nodes for RenderMeter to handle CSS styling. one for bar part and another for value part.
  • Removed RenderTheme::paintMeter() implementation because it can be handled by styled painting without RenderTheme.
  • Pulled RenderIndicator up to super class from RenderProgress, then make RenderMeter a subclass of it.
  • Moved shadow related methods from RenderProgress to ShadowBlockElement to share it with RenderMeter.
  • Added rules for html.css for new pseudo classes.

Tests: fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html

fast/dom/HTMLMeterElement/meter-styles.html

  • CMakeLists.txt:
  • GNUmakefile.am:
  • WebCore.gypi:
  • WebCore.pro:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSSelector.cpp: (WebCore::CSSSelector::pseudoId): (WebCore::nameToPseudoTypeMap): (WebCore::CSSSelector::extractPseudoType):
  • css/CSSSelector.h: (WebCore::CSSSelector::):
  • css/html.css: (meter::-webkit-meter-horizontal-bar): (meter::-webkit-meter-vertical-bar): (meter::-webkit-meter-horizontal-optimum-value): (meter::-webkit-meter-horizontal-suboptimal-value): (meter::-webkit-meter-horizontal-even-less-good-value): (meter::-webkit-meter-vertical-optimum-value): (meter::-webkit-meter-vertical-suboptimal-value): (meter::-webkit-meter-vertical-even-less-good-value):
  • rendering/RenderIndicator.cpp: Added. (WebCore::RenderIndicator::RenderIndicator): (WebCore::RenderIndicator::~RenderIndicator): (WebCore::RenderIndicator::layout): (WebCore::RenderIndicator::styleDidChange): (WebCore::RenderIndicator::updateFromElement): (WebCore::RenderIndicator::hasParts): (WebCore::RenderIndicator::requestLayoutForParts):
  • rendering/RenderIndicator.h: Added. (WebCore::RenderIndicator::requiresForcedStyleRecalcPropagation):
  • rendering/RenderMeter.cpp: (WebCore::RenderMeter::RenderMeter): (WebCore::RenderMeter::~RenderMeter): (WebCore::RenderMeter::layoutParts): Added. (WebCore::RenderMeter::shouldHaveParts): Added. (WebCore::RenderMeter::valueRatio): Added. (WebCore::RenderMeter::barPartRect): Added. (WebCore::RenderMeter::valuePartRect): Added. (WebCore::RenderMeter::isHorizontal): Added. (WebCore::RenderMeter::valuePseudoId): Added. (WebCore::RenderMeter::barPseudoId): Added. (WebCore::RenderMeter::updatePartsState): Added.
  • rendering/RenderMeter.h:
  • rendering/RenderProgress.cpp: (WebCore::RenderProgress::RenderProgress): (WebCore::RenderProgress::updateFromElement): (WebCore::RenderProgress::paint): (WebCore::RenderProgress::layoutParts): Added. (WebCore::RenderProgress::shouldHaveParts): Added. (WebCore::RenderProgress::updatePartsState): (WebCore::RenderProgress::valuePartRect):
  • rendering/RenderProgress.h:
  • rendering/RenderTheme.cpp: (WebCore::RenderTheme::isControlStyled): (WebCore::RenderTheme::paintMeter):
  • rendering/RenderTheme.h: (WebCore::RenderTheme::supportsMeter): Added.
  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::supportsMeter): Added.
  • rendering/ShadowElement.cpp: (WebCore::ShadowBlockElement::layoutAsPart): Added. (WebCore::ShadowBlockElement::updateStyleForPart): Added. (WebCore::ShadowBlockElement::createForPart): Added. (WebCore::ShadowBlockElement::createStyleForPart): Added. (WebCore::ShadowBlockElement::partShouldHaveStyle): Added.
  • rendering/ShadowElement.h:
  • rendering/style/RenderStyleConstants.h: (WebCore::):
Location:
trunk
Files:
8 added
31 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r61375 r61376  
     12010-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
    1292010-06-17  Fumitoshi Ukai  <ukai@chromium.org>
    230
  • trunk/LayoutTests/platform/chromium/test_expectations.txt

    r61373 r61376  
    26332633
    26342634// 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+TEXT
     2635BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-element.html = FAIL
    26362636BUGWK37074 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
     2637BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-appearances-capacity.html = FAIL
     2638BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html = FAIL
     2639BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-optimums.html = FAIL
     2640BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-styles.html = MISSING
     2641BUGWK37074 DEFER : fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html = MISSING
    26402642
    26412643// WebKit roll 56004 -> 56026
  • trunk/LayoutTests/platform/gtk/Skipped

    r61367 r61376  
    56935693fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html
    56945694fast/dom/HTMLMeterElement/meter-optimums.html
     5695fast/dom/HTMLMeterElement/meter-styles.html
     5696fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html
    56955697
    56965698# Needs mock support, and build slave Geolocation service
  • trunk/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.checksum

    r60822 r61376  
    1 46e2fa5e215820fcbb9e81907bd5ceae
     182e1e45c173e18f3f49c5ca3df13e498
  • trunk/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-element-expected.checksum

    r60822 r61376  
    1 ee9e030a1b605ca2c030bfee694bf9f6
     1c93f96f488bc2787690a58735a062310
  • trunk/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-element-expected.txt

    r60822 r61376  
    77        RenderText {#text} at (0,0) size 0x0
    88      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
    1013      RenderText {#text} at (0,0) size 0x0
  • trunk/LayoutTests/platform/mac/fast/dom/HTMLMeterElement/meter-optimums-expected.checksum

    r60822 r61376  
    1 851e15761e9707f58957d7cc99012925
     10ff14a0a3109816415cd6312a9f8a898
  • trunk/LayoutTests/platform/win/Skipped

    r61232 r61376  
    841841fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy.html
    842842fast/dom/HTMLMeterElement/meter-optimums.html
     843fast/dom/HTMLMeterElement/meter-styles.html
     844fast/dom/HTMLMeterElement/meter-styles-changing-pseudo.html
    843845
    844846# No Widgets 1.0 support
  • trunk/WebCore/CMakeLists.txt

    r61323 r61376  
    12991299    rendering/RenderImage.cpp
    13001300    rendering/RenderImageGeneratedContent.cpp
     1301    rendering/RenderIndicator.cpp
    13011302    rendering/RenderInline.cpp
    13021303    rendering/RenderLayer.cpp
  • trunk/WebCore/ChangeLog

    r61375 r61376  
     12010-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
    11032010-06-17  Fumitoshi Ukai  <ukai@chromium.org>
    2104
  • trunk/WebCore/GNUmakefile.am

    r61366 r61376  
    19341934        WebCore/rendering/RenderImageGeneratedContent.cpp \
    19351935        WebCore/rendering/RenderImageGeneratedContent.h \
     1936        WebCore/rendering/RenderIndicator.cpp \
     1937        WebCore/rendering/RenderIndicator.h \
    19361938        WebCore/rendering/RenderInline.cpp \
    19371939        WebCore/rendering/RenderInline.h \
  • trunk/WebCore/WebCore.gypi

    r61366 r61376  
    31553155            'rendering/RenderImageGeneratedContent.cpp',
    31563156            'rendering/RenderImageGeneratedContent.h',
     3157            'rendering/RenderIndicator.cpp',
     3158            'rendering/RenderIndicator.h',
    31573159            'rendering/RenderInline.cpp',
    31583160            'rendering/RenderInline.h',
  • trunk/WebCore/WebCore.pro

    r61366 r61376  
    950950    rendering/RenderImage.cpp \
    951951    rendering/RenderImageGeneratedContent.cpp \
     952    rendering/RenderIndicator.cpp \
    952953    rendering/RenderInline.cpp \
    953954    rendering/RenderLayer.cpp \
     
    17331734    rendering/RenderImageGeneratedContent.h \
    17341735    rendering/RenderImage.h \
     1736    rendering/RenderIndicator.h \
    17351737    rendering/RenderInline.h \
    17361738    rendering/RenderLayer.h \
  • trunk/WebCore/WebCore.vcproj/WebCore.vcproj

    r61366 r61376  
    2816628166                        </File>
    2816728167                        <File
     28168                                RelativePath="..\rendering\RenderIndicator.cpp"
     28169                                >
     28170                        </File>
     28171                        <File
     28172                                RelativePath="..\rendering\RenderIndicator.h"
     28173                                >
     28174                        </File>
     28175                        <File
    2816828176                                RelativePath="..\rendering\RenderInline.cpp"
    2816928177                                >
  • trunk/WebCore/WebCore.xcodeproj/project.pbxproj

    r61366 r61376  
    26212621                A795463E0B5C4C80007B438F /* DragDataMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = A795463D0B5C4C80007B438F /* DragDataMac.mm */; };
    26222622                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 */; };
    26232625                A7AD2F870EC89D07008AB002 /* LinkHash.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7AD2F850EC89D07008AB002 /* LinkHash.cpp */; };
    26242626                A7AD2F880EC89D07008AB002 /* LinkHash.h in Headers */ = {isa = PBXBuildFile; fileRef = A7AD2F860EC89D07008AB002 /* LinkHash.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    82098211                A795463D0B5C4C80007B438F /* DragDataMac.mm */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.objcpp; path = DragDataMac.mm; sourceTree = "<group>"; };
    82108212                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>"; };
    82118215                A7AD2F850EC89D07008AB002 /* LinkHash.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = LinkHash.cpp; sourceTree = "<group>"; };
    82128216                A7AD2F860EC89D07008AB002 /* LinkHash.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinkHash.h; sourceTree = "<group>"; };
     
    1102411028                        isa = PBXGroup;
    1102511029                        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 */,
    1103511030                                B5B5DC67119BB3D5002A8790 /* AbstractDatabase.cpp */,
    1103611031                                B5B5DC68119BB3D5002A8790 /* AbstractDatabase.h */,
     
    1108111076                                C51DA9A311AEF2C1009799C5 /* IDBIndexRequest.h */,
    1108211077                                C51DA9A411AEF2C1009799C5 /* IDBIndexRequest.idl */,
     11078                                816C806611BE887E009A45E9 /* IDBKeyRange.cpp */,
     11079                                816C806711BE887E009A45E9 /* IDBKeyRange.h */,
     11080                                81CC114011BEAA9D00D0D856 /* IDBKeyRange.idl */,
     11081                                B6693EE811AD63E6003F2770 /* IDBObjectStore.h */,
    1108311082                                B6693EE811AD63E6003F2770 /* IDBObjectStore.h */,
    1108411083                                B6B0540711B68F10002564C5 /* IDBObjectStoreImpl.cpp */,
     11084                                B6B0540711B68F10002564C5 /* IDBObjectStoreImpl.cpp */,
     11085                                B6B0540811B68F10002564C5 /* IDBObjectStoreImpl.h */,
    1108511086                                B6B0540811B68F10002564C5 /* IDBObjectStoreImpl.h */,
    1108611087                                B6693EE911AD63E6003F2770 /* IDBObjectStoreRequest.cpp */,
     11088                                B6693EE911AD63E6003F2770 /* IDBObjectStoreRequest.cpp */,
    1108711089                                B6693EEA11AD63E6003F2770 /* IDBObjectStoreRequest.h */,
     11090                                B6693EEA11AD63E6003F2770 /* IDBObjectStoreRequest.h */,
     11091                                B6693EEF11AD63F6003F2770 /* IDBObjectStoreRequest.idl */,
    1108811092                                B6693EEF11AD63F6003F2770 /* IDBObjectStoreRequest.idl */,
    1108911093                                C5198F421192ECFD002B74A6 /* IDBRequest.cpp */,
     
    1182311827                        isa = PBXGroup;
    1182411828                        children = (
    11825                                 E41EA0391198374900710BC5 /* CSSValueKeywords.cpp */,
    11826                                 E41EA038119836DB00710BC5 /* CSSPropertyNames.cpp */,
    11827                                 E406F4021198329A009D59D6 /* HTMLEntityNames.cpp */,
     11829                                656581AC09D14EE6000E61D7 /* CharsetData.cpp */,
    1182811830                                E406F3FB1198307D009D59D6 /* ColorData.cpp */,
    11829                                 E406F3FA1198304D009D59D6 /* DocTypeStrings.cpp */,
    11830                                 656581AC09D14EE6000E61D7 /* CharsetData.cpp */,
    1183111831                                6565814409D13043000E61D7 /* CSSGrammar.cpp */,
    1183211832                                650F53DB09D15DDA00C9B0C8 /* CSSGrammar.h */,
     11833                                E41EA038119836DB00710BC5 /* CSSPropertyNames.cpp */,
    1183311834                                656580EE09D12B20000E61D7 /* CSSPropertyNames.gperf */,
    1183411835                                656580EF09D12B20000E61D7 /* CSSPropertyNames.h */,
     11836                                E41EA0391198374900710BC5 /* CSSValueKeywords.cpp */,
    1183511837                                6565814709D13043000E61D7 /* CSSValueKeywords.gperf */,
    1183611838                                6565814809D13043000E61D7 /* CSSValueKeywords.h */,
     11839                                E406F3FA1198304D009D59D6 /* DocTypeStrings.cpp */,
    1183711840                                A17C81200F2A5CF7005DAAEB /* HTMLElementFactory.cpp */,
    1183811841                                A17C81210F2A5CF7005DAAEB /* HTMLElementFactory.h */,
     11842                                E406F4021198329A009D59D6 /* HTMLEntityNames.cpp */,
    1183911843                                A8D06B380A265DCD005E7203 /* HTMLNames.cpp */,
    1184011844                                A8D06B370A265DCD005E7203 /* HTMLNames.h */,
     
    1339013394                                93C441EE0F813A1A00C1A634 /* CollectionCache.h */,
    1339113395                                93C441FF0F813AE100C1A634 /* CollectionType.h */,
     13396                                976E2BA511CAE4DE006C56A0 /* CSSPreloadScanner.cpp */,
     13397                                976E2BA611CAE4DE006C56A0 /* CSSPreloadScanner.h */,
    1339213398                                BC77D2380FF298080070887B /* DataGridColumn.cpp */,
    1339313399                                BC77CFC10FF175550070887B /* DataGridColumn.h */,
     
    1340413410                                2ED609BB1145B07100C8684E /* DOMFormData.h */,
    1340513411                                2E0888C3114883A900AF4265 /* DOMFormData.idl */,
    13406                                 976E2BA511CAE4DE006C56A0 /* CSSPreloadScanner.cpp */,
    13407                                 976E2BA611CAE4DE006C56A0 /* CSSPreloadScanner.h */,
    1340813412                                BCDBB8CC0E08958400C60FF6 /* File.cpp */,
    1340913413                                BCDBB8CB0E08958400C60FF6 /* File.h */,
     
    1342713431                                A8136D370973A8E700D74463 /* FormDataList.cpp */,
    1342813432                                A8136D360973A8E700D74463 /* FormDataList.h */,
     13433                                A871038811A2947000DBD50E /* HTML5DocumentParser.cpp */,
     13434                                A871038911A2947000DBD50E /* HTML5DocumentParser.h */,
    1342913435                                976E895E11C0CA3A00EA9CA9 /* HTML5EntityParser.cpp */,
    1343013436                                976E895F11C0CA3A00EA9CA9 /* HTML5EntityParser.h */,
     
    1343713443                                A87F163411AE841300CBB2E5 /* HTML5ScriptRunnerHost.h */,
    1343813444                                97E8B3C211A2890800169409 /* HTML5Token.h */,
    13439                                 A871038811A2947000DBD50E /* HTML5DocumentParser.cpp */,
    13440                                 A871038911A2947000DBD50E /* HTML5DocumentParser.h */,
    1344113445                                A879C62311A9D1F70059237A /* HTML5TreeBuilder.cpp */,
    1344213446                                A879C62411A9D1F70059237A /* HTML5TreeBuilder.h */,
     
    1350813512                                F523D23C02DE4396018635CA /* HTMLDocument.h */,
    1350913513                                1A494E290A12354300FDAFC1 /* HTMLDocument.idl */,
     13514                                F523D25202DE4396018635CA /* HTMLDocumentParser.cpp */,
     13515                                F523D25302DE4396018635CA /* HTMLDocumentParser.h */,
    1351013516                                F523D23E02DE4396018635CA /* HTMLElement.cpp */,
    1351113517                                F523D23F02DE4396018635CA /* HTMLElement.h */,
     
    1362313629                                A871D44E0A127CBC00B12A68 /* HTMLParamElement.h */,
    1362413630                                1AE2AB720A1CE81500B42B25 /* HTMLParamElement.idl */,
    13625                                 F523D25002DE4396018635CA /* LegacyHTMLTreeConstructor.cpp */,
    13626                                 F523D25102DE4396018635CA /* LegacyHTMLTreeConstructor.h */,
    1362713631                                BC588B4A0BFA723C00EE679E /* HTMLParserErrorCodes.cpp */,
    1362813632                                BC588AEF0BFA6CF900EE679E /* HTMLParserErrorCodes.h */,
     
    1368213686                                A871DC1C0A15205700B12A68 /* HTMLTitleElement.h */,
    1368313687                                A80E7AAE0A19D1F1007FB8C5 /* HTMLTitleElement.idl */,
    13684                                 F523D25202DE4396018635CA /* HTMLDocumentParser.cpp */,
    13685                                 F523D25302DE4396018635CA /* HTMLDocumentParser.h */,
    1368613688                                A8EA79E70A1916DF00A8EF5F /* HTMLUListElement.cpp */,
    1368713689                                A8EA79E60A1916DF00A8EF5F /* HTMLUListElement.h */,
     
    1369913701                                A456FA2411AD4A830020B420 /* LabelsNodeList.cpp */,
    1370013702                                A456FA2511AD4A830020B420 /* LabelsNodeList.h */,
     13703                                F523D25002DE4396018635CA /* LegacyHTMLTreeConstructor.cpp */,
     13704                                F523D25102DE4396018635CA /* LegacyHTMLTreeConstructor.h */,
    1370113705                                E446139B0CD6331000FADA75 /* MediaError.h */,
    1370213706                                E446139C0CD6331000FADA75 /* MediaError.idl */,
     
    1447014474                                C5BBC9CE11AEF838007C2BFE /* JSIDBIndexRequest.cpp */,
    1447114475                                C5BBC9CF11AEF838007C2BFE /* JSIDBIndexRequest.h */,
     14476                                816C80B011BE9934009A45E9 /* JSIDBKeyRange.cpp */,
     14477                                816C80AE11BE990D009A45E9 /* JSIDBKeyRange.h */,
    1447214478                                B6693EF011AD6486003F2770 /* JSIDBObjectStoreRequest.cpp */,
    1447314479                                B6693EF111AD6486003F2770 /* JSIDBObjectStoreRequest.h */,
     
    1450214508                                51E0BAE80DA55D4A00A9E417 /* JSStorageEvent.cpp */,
    1450314509                                51E0BAE90DA55D4A00A9E417 /* JSStorageEvent.h */,
    14504                                 816C80AE11BE990D009A45E9 /* JSIDBKeyRange.h */,
    14505                                 816C80B011BE9934009A45E9 /* JSIDBKeyRange.cpp */,
    1450614510                        );
    1450714511                        name = Storage;
     
    1635316357                                BCB4F8920DB28E530039139B /* RenderImageGeneratedContent.cpp */,
    1635416358                                BCB4F88F0DB28DD60039139B /* RenderImageGeneratedContent.h */,
     16359                                A7AA66D411C5ED6A001D8C8C /* RenderIndicator.cpp */,
     16360                                A7AA66D511C5ED6A001D8C8C /* RenderIndicator.h */,
    1635516361                                BCEA4838097D93020094C9E4 /* RenderInline.cpp */,
    1635616362                                BCEA4839097D93020094C9E4 /* RenderInline.h */,
     
    1660716613                                1A494ED50A123F1A00FDAFC1 /* DocumentFragment.idl */,
    1660816614                                ED2BA83B09A24B91006C0AC4 /* DocumentMarker.h */,
     16615                                BCCFBAE70B5152ED0001F1D7 /* DocumentParser.h */,
    1660916616                                A8185F3209765765005826D9 /* DocumentType.cpp */,
    1661016617                                A8185F3109765765005826D9 /* DocumentType.h */,
     
    1675916766                                933A142D0B7D188600A53FFD /* TextEvent.h */,
    1676016767                                933A142C0B7D188600A53FFD /* TextEvent.idl */,
    16761                                 BCCFBAE70B5152ED0001F1D7 /* DocumentParser.h */,
    1676216768                                5DB1BC6810715A6400EFAA49 /* TransformSource.h */,
    1676316769                                5DB1BC6910715A6400EFAA49 /* TransformSourceLibxslt.cpp */,
     
    1703017036                                BC772B3E0C4EA91E0083285F /* CSSParser.h in Headers */,
    1703117037                                BC02A4B70E0997B9004B6D2B /* CSSParserValues.h in Headers */,
     17038                                976E2BA811CAE4DE006C56A0 /* CSSPreloadScanner.h in Headers */,
    1703217039                                A80E6CE60A1989CA007FB8C5 /* CSSPrimitiveValue.h in Headers */,
    1703317040                                E1ED8AC30CC49BE000BFC557 /* CSSPrimitiveValueMappings.h in Headers */,
     
    1709417101                                656D37360ADBA5DE00A4554D /* DocumentLoader.h in Headers */,
    1709517102                                ED2BA83C09A24B91006C0AC4 /* DocumentMarker.h in Headers */,
     17103                                BCCFBAE80B5152ED0001F1D7 /* DocumentParser.h in Headers */,
    1709617104                                0B90561A0F2578BF0095FF6A /* DocumentThreadableLoader.h in Headers */,
    1709717105                                A8185F3909765766005826D9 /* DocumentType.h in Headers */,
     
    1796917977                                9307F1D80AF2D59000DBA31A /* HitTestResult.h in Headers */,
    1797017978                                BC3BC29C0E91AB0F00835588 /* HostWindow.h in Headers */,
     17979                                A871038B11A2947000DBD50E /* HTML5DocumentParser.h in Headers */,
    1797117980                                976E896111C0CA3A00EA9CA9 /* HTML5EntityParser.h in Headers */,
    1797217981                                97E8B35711A23CE200169409 /* HTML5Lexer.h in Headers */,
     17982                                97E7936611C6030900E649BC /* HTML5PreloadScanner.h in Headers */,
    1797317983                                A83B3AF111ADEFF500458809 /* HTML5ScriptRunner.h in Headers */,
    1797417984                                A87F163511AE841300CBB2E5 /* HTML5ScriptRunnerHost.h in Headers */,
    1797517985                                97E8B3C311A2890800169409 /* HTML5Token.h in Headers */,
    17976                                 A871038B11A2947000DBD50E /* HTML5DocumentParser.h in Headers */,
    1797717986                                A879C62611A9D1F70059237A /* HTML5TreeBuilder.h in Headers */,
    1797817987                                BC97E23A109144950010D361 /* HTMLAllCollection.h in Headers */,
     
    1799818007                                A8EA79F70A1916DF00A8EF5F /* HTMLDListElement.h in Headers */,
    1799918008                                93F198E508245E59001E9ABC /* HTMLDocument.h in Headers */,
     18009                                93F198F008245E59001E9ABC /* HTMLDocumentParser.h in Headers */,
    1800018010                                93309DE8099E64920056E581 /* htmlediting.h in Headers */,
    1800118011                                93F198E608245E59001E9ABC /* HTMLElement.h in Headers */,
     
    1804218052                                A8EA7CB50A192B9C00A8EF5F /* HTMLParagraphElement.h in Headers */,
    1804318053                                A871D4580A127CBC00B12A68 /* HTMLParamElement.h in Headers */,
    18044                                 93F198EF08245E59001E9ABC /* LegacyHTMLTreeConstructor.h in Headers */,
    1804518054                                BC588AF00BFA6CF900EE679E /* HTMLParserErrorCodes.h in Headers */,
    1804618055                                449B19F50FA72ECE0015CA4A /* HTMLParserQuirks.h in Headers */,
     
    1806418073                                A81369D6097374F600D74463 /* HTMLTextAreaElement.h in Headers */,
    1806518074                                A871DC280A15205700B12A68 /* HTMLTitleElement.h in Headers */,
    18066                                 93F198F008245E59001E9ABC /* HTMLDocumentParser.h in Headers */,
    1806718075                                A8EA79F20A1916DF00A8EF5F /* HTMLUListElement.h in Headers */,
    1806818076                                E44613AB0CD6331000FADA75 /* HTMLVideoElement.h in Headers */,
     
    1808518093                                C56C9163119D84E600DE4CD9 /* IDBEvent.h in Headers */,
    1808618094                                C51DA9A511AEF2C1009799C5 /* IDBIndex.h in Headers */,
     18095                                C51DA9A511AEF2C1009799C5 /* IDBIndex.h in Headers */,
     18096                                C51DA9A711AEF2C1009799C5 /* IDBIndexImpl.h in Headers */,
    1808718097                                C51DA9A711AEF2C1009799C5 /* IDBIndexImpl.h in Headers */,
    1808818098                                C51DA9A911AEF2C1009799C5 /* IDBIndexRequest.h in Headers */,
     18099                                C51DA9A911AEF2C1009799C5 /* IDBIndexRequest.h in Headers */,
     18100                                816C806911BE887E009A45E9 /* IDBKeyRange.h in Headers */,
     18101                                B6693EEC11AD63E6003F2770 /* IDBObjectStore.h in Headers */,
    1808918102                                B6693EEC11AD63E6003F2770 /* IDBObjectStore.h in Headers */,
    1809018103                                B6B0540A11B68F10002564C5 /* IDBObjectStoreImpl.h in Headers */,
     18104                                B6B0540A11B68F10002564C5 /* IDBObjectStoreImpl.h in Headers */,
     18105                                B6693EEE11AD63E6003F2770 /* IDBObjectStoreRequest.h in Headers */,
    1809118106                                B6693EEE11AD63E6003F2770 /* IDBObjectStoreRequest.h in Headers */,
    1809218107                                C5198F571192ECFD002B74A6 /* IDBRequest.h in Headers */,
     
    1832618341                                C56C91A3119D918100DE4CD9 /* JSIDBEvent.h in Headers */,
    1832718342                                C5BBC9D111AEF838007C2BFE /* JSIDBIndexRequest.h in Headers */,
     18343                                C5BBC9D111AEF838007C2BFE /* JSIDBIndexRequest.h in Headers */,
     18344                                816C80AF11BE990D009A45E9 /* JSIDBKeyRange.h in Headers */,
     18345                                B6693EF311AD6486003F2770 /* JSIDBObjectStoreRequest.h in Headers */,
    1832818346                                B6693EF311AD6486003F2770 /* JSIDBObjectStoreRequest.h in Headers */,
    1832918347                                C5F4F40D119306AC00FDFADD /* JSIDBRequest.h in Headers */,
     
    1859118609                                85EC9AFB0A71A2C600EEEAED /* Language.h in Headers */,
    1859218610                                2D9066070BE141D400956998 /* LayoutState.h in Headers */,
     18611                                93F198EF08245E59001E9ABC /* LegacyHTMLTreeConstructor.h in Headers */,
    1859318612                                512DD8F50D91E6AF000F89EE /* LegacyWebArchive.h in Headers */,
    1859418613                                BCE65BEB0EACDF16007E4533 /* Length.h in Headers */,
     
    1877718796                                BCEA4876097D93020094C9E4 /* RenderImage.h in Headers */,
    1877818797                                BCB4F8900DB28DD60039139B /* RenderImageGeneratedContent.h in Headers */,
     18798                                A7AA66D711C5ED6A001D8C8C /* RenderIndicator.h in Headers */,
    1877918799                                BCEA4878097D93020094C9E4 /* RenderInline.h in Headers */,
    1878018800                                BCEA487A097D93020094C9E4 /* RenderLayer.h in Headers */,
     
    1919019210                                B2227ACE0D00BF220071B782 /* SVGTextPathElement.h in Headers */,
    1919119211                                B2227AD10D00BF220071B782 /* SVGTextPositioningElement.h in Headers */,
     19212                                0853D73411C9109000B2FD42 /* SVGTextQuery.h in Headers */,
    1919219213                                B2227AD40D00BF220071B782 /* SVGTitleElement.h in Headers */,
    1919319214                                B2227AD70D00BF220071B782 /* SVGTransform.h in Headers */,
     
    1924719268                                E44613B00CD6331000FADA75 /* TimeRanges.h in Headers */,
    1924819269                                49E912AE0EFAC906009D0CAF /* TimingFunction.h in Headers */,
    19249                                 BCCFBAE80B5152ED0001F1D7 /* DocumentParser.h in Headers */,
    1925019270                                49E911C40EF86D47009D0CAF /* TransformationMatrix.h in Headers */,
    1925119271                                49E911CE0EF86D47009D0CAF /* TransformOperation.h in Headers */,
     
    1930119321                                49C7B9CF1042D32F0009D447 /* WebGLFramebuffer.h in Headers */,
    1930219322                                6E47E66110B7944B00B186C8 /* WebGLGetInfo.h in Headers */,
     19323                                49FFBF3F11C93EE3006A7118 /* WebGLLayer.h in Headers */,
    1930319324                                49C7B9D71042D32F0009D447 /* WebGLProgram.h in Headers */,
    1930419325                                49C7B9DA1042D32F0009D447 /* WebGLRenderbuffer.h in Headers */,
     
    1938519406                                93309E24099E64920056E581 /* WrapContentsInDummySpanCommand.h in Headers */,
    1938619407                                6565820209D1508D000E61D7 /* XLinkNames.h in Headers */,
     19408                                93F1992108245E59001E9ABC /* XMLDocumentParser.h in Headers */,
     19409                                5D15E3AC0F9E6AC1009E0E3F /* XMLDocumentParserScope.h in Headers */,
    1938719410                                BC772C470C4EB2C60083285F /* XMLHttpRequest.h in Headers */,
    1938819411                                BC60D9C90D2A29E500B9918F /* XMLHttpRequestException.h in Headers */,
     
    1939319416                                E15A36D71104572000B7B639 /* XMLNSNames.h in Headers */,
    1939419417                                1ACE53EB0A8D18E70022947D /* XMLSerializer.h in Headers */,
    19395                                 93F1992108245E59001E9ABC /* XMLDocumentParser.h in Headers */,
    19396                                 5D15E3AC0F9E6AC1009E0E3F /* XMLDocumentParserScope.h in Headers */,
    1939719418                                1AB7FC690A8B92EC00D9D37B /* XPathEvaluator.h in Headers */,
    1939819419                                BC60DA5B0D2A31F700B9918F /* XPathException.h in Headers */,
     
    1941919440                                97DD4D870FDF4D6E00ECF9A4 /* XSSAuditor.h in Headers */,
    1942019441                                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 */,
    1943519442                        );
    1943619443                        runOnlyForDeploymentPostprocessing = 0;
     
    1985119858                                BC772B3D0C4EA91E0083285F /* CSSParser.cpp in Sources */,
    1985219859                                BC02A5400E099C5A004B6D2B /* CSSParserValues.cpp in Sources */,
     19860                                976E2BA711CAE4DE006C56A0 /* CSSPreloadScanner.cpp in Sources */,
    1985319861                                A80E6D050A1989CA007FB8C5 /* CSSPrimitiveValue.cpp in Sources */,
    1985419862                                A80E6CF70A1989CA007FB8C5 /* CSSProperty.cpp in Sources */,
     
    2028620294                                6E21C6C01126338500A7BE02 /* GraphicsContext3D.cpp in Sources */,
    2028720295                                6E21C6C21126339900A7BE02 /* GraphicsContext3DCG.cpp in Sources */,
     20296                                49FFBF1D11C8550E006A7118 /* GraphicsContext3DMac.mm in Sources */,
    2028820297                                B2ED97710B1F55CE00257D0F /* GraphicsContextCG.cpp in Sources */,
    2028920298                                B277B4040B22F37C0004BEC6 /* GraphicsContextMac.mm in Sources */,
     
    2029720306                                9363B62C0F8E8FE000803810 /* HistoryPropertyList.cpp in Sources */,
    2029820307                                9307F1D70AF2D59000DBA31A /* HitTestResult.cpp in Sources */,
     20308                                A871038A11A2947000DBD50E /* HTML5DocumentParser.cpp in Sources */,
    2029920309                                976E896011C0CA3A00EA9CA9 /* HTML5EntityParser.cpp in Sources */,
    2030020310                                97E8B35611A23CE200169409 /* HTML5Lexer.cpp in Sources */,
     20311                                97E7936511C6030900E649BC /* HTML5PreloadScanner.cpp in Sources */,
    2030120312                                A83B3AF011ADEFF500458809 /* HTML5ScriptRunner.cpp in Sources */,
    20302                                 A871038A11A2947000DBD50E /* HTML5DocumentParser.cpp in Sources */,
    2030320313                                A879C62511A9D1F70059237A /* HTML5TreeBuilder.cpp in Sources */,
    2030420314                                BC97E23B109144950010D361 /* HTMLAllCollection.cpp in Sources */,
     
    2032420334                                A8EA79F50A1916DF00A8EF5F /* HTMLDListElement.cpp in Sources */,
    2032520335                                93F19A9108245E59001E9ABC /* HTMLDocument.cpp in Sources */,
     20336                                93F19A9C08245E59001E9ABC /* HTMLDocumentParser.cpp in Sources */,
    2032620337                                93309DE7099E64920056E581 /* htmlediting.cpp in Sources */,
    2032720338                                93F19A9208245E59001E9ABC /* HTMLElement.cpp in Sources */,
     
    2036920380                                A8EA7CB20A192B9C00A8EF5F /* HTMLParagraphElement.cpp in Sources */,
    2037020381                                A871D4590A127CBC00B12A68 /* HTMLParamElement.cpp in Sources */,
    20371                                 93F19A9B08245E59001E9ABC /* LegacyHTMLTreeConstructor.cpp in Sources */,
    2037220382                                BC588B4B0BFA723C00EE679E /* HTMLParserErrorCodes.cpp in Sources */,
    2037320383                                A871D4570A127CBC00B12A68 /* HTMLPlugInElement.cpp in Sources */,
     
    2039020400                                A81369D7097374F600D74463 /* HTMLTextAreaElement.cpp in Sources */,
    2039120401                                A871DC290A15205700B12A68 /* HTMLTitleElement.cpp in Sources */,
    20392                                 93F19A9C08245E59001E9ABC /* HTMLDocumentParser.cpp in Sources */,
    2039320402                                A8EA79F30A1916DF00A8EF5F /* HTMLUListElement.cpp in Sources */,
    2039420403                                E44613AA0CD6331000FADA75 /* HTMLVideoElement.cpp in Sources */,
     
    2040420413                                C56C9152119D84CB00DE4CD9 /* IDBAny.cpp in Sources */,
    2040520414                                B627FB2D11AD743500E97B72 /* IDBDatabaseImpl.cpp in Sources */,
     20415                                B627FB2D11AD743500E97B72 /* IDBDatabaseImpl.cpp in Sources */,
    2040620416                                C5198F531192ECFD002B74A6 /* IDBDatabaseRequest.cpp in Sources */,
    2040720417                                C56C915F119D84E600DE4CD9 /* IDBErrorEvent.cpp in Sources */,
    2040820418                                C56C9162119D84E600DE4CD9 /* IDBEvent.cpp in Sources */,
    2040920419                                C51DA9A611AEF2C1009799C5 /* IDBIndexImpl.cpp in Sources */,
     20420                                C51DA9A611AEF2C1009799C5 /* IDBIndexImpl.cpp in Sources */,
    2041020421                                C51DA9A811AEF2C1009799C5 /* IDBIndexRequest.cpp in Sources */,
     20422                                C51DA9A811AEF2C1009799C5 /* IDBIndexRequest.cpp in Sources */,
     20423                                816C806811BE887E009A45E9 /* IDBKeyRange.cpp in Sources */,
    2041120424                                B6B0540911B68F10002564C5 /* IDBObjectStoreImpl.cpp in Sources */,
     20425                                B6B0540911B68F10002564C5 /* IDBObjectStoreImpl.cpp in Sources */,
     20426                                B6693EED11AD63E6003F2770 /* IDBObjectStoreRequest.cpp in Sources */,
    2041220427                                B6693EED11AD63E6003F2770 /* IDBObjectStoreRequest.cpp in Sources */,
    2041320428                                C5198F561192ECFD002B74A6 /* IDBRequest.cpp in Sources */,
     
    2047620491                                418F88040FF957AE0080F045 /* JSAbstractWorker.cpp in Sources */,
    2047720492                                49EECF00105070C400099FAB /* JSArrayBuffer.cpp in Sources */,
     20493                                BC275CB311C5E85C00C9206C /* JSArrayBufferCustom.cpp in Sources */,
    2047820494                                49EECF1B105072F300099FAB /* JSArrayBufferView.cpp in Sources */,
    2047920495                                492273A31083B3B100EE5C84 /* JSArrayBufferViewCustom.cpp in Sources */,
     
    2057420590                                93B70D6909EB0C7C009D8468 /* JSEventListener.cpp in Sources */,
    2057520591                                E0FEF372B47C53EAC1C1FBEE /* JSEventSource.cpp in Sources */,
     20592                                BC275B8111C5D2B400C9206C /* JSEventSourceCustom.cpp in Sources */,
    2057620593                                BC6090200E91B8EC000C68B5 /* JSEventTarget.cpp in Sources */,
    2057720594                                3314ACEB10892086000F0E56 /* JSExceptionBase.cpp in Sources */,
     
    2068420701                                C56C91A2119D918100DE4CD9 /* JSIDBEvent.cpp in Sources */,
    2068520702                                C5BBC9D011AEF838007C2BFE /* JSIDBIndexRequest.cpp in Sources */,
     20703                                C5BBC9D011AEF838007C2BFE /* JSIDBIndexRequest.cpp in Sources */,
     20704                                816C80B111BE9934009A45E9 /* JSIDBKeyRange.cpp in Sources */,
     20705                                B6693EF211AD6486003F2770 /* JSIDBObjectStoreRequest.cpp in Sources */,
    2068620706                                B6693EF211AD6486003F2770 /* JSIDBObjectStoreRequest.cpp in Sources */,
    2068720707                                C5F4F40C119306AC00FDFADD /* JSIDBRequest.cpp in Sources */,
     
    2095420974                                316FE0730E6CCBEE00BF6088 /* JSWebKitCSSKeyframesRule.cpp in Sources */,
    2095520975                                4983913F0F1E767500C23782 /* JSWebKitCSSMatrix.cpp in Sources */,
     20976                                BC275B7D11C5D23500C9206C /* JSWebKitCSSMatrixCustom.cpp in Sources */,
    2095620977                                31611E5A0E1C4DE000F6A579 /* JSWebKitCSSTransformValue.cpp in Sources */,
    2095720978                                494BD79D0F55C94C00747828 /* JSWebKitPoint.cpp in Sources */,
     20979                                BC275B7911C5D1C300C9206C /* JSWebKitPointCustom.cpp in Sources */,
    2095820980                                31C0FF3F0E4CEFAC007D6FE5 /* JSWebKitTransitionEvent.cpp in Sources */,
    2095920981                                5DA5E0FC102B953800088CF9 /* JSWebSocket.cpp in Sources */,
     
    2099521017                                9352084509BD43B900F2038D /* Language.mm in Sources */,
    2099621018                                2D9066060BE141D400956998 /* LayoutState.cpp in Sources */,
     21019                                93F19A9B08245E59001E9ABC /* LegacyHTMLTreeConstructor.cpp in Sources */,
    2099721020                                512DD8F40D91E6AF000F89EE /* LegacyWebArchive.cpp in Sources */,
    2099821021                                51B2417B0D931F3F00E83F5C /* LegacyWebArchiveMac.mm in Sources */,
     
    2115121174                                BCEA4875097D93020094C9E4 /* RenderImage.cpp in Sources */,
    2115221175                                BCB4F8930DB28E530039139B /* RenderImageGeneratedContent.cpp in Sources */,
     21176                                A7AA66D611C5ED6A001D8C8C /* RenderIndicator.cpp in Sources */,
    2115321177                                BCEA4877097D93020094C9E4 /* RenderInline.cpp in Sources */,
    2115421178                                BCEA4879097D93020094C9E4 /* RenderLayer.cpp in Sources */,
     
    2152621550                                B2227AC00D00BF220071B782 /* SVGSymbolElement.cpp in Sources */,
    2152721551                                B2227AC40D00BF220071B782 /* SVGTests.cpp in Sources */,
     21552                                0853D73211C9109000B2FD42 /* SVGTextChunkLayoutInfo.cpp in Sources */,
    2152821553                                B2227AC70D00BF220071B782 /* SVGTextContentElement.cpp in Sources */,
    2152921554                                B2227ACA0D00BF220071B782 /* SVGTextElement.cpp in Sources */,
     
    2153121556                                B2227ACD0D00BF220071B782 /* SVGTextPathElement.cpp in Sources */,
    2153221557                                B2227AD00D00BF220071B782 /* SVGTextPositioningElement.cpp in Sources */,
     21558                                0853D73311C9109000B2FD42 /* SVGTextQuery.cpp in Sources */,
    2153321559                                B2227AD30D00BF220071B782 /* SVGTitleElement.cpp in Sources */,
    2153421560                                B2227AD60D00BF220071B782 /* SVGTransform.cpp in Sources */,
     
    2161421640                                49C7B9CE1042D32F0009D447 /* WebGLFramebuffer.cpp in Sources */,
    2161521641                                6E47E66010B7944B00B186C8 /* WebGLGetInfo.cpp in Sources */,
     21642                                49FFBF4011C93EE3006A7118 /* WebGLLayer.mm in Sources */,
    2161621643                                49C7B9D61042D32F0009D447 /* WebGLProgram.cpp in Sources */,
    2161721644                                49C7B9D91042D32F0009D447 /* WebGLRenderbuffer.cpp in Sources */,
     
    2169021717                                93309E23099E64920056E581 /* WrapContentsInDummySpanCommand.cpp in Sources */,
    2169121718                                A833C7CC0A2CF07400D57664 /* XLinkNames.cpp in Sources */,
     21719                                93F19ABC08245E59001E9ABC /* XMLDocumentParser.cpp in Sources */,
     21720                                54C50F7B0E801DF3009832A0 /* XMLDocumentParserLibxml2.cpp in Sources */,
     21721                                5D15E3AB0F9E6AC1009E0E3F /* XMLDocumentParserScope.cpp in Sources */,
    2169221722                                BC772C460C4EB2C60083285F /* XMLHttpRequest.cpp in Sources */,
    2169321723                                A136A00C1134DBD200CC8D50 /* XMLHttpRequestProgressEventThrottle.cpp in Sources */,
     
    2169621726                                E15A36D91104572700B7B639 /* XMLNSNames.cpp in Sources */,
    2169721727                                1ACE53EA0A8D18E70022947D /* XMLSerializer.cpp in Sources */,
    21698                                 93F19ABC08245E59001E9ABC /* XMLDocumentParser.cpp in Sources */,
    21699                                 54C50F7B0E801DF3009832A0 /* XMLDocumentParserLibxml2.cpp in Sources */,
    21700                                 5D15E3AB0F9E6AC1009E0E3F /* XMLDocumentParserScope.cpp in Sources */,
    2170121728                                1AB7FC680A8B92EC00D9D37B /* XPathEvaluator.cpp in Sources */,
    2170221729                                1AB7FC6B0A8B92EC00D9D37B /* XPathExpression.cpp in Sources */,
     
    2172221749                                E1BE512D0CF6C512002EA959 /* XSLTUnicodeSort.cpp in Sources */,
    2172321750                                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 */,
    2174321751                        );
    2174421752                        runOnlyForDeploymentPostprocessing = 0;
  • trunk/WebCore/css/CSSSelector.cpp

    r61232 r61376  
    175175        return NOPSEUDO;
    176176#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
    177209    case PseudoInputListButton:
    178210#if ENABLE(DATALIST)
     
    305337    DEFINE_STATIC_LOCAL(AtomicString, progressBarValue, ("-webkit-progress-bar-value"));
    306338#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
    307351    DEFINE_STATIC_LOCAL(AtomicString, required, ("required"));
    308352    DEFINE_STATIC_LOCAL(AtomicString, resizer, ("-webkit-resizer"));
     
    402446        nameToPseudoType->set(progressBarValue.impl(), CSSSelector::PseudoProgressBarValue);
    403447#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
    404458        nameToPseudoType->set(root.impl(), CSSSelector::PseudoRoot);
    405459        nameToPseudoType->set(windowInactive.impl(), CSSSelector::PseudoWindowInactive);
     
    484538    case PseudoMediaControlsTimelineContainer:
    485539    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:
    486548    case PseudoOuterSpinButton:
    487549    case PseudoProgressBarValue:
  • trunk/WebCore/css/CSSSelector.h

    r61232 r61376  
    188188            PseudoMediaControlsStatusDisplay,
    189189            PseudoMediaControlsFullscreenButton,
     190            PseudoMeterHorizontalBar,
     191            PseudoMeterVerticalBar,
     192            PseudoMeterHorizontalOptimum,
     193            PseudoMeterHorizontalSuboptimal,
     194            PseudoMeterHorizontalEvenLessGood,
     195            PseudoMeterVerticalOptimum,
     196            PseudoMeterVerticalSuboptimal,
     197            PseudoMeterVerticalEvenLessGood,
    190198            PseudoInputListButton,
    191199            PseudoInnerSpinButton,
  • trunk/WebCore/css/html.css

    r61232 r61376  
    532532}
    533533
     534meter::-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
     539meter::-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
     544meter::-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
     549meter::-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
     554meter::-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
     559meter::-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
     564meter::-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 
     569meter::-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
    534574/* progress */
    535575
  • trunk/WebCore/rendering/RenderIndicator.cpp

    r61375 r61376  
    2121#include "config.h"
    2222
    23 #if ENABLE(METER_TAG)
     23#if ENABLE(PROGRESS_TAG) || ENABLE(METER_TAG)
    2424
    25 #include "RenderMeter.h"
     25#include "RenderIndicator.h"
    2626
    27 #include "HTMLMeterElement.h"
    28 #include "HTMLNames.h"
    2927#include "RenderTheme.h"
    3028
     
    3331namespace WebCore {
    3432
    35 using namespace HTMLNames;
    36 
    37 RenderMeter::RenderMeter(HTMLMeterElement* element)
    38     : RenderBlock(element)
     33RenderIndicator::RenderIndicator(Node* node)
     34    : RenderBlock(node)
    3935{
    4036}
    4137
    42 void RenderMeter::calcWidth()
     38RenderIndicator::~RenderIndicator()
    4339{
    44     RenderBox::calcWidth();
    45     setWidth(theme()->meterSizeForBounds(this, frameRect()).width());
    4640}
    4741
    48 void RenderMeter::calcHeight()
    49 {
    50     RenderBox::calcHeight();
    51     setHeight(theme()->meterSizeForBounds(this, frameRect()).height());
    52 }
    53 
    54 void RenderMeter::layout()
     42void RenderIndicator::layout()
    5543{
    5644    ASSERT(needsLayout());
    5745
    5846    LayoutRepainter repainter(*this, checkForRepaintDuringLayout());
    59 
    6047    calcWidth();
    6148    calcHeight();
    62 
    63     m_overflow.clear();
    64 
     49    layoutParts();
    6550    repainter.repaintAfterLayout();
    66 
    6751    setNeedsLayout(false);
    6852}
    6953
    70 void RenderMeter::updateFromElement()
     54void RenderIndicator::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
    7155{
     56    RenderBlock::styleDidChange(diff, oldStyle);
     57    requestLayoutForParts();
     58}
     59
     60void RenderIndicator::updateFromElement()
     61{
     62    requestLayoutForParts();
    7263    repaint();
     64}
     65
     66bool RenderIndicator::hasParts() const
     67{
     68    if (RenderObject* last = lastChild())
     69        return last->isRenderBlock();
     70    return false;
     71}
     72
     73void RenderIndicator::requestLayoutForParts()
     74{
     75    if (shouldHaveParts() || hasParts())
     76        setNeedsLayout(true);
    7377}
    7478
  • trunk/WebCore/rendering/RenderIndicator.h

    r61375 r61376  
    1919 */
    2020
    21 #ifndef RenderMeter_h
    22 #define RenderMeter_h
     21#ifndef RenderIndicator_h
     22#define RenderIndicator_h
    2323
    24 #if ENABLE(METER_TAG)
     24#if ENABLE(PROGRESS_TAG) || ENABLE(METER_TAG)
    2525#include "RenderBlock.h"
    26 #include "RenderWidget.h"
    2726
    2827namespace WebCore {
    2928
    30 class HTMLMeterElement;
     29class RenderIndicator : public RenderBlock {
     30public:
     31    RenderIndicator(Node*);
     32    virtual ~RenderIndicator();
    3133
    32 class RenderMeter : public RenderBlock {
    33 public:
    34     RenderMeter(HTMLMeterElement*);
     34protected:
     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;
    3542
    3643private:
    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;
    4346};
    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*);
    5347
    5448} // namespace WebCore
     
    5650#endif
    5751
    58 #endif // RenderMeter_h
     52#endif // RenderIndicator_h
    5953
  • trunk/WebCore/rendering/RenderMeter.cpp

    r61094 r61376  
    2828#include "HTMLNames.h"
    2929#include "RenderTheme.h"
     30#include "ShadowElement.h"
    3031
    3132using namespace std;
     
    3637
    3738RenderMeter::RenderMeter(HTMLMeterElement* element)
    38     : RenderBlock(element)
     39    : RenderIndicator(element)
    3940{
     41}
     42
     43RenderMeter::~RenderMeter()
     44{
     45    if (m_valuePart)
     46        m_valuePart->detach();
     47    if (m_barPart)
     48        m_barPart->detach();
    4049}
    4150
     
    5261}
    5362
    54 void RenderMeter::layout()
     63void RenderMeter::layoutParts()
    5564{
    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());
    6872}
    6973
    70 void RenderMeter::updateFromElement()
     74bool RenderMeter::shouldHaveParts() const
    7175{
    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
     85double 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
     97IntRect RenderMeter::barPartRect() const
     98{
     99    return IntRect(borderLeft() + paddingLeft(), borderTop() + paddingTop(), lround(width() - borderLeft() - paddingLeft() - borderRight() - paddingRight()), height()  - borderTop() - paddingTop() - borderBottom() - paddingBottom());
     100}
     101
     102IntRect 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
     122bool RenderMeter::isHorizontal() const
     123{
     124    IntRect rect = barPartRect();
     125    return rect.height() <= rect.width();
     126}
     127
     128PseudoId 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
     156PseudoId RenderMeter::barPseudoId() const
     157{
     158    return isHorizontal() ? METER_HORIZONTAL_BAR : METER_VERTICAL_BAR;
     159}
     160
     161void 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    }
    73182}
    74183
  • trunk/WebCore/rendering/RenderMeter.h

    r60822 r61376  
    2424#if ENABLE(METER_TAG)
    2525#include "RenderBlock.h"
     26#include "RenderProgress.h"
    2627#include "RenderWidget.h"
     28
    2729
    2830namespace WebCore {
    2931
    3032class HTMLMeterElement;
     33class ShadowBlockElement;
    3134
    32 class RenderMeter : public RenderBlock {
     35class RenderMeter : public RenderIndicator {
    3336public:
    3437    RenderMeter(HTMLMeterElement*);
     38    virtual ~RenderMeter();
    3539
    3640private:
    3741    virtual const char* renderName() const { return "RenderMeter"; }
    3842    virtual bool isMeter() const { return true; }
    39     virtual void layout();
    40     virtual void updateFromElement();
    4143    virtual void calcWidth();
    4244    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;
    4359};
    4460
  • trunk/WebCore/rendering/RenderProgress.cpp

    r61293 r61376  
    2525#include "RenderProgress.h"
    2626
     27#include "HTMLNames.h"
    2728#include "HTMLProgressElement.h"
    2829#include "RenderTheme.h"
    29 #include "RenderView.h"
    3030#include "ShadowElement.h"
    3131#include <wtf/CurrentTime.h>
     
    3737
    3838RenderProgress::RenderProgress(HTMLProgressElement* element)
    39     : RenderBlock(element)
     39    : RenderIndicator(element)
    4040    , m_position(-1)
    4141    , m_animationStartTime(0)
     
    4444    , m_animating(false)
    4545    , m_animationTimer(this, &RenderProgress::animationTimerFired)
    46     , m_valuePart(0)
    4746{
    4847}
     
    5453}
    5554
    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    
    10355void RenderProgress::updateFromElement()
    10456{
     
    10961
    11062    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();
    15064}
    15165
     
    17286    }
    17387
    174     RenderBlock::paint(paintInfo, tx, ty);
     88    RenderIndicator::paint(paintInfo, tx, ty);
     89}
     90
     91void RenderProgress::layoutParts()
     92{
     93    updatePartsState();
     94    if (m_valuePart)
     95        m_valuePart->layoutAsPart(valuePartRect());
     96    updateAnimationState();
     97}
     98
     99bool RenderProgress::shouldHaveParts() const
     100{
     101    return !style()->hasAppearance();
     102}
     103
     104void 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    }
    175113}
    176114
     
    192130}
    193131
     132IntRect 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
    194140HTMLProgressElement* RenderProgress::progressElement() const
    195141{
  • trunk/WebCore/rendering/RenderProgress.h

    r60951 r61376  
    2424#if ENABLE(PROGRESS_TAG)
    2525#include "RenderBlock.h"
     26#include "RenderIndicator.h"
    2627
    2728namespace WebCore {
     
    3031class ShadowBlockElement;
    3132
    32 class RenderProgress : public RenderBlock {
     33class RenderProgress : public RenderIndicator {
    3334public:
    3435    RenderProgress(HTMLProgressElement*);
     
    4647    virtual const char* renderName() const { return "RenderProgress"; }
    4748    virtual bool isProgress() const { return true; }
    48     virtual void layout();
    4949    virtual void updateFromElement();
    5050    virtual void paint(PaintInfo&, int tx, int ty);
    51     virtual void styleDidChange(StyleDifference, const RenderStyle* oldStyle);
    5251
    53     virtual bool requiresForcedStyleRecalcPropagation() const { return true; }
     52    virtual void layoutParts();
     53    virtual bool shouldHaveParts() const;
     54
     55    IntRect valuePartRect() const;
    5456
    5557    void animationTimerFired(Timer<RenderProgress>*);
    5658    void updateAnimationState();
    57     void updateValuePartState();
    58     PassRefPtr<RenderStyle> createStyleForValuePart(RenderStyle*);
     59    void updatePartsState();
    5960
    6061    double m_position;
  • trunk/WebCore/rendering/RenderTheme.cpp

    r60822 r61376  
    652652        case MenulistPart:
    653653        case ProgressBarPart:
     654        case MeterPart:
     655        case RelevancyLevelIndicatorPart:
     656        case ContinuousCapacityLevelIndicatorPart:
     657        case DiscreteCapacityLevelIndicatorPart:
     658        case RatingLevelIndicatorPart:
    654659        // FIXME: Uncomment this when making search fields style-able.
    655660        // case SearchFieldPart:
     
    915920}
    916921
    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 
     922bool RenderTheme::supportsMeter(ControlPart, bool) const
     923{
    965924    return false;
    966925}
     926
     927bool RenderTheme::paintMeter(RenderObject*, const RenderObject::PaintInfo&, const IntRect&)
     928{
     929    return true;
     930}
     931
    967932#endif
    968933
  • trunk/WebCore/rendering/RenderTheme.h

    r60822 r61376  
    196196#if ENABLE(METER_TAG)
    197197    virtual IntSize meterSizeForBounds(const RenderMeter*, const IntRect&) const;
     198    virtual bool supportsMeter(ControlPart, bool isHorizontal) const;
    198199#endif
    199200
  • trunk/WebCore/rendering/RenderThemeMac.h

    r60822 r61376  
    8484    virtual IntSize meterSizeForBounds(const RenderMeter*, const IntRect&) const;
    8585    virtual bool paintMeter(RenderObject*, const RenderObject::PaintInfo&, const IntRect&);
     86    virtual bool supportsMeter(ControlPart, bool isHorizontal) const;
    8687#endif
    8788
  • trunk/WebCore/rendering/RenderThemeMac.mm

    r60822 r61376  
    840840}
    841841
     842bool 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
    842856NSLevelIndicatorStyle RenderThemeMac::levelIndicatorStyleFor(ControlPart part) const
    843857{
  • trunk/WebCore/rendering/ShadowElement.cpp

    r61293 r61376  
    2323
    2424#include "HTMLNames.h"
     25#include "RenderTheme.h"
     26#include "RenderView.h"
    2527
    2628namespace WebCore {
     
    3840}
    3941
     42void 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
     63void ShadowBlockElement::updateStyleForPart(PseudoId pseudoId)
     64{
     65    if (renderer()->style()->styleType() != pseudoId)
     66        renderer()->setStyle(createStyleForPart(renderer()->parent(), pseudoId));
     67}
     68
     69PassRefPtr<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
     81PassRefPtr<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
     96bool 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
    40106PassRefPtr<ShadowInputElement> ShadowInputElement::create(Node* shadowParent)
    41107{
  • trunk/WebCore/rendering/ShadowElement.h

    r61293 r61376  
    5656public:
    5757    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
    5863protected:
    5964    ShadowBlockElement(Node*);
     65
     66private:
     67    static PassRefPtr<RenderStyle> createStyleForPart(RenderObject*, PseudoId);
    6068};
    6169
  • trunk/WebCore/rendering/style/RenderStyleConstants.h

    r58228 r61376  
    7676    MEDIA_CONTROLS_STATUS_DISPLAY, SCROLLBAR_THUMB, SCROLLBAR_BUTTON, SCROLLBAR_TRACK, SCROLLBAR_TRACK_PIECE, SCROLLBAR_CORNER, RESIZER,
    7777    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,
    7980    AFTER_LAST_INTERNAL_PSEUDOID,
    8081    FIRST_PUBLIC_PSEUDOID = FIRST_LINE,
Note: See TracChangeset for help on using the changeset viewer.