summaryrefslogtreecommitdiffstats
path: root/WebCore/rendering/RenderTheme.cpp
diff options
context:
space:
mode:
authorFeng Qian <>2009-04-10 18:11:29 -0700
committerThe Android Open Source Project <initial-contribution@android.com>2009-04-10 18:11:29 -0700
commit8f72e70a9fd78eec56623b3a62e68f16b7b27e28 (patch)
tree181bf9a400c30a1bf34ea6d72560e8d00111d549 /WebCore/rendering/RenderTheme.cpp
parent7ed56f225e0ade046e1c2178977f72b2d896f196 (diff)
downloadexternal_webkit-8f72e70a9fd78eec56623b3a62e68f16b7b27e28.zip
external_webkit-8f72e70a9fd78eec56623b3a62e68f16b7b27e28.tar.gz
external_webkit-8f72e70a9fd78eec56623b3a62e68f16b7b27e28.tar.bz2
AI 145796: Land the WebKit merge @r42026.
Automated import of CL 145796
Diffstat (limited to 'WebCore/rendering/RenderTheme.cpp')
-rw-r--r--WebCore/rendering/RenderTheme.cpp52
1 files changed, 34 insertions, 18 deletions
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<Element*>(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<Element*>(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<Element*>(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<Element*>(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
{
}