summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/css/CSSPrimitiveValue.cpp
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2011-05-25 08:15:24 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-05-25 08:15:24 -0700
commitfa91a01aee5d4a80ca6c80f722116b850f09996c (patch)
treef72740e60d3c3d4f0ab144e88c03d1f134944ce3 /Source/WebCore/css/CSSPrimitiveValue.cpp
parent96f37d6d1b390f6690858789706ee6ec25bc1677 (diff)
parentfeebf8e7a79ad68b04a1a948e2b8078d6e5f0048 (diff)
downloadexternal_webkit-fa91a01aee5d4a80ca6c80f722116b850f09996c.zip
external_webkit-fa91a01aee5d4a80ca6c80f722116b850f09996c.tar.gz
external_webkit-fa91a01aee5d4a80ca6c80f722116b850f09996c.tar.bz2
Merge changes I78ff6a85,Ic85c6405,Ibf903baa,I3a0459db,I35140385,I54790419,I6bfe5d24,Ia9f39b83,I5bcecd5a,I1de96683,I543c6810,I8a5b0878,I0ae670bf,Ide4d58dc,I28ebaf3d,I499d6631,Ie5090e0d,I6d3e5f1f
* changes: Merge WebKit at r78450: Update ThirdPartyProject.prop Merge WebKit at r78450: Add new Font::canExpandAroundIdeographsInComplexText() Merge WebKit at r78450: Add new ChromeClient::selectItemAlignmentFollowsMenuWritingDirection() Merge WebKit at r78450: FrameLoaderClient::didRunInsecureContent() signature changed Merge WebKit at r78450: HTMLAreaElement::getRect() renamed Merge WebKit at r78450: FrameLoader::url() removed Merge WebKit at r78450: HTMLParserQuirks removed Merge WebKit at r78450: TextRun::padding() renamed Merge WebKit at r78450: Use new FontMetrics Merge WebKit at r78450: GraphicsContext current path removed Merge WebKit at r78450: TransformationMatrix multiply methods renamed and meaning changed Merge WebKit at r78450: FontCustomPlatformData::fontPlatformData() signature changed Merge WebKit at r78450: IntRect::bottom()/right() renamed Merge WebKit at r78450: Fix remaining conflicts Merge WebKit at r78450: Fix conflicts due to new ENABLE_WEB_ARCHIVE guard Merge WebKit at r78450: Fix conflicts in media controls Merge WebKit at r78450: Fix Makefiles Merge WebKit at r78450: Initial merge by git.
Diffstat (limited to 'Source/WebCore/css/CSSPrimitiveValue.cpp')
-rw-r--r--Source/WebCore/css/CSSPrimitiveValue.cpp87
1 files changed, 11 insertions, 76 deletions
diff --git a/Source/WebCore/css/CSSPrimitiveValue.cpp b/Source/WebCore/css/CSSPrimitiveValue.cpp
index ce1b87b..6d930bd 100644
--- a/Source/WebCore/css/CSSPrimitiveValue.cpp
+++ b/Source/WebCore/css/CSSPrimitiveValue.cpp
@@ -127,10 +127,20 @@ PassRefPtr<CSSPrimitiveValue> CSSPrimitiveValue::createColor(unsigned rgbValue)
// These are the empty and deleted values of the hash table.
if (rgbValue == Color::transparent) {
static CSSPrimitiveValue* colorTransparent = createUncachedColor(Color::transparent).releaseRef();
+#if CPU(ARM) && OS(LINUX)
+ // A workaround for gcc bug on ARM.
+ if (!colorTransparent)
+ return 0;
+#endif
return colorTransparent;
}
if (rgbValue == Color::white) {
static CSSPrimitiveValue* colorWhite = createUncachedColor(Color::white).releaseRef();
+#if CPU(ARM) && OS(LINUX)
+ // A workaround for gcc bug on ARM.
+ if (!colorWhite)
+ return 0;
+#endif
return colorWhite;
}
RefPtr<CSSPrimitiveValue> primitiveValue = colorValueCache->get(rgbValue);
@@ -400,7 +410,7 @@ double CSSPrimitiveValue::computeLengthDouble(RenderStyle* style, RenderStyle* r
// We really need to compute EX using fontMetrics for the original specifiedSize and not use
// our actual constructed rendering font.
applyZoomMultiplier = false;
- factor = style->font().xHeight();
+ factor = style->fontMetrics().xHeight();
break;
case CSS_REMS:
applyZoomMultiplier = false;
@@ -914,81 +924,6 @@ String CSSPrimitiveValue::cssText() const
return text;
}
-CSSParserValue CSSPrimitiveValue::parserValue() const
-{
- // We only have to handle a subset of types.
- CSSParserValue value;
- value.id = 0;
- value.isInt = false;
- value.unit = CSSPrimitiveValue::CSS_IDENT;
- switch (m_type) {
- case CSS_NUMBER:
- case CSS_PERCENTAGE:
- case CSS_EMS:
- case CSS_EXS:
- case CSS_REMS:
- case CSS_PX:
- case CSS_CM:
- case CSS_MM:
- case CSS_IN:
- case CSS_PT:
- case CSS_PC:
- case CSS_DEG:
- case CSS_RAD:
- case CSS_GRAD:
- case CSS_MS:
- case CSS_S:
- case CSS_HZ:
- case CSS_KHZ:
- case CSS_DIMENSION:
- case CSS_TURN:
- value.fValue = m_value.num;
- value.unit = m_type;
- break;
- case CSS_STRING:
- case CSS_URI:
- case CSS_PARSER_HEXCOLOR:
- value.string.characters = const_cast<UChar*>(m_value.string->characters());
- value.string.length = m_value.string->length();
- value.unit = m_type;
- break;
- case CSS_IDENT: {
- value.id = m_value.ident;
- const AtomicString& name = valueOrPropertyName(m_value.ident);
- value.string.characters = const_cast<UChar*>(name.characters());
- value.string.length = name.length();
- break;
- }
- case CSS_PARSER_OPERATOR:
- value.iValue = m_value.ident;
- value.unit = CSSParserValue::Operator;
- break;
- case CSS_PARSER_INTEGER:
- value.fValue = m_value.num;
- value.unit = CSSPrimitiveValue::CSS_NUMBER;
- value.isInt = true;
- break;
- case CSS_PARSER_IDENTIFIER:
- value.string.characters = const_cast<UChar*>(m_value.string->characters());
- value.string.length = m_value.string->length();
- value.unit = CSSPrimitiveValue::CSS_IDENT;
- break;
- case CSS_UNKNOWN:
- case CSS_ATTR:
- case CSS_COUNTER:
- case CSS_RECT:
- case CSS_RGBCOLOR:
- case CSS_PAIR:
-#if ENABLE(DASHBOARD_SUPPORT)
- case CSS_DASHBOARD_REGION:
-#endif
- ASSERT_NOT_REACHED();
- break;
- }
-
- return value;
-}
-
void CSSPrimitiveValue::addSubresourceStyleURLs(ListHashSet<KURL>& urls, const CSSStyleSheet* styleSheet)
{
if (m_type == CSS_URI)