| OLD | NEW |
| 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 r
ights reserved. | 5 * Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ights reserved. |
| 6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 6 * Copyright (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| 11 * version 2 of the License, or (at your option) any later version. | 11 * version 2 of the License, or (at your option) any later version. |
| 12 * | 12 * |
| 13 * This library is distributed in the hope that it will be useful, | 13 * This library is distributed in the hope that it will be useful, |
| 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 14 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 16 * Library General Public License for more details. | 16 * Library General Public License for more details. |
| 17 * | 17 * |
| 18 * You should have received a copy of the GNU Library General Public License | 18 * You should have received a copy of the GNU Library General Public License |
| 19 * along with this library; see the file COPYING.LIB. If not, write to | 19 * along with this library; see the file COPYING.LIB. If not, write to |
| 20 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, | 20 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| 21 * Boston, MA 02110-1301, USA. | 21 * Boston, MA 02110-1301, USA. |
| 22 * | 22 * |
| 23 */ | 23 */ |
| 24 | 24 |
| 25 #ifndef LayoutStyle_h | 25 #ifndef ComputedStyle_h |
| 26 #define LayoutStyle_h | 26 #define ComputedStyle_h |
| 27 | 27 |
| 28 #include "core/CSSPropertyNames.h" | 28 #include "core/CSSPropertyNames.h" |
| 29 #include "core/CoreExport.h" | 29 #include "core/CoreExport.h" |
| 30 #include "core/animation/css/CSSAnimationData.h" | 30 #include "core/animation/css/CSSAnimationData.h" |
| 31 #include "core/animation/css/CSSTransitionData.h" | 31 #include "core/animation/css/CSSTransitionData.h" |
| 32 #include "core/css/CSSLineBoxContainValue.h" | 32 #include "core/css/CSSLineBoxContainValue.h" |
| 33 #include "core/css/CSSPrimitiveValue.h" | 33 #include "core/css/CSSPrimitiveValue.h" |
| 34 #include "core/layout/style/BorderValue.h" | 34 #include "core/layout/style/BorderValue.h" |
| 35 #include "core/layout/style/CounterDirectives.h" | 35 #include "core/layout/style/CounterDirectives.h" |
| 36 #include "core/layout/style/DataRef.h" | 36 #include "core/layout/style/DataRef.h" |
| 37 #include "core/layout/style/LayoutStyleConstants.h" | 37 #include "core/layout/style/ComputedStyleConstants.h" |
| 38 #include "core/layout/style/LineClampValue.h" | 38 #include "core/layout/style/LineClampValue.h" |
| 39 #include "core/layout/style/NinePieceImage.h" | 39 #include "core/layout/style/NinePieceImage.h" |
| 40 #include "core/layout/style/OutlineValue.h" | 40 #include "core/layout/style/OutlineValue.h" |
| 41 #include "core/layout/style/SVGLayoutStyle.h" | 41 #include "core/layout/style/SVGComputedStyle.h" |
| 42 #include "core/layout/style/ShapeValue.h" | 42 #include "core/layout/style/ShapeValue.h" |
| 43 #include "core/layout/style/StyleBackgroundData.h" | 43 #include "core/layout/style/StyleBackgroundData.h" |
| 44 #include "core/layout/style/StyleBoxData.h" | 44 #include "core/layout/style/StyleBoxData.h" |
| 45 #include "core/layout/style/StyleDeprecatedFlexibleBoxData.h" | 45 #include "core/layout/style/StyleDeprecatedFlexibleBoxData.h" |
| 46 #include "core/layout/style/StyleDifference.h" | 46 #include "core/layout/style/StyleDifference.h" |
| 47 #include "core/layout/style/StyleFilterData.h" | 47 #include "core/layout/style/StyleFilterData.h" |
| 48 #include "core/layout/style/StyleFlexibleBoxData.h" | 48 #include "core/layout/style/StyleFlexibleBoxData.h" |
| 49 #include "core/layout/style/StyleGridData.h" | 49 #include "core/layout/style/StyleGridData.h" |
| 50 #include "core/layout/style/StyleGridItemData.h" | 50 #include "core/layout/style/StyleGridItemData.h" |
| 51 #include "core/layout/style/StyleInheritedData.h" | 51 #include "core/layout/style/StyleInheritedData.h" |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 108 class Font; | 108 class Font; |
| 109 class FontMetrics; | 109 class FontMetrics; |
| 110 class ShadowList; | 110 class ShadowList; |
| 111 class StyleImage; | 111 class StyleImage; |
| 112 class StyleInheritedData; | 112 class StyleInheritedData; |
| 113 class StyleResolver; | 113 class StyleResolver; |
| 114 class TransformationMatrix; | 114 class TransformationMatrix; |
| 115 | 115 |
| 116 class ContentData; | 116 class ContentData; |
| 117 | 117 |
| 118 typedef Vector<RefPtr<LayoutStyle>, 4> PseudoStyleCache; | 118 typedef Vector<RefPtr<ComputedStyle>, 4> PseudoStyleCache; |
| 119 | 119 |
| 120 class CORE_EXPORT LayoutStyle: public RefCounted<LayoutStyle> { | 120 class CORE_EXPORT ComputedStyle: public RefCounted<ComputedStyle> { |
| 121 friend class AnimatedStyleBuilder; // Used by Web Animations CSS. Sets the c
olor styles | 121 friend class AnimatedStyleBuilder; // Used by Web Animations CSS. Sets the c
olor styles |
| 122 friend class CSSAnimatableValueFactory; // Used by Web Animations CSS. Gets
visited and unvisited colors separately. | 122 friend class CSSAnimatableValueFactory; // Used by Web Animations CSS. Gets
visited and unvisited colors separately. |
| 123 friend class CSSPropertyEquality; // Used by CSS animations. We can't allow
them to animate based off visited colors. | 123 friend class CSSPropertyEquality; // Used by CSS animations. We can't allow
them to animate based off visited colors. |
| 124 friend class ApplyStyleCommand; // Editing has to only reveal unvisited info
. | 124 friend class ApplyStyleCommand; // Editing has to only reveal unvisited info
. |
| 125 friend class EditingStyle; // Editing has to only reveal unvisited info. | 125 friend class EditingStyle; // Editing has to only reveal unvisited info. |
| 126 friend class LayoutStyleCSSValueMapping; // Needs to be able to see visited
and unvisited colors for devtools. | 126 friend class ComputedStyleCSSValueMapping; // Needs to be able to see visite
d and unvisited colors for devtools. |
| 127 friend class StyleBuilderFunctions; // Sets color styles | 127 friend class StyleBuilderFunctions; // Sets color styles |
| 128 friend class CachedUAStyle; // Saves Border/Background information for later
comparison. | 128 friend class CachedUAStyle; // Saves Border/Background information for later
comparison. |
| 129 | 129 |
| 130 // FIXME: When we stop resolving currentColor at style time, these can be re
moved. | 130 // FIXME: When we stop resolving currentColor at style time, these can be re
moved. |
| 131 friend class CSSToStyleMap; | 131 friend class CSSToStyleMap; |
| 132 friend class FilterOperationResolver; | 132 friend class FilterOperationResolver; |
| 133 friend class StyleBuilderConverter; | 133 friend class StyleBuilderConverter; |
| 134 friend class StyleResolverState; | 134 friend class StyleResolverState; |
| 135 friend class StyleResolver; | 135 friend class StyleResolver; |
| 136 protected: | 136 protected: |
| 137 | 137 |
| 138 // non-inherited attributes | 138 // non-inherited attributes |
| 139 DataRef<StyleBoxData> m_box; | 139 DataRef<StyleBoxData> m_box; |
| 140 DataRef<StyleVisualData> visual; | 140 DataRef<StyleVisualData> visual; |
| 141 DataRef<StyleBackgroundData> m_background; | 141 DataRef<StyleBackgroundData> m_background; |
| 142 DataRef<StyleSurroundData> surround; | 142 DataRef<StyleSurroundData> surround; |
| 143 DataRef<StyleRareNonInheritedData> rareNonInheritedData; | 143 DataRef<StyleRareNonInheritedData> rareNonInheritedData; |
| 144 | 144 |
| 145 // inherited attributes | 145 // inherited attributes |
| 146 DataRef<StyleRareInheritedData> rareInheritedData; | 146 DataRef<StyleRareInheritedData> rareInheritedData; |
| 147 DataRef<StyleInheritedData> inherited; | 147 DataRef<StyleInheritedData> inherited; |
| 148 | 148 |
| 149 // list of associated pseudo styles | 149 // list of associated pseudo styles |
| 150 OwnPtr<PseudoStyleCache> m_cachedPseudoStyles; | 150 OwnPtr<PseudoStyleCache> m_cachedPseudoStyles; |
| 151 | 151 |
| 152 DataRef<SVGLayoutStyle> m_svgStyle; | 152 DataRef<SVGComputedStyle> m_svgStyle; |
| 153 | 153 |
| 154 // !START SYNC!: Keep this in sync with the copy constructor in LayoutStyle.cpp
and implicitlyInherited() in StyleResolver.cpp | 154 // !START SYNC!: Keep this in sync with the copy constructor in ComputedStyle.cp
p and implicitlyInherited() in StyleResolver.cpp |
| 155 | 155 |
| 156 // inherit | 156 // inherit |
| 157 struct InheritedFlags { | 157 struct InheritedFlags { |
| 158 bool operator==(const InheritedFlags& other) const | 158 bool operator==(const InheritedFlags& other) const |
| 159 { | 159 { |
| 160 return (_empty_cells == other._empty_cells) | 160 return (_empty_cells == other._empty_cells) |
| 161 && (_caption_side == other._caption_side) | 161 && (_caption_side == other._caption_side) |
| 162 && (_list_style_type == other._list_style_type) | 162 && (_list_style_type == other._list_style_type) |
| 163 && (_list_style_position == other._list_style_position) | 163 && (_list_style_position == other._list_style_position) |
| 164 && (_visibility == other._visibility) | 164 && (_visibility == other._visibility) |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 unsigned overflowX : 3; // EOverflow | 243 unsigned overflowX : 3; // EOverflow |
| 244 unsigned overflowY : 3; // EOverflow | 244 unsigned overflowY : 3; // EOverflow |
| 245 unsigned verticalAlign : 4; // EVerticalAlign | 245 unsigned verticalAlign : 4; // EVerticalAlign |
| 246 unsigned clear : 2; // EClear | 246 unsigned clear : 2; // EClear |
| 247 unsigned position : 3; // EPosition | 247 unsigned position : 3; // EPosition |
| 248 unsigned floating : 2; // EFloat | 248 unsigned floating : 2; // EFloat |
| 249 unsigned tableLayout : 1; // ETableLayout | 249 unsigned tableLayout : 1; // ETableLayout |
| 250 unsigned unicodeBidi : 3; // EUnicodeBidi | 250 unsigned unicodeBidi : 3; // EUnicodeBidi |
| 251 | 251 |
| 252 // This is set if we used viewport units when resolving a length. | 252 // This is set if we used viewport units when resolving a length. |
| 253 // It is mutable so we can pass around const LayoutStyles to resolve len
gths. | 253 // It is mutable so we can pass around const ComputedStyles to resolve l
engths. |
| 254 mutable unsigned hasViewportUnits : 1; | 254 mutable unsigned hasViewportUnits : 1; |
| 255 | 255 |
| 256 // 32 bits | 256 // 32 bits |
| 257 | 257 |
| 258 unsigned pageBreakBefore : 2; // EPageBreak | 258 unsigned pageBreakBefore : 2; // EPageBreak |
| 259 unsigned pageBreakAfter : 2; // EPageBreak | 259 unsigned pageBreakAfter : 2; // EPageBreak |
| 260 unsigned pageBreakInside : 2; // EPageBreak | 260 unsigned pageBreakInside : 2; // EPageBreak |
| 261 | 261 |
| 262 unsigned styleType : 6; // PseudoId | 262 unsigned styleType : 6; // PseudoId |
| 263 unsigned pseudoBits : 8; | 263 unsigned pseudoBits : 8; |
| 264 unsigned explicitInheritance : 1; // Explicitly inherits a non-inherited
property | 264 unsigned explicitInheritance : 1; // Explicitly inherits a non-inherited
property |
| 265 unsigned unique : 1; // Style can not be shared. | 265 unsigned unique : 1; // Style can not be shared. |
| 266 | 266 |
| 267 unsigned emptyState : 1; | 267 unsigned emptyState : 1; |
| 268 | 268 |
| 269 unsigned affectedByFocus : 1; | 269 unsigned affectedByFocus : 1; |
| 270 unsigned affectedByHover : 1; | 270 unsigned affectedByHover : 1; |
| 271 unsigned affectedByActive : 1; | 271 unsigned affectedByActive : 1; |
| 272 unsigned affectedByDrag : 1; | 272 unsigned affectedByDrag : 1; |
| 273 | 273 |
| 274 unsigned isLink : 1; | 274 unsigned isLink : 1; |
| 275 // If you add more style bits here, you will also need to update LayoutS
tyle::copyNonInheritedFromCached() | 275 // If you add more style bits here, you will also need to update Compute
dStyle::copyNonInheritedFromCached() |
| 276 // 62 bits | 276 // 62 bits |
| 277 } noninherited_flags; | 277 } noninherited_flags; |
| 278 | 278 |
| 279 // !END SYNC! | 279 // !END SYNC! |
| 280 | 280 |
| 281 protected: | 281 protected: |
| 282 void setBitDefaults() | 282 void setBitDefaults() |
| 283 { | 283 { |
| 284 inherited_flags._empty_cells = initialEmptyCells(); | 284 inherited_flags._empty_cells = initialEmptyCells(); |
| 285 inherited_flags._caption_side = initialCaptionSide(); | 285 inherited_flags._caption_side = initialCaptionSide(); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 319 noninherited_flags.emptyState = false; | 319 noninherited_flags.emptyState = false; |
| 320 noninherited_flags.hasViewportUnits = false; | 320 noninherited_flags.hasViewportUnits = false; |
| 321 noninherited_flags.affectedByFocus = false; | 321 noninherited_flags.affectedByFocus = false; |
| 322 noninherited_flags.affectedByHover = false; | 322 noninherited_flags.affectedByHover = false; |
| 323 noninherited_flags.affectedByActive = false; | 323 noninherited_flags.affectedByActive = false; |
| 324 noninherited_flags.affectedByDrag = false; | 324 noninherited_flags.affectedByDrag = false; |
| 325 noninherited_flags.isLink = false; | 325 noninherited_flags.isLink = false; |
| 326 } | 326 } |
| 327 | 327 |
| 328 private: | 328 private: |
| 329 ALWAYS_INLINE LayoutStyle(); | 329 ALWAYS_INLINE ComputedStyle(); |
| 330 | 330 |
| 331 enum InitialStyleTag { | 331 enum InitialStyleTag { |
| 332 InitialStyle | 332 InitialStyle |
| 333 }; | 333 }; |
| 334 ALWAYS_INLINE explicit LayoutStyle(InitialStyleTag); | 334 ALWAYS_INLINE explicit ComputedStyle(InitialStyleTag); |
| 335 ALWAYS_INLINE LayoutStyle(const LayoutStyle&); | 335 ALWAYS_INLINE ComputedStyle(const ComputedStyle&); |
| 336 | 336 |
| 337 static PassRefPtr<LayoutStyle> createInitialStyle(); | 337 static PassRefPtr<ComputedStyle> createInitialStyle(); |
| 338 static inline LayoutStyle* initialStyle() | 338 static inline ComputedStyle* initialStyle() |
| 339 { | 339 { |
| 340 DEFINE_STATIC_REF(LayoutStyle, s_initialStyle, (LayoutStyle::createIniti
alStyle())); | 340 DEFINE_STATIC_REF(ComputedStyle, s_initialStyle, (ComputedStyle::createI
nitialStyle())); |
| 341 return s_initialStyle; | 341 return s_initialStyle; |
| 342 } | 342 } |
| 343 | 343 |
| 344 public: | 344 public: |
| 345 static PassRefPtr<LayoutStyle> create(); | 345 static PassRefPtr<ComputedStyle> create(); |
| 346 static PassRefPtr<LayoutStyle> createAnonymousStyleWithDisplay(const LayoutS
tyle& parentStyle, EDisplay); | 346 static PassRefPtr<ComputedStyle> createAnonymousStyleWithDisplay(const Compu
tedStyle& parentStyle, EDisplay); |
| 347 static PassRefPtr<LayoutStyle> clone(const LayoutStyle&); | 347 static PassRefPtr<ComputedStyle> clone(const ComputedStyle&); |
| 348 | 348 |
| 349 // Computes how the style change should be propagated down the tree. | 349 // Computes how the style change should be propagated down the tree. |
| 350 static StyleRecalcChange stylePropagationDiff(const LayoutStyle* oldStyle, c
onst LayoutStyle* newStyle); | 350 static StyleRecalcChange stylePropagationDiff(const ComputedStyle* oldStyle,
const ComputedStyle* newStyle); |
| 351 | 351 |
| 352 static ItemPosition resolveAlignment(const LayoutStyle& parentStyle, const L
ayoutStyle& childStyle, ItemPosition resolvedAutoPositionForLayoutObject); | 352 static ItemPosition resolveAlignment(const ComputedStyle& parentStyle, const
ComputedStyle& childStyle, ItemPosition resolvedAutoPositionForLayoutObject); |
| 353 static ItemPosition resolveJustification(const LayoutStyle& parentStyle, con
st LayoutStyle& childStyle, ItemPosition resolvedAutoPositionForLayoutObject); | 353 static ItemPosition resolveJustification(const ComputedStyle& parentStyle, c
onst ComputedStyle& childStyle, ItemPosition resolvedAutoPositionForLayoutObject
); |
| 354 | 354 |
| 355 StyleDifference visualInvalidationDiff(const LayoutStyle&) const; | 355 StyleDifference visualInvalidationDiff(const ComputedStyle&) const; |
| 356 | 356 |
| 357 enum IsAtShadowBoundary { | 357 enum IsAtShadowBoundary { |
| 358 AtShadowBoundary, | 358 AtShadowBoundary, |
| 359 NotAtShadowBoundary, | 359 NotAtShadowBoundary, |
| 360 }; | 360 }; |
| 361 | 361 |
| 362 void inheritFrom(const LayoutStyle& inheritParent, IsAtShadowBoundary = NotA
tShadowBoundary); | 362 void inheritFrom(const ComputedStyle& inheritParent, IsAtShadowBoundary = No
tAtShadowBoundary); |
| 363 void copyNonInheritedFromCached(const LayoutStyle&); | 363 void copyNonInheritedFromCached(const ComputedStyle&); |
| 364 | 364 |
| 365 PseudoId styleType() const { return static_cast<PseudoId>(noninherited_flags
.styleType); } | 365 PseudoId styleType() const { return static_cast<PseudoId>(noninherited_flags
.styleType); } |
| 366 void setStyleType(PseudoId styleType) { noninherited_flags.styleType = style
Type; } | 366 void setStyleType(PseudoId styleType) { noninherited_flags.styleType = style
Type; } |
| 367 | 367 |
| 368 LayoutStyle* getCachedPseudoStyle(PseudoId) const; | 368 ComputedStyle* getCachedPseudoStyle(PseudoId) const; |
| 369 LayoutStyle* addCachedPseudoStyle(PassRefPtr<LayoutStyle>); | 369 ComputedStyle* addCachedPseudoStyle(PassRefPtr<ComputedStyle>); |
| 370 void removeCachedPseudoStyle(PseudoId); | 370 void removeCachedPseudoStyle(PseudoId); |
| 371 | 371 |
| 372 const PseudoStyleCache* cachedPseudoStyles() const { return m_cachedPseudoSt
yles.get(); } | 372 const PseudoStyleCache* cachedPseudoStyles() const { return m_cachedPseudoSt
yles.get(); } |
| 373 | 373 |
| 374 void setHasViewportUnits(bool hasViewportUnits = true) const { noninherited_
flags.hasViewportUnits = hasViewportUnits; } | 374 void setHasViewportUnits(bool hasViewportUnits = true) const { noninherited_
flags.hasViewportUnits = hasViewportUnits; } |
| 375 bool hasViewportUnits() const { return noninherited_flags.hasViewportUnits;
} | 375 bool hasViewportUnits() const { return noninherited_flags.hasViewportUnits;
} |
| 376 | 376 |
| 377 bool affectedByFocus() const { return noninherited_flags.affectedByFocus; } | 377 bool affectedByFocus() const { return noninherited_flags.affectedByFocus; } |
| 378 bool affectedByHover() const { return noninherited_flags.affectedByHover; } | 378 bool affectedByHover() const { return noninherited_flags.affectedByHover; } |
| 379 bool affectedByActive() const { return noninherited_flags.affectedByActive;
} | 379 bool affectedByActive() const { return noninherited_flags.affectedByActive;
} |
| 380 bool affectedByDrag() const { return noninherited_flags.affectedByDrag; } | 380 bool affectedByDrag() const { return noninherited_flags.affectedByDrag; } |
| 381 | 381 |
| 382 void setAffectedByFocus() { noninherited_flags.affectedByFocus = true; } | 382 void setAffectedByFocus() { noninherited_flags.affectedByFocus = true; } |
| 383 void setAffectedByHover() { noninherited_flags.affectedByHover = true; } | 383 void setAffectedByHover() { noninherited_flags.affectedByHover = true; } |
| 384 void setAffectedByActive() { noninherited_flags.affectedByActive = true; } | 384 void setAffectedByActive() { noninherited_flags.affectedByActive = true; } |
| 385 void setAffectedByDrag() { noninherited_flags.affectedByDrag = true; } | 385 void setAffectedByDrag() { noninherited_flags.affectedByDrag = true; } |
| 386 | 386 |
| 387 bool operator==(const LayoutStyle& other) const; | 387 bool operator==(const ComputedStyle& other) const; |
| 388 bool operator!=(const LayoutStyle& other) const { return !(*this == other);
} | 388 bool operator!=(const ComputedStyle& other) const { return !(*this == other)
; } |
| 389 bool isFloating() const { return noninherited_flags.floating != NoFloat; } | 389 bool isFloating() const { return noninherited_flags.floating != NoFloat; } |
| 390 bool hasMargin() const { return surround->margin.nonZero(); } | 390 bool hasMargin() const { return surround->margin.nonZero(); } |
| 391 bool hasBorder() const { return surround->border.hasBorder(); } | 391 bool hasBorder() const { return surround->border.hasBorder(); } |
| 392 bool hasPadding() const { return surround->padding.nonZero(); } | 392 bool hasPadding() const { return surround->padding.nonZero(); } |
| 393 bool hasMarginBeforeQuirk() const { return marginBefore().quirk(); } | 393 bool hasMarginBeforeQuirk() const { return marginBefore().quirk(); } |
| 394 bool hasMarginAfterQuirk() const { return marginAfter().quirk(); } | 394 bool hasMarginAfterQuirk() const { return marginAfter().quirk(); } |
| 395 | 395 |
| 396 bool hasBackgroundImage() const { return m_background->background().hasImage
(); } | 396 bool hasBackgroundImage() const { return m_background->background().hasImage
(); } |
| 397 bool hasFixedBackgroundImage() const { return m_background->background().has
FixedImage(); } | 397 bool hasFixedBackgroundImage() const { return m_background->background().has
FixedImage(); } |
| 398 | 398 |
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 672 EListStylePosition listStylePosition() const { return static_cast<EListStyle
Position>(inherited_flags._list_style_position); } | 672 EListStylePosition listStylePosition() const { return static_cast<EListStyle
Position>(inherited_flags._list_style_position); } |
| 673 | 673 |
| 674 const Length& marginTop() const { return surround->margin.top(); } | 674 const Length& marginTop() const { return surround->margin.top(); } |
| 675 const Length& marginBottom() const { return surround->margin.bottom(); } | 675 const Length& marginBottom() const { return surround->margin.bottom(); } |
| 676 const Length& marginLeft() const { return surround->margin.left(); } | 676 const Length& marginLeft() const { return surround->margin.left(); } |
| 677 const Length& marginRight() const { return surround->margin.right(); } | 677 const Length& marginRight() const { return surround->margin.right(); } |
| 678 const Length& marginBefore() const { return surround->margin.before(writingM
ode()); } | 678 const Length& marginBefore() const { return surround->margin.before(writingM
ode()); } |
| 679 const Length& marginAfter() const { return surround->margin.after(writingMod
e()); } | 679 const Length& marginAfter() const { return surround->margin.after(writingMod
e()); } |
| 680 const Length& marginStart() const { return surround->margin.start(writingMod
e(), direction()); } | 680 const Length& marginStart() const { return surround->margin.start(writingMod
e(), direction()); } |
| 681 const Length& marginEnd() const { return surround->margin.end(writingMode(),
direction()); } | 681 const Length& marginEnd() const { return surround->margin.end(writingMode(),
direction()); } |
| 682 const Length& marginStartUsing(const LayoutStyle* otherStyle) const { return
surround->margin.start(otherStyle->writingMode(), otherStyle->direction()); } | 682 const Length& marginStartUsing(const ComputedStyle* otherStyle) const { retu
rn surround->margin.start(otherStyle->writingMode(), otherStyle->direction()); } |
| 683 const Length& marginEndUsing(const LayoutStyle* otherStyle) const { return s
urround->margin.end(otherStyle->writingMode(), otherStyle->direction()); } | 683 const Length& marginEndUsing(const ComputedStyle* otherStyle) const { return
surround->margin.end(otherStyle->writingMode(), otherStyle->direction()); } |
| 684 const Length& marginBeforeUsing(const LayoutStyle* otherStyle) const { retur
n surround->margin.before(otherStyle->writingMode()); } | 684 const Length& marginBeforeUsing(const ComputedStyle* otherStyle) const { ret
urn surround->margin.before(otherStyle->writingMode()); } |
| 685 const Length& marginAfterUsing(const LayoutStyle* otherStyle) const { return
surround->margin.after(otherStyle->writingMode()); } | 685 const Length& marginAfterUsing(const ComputedStyle* otherStyle) const { retu
rn surround->margin.after(otherStyle->writingMode()); } |
| 686 | 686 |
| 687 const LengthBox& paddingBox() const { return surround->padding; } | 687 const LengthBox& paddingBox() const { return surround->padding; } |
| 688 const Length& paddingTop() const { return surround->padding.top(); } | 688 const Length& paddingTop() const { return surround->padding.top(); } |
| 689 const Length& paddingBottom() const { return surround->padding.bottom(); } | 689 const Length& paddingBottom() const { return surround->padding.bottom(); } |
| 690 const Length& paddingLeft() const { return surround->padding.left(); } | 690 const Length& paddingLeft() const { return surround->padding.left(); } |
| 691 const Length& paddingRight() const { return surround->padding.right(); } | 691 const Length& paddingRight() const { return surround->padding.right(); } |
| 692 const Length& paddingBefore() const { return surround->padding.before(writin
gMode()); } | 692 const Length& paddingBefore() const { return surround->padding.before(writin
gMode()); } |
| 693 const Length& paddingAfter() const { return surround->padding.after(writingM
ode()); } | 693 const Length& paddingAfter() const { return surround->padding.after(writingM
ode()); } |
| 694 const Length& paddingStart() const { return surround->padding.start(writingM
ode(), direction()); } | 694 const Length& paddingStart() const { return surround->padding.start(writingM
ode(), direction()); } |
| 695 const Length& paddingEnd() const { return surround->padding.end(writingMode(
), direction()); } | 695 const Length& paddingEnd() const { return surround->padding.end(writingMode(
), direction()); } |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 776 | 776 |
| 777 const GridPosition& gridColumnStart() const { return rareNonInheritedData->m
_gridItem->m_gridColumnStart; } | 777 const GridPosition& gridColumnStart() const { return rareNonInheritedData->m
_gridItem->m_gridColumnStart; } |
| 778 const GridPosition& gridColumnEnd() const { return rareNonInheritedData->m_g
ridItem->m_gridColumnEnd; } | 778 const GridPosition& gridColumnEnd() const { return rareNonInheritedData->m_g
ridItem->m_gridColumnEnd; } |
| 779 const GridPosition& gridRowStart() const { return rareNonInheritedData->m_gr
idItem->m_gridRowStart; } | 779 const GridPosition& gridRowStart() const { return rareNonInheritedData->m_gr
idItem->m_gridRowStart; } |
| 780 const GridPosition& gridRowEnd() const { return rareNonInheritedData->m_grid
Item->m_gridRowEnd; } | 780 const GridPosition& gridRowEnd() const { return rareNonInheritedData->m_grid
Item->m_gridRowEnd; } |
| 781 | 781 |
| 782 ShadowList* boxShadow() const { return rareNonInheritedData->m_boxShadow.get
(); } | 782 ShadowList* boxShadow() const { return rareNonInheritedData->m_boxShadow.get
(); } |
| 783 | 783 |
| 784 EBoxDecorationBreak boxDecorationBreak() const { return m_box->boxDecoration
Break(); } | 784 EBoxDecorationBreak boxDecorationBreak() const { return m_box->boxDecoration
Break(); } |
| 785 StyleReflection* boxReflect() const { return rareNonInheritedData->m_boxRefl
ect.get(); } | 785 StyleReflection* boxReflect() const { return rareNonInheritedData->m_boxRefl
ect.get(); } |
| 786 bool reflectionDataEquivalent(const LayoutStyle* otherStyle) const { return
rareNonInheritedData->reflectionDataEquivalent(*otherStyle->rareNonInheritedData
); } | 786 bool reflectionDataEquivalent(const ComputedStyle* otherStyle) const { retur
n rareNonInheritedData->reflectionDataEquivalent(*otherStyle->rareNonInheritedDa
ta); } |
| 787 | 787 |
| 788 // FIXME: reflections should belong to this helper function but they are cur
rently handled | 788 // FIXME: reflections should belong to this helper function but they are cur
rently handled |
| 789 // through their self-painting layers. So the layout code doesn't account fo
r them. | 789 // through their self-painting layers. So the layout code doesn't account fo
r them. |
| 790 bool hasVisualOverflowingEffect() const { return boxShadow() || hasBorderIma
geOutsets() || hasOutline(); } | 790 bool hasVisualOverflowingEffect() const { return boxShadow() || hasBorderIma
geOutsets() || hasOutline(); } |
| 791 | 791 |
| 792 EBoxSizing boxSizing() const { return m_box->boxSizing(); } | 792 EBoxSizing boxSizing() const { return m_box->boxSizing(); } |
| 793 EUserModify userModify() const { return static_cast<EUserModify>(rareInherit
edData->userModify); } | 793 EUserModify userModify() const { return static_cast<EUserModify>(rareInherit
edData->userModify); } |
| 794 EUserDrag userDrag() const { return static_cast<EUserDrag>(rareNonInheritedD
ata->userDrag); } | 794 EUserDrag userDrag() const { return static_cast<EUserDrag>(rareNonInheritedD
ata->userDrag); } |
| 795 EUserSelect userSelect() const { return static_cast<EUserSelect>(rareInherit
edData->userSelect); } | 795 EUserSelect userSelect() const { return static_cast<EUserSelect>(rareInherit
edData->userSelect); } |
| 796 TextOverflow textOverflow() const { return static_cast<TextOverflow>(rareNon
InheritedData->textOverflow); } | 796 TextOverflow textOverflow() const { return static_cast<TextOverflow>(rareNon
InheritedData->textOverflow); } |
| (...skipping 19 matching lines...) Expand all Loading... |
| 816 bool hasAutoColumnWidth() const { return rareNonInheritedData->m_multiCol->m
_autoWidth; } | 816 bool hasAutoColumnWidth() const { return rareNonInheritedData->m_multiCol->m
_autoWidth; } |
| 817 unsigned short columnCount() const { return rareNonInheritedData->m_multiCol
->m_count; } | 817 unsigned short columnCount() const { return rareNonInheritedData->m_multiCol
->m_count; } |
| 818 bool hasAutoColumnCount() const { return rareNonInheritedData->m_multiCol->m
_autoCount; } | 818 bool hasAutoColumnCount() const { return rareNonInheritedData->m_multiCol->m
_autoCount; } |
| 819 bool specifiesColumns() const { return !hasAutoColumnCount() || !hasAutoColu
mnWidth(); } | 819 bool specifiesColumns() const { return !hasAutoColumnCount() || !hasAutoColu
mnWidth(); } |
| 820 ColumnFill columnFill() const { return static_cast<ColumnFill>(rareNonInheri
tedData->m_multiCol->m_fill); } | 820 ColumnFill columnFill() const { return static_cast<ColumnFill>(rareNonInheri
tedData->m_multiCol->m_fill); } |
| 821 float columnGap() const { return rareNonInheritedData->m_multiCol->m_gap; } | 821 float columnGap() const { return rareNonInheritedData->m_multiCol->m_gap; } |
| 822 bool hasNormalColumnGap() const { return rareNonInheritedData->m_multiCol->m
_normalGap; } | 822 bool hasNormalColumnGap() const { return rareNonInheritedData->m_multiCol->m
_normalGap; } |
| 823 EBorderStyle columnRuleStyle() const { return rareNonInheritedData->m_multiC
ol->m_rule.style(); } | 823 EBorderStyle columnRuleStyle() const { return rareNonInheritedData->m_multiC
ol->m_rule.style(); } |
| 824 unsigned short columnRuleWidth() const { return rareNonInheritedData->m_mult
iCol->ruleWidth(); } | 824 unsigned short columnRuleWidth() const { return rareNonInheritedData->m_mult
iCol->ruleWidth(); } |
| 825 bool columnRuleIsTransparent() const { return rareNonInheritedData->m_multiC
ol->m_rule.isTransparent(); } | 825 bool columnRuleIsTransparent() const { return rareNonInheritedData->m_multiC
ol->m_rule.isTransparent(); } |
| 826 bool columnRuleEquivalent(const LayoutStyle* otherStyle) const; | 826 bool columnRuleEquivalent(const ComputedStyle* otherStyle) const; |
| 827 ColumnSpan columnSpan() const { return static_cast<ColumnSpan>(rareNonInheri
tedData->m_multiCol->m_columnSpan); } | 827 ColumnSpan columnSpan() const { return static_cast<ColumnSpan>(rareNonInheri
tedData->m_multiCol->m_columnSpan); } |
| 828 EPageBreak columnBreakBefore() const { return static_cast<EPageBreak>(rareNo
nInheritedData->m_multiCol->m_breakBefore); } | 828 EPageBreak columnBreakBefore() const { return static_cast<EPageBreak>(rareNo
nInheritedData->m_multiCol->m_breakBefore); } |
| 829 EPageBreak columnBreakInside() const { return static_cast<EPageBreak>(rareNo
nInheritedData->m_multiCol->m_breakInside); } | 829 EPageBreak columnBreakInside() const { return static_cast<EPageBreak>(rareNo
nInheritedData->m_multiCol->m_breakInside); } |
| 830 EPageBreak columnBreakAfter() const { return static_cast<EPageBreak>(rareNon
InheritedData->m_multiCol->m_breakAfter); } | 830 EPageBreak columnBreakAfter() const { return static_cast<EPageBreak>(rareNon
InheritedData->m_multiCol->m_breakAfter); } |
| 831 bool hasInlineTransform() const { return rareNonInheritedData->m_hasInlineTr
ansform; } | 831 bool hasInlineTransform() const { return rareNonInheritedData->m_hasInlineTr
ansform; } |
| 832 const TransformOperations& transform() const { return rareNonInheritedData->
m_transform->m_operations; } | 832 const TransformOperations& transform() const { return rareNonInheritedData->
m_transform->m_operations; } |
| 833 const TransformOrigin& transformOrigin() const { return rareNonInheritedData
->m_transform->m_origin; } | 833 const TransformOrigin& transformOrigin() const { return rareNonInheritedData
->m_transform->m_origin; } |
| 834 const Length& transformOriginX() const { return transformOrigin().x(); } | 834 const Length& transformOriginX() const { return transformOrigin().x(); } |
| 835 const Length& transformOriginY() const { return transformOrigin().y(); } | 835 const Length& transformOriginY() const { return transformOrigin().y(); } |
| 836 float transformOriginZ() const { return transformOrigin().z(); } | 836 float transformOriginZ() const { return transformOrigin().z(); } |
| 837 bool hasTransform() const { return hasTransformOperations() || hasMotionPath
() || hasCurrentTransformAnimation(); } | 837 bool hasTransform() const { return hasTransformOperations() || hasMotionPath
() || hasCurrentTransformAnimation(); } |
| 838 bool transformDataEquivalent(const LayoutStyle& otherStyle) const { return r
areNonInheritedData->m_transform == otherStyle.rareNonInheritedData->m_transform
; } | 838 bool transformDataEquivalent(const ComputedStyle& otherStyle) const { return
rareNonInheritedData->m_transform == otherStyle.rareNonInheritedData->m_transfo
rm; } |
| 839 | 839 |
| 840 StyleMotionPath* motionPath() const { return rareNonInheritedData->m_transfo
rm->m_motion.m_path.get(); } | 840 StyleMotionPath* motionPath() const { return rareNonInheritedData->m_transfo
rm->m_motion.m_path.get(); } |
| 841 bool hasMotionPath() const { return rareNonInheritedData->m_transform->m_mot
ion.m_path; } | 841 bool hasMotionPath() const { return rareNonInheritedData->m_transform->m_mot
ion.m_path; } |
| 842 const Length& motionOffset() const { return rareNonInheritedData->m_transfor
m->m_motion.m_offset; } | 842 const Length& motionOffset() const { return rareNonInheritedData->m_transfor
m->m_motion.m_offset; } |
| 843 float motionRotation() const { return rareNonInheritedData->m_transform->m_m
otion.m_rotation; } | 843 float motionRotation() const { return rareNonInheritedData->m_transform->m_m
otion.m_rotation; } |
| 844 MotionRotationType motionRotationType() const { return rareNonInheritedData-
>m_transform->m_motion.m_rotationType; } | 844 MotionRotationType motionRotationType() const { return rareNonInheritedData-
>m_transform->m_motion.m_rotationType; } |
| 845 | 845 |
| 846 TextEmphasisFill textEmphasisFill() const { return static_cast<TextEmphasisF
ill>(rareInheritedData->textEmphasisFill); } | 846 TextEmphasisFill textEmphasisFill() const { return static_cast<TextEmphasisF
ill>(rareInheritedData->textEmphasisFill); } |
| 847 TextEmphasisMark textEmphasisMark() const; | 847 TextEmphasisMark textEmphasisMark() const; |
| 848 const AtomicString& textEmphasisCustomMark() const { return rareInheritedDat
a->textEmphasisCustomMark; } | 848 const AtomicString& textEmphasisCustomMark() const { return rareInheritedDat
a->textEmphasisCustomMark; } |
| (...skipping 200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1049 void setBorderTopStyle(EBorderStyle v) { SET_VAR(surround, border.m_top.m_st
yle, v); } | 1049 void setBorderTopStyle(EBorderStyle v) { SET_VAR(surround, border.m_top.m_st
yle, v); } |
| 1050 void setBorderTopColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(surround
, border.m_top, v); } | 1050 void setBorderTopColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(surround
, border.m_top, v); } |
| 1051 void setBorderBottomWidth(unsigned v) { SET_VAR(surround, border.m_bottom.m_
width, v); } | 1051 void setBorderBottomWidth(unsigned v) { SET_VAR(surround, border.m_bottom.m_
width, v); } |
| 1052 void setBorderBottomStyle(EBorderStyle v) { SET_VAR(surround, border.m_botto
m.m_style, v); } | 1052 void setBorderBottomStyle(EBorderStyle v) { SET_VAR(surround, border.m_botto
m.m_style, v); } |
| 1053 void setBorderBottomColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(surro
und, border.m_bottom, v); } | 1053 void setBorderBottomColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(surro
und, border.m_bottom, v); } |
| 1054 | 1054 |
| 1055 void setOutlineWidth(unsigned short v) { SET_VAR(m_background, m_outline.m_w
idth, v); } | 1055 void setOutlineWidth(unsigned short v) { SET_VAR(m_background, m_outline.m_w
idth, v); } |
| 1056 void setOutlineStyleIsAuto(OutlineIsAuto isAuto) { SET_VAR(m_background, m_o
utline.m_isAuto, isAuto); } | 1056 void setOutlineStyleIsAuto(OutlineIsAuto isAuto) { SET_VAR(m_background, m_o
utline.m_isAuto, isAuto); } |
| 1057 void setOutlineStyle(EBorderStyle v) { SET_VAR(m_background, m_outline.m_sty
le, v); } | 1057 void setOutlineStyle(EBorderStyle v) { SET_VAR(m_background, m_outline.m_sty
le, v); } |
| 1058 void setOutlineColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(m_backgrou
nd, m_outline, v); } | 1058 void setOutlineColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(m_backgrou
nd, m_outline, v); } |
| 1059 bool isOutlineEquivalent(const LayoutStyle* otherStyle) const | 1059 bool isOutlineEquivalent(const ComputedStyle* otherStyle) const |
| 1060 { | 1060 { |
| 1061 // No other style, so we don't have an outline then we consider them to
be the same. | 1061 // No other style, so we don't have an outline then we consider them to
be the same. |
| 1062 if (!otherStyle) | 1062 if (!otherStyle) |
| 1063 return !hasOutline(); | 1063 return !hasOutline(); |
| 1064 return m_background->outline().visuallyEqual(otherStyle->m_background->o
utline()); | 1064 return m_background->outline().visuallyEqual(otherStyle->m_background->o
utline()); |
| 1065 } | 1065 } |
| 1066 void setOutlineFromStyle(const LayoutStyle& o) | 1066 void setOutlineFromStyle(const ComputedStyle& o) |
| 1067 { | 1067 { |
| 1068 ASSERT(!isOutlineEquivalent(&o)); | 1068 ASSERT(!isOutlineEquivalent(&o)); |
| 1069 m_background.access()->m_outline = o.m_background->m_outline; | 1069 m_background.access()->m_outline = o.m_background->m_outline; |
| 1070 } | 1070 } |
| 1071 | 1071 |
| 1072 void setOverflowX(EOverflow v) { noninherited_flags.overflowX = v; } | 1072 void setOverflowX(EOverflow v) { noninherited_flags.overflowX = v; } |
| 1073 void setOverflowY(EOverflow v) { noninherited_flags.overflowY = v; } | 1073 void setOverflowY(EOverflow v) { noninherited_flags.overflowY = v; } |
| 1074 void setVisibility(EVisibility v) { inherited_flags._visibility = v; } | 1074 void setVisibility(EVisibility v) { inherited_flags._visibility = v; } |
| 1075 void setVerticalAlign(EVerticalAlign v) { noninherited_flags.verticalAlign =
v; } | 1075 void setVerticalAlign(EVerticalAlign v) { noninherited_flags.verticalAlign =
v; } |
| 1076 void setVerticalAlignLength(const Length& length) { setVerticalAlign(LENGTH)
; SET_VAR(m_box, m_verticalAlign, length); } | 1076 void setVerticalAlignLength(const Length& length) { setVerticalAlign(LENGTH)
; SET_VAR(m_box, m_verticalAlign, length); } |
| 1077 | 1077 |
| 1078 void setHasAutoClip() { SET_VAR(visual, hasAutoClip, true); SET_VAR(visual,
clip, LayoutStyle::initialClip()); } | 1078 void setHasAutoClip() { SET_VAR(visual, hasAutoClip, true); SET_VAR(visual,
clip, ComputedStyle::initialClip()); } |
| 1079 void setClip(const LengthBox& box) { SET_VAR(visual, hasAutoClip, false); SE
T_VAR(visual, clip, box); } | 1079 void setClip(const LengthBox& box) { SET_VAR(visual, hasAutoClip, false); SE
T_VAR(visual, clip, box); } |
| 1080 | 1080 |
| 1081 void setUnicodeBidi(EUnicodeBidi b) { noninherited_flags.unicodeBidi = b; } | 1081 void setUnicodeBidi(EUnicodeBidi b) { noninherited_flags.unicodeBidi = b; } |
| 1082 | 1082 |
| 1083 void setClear(EClear v) { noninherited_flags.clear = v; } | 1083 void setClear(EClear v) { noninherited_flags.clear = v; } |
| 1084 void setTableLayout(ETableLayout v) { noninherited_flags.tableLayout = v; } | 1084 void setTableLayout(ETableLayout v) { noninherited_flags.tableLayout = v; } |
| 1085 | 1085 |
| 1086 bool setFontDescription(const FontDescription&); | 1086 bool setFontDescription(const FontDescription&); |
| 1087 | 1087 |
| 1088 void setTextAutosizingMultiplier(float); | 1088 void setTextAutosizingMultiplier(float); |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1284 void setColumnGap(float f) { SET_VAR(rareNonInheritedData.access()->m_multiC
ol, m_normalGap, false); SET_VAR(rareNonInheritedData.access()->m_multiCol, m_ga
p, f); } | 1284 void setColumnGap(float f) { SET_VAR(rareNonInheritedData.access()->m_multiC
ol, m_normalGap, false); SET_VAR(rareNonInheritedData.access()->m_multiCol, m_ga
p, f); } |
| 1285 void setHasNormalColumnGap() { SET_VAR(rareNonInheritedData.access()->m_mult
iCol, m_normalGap, true); SET_VAR(rareNonInheritedData.access()->m_multiCol, m_g
ap, 0); } | 1285 void setHasNormalColumnGap() { SET_VAR(rareNonInheritedData.access()->m_mult
iCol, m_normalGap, true); SET_VAR(rareNonInheritedData.access()->m_multiCol, m_g
ap, 0); } |
| 1286 void setColumnRuleColor(const StyleColor& c) { SET_BORDERVALUE_COLOR(rareNon
InheritedData.access()->m_multiCol, m_rule, c); } | 1286 void setColumnRuleColor(const StyleColor& c) { SET_BORDERVALUE_COLOR(rareNon
InheritedData.access()->m_multiCol, m_rule, c); } |
| 1287 void setColumnRuleStyle(EBorderStyle b) { SET_VAR(rareNonInheritedData.acces
s()->m_multiCol, m_rule.m_style, b); } | 1287 void setColumnRuleStyle(EBorderStyle b) { SET_VAR(rareNonInheritedData.acces
s()->m_multiCol, m_rule.m_style, b); } |
| 1288 void setColumnRuleWidth(unsigned short w) { SET_VAR(rareNonInheritedData.acc
ess()->m_multiCol, m_rule.m_width, w); } | 1288 void setColumnRuleWidth(unsigned short w) { SET_VAR(rareNonInheritedData.acc
ess()->m_multiCol, m_rule.m_width, w); } |
| 1289 void setColumnSpan(ColumnSpan columnSpan) { SET_VAR(rareNonInheritedData.acc
ess()->m_multiCol, m_columnSpan, columnSpan); } | 1289 void setColumnSpan(ColumnSpan columnSpan) { SET_VAR(rareNonInheritedData.acc
ess()->m_multiCol, m_columnSpan, columnSpan); } |
| 1290 void setColumnBreakBefore(EPageBreak p) { SET_VAR(rareNonInheritedData.acces
s()->m_multiCol, m_breakBefore, p); } | 1290 void setColumnBreakBefore(EPageBreak p) { SET_VAR(rareNonInheritedData.acces
s()->m_multiCol, m_breakBefore, p); } |
| 1291 // For valid values of column-break-inside see http://www.w3.org/TR/css3-mul
ticol/#break-before-break-after-break-inside | 1291 // For valid values of column-break-inside see http://www.w3.org/TR/css3-mul
ticol/#break-before-break-after-break-inside |
| 1292 void setColumnBreakInside(EPageBreak p) { ASSERT(p == PBAUTO || p == PBAVOID
); SET_VAR(rareNonInheritedData.access()->m_multiCol, m_breakInside, p); } | 1292 void setColumnBreakInside(EPageBreak p) { ASSERT(p == PBAUTO || p == PBAVOID
); SET_VAR(rareNonInheritedData.access()->m_multiCol, m_breakInside, p); } |
| 1293 void setColumnBreakAfter(EPageBreak p) { SET_VAR(rareNonInheritedData.access
()->m_multiCol, m_breakAfter, p); } | 1293 void setColumnBreakAfter(EPageBreak p) { SET_VAR(rareNonInheritedData.access
()->m_multiCol, m_breakAfter, p); } |
| 1294 void inheritColumnPropertiesFrom(const LayoutStyle& parent) { rareNonInherit
edData.access()->m_multiCol = parent.rareNonInheritedData->m_multiCol; } | 1294 void inheritColumnPropertiesFrom(const ComputedStyle& parent) { rareNonInher
itedData.access()->m_multiCol = parent.rareNonInheritedData->m_multiCol; } |
| 1295 void setHasInlineTransform(bool b) { SET_VAR(rareNonInheritedData, m_hasInli
neTransform, b); } | 1295 void setHasInlineTransform(bool b) { SET_VAR(rareNonInheritedData, m_hasInli
neTransform, b); } |
| 1296 void setTransform(const TransformOperations& ops) { SET_VAR(rareNonInherited
Data.access()->m_transform, m_operations, ops); } | 1296 void setTransform(const TransformOperations& ops) { SET_VAR(rareNonInherited
Data.access()->m_transform, m_operations, ops); } |
| 1297 void setTransformOriginX(const Length& v) { setTransformOrigin(TransformOrig
in(v, transformOriginY(), transformOriginZ())); } | 1297 void setTransformOriginX(const Length& v) { setTransformOrigin(TransformOrig
in(v, transformOriginY(), transformOriginZ())); } |
| 1298 void setTransformOriginY(const Length& v) { setTransformOrigin(TransformOrig
in(transformOriginX(), v, transformOriginZ())); } | 1298 void setTransformOriginY(const Length& v) { setTransformOrigin(TransformOrig
in(transformOriginX(), v, transformOriginZ())); } |
| 1299 void setTransformOriginZ(float f) { setTransformOrigin(TransformOrigin(trans
formOriginX(), transformOriginY(), f)); } | 1299 void setTransformOriginZ(float f) { setTransformOrigin(TransformOrigin(trans
formOriginX(), transformOriginY(), f)); } |
| 1300 void setTransformOrigin(const TransformOrigin& o) { SET_VAR(rareNonInherited
Data.access()->m_transform, m_origin, o); } | 1300 void setTransformOrigin(const TransformOrigin& o) { SET_VAR(rareNonInherited
Data.access()->m_transform, m_origin, o); } |
| 1301 void setSpeak(ESpeak s) { SET_VAR(rareInheritedData, speak, s); } | 1301 void setSpeak(ESpeak s) { SET_VAR(rareInheritedData, speak, s); } |
| 1302 void setTextCombine(TextCombine v) { SET_VAR(rareNonInheritedData, m_textCom
bine, v); } | 1302 void setTextCombine(TextCombine v) { SET_VAR(rareNonInheritedData, m_textCom
bine, v); } |
| 1303 void setTextDecorationColor(const StyleColor& c) { SET_VAR(rareNonInheritedD
ata, m_textDecorationColor, c); } | 1303 void setTextDecorationColor(const StyleColor& c) { SET_VAR(rareNonInheritedD
ata, m_textDecorationColor, c); } |
| 1304 void setTextEmphasisColor(const StyleColor& c) { SET_VAR_WITH_SETTER(rareInh
eritedData, textEmphasisColor, setTextEmphasisColor, c); } | 1304 void setTextEmphasisColor(const StyleColor& c) { SET_VAR_WITH_SETTER(rareInh
eritedData, textEmphasisColor, setTextEmphasisColor, c); } |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1359 void setScrollBlocksOn(WebScrollBlocksOn b) { SET_VAR(rareNonInheritedData,
m_scrollBlocksOn, b); } | 1359 void setScrollBlocksOn(WebScrollBlocksOn b) { SET_VAR(rareNonInheritedData,
m_scrollBlocksOn, b); } |
| 1360 | 1360 |
| 1361 void setWillChangeProperties(const Vector<CSSPropertyID>& properties) { SET_
VAR(rareNonInheritedData.access()->m_willChange, m_properties, properties); } | 1361 void setWillChangeProperties(const Vector<CSSPropertyID>& properties) { SET_
VAR(rareNonInheritedData.access()->m_willChange, m_properties, properties); } |
| 1362 void setWillChangeContents(bool b) { SET_VAR(rareNonInheritedData.access()->
m_willChange, m_contents, b); } | 1362 void setWillChangeContents(bool b) { SET_VAR(rareNonInheritedData.access()->
m_willChange, m_contents, b); } |
| 1363 void setWillChangeScrollPosition(bool b) { SET_VAR(rareNonInheritedData.acce
ss()->m_willChange, m_scrollPosition, b); } | 1363 void setWillChangeScrollPosition(bool b) { SET_VAR(rareNonInheritedData.acce
ss()->m_willChange, m_scrollPosition, b); } |
| 1364 void setSubtreeWillChangeContents(bool b) { SET_VAR(rareInheritedData, m_sub
treeWillChangeContents, b); } | 1364 void setSubtreeWillChangeContents(bool b) { SET_VAR(rareInheritedData, m_sub
treeWillChangeContents, b); } |
| 1365 | 1365 |
| 1366 bool requiresAcceleratedCompositingForExternalReasons(bool b) { return rareN
onInheritedData->m_requiresAcceleratedCompositingForExternalReasons; } | 1366 bool requiresAcceleratedCompositingForExternalReasons(bool b) { return rareN
onInheritedData->m_requiresAcceleratedCompositingForExternalReasons; } |
| 1367 void setRequiresAcceleratedCompositingForExternalReasons(bool b) { SET_VAR(r
areNonInheritedData, m_requiresAcceleratedCompositingForExternalReasons, b); } | 1367 void setRequiresAcceleratedCompositingForExternalReasons(bool b) { SET_VAR(r
areNonInheritedData, m_requiresAcceleratedCompositingForExternalReasons, b); } |
| 1368 | 1368 |
| 1369 const SVGLayoutStyle& svgStyle() const { return *m_svgStyle.get(); } | 1369 const SVGComputedStyle& svgStyle() const { return *m_svgStyle.get(); } |
| 1370 SVGLayoutStyle& accessSVGStyle() { return *m_svgStyle.access(); } | 1370 SVGComputedStyle& accessSVGStyle() { return *m_svgStyle.access(); } |
| 1371 | 1371 |
| 1372 const SVGPaintType& fillPaintType() const { return svgStyle().fillPaintType(
); } | 1372 const SVGPaintType& fillPaintType() const { return svgStyle().fillPaintType(
); } |
| 1373 Color fillPaintColor() const { return svgStyle().fillPaintColor(); } | 1373 Color fillPaintColor() const { return svgStyle().fillPaintColor(); } |
| 1374 float fillOpacity() const { return svgStyle().fillOpacity(); } | 1374 float fillOpacity() const { return svgStyle().fillOpacity(); } |
| 1375 void setFillOpacity(float f) { accessSVGStyle().setFillOpacity(f); } | 1375 void setFillOpacity(float f) { accessSVGStyle().setFillOpacity(f); } |
| 1376 | 1376 |
| 1377 const SVGPaintType& strokePaintType() const { return svgStyle().strokePaintT
ype(); } | 1377 const SVGPaintType& strokePaintType() const { return svgStyle().strokePaintT
ype(); } |
| 1378 Color strokePaintColor() const { return svgStyle().strokePaintColor(); } | 1378 Color strokePaintColor() const { return svgStyle().strokePaintColor(); } |
| 1379 float strokeOpacity() const { return svgStyle().strokeOpacity(); } | 1379 float strokeOpacity() const { return svgStyle().strokeOpacity(); } |
| 1380 void setStrokeOpacity(float f) { accessSVGStyle().setStrokeOpacity(f); } | 1380 void setStrokeOpacity(float f) { accessSVGStyle().setStrokeOpacity(f); } |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1434 float shapeImageThreshold() const { return rareNonInheritedData->m_shapeImag
eThreshold; } | 1434 float shapeImageThreshold() const { return rareNonInheritedData->m_shapeImag
eThreshold; } |
| 1435 void setShapeImageThreshold(float shapeImageThreshold) | 1435 void setShapeImageThreshold(float shapeImageThreshold) |
| 1436 { | 1436 { |
| 1437 float clampedShapeImageThreshold = clampTo<float>(shapeImageThreshold, 0
, 1); | 1437 float clampedShapeImageThreshold = clampTo<float>(shapeImageThreshold, 0
, 1); |
| 1438 SET_VAR(rareNonInheritedData, m_shapeImageThreshold, clampedShapeImageTh
reshold); | 1438 SET_VAR(rareNonInheritedData, m_shapeImageThreshold, clampedShapeImageTh
reshold); |
| 1439 } | 1439 } |
| 1440 static float initialShapeImageThreshold() { return 0; } | 1440 static float initialShapeImageThreshold() { return 0; } |
| 1441 | 1441 |
| 1442 bool hasContent() const { return contentData(); } | 1442 bool hasContent() const { return contentData(); } |
| 1443 const ContentData* contentData() const { return rareNonInheritedData->m_cont
ent.get(); } | 1443 const ContentData* contentData() const { return rareNonInheritedData->m_cont
ent.get(); } |
| 1444 bool contentDataEquivalent(const LayoutStyle* otherStyle) const { return con
st_cast<LayoutStyle*>(this)->rareNonInheritedData->contentDataEquivalent(*const_
cast<LayoutStyle*>(otherStyle)->rareNonInheritedData); } | 1444 bool contentDataEquivalent(const ComputedStyle* otherStyle) const { return c
onst_cast<ComputedStyle*>(this)->rareNonInheritedData->contentDataEquivalent(*co
nst_cast<ComputedStyle*>(otherStyle)->rareNonInheritedData); } |
| 1445 void clearContent(); | 1445 void clearContent(); |
| 1446 void setContent(const String&, bool add = false); | 1446 void setContent(const String&, bool add = false); |
| 1447 void setContent(PassRefPtr<StyleImage>, bool add = false); | 1447 void setContent(PassRefPtr<StyleImage>, bool add = false); |
| 1448 void setContent(PassOwnPtr<CounterContent>, bool add = false); | 1448 void setContent(PassOwnPtr<CounterContent>, bool add = false); |
| 1449 void setContent(QuoteType, bool add = false); | 1449 void setContent(QuoteType, bool add = false); |
| 1450 | 1450 |
| 1451 const CounterDirectiveMap* counterDirectives() const; | 1451 const CounterDirectiveMap* counterDirectives() const; |
| 1452 CounterDirectiveMap& accessCounterDirectives(); | 1452 CounterDirectiveMap& accessCounterDirectives(); |
| 1453 const CounterDirectives getCounterDirectives(const AtomicString& identifier)
const; | 1453 const CounterDirectives getCounterDirectives(const AtomicString& identifier)
const; |
| 1454 void clearIncrementDirectives(); | 1454 void clearIncrementDirectives(); |
| 1455 void clearResetDirectives(); | 1455 void clearResetDirectives(); |
| 1456 | 1456 |
| 1457 QuotesData* quotes() const { return rareInheritedData->quotes.get(); } | 1457 QuotesData* quotes() const { return rareInheritedData->quotes.get(); } |
| 1458 void setQuotes(PassRefPtr<QuotesData>); | 1458 void setQuotes(PassRefPtr<QuotesData>); |
| 1459 | 1459 |
| 1460 const AtomicString& hyphenString() const; | 1460 const AtomicString& hyphenString() const; |
| 1461 | 1461 |
| 1462 bool inheritedNotEqual(const LayoutStyle&) const; | 1462 bool inheritedNotEqual(const ComputedStyle&) const; |
| 1463 bool inheritedDataShared(const LayoutStyle&) const; | 1463 bool inheritedDataShared(const ComputedStyle&) const; |
| 1464 | 1464 |
| 1465 bool isDisplayReplacedType() const { return isDisplayReplacedType(display())
; } | 1465 bool isDisplayReplacedType() const { return isDisplayReplacedType(display())
; } |
| 1466 bool isDisplayInlineType() const { return isDisplayInlineType(display()); } | 1466 bool isDisplayInlineType() const { return isDisplayInlineType(display()); } |
| 1467 bool isOriginalDisplayInlineType() const { return isDisplayInlineType(origin
alDisplay()); } | 1467 bool isOriginalDisplayInlineType() const { return isDisplayInlineType(origin
alDisplay()); } |
| 1468 bool isDisplayFlexibleOrGridBox() const { return isDisplayFlexibleBox(displa
y()) || isDisplayGridBox(display()); } | 1468 bool isDisplayFlexibleOrGridBox() const { return isDisplayFlexibleBox(displa
y()) || isDisplayGridBox(display()); } |
| 1469 bool isDisplayFlexibleBox() const { return isDisplayFlexibleBox(display());
} | 1469 bool isDisplayFlexibleBox() const { return isDisplayFlexibleBox(display());
} |
| 1470 | 1470 |
| 1471 | 1471 |
| 1472 bool setWritingMode(WritingMode v) | 1472 bool setWritingMode(WritingMode v) |
| 1473 { | 1473 { |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1696 void setVisitedLinkBorderRightColor(const StyleColor& v) { SET_VAR(rareNonIn
heritedData, m_visitedLinkBorderRightColor, v); } | 1696 void setVisitedLinkBorderRightColor(const StyleColor& v) { SET_VAR(rareNonIn
heritedData, m_visitedLinkBorderRightColor, v); } |
| 1697 void setVisitedLinkBorderBottomColor(const StyleColor& v) { SET_VAR(rareNonI
nheritedData, m_visitedLinkBorderBottomColor, v); } | 1697 void setVisitedLinkBorderBottomColor(const StyleColor& v) { SET_VAR(rareNonI
nheritedData, m_visitedLinkBorderBottomColor, v); } |
| 1698 void setVisitedLinkBorderTopColor(const StyleColor& v) { SET_VAR(rareNonInhe
ritedData, m_visitedLinkBorderTopColor, v); } | 1698 void setVisitedLinkBorderTopColor(const StyleColor& v) { SET_VAR(rareNonInhe
ritedData, m_visitedLinkBorderTopColor, v); } |
| 1699 void setVisitedLinkOutlineColor(const StyleColor& v) { SET_VAR(rareNonInheri
tedData, m_visitedLinkOutlineColor, v); } | 1699 void setVisitedLinkOutlineColor(const StyleColor& v) { SET_VAR(rareNonInheri
tedData, m_visitedLinkOutlineColor, v); } |
| 1700 void setVisitedLinkColumnRuleColor(const StyleColor& v) { SET_VAR(rareNonInh
eritedData.access()->m_multiCol, m_visitedLinkColumnRuleColor, v); } | 1700 void setVisitedLinkColumnRuleColor(const StyleColor& v) { SET_VAR(rareNonInh
eritedData.access()->m_multiCol, m_visitedLinkColumnRuleColor, v); } |
| 1701 void setVisitedLinkTextDecorationColor(const StyleColor& v) { SET_VAR(rareNo
nInheritedData, m_visitedLinkTextDecorationColor, v); } | 1701 void setVisitedLinkTextDecorationColor(const StyleColor& v) { SET_VAR(rareNo
nInheritedData, m_visitedLinkTextDecorationColor, v); } |
| 1702 void setVisitedLinkTextEmphasisColor(const StyleColor& v) { SET_VAR_WITH_SET
TER(rareInheritedData, visitedLinkTextEmphasisColor, setVisitedLinkTextEmphasisC
olor, v); } | 1702 void setVisitedLinkTextEmphasisColor(const StyleColor& v) { SET_VAR_WITH_SET
TER(rareInheritedData, visitedLinkTextEmphasisColor, setVisitedLinkTextEmphasisC
olor, v); } |
| 1703 void setVisitedLinkTextFillColor(const StyleColor& v) { SET_VAR_WITH_SETTER(
rareInheritedData, visitedLinkTextFillColor, setVisitedLinkTextFillColor, v); } | 1703 void setVisitedLinkTextFillColor(const StyleColor& v) { SET_VAR_WITH_SETTER(
rareInheritedData, visitedLinkTextFillColor, setVisitedLinkTextFillColor, v); } |
| 1704 void setVisitedLinkTextStrokeColor(const StyleColor& v) { SET_VAR_WITH_SETTE
R(rareInheritedData, visitedLinkTextStrokeColor, setVisitedLinkTextStrokeColor,
v); } | 1704 void setVisitedLinkTextStrokeColor(const StyleColor& v) { SET_VAR_WITH_SETTE
R(rareInheritedData, visitedLinkTextStrokeColor, setVisitedLinkTextStrokeColor,
v); } |
| 1705 | 1705 |
| 1706 void inheritUnicodeBidiFrom(const LayoutStyle& parent) { noninherited_flags.
unicodeBidi = parent.noninherited_flags.unicodeBidi; } | 1706 void inheritUnicodeBidiFrom(const ComputedStyle& parent) { noninherited_flag
s.unicodeBidi = parent.noninherited_flags.unicodeBidi; } |
| 1707 | 1707 |
| 1708 bool isDisplayFlexibleBox(EDisplay display) const | 1708 bool isDisplayFlexibleBox(EDisplay display) const |
| 1709 { | 1709 { |
| 1710 return display == FLEX || display == INLINE_FLEX; | 1710 return display == FLEX || display == INLINE_FLEX; |
| 1711 } | 1711 } |
| 1712 | 1712 |
| 1713 bool isDisplayGridBox(EDisplay display) const | 1713 bool isDisplayGridBox(EDisplay display) const |
| 1714 { | 1714 { |
| 1715 return display == GRID || display == INLINE_GRID; | 1715 return display == GRID || display == INLINE_GRID; |
| 1716 } | 1716 } |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1757 | 1757 |
| 1758 Color stopColor() const { return svgStyle().stopColor(); } | 1758 Color stopColor() const { return svgStyle().stopColor(); } |
| 1759 Color floodColor() const { return svgStyle().floodColor(); } | 1759 Color floodColor() const { return svgStyle().floodColor(); } |
| 1760 Color lightingColor() const { return svgStyle().lightingColor(); } | 1760 Color lightingColor() const { return svgStyle().lightingColor(); } |
| 1761 | 1761 |
| 1762 void appendContent(PassOwnPtr<ContentData>); | 1762 void appendContent(PassOwnPtr<ContentData>); |
| 1763 void addAppliedTextDecoration(const AppliedTextDecoration&); | 1763 void addAppliedTextDecoration(const AppliedTextDecoration&); |
| 1764 bool hasTransformOperations() const { return !rareNonInheritedData->m_transf
orm->m_operations.operations().isEmpty(); } | 1764 bool hasTransformOperations() const { return !rareNonInheritedData->m_transf
orm->m_operations.operations().isEmpty(); } |
| 1765 void applyMotionPathTransform(TransformationMatrix&) const; | 1765 void applyMotionPathTransform(TransformationMatrix&) const; |
| 1766 | 1766 |
| 1767 bool diffNeedsFullLayoutAndPaintInvalidation(const LayoutStyle& other) const
; | 1767 bool diffNeedsFullLayoutAndPaintInvalidation(const ComputedStyle& other) con
st; |
| 1768 bool diffNeedsFullLayout(const LayoutStyle& other) const; | 1768 bool diffNeedsFullLayout(const ComputedStyle& other) const; |
| 1769 bool diffNeedsPaintInvalidationLayer(const LayoutStyle& other) const; | 1769 bool diffNeedsPaintInvalidationLayer(const ComputedStyle& other) const; |
| 1770 bool diffNeedsPaintInvalidationObject(const LayoutStyle& other) const; | 1770 bool diffNeedsPaintInvalidationObject(const ComputedStyle& other) const; |
| 1771 void updatePropertySpecificDifferences(const LayoutStyle& other, StyleDiffer
ence&) const; | 1771 void updatePropertySpecificDifferences(const ComputedStyle& other, StyleDiff
erence&) const; |
| 1772 }; | 1772 }; |
| 1773 | 1773 |
| 1774 // FIXME: Reduce/remove the dependency on zoom adjusted int values. | 1774 // FIXME: Reduce/remove the dependency on zoom adjusted int values. |
| 1775 // The float or LayoutUnit versions of layout values should be used. | 1775 // The float or LayoutUnit versions of layout values should be used. |
| 1776 inline int adjustForAbsoluteZoom(int value, float zoomFactor) | 1776 inline int adjustForAbsoluteZoom(int value, float zoomFactor) |
| 1777 { | 1777 { |
| 1778 if (zoomFactor == 1) | 1778 if (zoomFactor == 1) |
| 1779 return value; | 1779 return value; |
| 1780 // Needed because computeLengthInt truncates (rather than rounds) when scali
ng up. | 1780 // Needed because computeLengthInt truncates (rather than rounds) when scali
ng up. |
| 1781 float fvalue = value; | 1781 float fvalue = value; |
| 1782 if (zoomFactor > 1) { | 1782 if (zoomFactor > 1) { |
| 1783 if (value < 0) | 1783 if (value < 0) |
| 1784 fvalue -= 0.5f; | 1784 fvalue -= 0.5f; |
| 1785 else | 1785 else |
| 1786 fvalue += 0.5f; | 1786 fvalue += 0.5f; |
| 1787 } | 1787 } |
| 1788 | 1788 |
| 1789 return roundForImpreciseConversion<int>(fvalue / zoomFactor); | 1789 return roundForImpreciseConversion<int>(fvalue / zoomFactor); |
| 1790 } | 1790 } |
| 1791 | 1791 |
| 1792 inline int adjustForAbsoluteZoom(int value, const LayoutStyle* style) | 1792 inline int adjustForAbsoluteZoom(int value, const ComputedStyle* style) |
| 1793 { | 1793 { |
| 1794 return adjustForAbsoluteZoom(value, style->effectiveZoom()); | 1794 return adjustForAbsoluteZoom(value, style->effectiveZoom()); |
| 1795 } | 1795 } |
| 1796 | 1796 |
| 1797 inline float adjustFloatForAbsoluteZoom(float value, const LayoutStyle& style) | 1797 inline float adjustFloatForAbsoluteZoom(float value, const ComputedStyle& style) |
| 1798 { | 1798 { |
| 1799 return value / style.effectiveZoom(); | 1799 return value / style.effectiveZoom(); |
| 1800 } | 1800 } |
| 1801 | 1801 |
| 1802 inline double adjustDoubleForAbsoluteZoom(double value, const LayoutStyle& style
) | 1802 inline double adjustDoubleForAbsoluteZoom(double value, const ComputedStyle& sty
le) |
| 1803 { | 1803 { |
| 1804 return value / style.effectiveZoom(); | 1804 return value / style.effectiveZoom(); |
| 1805 } | 1805 } |
| 1806 | 1806 |
| 1807 inline LayoutUnit adjustLayoutUnitForAbsoluteZoom(LayoutUnit value, const Layout
Style& style) | 1807 inline LayoutUnit adjustLayoutUnitForAbsoluteZoom(LayoutUnit value, const Comput
edStyle& style) |
| 1808 { | 1808 { |
| 1809 return value / style.effectiveZoom(); | 1809 return value / style.effectiveZoom(); |
| 1810 } | 1810 } |
| 1811 | 1811 |
| 1812 inline double adjustScrollForAbsoluteZoom(double scrollOffset, float zoomFactor) | 1812 inline double adjustScrollForAbsoluteZoom(double scrollOffset, float zoomFactor) |
| 1813 { | 1813 { |
| 1814 return scrollOffset / zoomFactor; | 1814 return scrollOffset / zoomFactor; |
| 1815 } | 1815 } |
| 1816 | 1816 |
| 1817 inline double adjustScrollForAbsoluteZoom(double scrollOffset, const LayoutStyle
& style) | 1817 inline double adjustScrollForAbsoluteZoom(double scrollOffset, const ComputedSty
le& style) |
| 1818 { | 1818 { |
| 1819 return adjustScrollForAbsoluteZoom(scrollOffset, style.effectiveZoom()); | 1819 return adjustScrollForAbsoluteZoom(scrollOffset, style.effectiveZoom()); |
| 1820 } | 1820 } |
| 1821 | 1821 |
| 1822 inline bool LayoutStyle::setZoom(float f) | 1822 inline bool ComputedStyle::setZoom(float f) |
| 1823 { | 1823 { |
| 1824 if (compareEqual(visual->m_zoom, f)) | 1824 if (compareEqual(visual->m_zoom, f)) |
| 1825 return false; | 1825 return false; |
| 1826 visual.access()->m_zoom = f; | 1826 visual.access()->m_zoom = f; |
| 1827 setEffectiveZoom(effectiveZoom() * zoom()); | 1827 setEffectiveZoom(effectiveZoom() * zoom()); |
| 1828 return true; | 1828 return true; |
| 1829 } | 1829 } |
| 1830 | 1830 |
| 1831 inline bool LayoutStyle::setEffectiveZoom(float f) | 1831 inline bool ComputedStyle::setEffectiveZoom(float f) |
| 1832 { | 1832 { |
| 1833 if (compareEqual(rareInheritedData->m_effectiveZoom, f)) | 1833 if (compareEqual(rareInheritedData->m_effectiveZoom, f)) |
| 1834 return false; | 1834 return false; |
| 1835 rareInheritedData.access()->m_effectiveZoom = f; | 1835 rareInheritedData.access()->m_effectiveZoom = f; |
| 1836 return true; | 1836 return true; |
| 1837 } | 1837 } |
| 1838 | 1838 |
| 1839 inline bool LayoutStyle::isSharable() const | 1839 inline bool ComputedStyle::isSharable() const |
| 1840 { | 1840 { |
| 1841 if (unique()) | 1841 if (unique()) |
| 1842 return false; | 1842 return false; |
| 1843 if (hasUniquePseudoStyle()) | 1843 if (hasUniquePseudoStyle()) |
| 1844 return false; | 1844 return false; |
| 1845 return true; | 1845 return true; |
| 1846 } | 1846 } |
| 1847 | 1847 |
| 1848 inline bool LayoutStyle::setTextOrientation(TextOrientation textOrientation) | 1848 inline bool ComputedStyle::setTextOrientation(TextOrientation textOrientation) |
| 1849 { | 1849 { |
| 1850 if (compareEqual(rareInheritedData->m_textOrientation, textOrientation)) | 1850 if (compareEqual(rareInheritedData->m_textOrientation, textOrientation)) |
| 1851 return false; | 1851 return false; |
| 1852 | 1852 |
| 1853 rareInheritedData.access()->m_textOrientation = textOrientation; | 1853 rareInheritedData.access()->m_textOrientation = textOrientation; |
| 1854 return true; | 1854 return true; |
| 1855 } | 1855 } |
| 1856 | 1856 |
| 1857 inline bool LayoutStyle::hasAnyPublicPseudoStyles() const | 1857 inline bool ComputedStyle::hasAnyPublicPseudoStyles() const |
| 1858 { | 1858 { |
| 1859 return PUBLIC_PSEUDOID_MASK & noninherited_flags.pseudoBits; | 1859 return PUBLIC_PSEUDOID_MASK & noninherited_flags.pseudoBits; |
| 1860 } | 1860 } |
| 1861 | 1861 |
| 1862 inline bool LayoutStyle::hasPseudoStyle(PseudoId pseudo) const | 1862 inline bool ComputedStyle::hasPseudoStyle(PseudoId pseudo) const |
| 1863 { | 1863 { |
| 1864 ASSERT(pseudo > NOPSEUDO); | 1864 ASSERT(pseudo > NOPSEUDO); |
| 1865 ASSERT(pseudo < FIRST_INTERNAL_PSEUDOID); | 1865 ASSERT(pseudo < FIRST_INTERNAL_PSEUDOID); |
| 1866 return (1 << (pseudo - 1)) & noninherited_flags.pseudoBits; | 1866 return (1 << (pseudo - 1)) & noninherited_flags.pseudoBits; |
| 1867 } | 1867 } |
| 1868 | 1868 |
| 1869 inline void LayoutStyle::setHasPseudoStyle(PseudoId pseudo) | 1869 inline void ComputedStyle::setHasPseudoStyle(PseudoId pseudo) |
| 1870 { | 1870 { |
| 1871 ASSERT(pseudo > NOPSEUDO); | 1871 ASSERT(pseudo > NOPSEUDO); |
| 1872 ASSERT(pseudo < FIRST_INTERNAL_PSEUDOID); | 1872 ASSERT(pseudo < FIRST_INTERNAL_PSEUDOID); |
| 1873 noninherited_flags.pseudoBits |= 1 << (pseudo - 1); | 1873 noninherited_flags.pseudoBits |= 1 << (pseudo - 1); |
| 1874 } | 1874 } |
| 1875 | 1875 |
| 1876 inline bool LayoutStyle::hasPseudoElementStyle() const | 1876 inline bool ComputedStyle::hasPseudoElementStyle() const |
| 1877 { | 1877 { |
| 1878 return noninherited_flags.pseudoBits & PSEUDO_ELEMENT_MASK; | 1878 return noninherited_flags.pseudoBits & PSEUDO_ELEMENT_MASK; |
| 1879 } | 1879 } |
| 1880 | 1880 |
| 1881 } // namespace blink | 1881 } // namespace blink |
| 1882 | 1882 |
| 1883 #endif // LayoutStyle_h | 1883 #endif // ComputedStyle_h |
| OLD | NEW |