Index: Source/core/rendering/RenderTheme.cpp |
diff --git a/Source/core/rendering/RenderTheme.cpp b/Source/core/rendering/RenderTheme.cpp |
index 02b107cc920c2a1b5cf4605677c9dabb02259890..c749ad4654f841d3ce29efa3a846e580ba8babb7 100644 |
--- a/Source/core/rendering/RenderTheme.cpp |
+++ b/Source/core/rendering/RenderTheme.cpp |
@@ -86,7 +86,7 @@ RenderTheme::RenderTheme() |
{ |
} |
-void RenderTheme::adjustStyle(RenderStyle* style, Element* e, const CachedUAStyle& uaStyle) |
+void RenderTheme::adjustStyle(RenderStyle* style, Element* e, const CachedUAStyle* uaStyle) |
{ |
// Force inline and table display styles to be inline-block (except for table- which is block) |
ControlPart part = style->appearance(); |
@@ -98,7 +98,7 @@ void RenderTheme::adjustStyle(RenderStyle* style, Element* e, const CachedUAStyl |
else if (style->display() == LIST_ITEM || style->display() == TABLE) |
style->setDisplay(BLOCK); |
- if (uaStyle.hasAppearance && isControlStyled(style, uaStyle)) { |
+ if (uaStyle && uaStyle->hasAppearance && isControlStyled(style, uaStyle)) { |
if (part == MenulistPart) { |
style->setAppearance(MenulistButtonPart); |
part = MenulistButtonPart; |
@@ -568,8 +568,10 @@ static bool isBackgroundOrBorderStyled(const RenderStyle& style, const CachedUAS |
|| style.visitedDependentColor(CSSPropertyBackgroundColor) != uaStyle.backgroundColor; |
} |
-bool RenderTheme::isControlStyled(const RenderStyle* style, const CachedUAStyle& uaStyle) const |
+bool RenderTheme::isControlStyled(const RenderStyle* style, const CachedUAStyle* uaStyle) const |
{ |
+ ASSERT(uaStyle); |
+ |
switch (style->appearance()) { |
case PushButtonPart: |
case SquareButtonPart: |
@@ -580,14 +582,14 @@ bool RenderTheme::isControlStyled(const RenderStyle* style, const CachedUAStyle& |
case ContinuousCapacityLevelIndicatorPart: |
case DiscreteCapacityLevelIndicatorPart: |
case RatingLevelIndicatorPart: |
- return isBackgroundOrBorderStyled(*style, uaStyle); |
+ return isBackgroundOrBorderStyled(*style, *uaStyle); |
case ListboxPart: |
case MenulistPart: |
case SearchFieldPart: |
case TextAreaPart: |
case TextFieldPart: |
- return isBackgroundOrBorderStyled(*style, uaStyle) || style->boxShadow(); |
+ return isBackgroundOrBorderStyled(*style, *uaStyle) || style->boxShadow(); |
case SliderHorizontalPart: |
case SliderVerticalPart: |