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

Side by Side Diff: third_party/WebKit/Source/core/style/ComputedStyle.h

Issue 2673533002: Moved overflow-x and overflow-y to be generated in ComputedStyleBase. (Closed)
Patch Set: Rebase? Created 3 years, 10 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org)
3 * (C) 2000 Antti Koivisto (koivisto@kde.org) 3 * (C) 2000 Antti Koivisto (koivisto@kde.org)
4 * (C) 2000 Dirk Mueller (mueller@kde.org) 4 * (C) 2000 Dirk Mueller (mueller@kde.org)
5 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All
6 * rights reserved. 6 * rights reserved.
7 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) 7 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com)
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after
217 } m_inheritedData; 217 } m_inheritedData;
218 218
219 // don't inherit 219 // don't inherit
220 struct NonInheritedData { 220 struct NonInheritedData {
221 // Compare computed styles, differences in inherited bits or other flags 221 // Compare computed styles, differences in inherited bits or other flags
222 // should not cause an inequality. 222 // should not cause an inequality.
223 bool operator==(const NonInheritedData& other) const { 223 bool operator==(const NonInheritedData& other) const {
224 // Generated properties are compared in ComputedStyleBase 224 // Generated properties are compared in ComputedStyleBase
225 return m_effectiveDisplay == other.m_effectiveDisplay && 225 return m_effectiveDisplay == other.m_effectiveDisplay &&
226 m_originalDisplay == other.m_originalDisplay && 226 m_originalDisplay == other.m_originalDisplay &&
227 m_overflowX == other.m_overflowX &&
228 m_overflowY == other.m_overflowY &&
229 m_verticalAlign == other.m_verticalAlign && 227 m_verticalAlign == other.m_verticalAlign &&
230 m_position == other.m_position && 228 m_position == other.m_position &&
231 // hasViewportUnits 229 // hasViewportUnits
232 m_breakBefore == other.m_breakBefore && 230 m_breakBefore == other.m_breakBefore &&
233 m_breakAfter == other.m_breakAfter && 231 m_breakAfter == other.m_breakAfter &&
234 m_breakInside == other.m_breakInside; 232 m_breakInside == other.m_breakInside;
235 // styleType 233 // styleType
236 // pseudoBits 234 // pseudoBits
237 // explicitInheritance 235 // explicitInheritance
238 // unique 236 // unique
239 // emptyState 237 // emptyState
240 // affectedByFocus 238 // affectedByFocus
241 // affectedByHover 239 // affectedByHover
242 // affectedByActive 240 // affectedByActive
243 // affectedByDrag 241 // affectedByDrag
244 // isLink 242 // isLink
245 // isInherited flags 243 // isInherited flags
246 } 244 }
247 245
248 bool operator!=(const NonInheritedData& other) const { 246 bool operator!=(const NonInheritedData& other) const {
249 return !(*this == other); 247 return !(*this == other);
250 } 248 }
251 249
252 unsigned m_effectiveDisplay : 5; // EDisplay 250 unsigned m_effectiveDisplay : 5; // EDisplay
253 unsigned m_originalDisplay : 5; // EDisplay 251 unsigned m_originalDisplay : 5; // EDisplay
254 unsigned m_overflowX : 3; // EOverflow
255 unsigned m_overflowY : 3; // EOverflow
256 unsigned m_verticalAlign : 4; // EVerticalAlign 252 unsigned m_verticalAlign : 4; // EVerticalAlign
257 unsigned m_position : 3; // EPosition 253 unsigned m_position : 3; // EPosition
258 254
259 // This is set if we used viewport units when resolving a length. 255 // This is set if we used viewport units when resolving a length.
260 // It is mutable so we can pass around const ComputedStyles to resolve 256 // It is mutable so we can pass around const ComputedStyles to resolve
261 // lengths. 257 // lengths.
262 mutable unsigned m_hasViewportUnits : 1; 258 mutable unsigned m_hasViewportUnits : 1;
263 259
264 // 32 bits 260 // 32 bits
265 261
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 // Generated properties are updated in ComputedStyleBase 294 // Generated properties are updated in ComputedStyleBase
299 ComputedStyleBase::setBitDefaults(); 295 ComputedStyleBase::setBitDefaults();
300 m_inheritedData.m_hasSimpleUnderline = false; 296 m_inheritedData.m_hasSimpleUnderline = false;
301 m_inheritedData.m_cursorStyle = static_cast<unsigned>(initialCursor()); 297 m_inheritedData.m_cursorStyle = static_cast<unsigned>(initialCursor());
302 m_inheritedData.m_insideLink = 298 m_inheritedData.m_insideLink =
303 static_cast<unsigned>(EInsideLink::kNotInsideLink); 299 static_cast<unsigned>(EInsideLink::kNotInsideLink);
304 300
305 m_nonInheritedData.m_effectiveDisplay = 301 m_nonInheritedData.m_effectiveDisplay =
306 m_nonInheritedData.m_originalDisplay = 302 m_nonInheritedData.m_originalDisplay =
307 static_cast<unsigned>(initialDisplay()); 303 static_cast<unsigned>(initialDisplay());
308 m_nonInheritedData.m_overflowX = static_cast<unsigned>(initialOverflowX());
309 m_nonInheritedData.m_overflowY = static_cast<unsigned>(initialOverflowY());
310 m_nonInheritedData.m_verticalAlign = 304 m_nonInheritedData.m_verticalAlign =
311 static_cast<unsigned>(initialVerticalAlign()); 305 static_cast<unsigned>(initialVerticalAlign());
312 m_nonInheritedData.m_position = initialPosition(); 306 m_nonInheritedData.m_position = initialPosition();
313 m_nonInheritedData.m_breakBefore = initialBreakBefore(); 307 m_nonInheritedData.m_breakBefore = initialBreakBefore();
314 m_nonInheritedData.m_breakAfter = initialBreakAfter(); 308 m_nonInheritedData.m_breakAfter = initialBreakAfter();
315 m_nonInheritedData.m_breakInside = initialBreakInside(); 309 m_nonInheritedData.m_breakInside = initialBreakInside();
316 m_nonInheritedData.m_styleType = PseudoIdNone; 310 m_nonInheritedData.m_styleType = PseudoIdNone;
317 m_nonInheritedData.m_pseudoBits = 0; 311 m_nonInheritedData.m_pseudoBits = 0;
318 m_nonInheritedData.m_explicitInheritance = false; 312 m_nonInheritedData.m_explicitInheritance = false;
319 m_nonInheritedData.m_variableReference = false; 313 m_nonInheritedData.m_variableReference = false;
(...skipping 1136 matching lines...) Expand 10 before | Expand all | Expand 10 after
1456 static int initialOutlineOffset() { return 0; } 1450 static int initialOutlineOffset() { return 0; }
1457 int outlineOffset() const { 1451 int outlineOffset() const {
1458 if (m_rareNonInheritedData->m_outline.style() == BorderStyleNone) 1452 if (m_rareNonInheritedData->m_outline.style() == BorderStyleNone)
1459 return 0; 1453 return 0;
1460 return m_rareNonInheritedData->m_outline.offset(); 1454 return m_rareNonInheritedData->m_outline.offset();
1461 } 1455 }
1462 void setOutlineOffset(int v) { 1456 void setOutlineOffset(int v) {
1463 SET_VAR(m_rareNonInheritedData, m_outline.m_offset, v); 1457 SET_VAR(m_rareNonInheritedData, m_outline.m_offset, v);
1464 } 1458 }
1465 1459
1466 // overflow-x
1467 static EOverflow initialOverflowX() { return EOverflow::kVisible; }
1468 EOverflow overflowX() const {
1469 return static_cast<EOverflow>(m_nonInheritedData.m_overflowX);
1470 }
1471 void setOverflowX(EOverflow v) {
1472 m_nonInheritedData.m_overflowX = static_cast<unsigned>(v);
1473 }
1474
1475 // overflow-y
1476 static EOverflow initialOverflowY() { return EOverflow::kVisible; }
1477 EOverflow overflowY() const {
1478 return static_cast<EOverflow>(m_nonInheritedData.m_overflowY);
1479 }
1480 void setOverflowY(EOverflow v) {
1481 m_nonInheritedData.m_overflowY = static_cast<unsigned>(v);
1482 }
1483
1484 // Padding properties. 1460 // Padding properties.
1485 static Length initialPadding() { return Length(Fixed); } 1461 static Length initialPadding() { return Length(Fixed); }
1486 1462
1487 // padding-bottom 1463 // padding-bottom
1488 const Length& paddingBottom() const { return m_surround->padding.bottom(); } 1464 const Length& paddingBottom() const { return m_surround->padding.bottom(); }
1489 void setPaddingBottom(const Length& v) { 1465 void setPaddingBottom(const Length& v) {
1490 SET_VAR(m_surround, padding.m_bottom, v); 1466 SET_VAR(m_surround, padding.m_bottom, v);
1491 } 1467 }
1492 1468
1493 // padding-left 1469 // padding-left
(...skipping 2422 matching lines...) Expand 10 before | Expand all | Expand 10 after
3916 m_nonInheritedData.m_pseudoBits |= 1 << (pseudo - 1); 3892 m_nonInheritedData.m_pseudoBits |= 1 << (pseudo - 1);
3917 } 3893 }
3918 3894
3919 inline bool ComputedStyle::hasPseudoElementStyle() const { 3895 inline bool ComputedStyle::hasPseudoElementStyle() const {
3920 return m_nonInheritedData.m_pseudoBits & ElementPseudoIdMask; 3896 return m_nonInheritedData.m_pseudoBits & ElementPseudoIdMask;
3921 } 3897 }
3922 3898
3923 } // namespace blink 3899 } // namespace blink
3924 3900
3925 #endif // ComputedStyle_h 3901 #endif // ComputedStyle_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/CSSProperties.json5 ('k') | third_party/WebKit/Source/core/style/ComputedStyle.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698