OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. |
3 * Copyright (C) 2010 Google Inc. All rights reserved. | 3 * Copyright (C) 2010 Google Inc. All rights reserved. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are | 6 * modification, are permitted provided that the following conditions are |
7 * met: | 7 * met: |
8 * | 8 * |
9 * * Redistributions of source code must retain the above copyright | 9 * * Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 11 matching lines...) Expand all Loading... |
22 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | 22 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT |
23 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | 23 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | 24 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | 25 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | 26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | 27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE |
29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
30 */ | 30 */ |
31 | 31 |
32 #ifndef ProgressShadowElement_h | 32 #include "config.h" |
33 #define ProgressShadowElement_h | 33 #include "core/rendering/RenderSliderThumb.h" |
34 | 34 |
35 #include "core/html/HTMLDivElement.h" | 35 #include "core/rendering/RenderTheme.h" |
36 #include "wtf/Forward.h" | 36 #include "core/rendering/style/RenderStyle.h" |
37 | 37 |
38 namespace WebCore { | 38 namespace WebCore { |
39 | 39 |
40 class HTMLProgressElement; | 40 RenderSliderThumb::RenderSliderThumb(SliderThumbElement* element) |
41 | 41 : RenderBlockFlow(element) |
42 class ProgressShadowElement : public HTMLDivElement { | 42 { |
43 public: | |
44 explicit ProgressShadowElement(Document&); | |
45 HTMLProgressElement* progressElement() const; | |
46 | |
47 protected: | |
48 virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE; | |
49 }; | |
50 | |
51 class ProgressInnerElement FINAL : public ProgressShadowElement { | |
52 public: | |
53 DECLARE_NODE_FACTORY(ProgressInnerElement); | |
54 | |
55 private: | |
56 explicit ProgressInnerElement(Document&); | |
57 | |
58 virtual RenderObject* createRenderer(RenderStyle*) OVERRIDE; | |
59 virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE; | |
60 }; | |
61 | |
62 class ProgressBarElement FINAL : public ProgressShadowElement { | |
63 public: | |
64 DECLARE_NODE_FACTORY(ProgressBarElement); | |
65 | |
66 private: | |
67 explicit ProgressBarElement(Document&); | |
68 }; | |
69 | |
70 class ProgressValueElement FINAL : public ProgressShadowElement { | |
71 public: | |
72 DECLARE_NODE_FACTORY(ProgressValueElement); | |
73 void setWidthPercentage(double); | |
74 | |
75 private: | |
76 explicit ProgressValueElement(Document&); | |
77 }; | |
78 | |
79 } | 43 } |
80 | 44 |
81 #endif // ProgressShadowElement_h | 45 void RenderSliderThumb::updateAppearance(RenderStyle* parentStyle) |
| 46 { |
| 47 if (parentStyle->appearance() == SliderVerticalPart) |
| 48 style()->setAppearance(SliderThumbVerticalPart); |
| 49 else if (parentStyle->appearance() == SliderHorizontalPart) |
| 50 style()->setAppearance(SliderThumbHorizontalPart); |
| 51 else if (parentStyle->appearance() == MediaSliderPart) |
| 52 style()->setAppearance(MediaSliderThumbPart); |
| 53 else if (parentStyle->appearance() == MediaVolumeSliderPart) |
| 54 style()->setAppearance(MediaVolumeSliderThumbPart); |
| 55 else if (parentStyle->appearance() == MediaFullScreenVolumeSliderPart) |
| 56 style()->setAppearance(MediaFullScreenVolumeSliderThumbPart); |
| 57 if (style()->hasAppearance()) |
| 58 RenderTheme::theme().adjustSliderThumbSize(style(), toElement(node())); |
| 59 } |
| 60 |
| 61 bool RenderSliderThumb::isSliderThumb() const |
| 62 { |
| 63 return true; |
| 64 } |
| 65 |
| 66 } // namespace WebCore |
OLD | NEW |