Chromium Code Reviews| Index: third_party/WebKit/Source/core/style/GridCoordinate.h |
| diff --git a/third_party/WebKit/Source/core/style/GridCoordinate.h b/third_party/WebKit/Source/core/style/GridCoordinate.h |
| index 9287de3d8f1785947d64edd942f9a9de318a6349..d67bdc851cdd8b8fff5bb749b2594ab0b9a48bc7 100644 |
| --- a/third_party/WebKit/Source/core/style/GridCoordinate.h |
| +++ b/third_party/WebKit/Source/core/style/GridCoordinate.h |
| @@ -50,7 +50,7 @@ struct GridSpan { |
| USING_FAST_MALLOC(GridSpan); |
| public: |
| - static GridSpan definiteGridSpan(const GridResolvedPosition& resolvedInitialPosition, const GridResolvedPosition& resolvedFinalPosition) |
| + static GridSpan definiteGridSpan(size_t resolvedInitialPosition, size_t resolvedFinalPosition) |
| { |
| return GridSpan(resolvedInitialPosition, resolvedFinalPosition, Definite); |
| } |
| @@ -68,30 +68,37 @@ public: |
| size_t integerSpan() const |
| { |
| ASSERT(isDefinite()); |
|
rune
2015/12/03 14:08:38
ASSERT(m_resolvedFinalPosition >= m_resolvedInitia
Manuel Rego
2015/12/04 07:28:06
We're already checking something similar in the co
|
| - return m_resolvedFinalPosition.toInt() - m_resolvedInitialPosition.toInt(); |
| + return m_resolvedFinalPosition - m_resolvedInitialPosition; |
| } |
| - const GridResolvedPosition& resolvedInitialPosition() const |
| + size_t resolvedInitialPosition() const |
| { |
| ASSERT(isDefinite()); |
| return m_resolvedInitialPosition; |
| } |
| - const GridResolvedPosition& resolvedFinalPosition() const |
| + size_t resolvedFinalPosition() const |
| { |
| ASSERT(isDefinite()); |
|
rune
2015/12/03 14:08:38
ASSERT(m_resolvedFinalPosition)?
Manuel Rego
2015/12/04 07:28:06
Acknowledged.
|
| return m_resolvedFinalPosition; |
| } |
| - typedef GridResolvedPosition iterator; |
| + struct GridSpanIterator { |
|
cbiesinger
2015/12/03 17:19:17
How does this work as an iterator without an opera
Manuel Rego
2015/12/04 07:30:21
It's an iterator over a primitive type and it's ov
cbiesinger
2015/12/04 21:06:29
Yes, I think overloading ++ and != would be a lot
|
| + GridSpanIterator(size_t v) : value(v) {} |
| - iterator begin() const |
| + operator size_t&() { return value; } |
| + size_t operator*() const { return value; } |
| + |
| + size_t value; |
| + }; |
| + |
| + GridSpanIterator begin() const |
| { |
| ASSERT(isDefinite()); |
| return m_resolvedInitialPosition; |
| } |
| - iterator end() const |
| + GridSpanIterator end() const |
| { |
| ASSERT(isDefinite()); |
| return m_resolvedFinalPosition; |
| @@ -106,16 +113,16 @@ private: |
| enum GridSpanType {Definite, Indefinite}; |
| - GridSpan(const GridResolvedPosition& resolvedInitialPosition, const GridResolvedPosition& resolvedFinalPosition, GridSpanType type) |
| - : m_resolvedInitialPosition(std::min(resolvedInitialPosition.toInt(), kGridMaxTracks - 1)) |
| - , m_resolvedFinalPosition(std::min(resolvedFinalPosition.toInt(), kGridMaxTracks)) |
| + GridSpan(size_t resolvedInitialPosition, size_t resolvedFinalPosition, GridSpanType type) |
| + : m_resolvedInitialPosition(std::min(resolvedInitialPosition, kGridMaxTracks - 1)) |
| + , m_resolvedFinalPosition(std::min(resolvedFinalPosition, kGridMaxTracks)) |
| , m_type(type) |
| { |
| ASSERT(resolvedInitialPosition < resolvedFinalPosition); |
| } |
| - GridResolvedPosition m_resolvedInitialPosition; |
| - GridResolvedPosition m_resolvedFinalPosition; |
| + size_t m_resolvedInitialPosition; |
| + size_t m_resolvedFinalPosition; |
| GridSpanType m_type; |
| }; |