Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1120)

Unified Diff: third_party/WebKit/Source/core/css/cssom/CSSCalcLength.h

Issue 2867883003: [CSS Typed OM] Delete obsolete number and length classes from Typed OM (Closed)
Patch Set: rebase Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/css/cssom/CSSCalcLength.h
diff --git a/third_party/WebKit/Source/core/css/cssom/CSSCalcLength.h b/third_party/WebKit/Source/core/css/cssom/CSSCalcLength.h
deleted file mode 100644
index 27865c4d27dbb33c5f95a1f82487162e2919cf62..0000000000000000000000000000000000000000
--- a/third_party/WebKit/Source/core/css/cssom/CSSCalcLength.h
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright 2016 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CSSCalcLength_h
-#define CSSCalcLength_h
-
-#include <array>
-#include <bitset>
-#include "core/css/cssom/CSSLengthValue.h"
-#include "platform/wtf/BitVector.h"
-
-namespace blink {
-
-class CSSCalcExpressionNode;
-class CSSSimpleLength;
-
-class CORE_EXPORT CSSCalcLength final : public CSSLengthValue {
- DEFINE_WRAPPERTYPEINFO();
-
- public:
- class UnitData {
- public:
- UnitData() : values_(), has_value_for_unit_() {}
- UnitData(const UnitData& other)
- : values_(other.values_),
- has_value_for_unit_(other.has_value_for_unit_) {}
-
- static std::unique_ptr<UnitData> FromExpressionNode(
- const CSSCalcExpressionNode*);
- CSSCalcExpressionNode* ToCSSCalcExpressionNode() const;
-
- bool Has(CSSPrimitiveValue::UnitType) const;
- void Set(CSSPrimitiveValue::UnitType, double);
- double Get(CSSPrimitiveValue::UnitType) const;
-
- void Add(const UnitData& right);
- void Subtract(const UnitData& right);
- void Multiply(double);
- void Divide(double);
-
- private:
- bool HasAtIndex(int) const;
- void SetAtIndex(int, double);
- double GetAtIndex(int) const;
-
- std::array<double, CSSLengthValue::kNumSupportedUnits> values_;
- std::bitset<CSSLengthValue::kNumSupportedUnits> has_value_for_unit_;
- };
-
- static CSSCalcLength* Create(const CSSCalcDictionary&, ExceptionState&);
- static CSSCalcLength* Create(const CSSLengthValue* length, ExceptionState&) {
- return Create(length);
- }
- static CSSCalcLength* Create(const CSSLengthValue*);
- static CSSCalcLength* FromCSSValue(const CSSPrimitiveValue&);
-
- static CSSCalcLength* FromLength(const Length&);
-
-#define GETTER_MACRO(name, type) \
- double name(bool& isNull) { \
- isNull = !unit_data_.Has(type); \
- return unit_data_.Get(type); \
- }
-
- GETTER_MACRO(px, CSSPrimitiveValue::UnitType::kPixels)
- GETTER_MACRO(percent, CSSPrimitiveValue::UnitType::kPercentage)
- GETTER_MACRO(em, CSSPrimitiveValue::UnitType::kEms)
- GETTER_MACRO(ex, CSSPrimitiveValue::UnitType::kExs)
- GETTER_MACRO(ch, CSSPrimitiveValue::UnitType::kChs)
- GETTER_MACRO(rem, CSSPrimitiveValue::UnitType::kRems)
- GETTER_MACRO(vw, CSSPrimitiveValue::UnitType::kViewportWidth)
- GETTER_MACRO(vh, CSSPrimitiveValue::UnitType::kViewportHeight)
- GETTER_MACRO(vmin, CSSPrimitiveValue::UnitType::kViewportMin)
- GETTER_MACRO(vmax, CSSPrimitiveValue::UnitType::kViewportMax)
- GETTER_MACRO(cm, CSSPrimitiveValue::UnitType::kCentimeters)
- GETTER_MACRO(mm, CSSPrimitiveValue::UnitType::kMillimeters)
- GETTER_MACRO(in, CSSPrimitiveValue::UnitType::kInches)
- GETTER_MACRO(pc, CSSPrimitiveValue::UnitType::kPicas)
- GETTER_MACRO(pt, CSSPrimitiveValue::UnitType::kPoints)
-
-#undef GETTER_MACRO
-
- bool ContainsPercent() const override;
-
- CSSValue* ToCSSValue() const override;
-
- StyleValueType GetType() const override { return kCalcLengthType; }
-
- protected:
- CSSLengthValue* AddInternal(const CSSLengthValue* other) override;
- CSSLengthValue* SubtractInternal(const CSSLengthValue* other) override;
- CSSLengthValue* MultiplyInternal(double) override;
- CSSLengthValue* DivideInternal(double) override;
-
- private:
- CSSCalcLength();
- CSSCalcLength(const CSSCalcLength& other);
- CSSCalcLength(const CSSSimpleLength& other);
- CSSCalcLength(const UnitData& unit_data) : unit_data_(unit_data) {}
-
- UnitData unit_data_;
-};
-
-#define DEFINE_CALC_LENGTH_TYPE_CASTS(argumentType) \
- DEFINE_TYPE_CASTS( \
- CSSCalcLength, argumentType, value, \
- value->GetType() == CSSLengthValue::StyleValueType::kCalcLengthType, \
- value.GetType() == CSSLengthValue::StyleValueType::kCalcLengthType)
-
-DEFINE_CALC_LENGTH_TYPE_CASTS(CSSStyleValue);
-
-} // namespace blink
-
-#endif
« no previous file with comments | « third_party/WebKit/Source/core/css/cssom/CSSAngleValue.idl ('k') | third_party/WebKit/Source/core/css/cssom/CSSCalcLength.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698