WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
ROLLOUT of r110126
bug-80558-20120308023145.patch (text/plain), 28.70 KB, created by
WebKit Review Bot
on 2012-03-07 18:29:26 PST
(
hide
)
Description:
ROLLOUT of r110126
Filename:
MIME Type:
Creator:
WebKit Review Bot
Created:
2012-03-07 18:29:26 PST
Size:
28.70 KB
patch
obsolete
>Subversion Revision: 110128 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 2b9ec553d9cb85dec06a91e117f2d710e522008f..58953374e8d488df1453982b15108d7527a3939d 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,42 @@ >+2012-03-07 Sheriff Bot <webkit.review.bot@gmail.com> >+ >+ Unreviewed, rolling out r110126. >+ http://trac.webkit.org/changeset/110126 >+ https://bugs.webkit.org/show_bug.cgi?id=80558 >+ >+ compile failed on AppleMac (Requested by ukai on #webkit). >+ >+ * WebCore.exp.in: >+ * css/CSSCalculationValue.cpp: >+ * css/CSSCalculationValue.h: >+ (WebCore): >+ (CSSCalcExpressionNode): >+ (CSSCalcValue): >+ * css/CSSPrimitiveValue.cpp: >+ (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): >+ * css/CSSStyleApplyProperty.cpp: >+ (WebCore::ApplyPropertyLength::applyValue): >+ * css/CSSStyleSelector.cpp: >+ (WebCore::CSSStyleSelector::collectMatchingRulesForList): >+ * css/CSSStyleSelector.h: >+ * platform/CalculationValue.cpp: >+ * platform/CalculationValue.h: >+ * platform/Length.cpp: >+ (WebCore::newLengthArray): >+ * platform/Length.h: >+ (WebCore::Length::operator*=): >+ (WebCore::Length::value): >+ (WebCore::Length::setValue): >+ (Length): >+ (WebCore::Length::calcValue): >+ (WebCore::Length::calcMinValue): >+ (WebCore::Length::calcFloatValue): >+ (WebCore::Length::isZero): >+ (WebCore::Length::isPositive): >+ (WebCore::Length::isNegative): >+ (WebCore::Length::isPercent): >+ (WebCore::Length::isSpecified): >+ > 2012-03-05 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org> > > Make Node::dumpStatistics() work again >diff --git a/Source/WebCore/WebCore.exp.in b/Source/WebCore/WebCore.exp.in >index 9b5ba9217ef1030621e3597edeeeb48039841bfc..d9aebf7b09f142673f12c9d40a337c3f3c320863 100644 >--- a/Source/WebCore/WebCore.exp.in >+++ b/Source/WebCore/WebCore.exp.in >@@ -1422,7 +1422,6 @@ __ZNK7WebCore6Editor7canEditEv > __ZNK7WebCore6Editor8canPasteEv > __ZNK7WebCore6Editor9canDeleteEv > __ZNK7WebCore6JSNode21pushEventHandlerScopeEPN3JSC9ExecStateEPNS1_14ScopeChainNodeE >-__ZNK7WebCore6Length22decrementCalculatedRefEv > __ZNK7WebCore6Region5rectsEv > __ZNK7WebCore6Widget14platformWidgetEv > __ZNK7WebCore6Widget23convertToContainingViewERKNS_7IntRectE >diff --git a/Source/WebCore/css/CSSCalculationValue.cpp b/Source/WebCore/css/CSSCalculationValue.cpp >index 7828c6542d3c821f30a5f38e95fe5dee2da8ced0..87fa73782726817ce0f32bc060bae2b9afcda98b 100755 >--- a/Source/WebCore/css/CSSCalculationValue.cpp >+++ b/Source/WebCore/css/CSSCalculationValue.cpp >@@ -114,25 +114,6 @@ public: > return m_value->cssText(); > } > >- virtual PassOwnPtr<CalcExpressionNode> toCalcValue(RenderStyle* style, RenderStyle* rootStyle, double zoom) const >- { >- switch (m_category) { >- case CalcNumber: >- return adoptPtr(new CalcExpressionNumber(m_value->getFloatValue())); >- case CalcLength: >- return adoptPtr(new CalcExpressionNumber(m_value->computeLength<float>(style, rootStyle, zoom))); >- case CalcPercent: >- case CalcPercentLength: >- return adoptPtr(new CalcExpressionLength(CSSStyleSelector::convertToFloatLength(m_value.get(), style, rootStyle, zoom))); >- // Only types that could be part of a Length expression can be converted >- // to a CalcExpressionNode. CalcPercentNumber makes no sense as a Length. >- case CalcPercentNumber: >- case CalcOther: >- ASSERT_NOT_REACHED(); >- } >- return nullptr; >- } >- > virtual double doubleValue() const > { > switch (m_category) { >@@ -227,17 +208,6 @@ public: > return !doubleValue(); > } > >- virtual PassOwnPtr<CalcExpressionNode> toCalcValue(RenderStyle* style, RenderStyle* rootStyle, double zoom) const >- { >- OwnPtr<CalcExpressionNode> left(m_leftSide->toCalcValue(style, rootStyle, zoom)); >- if (!left) >- return nullptr; >- OwnPtr<CalcExpressionNode> right(m_rightSide->toCalcValue(style, rootStyle, zoom)); >- if (!right) >- return nullptr; >- return adoptPtr(new CalcExpressionBinaryOperation(left.release(), right.release(), m_operator)); >- } >- > virtual double doubleValue() const > { > return evaluate(m_leftSide->doubleValue(), m_rightSide->doubleValue()); >diff --git a/Source/WebCore/css/CSSCalculationValue.h b/Source/WebCore/css/CSSCalculationValue.h >index ac9be46d33ada3299c915fd34d3d8c60458385c5..7c3667125b5d7b12e57e3fbfbbdcc2f70bc340f3 100755 >--- a/Source/WebCore/css/CSSCalculationValue.h >+++ b/Source/WebCore/css/CSSCalculationValue.h >@@ -43,7 +43,7 @@ namespace WebCore { > class CSSParserValueList; > class CSSValueList; > class RenderStyle; >-class CalculationValue; >+class CalcValue; > class CalcExpressionNode; > > enum CalculationCategory { >@@ -58,9 +58,8 @@ enum CalculationCategory { > class CSSCalcExpressionNode : public RefCounted<CSSCalcExpressionNode> { > public: > >- virtual ~CSSCalcExpressionNode() = 0; >+ virtual ~CSSCalcExpressionNode() = 0; > virtual bool isZero() const = 0; >- virtual PassOwnPtr<CalcExpressionNode> toCalcValue(RenderStyle*, RenderStyle* rootStyle, double zoom = 1.0) const = 0; > virtual double doubleValue() const = 0; > virtual double computeLengthPx(RenderStyle* currentStyle, RenderStyle* rootStyle, double multiplier = 1.0, bool computingFontSize = false) const = 0; > >@@ -81,12 +80,7 @@ protected: > class CSSCalcValue : public CSSValue { > public: > static PassRefPtr<CSSCalcValue> create(CSSParserString name, CSSParserValueList*, CalculationPermittedValueRange); >- static PassRefPtr<CSSCalcValue> create(CalculationValue*); > >- PassRefPtr<CalculationValue> toCalcValue(RenderStyle* style, RenderStyle* rootStyle, double zoom = 1.0) const >- { >- return CalculationValue::create(m_expression->toCalcValue(style, rootStyle, zoom), m_nonNegative ? CalculationRangeNonNegative : CalculationRangeAll); >- } > CalculationCategory category() const { return m_expression->category(); } > bool isInt() const { return m_expression->isInteger(); } > double doubleValue() const; >diff --git a/Source/WebCore/css/CSSPrimitiveValue.cpp b/Source/WebCore/css/CSSPrimitiveValue.cpp >index 9d213dcdd149b40dff81b0fd8e8e42d8740273c4..1ddfb799c471ce6162375306c470239683c62053 100644 >--- a/Source/WebCore/css/CSSPrimitiveValue.cpp >+++ b/Source/WebCore/css/CSSPrimitiveValue.cpp >@@ -266,7 +266,6 @@ CSSPrimitiveValue::CSSPrimitiveValue(const Length& length) > ASSERT(isfinite(length.percent())); > m_value.num = length.percent(); > break; >- case Calculated: > case Relative: > case Undefined: > ASSERT_NOT_REACHED(); >diff --git a/Source/WebCore/css/CSSStyleApplyProperty.cpp b/Source/WebCore/css/CSSStyleApplyProperty.cpp >index a75083c58dd211db636c5ea3c2a61ba30ae7bce5..b2516cd997510f27c1ff07734de08dd836cb4e64 100644 >--- a/Source/WebCore/css/CSSStyleApplyProperty.cpp >+++ b/Source/WebCore/css/CSSStyleApplyProperty.cpp >@@ -26,7 +26,6 @@ > #include "CSSStyleApplyProperty.h" > > #include "CSSAspectRatioValue.h" >-#include "CSSCalculationValue.h" > #include "CSSCursorImageValue.h" > #include "CSSFlexValue.h" > #include "CSSPrimitiveValueMappings.h" >@@ -390,8 +389,6 @@ public: > setValue(selector->style(), length); > } else if (primitiveValue->isPercentage()) > setValue(selector->style(), Length(primitiveValue->getDoubleValue(), Percent)); >- else if (primitiveValue->isCalculatedPercentageWithLength()) >- setValue(selector->style(), Length(primitiveValue->cssCalcValue()->toCalcValue(selector->style(), selector->rootElementStyle(), selector->style()->effectiveZoom()))); > } > } > >diff --git a/Source/WebCore/css/CSSStyleSelector.cpp b/Source/WebCore/css/CSSStyleSelector.cpp >index 0307b95d6bfc1b8911b12c25fe5f5529985b0612..5cb6944b0f7928341fb6aaab61445dac43b94cb4 100644 >--- a/Source/WebCore/css/CSSStyleSelector.cpp >+++ b/Source/WebCore/css/CSSStyleSelector.cpp >@@ -30,12 +30,10 @@ > > #include "Attribute.h" > #include "CachedImage.h" >-#include "CalculationValue.h" > #include "ContentData.h" > #include "Counter.h" > #include "CounterContent.h" > #include "CSSBorderImage.h" >-#include "CSSCalculationValue.h" > #include "CSSCursorImageValue.h" > #include "CSSFontFaceRule.h" > #include "CSSFontSelector.h" >@@ -2549,12 +2547,12 @@ static Length convertToLength(CSSPrimitiveValue* primitiveValue, RenderStyle* st > return l; > } > >-Length CSSStyleSelector::convertToIntLength(CSSPrimitiveValue* primitiveValue, RenderStyle* style, RenderStyle* rootStyle, double multiplier) >+static Length convertToIntLength(CSSPrimitiveValue* primitiveValue, RenderStyle* style, RenderStyle* rootStyle, double multiplier = 1) > { > return convertToLength(primitiveValue, style, rootStyle, false, multiplier); > } > >-Length CSSStyleSelector::convertToFloatLength(CSSPrimitiveValue* primitiveValue, RenderStyle* style, RenderStyle* rootStyle, double multiplier) >+static Length convertToFloatLength(CSSPrimitiveValue* primitiveValue, RenderStyle* style, RenderStyle* rootStyle, double multiplier = 1) > { > return convertToLength(primitiveValue, style, rootStyle, true, multiplier); > } >diff --git a/Source/WebCore/css/CSSStyleSelector.h b/Source/WebCore/css/CSSStyleSelector.h >index 099a9a73e94592e94e8bd9820078820d46110b2b..e3c704d39290ffab493023aea4f7cd3b9a30100a 100644 >--- a/Source/WebCore/css/CSSStyleSelector.h >+++ b/Source/WebCore/css/CSSStyleSelector.h >@@ -362,9 +362,6 @@ public: > bool applyPropertyToRegularStyle() const { return m_applyPropertyToRegularStyle; } > bool applyPropertyToVisitedLinkStyle() const { return m_applyPropertyToVisitedLinkStyle; } > >- static Length convertToIntLength(CSSPrimitiveValue*, RenderStyle*, RenderStyle* rootStyle, double multiplier = 1); >- static Length convertToFloatLength(CSSPrimitiveValue*, RenderStyle*, RenderStyle* rootStyle, double multiplier = 1); >- > private: > static RenderStyle* s_styleNotYetAvailable; > >diff --git a/Source/WebCore/platform/CalculationValue.cpp b/Source/WebCore/platform/CalculationValue.cpp >index 57413fbfeb1a88979a2437f5b603cd7a4b59da4a..b9e38581adad8b19648adcaed0e7f4395351f627 100755 >--- a/Source/WebCore/platform/CalculationValue.cpp >+++ b/Source/WebCore/platform/CalculationValue.cpp >@@ -31,43 +31,6 @@ > #include "config.h" > #include "CalculationValue.h" > >-#include <limits> >- > namespace WebCore { > >-float CalcExpressionBinaryOperation::evaluate(float maxValue) const >-{ >- float left = m_leftSide->evaluate(maxValue); >- float right = m_rightSide->evaluate(maxValue); >- switch (m_operator) { >- case CalcAdd: >- return left + right; >- case CalcSubtract: >- return left - right; >- case CalcMultiply: >- return left * right; >- case CalcDivide: >- if (!right) >- return std::numeric_limits<float>::quiet_NaN(); >- return left / right; >- } >- ASSERT_NOT_REACHED(); >- return std::numeric_limits<float>::quiet_NaN(); >-} >- >-PassRefPtr<CalculationValue> CalculationValue::create(PassOwnPtr<CalcExpressionNode> value, CalculationPermittedValueRange range) >-{ >- return adoptRef(new CalculationValue(value, range)); >-} >- >-float CalculationValue::evaluate(float maxValue) const >-{ >- float result = m_value->evaluate(maxValue); >- // FIXME calc https://webkit.org/b/80411 : result is NaN when there is a division >- // by zero which isn't found at parse time. >- if (isnan(result)) >- return 0; >- return m_isNonNegative && result < 0 ? 0 : result; >-} >- > } // namespace WebCore >diff --git a/Source/WebCore/platform/CalculationValue.h b/Source/WebCore/platform/CalculationValue.h >index c55845542110a775f32c8787f9f699991d93e55c..d89445e806cb5ee80f9f41f90787f8a5b89e382a 100755 >--- a/Source/WebCore/platform/CalculationValue.h >+++ b/Source/WebCore/platform/CalculationValue.h >@@ -50,80 +50,6 @@ enum CalculationPermittedValueRange { > CalculationRangeAll, > CalculationRangeNonNegative > }; >- >-class CalcExpressionNode { >-public: >- virtual ~CalcExpressionNode() >- { >- } >- >- virtual float evaluate(float maxValue) const = 0; >-}; >- >-class CalculationValue : public RefCounted<CalculationValue> { >-public: >- static PassRefPtr<CalculationValue> create(PassOwnPtr<CalcExpressionNode> value, CalculationPermittedValueRange); >- float evaluate(float maxValue) const; >- >-private: >- CalculationValue(PassOwnPtr<CalcExpressionNode> value, CalculationPermittedValueRange range) >- : m_value(value) >- , m_isNonNegative(range == CalculationRangeNonNegative) >- { >- } >- >- OwnPtr<CalcExpressionNode> m_value; >- bool m_isNonNegative; >-}; >- >-class CalcExpressionNumber : public CalcExpressionNode { >-public: >- explicit CalcExpressionNumber(float value) >- : m_value(value) >- { >- } >- >- virtual float evaluate(float) const >- { >- return m_value; >- } >- >-private: >- float m_value; >-}; >- >-class CalcExpressionLength : public CalcExpressionNode { >-public: >- explicit CalcExpressionLength(Length length) >- : m_length(length) >- { >- } >- >- virtual float evaluate(float maxValue) const >- { >- return m_length.calcFloatValue(maxValue); >- } >- >-private: >- Length m_length; >-}; >- >-class CalcExpressionBinaryOperation : public CalcExpressionNode { >-public: >- CalcExpressionBinaryOperation(PassOwnPtr<CalcExpressionNode> leftSide, PassOwnPtr<CalcExpressionNode> rightSide, CalcOperator op) >- : m_leftSide(leftSide) >- , m_rightSide(rightSide) >- , m_operator(op) >- { >- } >- >- virtual float evaluate(float) const; >- >-private: >- OwnPtr<CalcExpressionNode> m_leftSide; >- OwnPtr<CalcExpressionNode> m_rightSide; >- CalcOperator m_operator; >-}; > > } // namespace WebCore > >diff --git a/Source/WebCore/platform/Length.cpp b/Source/WebCore/platform/Length.cpp >index 5166c0d168a4997d75b874dcbde6b9c4c51be867..a6bc01939c050c2e1f2c1e5874056e48c78fbc9e 100644 >--- a/Source/WebCore/platform/Length.cpp >+++ b/Source/WebCore/platform/Length.cpp >@@ -25,7 +25,6 @@ > #include "config.h" > #include "Length.h" > >-#include "CalculationValue.h" > #include "PlatformString.h" > #include <wtf/ASCIICType.h> > #include <wtf/Assertions.h> >@@ -149,88 +148,6 @@ PassOwnArrayPtr<Length> newLengthArray(const String& string, int& len) > > return r.release(); > } >- >-class CalculationValueHandleMap { >-public: >- CalculationValueHandleMap() >- : m_index(1) >- { >- } >- >- int insert(PassRefPtr<CalculationValue> calcValue) >- { >- ASSERT(m_index); >- // FIXME calc(): https://bugs.webkit.org/show_bug.cgi?id=80489 >- // This monotonically increasing handle generation scheme is potentially wasteful >- // of the handle space. Consider reusing empty handles. >- while (m_map.contains(m_index)) >- m_index++; >- >- m_map.set(m_index, calcValue); >- >- return m_index; >- } >- >- void remove(int index) >- { >- ASSERT(m_map.contains(index)); >- m_map.remove(index); >- } >- >- PassRefPtr<CalculationValue> get(int index) >- { >- ASSERT(m_map.contains(index)); >- return m_map.get(index); >- } >- >-private: >- int m_index; >- HashMap<int, RefPtr<CalculationValue> > m_map; >-}; >- >-static CalculationValueHandleMap& calcHandles() >-{ >- DEFINE_STATIC_LOCAL(CalculationValueHandleMap, handleMap, ()); >- return handleMap; >-} >- >-Length::Length(PassRefPtr<CalculationValue> calc) >- : m_quirk(false) >- , m_type(Calculated) >- , m_isFloat(false) >-{ >- m_intValue = calcHandles().insert(calc); >-} >- >-PassRefPtr<CalculationValue> Length::calculationValue() const >-{ >- ASSERT(isCalculated()); >- return calcHandles().get(calculationHandle()); >-} >- >-void Length::incrementCalculatedRef() const >-{ >- ASSERT(isCalculated()); >- calculationValue()->ref(); >-} >- >-void Length::decrementCalculatedRef() const >-{ >- ASSERT(isCalculated()); >- RefPtr<CalculationValue> calcLength = calculationValue(); >- if (calcLength->hasOneRef()) >- calcHandles().remove(calculationHandle()); >- calcLength->deref(); >-} >- >-float Length::nonNanCalculatedValue(int maxValue) const >-{ >- ASSERT(isCalculated()); >- float result = calculationValue()->evaluate(maxValue); >- if (isnan(result)) >- return 0; >- return result; >-} > > class SameSizeAsLength { > int32_t value; >diff --git a/Source/WebCore/platform/Length.h b/Source/WebCore/platform/Length.h >index 2bcf932628fcca9ea2e8b3c17ffa1e2fc60c41df..53b0260c207b0782895ef377c84cf6164757497e 100644 >--- a/Source/WebCore/platform/Length.h >+++ b/Source/WebCore/platform/Length.h >@@ -26,7 +26,6 @@ > #include <wtf/Assertions.h> > #include <wtf/FastAllocBase.h> > #include <wtf/Forward.h> >-#include <wtf/HashMap.h> > #include <wtf/MathExtras.h> > #include <wtf/PassOwnArrayPtr.h> > >@@ -35,10 +34,8 @@ namespace WebCore { > const int intMaxForLength = 0x7ffffff; // max value for a 28-bit int > const int intMinForLength = (-0x7ffffff - 1); // min value for a 28-bit int > >-enum LengthType { Auto, Relative, Percent, Fixed, Intrinsic, MinIntrinsic, Calculated, Undefined }; >- >-class CalculationValue; >- >+enum LengthType { Auto, Relative, Percent, Fixed, Intrinsic, MinIntrinsic, Undefined }; >+ > struct Length { > WTF_MAKE_FAST_ALLOCATED; > public: >@@ -68,35 +65,11 @@ public: > m_floatValue = static_cast<float>(v); > } > >- explicit Length(PassRefPtr<CalculationValue>); >- >- Length(const Length& length) >- { >- initFromLength(length); >- } >- >- Length& operator=(const Length& length) >- { >- initFromLength(length); >- return *this; >- } >- >- ~Length() >- { >- if (isCalculated()) >- decrementCalculatedRef(); >- } >- > bool operator==(const Length& o) const { return (m_type == o.m_type) && (m_quirk == o.m_quirk) && (isUndefined() || (getFloatValue() == o.getFloatValue())); } > bool operator!=(const Length& o) const { return !(*this == o); } > > const Length& operator*=(float v) >- { >- if (isCalculated()) { >- ASSERT_NOT_REACHED(); >- return *this; >- } >- >+ { > if (m_isFloat) > m_floatValue = static_cast<float>(m_floatValue * v); > else >@@ -107,10 +80,6 @@ public: > > int value() const > { >- if (isCalculated()) { >- ASSERT_NOT_REACHED(); >- return 0; >- } > return getIntValue(); > } > >@@ -120,8 +89,6 @@ public: > return getFloatValue(); > } > >- PassRefPtr<CalculationValue> calculationValue() const; >- > LengthType type() const { return static_cast<LengthType>(m_type); } > bool quirk() const { return m_quirk; } > >@@ -139,10 +106,6 @@ public: > > void setValue(int value) > { >- if (isCalculated()) { >- ASSERT_NOT_REACHED(); >- return; >- } > setValue(Fixed, value); > } > >@@ -158,12 +121,13 @@ public: > *this = Length(value, Fixed); > } > >+ // Note: May only be called for Fixed, Percent and Auto lengths. >+ // Other types will ASSERT in order to catch invalid length calculations. > int calcValue(int maxValue, bool roundPercentages = false) const > { > switch (type()) { > case Fixed: > case Percent: >- case Calculated: > return calcMinValue(maxValue, roundPercentages); > case Auto: > return maxValue; >@@ -188,8 +152,6 @@ public: > return static_cast<int>(round(maxValue * percent() / 100.0f)); > // Don't remove the extra cast to float. It is needed for rounding on 32-bit Intel machines that use the FPU stack. > return static_cast<int>(static_cast<float>(maxValue * percent() / 100.0f)); >- case Calculated: >- return nonNanCalculatedValue(maxValue); > case Auto: > return 0; > case Relative: >@@ -212,8 +174,6 @@ public: > return static_cast<float>(maxValue * percent() / 100.0f); > case Auto: > return static_cast<float>(maxValue); >- case Calculated: >- return nonNanCalculatedValue(maxValue); > case Relative: > case Intrinsic: > case MinIntrinsic: >@@ -226,43 +186,21 @@ public: > } > > bool isUndefined() const { return type() == Undefined; } >- >- // FIXME calc: https://bugs.webkit.org/show_bug.cgi?id=80357. A calculated Length >- // always contains a percentage, and without a maxValue passed to these functions >- // it's impossible to determine the sign or zero-ness. We assume all calc values >- // are positive and non-zero for now. > bool isZero() const > { > ASSERT(!isUndefined()); >- if (isCalculated()) >- return false; >- > return m_isFloat ? !m_floatValue : !m_intValue; > } >- bool isPositive() const >- { >- if (isUndefined()) >- return false; >- if (isCalculated()) >- return true; >- >- return getFloatValue() > 0; >- } >- bool isNegative() const >- { >- if (isUndefined() || isCalculated()) >- return false; >- >- return getFloatValue() < 0; >- } > >+ bool isPositive() const { return isUndefined() ? false : getFloatValue() > 0; } >+ bool isNegative() const { return isUndefined() ? false : getFloatValue() < 0; } >+ > bool isAuto() const { return type() == Auto; } > bool isRelative() const { return type() == Relative; } >- bool isPercent() const { return type() == Percent || type() == Calculated; } >+ bool isPercent() const { return type() == Percent; } > bool isFixed() const { return type() == Fixed; } > bool isIntrinsicOrAuto() const { return type() == Auto || type() == MinIntrinsic || type() == Intrinsic; } >- bool isSpecified() const { return type() == Fixed || type() == Percent || type() == Calculated; } >- bool isCalculated() const { return type() == Calculated; } >+ bool isSpecified() const { return type() == Fixed || type() == Percent; } > > Length blend(const Length& from, double progress) const > { >@@ -301,30 +239,6 @@ private: > return m_isFloat ? m_floatValue : m_intValue; > } > >- void initFromLength(const Length &length) >- { >- m_quirk = length.m_quirk; >- m_type = length.m_type; >- m_isFloat = length.m_isFloat; >- >- if (m_isFloat) >- m_floatValue = length.m_floatValue; >- else >- m_intValue = length.m_intValue; >- >- if (isCalculated()) >- incrementCalculatedRef(); >- } >- >- float nonNanCalculatedValue(int maxValue) const; >- int calculationHandle() const >- { >- ASSERT(isCalculated()); >- return getIntValue(); >- } >- void incrementCalculatedRef() const; >- void decrementCalculatedRef() const; >- > union { > int m_intValue; > float m_floatValue; >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index ab107133f93d7b49879f6a9c93888c48353ec499..df3c9be6131927c8ace74fef1891c0733fd28d9e 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,15 @@ >+2012-03-07 Sheriff Bot <webkit.review.bot@gmail.com> >+ >+ Unreviewed, rolling out r110126. >+ http://trac.webkit.org/changeset/110126 >+ https://bugs.webkit.org/show_bug.cgi?id=80558 >+ >+ compile failed on AppleMac (Requested by ukai on #webkit). >+ >+ * css3/calc/margin-expected.txt: >+ * css3/calc/padding-expected.txt: >+ * css3/calc/simple-calcs-expected.txt: >+ > 2012-03-07 Mike Lawther <mikelawther@chromium.org> > > CSS3 calc: mixed absolute/percentages work for width, height, margin and padding >diff --git a/LayoutTests/css3/calc/margin-expected.txt b/LayoutTests/css3/calc/margin-expected.txt >index 6387404a53012c2501330e86678cfe45d39ffa7d..ae7553c87cdd6e7df1f5225be72bc5f07dc9293b 100644 >--- a/LayoutTests/css3/calc/margin-expected.txt >+++ b/LayoutTests/css3/calc/margin-expected.txt >@@ -18,26 +18,26 @@ PASS computedMarginLeft("simple-bottom") is "0px" > PASS computedMarginTop("simple-bottom") is "0px" > PASS computedMarginRight("simple-bottom") is "0px" > PASS computedMarginBottom("simple-bottom") is "25px" >-PASS computedMarginLeft("percent-all") is "25px" >-PASS computedMarginTop("percent-all") is "25px" >-PASS computedMarginRight("percent-all") is "25px" >-PASS computedMarginBottom("percent-all") is "25px" >-PASS computedMarginLeft("percent-left") is "25px" >+FAIL computedMarginLeft("percent-all") should be 25px. Was 0px. >+FAIL computedMarginTop("percent-all") should be 25px. Was 0px. >+FAIL computedMarginRight("percent-all") should be 25px. Was 0px. >+FAIL computedMarginBottom("percent-all") should be 25px. Was 0px. >+FAIL computedMarginLeft("percent-left") should be 25px. Was 0px. > PASS computedMarginTop("percent-left") is "0px" > PASS computedMarginRight("percent-left") is "0px" > PASS computedMarginBottom("percent-left") is "0px" > PASS computedMarginLeft("percent-right") is "0px" > PASS computedMarginTop("percent-right") is "0px" >-PASS computedMarginRight("percent-right") is "25px" >+FAIL computedMarginRight("percent-right") should be 25px. Was 0px. > PASS computedMarginBottom("percent-right") is "0px" > PASS computedMarginLeft("percent-top") is "0px" >-PASS computedMarginTop("percent-top") is "25px" >+FAIL computedMarginTop("percent-top") should be 25px. Was 0px. > PASS computedMarginRight("percent-top") is "0px" > PASS computedMarginBottom("percent-top") is "0px" > PASS computedMarginLeft("percent-bottom") is "0px" > PASS computedMarginTop("percent-bottom") is "0px" > PASS computedMarginRight("percent-bottom") is "0px" >-PASS computedMarginBottom("percent-bottom") is "25px" >+FAIL computedMarginBottom("percent-bottom") should be 25px. Was 0px. > PASS successfullyParsed is true > > TEST COMPLETE >diff --git a/LayoutTests/css3/calc/padding-expected.txt b/LayoutTests/css3/calc/padding-expected.txt >index 0b8e3a74445287083cdc52bb646eb5d205779a8d..83ee267b90ee8add66041b5cef8ab89ab83b7ebc 100644 >--- a/LayoutTests/css3/calc/padding-expected.txt >+++ b/LayoutTests/css3/calc/padding-expected.txt >@@ -8,12 +8,12 @@ This element should have a top padding of 25 pixels. => PASS > > This element should have a bottom padding of 25 pixels. => PASS > >-This element should have an overall padding of 25 pixels (10% of parent width of 300px minus 5px). => PASS >+This element should have an overall padding of 25 pixels (10% of parent width of 300px minus 5px). => FAIL: wrong width, wrong height > >-This element should have a left padding of 25 pixels (10% of parent width of 300px minus 5px). => PASS >+This element should have a left padding of 25 pixels (10% of parent width of 300px minus 5px). => FAIL: wrong width > >-This element should have a right padding of 25 pixels (10% of parent width of 300px minus 5px). => PASS >+This element should have a right padding of 25 pixels (10% of parent width of 300px minus 5px). => FAIL: wrong width > >-This element should have a top padding of 25 pixels (10% of parent width of 300px minus 5px). => PASS >+This element should have a top padding of 25 pixels (10% of parent width of 300px minus 5px). => FAIL: wrong height > >-This element should have a bottom padding of 25 pixels (10% of parent width of 300px minus 5px). => PASS >+This element should have a bottom padding of 25 pixels (10% of parent width of 300px minus 5px). => FAIL: wrong height >diff --git a/LayoutTests/css3/calc/simple-calcs-expected.txt b/LayoutTests/css3/calc/simple-calcs-expected.txt >index 97d6d3a3b6ae33ffc64bccc643a81852112fb457..5b45d2dccc0802a33713974a62687b34db354b5d 100644 >--- a/LayoutTests/css3/calc/simple-calcs-expected.txt >+++ b/LayoutTests/css3/calc/simple-calcs-expected.txt >@@ -20,10 +20,10 @@ control => PASS > 10px* (5 * 2) => PASS > 50px + 10px * 5 (operation order) => PASS > 100%/2 (where 100% is 200px) => PASS >-100% + -100px (where 100% is 200px) => PASS >-80% - 60px (where 100% is 200px) => PASS >-300px - 100% (where 100% is 200px) => PASS >--100px + 100% (where 100% is 200px) => PASS >+100% + -100px (where 100% is 200px) => FAIL: @zoom=1 expected width of 100, but was 256; @zoom=1.2 expected width of 100, but was 256; @zoom=2 expected width of 100, but was 256 >+80% - 60px (where 100% is 200px) => FAIL: @zoom=1 expected width of 100, but was 256; @zoom=1.2 expected width of 100, but was 256; @zoom=2 expected width of 100, but was 256 >+300px - 100% (where 100% is 200px) => FAIL: @zoom=1 expected width of 100, but was 256; @zoom=1.2 expected width of 100, but was 256; @zoom=2 expected width of 100, but was 256 >+-100px + 100% (where 100% is 200px) => FAIL: @zoom=1 expected width of 100, but was 256; @zoom=1.2 expected width of 100, but was 256; @zoom=2 expected width of 100, but was 256 > 20% + 30% (where 100% is 200px) => PASS > 80% - 30% (where 100% is 200px) => PASS > 10% * 5 (where 100% is 200px) => PASS
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 80558
: 130745