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

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

Issue 2676513002: Generate nonproperty 'variableReference' in ComputedStyleBase. (Closed)
Patch Set: Rebase Created 3 years, 9 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 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 // It is mutable so we can pass around const ComputedStyles to resolve 260 // It is mutable so we can pass around const ComputedStyles to resolve
261 // lengths. 261 // lengths.
262 mutable unsigned m_hasViewportUnits : 1; 262 mutable unsigned m_hasViewportUnits : 1;
263 263
264 // 32 bits 264 // 32 bits
265 265
266 unsigned m_styleType : 6; // PseudoId 266 unsigned m_styleType : 6; // PseudoId
267 unsigned m_pseudoBits : 8; 267 unsigned m_pseudoBits : 8;
268 unsigned m_explicitInheritance : 1; // Explicitly inherits a non-inherited 268 unsigned m_explicitInheritance : 1; // Explicitly inherits a non-inherited
269 // property 269 // property
270 unsigned m_variableReference : 1; // A non-inherited property references a
271 // variable or @apply is used.
272 270
273 unsigned m_emptyState : 1; 271 unsigned m_emptyState : 1;
274 272
275 // 64 bits 273 // 64 bits
276 274
277 unsigned m_isLink : 1; 275 unsigned m_isLink : 1;
278 276
279 mutable unsigned m_hasRemUnits : 1; 277 mutable unsigned m_hasRemUnits : 1;
280 278
281 // If you add more style bits here, you will also need to update 279 // If you add more style bits here, you will also need to update
(...skipping 11 matching lines...) Expand all
293 static_cast<unsigned>(EInsideLink::kNotInsideLink); 291 static_cast<unsigned>(EInsideLink::kNotInsideLink);
294 292
295 m_nonInheritedData.m_effectiveDisplay = 293 m_nonInheritedData.m_effectiveDisplay =
296 m_nonInheritedData.m_originalDisplay = 294 m_nonInheritedData.m_originalDisplay =
297 static_cast<unsigned>(initialDisplay()); 295 static_cast<unsigned>(initialDisplay());
298 m_nonInheritedData.m_verticalAlign = 296 m_nonInheritedData.m_verticalAlign =
299 static_cast<unsigned>(initialVerticalAlign()); 297 static_cast<unsigned>(initialVerticalAlign());
300 m_nonInheritedData.m_styleType = PseudoIdNone; 298 m_nonInheritedData.m_styleType = PseudoIdNone;
301 m_nonInheritedData.m_pseudoBits = 0; 299 m_nonInheritedData.m_pseudoBits = 0;
302 m_nonInheritedData.m_explicitInheritance = false; 300 m_nonInheritedData.m_explicitInheritance = false;
303 m_nonInheritedData.m_variableReference = false;
304 m_nonInheritedData.m_emptyState = false; 301 m_nonInheritedData.m_emptyState = false;
305 m_nonInheritedData.m_hasViewportUnits = false; 302 m_nonInheritedData.m_hasViewportUnits = false;
306 m_nonInheritedData.m_isLink = false; 303 m_nonInheritedData.m_isLink = false;
307 m_nonInheritedData.m_hasRemUnits = false; 304 m_nonInheritedData.m_hasRemUnits = false;
308 } 305 }
309 306
310 private: 307 private:
311 // TODO(sashab): Move these to the bottom of ComputedStyle. 308 // TODO(sashab): Move these to the bottom of ComputedStyle.
312 ALWAYS_INLINE ComputedStyle(); 309 ALWAYS_INLINE ComputedStyle();
313 310
(...skipping 2089 matching lines...) Expand 10 before | Expand all | Expand 10 after
2403 2400
2404 // Handles both inherited and non-inherited variables 2401 // Handles both inherited and non-inherited variables
2405 CSSVariableData* getVariable(const AtomicString&) const; 2402 CSSVariableData* getVariable(const AtomicString&) const;
2406 2403
2407 CSSVariableData* getVariable(const AtomicString&, 2404 CSSVariableData* getVariable(const AtomicString&,
2408 bool isInheritedProperty) const; 2405 bool isInheritedProperty) const;
2409 2406
2410 const CSSValue* getRegisteredVariable(const AtomicString&, 2407 const CSSValue* getRegisteredVariable(const AtomicString&,
2411 bool isInheritedProperty) const; 2408 bool isInheritedProperty) const;
2412 2409
2413 void setHasVariableReferenceFromNonInheritedProperty() {
2414 m_nonInheritedData.m_variableReference = true;
2415 }
2416 bool hasVariableReferenceFromNonInheritedProperty() const {
2417 return m_nonInheritedData.m_variableReference;
2418 }
2419
2420 // Animations. 2410 // Animations.
2421 CSSAnimationData& accessAnimations(); 2411 CSSAnimationData& accessAnimations();
2422 const CSSAnimationData* animations() const { 2412 const CSSAnimationData* animations() const {
2423 return m_rareNonInheritedData->m_animations.get(); 2413 return m_rareNonInheritedData->m_animations.get();
2424 } 2414 }
2425 2415
2426 // Transitions. 2416 // Transitions.
2427 const CSSTransitionData* transitions() const { 2417 const CSSTransitionData* transitions() const {
2428 return m_rareNonInheritedData->m_transitions.get(); 2418 return m_rareNonInheritedData->m_transitions.get();
2429 } 2419 }
(...skipping 1394 matching lines...) Expand 10 before | Expand all | Expand 10 after
3824 m_nonInheritedData.m_pseudoBits |= 1 << (pseudo - 1); 3814 m_nonInheritedData.m_pseudoBits |= 1 << (pseudo - 1);
3825 } 3815 }
3826 3816
3827 inline bool ComputedStyle::hasPseudoElementStyle() const { 3817 inline bool ComputedStyle::hasPseudoElementStyle() const {
3828 return m_nonInheritedData.m_pseudoBits & ElementPseudoIdMask; 3818 return m_nonInheritedData.m_pseudoBits & ElementPseudoIdMask;
3829 } 3819 }
3830 3820
3831 } // namespace blink 3821 } // namespace blink
3832 3822
3833 #endif // ComputedStyle_h 3823 #endif // ComputedStyle_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698