diff options
author | Ben Murdoch <benm@google.com> | 2011-06-02 12:07:03 +0100 |
---|---|---|
committer | Ben Murdoch <benm@google.com> | 2011-06-10 10:47:21 +0100 |
commit | 2daae5fd11344eaa88a0d92b0f6d65f8d2255c00 (patch) | |
tree | e4964fbd1cb70599f7718ff03e50ea1dab33890b /Source/WebCore/html/RangeInputType.cpp | |
parent | 87bdf0060a247bfbe668342b87e0874182e0ffa9 (diff) | |
download | external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.zip external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.tar.gz external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.tar.bz2 |
Merge WebKit at r84325: Initial merge by git.
Change-Id: Ic1a909300ecc0a13ddc6b4e784371d2ac6e3d59b
Diffstat (limited to 'Source/WebCore/html/RangeInputType.cpp')
-rw-r--r-- | Source/WebCore/html/RangeInputType.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/Source/WebCore/html/RangeInputType.cpp b/Source/WebCore/html/RangeInputType.cpp index cbec740..22e7f8e 100644 --- a/Source/WebCore/html/RangeInputType.cpp +++ b/Source/WebCore/html/RangeInputType.cpp @@ -39,6 +39,7 @@ #include "MouseEvent.h" #include "PlatformMouseEvent.h" #include "RenderSlider.h" +#include "ShadowRoot.h" #include "SliderThumbElement.h" #include "StepRange.h" #include <limits> @@ -152,7 +153,7 @@ void RangeInputType::handleMouseDownEvent(MouseEvent* event) if (event->button() != LeftButton || event->target() != element()) return; - if (SliderThumbElement* thumb = toSliderThumbElement(element()->shadowRoot())) + if (SliderThumbElement* thumb = shadowSliderThumb()) thumb->dragFrom(event->absoluteLocation()); } @@ -216,7 +217,8 @@ void RangeInputType::handleTouchStartEvent(TouchEvent* touchEvent) void RangeInputType::createShadowSubtree() { - element()->setShadowRoot(SliderThumbElement::create(element()->document())); + ExceptionCode ec = 0; + element()->ensureShadowRoot()->appendChild(SliderThumbElement::create(element()->document()), ec); } RenderObject* RangeInputType::createRenderer(RenderArena* arena, RenderStyle*) const @@ -261,7 +263,7 @@ void RangeInputType::minOrMaxAttributeChanged() void RangeInputType::valueChanged() { - toSliderThumbElement(element()->shadowRoot())->setPositionFromValue(); + shadowSliderThumb()->setPositionFromValue(); } String RangeInputType::fallbackValue() @@ -285,4 +287,10 @@ bool RangeInputType::shouldRespectListAttribute() return true; } +SliderThumbElement* RangeInputType::shadowSliderThumb() const +{ + Node* shadow = element()->shadowRoot(); + return shadow ? toSliderThumbElement(shadow->firstChild()) : 0; +} + } // namespace WebCore |