Index: Source/core/css/CSSComputedStyleDeclaration.cpp |
diff --git a/Source/core/css/CSSComputedStyleDeclaration.cpp b/Source/core/css/CSSComputedStyleDeclaration.cpp |
index 71388a91418b0bf74277c69bdbe7ac7d9a9b6dae..d51432b41195d9175f20708ec3b8605e877a90e7 100644 |
--- a/Source/core/css/CSSComputedStyleDeclaration.cpp |
+++ b/Source/core/css/CSSComputedStyleDeclaration.cpp |
@@ -4,6 +4,7 @@ |
* Copyright (C) 2007 Alexey Proskuryakov <ap@webkit.org> |
* Copyright (C) 2007 Nicholas Shanks <webkit@nickshanks.com> |
* Copyright (C) 2011 Sencha, Inc. All rights reserved. |
+ * Copyright (C) 2013 Opera Software ASA. All rights reserved. |
fs
2014/04/14 12:32:01
Update year. (In all files where it's been added.)
Krzysztof Olczyk
2014/04/17 13:48:40
Done.
|
* |
* This library is free software; you can redistribute it and/or |
* modify it under the terms of the GNU Lesser General Public |
@@ -152,6 +153,10 @@ static const CSSPropertyID staticComputableProperties[] = { |
CSSPropertyMaxWidth, |
CSSPropertyMinHeight, |
CSSPropertyMinWidth, |
+ CSSPropertyNavDown, |
+ CSSPropertyNavLeft, |
+ CSSPropertyNavRight, |
+ CSSPropertyNavUp, |
CSSPropertyMixBlendMode, |
CSSPropertyObjectFit, |
CSSPropertyObjectPosition, |
@@ -1362,6 +1367,36 @@ static PassRefPtrWillBeRawPtr<CSSValue> valueForCounterDirectives(const RenderSt |
return list.release(); |
} |
+static PassRefPtr<CSSValue> valueForNavigationDirection(const RenderStyle& style, CSSPropertyID propertyID) |
fs
2014/04/14 12:32:01
The return type should now be PassRefPtrWillBeRawP
Krzysztof Olczyk
2014/04/17 13:48:40
Done.
|
+{ |
+ StyleNavigationValue navValue; |
+ |
+ if (StyleNavigationData* navigationData = style.navigation()) { |
+ switch (propertyID) { |
+ case CSSPropertyNavUp: |
+ navValue = navigationData->up(); |
+ break; |
+ case CSSPropertyNavDown: |
+ navValue = navigationData->down(); |
+ break; |
+ case CSSPropertyNavLeft: |
+ navValue = navigationData->left(); |
+ break; |
+ case CSSPropertyNavRight: |
+ navValue = navigationData->right(); |
+ break; |
+ default: |
+ ASSERT_NOT_REACHED(); |
+ break; |
+ } |
+ } |
+ RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated(); |
fs
2014/04/14 12:32:01
...WillBeRawPtr (like above.)
Krzysztof Olczyk
2014/04/17 13:48:40
Done.
|
+ list->append(cssValuePool().createValue(navValue.id(), CSSPrimitiveValue::CSS_STRING)); |
fs
2014/04/14 12:32:01
Spec says: "Computed value: as specified", so I'd
Krzysztof Olczyk
2014/04/17 13:48:40
Done.
|
+ list->append(cssValuePool().createValue(navValue.target(), CSSPrimitiveValue::CSS_STRING)); |
+ |
+ return list.release(); |
+} |
+ |
static void logUnimplementedPropertyID(CSSPropertyID propertyID) |
{ |
DEFINE_STATIC_LOCAL(HashSet<CSSPropertyID>, propertyIDSet, ()); |
@@ -2076,6 +2111,11 @@ PassRefPtrWillBeRawPtr<CSSValue> CSSComputedStyleDeclaration::getPropertyCSSValu |
return zoomAdjustedPixelValueForLength(marginLeft, *style); |
return zoomAdjustedPixelValue(toRenderBox(renderer)->marginLeft(), *style); |
} |
+ case CSSPropertyNavDown: |
+ case CSSPropertyNavLeft: |
+ case CSSPropertyNavRight: |
+ case CSSPropertyNavUp: |
+ return valueForNavigationDirection(*style, propertyID); |
case CSSPropertyWebkitUserModify: |
return cssValuePool().createValue(style->userModify()); |
case CSSPropertyMaxHeight: { |