From 8f72e70a9fd78eec56623b3a62e68f16b7b27e28 Mon Sep 17 00:00:00 2001 From: Feng Qian <> Date: Fri, 10 Apr 2009 18:11:29 -0700 Subject: AI 145796: Land the WebKit merge @r42026. Automated import of CL 145796 --- WebCore/rendering/RenderTheme.cpp | 52 +++++++++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 18 deletions(-) (limited to 'WebCore/rendering/RenderTheme.cpp') diff --git a/WebCore/rendering/RenderTheme.cpp b/WebCore/rendering/RenderTheme.cpp index e7fa5de..f82f48c 100644 --- a/WebCore/rendering/RenderTheme.cpp +++ b/WebCore/rendering/RenderTheme.cpp @@ -581,7 +581,7 @@ ControlStates RenderTheme::controlStatesForRenderer(const RenderObject* o) const bool RenderTheme::isActive(const RenderObject* o) const { - Node* node = o->element(); + Node* node = o->node(); if (!node) return false; @@ -598,28 +598,43 @@ bool RenderTheme::isActive(const RenderObject* o) const bool RenderTheme::isChecked(const RenderObject* o) const { - if (!o->element()) + if (!o->node() || !o->node()->isElementNode()) return false; - return o->element()->isChecked(); + + InputElement* inputElement = toInputElement(static_cast(o->node())); + if (!inputElement) + return false; + + return inputElement->isChecked(); } bool RenderTheme::isIndeterminate(const RenderObject* o) const { - if (!o->element()) + if (!o->node() || !o->node()->isElementNode()) + return false; + + InputElement* inputElement = toInputElement(static_cast(o->node())); + if (!inputElement) return false; - return o->element()->isIndeterminate(); + + return inputElement->isIndeterminate(); } bool RenderTheme::isEnabled(const RenderObject* o) const { - if (!o->element()) + if (!o->node() || !o->node()->isElementNode()) + return true; + + FormControlElement* formControlElement = toFormControlElement(static_cast(o->node())); + if (!formControlElement) return true; - return o->element()->isEnabled(); + + return formControlElement->isEnabled(); } bool RenderTheme::isFocused(const RenderObject* o) const { - Node* node = o->element(); + Node* node = o->node(); if (!node) return false; Document* document = node->document(); @@ -629,23 +644,28 @@ bool RenderTheme::isFocused(const RenderObject* o) const bool RenderTheme::isPressed(const RenderObject* o) const { - if (!o->element()) + if (!o->node()) return false; - return o->element()->active(); + return o->node()->active(); } bool RenderTheme::isReadOnlyControl(const RenderObject* o) const { - if (!o->element()) + if (!o->node() || !o->node()->isElementNode()) + return false; + + FormControlElement* formControlElement = toFormControlElement(static_cast(o->node())); + if (!formControlElement) return false; - return o->element()->isReadOnlyControl(); + + return formControlElement->isReadOnlyControl(); } bool RenderTheme::isHovered(const RenderObject* o) const { - if (!o->element()) + if (!o->node()) return false; - return o->element()->hovered(); + return o->node()->hovered(); } bool RenderTheme::isDefault(const RenderObject* o) const @@ -721,10 +741,6 @@ void RenderTheme::adjustMenuListButtonStyle(CSSStyleSelector*, RenderStyle*, Ele { } -void RenderTheme::adjustButtonInnerStyle(RenderStyle*) const -{ -} - void RenderTheme::adjustSliderTrackStyle(CSSStyleSelector*, RenderStyle*, Element*) const { } -- cgit v1.1