summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/css/CSSComputedStyleDeclaration.cpp')
-rw-r--r--Source/WebCore/css/CSSComputedStyleDeclaration.cpp45
1 files changed, 25 insertions, 20 deletions
diff --git a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp b/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
index 89564c3..f1c7fdf 100644
--- a/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
+++ b/Source/WebCore/css/CSSComputedStyleDeclaration.cpp
@@ -3,6 +3,7 @@
* Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
* Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org>
* Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com>
+ * Copyright (C) 2011 Sencha, Inc. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -1148,26 +1149,30 @@ PassRefPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValue(int proper
return CSSPrimitiveValue::create(style->listStylePosition());
case CSSPropertyListStyleType:
return CSSPrimitiveValue::create(style->listStyleType());
- case CSSPropertyMarginTop:
- if (renderer && renderer->isBox())
- // FIXME: Supposed to return the percentage if percentage was specified.
- return zoomAdjustedPixelValue(toRenderBox(renderer)->marginTop(), style.get());
- return CSSPrimitiveValue::create(style->marginTop());
- case CSSPropertyMarginRight:
- if (renderer && renderer->isBox())
- // FIXME: Supposed to return the percentage if percentage was specified.
- return zoomAdjustedPixelValue(toRenderBox(renderer)->marginRight(), style.get());
- return CSSPrimitiveValue::create(style->marginRight());
- case CSSPropertyMarginBottom:
- if (renderer && renderer->isBox())
- // FIXME: Supposed to return the percentage if percentage was specified.
- return zoomAdjustedPixelValue(toRenderBox(renderer)->marginBottom(), style.get());
- return CSSPrimitiveValue::create(style->marginBottom());
- case CSSPropertyMarginLeft:
- if (renderer && renderer->isBox())
- // FIXME: Supposed to return the percentage if percentage was specified.
- return zoomAdjustedPixelValue(toRenderBox(renderer)->marginLeft(), style.get());
- return CSSPrimitiveValue::create(style->marginLeft());
+ case CSSPropertyMarginTop: {
+ Length marginTop = style->marginTop();
+ if (marginTop.isPercent())
+ return CSSPrimitiveValue::create(marginTop);
+ return zoomAdjustedPixelValue(marginTop.value(), style.get());
+ }
+ case CSSPropertyMarginRight: {
+ Length marginRight = style->marginRight();
+ if (marginRight.isPercent())
+ return CSSPrimitiveValue::create(marginRight);
+ return zoomAdjustedPixelValue(marginRight.value(), style.get());
+ }
+ case CSSPropertyMarginBottom: {
+ Length marginBottom = style->marginBottom();
+ if (marginBottom.isPercent())
+ return CSSPrimitiveValue::create(marginBottom);
+ return zoomAdjustedPixelValue(marginBottom.value(), style.get());
+ }
+ case CSSPropertyMarginLeft: {
+ Length marginLeft = style->marginLeft();
+ if (marginLeft.isPercent())
+ return CSSPrimitiveValue::create(marginLeft);
+ return zoomAdjustedPixelValue(marginLeft.value(), style.get());
+ }
case CSSPropertyWebkitMarqueeDirection:
return CSSPrimitiveValue::create(style->marqueeDirection());
case CSSPropertyWebkitMarqueeIncrement: