2011-04-06  MORITA Hajime  <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        [Refactoring] <progress> should not have manual layout code.
        https://bugs.webkit.org/show_bug.cgi?id=57801

        Updated progress-bar-value-pseudo-element.html to have wider coverage and
        follow pseudo class change.

        * fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element.html:
        * platform/chromium/test_expectations.txt:
        * platform/mac/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.checksum:
        * platform/mac/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.png:
        * platform/mac/fast/dom/HTMLProgressElement/progress-bar-value-pseudo-element-expected.txt:
2011-04-06  MORITA Hajime  <morrita@google.com>

        Reviewed by Dimitri Glazkov.

        [Refactoring] <progress> should not have manual layout code.
        https://bugs.webkit.org/show_bug.cgi?id=57801

        - Simplified RenderProgress, removing its custom layout code
        - Introducing ProgressValueElement and ProgressBarElement, replacing
          ProgressBarValueElement.

        Now the structure is almost identical to <meter>,
        other than:
        - RenderProgress has animated painting, thus manages its own timer.
        - Both ProgressValueElement and ProgressBarElement has pseudo classes
          which don't changes during its lifetime.

        * Android.mk:
        * CMakeLists.txt:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * css/html.css:
        (progress):
        (progress::-webkit-progress-bar):
        (progress::-webkit-progress-value):
        * html/HTMLProgressElement.cpp:
        (WebCore::HTMLProgressElement::~HTMLProgressElement):
        (WebCore::HTMLProgressElement::create):
        (WebCore::HTMLProgressElement::attach):
        (WebCore::HTMLProgressElement::didElementStateChange):
        (WebCore::HTMLProgressElement::createShadowSubtree):
        * html/HTMLProgressElement.h:
        * html/shadow/ProgressShadowElement.cpp: Copied from Source/WebCore/html/shadow/ProgressBarValueElement.h.
        (WebCore::ProgressShadowElement::ProgressShadowElement):
        (WebCore::ProgressShadowElement::progressElement):
        (WebCore::ProgressShadowElement::rendererIsNeeded):
        (WebCore::ProgressBarElement::shadowPseudoId):
        (WebCore::ProgressValueElement::shadowPseudoId):
        (WebCore::ProgressValueElement::setWidthPercentage):
        * html/shadow/ProgressShadowElement.h: Renamed from Source/WebCore/html/shadow/ProgressBarValueElement.h.
        (WebCore::ProgressBarElement::ProgressBarElement):
        (WebCore::ProgressBarElement::create):
        (WebCore::ProgressValueElement::ProgressValueElement):
        (WebCore::ProgressValueElement::create):
        * rendering/RenderProgress.cpp:
        (WebCore::RenderProgress::RenderProgress):
        (WebCore::RenderProgress::updateFromElement):
        (WebCore::RenderProgress::animationTimerFired):
        * rendering/RenderProgress.h:
        (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation):
        (WebCore::RenderProgress::canHaveChildren):

git-svn-id: svn://svn.chromium.org/blink/trunk@83065 bbb929c8-8fbe-4397-9dbb-9b2b20218538
diff --git a/Source/WebCore/css/html.css b/Source/WebCore/css/html.css
index ed61740..3e5a782 100644
--- a/Source/WebCore/css/html.css
+++ b/Source/WebCore/css/html.css
@@ -708,16 +708,24 @@
 
 progress {
     -webkit-appearance: progress-bar;
+    -webkit-box-sizing: border-box;
     display: inline-block;
     height: 1em;
     width: 10em;
     vertical-align: -0.2em;
-    background-color: gray;
 }
 
-progress::-webkit-progress-bar-value {
-    -webkit-appearance: progress-bar;
+progress::-webkit-progress-bar {
+    background-color: gray;
+    height: 100%;
+    -webkit-box-sizing: border-box;
+}
+
+progress::-webkit-progress-value {
     background-color: green;
+    height: 100%;
+    width: 50%; /* should be removed later */
+    -webkit-box-sizing: border-box;
 }
 
 /* datagrid */