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 |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
132 friend class StyleBuilderFunctions; // Sets color styles | 132 friend class StyleBuilderFunctions; // Sets color styles |
133 friend class CachedUAStyle; // Saves Border/Background information for later comparison. | 133 friend class CachedUAStyle; // Saves Border/Background information for later comparison. |
134 friend class ColorPropertyFunctions; // Accesses visited and unvisited color s. | 134 friend class ColorPropertyFunctions; // Accesses visited and unvisited color s. |
135 | 135 |
136 // FIXME: When we stop resolving currentColor at style time, these can be re moved. | 136 // FIXME: When we stop resolving currentColor at style time, these can be re moved. |
137 friend class CSSToStyleMap; | 137 friend class CSSToStyleMap; |
138 friend class FilterOperationResolver; | 138 friend class FilterOperationResolver; |
139 friend class StyleBuilderConverter; | 139 friend class StyleBuilderConverter; |
140 friend class StyleResolverState; | 140 friend class StyleResolverState; |
141 friend class StyleResolver; | 141 friend class StyleResolver; |
142 | |
142 protected: | 143 protected: |
nainar
2016/07/25 07:43:27
remove inserted new line here
sashab
2016/07/26 00:38:08
Done
| |
143 | |
144 // non-inherited attributes | 144 // non-inherited attributes |
145 DataRef<StyleBoxData> m_box; | 145 DataRef<StyleBoxData> m_box; |
146 DataRef<StyleVisualData> m_visual; | 146 DataRef<StyleVisualData> m_visual; |
147 DataRef<StyleBackgroundData> m_background; | 147 DataRef<StyleBackgroundData> m_background; |
148 DataRef<StyleSurroundData> m_surround; | 148 DataRef<StyleSurroundData> m_surround; |
149 DataRef<StyleRareNonInheritedData> m_rareNonInheritedData; | 149 DataRef<StyleRareNonInheritedData> m_rareNonInheritedData; |
150 | 150 |
151 // inherited attributes | 151 // inherited attributes |
152 DataRef<StyleRareInheritedData> m_rareInheritedData; | 152 DataRef<StyleRareInheritedData> m_rareInheritedData; |
153 DataRef<StyleInheritedData> m_styleInheritedData; | 153 DataRef<StyleInheritedData> m_styleInheritedData; |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
284 | 284 |
285 unsigned m_isLink : 1; | 285 unsigned m_isLink : 1; |
286 | 286 |
287 mutable unsigned m_hasRemUnits : 1; | 287 mutable unsigned m_hasRemUnits : 1; |
288 // If you add more style bits here, you will also need to update Compute dStyle::copyNonInheritedFromCached() | 288 // If you add more style bits here, you will also need to update Compute dStyle::copyNonInheritedFromCached() |
289 // 66 bits | 289 // 66 bits |
290 } m_nonInheritedData; | 290 } m_nonInheritedData; |
291 | 291 |
292 // !END SYNC! | 292 // !END SYNC! |
293 | 293 |
294 protected: | |
295 void setBitDefaults() | 294 void setBitDefaults() |
296 { | 295 { |
297 m_inheritedData.m_emptyCells = initialEmptyCells(); | 296 m_inheritedData.m_emptyCells = initialEmptyCells(); |
298 m_inheritedData.m_captionSide = initialCaptionSide(); | 297 m_inheritedData.m_captionSide = initialCaptionSide(); |
299 m_inheritedData.m_listStyleType = initialListStyleType(); | 298 m_inheritedData.m_listStyleType = initialListStyleType(); |
300 m_inheritedData.m_listStylePosition = initialListStylePosition(); | 299 m_inheritedData.m_listStylePosition = initialListStylePosition(); |
301 m_inheritedData.m_visibility = initialVisibility(); | 300 m_inheritedData.m_visibility = initialVisibility(); |
302 m_inheritedData.m_textAlign = initialTextAlign(); | 301 m_inheritedData.m_textAlign = initialTextAlign(); |
303 m_inheritedData.m_textTransform = initialTextTransform(); | 302 m_inheritedData.m_textTransform = initialTextTransform(); |
304 m_inheritedData.m_textUnderline = false; | 303 m_inheritedData.m_textUnderline = false; |
(...skipping 30 matching lines...) Expand all Loading... | |
335 m_nonInheritedData.m_hasViewportUnits = false; | 334 m_nonInheritedData.m_hasViewportUnits = false; |
336 m_nonInheritedData.m_affectedByFocus = false; | 335 m_nonInheritedData.m_affectedByFocus = false; |
337 m_nonInheritedData.m_affectedByHover = false; | 336 m_nonInheritedData.m_affectedByHover = false; |
338 m_nonInheritedData.m_affectedByActive = false; | 337 m_nonInheritedData.m_affectedByActive = false; |
339 m_nonInheritedData.m_affectedByDrag = false; | 338 m_nonInheritedData.m_affectedByDrag = false; |
340 m_nonInheritedData.m_isLink = false; | 339 m_nonInheritedData.m_isLink = false; |
341 m_nonInheritedData.m_hasRemUnits = false; | 340 m_nonInheritedData.m_hasRemUnits = false; |
342 } | 341 } |
343 | 342 |
344 private: | 343 private: |
344 // TODO(sashab): Move these to the bottom of ComputedStyle. | |
345 ALWAYS_INLINE ComputedStyle(); | 345 ALWAYS_INLINE ComputedStyle(); |
346 | 346 |
347 enum InitialStyleTag { | 347 enum InitialStyleTag { |
348 InitialStyle | 348 InitialStyle |
349 }; | 349 }; |
350 ALWAYS_INLINE explicit ComputedStyle(InitialStyleTag); | 350 ALWAYS_INLINE explicit ComputedStyle(InitialStyleTag); |
351 ALWAYS_INLINE ComputedStyle(const ComputedStyle&); | 351 ALWAYS_INLINE ComputedStyle(const ComputedStyle&); |
352 | 352 |
353 static PassRefPtr<ComputedStyle> createInitialStyle(); | 353 static PassRefPtr<ComputedStyle> createInitialStyle(); |
354 static inline ComputedStyle& mutableInitialStyle() | 354 static inline ComputedStyle& mutableInitialStyle() |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
388 | 388 |
389 PseudoId styleType() const { return static_cast<PseudoId>(m_nonInheritedData .m_styleType); } | 389 PseudoId styleType() const { return static_cast<PseudoId>(m_nonInheritedData .m_styleType); } |
390 void setStyleType(PseudoId styleType) { m_nonInheritedData.m_styleType = sty leType; } | 390 void setStyleType(PseudoId styleType) { m_nonInheritedData.m_styleType = sty leType; } |
391 | 391 |
392 ComputedStyle* getCachedPseudoStyle(PseudoId) const; | 392 ComputedStyle* getCachedPseudoStyle(PseudoId) const; |
393 ComputedStyle* addCachedPseudoStyle(PassRefPtr<ComputedStyle>); | 393 ComputedStyle* addCachedPseudoStyle(PassRefPtr<ComputedStyle>); |
394 void removeCachedPseudoStyle(PseudoId); | 394 void removeCachedPseudoStyle(PseudoId); |
395 | 395 |
396 const PseudoStyleCache* cachedPseudoStyles() const { return m_cachedPseudoSt yles.get(); } | 396 const PseudoStyleCache* cachedPseudoStyles() const { return m_cachedPseudoSt yles.get(); } |
397 | 397 |
398 void setHasViewportUnits(bool hasViewportUnits = true) const { m_nonInherite dData.m_hasViewportUnits = hasViewportUnits; } | 398 /** |
399 bool hasViewportUnits() const { return m_nonInheritedData.m_hasViewportUnits ; } | 399 * ComputedStyle properties |
400 | 400 * |
401 void setHasRemUnits() const { m_nonInheritedData.m_hasRemUnits = true; } | 401 * Each property stored in ComputedStyle is made up of fields. Fields have |
402 bool hasRemUnits() const { return m_nonInheritedData.m_hasRemUnits; } | 402 * initial value functions, getters and setters. A field is preferably a |
403 | 403 * basic data type or enum, but can be any type. A set of fields should be |
404 bool affectedByFocus() const { return m_nonInheritedData.m_affectedByFocus; } | 404 * preceded by the property the field is stored for. |
405 bool affectedByHover() const { return m_nonInheritedData.m_affectedByHover; } | 405 * |
406 bool affectedByActive() const { return m_nonInheritedData.m_affectedByActive ; } | 406 * Field method naming should be done like so: |
407 bool affectedByDrag() const { return m_nonInheritedData.m_affectedByDrag; } | 407 * // name-of-property |
408 | 408 * static int initialNameOfProperty(); |
409 void setAffectedByFocus() { m_nonInheritedData.m_affectedByFocus = true; } | 409 * int nameOfProperty() const; |
410 void setAffectedByHover() { m_nonInheritedData.m_affectedByHover = true; } | 410 * void setNameOfProperty(int); |
411 void setAffectedByActive() { m_nonInheritedData.m_affectedByActive = true; } | 411 * If the property has multiple fields, add the field name to the end of the |
412 void setAffectedByDrag() { m_nonInheritedData.m_affectedByDrag = true; } | 412 * method name. |
413 | 413 * |
414 bool operator==(const ComputedStyle& other) const; | 414 * Avoid nested types by splitting up fields where possible, e.g.: |
415 bool operator!=(const ComputedStyle& other) const { return !(*this == other) ; } | 415 * int getBorderTopWidth(); |
416 bool isFloating() const { return m_nonInheritedData.m_floating != NoFloat; } | 416 * int getBorderBottomWidth(); |
417 bool hasMargin() const { return m_surround->margin.nonZero(); } | 417 * int getBorderLeftWidth(); |
418 bool hasBorderFill() const { return m_surround->border.hasBorderFill(); } | 418 * int getBorderRightWidth(); |
419 bool hasBorder() const { return m_surround->border.hasBorder(); } | 419 * is preferable to: |
420 bool hasBorderDecoration() const { return hasBorder() || hasBorderFill(); } | 420 * BorderWidths getBorderWidths(); |
421 bool hasPadding() const { return m_surround->padding.nonZero(); } | 421 * |
422 bool hasMarginBeforeQuirk() const { return marginBefore().quirk(); } | 422 * Utility functions should go in a separate section at the end of the |
423 bool hasMarginAfterQuirk() const { return marginAfter().quirk(); } | 423 * class, and be kept to a minimum. |
424 | 424 */ |
425 | |
426 // Non-Inherited properties. | |
427 | |
428 // Content alignment properties. | |
429 static StyleContentAlignmentData initialContentAlignment() { return StyleCon tentAlignmentData(ContentPositionNormal, ContentDistributionDefault, OverflowAli gnmentDefault); } | |
430 // align-content (aka -webkit-align-content) | |
nainar
2016/07/25 07:43:27
insert new line before
sashab
2016/07/26 00:38:06
Done
| |
431 const StyleContentAlignmentData& alignContent() const { return m_rareNonInhe ritedData->m_alignContent; } | |
432 ContentPosition alignContentPosition() const { return m_rareNonInheritedData ->m_alignContent.position(); } | |
433 ContentDistributionType alignContentDistribution() const { return m_rareNonI nheritedData->m_alignContent.distribution(); } | |
434 OverflowAlignment alignContentOverflowAlignment() const { return m_rareNonIn heritedData->m_alignContent.overflow(); } | |
435 void setAlignContent(const StyleContentAlignmentData& data) { SET_VAR(m_rare NonInheritedData, m_alignContent, data); } | |
436 void setAlignContentPosition(ContentPosition position) { m_rareNonInheritedD ata.access()->m_alignContent.setPosition(position); } | |
437 void setAlignContentDistribution(ContentDistributionType distribution) { m_r areNonInheritedData.access()->m_alignContent.setDistribution(distribution); } | |
438 void setAlignContentOverflow(OverflowAlignment overflow) { m_rareNonInherite dData.access()->m_alignContent.setOverflow(overflow); } | |
439 // justify-content (aka -webkit-justify-content) | |
nainar
2016/07/25 07:43:22
insert new line before
sashab
2016/07/26 00:38:09
Done
| |
440 const StyleContentAlignmentData& justifyContent() const { return m_rareNonIn heritedData->m_justifyContent; } | |
441 ContentPosition justifyContentPosition() const { return m_rareNonInheritedDa ta->m_justifyContent.position(); } | |
442 ContentDistributionType justifyContentDistribution() const { return m_rareNo nInheritedData->m_justifyContent.distribution(); } | |
443 OverflowAlignment justifyContentOverflowAlignment() const { return m_rareNon InheritedData->m_justifyContent.overflow(); } | |
444 void setJustifyContent(const StyleContentAlignmentData& data) { SET_VAR(m_ra reNonInheritedData, m_justifyContent, data); } | |
445 void setJustifyContentPosition(ContentPosition position) { m_rareNonInherite dData.access()->m_justifyContent.setPosition(position); } | |
446 void setJustifyContentDistribution(ContentDistributionType distribution) { m _rareNonInheritedData.access()->m_justifyContent.setDistribution(distribution); } | |
447 void setJustifyContentOverflow(OverflowAlignment overflow) { m_rareNonInheri tedData.access()->m_justifyContent.setOverflow(overflow); } | |
448 | |
449 // Alignment properties. | |
450 static StyleSelfAlignmentData initialSelfAlignment() { return StyleSelfAlign mentData(ItemPositionAuto, OverflowAlignmentDefault); } | |
451 // align-items (aka -webkit-align-items) | |
452 const StyleSelfAlignmentData& alignItems() const { return m_rareNonInherited Data->m_alignItems; } | |
453 ItemPosition alignItemsPosition() const { return m_rareNonInheritedData->m_a lignItems.position(); } | |
454 OverflowAlignment alignItemsOverflowAlignment() const { return m_rareNonInhe ritedData->m_alignItems.overflow(); } | |
455 void setAlignItems(const StyleSelfAlignmentData& data) { SET_VAR(m_rareNonIn heritedData, m_alignItems, data); } | |
456 void setAlignItemsPosition(ItemPosition position) { m_rareNonInheritedData.a ccess()->m_alignItems.setPosition(position); } | |
457 void setAlignItemsOverflow(OverflowAlignment overflow) { m_rareNonInheritedD ata.access()->m_alignItems.setOverflow(overflow); } | |
458 | |
459 // align-self (aka -webkit-align-self) | |
460 const StyleSelfAlignmentData& alignSelf() const { return m_rareNonInheritedD ata->m_alignSelf; } | |
461 ItemPosition alignSelfPosition() const { return m_rareNonInheritedData->m_al ignSelf.position(); } | |
462 OverflowAlignment alignSelfOverflowAlignment() const { return m_rareNonInher itedData->m_alignSelf.overflow(); } | |
463 void setAlignSelf(const StyleSelfAlignmentData& data) { SET_VAR(m_rareNonInh eritedData, m_alignSelf, data); } | |
464 void setAlignSelfPosition(ItemPosition position) { m_rareNonInheritedData.ac cess()->m_alignSelf.setPosition(position); } | |
465 void setAlignSelfOverflow(OverflowAlignment overflow) { m_rareNonInheritedDa ta.access()->m_alignSelf.setOverflow(overflow); } | |
466 | |
467 // Filter properties. | |
468 | |
469 // backdrop-filter | |
470 static const FilterOperations& initialBackdropFilter(); | |
471 const FilterOperations& backdropFilter() const { return m_rareNonInheritedDa ta->m_backdropFilter->m_operations; } | |
472 FilterOperations& mutableBackdropFilter() { return m_rareNonInheritedData.ac cess()->m_backdropFilter.access()->m_operations; } | |
473 bool hasBackdropFilter() const { return !m_rareNonInheritedData->m_backdropF ilter->m_operations.operations().isEmpty(); } | |
474 void setBackdropFilter(const FilterOperations& ops) { SET_NESTED_VAR(m_rareN onInheritedData, m_backdropFilter, m_operations, ops); } | |
475 | |
476 // filter (aka -webkit-filter) | |
477 static const FilterOperations& initialFilter(); | |
478 FilterOperations& mutableFilter() { return m_rareNonInheritedData.access()-> m_filter.access()->m_operations; } | |
479 const FilterOperations& filter() const { return m_rareNonInheritedData->m_fi lter->m_operations; } | |
480 bool hasFilter() const { return !m_rareNonInheritedData->m_filter->m_operati ons.operations().isEmpty(); } | |
481 void setFilter(const FilterOperations& ops) { SET_NESTED_VAR(m_rareNonInheri tedData, m_filter, m_operations, ops); } | |
482 | |
483 // backface-visibility (aka -webkit-backface-visibility) | |
484 static EBackfaceVisibility initialBackfaceVisibility() { return BackfaceVisi bilityVisible; } | |
485 EBackfaceVisibility backfaceVisibility() const { return static_cast<EBackfac eVisibility>(m_rareNonInheritedData->m_backfaceVisibility); } | |
486 void setBackfaceVisibility(EBackfaceVisibility b) { SET_VAR(m_rareNonInherit edData, m_backfaceVisibility, b); } | |
487 | |
488 // Background properties. | |
489 // background-color | |
490 static Color initialBackgroundColor() { return Color::transparent; } | |
491 void setBackgroundColor(const StyleColor& v) { SET_VAR(m_background, m_color , v); } | |
492 | |
493 // background-image | |
425 bool hasBackgroundImage() const { return m_background->background().hasImage (); } | 494 bool hasBackgroundImage() const { return m_background->background().hasImage (); } |
426 bool hasFixedBackgroundImage() const { return m_background->background().has FixedImage(); } | 495 bool hasFixedBackgroundImage() const { return m_background->background().has FixedImage(); } |
427 | |
428 bool hasEntirelyFixedBackground() const; | 496 bool hasEntirelyFixedBackground() const; |
429 | 497 |
430 bool hasAppearance() const { return appearance() != NoControlPart; } | 498 // background-clip |
431 | 499 EFillBox backgroundClip() const { return static_cast<EFillBox>(m_background- >background().clip()); } |
432 bool hasBackgroundRelatedColorReferencingCurrentColor() const | 500 |
433 { | 501 // Border properties. |
434 if (backgroundColor().isCurrentColor() || visitedLinkBackgroundColor().i sCurrentColor()) | 502 // -webkit-border-image |
435 return true; | 503 static NinePieceImage initialNinePieceImage() { return NinePieceImage(); } |
436 if (!boxShadow()) | 504 const NinePieceImage& borderImage() const { return m_surround->border.image( ); } |
437 return false; | 505 void setBorderImage(const NinePieceImage& b) { SET_VAR(m_surround, border.m_ image, b); } |
438 return shadowListHasCurrentColor(boxShadow()); | 506 // border-image-repeat |
nainar
2016/07/25 07:43:20
why mention it if there are no methods here
also
sashab
2016/07/26 00:38:06
Done
| |
439 } | 507 // border-image-slice |
nainar
2016/07/25 07:43:26
insert new line before
sashab
2016/07/26 00:38:11
Done
| |
440 | 508 const LengthBox& borderImageSlices() const { return m_surround->border.image ().imageSlices(); } |
441 bool hasBackground() const | 509 void setBorderImageSlices(const LengthBox&); |
442 { | 510 // border-image-source |
nainar
2016/07/25 07:43:23
insert new line before
sashab
2016/07/26 00:38:08
Done
| |
443 Color color = visitedDependentColor(CSSPropertyBackgroundColor); | 511 static StyleImage* initialBorderImageSource() { return 0; } |
444 if (color.alpha()) | 512 StyleImage* borderImageSource() const { return m_surround->border.image().im age(); } |
445 return true; | 513 void setBorderImageSource(StyleImage*); |
446 return hasBackgroundImage(); | 514 // border-image-width |
nainar
2016/07/25 07:43:19
insert new line before
sashab
2016/07/26 00:38:11
Done
| |
447 } | 515 const BorderImageLengthBox& borderImageWidth() const { return m_surround->bo rder.image().borderSlices(); } |
448 | 516 void setBorderImageWidth(const BorderImageLengthBox&); |
449 LayoutRectOutsets imageOutsets(const NinePieceImage&) const; | 517 // border-image-outset |
nainar
2016/07/25 07:43:26
insert new line before
sashab
2016/07/26 00:38:07
Done
| |
450 bool hasBorderImageOutsets() const | 518 const BorderImageLengthBox& borderImageOutset() const { return m_surround->b order.image().outset(); } |
451 { | 519 void setBorderImageOutset(const BorderImageLengthBox&); |
452 return borderImage().hasImage() && borderImage().outset().nonZero(); | 520 |
453 } | 521 // Border width properties. |
454 LayoutRectOutsets borderImageOutsets() const | 522 static unsigned initialBorderWidth() { return 3; } |
455 { | 523 // border-top-width |
nainar
2016/07/25 07:43:19
insert new line before
sashab
2016/07/26 00:38:08
Done
| |
456 return imageOutsets(borderImage()); | 524 int borderTopWidth() const { return m_surround->border.borderTopWidth(); } |
457 } | 525 void setBorderTopWidth(unsigned v) { SET_VAR(m_surround, border.m_top.m_widt h, v); } |
458 | 526 // border-bottom-width |
nainar
2016/07/25 07:43:19
insert new line before
sashab
2016/07/26 00:38:11
Done
| |
459 // Returns |true| if any property that renders using filter operations is | 527 int borderBottomWidth() const { return m_surround->border.borderBottomWidth( ); } |
460 // used (including, but not limited to, 'filter'). | 528 void setBorderBottomWidth(unsigned v) { SET_VAR(m_surround, border.m_bottom. m_width, v); } |
461 bool hasFilterInducingProperty() const { return hasFilter() || (RuntimeEnabl edFeatures::cssBoxReflectFilterEnabled() && hasBoxReflect()); } | 529 // border-left-width |
nainar
2016/07/25 07:43:22
insert new line before
sashab
2016/07/26 00:38:10
Done
| |
462 | 530 int borderLeftWidth() const { return m_surround->border.borderLeftWidth(); } |
463 // Returns |true| if opacity should be considered to have non-initial value for the purpose | 531 void setBorderLeftWidth(unsigned v) { SET_VAR(m_surround, border.m_left.m_wi dth, v); } |
464 // of creating stacking contexts. | 532 // border-right-width |
nainar
2016/07/25 07:43:26
insert new line before
sashab
2016/07/26 00:38:09
Done
| |
465 bool hasNonInitialOpacity() const { return hasOpacity() || hasWillChangeOpac ityHint() || hasCurrentOpacityAnimation(); } | 533 int borderRightWidth() const { return m_surround->border.borderRightWidth(); } |
466 | 534 void setBorderRightWidth(unsigned v) { SET_VAR(m_surround, border.m_right.m_ width, v); } |
467 // Returns whether this style contains any grouping property as defined by [ css-transforms]. | 535 |
468 // The main purpose of this is to adjust the used value of transform-style p roperty. | 536 // Border style properties. |
469 // Note: We currently don't include every grouping property on the spec to m aintain | 537 static EBorderStyle initialBorderStyle() { return BorderStyleNone; } |
470 // backward compatibility. | 538 // border-top-style |
471 // [css-transforms] https://drafts.csswg.org/css-transforms/#grouping-proper ty-values | 539 EBorderStyle borderTopStyle() const { return m_surround->border.top().style( ); } |
472 bool hasGroupingProperty() const { return !isOverflowVisible() || hasFilterI nducingProperty() || hasNonInitialOpacity(); } | 540 void setBorderTopStyle(EBorderStyle v) { SET_VAR(m_surround, border.m_top.m_ style, v); } |
473 | 541 // border-right-style |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:09
Done
| |
474 Order rtlOrdering() const { return static_cast<Order>(m_inheritedData.m_rtlO rdering); } | 542 EBorderStyle borderRightStyle() const { return m_surround->border.right().st yle(); } |
475 void setRTLOrdering(Order o) { m_inheritedData.m_rtlOrdering = o; } | 543 void setBorderRightStyle(EBorderStyle v) { SET_VAR(m_surround, border.m_righ t.m_style, v); } |
476 | 544 // border-left-style |
nainar
2016/07/25 07:43:24
insert new line before
sashab
2016/07/26 00:38:13
Done
| |
477 bool isStyleAvailable() const; | 545 EBorderStyle borderLeftStyle() const { return m_surround->border.left().styl e(); } |
478 | 546 void setBorderLeftStyle(EBorderStyle v) { SET_VAR(m_surround, border.m_left. m_style, v); } |
479 bool hasAnyPublicPseudoStyles() const; | 547 // border-bottom-style |
nainar
2016/07/25 07:43:23
insert new line before
sashab
2016/07/26 00:38:10
Done
| |
480 bool hasPseudoStyle(PseudoId) const; | 548 EBorderStyle borderBottomStyle() const { return m_surround->border.bottom(). style(); } |
481 void setHasPseudoStyle(PseudoId); | 549 void setBorderBottomStyle(EBorderStyle v) { SET_VAR(m_surround, border.m_bot tom.m_style, v); } |
482 bool hasUniquePseudoStyle() const; | 550 |
483 bool hasPseudoElementStyle() const; | 551 // Border color properties. |
484 | 552 // border-left-color |
485 bool canContainAbsolutePositionObjects() const { return position() != Static Position; } | 553 void setBorderLeftColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(m_surro und, border.m_left, v); } |
486 bool canContainFixedPositionObjects() const { return hasTransformRelatedProp erty() || containsPaint();} | 554 // border-right-color |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:12
Done
| |
487 | 555 void setBorderRightColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(m_surr ound, border.m_right, v); } |
488 // attribute getter methods | 556 // border-top-color |
nainar
2016/07/25 07:43:20
insert new line before
sashab
2016/07/26 00:38:11
Done
| |
489 | 557 void setBorderTopColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(m_surrou nd, border.m_top, v); } |
558 // border-bottom-color | |
nainar
2016/07/25 07:43:25
insert new line before
sashab
2016/07/26 00:38:11
Done
| |
559 void setBorderBottomColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(m_sur round, border.m_bottom, v); } | |
560 | |
561 // Border radius properties. | |
562 static LengthSize initialBorderRadius() { return LengthSize(Length(0, Fixed) , Length(0, Fixed)); } | |
563 // border-top-left-radius (aka -webkit-border-top-left-radius) | |
nainar
2016/07/25 07:43:27
insert new line before
sashab
2016/07/26 00:38:12
Done
| |
564 const LengthSize& borderTopLeftRadius() const { return m_surround->border.to pLeft(); } | |
565 void setBorderTopLeftRadius(const LengthSize& s) { SET_VAR(m_surround, borde r.m_topLeft, s); } | |
566 // border-top-right-radius (aka -webkit-border-top-right-radius) | |
nainar
2016/07/25 07:43:23
insert new line before
sashab
2016/07/26 00:38:07
Done
sashab
2016/07/26 00:38:09
Done
| |
567 const LengthSize& borderTopRightRadius() const { return m_surround->border.t opRight(); } | |
568 void setBorderTopRightRadius(const LengthSize& s) { SET_VAR(m_surround, bord er.m_topRight, s); } | |
569 // border-bottom-left-radius (aka -webkit-border-bottom-left-radius) | |
nainar
2016/07/25 07:43:24
insert new line before
sashab
2016/07/26 00:38:11
Done
| |
570 const LengthSize& borderBottomLeftRadius() const { return m_surround->border .bottomLeft(); } | |
571 void setBorderBottomLeftRadius(const LengthSize& s) { SET_VAR(m_surround, bo rder.m_bottomLeft, s); } | |
572 // border-bottom-right-radius (aka -webkit-border-bottom-right-radius) | |
nainar
2016/07/25 07:43:20
insert new line before
sashab
2016/07/26 00:38:12
Done
| |
573 const LengthSize& borderBottomRightRadius() const { return m_surround->borde r.bottomRight(); } | |
574 void setBorderBottomRightRadius(const LengthSize& s) { SET_VAR(m_surround, b order.m_bottomRight, s); } | |
575 | |
576 // Offset properties. | |
577 static Length initialOffset() { return Length(); } | |
578 // left | |
nainar
2016/07/25 07:43:19
insert new line before
sashab
2016/07/26 00:38:07
Done
| |
579 const Length& left() const { return m_surround->offset.left(); } | |
580 void setLeft(const Length& v) { SET_VAR(m_surround, offset.m_left, v); } | |
581 // right | |
nainar
2016/07/25 07:43:20
insert new line before
sashab
2016/07/26 00:38:08
Done
| |
582 const Length& right() const { return m_surround->offset.right(); } | |
583 void setRight(const Length& v) { SET_VAR(m_surround, offset.m_right, v); } | |
584 // top | |
nainar
2016/07/25 07:43:24
insert new line before
sashab
2016/07/26 00:38:12
Done
| |
585 const Length& top() const { return m_surround->offset.top(); } | |
586 void setTop(const Length& v) { SET_VAR(m_surround, offset.m_top, v); } | |
587 // bottom | |
nainar
2016/07/25 07:43:20
insert new line before
sashab
2016/07/26 00:38:10
Done
| |
588 const Length& bottom() const { return m_surround->offset.bottom(); } | |
589 void setBottom(const Length& v) { SET_VAR(m_surround, offset.m_bottom, v); } | |
590 | |
591 // box-shadow (aka -webkit-box-shadow) | |
592 static ShadowList* initialBoxShadow() { return 0; } | |
593 ShadowList* boxShadow() const { return m_rareNonInheritedData->m_boxShadow.g et(); } | |
594 void setBoxShadow(PassRefPtr<ShadowList>); | |
595 | |
596 // box-sizing (aka -webkit-box-sizing) | |
597 static EBoxSizing initialBoxSizing() { return BoxSizingContentBox; } | |
598 EBoxSizing boxSizing() const { return m_box->boxSizing(); } | |
599 void setBoxSizing(EBoxSizing s) { SET_VAR(m_box, m_boxSizing, s); } | |
600 | |
601 // clear | |
602 static EClear initialClear() { return ClearNone; } | |
603 void setClear(EClear v) { m_nonInheritedData.m_clear = v; } | |
nainar
2016/07/25 07:43:22
reverse order of clear() and setClear()
| |
604 EClear clear() const { return static_cast<EClear>(m_nonInheritedData.m_clear ); } | |
605 | |
606 // Page break properties. | |
607 // break-after (shorthand for page-break-after and -webkit-column-break-afte r) | |
608 static EBreak initialBreakAfter() { return BreakAuto; } | |
609 EBreak breakAfter() const { return static_cast<EBreak>(m_nonInheritedData.m_ breakAfter); } | |
610 void setBreakAfter(EBreak b) { DCHECK_LE(b, BreakValueLastAllowedForBreakAft erAndBefore); m_nonInheritedData.m_breakAfter = b; } | |
611 // break-before (shorthand for page-break-before and -webkit-column-break-be fore) | |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:12
Done
| |
612 static EBreak initialBreakBefore() { return BreakAuto; } | |
613 EBreak breakBefore() const { return static_cast<EBreak>(m_nonInheritedData.m _breakBefore); } | |
614 void setBreakBefore(EBreak b) { DCHECK_LE(b, BreakValueLastAllowedForBreakAf terAndBefore); m_nonInheritedData.m_breakBefore = b; } | |
615 // break-inside (shorthand for page-break-inside and -webkit-column-break-in side) | |
nainar
2016/07/25 07:43:18
insert new line before
sashab
2016/07/26 00:38:06
Done
| |
616 static EBreak initialBreakInside() { return BreakAuto; } | |
617 EBreak breakInside() const { return static_cast<EBreak>(m_nonInheritedData.m _breakInside); } | |
618 void setBreakInside(EBreak b) { DCHECK_LE(b, BreakValueLastAllowedForBreakIn side); m_nonInheritedData.m_breakInside = b; } | |
619 | |
620 // clip | |
621 static LengthBox initialClip() { return LengthBox(); } | |
622 const LengthBox& clip() const { return m_visual->clip; } | |
623 void setClip(const LengthBox& box) { SET_VAR(m_visual, hasAutoClip, false); SET_VAR(m_visual, clip, box); } | |
624 bool hasAutoClip() const { return m_visual->hasAutoClip; } | |
625 void setHasAutoClip() { SET_VAR(m_visual, hasAutoClip, true); SET_VAR(m_visu al, clip, ComputedStyle::initialClip()); } | |
626 | |
627 // Column properties. | |
628 // column-count (aka -webkit-column-count) | |
629 static unsigned short initialColumnCount() { return 1; } | |
630 unsigned short columnCount() const { return m_rareNonInheritedData->m_multiC ol->m_count; } | |
631 void setColumnCount(unsigned short c) { SET_NESTED_VAR(m_rareNonInheritedDat a, m_multiCol, m_autoCount, false); SET_NESTED_VAR(m_rareNonInheritedData, m_mul tiCol, m_count, c); } | |
632 bool hasAutoColumnCount() const { return m_rareNonInheritedData->m_multiCol- >m_autoCount; } | |
633 void setHasAutoColumnCount() { SET_NESTED_VAR(m_rareNonInheritedData, m_mult iCol, m_autoCount, true); SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_c ount, initialColumnCount()); } | |
634 // column-fill | |
nainar
2016/07/25 07:43:27
insert new line before
sashab
2016/07/26 00:38:07
Done
| |
635 static ColumnFill initialColumnFill() { return ColumnFillBalance; } | |
636 ColumnFill getColumnFill() const { return static_cast<ColumnFill>(m_rareNonI nheritedData->m_multiCol->m_fill); } | |
637 void setColumnFill(ColumnFill columnFill) { SET_NESTED_VAR(m_rareNonInherite dData, m_multiCol, m_fill, columnFill); } | |
638 // column-gap (aka -webkit-column-gap) | |
nainar
2016/07/25 07:43:18
insert new line before
sashab
2016/07/26 00:38:13
Done
| |
639 float columnGap() const { return m_rareNonInheritedData->m_multiCol->m_gap; } | |
640 void setColumnGap(float f) { SET_NESTED_VAR(m_rareNonInheritedData, m_multiC ol, m_normalGap, false); SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_ga p, f); } | |
641 bool hasNormalColumnGap() const { return m_rareNonInheritedData->m_multiCol- >m_normalGap; } | |
642 void setHasNormalColumnGap() { SET_NESTED_VAR(m_rareNonInheritedData, m_mult iCol, m_normalGap, true); SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_g ap, 0); } | |
643 // column-rule (aka -webkit-column-rule) longhands=column-rule-width;column- rule-style;column-rule-color | |
nainar
2016/07/25 07:43:24
insert new line before
sashab
2016/07/26 00:38:11
Done, also removed this line
| |
644 // column-rule-color (aka -webkit-column-rule-color) | |
645 void setColumnRuleColor(const StyleColor& c) { SET_BORDERVALUE_COLOR(m_rareN onInheritedData.access()->m_multiCol, m_rule, c); } | |
646 // column-rule-style (aka -webkit-column-rule-style) type_name=EBorderStyle, initial=initialBorderStyle | |
nainar
2016/07/25 07:43:24
insert new line before
sashab
2016/07/26 00:38:08
Done
| |
647 EBorderStyle columnRuleStyle() const { return m_rareNonInheritedData->m_mult iCol->m_rule.style(); } | |
648 void setColumnRuleStyle(EBorderStyle b) { SET_NESTED_VAR(m_rareNonInheritedD ata, m_multiCol, m_rule.m_style, b); } | |
649 // column-rule-width (aka -webkit-column-rule-width) | |
nainar
2016/07/25 07:43:23
insert new line before
sashab
2016/07/26 00:38:08
Done
| |
650 static unsigned short initialColumnRuleWidth() { return 3; } | |
651 unsigned short columnRuleWidth() const { return m_rareNonInheritedData->m_mu ltiCol->ruleWidth(); } | |
652 void setColumnRuleWidth(unsigned short w) { SET_NESTED_VAR(m_rareNonInherite dData, m_multiCol, m_rule.m_width, w); } | |
653 // column-span (aka -webkit-column-span) | |
nainar
2016/07/25 07:43:27
insert new line before
sashab
2016/07/26 00:38:13
Done
| |
654 static ColumnSpan initialColumnSpan() { return ColumnSpanNone; } | |
655 ColumnSpan getColumnSpan() const { return static_cast<ColumnSpan>(m_rareNonI nheritedData->m_multiCol->m_columnSpan); } | |
nainar
2016/07/25 07:43:24
submit an earlier patch that changes this to colum
sashab
2016/07/26 00:38:12
There are lots of these, will do these in a later
| |
656 void setColumnSpan(ColumnSpan columnSpan) { SET_NESTED_VAR(m_rareNonInherite dData, m_multiCol, m_columnSpan, columnSpan); } | |
657 // column-width (aka -webkit-column-width) | |
nainar
2016/07/25 07:43:19
insert new line before
sashab
2016/07/26 00:38:06
Done
| |
658 void setColumnWidth(float f) { SET_NESTED_VAR(m_rareNonInheritedData, m_mult iCol, m_autoWidth, false); SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_ width, f); } | |
nainar
2016/07/25 07:43:24
change order of setColumnWidth() and columnWidth()
sashab
2016/07/26 00:38:06
Done
| |
659 float columnWidth() const { return m_rareNonInheritedData->m_multiCol->m_wid th; } | |
660 bool hasAutoColumnWidth() const { return m_rareNonInheritedData->m_multiCol- >m_autoWidth; } | |
661 void setHasAutoColumnWidth() { SET_NESTED_VAR(m_rareNonInheritedData, m_mult iCol, m_autoWidth, true); SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_w idth, 0); } | |
662 | |
663 // contain | |
664 static Containment initialContain() { return ContainsNone; } | |
665 void setContain(Containment contain) { SET_VAR(m_rareNonInheritedData, m_con tain, contain); } | |
nainar
2016/07/25 07:43:26
reverse order of contain() and setContain()
sashab
2016/07/26 00:38:07
Done
| |
666 Containment contain() const { return static_cast<Containment>(m_rareNonInher itedData->m_contain); } | |
667 | |
668 // content | |
669 bool hasContent() const { return contentData(); } | |
nainar
2016/07/25 07:43:18
bring to end - add all misc functions to end
sashab
2016/07/26 00:38:13
Done!! Ty so much
| |
670 ContentData* contentData() const { return m_rareNonInheritedData->m_content. get(); } | |
671 void setContent(ContentData*); | |
672 | |
673 // display | |
674 static EDisplay initialDisplay() { return INLINE; } | |
490 EDisplay display() const { return static_cast<EDisplay>(m_nonInheritedData.m _effectiveDisplay); } | 675 EDisplay display() const { return static_cast<EDisplay>(m_nonInheritedData.m _effectiveDisplay); } |
491 EDisplay originalDisplay() const { return static_cast<EDisplay>(m_nonInherit edData.m_originalDisplay); } | 676 EDisplay originalDisplay() const { return static_cast<EDisplay>(m_nonInherit edData.m_originalDisplay); } |
492 | 677 void setDisplay(EDisplay v) { m_nonInheritedData.m_effectiveDisplay = v; } |
493 const Length& left() const { return m_surround->offset.left(); } | 678 void setOriginalDisplay(EDisplay v) { m_nonInheritedData.m_originalDisplay = v; } |
494 const Length& right() const { return m_surround->offset.right(); } | 679 |
495 const Length& top() const { return m_surround->offset.top(); } | 680 // Flex properties. |
496 const Length& bottom() const { return m_surround->offset.bottom(); } | 681 // flex-basis (aka -webkit-flex-basis) |
497 | 682 static Length initialFlexBasis() { return Length(Auto); } |
498 // Accessors for positioned object edges that take into account writing mode . | 683 const Length& flexBasis() const { return m_rareNonInheritedData->m_flexibleB ox->m_flexBasis; } |
499 const Length& logicalLeft() const { return m_surround->offset.logicalLeft(ge tWritingMode()); } | 684 void setFlexBasis(const Length& length) { SET_NESTED_VAR(m_rareNonInheritedD ata, m_flexibleBox, m_flexBasis, length); } |
500 const Length& logicalRight() const { return m_surround->offset.logicalRight( getWritingMode()); } | 685 // flex-direction (aka -webkit-flex-direction) |
nainar
2016/07/25 07:43:27
insert new line before
sashab
2016/07/26 00:38:10
Done
| |
501 const Length& logicalTop() const { return m_surround->offset.before(getWriti ngMode()); } | 686 static EFlexDirection initialFlexDirection() { return FlowRow; } |
502 const Length& logicalBottom() const { return m_surround->offset.after(getWri tingMode()); } | 687 EFlexDirection flexDirection() const { return static_cast<EFlexDirection>(m_ rareNonInheritedData->m_flexibleBox->m_flexDirection); } |
503 | 688 void setFlexDirection(EFlexDirection direction) { SET_NESTED_VAR(m_rareNonIn heritedData, m_flexibleBox, m_flexDirection, direction); } |
504 // Whether or not a positioned element requires normal flow x/y to be comput ed | 689 // flex-grow (aka -webkit-flex-grow) |
nainar
2016/07/25 07:43:19
insert new line before
sashab
2016/07/26 00:38:07
Done
| |
505 // to determine its position. | 690 static float initialFlexGrow() { return 0; } |
506 bool hasAutoLeftAndRight() const { return left().isAuto() && right().isAuto( ); } | 691 float flexGrow() const { return m_rareNonInheritedData->m_flexibleBox->m_fle xGrow; } |
507 bool hasAutoTopAndBottom() const { return top().isAuto() && bottom().isAuto( ); } | 692 void setFlexGrow(float f) { SET_NESTED_VAR(m_rareNonInheritedData, m_flexibl eBox, m_flexGrow, f); } |
508 bool hasStaticInlinePosition(bool horizontal) const { return horizontal ? ha sAutoLeftAndRight() : hasAutoTopAndBottom(); } | 693 // flex-shrink (aka -webkit-flex-shrink) |
nainar
2016/07/25 07:43:19
insert new line before
sashab
2016/07/26 00:38:06
Done
| |
509 bool hasStaticBlockPosition(bool horizontal) const { return horizontal ? has AutoTopAndBottom() : hasAutoLeftAndRight(); } | 694 static float initialFlexShrink() { return 1; } |
510 | 695 float flexShrink() const { return m_rareNonInheritedData->m_flexibleBox->m_f lexShrink; } |
511 EPosition position() const { return static_cast<EPosition>(m_nonInheritedDat a.m_position); } | 696 void setFlexShrink(float f) { SET_NESTED_VAR(m_rareNonInheritedData, m_flexi bleBox, m_flexShrink, f); } |
512 bool hasOutOfFlowPosition() const { return position() == AbsolutePosition || position() == FixedPosition; } | 697 // flex-wrap (aka -webkit-flex-wrap) |
nainar
2016/07/25 07:43:26
insert new line before
sashab
2016/07/26 00:38:12
Done
| |
513 bool hasInFlowPosition() const { return position() == RelativePosition || po sition() == StickyPosition; } | 698 static EFlexWrap initialFlexWrap() { return FlexNoWrap; } |
514 bool hasViewportConstrainedPosition() const { return position() == FixedPosi tion || position() == StickyPosition; } | 699 EFlexWrap flexWrap() const { return static_cast<EFlexWrap>(m_rareNonInherite dData->m_flexibleBox->m_flexWrap); } |
700 void setFlexWrap(EFlexWrap w) { SET_NESTED_VAR(m_rareNonInheritedData, m_fle xibleBox, m_flexWrap, w); } | |
701 // -webkit-box-flex type_name=float | |
nainar
2016/07/25 07:43:23
insert new line before
sashab
2016/07/26 00:38:07
Done
| |
702 static float initialBoxFlex() { return 0.0f; } | |
703 float boxFlex() const { return m_rareNonInheritedData->m_deprecatedFlexibleB ox->flex; } | |
704 void setBoxFlex(float f) { SET_NESTED_VAR(m_rareNonInheritedData, m_deprecat edFlexibleBox, flex, f); } | |
705 // -webkit-box-flex-group type_name=unsigned int | |
nainar
2016/07/25 07:43:25
insert new line before
sashab
2016/07/26 00:38:09
Done
| |
706 static unsigned initialBoxFlexGroup() { return 1; } | |
707 unsigned boxFlexGroup() const { return m_rareNonInheritedData->m_deprecatedF lexibleBox->flexGroup; } | |
708 void setBoxFlexGroup(unsigned fg) { SET_NESTED_VAR(m_rareNonInheritedData, m _deprecatedFlexibleBox, flexGroup, fg); } | |
709 // -webkit-box-align | |
nainar
2016/07/25 07:43:27
insert new line before
sashab
2016/07/26 00:38:06
Done
| |
710 // For valid values of box-align see http://www.w3.org/TR/2009/WD-css3-flexb ox-20090723/#alignment | |
711 static EBoxAlignment initialBoxAlign() { return BSTRETCH; } | |
712 EBoxAlignment boxAlign() const { return static_cast<EBoxAlignment>(m_rareNon InheritedData->m_deprecatedFlexibleBox->align); } | |
713 void setBoxAlign(EBoxAlignment a) { SET_NESTED_VAR(m_rareNonInheritedData, m _deprecatedFlexibleBox, align, a); } | |
714 // -webkit-box-decoration-break | |
nainar
2016/07/25 07:43:25
insert new line before
sashab
2016/07/26 00:38:08
Done
| |
715 static EBoxDecorationBreak initialBoxDecorationBreak() { return BoxDecoratio nBreakSlice; } | |
716 EBoxDecorationBreak boxDecorationBreak() const { return m_box->boxDecoration Break(); } | |
717 void setBoxDecorationBreak(EBoxDecorationBreak b) { SET_VAR(m_box, m_boxDeco rationBreak, b); } | |
718 // -webkit-box-lines | |
nainar
2016/07/25 07:43:27
insert new line before
sashab
2016/07/26 00:38:08
Done
| |
719 static EBoxLines initialBoxLines() { return SINGLE; } | |
720 EBoxLines boxLines() const { return static_cast<EBoxLines>(m_rareNonInherite dData->m_deprecatedFlexibleBox->lines); } | |
721 void setBoxLines(EBoxLines lines) { SET_NESTED_VAR(m_rareNonInheritedData, m _deprecatedFlexibleBox, lines, lines); } | |
722 // -webkit-box-ordinal-group | |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:09
Done
| |
723 static unsigned initialBoxOrdinalGroup() { return 1; } | |
724 unsigned boxOrdinalGroup() const { return m_rareNonInheritedData->m_deprecat edFlexibleBox->ordinalGroup; } | |
725 void setBoxOrdinalGroup(unsigned og) { SET_NESTED_VAR(m_rareNonInheritedData , m_deprecatedFlexibleBox, ordinalGroup, og); } | |
726 // -webkit-box-orient | |
nainar
2016/07/25 07:43:19
insert new line before
sashab
2016/07/26 00:38:11
Done
| |
727 static EBoxOrient initialBoxOrient() { return HORIZONTAL; } | |
728 EBoxOrient boxOrient() const { return static_cast<EBoxOrient>(m_rareNonInher itedData->m_deprecatedFlexibleBox->orient); } | |
729 void setBoxOrient(EBoxOrient o) { SET_NESTED_VAR(m_rareNonInheritedData, m_d eprecatedFlexibleBox, orient, o); } | |
730 // -webkit-box-pack | |
nainar
2016/07/25 07:43:22
insert new line before
sashab
2016/07/26 00:38:10
Done
| |
731 static EBoxPack initialBoxPack() { return BoxPackStart; } | |
732 EBoxPack boxPack() const { return static_cast<EBoxPack>(m_rareNonInheritedDa ta->m_deprecatedFlexibleBox->pack); } | |
733 void setBoxPack(EBoxPack p) { SET_NESTED_VAR(m_rareNonInheritedData, m_depre catedFlexibleBox, pack, p); } | |
734 // -webkit-box-reflect | |
nainar
2016/07/25 07:43:20
insert new line before
sashab
2016/07/26 00:38:10
Done
| |
735 static StyleReflection* initialBoxReflect() { return 0; } | |
736 StyleReflection* boxReflect() const { return m_rareNonInheritedData->m_boxRe flect.get(); } | |
737 void setBoxReflect(PassRefPtr<StyleReflection> reflect) | |
738 { | |
739 if (m_rareNonInheritedData->m_boxReflect != reflect) | |
740 m_rareNonInheritedData.access()->m_boxReflect = reflect; | |
741 } | |
742 | |
743 // float | |
744 static EFloat initialFloating() { return NoFloat; } | |
515 EFloat floating() const { return static_cast<EFloat>(m_nonInheritedData.m_fl oating); } | 745 EFloat floating() const { return static_cast<EFloat>(m_nonInheritedData.m_fl oating); } |
516 | 746 void setFloating(EFloat v) { m_nonInheritedData.m_floating = v; } |
747 | |
748 // Grid properties. | |
749 static Vector<GridTrackSize> initialGridAutoRepeatTracks() { return Vector<G ridTrackSize>(); /* none */ } | |
750 static size_t initialGridAutoRepeatInsertionPoint() { return 0; } | |
751 static AutoRepeatType initialGridAutoRepeatType() { return NoAutoRepeat; } | |
752 static NamedGridLinesMap initialNamedGridColumnLines() { return NamedGridLin esMap(); } | |
753 static NamedGridLinesMap initialNamedGridRowLines() { return NamedGridLinesM ap(); } | |
754 static OrderedNamedGridLines initialOrderedNamedGridColumnLines() { return O rderedNamedGridLines(); } | |
755 static OrderedNamedGridLines initialOrderedNamedGridRowLines() { return Orde redNamedGridLines(); } | |
756 static NamedGridAreaMap initialNamedGridArea() { return NamedGridAreaMap(); } | |
757 static size_t initialNamedGridAreaCount() { return 0; } | |
758 // grid-auto-columns | |
nainar
2016/07/25 07:43:25
insert new line before
sashab
2016/07/26 00:38:09
Done
| |
759 static Vector<GridTrackSize> initialGridAutoColumns(); | |
760 const Vector<GridTrackSize>& gridAutoColumns() const { return m_rareNonInher itedData->m_grid->m_gridAutoColumns; } | |
761 void setGridAutoColumns(const Vector<GridTrackSize>& trackSizeList) { SET_NE STED_VAR(m_rareNonInheritedData, m_grid, m_gridAutoColumns, trackSizeList); } | |
762 // grid-auto-flow | |
nainar
2016/07/25 07:43:20
insert new line before
sashab
2016/07/26 00:38:11
Done
| |
763 static GridAutoFlow initialGridAutoFlow() { return AutoFlowRow; } | |
764 void setGridAutoFlow(GridAutoFlow flow) { SET_NESTED_VAR(m_rareNonInheritedD ata, m_grid, m_gridAutoFlow, flow); } | |
765 // grid-auto-rows | |
nainar
2016/07/25 07:43:26
insert new line before
sashab
2016/07/26 00:38:09
Done
| |
766 static Vector<GridTrackSize> initialGridAutoRows(); | |
767 const Vector<GridTrackSize>& gridAutoRows() const { return m_rareNonInherite dData->m_grid->m_gridAutoRows; } | |
768 void setGridAutoRows(const Vector<GridTrackSize>& trackSizeList) { SET_NESTE D_VAR(m_rareNonInheritedData, m_grid, m_gridAutoRows, trackSizeList); } | |
769 // grid-column-gap | |
nainar
2016/07/25 07:43:22
insert new line before
sashab
2016/07/26 00:38:09
Done, and removed newline below
| |
770 static Length initialGridColumnGap() { return Length(Fixed); } | |
771 | |
772 const Length& gridColumnGap() const { return m_rareNonInheritedData->m_grid- >m_gridColumnGap; } | |
773 void setGridColumnGap(const Length& v) { SET_NESTED_VAR(m_rareNonInheritedDa ta, m_grid, m_gridColumnGap, v); } | |
774 // grid-column-start | |
nainar
2016/07/25 07:43:27
insert new line before
sashab
2016/07/26 00:38:10
Done
| |
775 static GridPosition initialGridColumnStart() { return GridPosition(); /* aut o */ } | |
776 const GridPosition& gridColumnStart() const { return m_rareNonInheritedData- >m_gridItem->m_gridColumnStart; } | |
777 void setGridColumnStart(const GridPosition& columnStartPosition) { SET_NESTE D_VAR(m_rareNonInheritedData, m_gridItem, m_gridColumnStart, columnStartPosition ); } | |
778 // grid-column-end | |
nainar
2016/07/25 07:43:18
insert new line before
sashab
2016/07/26 00:38:08
Done
| |
779 static GridPosition initialGridColumnEnd() { return GridPosition(); /* auto */ } | |
780 const GridPosition& gridColumnEnd() const { return m_rareNonInheritedData->m _gridItem->m_gridColumnEnd; } | |
781 void setGridColumnEnd(const GridPosition& columnEndPosition) { SET_NESTED_VA R(m_rareNonInheritedData, m_gridItem, m_gridColumnEnd, columnEndPosition); } | |
782 // grid-row-gap | |
nainar
2016/07/25 07:43:25
insert new line before
sashab
2016/07/26 00:38:07
Done
| |
783 static Length initialGridRowGap() { return Length(Fixed); } | |
784 const Length& gridRowGap() const { return m_rareNonInheritedData->m_grid->m_ gridRowGap; } | |
785 void setGridRowGap(const Length& v) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_gridRowGap, v); } | |
786 // grid-row-start | |
nainar
2016/07/25 07:43:20
insert new line before
sashab
2016/07/26 00:38:09
Done
| |
787 static GridPosition initialGridRowStart() { return GridPosition(); /* auto */ } | |
788 const GridPosition& gridRowStart() const { return m_rareNonInheritedData->m_ gridItem->m_gridRowStart; } | |
789 void setGridRowStart(const GridPosition& rowStartPosition) { SET_NESTED_VAR( m_rareNonInheritedData, m_gridItem, m_gridRowStart, rowStartPosition); } | |
790 // grid-row-end | |
nainar
2016/07/25 07:43:18
insert new line before
nainar
2016/07/25 07:43:20
insert new line before
sashab
2016/07/26 00:38:06
Done Done ;)
| |
791 static GridPosition initialGridRowEnd() { return GridPosition(); /* auto */ } | |
792 const GridPosition& gridRowEnd() const { return m_rareNonInheritedData->m_gr idItem->m_gridRowEnd; } | |
793 void setGridRowEnd(const GridPosition& rowEndPosition) { SET_NESTED_VAR(m_ra reNonInheritedData, m_gridItem, m_gridRowEnd, rowEndPosition); } | |
794 // grid-template-areas | |
nainar
2016/07/25 07:43:23
why have this here when there are no methods?
sashab
2016/07/26 00:38:07
Done
| |
795 // grid-template-columns | |
796 static Vector<GridTrackSize> initialGridTemplateColumns() { return Vector<Gr idTrackSize>(); /* none */ } | |
797 const Vector<GridTrackSize>& gridTemplateColumns() const { return m_rareNonI nheritedData->m_grid->m_gridTemplateColumns; } | |
798 void setGridTemplateColumns(const Vector<GridTrackSize>& lengths) { SET_NEST ED_VAR(m_rareNonInheritedData, m_grid, m_gridTemplateColumns, lengths); } | |
799 // grid-template-rows | |
nainar
2016/07/25 07:43:26
insert new line before
sashab
2016/07/26 00:38:07
Done
| |
800 static Vector<GridTrackSize> initialGridTemplateRows() { return Vector<GridT rackSize>(); /* none */ } | |
801 const Vector<GridTrackSize>& gridTemplateRows() const { return m_rareNonInhe ritedData->m_grid->m_gridTemplateRows; } | |
802 void setGridTemplateRows(const Vector<GridTrackSize>& lengths) { SET_NESTED_ VAR(m_rareNonInheritedData, m_grid, m_gridTemplateRows, lengths); } | |
803 | |
804 // justify-self | |
805 const StyleSelfAlignmentData& justifySelf() const { return m_rareNonInherite dData->m_justifySelf; } | |
806 void setJustifySelf(const StyleSelfAlignmentData& data) { SET_VAR(m_rareNonI nheritedData, m_justifySelf, data); } | |
807 // justify-items | |
nainar
2016/07/25 07:43:18
insert new line before
sashab
2016/07/26 00:38:08
Done
| |
808 const StyleSelfAlignmentData& justifyItems() const { return m_rareNonInherit edData->m_justifyItems; } | |
809 void setJustifyItems(const StyleSelfAlignmentData& data) { SET_VAR(m_rareNon InheritedData, m_justifyItems, data); } | |
810 | |
811 | |
812 // Width/height properties. | |
813 static Length initialSize() { return Length(); } | |
814 // width | |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:11
Done
| |
517 const Length& width() const { return m_box->width(); } | 815 const Length& width() const { return m_box->width(); } |
816 void setWidth(const Length& v) { SET_VAR(m_box, m_width, v); } | |
817 // height | |
nainar
2016/07/25 07:43:20
insert new line before
sashab
2016/07/26 00:38:11
Done
| |
518 const Length& height() const { return m_box->height(); } | 818 const Length& height() const { return m_box->height(); } |
819 void setHeight(const Length& v) { SET_VAR(m_box, m_height, v); } | |
820 | |
821 static Length initialMaxSize() { return Length(MaxSizeNone); } | |
822 // max-width | |
nainar
2016/07/25 07:43:19
insert new line before
sashab
2016/07/26 00:38:12
Done, and moved initializer up to top
| |
823 const Length& maxWidth() const { return m_box->maxWidth(); } | |
824 void setMaxWidth(const Length& v) { SET_VAR(m_box, m_maxWidth, v); } | |
825 // max-height | |
nainar
2016/07/25 07:43:24
insert new line before
sashab
2016/07/26 00:38:06
Done
| |
826 const Length& maxHeight() const { return m_box->maxHeight(); } | |
827 void setMaxHeight(const Length& v) { SET_VAR(m_box, m_maxHeight, v); } | |
828 | |
829 static Length initialMinSize() { return Length(); } | |
830 // min-width | |
nainar
2016/07/25 07:43:26
insert new line before
sashab
2016/07/26 00:38:08
Done, and moved initializer up to top
| |
519 const Length& minWidth() const { return m_box->minWidth(); } | 831 const Length& minWidth() const { return m_box->minWidth(); } |
520 const Length& maxWidth() const { return m_box->maxWidth(); } | 832 void setMinWidth(const Length& v) { SET_VAR(m_box, m_minWidth, v); } |
833 // min-height | |
nainar
2016/07/25 07:43:27
insert new line before
sashab
2016/07/26 00:38:10
Done
| |
521 const Length& minHeight() const { return m_box->minHeight(); } | 834 const Length& minHeight() const { return m_box->minHeight(); } |
522 const Length& maxHeight() const { return m_box->maxHeight(); } | 835 void setMinHeight(const Length& v) { SET_VAR(m_box, m_minHeight, v); } |
523 | 836 |
524 const Length& logicalWidth() const { return isHorizontalWritingMode() ? widt h() : height(); } | 837 // image-orientation |
525 const Length& logicalHeight() const { return isHorizontalWritingMode() ? hei ght() : width(); } | 838 static RespectImageOrientationEnum initialRespectImageOrientation() { return DoNotRespectImageOrientation; } |
526 const Length& logicalMinWidth() const { return isHorizontalWritingMode() ? m inWidth() : minHeight(); } | 839 RespectImageOrientationEnum respectImageOrientation() const { return static_ cast<RespectImageOrientationEnum>(m_rareInheritedData->m_respectImageOrientation ); } |
527 const Length& logicalMaxWidth() const { return isHorizontalWritingMode() ? m axWidth() : maxHeight(); } | 840 void setRespectImageOrientation(RespectImageOrientationEnum v) { SET_VAR(m_r areInheritedData, m_respectImageOrientation, v); } |
528 const Length& logicalMinHeight() const { return isHorizontalWritingMode() ? minHeight() : minWidth(); } | 841 |
529 const Length& logicalMaxHeight() const { return isHorizontalWritingMode() ? maxHeight() : maxWidth(); } | 842 // image-rendering |
530 | 843 static EImageRendering initialImageRendering() { return ImageRenderingAuto; } |
531 const BorderData& border() const { return m_surround->border; } | 844 EImageRendering imageRendering() const { return static_cast<EImageRendering> (m_rareInheritedData->m_imageRendering); } |
532 const BorderValue& borderLeft() const { return m_surround->border.left(); } | 845 void setImageRendering(EImageRendering v) { SET_VAR(m_rareInheritedData, m_i mageRendering, v); } |
533 const BorderValue& borderRight() const { return m_surround->border.right(); } | 846 |
534 const BorderValue& borderTop() const { return m_surround->border.top(); } | 847 // isolation |
535 const BorderValue& borderBottom() const { return m_surround->border.bottom() ; } | 848 static EIsolation initialIsolation() { return IsolationAuto; } |
536 | 849 EIsolation isolation() const { return static_cast<EIsolation>(m_rareNonInher itedData->m_isolation); } |
537 const BorderValue& borderBefore() const; | 850 void setIsolation(EIsolation v) { m_rareNonInheritedData.access()->m_isolati on = v; } |
538 const BorderValue& borderAfter() const; | 851 |
539 const BorderValue& borderStart() const; | 852 // Margin properties. |
540 const BorderValue& borderEnd() const; | 853 static Length initialMargin() { return Length(Fixed); } |
541 | 854 // margin-top |
nainar
2016/07/25 07:43:19
insert new line before
sashab
2016/07/26 00:38:12
Done
| |
542 const NinePieceImage& borderImage() const { return m_surround->border.image( ); } | 855 const Length& marginTop() const { return m_surround->margin.top(); } |
543 StyleImage* borderImageSource() const { return m_surround->border.image().im age(); } | 856 void setMarginTop(const Length& v) { SET_VAR(m_surround, margin.m_top, v); } |
544 const LengthBox& borderImageSlices() const { return m_surround->border.image ().imageSlices(); } | 857 // margin-bottom |
nainar
2016/07/25 07:43:25
insert new line before
sashab
2016/07/26 00:38:10
Done
| |
545 bool borderImageSlicesFill() const { return m_surround->border.image().fill( ); } | 858 const Length& marginBottom() const { return m_surround->margin.bottom(); } |
546 const BorderImageLengthBox& borderImageWidth() const { return m_surround->bo rder.image().borderSlices(); } | 859 void setMarginBottom(const Length& v) { SET_VAR(m_surround, margin.m_bottom, v); } |
547 const BorderImageLengthBox& borderImageOutset() const { return m_surround->b order.image().outset(); } | 860 // margin-left |
nainar
2016/07/25 07:43:25
insert new line before
sashab
2016/07/26 00:38:09
Done
| |
548 | 861 const Length& marginLeft() const { return m_surround->margin.left(); } |
549 const LengthSize& borderTopLeftRadius() const { return m_surround->border.to pLeft(); } | 862 void setMarginLeft(const Length& v) { SET_VAR(m_surround, margin.m_left, v); } |
550 const LengthSize& borderTopRightRadius() const { return m_surround->border.t opRight(); } | 863 // margin-right |
nainar
2016/07/25 07:43:23
insert new line before
sashab
2016/07/26 00:38:12
Done
| |
551 const LengthSize& borderBottomLeftRadius() const { return m_surround->border .bottomLeft(); } | 864 const Length& marginRight() const { return m_surround->margin.right(); } |
552 const LengthSize& borderBottomRightRadius() const { return m_surround->borde r.bottomRight(); } | 865 void setMarginRight(const Length& v) { SET_VAR(m_surround, margin.m_right, v ); } |
553 bool hasBorderRadius() const { return m_surround->border.hasBorderRadius(); } | 866 |
554 | 867 // -webkit-margin-before-collapse (aka -webkit-margin-top-collapse) |
555 int borderLeftWidth() const { return m_surround->border.borderLeftWidth(); } | 868 static EMarginCollapse initialMarginBeforeCollapse() { return MarginCollapse Collapse; } |
556 EBorderStyle borderLeftStyle() const { return m_surround->border.left().styl e(); } | 869 EMarginCollapse marginAfterCollapse() const { return static_cast<EMarginColl apse>(m_rareNonInheritedData->marginAfterCollapse); } |
557 int borderRightWidth() const { return m_surround->border.borderRightWidth(); } | 870 void setMarginBeforeCollapse(EMarginCollapse c) { SET_VAR(m_rareNonInherited Data, marginBeforeCollapse, c); } |
558 EBorderStyle borderRightStyle() const { return m_surround->border.right().st yle(); } | 871 // -webkit-margin-after-collapse (aka -webkit-margin-bottom-collapse) |
nainar
2016/07/25 07:43:20
insert new line before
sashab
2016/07/26 00:38:12
Done
| |
559 int borderTopWidth() const { return m_surround->border.borderTopWidth(); } | 872 static EMarginCollapse initialMarginAfterCollapse() { return MarginCollapseC ollapse; } |
560 EBorderStyle borderTopStyle() const { return m_surround->border.top().style( ); } | 873 EMarginCollapse marginBeforeCollapse() const { return static_cast<EMarginCol lapse>(m_rareNonInheritedData->marginBeforeCollapse); } |
561 int borderBottomWidth() const { return m_surround->border.borderBottomWidth( ); } | 874 void setMarginAfterCollapse(EMarginCollapse c) { SET_VAR(m_rareNonInheritedD ata, marginAfterCollapse, c); } |
562 EBorderStyle borderBottomStyle() const { return m_surround->border.bottom(). style(); } | 875 |
563 | 876 // mix-blend-mode |
564 int borderBeforeWidth() const; | 877 static WebBlendMode initialBlendMode() { return WebBlendModeNormal; } |
565 int borderAfterWidth() const; | 878 WebBlendMode blendMode() const { return static_cast<WebBlendMode>(m_rareNonI nheritedData->m_effectiveBlendMode); } |
566 int borderStartWidth() const; | 879 void setBlendMode(WebBlendMode v) { m_rareNonInheritedData.access()->m_effec tiveBlendMode = v; } |
567 int borderEndWidth() const; | 880 |
568 int borderOverWidth() const; | 881 // motion-path |
569 int borderUnderWidth() const; | 882 static StylePath* initialMotionPath() { return nullptr; } |
570 | 883 StylePath* motionPath() const { return m_rareNonInheritedData->m_transform-> m_motion.m_path.get(); } |
884 void setMotionPath(PassRefPtr<StylePath>); | |
885 // motion-offset | |
nainar
2016/07/25 07:43:23
insert new line before
sashab
2016/07/26 00:38:11
Done
| |
886 static Length initialMotionOffset() { return Length(0, Fixed); } | |
887 const Length& motionOffset() const { return m_rareNonInheritedData->m_transf orm->m_motion.m_offset; } | |
888 void setMotionOffset(const Length& motionOffset) { SET_NESTED_VAR(m_rareNonI nheritedData, m_transform, m_motion.m_offset, motionOffset); } | |
889 // motion-rotation | |
nainar
2016/07/25 07:43:18
insert new line before
sashab
2016/07/26 00:38:09
Done
| |
890 static StyleMotionRotation initialMotionRotation() { return StyleMotionRotat ion(0, MotionRotationAuto); } | |
891 const StyleMotionRotation& motionRotation() const { return m_rareNonInherite dData->m_transform->m_motion.m_rotation; } | |
892 void setMotionRotation(const StyleMotionRotation& motionRotation) { SET_NEST ED_VAR(m_rareNonInheritedData, m_transform, m_motion.m_rotation, motionRotation) ; } | |
893 | |
894 // object-fit | |
895 static ObjectFit initialObjectFit() { return ObjectFitFill; } | |
896 ObjectFit getObjectFit() const { return static_cast<ObjectFit>(m_rareNonInhe ritedData->m_objectFit); } | |
nainar
2016/07/25 07:43:23
getObjectFit() -> objectFit() in an earlier patch
sashab
2016/07/26 00:38:07
added TODO, will do in later patch :)
| |
897 void setObjectFit(ObjectFit f) { SET_VAR(m_rareNonInheritedData, m_objectFit , f); } | |
898 // object-position | |
nainar
2016/07/25 07:43:26
insert new line before
sashab
2016/07/26 00:38:07
Done
| |
899 static LengthPoint initialObjectPosition() { return LengthPoint(Length(50.0, Percent), Length(50.0, Percent)); } | |
900 LengthPoint objectPosition() const { return m_rareNonInheritedData->m_object Position; } | |
901 void setObjectPosition(LengthPoint position) { SET_VAR(m_rareNonInheritedDat a, m_objectPosition, position); } | |
902 | |
903 // opacity (aka -webkit-opacity) | |
904 static float initialOpacity() { return 1.0f; } | |
905 float opacity() const { return m_rareNonInheritedData->opacity; } | |
906 void setOpacity(float f) { float v = clampTo<float>(f, 0, 1); SET_VAR(m_rare NonInheritedData, opacity, v); } | |
907 | |
908 // order (aka -webkit-order) | |
909 static int initialOrder() { return 0; } | |
910 int order() const { return m_rareNonInheritedData->m_order; } | |
911 // We restrict the smallest value to int min + 2 because we use int min and int min + 1 as special values in a hash set. | |
nainar
2016/07/25 07:43:19
delete line
sashab
2016/07/26 00:38:10
?? No newline here, and this comment is informativ
| |
912 void setOrder(int o) { SET_VAR(m_rareNonInheritedData, m_order, max(std::num eric_limits<int>::min() + 2, o)); } | |
913 | |
914 // Outline properties. | |
915 // outline-color | |
916 void setOutlineColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(m_backgrou nd, m_outline, v); } | |
917 // outline-style | |
918 static OutlineIsAuto initialOutlineStyleIsAuto() { return OutlineIsAutoOff; } | |
nainar
2016/07/25 07:43:19
move to after setOutlineStyle()
sashab
2016/07/26 00:38:10
Nice!! Done
| |
919 EBorderStyle outlineStyle() const { return m_background->outline().style(); } | |
920 void setOutlineStyle(EBorderStyle v) { SET_VAR(m_background, m_outline.m_sty le, v); } | |
921 OutlineIsAuto outlineStyleIsAuto() const { return static_cast<OutlineIsAuto> (m_background->outline().isAuto()); } | |
922 void setOutlineStyleIsAuto(OutlineIsAuto isAuto) { SET_VAR(m_background, m_o utline.m_isAuto, isAuto); } | |
923 // outline-width | |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:10
Done
| |
924 static unsigned short initialOutlineWidth() { return 3; } | |
925 void setOutlineWidth(unsigned short v) { SET_VAR(m_background, m_outline.m_w idth, v); } | |
571 int outlineWidth() const | 926 int outlineWidth() const |
nainar
2016/07/25 07:43:18
move to before setOutlineWidth()
sashab
2016/07/26 00:38:06
Done
| |
572 { | 927 { |
573 if (m_background->outline().style() == BorderStyleNone) | 928 if (m_background->outline().style() == BorderStyleNone) |
574 return 0; | 929 return 0; |
575 return m_background->outline().width(); | 930 return m_background->outline().width(); |
576 } | 931 } |
577 bool hasOutline() const { return outlineWidth() > 0 && outlineStyle() > Bord erStyleHidden; } | 932 // outline-offset |
578 EBorderStyle outlineStyle() const { return m_background->outline().style(); } | 933 static int initialOutlineOffset() { return 0; } |
579 OutlineIsAuto outlineStyleIsAuto() const { return static_cast<OutlineIsAuto> (m_background->outline().isAuto()); } | |
580 int outlineOutsetExtent() const; | |
581 | |
582 EOverflowAnchor overflowAnchor() const { return static_cast<EOverflowAnchor> (m_nonInheritedData.m_overflowAnchor); } | |
583 EOverflow overflowX() const { return static_cast<EOverflow>(m_nonInheritedDa ta.m_overflowX); } | |
584 EOverflow overflowY() const { return static_cast<EOverflow>(m_nonInheritedDa ta.m_overflowY); } | |
585 // It's sufficient to just check one direction, since it's illegal to have v isible on only one overflow value. | |
586 bool isOverflowVisible() const { ASSERT(overflowX() != OverflowVisible || ov erflowX() == overflowY()); return overflowX() == OverflowVisible; } | |
587 bool isOverflowPaged() const { return overflowY() == OverflowPagedX || overf lowY() == OverflowPagedY; } | |
588 | |
589 EVisibility visibility() const { return static_cast<EVisibility>(m_inherited Data.m_visibility); } | |
590 EVerticalAlign verticalAlign() const { return static_cast<EVerticalAlign>(m_ nonInheritedData.m_verticalAlign); } | |
591 const Length& getVerticalAlignLength() const { return m_box->verticalAlign() ; } | |
592 | |
593 const Length& clipLeft() const { return m_visual->clip.left(); } | |
594 const Length& clipRight() const { return m_visual->clip.right(); } | |
595 const Length& clipTop() const { return m_visual->clip.top(); } | |
596 const Length& clipBottom() const { return m_visual->clip.bottom(); } | |
597 const LengthBox& clip() const { return m_visual->clip; } | |
598 bool hasAutoClip() const { return m_visual->hasAutoClip; } | |
599 | |
600 EUnicodeBidi unicodeBidi() const { return static_cast<EUnicodeBidi>(m_nonInh eritedData.m_unicodeBidi); } | |
601 | |
602 EClear clear() const { return static_cast<EClear>(m_nonInheritedData.m_clear ); } | |
603 ETableLayout tableLayout() const { return static_cast<ETableLayout>(m_nonInh eritedData.m_tableLayout); } | |
604 bool isFixedTableLayout() const { return tableLayout() == TableLayoutFixed & & !logicalWidth().isAuto(); } | |
605 | |
606 const Font& font() const; | |
607 const FontMetrics& getFontMetrics() const; | |
608 const FontDescription& getFontDescription() const; | |
609 float specifiedFontSize() const; | |
610 float computedFontSize() const; | |
611 int fontSize() const; | |
612 float fontSizeAdjust() const; | |
613 bool hasFontSizeAdjust() const; | |
614 FontWeight fontWeight() const; | |
615 FontStretch fontStretch() const; | |
616 | |
617 float textAutosizingMultiplier() const { return m_styleInheritedData->textAu tosizingMultiplier; } | |
618 | |
619 const Length& textIndent() const { return m_rareInheritedData->indent; } | |
620 TextIndentLine getTextIndentLine() const { return static_cast<TextIndentLine >(m_rareInheritedData->m_textIndentLine); } | |
621 TextIndentType getTextIndentType() const { return static_cast<TextIndentType >(m_rareInheritedData->m_textIndentType); } | |
622 ETextAlign textAlign() const { return static_cast<ETextAlign>(m_inheritedDat a.m_textAlign); } | |
623 TextAlignLast getTextAlignLast() const { return static_cast<TextAlignLast>(m _rareInheritedData->m_textAlignLast); } | |
624 TextJustify getTextJustify() const { return static_cast<TextJustify>(m_rareI nheritedData->m_textJustify); } | |
625 ETextTransform textTransform() const { return static_cast<ETextTransform>(m_ inheritedData.m_textTransform); } | |
626 TextDecoration textDecorationsInEffect() const; | |
627 const Vector<AppliedTextDecoration>& appliedTextDecorations() const; | |
628 TextDecoration getTextDecoration() const { return static_cast<TextDecoration >(m_visual->textDecoration); } | |
629 TextUnderlinePosition getTextUnderlinePosition() const { return static_cast< TextUnderlinePosition>(m_rareInheritedData->m_textUnderlinePosition); } | |
630 TextDecorationStyle getTextDecorationStyle() const { return static_cast<Text DecorationStyle>(m_rareNonInheritedData->m_textDecorationStyle); } | |
631 float wordSpacing() const; | |
632 float letterSpacing() const; | |
633 StyleVariableData* variables() const; | |
634 | |
635 void setVariable(const AtomicString&, PassRefPtr<CSSVariableData>); | |
636 void removeVariable(const AtomicString&); | |
637 | |
638 float zoom() const { return m_visual->m_zoom; } | |
639 float effectiveZoom() const { return m_rareInheritedData->m_effectiveZoom; } | |
640 | |
641 TextDirection direction() const { return static_cast<TextDirection>(m_inheri tedData.m_direction); } | |
642 bool isLeftToRightDirection() const { return direction() == LTR; } | |
643 bool selfOrAncestorHasDirAutoAttribute() const { return m_rareInheritedData- >m_selfOrAncestorHasDirAutoAttribute; } | |
644 | |
645 const Length& specifiedLineHeight() const; | |
646 Length lineHeight() const; | |
647 int computedLineHeight() const; | |
648 | |
649 EWhiteSpace whiteSpace() const { return static_cast<EWhiteSpace>(m_inherited Data.m_whiteSpace); } | |
650 static bool autoWrap(EWhiteSpace ws) | |
651 { | |
652 // Nowrap and pre don't automatically wrap. | |
653 return ws != NOWRAP && ws != PRE; | |
654 } | |
655 | |
656 bool autoWrap() const | |
657 { | |
658 return autoWrap(whiteSpace()); | |
659 } | |
660 | |
661 static bool preserveNewline(EWhiteSpace ws) | |
662 { | |
663 // Normal and nowrap do not preserve newlines. | |
664 return ws != NORMAL && ws != NOWRAP; | |
665 } | |
666 | |
667 bool preserveNewline() const | |
668 { | |
669 return preserveNewline(whiteSpace()); | |
670 } | |
671 | |
672 static bool collapseWhiteSpace(EWhiteSpace ws) | |
673 { | |
674 // Pre and prewrap do not collapse whitespace. | |
675 return ws != PRE && ws != PRE_WRAP; | |
676 } | |
677 | |
678 bool collapseWhiteSpace() const | |
679 { | |
680 return collapseWhiteSpace(whiteSpace()); | |
681 } | |
682 | |
683 bool isCollapsibleWhiteSpace(UChar c) const | |
684 { | |
685 switch (c) { | |
686 case ' ': | |
687 case '\t': | |
688 return collapseWhiteSpace(); | |
689 case '\n': | |
690 return !preserveNewline(); | |
691 } | |
692 return false; | |
693 } | |
694 | |
695 bool breakOnlyAfterWhiteSpace() const | |
696 { | |
697 return whiteSpace() == PRE_WRAP || getLineBreak() == LineBreakAfterWhite Space; | |
698 } | |
699 | |
700 bool breakWords() const | |
701 { | |
702 return (wordBreak() == BreakWordBreak || overflowWrap() == BreakOverflow Wrap) | |
703 && whiteSpace() != PRE && whiteSpace() != NOWRAP; | |
704 } | |
705 | |
706 EFillBox backgroundClip() const { return static_cast<EFillBox>(m_background- >background().clip()); } | |
707 FillLayer& accessBackgroundLayers() { return m_background.access()->m_backgr ound; } | |
708 const FillLayer& backgroundLayers() const { return m_background->background( ); } | |
709 | |
710 StyleImage* maskImage() const { return m_rareNonInheritedData->m_mask.image( ); } | |
711 FillLayer& accessMaskLayers() { return m_rareNonInheritedData.access()->m_ma sk; } | |
712 const FillLayer& maskLayers() const { return m_rareNonInheritedData->m_mask; } | |
713 | |
714 const NinePieceImage& maskBoxImage() const { return m_rareNonInheritedData-> m_maskBoxImage; } | |
715 StyleImage* maskBoxImageSource() const { return m_rareNonInheritedData->m_ma skBoxImage.image(); } | |
716 const LengthBox& maskBoxImageSlices() const { return m_rareNonInheritedData- >m_maskBoxImage.imageSlices(); } | |
717 bool maskBoxImageSlicesFill() const { return m_rareNonInheritedData->m_maskB oxImage.fill(); } | |
718 const BorderImageLengthBox& maskBoxImageWidth() const { return m_rareNonInhe ritedData->m_maskBoxImage.borderSlices(); } | |
719 const BorderImageLengthBox& maskBoxImageOutset() const { return m_rareNonInh eritedData->m_maskBoxImage.outset(); } | |
720 | |
721 EBorderCollapse borderCollapse() const { return static_cast<EBorderCollapse> (m_inheritedData.m_borderCollapse); } | |
722 short horizontalBorderSpacing() const; | |
723 short verticalBorderSpacing() const; | |
724 EEmptyCells emptyCells() const { return static_cast<EEmptyCells>(m_inherited Data.m_emptyCells); } | |
725 ECaptionSide captionSide() const { return static_cast<ECaptionSide>(m_inheri tedData.m_captionSide); } | |
726 | |
727 EListStyleType listStyleType() const { return static_cast<EListStyleType>(m_ inheritedData.m_listStyleType); } | |
728 StyleImage* listStyleImage() const; | |
729 EListStylePosition listStylePosition() const { return static_cast<EListStyle Position>(m_inheritedData.m_listStylePosition); } | |
730 | |
731 const Length& marginTop() const { return m_surround->margin.top(); } | |
732 const Length& marginBottom() const { return m_surround->margin.bottom(); } | |
733 const Length& marginLeft() const { return m_surround->margin.left(); } | |
734 const Length& marginRight() const { return m_surround->margin.right(); } | |
735 const Length& marginBefore() const { return m_surround->margin.before(getWri tingMode()); } | |
736 const Length& marginAfter() const { return m_surround->margin.after(getWriti ngMode()); } | |
737 const Length& marginStart() const { return m_surround->margin.start(getWriti ngMode(), direction()); } | |
738 const Length& marginEnd() const { return m_surround->margin.end(getWritingMo de(), direction()); } | |
739 const Length& marginOver() const { return m_surround->margin.over(getWriting Mode()); } | |
740 const Length& marginUnder() const { return m_surround->margin.under(getWriti ngMode()); } | |
741 const Length& marginStartUsing(const ComputedStyle* otherStyle) const { retu rn m_surround->margin.start(otherStyle->getWritingMode(), otherStyle->direction( )); } | |
742 const Length& marginEndUsing(const ComputedStyle* otherStyle) const { return m_surround->margin.end(otherStyle->getWritingMode(), otherStyle->direction()); } | |
743 const Length& marginBeforeUsing(const ComputedStyle* otherStyle) const { ret urn m_surround->margin.before(otherStyle->getWritingMode()); } | |
744 const Length& marginAfterUsing(const ComputedStyle* otherStyle) const { retu rn m_surround->margin.after(otherStyle->getWritingMode()); } | |
745 | |
746 const LengthBox& paddingBox() const { return m_surround->padding; } | |
747 const Length& paddingTop() const { return m_surround->padding.top(); } | |
748 const Length& paddingBottom() const { return m_surround->padding.bottom(); } | |
749 const Length& paddingLeft() const { return m_surround->padding.left(); } | |
750 const Length& paddingRight() const { return m_surround->padding.right(); } | |
751 const Length& paddingBefore() const { return m_surround->padding.before(getW ritingMode()); } | |
752 const Length& paddingAfter() const { return m_surround->padding.after(getWri tingMode()); } | |
753 const Length& paddingStart() const { return m_surround->padding.start(getWri tingMode(), direction()); } | |
754 const Length& paddingEnd() const { return m_surround->padding.end(getWriting Mode(), direction()); } | |
755 const Length& paddingOver() const { return m_surround->padding.over(getWriti ngMode()); } | |
756 const Length& paddingUnder() const { return m_surround->padding.under(getWri tingMode()); } | |
757 | |
758 ECursor cursor() const { return static_cast<ECursor>(m_inheritedData.m_curso rStyle); } | |
759 CursorList* cursors() const { return m_rareInheritedData->cursorData.get(); } | |
760 | |
761 EInsideLink insideLink() const { return static_cast<EInsideLink>(m_inherited Data.m_insideLink); } | |
762 bool isLink() const { return m_nonInheritedData.m_isLink; } | |
763 | |
764 short widows() const { return m_rareInheritedData->widows; } | |
765 short orphans() const { return m_rareInheritedData->orphans; } | |
766 EBreak breakAfter() const { return static_cast<EBreak>(m_nonInheritedData.m_ breakAfter); } | |
767 EBreak breakBefore() const { return static_cast<EBreak>(m_nonInheritedData.m _breakBefore); } | |
768 EBreak breakInside() const { return static_cast<EBreak>(m_nonInheritedData.m _breakInside); } | |
769 | |
770 TextSizeAdjust getTextSizeAdjust() const { return m_rareInheritedData->m_tex tSizeAdjust; } | |
771 | |
772 // CSS3 Getter Methods | |
773 | |
774 int outlineOffset() const | 934 int outlineOffset() const |
775 { | 935 { |
776 if (m_background->outline().style() == BorderStyleNone) | 936 if (m_background->outline().style() == BorderStyleNone) |
777 return 0; | 937 return 0; |
778 return m_background->outline().offset(); | 938 return m_background->outline().offset(); |
779 } | 939 } |
780 | 940 void setOutlineOffset(int v) { SET_VAR(m_background, m_outline.m_offset, v); } |
941 | |
942 // Overflow properties. | |
943 // overflow-anchor | |
944 static EOverflowAnchor initialOverflowAnchor() { return AnchorAuto; } | |
945 EOverflowAnchor overflowAnchor() const { return static_cast<EOverflowAnchor> (m_nonInheritedData.m_overflowAnchor); } | |
946 void setOverflowAnchor(EOverflowAnchor v) { m_nonInheritedData.m_overflowAnc hor = v; } | |
947 // overflow-x | |
nainar
2016/07/25 07:43:22
insert new line before
sashab
2016/07/26 00:38:12
Done
| |
948 static EOverflow initialOverflowX() { return OverflowVisible; } | |
949 EOverflow overflowX() const { return static_cast<EOverflow>(m_nonInheritedDa ta.m_overflowX); } | |
950 void setOverflowX(EOverflow v) { m_nonInheritedData.m_overflowX = v; } | |
951 // overflow-y | |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:11
Done
| |
952 static EOverflow initialOverflowY() { return OverflowVisible; } | |
953 EOverflow overflowY() const { return static_cast<EOverflow>(m_nonInheritedDa ta.m_overflowY); } | |
954 void setOverflowY(EOverflow v) { m_nonInheritedData.m_overflowY = v; } | |
955 | |
956 // Padding properties. | |
957 static Length initialPadding() { return Length(Fixed); } | |
958 // padding-bottom | |
nainar
2016/07/25 07:43:19
insert new line before
sashab
2016/07/26 00:38:09
Done
| |
959 const Length& paddingBottom() const { return m_surround->padding.bottom(); } | |
960 void setPaddingBottom(const Length& v) { SET_VAR(m_surround, padding.m_botto m, v); } | |
961 // padding-left | |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:08
Done
| |
962 const Length& paddingLeft() const { return m_surround->padding.left(); } | |
963 void setPaddingLeft(const Length& v) { SET_VAR(m_surround, padding.m_left, v ); } | |
964 // padding-right | |
nainar
2016/07/25 07:43:22
insert new line before
sashab
2016/07/26 00:38:10
Done
| |
965 const Length& paddingRight() const { return m_surround->padding.right(); } | |
966 void setPaddingRight(const Length& v) { SET_VAR(m_surround, padding.m_right, v); } | |
967 // padding-top | |
nainar
2016/07/25 07:43:23
insert new line before
sashab
2016/07/26 00:38:13
Done
| |
968 const Length& paddingTop() const { return m_surround->padding.top(); } | |
969 void setPaddingTop(const Length& v) { SET_VAR(m_surround, padding.m_top, v); } | |
970 | |
971 // perspective (aka -webkit-perspective) | |
972 static float initialPerspective() { return 0; } | |
973 float perspective() const { return m_rareNonInheritedData->m_perspective; } | |
974 void setPerspective(float p) { SET_VAR(m_rareNonInheritedData, m_perspective , p); } | |
975 // perspective-origin (aka -webkit-perspective-origin) | |
nainar
2016/07/25 07:43:25
insert new line before
sashab
2016/07/26 00:38:10
Done
| |
976 static LengthPoint initialPerspectiveOrigin() { return LengthPoint(Length(50 .0, Percent), Length(50.0, Percent)); } | |
977 const LengthPoint& perspectiveOrigin() const { return m_rareNonInheritedData ->m_perspectiveOrigin; } | |
978 void setPerspectiveOrigin(const LengthPoint& p) { SET_VAR(m_rareNonInherited Data, m_perspectiveOrigin, p); } | |
979 // -webkit-perspective-origin-x | |
nainar
2016/07/25 07:43:20
insert new line before
sashab
2016/07/26 00:38:07
Done
| |
980 static Length initialPerspectiveOriginX() { return Length(50.0, Percent); } | |
981 const Length& perspectiveOriginX() const { return perspectiveOrigin().x(); } | |
982 void setPerspectiveOriginX(const Length& v) { setPerspectiveOrigin(LengthPoi nt(v, perspectiveOriginY())); } | |
983 // -webkit-perspective-origin-y | |
nainar
2016/07/25 07:43:26
insert new line before
sashab
2016/07/26 00:38:10
Done
| |
984 static Length initialPerspectiveOriginY() { return Length(50.0, Percent); } | |
985 const Length& perspectiveOriginY() const { return perspectiveOrigin().y(); } | |
986 void setPerspectiveOriginY(const Length& v) { setPerspectiveOrigin(LengthPoi nt(perspectiveOriginX(), v)); } | |
987 | |
988 // position | |
989 static EPosition initialPosition() { return StaticPosition; } | |
990 EPosition position() const { return static_cast<EPosition>(m_nonInheritedDat a.m_position); } | |
991 void setPosition(EPosition v) { m_nonInheritedData.m_position = v; } | |
992 | |
993 // resize | |
994 static EResize initialResize() { return RESIZE_NONE; } | |
995 EResize resize() const { return static_cast<EResize>(m_rareNonInheritedData- >m_resize); } | |
996 void setResize(EResize r) { SET_VAR(m_rareNonInheritedData, m_resize, r); } | |
997 | |
998 // Transform properties. | |
999 // transform (aka -webkit-transform) | |
1000 static EmptyTransformOperations initialTransform() { return EmptyTransformOp erations(); } | |
1001 const TransformOperations& transform() const { return m_rareNonInheritedData ->m_transform->m_operations; } | |
1002 void setTransform(const TransformOperations& ops) { SET_NESTED_VAR(m_rareNon InheritedData, m_transform, m_operations, ops); } | |
1003 // transform-origin (aka -webkit-transform-origin) | |
nainar
2016/07/25 07:43:22
insert new line before
sashab
2016/07/26 00:38:08
Done
| |
1004 static TransformOrigin initialTransformOrigin() { return TransformOrigin(Len gth(50.0, Percent), Length(50.0, Percent), 0); } | |
1005 const TransformOrigin& transformOrigin() const { return m_rareNonInheritedDa ta->m_transform->m_origin; } | |
1006 void setTransformOrigin(const TransformOrigin& o) { SET_NESTED_VAR(m_rareNon InheritedData, m_transform, m_origin, o); } | |
1007 // transform-style (aka -webkit-transform-style) | |
nainar
2016/07/25 07:43:18
insert new line before
sashab
2016/07/26 00:38:13
Done
| |
1008 static ETransformStyle3D initialTransformStyle3D() { return TransformStyle3D Flat; } | |
1009 ETransformStyle3D transformStyle3D() const { return static_cast<ETransformSt yle3D>(m_rareNonInheritedData->m_transformStyle3D); } | |
1010 void setTransformStyle3D(ETransformStyle3D b) { SET_VAR(m_rareNonInheritedDa ta, m_transformStyle3D, b); } | |
1011 // -webkit-transform-origin-x | |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:09
Done
| |
1012 static Length initialTransformOriginX() { return Length(50.0, Percent); } | |
1013 const Length& transformOriginX() const { return transformOrigin().x(); } | |
1014 void setTransformOriginX(const Length& v) { setTransformOrigin(TransformOrig in(v, transformOriginY(), transformOriginZ())); } | |
1015 // -webkit-transform-origin-y | |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:09
Done
| |
1016 static Length initialTransformOriginY() { return Length(50.0, Percent); } | |
1017 const Length& transformOriginY() const { return transformOrigin().y(); } | |
1018 void setTransformOriginY(const Length& v) { setTransformOrigin(TransformOrig in(transformOriginX(), v, transformOriginZ())); } | |
1019 // -webkit-transform-origin-z | |
nainar
2016/07/25 07:43:23
insert new line before
sashab
2016/07/26 00:38:07
Done
| |
1020 static float initialTransformOriginZ() { return 0; } | |
1021 float transformOriginZ() const { return transformOrigin().z(); } | |
1022 void setTransformOriginZ(float f) { setTransformOrigin(TransformOrigin(trans formOriginX(), transformOriginY(), f)); } | |
1023 | |
1024 // Independent transform properties. | |
1025 // translate | |
1026 static PassRefPtr<TranslateTransformOperation> initialTranslate() { return T ranslateTransformOperation::create(Length(0, Fixed), Length(0, Fixed), 0, Transf ormOperation::Translate3D); } | |
1027 TranslateTransformOperation* translate() const { return m_rareNonInheritedDa ta->m_transform->m_translate.get(); } | |
1028 void setTranslate(PassRefPtr<TranslateTransformOperation> v) { m_rareNonInhe ritedData.access()->m_transform.access()->m_translate = v; } | |
1029 // rotate | |
nainar
2016/07/25 07:43:26
insert new line before
sashab
2016/07/26 00:38:11
Done
| |
1030 static PassRefPtr<RotateTransformOperation> initialRotate() { return RotateT ransformOperation::create(0, 0, 1, 0, TransformOperation::Rotate3D); } | |
1031 RotateTransformOperation* rotate() const { return m_rareNonInheritedData->m_ transform->m_rotate.get(); } | |
1032 void setRotate(PassRefPtr<RotateTransformOperation> v) { m_rareNonInheritedD ata.access()->m_transform.access()->m_rotate = v; } | |
1033 // scale | |
nainar
2016/07/25 07:43:25
insert new line before
sashab
2016/07/26 00:38:11
Done
| |
1034 static PassRefPtr<ScaleTransformOperation> initialScale() { return ScaleTran sformOperation::create(1, 1, 1, TransformOperation::Scale3D); } | |
1035 ScaleTransformOperation* scale() const { return m_rareNonInheritedData->m_tr ansform->m_scale.get(); } | |
1036 void setScale(PassRefPtr<ScaleTransformOperation> v) { m_rareNonInheritedDat a.access()->m_transform.access()->m_scale = v; } | |
1037 | |
1038 // Scroll properties. | |
1039 // scroll-behavior | |
1040 static ScrollBehavior initialScrollBehavior() { return ScrollBehaviorAuto; } | |
1041 ScrollBehavior getScrollBehavior() const { return static_cast<ScrollBehavior >(m_rareNonInheritedData->m_scrollBehavior); } | |
nainar
2016/07/25 07:43:20
rename getScrollBehavior() -> scrollBehavior() in
sashab
2016/07/26 00:38:09
Added TODO
| |
1042 void setScrollBehavior(ScrollBehavior b) { SET_VAR(m_rareNonInheritedData, m _scrollBehavior, b); } | |
1043 // scroll-snap-coordinate | |
nainar
2016/07/25 07:43:25
insert new line before
sashab
2016/07/26 00:38:12
Done
| |
1044 static Vector<LengthPoint> initialScrollSnapCoordinate() { return Vector<Len gthPoint>(); } | |
1045 const Vector<LengthPoint>& scrollSnapCoordinate() const { return m_rareNonIn heritedData->m_scrollSnap->m_coordinates; } | |
1046 void setScrollSnapCoordinate(const Vector<LengthPoint>& b) { SET_NESTED_VAR( m_rareNonInheritedData, m_scrollSnap, m_coordinates, b); } | |
1047 // scroll-snap-destination | |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:10
Done
| |
1048 static LengthPoint initialScrollSnapDestination() { return LengthPoint(Lengt h(0, Fixed), Length(0, Fixed)); } | |
1049 const LengthPoint& scrollSnapDestination() const { return m_rareNonInherited Data->m_scrollSnap->m_destination; } | |
1050 void setScrollSnapDestination(const LengthPoint& b) { SET_NESTED_VAR(m_rareN onInheritedData, m_scrollSnap, m_destination, b); } | |
1051 // scroll-snap-points-x | |
nainar
2016/07/25 07:43:23
insert new line before
sashab
2016/07/26 00:38:07
Done
| |
1052 static ScrollSnapPoints initialScrollSnapPointsX() { return ScrollSnapPoints (); } | |
1053 const ScrollSnapPoints& scrollSnapPointsX() const { return m_rareNonInherite dData->m_scrollSnap->m_xPoints; } | |
1054 void setScrollSnapPointsX(const ScrollSnapPoints& b) { SET_NESTED_VAR(m_rare NonInheritedData, m_scrollSnap, m_xPoints, b); } | |
1055 // scroll-snap-points-y | |
nainar
2016/07/25 07:43:18
insert new line before
sashab
2016/07/26 00:38:12
Done
| |
1056 static ScrollSnapPoints initialScrollSnapPointsY() { return ScrollSnapPoints (); } | |
1057 const ScrollSnapPoints& scrollSnapPointsY() const { return m_rareNonInherite dData->m_scrollSnap->m_yPoints; } | |
1058 void setScrollSnapPointsY(const ScrollSnapPoints& b) { SET_NESTED_VAR(m_rare NonInheritedData, m_scrollSnap, m_yPoints, b); } | |
1059 // scroll-snap-type | |
nainar
2016/07/25 07:43:24
insert new line before
sashab
2016/07/26 00:38:07
Done
| |
1060 static ScrollSnapType initialScrollSnapType() { return ScrollSnapTypeNone; } | |
1061 ScrollSnapType getScrollSnapType() const { return static_cast<ScrollSnapType >(m_rareNonInheritedData->m_scrollSnapType); } | |
nainar
2016/07/25 07:43:26
rename getScrollSnapType() -> scrollSnapType() i
sashab
2016/07/26 00:38:12
Added TODO
| |
1062 void setScrollSnapType(ScrollSnapType b) { SET_VAR(m_rareNonInheritedData, m _scrollSnapType, b); } | |
1063 | |
1064 // shape-image-threshold (aka -webkit-shape-image-threshold) | |
1065 static float initialShapeImageThreshold() { return 0; } | |
1066 float shapeImageThreshold() const { return m_rareNonInheritedData->m_shapeIm ageThreshold; } | |
1067 void setShapeImageThreshold(float shapeImageThreshold) | |
1068 { | |
1069 float clampedShapeImageThreshold = clampTo<float>(shapeImageThreshold, 0 , 1); | |
1070 SET_VAR(m_rareNonInheritedData, m_shapeImageThreshold, clampedShapeImage Threshold); | |
1071 } | |
1072 // shape-margin (aka -webkit-shape-margin) | |
nainar
2016/07/25 07:43:23
insert new line before
sashab
2016/07/26 00:38:12
Done
| |
1073 static Length initialShapeMargin() { return Length(0, Fixed); } | |
1074 const Length& shapeMargin() const { return m_rareNonInheritedData->m_shapeMa rgin; } | |
1075 void setShapeMargin(const Length& shapeMargin) { SET_VAR(m_rareNonInheritedD ata, m_shapeMargin, shapeMargin); } | |
1076 // shape-outside (aka -webkit-shape-outside) | |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:13
Done
| |
1077 static ShapeValue* initialShapeOutside() { return 0; } | |
1078 void setShapeOutside(ShapeValue* value) | |
1079 { | |
1080 if (m_rareNonInheritedData->m_shapeOutside == value) | |
1081 return; | |
1082 m_rareNonInheritedData.access()->m_shapeOutside = value; | |
1083 } | |
1084 ShapeValue* shapeOutside() const { return m_rareNonInheritedData->m_shapeOut side.get(); } | |
nainar
2016/07/25 07:43:19
put before setShapeOutside()
sashab
2016/07/26 00:38:12
Done
| |
1085 | |
1086 // size | |
1087 const FloatSize& pageSize() const { return m_rareNonInheritedData->m_pageSiz e; } | |
1088 PageSizeType getPageSizeType() const { return static_cast<PageSizeType>(m_ra reNonInheritedData->m_pageSizeType); } | |
nainar
2016/07/25 07:43:22
rename getPageSizeType() -> pageSizeType() in an e
sashab
2016/07/26 00:38:13
Done
| |
1089 void setPageSize(const FloatSize& s) { SET_VAR(m_rareNonInheritedData, m_pag eSize, s); } | |
1090 void setPageSizeType(PageSizeType t) { SET_VAR(m_rareNonInheritedData, m_pag eSizeType, t); } | |
1091 // table-layout | |
1092 static ETableLayout initialTableLayout() { return TableLayoutAuto; } | |
1093 ETableLayout tableLayout() const { return static_cast<ETableLayout>(m_nonInh eritedData.m_tableLayout); } | |
1094 void setTableLayout(ETableLayout v) { m_nonInheritedData.m_tableLayout = v; } | |
1095 | |
1096 // Text decoration properties. | |
1097 // text-decoration-line | |
1098 static TextDecoration initialTextDecoration() { return TextDecorationNone; } | |
1099 TextDecoration getTextDecoration() const { return static_cast<TextDecoration >(m_visual->textDecoration); } | |
nainar
2016/07/25 07:43:21
rename getTextDecoration() -> textDecoration() in
sashab
2016/07/26 00:38:08
Added todo
| |
1100 void setTextDecoration(TextDecoration v) { SET_VAR(m_visual, textDecoration, v); } | |
1101 // text-decoration-color | |
nainar
2016/07/25 07:43:25
insert new line before
sashab
2016/07/26 00:38:13
Done.
| |
1102 void setTextDecorationColor(const StyleColor& c) { SET_VAR(m_rareNonInherite dData, m_textDecorationColor, c); } | |
1103 // text-decoration-style | |
nainar
2016/07/25 07:43:24
insert new line before
sashab
2016/07/26 00:38:06
Done.
| |
1104 static TextDecorationStyle initialTextDecorationStyle() { return TextDecorat ionStyleSolid; } | |
1105 TextDecorationStyle getTextDecorationStyle() const { return static_cast<Text DecorationStyle>(m_rareNonInheritedData->m_textDecorationStyle); } | |
nainar
2016/07/25 07:43:24
rename getTextDecorationStyle() -> textDecorationS
sashab
2016/07/26 00:38:06
Done.
sashab
2016/07/26 00:38:09
Done.
| |
1106 void setTextDecorationStyle(TextDecorationStyle v) { SET_VAR(m_rareNonInheri tedData, m_textDecorationStyle, v); } | |
1107 // text-underline-position runtime_flag=CSS3TextDecorations, inherited, type _name=TextUnderlinePosition | |
nainar
2016/07/25 07:43:22
insert new line before
sashab
2016/07/26 00:38:06
Done.
| |
1108 static TextUnderlinePosition initialTextUnderlinePosition() { return TextUnd erlinePositionAuto; } | |
1109 void setTextUnderlinePosition(TextUnderlinePosition v) { SET_VAR(m_rareInher itedData, m_textUnderlinePosition, v); } | |
1110 TextUnderlinePosition getTextUnderlinePosition() const { return static_cast< TextUnderlinePosition>(m_rareInheritedData->m_textUnderlinePosition); } | |
nainar
2016/07/25 07:43:22
a) switch order with setTextUnderlinePosition
b) g
sashab
2016/07/26 00:38:11
Done Done.
| |
1111 | |
1112 // text-overflow | |
1113 static TextOverflow initialTextOverflow() { return TextOverflowClip; } | |
1114 TextOverflow getTextOverflow() const { return static_cast<TextOverflow>(m_ra reNonInheritedData->textOverflow); } | |
nainar
2016/07/25 07:43:24
rename getTextOverflow() -> textOverflow() in an e
sashab
2016/07/26 00:38:11
Done.
| |
1115 void setTextOverflow(TextOverflow overflow) { SET_VAR(m_rareNonInheritedData , textOverflow, overflow); } | |
1116 | |
1117 // touch-action | |
1118 static TouchAction initialTouchAction() { return TouchActionAuto; } | |
1119 TouchAction getTouchAction() const { return static_cast<TouchAction>(m_rareN onInheritedData->m_touchAction); } | |
nainar
2016/07/25 07:43:26
rename getTouchAction() -> touchAction() in an ear
sashab
2016/07/26 00:38:10
Done.
| |
1120 void setTouchAction(TouchAction t) { SET_VAR(m_rareNonInheritedData, m_touch Action, t); } | |
1121 | |
1122 // unicode-bidi | |
1123 static EUnicodeBidi initialUnicodeBidi() { return UBNormal; } | |
1124 EUnicodeBidi unicodeBidi() const { return static_cast<EUnicodeBidi>(m_nonInh eritedData.m_unicodeBidi); } | |
1125 void setUnicodeBidi(EUnicodeBidi b) { m_nonInheritedData.m_unicodeBidi = b; } | |
1126 | |
1127 // vertical-align | |
1128 static EVerticalAlign initialVerticalAlign() { return VerticalAlignBaseline; } | |
1129 EVerticalAlign verticalAlign() const { return static_cast<EVerticalAlign>(m_ nonInheritedData.m_verticalAlign); } | |
1130 const Length& getVerticalAlignLength() const { return m_box->verticalAlign() ; } | |
nainar
2016/07/25 07:43:20
rename getVerticalAlignLength() -> verticalAlignLe
sashab
2016/07/26 00:38:12
Done.
| |
1131 void setVerticalAlign(EVerticalAlign v) { m_nonInheritedData.m_verticalAlign = v; } | |
1132 void setVerticalAlignLength(const Length& length) { setVerticalAlign(Vertica lAlignLength); SET_VAR(m_box, m_verticalAlign, length); } | |
1133 | |
1134 // Exclusions properties. | |
1135 // wrap-flow | |
1136 static WrapFlow initialWrapFlow() { return WrapFlowAuto; } | |
1137 // wrap-through | |
nainar
2016/07/25 07:43:26
insert new line before
sashab
2016/07/26 00:38:11
Done.
| |
1138 static WrapThrough initialWrapThrough() { return WrapThroughWrap; } | |
1139 | |
1140 // will-change | |
1141 const Vector<CSSPropertyID>& willChangeProperties() const { return m_rareNon InheritedData->m_willChange->m_properties; } | |
1142 bool willChangeContents() const { return m_rareNonInheritedData->m_willChang e->m_contents; } | |
1143 bool willChangeScrollPosition() const { return m_rareNonInheritedData->m_wil lChange->m_scrollPosition; } | |
1144 bool subtreeWillChangeContents() const { return m_rareInheritedData->m_subtr eeWillChangeContents; } | |
1145 void setWillChangeProperties(const Vector<CSSPropertyID>& properties) { SET_ NESTED_VAR(m_rareNonInheritedData, m_willChange, m_properties, properties); } | |
1146 void setWillChangeContents(bool b) { SET_NESTED_VAR(m_rareNonInheritedData, m_willChange, m_contents, b); } | |
1147 void setWillChangeScrollPosition(bool b) { SET_NESTED_VAR(m_rareNonInherited Data, m_willChange, m_scrollPosition, b); } | |
1148 void setSubtreeWillChangeContents(bool b) { SET_VAR(m_rareInheritedData, m_s ubtreeWillChangeContents, b); } | |
1149 | |
1150 // z-index | |
1151 int zIndex() const { return m_box->zIndex(); } | |
1152 bool hasAutoZIndex() const { return m_box->hasAutoZIndex(); } | |
1153 void setZIndex(int v) { SET_VAR(m_box, m_hasAutoZIndex, false); SET_VAR(m_bo x, m_zIndex, v); } | |
1154 void setHasAutoZIndex() { SET_VAR(m_box, m_hasAutoZIndex, true); SET_VAR(m_b ox, m_zIndex, 0); } | |
1155 | |
1156 // zoom | |
1157 static float initialZoom() { return 1.0f; } | |
1158 float zoom() const { return m_visual->m_zoom; } | |
1159 float effectiveZoom() const { return m_rareInheritedData->m_effectiveZoom; } | |
1160 bool setZoom(float); | |
1161 bool setEffectiveZoom(float); | |
1162 | |
1163 // -webkit-app-region | |
1164 DraggableRegionMode getDraggableRegionMode() const { return m_rareNonInherit edData->m_draggableRegionMode; } | |
nainar
2016/07/25 07:43:24
rename getDraggableRegionMode() -> draggableRegion
sashab
2016/07/26 00:38:06
Done.
| |
1165 void setDraggableRegionMode(DraggableRegionMode v) { SET_VAR(m_rareNonInheri tedData, m_draggableRegionMode, v); } | |
1166 | |
1167 // -webkit-appearance | |
1168 static ControlPart initialAppearance() { return NoControlPart; } | |
1169 ControlPart appearance() const { return static_cast<ControlPart>(m_rareNonIn heritedData->m_appearance); } | |
1170 void setAppearance(ControlPart a) { SET_VAR(m_rareNonInheritedData, m_appear ance, a); } | |
1171 | |
1172 // -webkit-clip-path | |
1173 static ClipPathOperation* initialClipPath() { return 0; } | |
1174 ClipPathOperation* clipPath() const { return m_rareNonInheritedData->m_clipP ath.get(); } | |
1175 void setClipPath(PassRefPtr<ClipPathOperation> operation) | |
1176 { | |
1177 if (m_rareNonInheritedData->m_clipPath != operation) | |
1178 m_rareNonInheritedData.access()->m_clipPath = operation; | |
1179 } | |
1180 | |
1181 // Mask properties. | |
1182 // -webkit-mask-box-image-outset | |
1183 const BorderImageLengthBox& maskBoxImageOutset() const { return m_rareNonInh eritedData->m_maskBoxImage.outset(); } | |
1184 void setMaskBoxImageOutset(const BorderImageLengthBox& outset) | |
1185 { | |
1186 m_rareNonInheritedData.access()->m_maskBoxImage.setOutset(outset); | |
1187 } | |
1188 | |
1189 // -webkit-mask-box-image-repeat | |
nainar
2016/07/25 07:43:25
why have this here if there are no methods?
sashab
2016/07/26 00:38:10
Done.
| |
1190 // -webkit-mask-box-image-slice | |
1191 const LengthBox& maskBoxImageSlices() const { return m_rareNonInheritedData- >m_maskBoxImage.imageSlices(); } | |
1192 void setMaskBoxImageSlices(const LengthBox& slices) | |
1193 { | |
1194 m_rareNonInheritedData.access()->m_maskBoxImage.setImageSlices(slices); | |
1195 } | |
1196 // -webkit-mask-box-image-source | |
nainar
2016/07/25 07:43:26
insert new line before
sashab
2016/07/26 00:38:06
Done.
sashab
2016/07/26 00:38:09
Done.
| |
1197 static StyleImage* initialMaskBoxImageSource() { return 0; } | |
1198 StyleImage* maskBoxImageSource() const { return m_rareNonInheritedData->m_ma skBoxImage.image(); } | |
1199 void setMaskBoxImageSource(StyleImage* v) { m_rareNonInheritedData.access()- >m_maskBoxImage.setImage(v); } | |
1200 // -webkit-mask-box-image-width | |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:11
Done.
| |
1201 const BorderImageLengthBox& maskBoxImageWidth() const { return m_rareNonInhe ritedData->m_maskBoxImage.borderSlices(); } | |
1202 void setMaskBoxImageWidth(const BorderImageLengthBox& slices) | |
1203 { | |
1204 m_rareNonInheritedData.access()->m_maskBoxImage.setBorderSlices(slices); | |
1205 } | |
1206 | |
1207 // Inherited properties. | |
1208 | |
1209 // border-collapse | |
1210 static EBorderCollapse initialBorderCollapse() { return BorderCollapseSepara te; } | |
1211 EBorderCollapse borderCollapse() const { return static_cast<EBorderCollapse> (m_inheritedData.m_borderCollapse); } | |
1212 void setBorderCollapse(EBorderCollapse collapse) { m_inheritedData.m_borderC ollapse = collapse; } | |
1213 | |
1214 // Border-spacing properties. | |
1215 // -webkit-border-horizontal-spacing | |
1216 static short initialHorizontalBorderSpacing() { return 0; } | |
1217 short horizontalBorderSpacing() const; | |
1218 void setHorizontalBorderSpacing(short); | |
1219 // -webkit-border-vertical-spacing | |
1220 static short initialVerticalBorderSpacing() { return 0; } | |
1221 short verticalBorderSpacing() const; | |
1222 void setVerticalBorderSpacing(short); | |
1223 | |
1224 // caption-side (aka -epub-caption-side) | |
1225 static ECaptionSide initialCaptionSide() { return CaptionSideTop; } | |
1226 ECaptionSide captionSide() const { return static_cast<ECaptionSide>(m_inheri tedData.m_captionSide); } | |
1227 void setCaptionSide(ECaptionSide v) { m_inheritedData.m_captionSide = v; } | |
1228 | |
1229 // cursor | |
1230 static ECursor initialCursor() { return CURSOR_AUTO; } | |
1231 ECursor cursor() const { return static_cast<ECursor>(m_inheritedData.m_curso rStyle); } | |
1232 void setCursor(ECursor c) { m_inheritedData.m_cursorStyle = c; } | |
1233 | |
1234 // direction | |
1235 static TextDirection initialDirection() { return LTR; } | |
1236 TextDirection direction() const { return static_cast<TextDirection>(m_inheri tedData.m_direction); } | |
1237 void setDirection(TextDirection v) { m_inheritedData.m_direction = v; } | |
1238 | |
1239 // empty-cells | |
1240 static EEmptyCells initialEmptyCells() { return EmptyCellsShow; } | |
1241 EEmptyCells emptyCells() const { return static_cast<EEmptyCells>(m_inherited Data.m_emptyCells); } | |
1242 void setEmptyCells(EEmptyCells v) { m_inheritedData.m_emptyCells = v; } | |
1243 | |
1244 // color | |
1245 static Color initialColor() { return Color::black; } | |
1246 void setColor(const Color&); | |
1247 | |
1248 // hyphens | |
1249 static Hyphens initialHyphens() { return HyphensManual; } | |
1250 Hyphens getHyphens() const { return static_cast<Hyphens>(m_rareInheritedData ->hyphens); } | |
nainar
2016/07/25 07:43:25
rename getHyphens() -> hyphens() in an earlier pat
sashab
2016/07/26 00:38:09
Done.
| |
1251 void setHyphens(Hyphens h) { SET_VAR(m_rareInheritedData, hyphens, h); } | |
1252 // -webkit-hyphenate-character | |
nainar
2016/07/25 07:43:20
insert new line before
sashab
2016/07/26 00:38:10
Done.
| |
1253 static const AtomicString& initialHyphenationString() { return nullAtom; } | |
1254 const AtomicString& hyphenationString() const { return m_rareInheritedData-> hyphenationString; } | |
1255 void setHyphenationString(const AtomicString& h) { SET_VAR(m_rareInheritedDa ta, hyphenationString, h); } | |
1256 | |
1257 // line-height | |
1258 static Length initialLineHeight() { return Length(-100.0, Percent); } | |
1259 Length lineHeight() const; | |
1260 void setLineHeight(const Length& specifiedLineHeight); | |
1261 | |
1262 // List style properties. | |
1263 // list-style-type | |
1264 static EListStyleType initialListStyleType() { return Disc; } | |
1265 EListStyleType listStyleType() const { return static_cast<EListStyleType>(m_ inheritedData.m_listStyleType); } | |
1266 void setListStyleType(EListStyleType v) { m_inheritedData.m_listStyleType = v; } | |
1267 // list-style-position | |
nainar
2016/07/25 07:43:22
insert new line before
sashab
2016/07/26 00:38:08
Done.
| |
1268 static EListStylePosition initialListStylePosition() { return ListStylePosit ionOutside; } | |
1269 EListStylePosition listStylePosition() const { return static_cast<EListStyle Position>(m_inheritedData.m_listStylePosition); } | |
1270 void setListStylePosition(EListStylePosition v) { m_inheritedData.m_listStyl ePosition = v; } | |
1271 // list-style-image | |
nainar
2016/07/25 07:43:23
insert new line before
sashab
2016/07/26 00:38:11
Done.
| |
1272 static StyleImage* initialListStyleImage() { return 0; } | |
1273 StyleImage* listStyleImage() const; | |
1274 void setListStyleImage(StyleImage*); | |
1275 | |
1276 // orphans | |
1277 static short initialOrphans() { return 2; } | |
1278 short orphans() const { return m_rareInheritedData->orphans; } | |
1279 void setOrphans(short o) { SET_VAR(m_rareInheritedData, orphans, o); } | |
1280 // widows | |
nainar
2016/07/25 07:43:20
insert new line before
sashab
2016/07/26 00:38:08
Done.
| |
1281 static short initialWidows() { return 2; } | |
1282 short widows() const { return m_rareInheritedData->widows; } | |
1283 void setWidows(short w) { SET_VAR(m_rareInheritedData, widows, w); } | |
1284 | |
1285 // overflow-wrap (aka word-wrap) | |
1286 static EOverflowWrap initialOverflowWrap() { return NormalOverflowWrap; } | |
1287 EOverflowWrap overflowWrap() const { return static_cast<EOverflowWrap>(m_rar eInheritedData->overflowWrap); } | |
1288 void setOverflowWrap(EOverflowWrap b) { SET_VAR(m_rareInheritedData, overflo wWrap, b); } | |
1289 | |
1290 // pointer-events | |
1291 static EPointerEvents initialPointerEvents() { return PE_AUTO; } | |
1292 EPointerEvents pointerEvents() const { return static_cast<EPointerEvents>(m_ inheritedData.m_pointerEvents); } | |
1293 void setPointerEvents(EPointerEvents p) { m_inheritedData.m_pointerEvents = p; } | |
1294 | |
1295 // quotes | |
1296 static QuotesData* initialQuotes() { return 0; } | |
1297 QuotesData* quotes() const { return m_rareInheritedData->quotes.get(); } | |
1298 void setQuotes(PassRefPtr<QuotesData>); | |
1299 | |
1300 // snap-height | |
1301 // TODO(sashab): Store these as a single struct. | |
1302 uint8_t snapHeightPosition() const { return m_rareInheritedData->m_snapHeigh tPosition; } | |
1303 uint8_t snapHeightUnit() const { return m_rareInheritedData->m_snapHeightUni t; } | |
1304 void setSnapHeightPosition(uint8_t position) { SET_VAR(m_rareInheritedData, m_snapHeightPosition, position); } | |
1305 void setSnapHeightUnit(uint8_t unit) { SET_VAR(m_rareInheritedData, m_snapHe ightUnit, unit); } | |
1306 | |
1307 // speak | |
1308 static ESpeak initialSpeak() { return SpeakNormal; } | |
1309 ESpeak speak() const { return static_cast<ESpeak>(m_rareInheritedData->speak ); } | |
1310 void setSpeak(ESpeak s) { SET_VAR(m_rareInheritedData, speak, s); } | |
1311 | |
1312 // tab-size | |
1313 static TabSize initialTabSize() { return TabSize(8); } | |
1314 TabSize getTabSize() const { return m_rareInheritedData->m_tabSize; } | |
nainar
2016/07/25 07:43:23
rename getTabSize() ->tabSize() in an earlier patc
sashab
2016/07/26 00:38:12
Done.
| |
1315 void setTabSize(TabSize size) { SET_VAR(m_rareInheritedData, m_tabSize, size ); } | |
1316 | |
1317 // text-align | |
1318 static ETextAlign initialTextAlign() { return TASTART; } | |
1319 ETextAlign textAlign() const { return static_cast<ETextAlign>(m_inheritedDat a.m_textAlign); } | |
1320 void setTextAlign(ETextAlign v) { m_inheritedData.m_textAlign = v; } | |
1321 // text-align-last | |
nainar
2016/07/25 07:43:22
insert new line before
sashab
2016/07/26 00:38:11
Done.
| |
1322 static TextAlignLast initialTextAlignLast() { return TextAlignLastAuto; } | |
1323 TextAlignLast getTextAlignLast() const { return static_cast<TextAlignLast>(m _rareInheritedData->m_textAlignLast); } | |
nainar
2016/07/25 07:43:19
rename getTextAlignLast() ->textAlignLast() in an
sashab
2016/07/26 00:38:07
Done.
| |
1324 void setTextAlignLast(TextAlignLast v) { SET_VAR(m_rareInheritedData, m_text AlignLast, v); } | |
1325 | |
1326 // text-combine-upright (aka -webkit-text-combine, -epub-text-combine) | |
1327 static TextCombine initialTextCombine() { return TextCombineNone; } | |
1328 TextCombine getTextCombine() const { return static_cast<TextCombine>(m_rareI nheritedData->m_textCombine); } | |
nainar
2016/07/25 07:43:23
rename getTextCombine() -> textCombine() in an ear
sashab
2016/07/26 00:38:13
Done.
| |
1329 void setTextCombine(TextCombine v) { SET_VAR(m_rareInheritedData, m_textComb ine, v); } | |
1330 | |
1331 // text-indent | |
1332 static Length initialTextIndent() { return Length(Fixed); } | |
1333 static TextIndentLine initialTextIndentLine() { return TextIndentFirstLine; } | |
1334 static TextIndentType initialTextIndentType() { return TextIndentNormal; } | |
1335 const Length& textIndent() const { return m_rareInheritedData->indent; } | |
1336 TextIndentLine getTextIndentLine() const { return static_cast<TextIndentLine >(m_rareInheritedData->m_textIndentLine); } | |
nainar
2016/07/25 07:43:27
rename getTextIndentLine() -> textIndentLine() in
sashab
2016/07/26 00:38:06
Done.
| |
1337 TextIndentType getTextIndentType() const { return static_cast<TextIndentType >(m_rareInheritedData->m_textIndentType); } | |
nainar
2016/07/25 07:43:20
rename getTextIndentType() -> textIndentType() in
sashab
2016/07/26 00:38:09
Done.
| |
1338 void setTextIndent(const Length& v) { SET_VAR(m_rareInheritedData, indent, v ); } | |
1339 void setTextIndentLine(TextIndentLine v) { SET_VAR(m_rareInheritedData, m_te xtIndentLine, v); } | |
1340 void setTextIndentType(TextIndentType v) { SET_VAR(m_rareInheritedData, m_te xtIndentType, v); } | |
1341 | |
1342 // text-justify | |
1343 static TextJustify initialTextJustify() { return TextJustifyAuto; } | |
1344 TextJustify getTextJustify() const { return static_cast<TextJustify>(m_rareI nheritedData->m_textJustify); } | |
nainar
2016/07/25 07:43:25
rename getTextJustify() -> textJustify() in an ear
sashab
2016/07/26 00:38:12
Done.
| |
1345 void setTextJustify(TextJustify v) { SET_VAR(m_rareInheritedData, m_textJust ify, v); } | |
1346 | |
1347 // text-orientation (aka -webkit-text-orientation, -epub-text-orientation) | |
1348 static TextOrientation initialTextOrientation() { return TextOrientationMixe d; } | |
1349 TextOrientation getTextOrientation() const { return static_cast<TextOrientat ion>(m_rareInheritedData->m_textOrientation); } | |
nainar
2016/07/25 07:43:20
rename getTextOrientation() -> textOrientation() i
sashab
2016/07/26 00:38:13
Done.
| |
1350 bool setTextOrientation(TextOrientation); | |
1351 | |
1352 // text-shadow | |
1353 static ShadowList* initialTextShadow() { return 0; } | |
781 ShadowList* textShadow() const { return m_rareInheritedData->textShadow.get( ); } | 1354 ShadowList* textShadow() const { return m_rareInheritedData->textShadow.get( ); } |
782 | 1355 void setTextShadow(PassRefPtr<ShadowList>); |
1356 | |
1357 // text-size-adjust (aka -webkit-text-size-adjust) | |
1358 static TextSizeAdjust initialTextSizeAdjust() { return TextSizeAdjust::adjus tAuto(); } | |
1359 TextSizeAdjust getTextSizeAdjust() const { return m_rareInheritedData->m_tex tSizeAdjust; } | |
1360 void setTextSizeAdjust(TextSizeAdjust sizeAdjust) { SET_VAR(m_rareInheritedD ata, m_textSizeAdjust, sizeAdjust); } | |
1361 | |
1362 // text-transform (aka -epub-text-transform) | |
1363 static ETextTransform initialTextTransform() { return TTNONE; } | |
1364 ETextTransform textTransform() const { return static_cast<ETextTransform>(m_ inheritedData.m_textTransform); } | |
1365 void setTextTransform(ETextTransform v) { m_inheritedData.m_textTransform = v; } | |
1366 | |
1367 // visibility | |
1368 static EVisibility initialVisibility() { return VISIBLE; } | |
1369 void setVisibility(EVisibility v) { m_inheritedData.m_visibility = v; } | |
nainar
2016/07/25 07:43:21
put after visibility()
sashab
2016/07/26 00:38:06
Done!! Ty
| |
1370 EVisibility visibility() const { return static_cast<EVisibility>(m_inherited Data.m_visibility); } | |
1371 | |
1372 // white-space inherited | |
1373 static EWhiteSpace initialWhiteSpace() { return NORMAL; } | |
1374 EWhiteSpace whiteSpace() const { return static_cast<EWhiteSpace>(m_inherited Data.m_whiteSpace); } | |
1375 void setWhiteSpace(EWhiteSpace v) { m_inheritedData.m_whiteSpace = v; } | |
1376 | |
1377 // word-break inherited (aka -epub-word-break) | |
1378 static EWordBreak initialWordBreak() { return NormalWordBreak; } | |
1379 EWordBreak wordBreak() const { return static_cast<EWordBreak>(m_rareInherite dData->wordBreak); } | |
1380 void setWordBreak(EWordBreak b) { SET_VAR(m_rareInheritedData, wordBreak, b) ; } | |
1381 | |
1382 // -webkit-line-break | |
1383 static LineBreak initialLineBreak() { return LineBreakAuto; } | |
1384 LineBreak getLineBreak() const { return static_cast<LineBreak>(m_rareInherit edData->lineBreak); } | |
nainar
2016/07/25 07:43:23
rename getLineBreak() -> lineBreak() in an earlier
sashab
2016/07/26 00:38:11
Done.
| |
1385 void setLineBreak(LineBreak b) { SET_VAR(m_rareInheritedData, lineBreak, b); } | |
1386 | |
1387 // writing-mode (aka -webkit-writing-mode, -epub-writing-mode) | |
1388 static WritingMode initialWritingMode() { return TopToBottomWritingMode; } | |
1389 WritingMode getWritingMode() const { return static_cast<WritingMode>(m_inher itedData.m_writingMode); } | |
nainar
2016/07/25 07:43:21
rename getWritingMode() -> writingMode() in an ear
sashab
2016/07/26 00:38:12
Done.
| |
1390 bool setWritingMode(WritingMode v) | |
1391 { | |
1392 if (v == getWritingMode()) | |
1393 return false; | |
1394 | |
1395 m_inheritedData.m_writingMode = v; | |
1396 return true; | |
1397 } | |
1398 | |
1399 // Text emphasis properties. | |
1400 static TextEmphasisFill initialTextEmphasisFill() { return TextEmphasisFillF illed; } | |
1401 static TextEmphasisMark initialTextEmphasisMark() { return TextEmphasisMarkN one; } | |
1402 static const AtomicString& initialTextEmphasisCustomMark() { return nullAtom ; } | |
1403 TextEmphasisFill getTextEmphasisFill() const { return static_cast<TextEmphas isFill>(m_rareInheritedData->textEmphasisFill); } | |
nainar
2016/07/25 07:43:25
rename all getTextEmphasis*() -> textEmphasis*() i
sashab
2016/07/26 00:38:07
Done.
| |
1404 TextEmphasisMark getTextEmphasisMark() const; | |
1405 const AtomicString& textEmphasisCustomMark() const { return m_rareInheritedD ata->textEmphasisCustomMark; } | |
1406 const AtomicString& textEmphasisMarkString() const; | |
1407 void setTextEmphasisFill(TextEmphasisFill fill) { SET_VAR(m_rareInheritedDat a, textEmphasisFill, fill); } | |
1408 void setTextEmphasisMark(TextEmphasisMark mark) { SET_VAR(m_rareInheritedDat a, textEmphasisMark, mark); } | |
1409 void setTextEmphasisCustomMark(const AtomicString& mark) { SET_VAR(m_rareInh eritedData, textEmphasisCustomMark, mark); } | |
1410 // -webkit-text-emphasis-color (aka -epub-text-emphasis-color) | |
nainar
2016/07/25 07:43:22
insert new line before
sashab
2016/07/26 00:38:06
Done.
| |
1411 void setTextEmphasisColor(const StyleColor& c) { SET_VAR_WITH_SETTER(m_rareI nheritedData, textEmphasisColor, setTextEmphasisColor, c); } | |
1412 // -webkit-text-emphasis-position | |
nainar
2016/07/25 07:43:23
insert new line before
sashab
2016/07/26 00:38:09
Done.
| |
1413 static TextEmphasisPosition initialTextEmphasisPosition() { return TextEmpha sisPositionOver; } | |
1414 TextEmphasisPosition getTextEmphasisPosition() const { return static_cast<Te xtEmphasisPosition>(m_rareInheritedData->textEmphasisPosition); } | |
nainar
2016/07/25 07:43:25
rename getTextEmphasisPosition() -> textEmphasisPo
sashab
2016/07/26 00:38:07
Done.
| |
1415 void setTextEmphasisPosition(TextEmphasisPosition position) { SET_VAR(m_rare InheritedData, textEmphasisPosition, position); } | |
1416 | |
1417 // -webkit-box-direction | |
1418 static EBoxDirection initialBoxDirection() { return BNORMAL; } | |
1419 EBoxDirection boxDirection() const { return static_cast<EBoxDirection>(m_inh eritedData.m_boxDirection); } | |
1420 void setBoxDirection(EBoxDirection d) { m_inheritedData.m_boxDirection = d; } | |
1421 | |
1422 // -webkit-highlight | |
1423 static const AtomicString& initialHighlight() { return nullAtom; } | |
1424 const AtomicString& highlight() const { return m_rareInheritedData->highligh t; } | |
1425 void setHighlight(const AtomicString& h) { SET_VAR(m_rareInheritedData, high light, h); } | |
1426 | |
1427 // -webkit-line-clamp | |
1428 static LineClampValue initialLineClamp() { return LineClampValue(); } | |
1429 const LineClampValue& lineClamp() const { return m_rareNonInheritedData->lin eClamp; } | |
1430 void setLineClamp(LineClampValue c) { SET_VAR(m_rareNonInheritedData, lineCl amp, c); } | |
1431 | |
1432 // -webkit-print-color-adjust | |
1433 static PrintColorAdjust initialPrintColorAdjust() { return PrintColorAdjustE conomy; } | |
1434 PrintColorAdjust getPrintColorAdjust() const { return static_cast<PrintColor Adjust>(m_inheritedData.m_printColorAdjust); } | |
nainar
2016/07/25 07:43:24
rename getPrintColorAdjust() -> printColorAdjust()
sashab
2016/07/26 00:38:08
Done.
| |
1435 void setPrintColorAdjust(PrintColorAdjust value) { m_inheritedData.m_printCo lorAdjust = value; } | |
1436 | |
1437 // -webkit-rtl-ordering | |
1438 static Order initialRTLOrdering() { return LogicalOrder; } | |
1439 Order rtlOrdering() const { return static_cast<Order>(m_inheritedData.m_rtlO rdering); } | |
1440 void setRTLOrdering(Order o) { m_inheritedData.m_rtlOrdering = o; } | |
1441 | |
1442 // -webkit-ruby-position | |
1443 static RubyPosition initialRubyPosition() { return RubyPositionBefore; } | |
1444 void setRubyPosition(RubyPosition position) { SET_VAR(m_rareInheritedData, m _rubyPosition, position); } | |
1445 RubyPosition getRubyPosition() const { return static_cast<RubyPosition>(m_ra reInheritedData->m_rubyPosition); } | |
nainar
2016/07/25 07:43:25
a) put this before the setter
b) rename getRubyPos
sashab
2016/07/26 00:38:09
Done.
| |
1446 | |
1447 // -webkit-tap-highlight-color | |
1448 static Color initialTapHighlightColor(); | |
1449 void setTapHighlightColor(const Color& c) { SET_VAR(m_rareInheritedData, tap HighlightColor, c); } | |
1450 Color tapHighlightColor() const { return m_rareInheritedData->tapHighlightCo lor; } | |
nainar
2016/07/25 07:43:22
put this before the setter
sashab
2016/07/26 00:38:07
Done.
| |
1451 | |
1452 // -webkit-text-fill-color | |
1453 void setTextFillColor(const StyleColor& c) { SET_VAR_WITH_SETTER(m_rareInher itedData, textFillColor, setTextFillColor, c); } | |
1454 | |
1455 // -webkit-text-security | |
1456 static ETextSecurity initialTextSecurity() { return TSNONE; } | |
1457 ETextSecurity textSecurity() const { return static_cast<ETextSecurity>(m_rar eInheritedData->textSecurity); } | |
1458 void setTextSecurity(ETextSecurity aTextSecurity) { SET_VAR(m_rareInheritedD ata, textSecurity, aTextSecurity); } | |
1459 | |
1460 // -webkit-text-stroke-color | |
1461 void setTextStrokeColor(const StyleColor& c) { SET_VAR_WITH_SETTER(m_rareInh eritedData, textStrokeColor, setTextStrokeColor, c); } | |
1462 // -webkit-text-stroke-width | |
nainar
2016/07/25 07:43:18
insert new line before
sashab
2016/07/26 00:38:07
Done.
sashab
2016/07/26 00:38:08
Done.
| |
1463 static float initialTextStrokeWidth() { return 0; } | |
783 float textStrokeWidth() const { return m_rareInheritedData->textStrokeWidth; } | 1464 float textStrokeWidth() const { return m_rareInheritedData->textStrokeWidth; } |
784 float opacity() const { return m_rareNonInheritedData->opacity; } | 1465 void setTextStrokeWidth(float w) { SET_VAR(m_rareInheritedData, textStrokeWi dth, w); } |
785 bool hasOpacity() const { return opacity() < 1.0f; } | 1466 |
786 ControlPart appearance() const { return static_cast<ControlPart>(m_rareNonIn heritedData->m_appearance); } | 1467 // -webkit-user-drag |
787 EBoxAlignment boxAlign() const { return static_cast<EBoxAlignment>(m_rareNon InheritedData->m_deprecatedFlexibleBox->align); } | 1468 static EUserDrag initialUserDrag() { return DRAG_AUTO; } |
788 EBoxDirection boxDirection() const { return static_cast<EBoxDirection>(m_inh eritedData.m_boxDirection); } | 1469 EUserDrag userDrag() const { return static_cast<EUserDrag>(m_rareNonInherite dData->userDrag); } |
789 float boxFlex() const { return m_rareNonInheritedData->m_deprecatedFlexibleB ox->flex; } | 1470 void setUserDrag(EUserDrag d) { SET_VAR(m_rareNonInheritedData, userDrag, d) ; } |
790 unsigned boxFlexGroup() const { return m_rareNonInheritedData->m_deprecatedF lexibleBox->flexGroup; } | 1471 // -webkit-user-modify |
nainar
2016/07/25 07:43:23
insert new line before
sashab
2016/07/26 00:38:08
Done.
| |
791 EBoxLines boxLines() const { return static_cast<EBoxLines>(m_rareNonInherite dData->m_deprecatedFlexibleBox->lines); } | 1472 static EUserModify initialUserModify() { return READ_ONLY; } |
792 unsigned boxOrdinalGroup() const { return m_rareNonInheritedData->m_deprecat edFlexibleBox->ordinalGroup; } | 1473 EUserModify userModify() const { return static_cast<EUserModify>(m_rareInher itedData->userModify); } |
793 EBoxOrient boxOrient() const { return static_cast<EBoxOrient>(m_rareNonInher itedData->m_deprecatedFlexibleBox->orient); } | 1474 void setUserModify(EUserModify u) { SET_VAR(m_rareInheritedData, userModify, u); } |
794 EBoxPack boxPack() const { return static_cast<EBoxPack>(m_rareNonInheritedDa ta->m_deprecatedFlexibleBox->pack); } | 1475 // -webkit-user-select |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:10
Done.
| |
795 | 1476 static EUserSelect initialUserSelect() { return SELECT_TEXT; } |
796 int order() const { return m_rareNonInheritedData->m_order; } | 1477 EUserSelect userSelect() const { return static_cast<EUserSelect>(m_rareInher itedData->userSelect); } |
1478 void setUserSelect(EUserSelect s) { SET_VAR(m_rareInheritedData, userSelect, s); } | |
1479 | |
1480 // Font properties. | |
1481 const Font& font() const; | |
1482 void setFont(const Font&); | |
1483 const FontMetrics& getFontMetrics() const; | |
1484 const FontDescription& getFontDescription() const; | |
1485 | |
1486 // font-size | |
1487 int fontSize() const; | |
1488 float specifiedFontSize() const; | |
1489 float computedFontSize() const; | |
1490 // font-size-adjust | |
nainar
2016/07/25 07:43:22
insert new line before
sashab
2016/07/26 00:38:11
Done.
| |
1491 float fontSizeAdjust() const; | |
1492 bool hasFontSizeAdjust() const; | |
1493 // font-weight | |
nainar
2016/07/25 07:43:24
insert new line before
sashab
2016/07/26 00:38:12
Done.
| |
1494 FontWeight fontWeight() const; | |
1495 // font-stretch | |
1496 FontStretch fontStretch() const; | |
1497 bool setFontDescription(const FontDescription&); | |
nainar
2016/07/25 07:43:24
insert new line before
sashab
2016/07/26 00:38:10
Done, and moved setfontdescription up to the top
| |
1498 | |
1499 // -webkit-locale | |
1500 const AtomicString& locale() const { return getFontDescription().locale(fals e); } | |
1501 | |
1502 // FIXME: Remove these two and replace them with respective FontBuilder call s. | |
1503 // letter-spacing | |
1504 static float initialLetterWordSpacing() { return 0.0f; } | |
nainar
2016/07/25 07:43:24
should this be initialLetterSpacing() ?
sashab
2016/07/26 00:38:09
It's used for both. :)
| |
1505 float letterSpacing() const; | |
1506 void setLetterSpacing(float); | |
1507 // word-spacing | |
nainar
2016/07/25 07:43:26
insert new line before
sashab
2016/07/26 00:38:13
Done and fixed up FIXME to be clearer.
| |
1508 float wordSpacing() const; | |
1509 void setWordSpacing(float); | |
1510 | |
1511 // SVG properties. | |
1512 const SVGComputedStyle& svgStyle() const { return *m_svgStyle.get(); } | |
1513 SVGComputedStyle& accessSVGStyle() { return *m_svgStyle.access(); } | |
1514 | |
1515 // baseline-shift | |
1516 EBaselineShift baselineShift() const { return svgStyle().baselineShift(); } | |
1517 const Length& baselineShiftValue() const { return svgStyle().baselineShiftVa lue(); } | |
1518 void setBaselineShiftValue(const Length& value) | |
1519 { | |
1520 SVGComputedStyle& svgStyle = accessSVGStyle(); | |
1521 svgStyle.setBaselineShift(BS_LENGTH); | |
1522 svgStyle.setBaselineShiftValue(value); | |
1523 } | |
1524 | |
1525 // cx | |
1526 void setCx(const Length& cx) { accessSVGStyle().setCx(cx); } | |
1527 // cy | |
1528 void setCy(const Length& cy) { accessSVGStyle().setCy(cy); } | |
1529 // d | |
1530 void setD(PassRefPtr<StylePath> d) { accessSVGStyle().setD(d); } | |
1531 // x | |
1532 void setX(const Length& x) { accessSVGStyle().setX(x); } | |
1533 // y | |
1534 void setY(const Length& y) { accessSVGStyle().setY(y); } | |
1535 // r | |
1536 void setR(const Length& r) { accessSVGStyle().setR(r); } | |
1537 // rx | |
1538 void setRx(const Length& rx) { accessSVGStyle().setRx(rx); } | |
1539 // ry | |
1540 void setRy(const Length& ry) { accessSVGStyle().setRy(ry); } | |
sashab
2016/07/26 00:38:12
Added newlines before each of these.
| |
1541 | |
1542 // fill-opacity | |
1543 float fillOpacity() const { return svgStyle().fillOpacity(); } | |
1544 void setFillOpacity(float f) { accessSVGStyle().setFillOpacity(f); } | |
1545 | |
1546 // Fill utiltiy functions. | |
1547 const SVGPaintType& fillPaintType() const { return svgStyle().fillPaintType( ); } | |
1548 Color fillPaintColor() const { return svgStyle().fillPaintColor(); } | |
1549 | |
1550 // stop-color | |
1551 void setStopColor(const Color& c) { accessSVGStyle().setStopColor(c); } | |
1552 // flood-color | |
nainar
2016/07/25 07:43:25
insert new line before
sashab
2016/07/26 00:38:08
Done.
| |
1553 void setFloodColor(const Color& c) { accessSVGStyle().setFloodColor(c); } | |
1554 // lighting-color | |
nainar
2016/07/25 07:43:21
insert new line before
sashab
2016/07/26 00:38:06
Done.
| |
1555 void setLightingColor(const Color& c) { accessSVGStyle().setLightingColor(c) ; } | |
1556 | |
1557 // flood-opacity | |
1558 float floodOpacity() const { return svgStyle().floodOpacity(); } | |
1559 void setFloodOpacity(float f) { accessSVGStyle().setFloodOpacity(f); } | |
1560 | |
1561 // stop-opacity | |
1562 float stopOpacity() const { return svgStyle().stopOpacity(); } | |
1563 void setStopOpacity(float f) { accessSVGStyle().setStopOpacity(f); } | |
1564 | |
1565 // stroke | |
1566 const SVGPaintType& strokePaintType() const { return svgStyle().strokePaintT ype(); } | |
1567 Color strokePaintColor() const { return svgStyle().strokePaintColor(); } | |
1568 // stroke-dasharray | |
nainar
2016/07/25 07:43:25
insert new line before
sashab
2016/07/26 00:38:12
Done.
| |
1569 SVGDashArray* strokeDashArray() const { return svgStyle().strokeDashArray(); } | |
1570 void setStrokeDashArray(PassRefPtr<SVGDashArray> array) { accessSVGStyle().s etStrokeDashArray(array); } | |
1571 // stroke-dashoffset | |
nainar
2016/07/25 07:43:27
insert new line before
sashab
2016/07/26 00:38:08
Done.
| |
1572 const Length& strokeDashOffset() const { return svgStyle().strokeDashOffset( ); } | |
1573 void setStrokeDashOffset(const Length& d) { accessSVGStyle().setStrokeDashOf fset(d); } | |
1574 // stroke-miterlimit | |
nainar
2016/07/25 07:43:19
insert new line before
sashab
2016/07/26 00:38:08
Done.
| |
1575 float strokeMiterLimit() const { return svgStyle().strokeMiterLimit(); } | |
1576 void setStrokeMiterLimit(float f) { accessSVGStyle().setStrokeMiterLimit(f); } | |
1577 // stroke-opacity | |
nainar
2016/07/25 07:43:26
insert new line before
sashab
2016/07/26 00:38:09
Done.
| |
1578 float strokeOpacity() const { return svgStyle().strokeOpacity(); } | |
1579 void setStrokeOpacity(float f) { accessSVGStyle().setStrokeOpacity(f); } | |
1580 // stroke-width | |
nainar
2016/07/25 07:43:19
insert new line before
sashab
2016/07/26 00:38:10
Done.
| |
1581 const UnzoomedLength& strokeWidth() const { return svgStyle().strokeWidth(); } | |
1582 void setStrokeWidth(const UnzoomedLength& w) { accessSVGStyle().setStrokeWid th(w); } | |
1583 | |
1584 // Comparison operators | |
1585 bool operator==(const ComputedStyle& other) const; | |
1586 bool operator!=(const ComputedStyle& other) const { return !(*this == other) ; } | |
1587 | |
1588 bool inheritedEqual(const ComputedStyle&) const; | |
1589 bool nonInheritedEqual(const ComputedStyle&) const; | |
1590 bool loadingCustomFontsEqual(const ComputedStyle&) const; | |
1591 bool inheritedDataShared(const ComputedStyle&) const; | |
1592 | |
1593 bool hasChildDependentFlags() const { return emptyState() || hasExplicitlyIn heritedProperties(); } | |
1594 void copyChildDependentFlagsFrom(const ComputedStyle&); | |
1595 | |
1596 // Counters. | |
1597 const CounterDirectiveMap* counterDirectives() const; | |
1598 CounterDirectiveMap& accessCounterDirectives(); | |
1599 const CounterDirectives getCounterDirectives(const AtomicString& identifier) const; | |
1600 void clearIncrementDirectives(); | |
1601 void clearResetDirectives(); | |
1602 | |
1603 // Variables. | |
1604 static StyleVariableData* initialVariables() { return nullptr; } | |
1605 StyleVariableData* variables() const; | |
1606 void setVariable(const AtomicString&, PassRefPtr<CSSVariableData>); | |
1607 void removeVariable(const AtomicString&); | |
1608 void setHasVariableReferenceFromNonInheritedProperty() { m_nonInheritedData. m_variableReference = true; } | |
1609 bool hasVariableReferenceFromNonInheritedProperty() const { return m_nonInhe ritedData.m_variableReference; } | |
1610 | |
1611 // Animations. | |
1612 CSSAnimationData& accessAnimations(); | |
1613 const CSSAnimationData* animations() const { return m_rareNonInheritedData-> m_animations.get(); } | |
1614 | |
1615 // Transitions. | |
1616 const CSSTransitionData* transitions() const { return m_rareNonInheritedData ->m_transitions.get(); } | |
1617 CSSTransitionData& accessTransitions(); | |
1618 | |
1619 // Callback selectors. | |
797 const Vector<String>& callbackSelectors() const { return m_rareNonInheritedD ata->m_callbackSelectors; } | 1620 const Vector<String>& callbackSelectors() const { return m_rareNonInheritedD ata->m_callbackSelectors; } |
798 float flexGrow() const { return m_rareNonInheritedData->m_flexibleBox->m_fle xGrow; } | 1621 void addCallbackSelector(const String& selector); |
799 float flexShrink() const { return m_rareNonInheritedData->m_flexibleBox->m_f lexShrink; } | 1622 |
800 const Length& flexBasis() const { return m_rareNonInheritedData->m_flexibleB ox->m_flexBasis; } | 1623 // Non-property flags. |
801 const StyleContentAlignmentData& alignContent() const { return m_rareNonInhe ritedData->m_alignContent; } | 1624 void setHasViewportUnits(bool hasViewportUnits = true) const { m_nonInherite dData.m_hasViewportUnits = hasViewportUnits; } |
nainar
2016/07/25 07:43:22
reverse order of getter and setter
sashab
2016/07/26 00:38:10
Done.
| |
802 ContentPosition alignContentPosition() const { return m_rareNonInheritedData ->m_alignContent.position(); } | 1625 bool hasViewportUnits() const { return m_nonInheritedData.m_hasViewportUnits ; } |
803 ContentDistributionType alignContentDistribution() const { return m_rareNonI nheritedData->m_alignContent.distribution(); } | 1626 |
804 OverflowAlignment alignContentOverflowAlignment() const { return m_rareNonIn heritedData->m_alignContent.overflow(); } | 1627 void setHasRemUnits() const { m_nonInheritedData.m_hasRemUnits = true; } |
nainar
2016/07/25 07:43:26
reverse order of getter and setter
sashab
2016/07/26 00:38:08
Done.
| |
805 const StyleSelfAlignmentData& alignItems() const { return m_rareNonInherited Data->m_alignItems; } | 1628 bool hasRemUnits() const { return m_nonInheritedData.m_hasRemUnits; } |
806 ItemPosition alignItemsPosition() const { return m_rareNonInheritedData->m_a lignItems.position(); } | 1629 |
807 OverflowAlignment alignItemsOverflowAlignment() const { return m_rareNonInhe ritedData->m_alignItems.overflow(); } | 1630 bool affectedByFocus() const { return m_nonInheritedData.m_affectedByFocus; } |
808 const StyleSelfAlignmentData& alignSelf() const { return m_rareNonInheritedD ata->m_alignSelf; } | 1631 bool affectedByHover() const { return m_nonInheritedData.m_affectedByHover; } |
809 ItemPosition alignSelfPosition() const { return m_rareNonInheritedData->m_al ignSelf.position(); } | 1632 bool affectedByActive() const { return m_nonInheritedData.m_affectedByActive ; } |
810 OverflowAlignment alignSelfOverflowAlignment() const { return m_rareNonInher itedData->m_alignSelf.overflow(); } | 1633 bool affectedByDrag() const { return m_nonInheritedData.m_affectedByDrag; } |
811 EFlexDirection flexDirection() const { return static_cast<EFlexDirection>(m_ rareNonInheritedData->m_flexibleBox->m_flexDirection); } | 1634 |
nainar
2016/07/25 07:43:22
remove new line
sashab
2016/07/26 00:38:08
Done, also broke these up. :)
| |
1635 void setAffectedByFocus() { m_nonInheritedData.m_affectedByFocus = true; } | |
1636 void setAffectedByHover() { m_nonInheritedData.m_affectedByHover = true; } | |
1637 void setAffectedByActive() { m_nonInheritedData.m_affectedByActive = true; } | |
1638 void setAffectedByDrag() { m_nonInheritedData.m_affectedByDrag = true; } | |
1639 | |
1640 bool emptyState() const { return m_nonInheritedData.m_emptyState; } | |
1641 void setEmptyState(bool b) { setUnique(); m_nonInheritedData.m_emptyState = b; } | |
1642 | |
1643 bool hasInlineTransform() const { return m_rareNonInheritedData->m_hasInline Transform; } | |
1644 void setHasInlineTransform(bool b) { SET_VAR(m_rareNonInheritedData, m_hasIn lineTransform, b); } | |
1645 | |
1646 bool hasCompositorProxy() const { return m_rareNonInheritedData->m_hasCompos itorProxy; } | |
1647 void setHasCompositorProxy(bool b) { SET_VAR(m_rareNonInheritedData, m_hasCo mpositorProxy, b); } | |
1648 | |
1649 bool isLink() const { return m_nonInheritedData.m_isLink; } | |
1650 void setIsLink(bool b) { m_nonInheritedData.m_isLink = b; } | |
1651 | |
1652 EInsideLink insideLink() const { return static_cast<EInsideLink>(m_inherited Data.m_insideLink); } | |
1653 void setInsideLink(EInsideLink insideLink) { m_inheritedData.m_insideLink = insideLink; } | |
1654 | |
1655 void setHasExplicitlyInheritedProperties() { m_nonInheritedData.m_explicitIn heritance = true; } | |
1656 bool hasExplicitlyInheritedProperties() const { return m_nonInheritedData.m_ explicitInheritance; } | |
nainar
2016/07/25 07:43:24
reverse order with setter
sashab
2016/07/26 00:38:11
Done.
| |
1657 | |
1658 bool requiresAcceleratedCompositingForExternalReasons(bool b) { return m_rar eNonInheritedData->m_requiresAcceleratedCompositingForExternalReasons; } | |
1659 void setRequiresAcceleratedCompositingForExternalReasons(bool b) { SET_VAR(m _rareNonInheritedData, m_requiresAcceleratedCompositingForExternalReasons, b); } | |
1660 | |
1661 bool hasAuthorBackground() const { return m_rareNonInheritedData->m_hasAutho rBackground; }; | |
1662 void setHasAuthorBackground(bool authorBackground) { SET_VAR(m_rareNonInheri tedData, m_hasAuthorBackground, authorBackground); } | |
1663 | |
1664 bool hasAuthorBorder() const { return m_rareNonInheritedData->m_hasAuthorBor der; }; | |
1665 void setHasAuthorBorder(bool authorBorder) { SET_VAR(m_rareNonInheritedData, m_hasAuthorBorder, authorBorder); } | |
1666 | |
1667 // A stacking context is painted atomically and defines a stacking order, wh ereas | |
1668 // a containing stacking context defines in which order the stacking context s | |
1669 // below are painted. | |
1670 // See CSS 2.1, Appendix E (https://www.w3.org/TR/CSS21/zindex.html) for mor e details. | |
1671 bool isStackingContext() const { return m_rareNonInheritedData->m_isStacking Context; } | |
1672 void setIsStackingContext(bool b) { SET_VAR(m_rareNonInheritedData, m_isStac kingContext, b); } | |
1673 | |
1674 // A unique style is one that has matches something that makes it impossible to share. | |
1675 bool unique() const { return m_nonInheritedData.m_unique; } | |
1676 void setUnique() { m_nonInheritedData.m_unique = true; } | |
1677 | |
1678 float textAutosizingMultiplier() const { return m_styleInheritedData->textAu tosizingMultiplier; } | |
1679 void setTextAutosizingMultiplier(float); | |
1680 | |
1681 bool selfOrAncestorHasDirAutoAttribute() const { return m_rareInheritedData- >m_selfOrAncestorHasDirAutoAttribute; } | |
1682 void setSelfOrAncestorHasDirAutoAttribute(bool v) { SET_VAR(m_rareInheritedD ata, m_selfOrAncestorHasDirAutoAttribute, v); } | |
1683 | |
1684 // Animation flags. | |
1685 bool hasCurrentOpacityAnimation() const { return m_rareNonInheritedData->m_h asCurrentOpacityAnimation; } | |
1686 void setHasCurrentOpacityAnimation(bool b = true) { SET_VAR(m_rareNonInherit edData, m_hasCurrentOpacityAnimation, b); } | |
1687 | |
1688 bool hasCurrentTransformAnimation() const { return m_rareNonInheritedData->m _hasCurrentTransformAnimation; } | |
1689 void setHasCurrentTransformAnimation(bool b = true) { SET_VAR(m_rareNonInher itedData, m_hasCurrentTransformAnimation, b); } | |
1690 | |
1691 bool hasCurrentFilterAnimation() const { return m_rareNonInheritedData->m_ha sCurrentFilterAnimation; } | |
1692 void setHasCurrentFilterAnimation(bool b = true) { SET_VAR(m_rareNonInherite dData, m_hasCurrentFilterAnimation, b); } | |
1693 | |
1694 bool hasCurrentBackdropFilterAnimation() const { return m_rareNonInheritedDa ta->m_hasCurrentBackdropFilterAnimation; } | |
1695 void setHasCurrentBackdropFilterAnimation(bool b = true) { SET_VAR(m_rareNon InheritedData, m_hasCurrentBackdropFilterAnimation, b); } | |
1696 | |
1697 bool isRunningOpacityAnimationOnCompositor() const { return m_rareNonInherit edData->m_runningOpacityAnimationOnCompositor; } | |
1698 void setIsRunningOpacityAnimationOnCompositor(bool b = true) { SET_VAR(m_rar eNonInheritedData, m_runningOpacityAnimationOnCompositor, b); } | |
1699 | |
1700 bool isRunningTransformAnimationOnCompositor() const { return m_rareNonInher itedData->m_runningTransformAnimationOnCompositor; } | |
1701 void setIsRunningTransformAnimationOnCompositor(bool b = true) { SET_VAR(m_r areNonInheritedData, m_runningTransformAnimationOnCompositor, b); } | |
1702 | |
1703 bool isRunningFilterAnimationOnCompositor() const { return m_rareNonInherite dData->m_runningFilterAnimationOnCompositor; } | |
1704 void setIsRunningFilterAnimationOnCompositor(bool b = true) { SET_VAR(m_rare NonInheritedData, m_runningFilterAnimationOnCompositor, b); } | |
1705 | |
1706 bool isRunningBackdropFilterAnimationOnCompositor() const { return m_rareNon InheritedData->m_runningBackdropFilterAnimationOnCompositor; } | |
1707 void setIsRunningBackdropFilterAnimationOnCompositor(bool b = true) { SET_VA R(m_rareNonInheritedData, m_runningBackdropFilterAnimationOnCompositor, b); } | |
1708 | |
1709 // Column utility functions. | |
1710 void clearMultiCol(); | |
1711 bool specifiesColumns() const { return !hasAutoColumnCount() || !hasAutoColu mnWidth(); } | |
1712 bool columnRuleIsTransparent() const { return m_rareNonInheritedData->m_mult iCol->m_rule.isTransparent(); } | |
1713 bool columnRuleEquivalent(const ComputedStyle* otherStyle) const; | |
1714 void inheritColumnPropertiesFrom(const ComputedStyle& parent) { m_rareNonInh eritedData.access()->m_multiCol = parent.m_rareNonInheritedData->m_multiCol; } | |
1715 | |
1716 // Flex utility functions. | |
812 bool isColumnFlexDirection() const { return flexDirection() == FlowColumn || flexDirection() == FlowColumnReverse; } | 1717 bool isColumnFlexDirection() const { return flexDirection() == FlowColumn || flexDirection() == FlowColumnReverse; } |
813 bool isReverseFlexDirection() const { return flexDirection() == FlowRowRever se || flexDirection() == FlowColumnReverse; } | 1718 bool isReverseFlexDirection() const { return flexDirection() == FlowRowRever se || flexDirection() == FlowColumnReverse; } |
814 EFlexWrap flexWrap() const { return static_cast<EFlexWrap>(m_rareNonInherite dData->m_flexibleBox->m_flexWrap); } | 1719 bool hasBoxReflect() const { return boxReflect(); } |
815 const StyleContentAlignmentData& justifyContent() const { return m_rareNonIn heritedData->m_justifyContent; } | 1720 bool reflectionDataEquivalent(const ComputedStyle* otherStyle) const { retur n m_rareNonInheritedData->reflectionDataEquivalent(*otherStyle->m_rareNonInherit edData); } |
816 ContentPosition justifyContentPosition() const { return m_rareNonInheritedDa ta->m_justifyContent.position(); } | 1721 |
817 ContentDistributionType justifyContentDistribution() const { return m_rareNo nInheritedData->m_justifyContent.distribution(); } | 1722 // Mask utility functions. |
818 OverflowAlignment justifyContentOverflowAlignment() const { return m_rareNon InheritedData->m_justifyContent.overflow(); } | 1723 bool hasMask() const { return m_rareNonInheritedData->m_mask.hasImage() || m _rareNonInheritedData->m_maskBoxImage.hasImage(); } |
819 const StyleSelfAlignmentData& justifyItems() const { return m_rareNonInherit edData->m_justifyItems; } | 1724 StyleImage* maskImage() const { return m_rareNonInheritedData->m_mask.image( ); } |
820 ItemPosition justifyItemsPosition() const { return m_rareNonInheritedData->m _justifyItems.position(); } | 1725 FillLayer& accessMaskLayers() { return m_rareNonInheritedData.access()->m_ma sk; } |
821 OverflowAlignment justifyItemsOverflowAlignment() const { return m_rareNonIn heritedData->m_justifyItems.overflow(); } | 1726 const FillLayer& maskLayers() const { return m_rareNonInheritedData->m_mask; } |
822 ItemPositionType justifyItemsPositionType() const { return m_rareNonInherite dData->m_justifyItems.positionType(); } | 1727 const NinePieceImage& maskBoxImage() const { return m_rareNonInheritedData-> m_maskBoxImage; } |
823 const StyleSelfAlignmentData& justifySelf() const { return m_rareNonInherite dData->m_justifySelf; } | 1728 bool maskBoxImageSlicesFill() const { return m_rareNonInheritedData->m_maskB oxImage.fill(); } |
824 ItemPosition justifySelfPosition() const { return m_rareNonInheritedData->m_ justifySelf.position(); } | 1729 void adjustMaskLayers() |
825 OverflowAlignment justifySelfOverflowAlignment() const { return m_rareNonInh eritedData->m_justifySelf.overflow(); } | 1730 { |
826 | 1731 if (maskLayers().next()) { |
827 const Vector<GridTrackSize>& gridTemplateColumns() const { return m_rareNonI nheritedData->m_grid->m_gridTemplateColumns; } | 1732 accessMaskLayers().cullEmptyLayers(); |
828 const Vector<GridTrackSize>& gridTemplateRows() const { return m_rareNonInhe ritedData->m_grid->m_gridTemplateRows; } | 1733 accessMaskLayers().fillUnsetProperties(); |
1734 } | |
1735 } | |
1736 void setMaskBoxImage(const NinePieceImage& b) { SET_VAR(m_rareNonInheritedDa ta, m_maskBoxImage, b); } | |
1737 void setMaskBoxImageSlicesFill(bool fill) | |
1738 { | |
1739 m_rareNonInheritedData.access()->m_maskBoxImage.setFill(fill); | |
1740 } | |
1741 | |
1742 // Text-combine utility functions. | |
1743 bool hasTextCombine() const { return getTextCombine() != TextCombineNone; } | |
1744 | |
1745 // Grid utility functions. | |
829 const Vector<GridTrackSize>& gridAutoRepeatColumns() const { return m_rareNo nInheritedData->m_grid->m_gridAutoRepeatColumns; } | 1746 const Vector<GridTrackSize>& gridAutoRepeatColumns() const { return m_rareNo nInheritedData->m_grid->m_gridAutoRepeatColumns; } |
830 const Vector<GridTrackSize>& gridAutoRepeatRows() const { return m_rareNonIn heritedData->m_grid->m_gridAutoRepeatRows; } | 1747 const Vector<GridTrackSize>& gridAutoRepeatRows() const { return m_rareNonIn heritedData->m_grid->m_gridAutoRepeatRows; } |
831 size_t gridAutoRepeatColumnsInsertionPoint() const { return m_rareNonInherit edData->m_grid->m_autoRepeatColumnsInsertionPoint; } | 1748 size_t gridAutoRepeatColumnsInsertionPoint() const { return m_rareNonInherit edData->m_grid->m_autoRepeatColumnsInsertionPoint; } |
832 size_t gridAutoRepeatRowsInsertionPoint() const { return m_rareNonInheritedD ata->m_grid->m_autoRepeatRowsInsertionPoint; } | 1749 size_t gridAutoRepeatRowsInsertionPoint() const { return m_rareNonInheritedD ata->m_grid->m_autoRepeatRowsInsertionPoint; } |
833 AutoRepeatType gridAutoRepeatColumnsType() const { return m_rareNonInherite dData->m_grid->m_autoRepeatColumnsType; } | 1750 AutoRepeatType gridAutoRepeatColumnsType() const { return m_rareNonInherite dData->m_grid->m_autoRepeatColumnsType; } |
834 AutoRepeatType gridAutoRepeatRowsType() const { return m_rareNonInheritedDa ta->m_grid->m_autoRepeatRowsType; } | 1751 AutoRepeatType gridAutoRepeatRowsType() const { return m_rareNonInheritedDa ta->m_grid->m_autoRepeatRowsType; } |
835 const NamedGridLinesMap& namedGridColumnLines() const { return m_rareNonInhe ritedData->m_grid->m_namedGridColumnLines; } | 1752 const NamedGridLinesMap& namedGridColumnLines() const { return m_rareNonInhe ritedData->m_grid->m_namedGridColumnLines; } |
836 const NamedGridLinesMap& namedGridRowLines() const { return m_rareNonInherit edData->m_grid->m_namedGridRowLines; } | 1753 const NamedGridLinesMap& namedGridRowLines() const { return m_rareNonInherit edData->m_grid->m_namedGridRowLines; } |
837 const OrderedNamedGridLines& orderedNamedGridColumnLines() const { return m_ rareNonInheritedData->m_grid->m_orderedNamedGridColumnLines; } | 1754 const OrderedNamedGridLines& orderedNamedGridColumnLines() const { return m_ rareNonInheritedData->m_grid->m_orderedNamedGridColumnLines; } |
838 const OrderedNamedGridLines& orderedNamedGridRowLines() const { return m_rar eNonInheritedData->m_grid->m_orderedNamedGridRowLines; } | 1755 const OrderedNamedGridLines& orderedNamedGridRowLines() const { return m_rar eNonInheritedData->m_grid->m_orderedNamedGridRowLines; } |
839 const NamedGridLinesMap& autoRepeatNamedGridColumnLines() const { return m_r areNonInheritedData->m_grid->m_autoRepeatNamedGridColumnLines; } | 1756 const NamedGridLinesMap& autoRepeatNamedGridColumnLines() const { return m_r areNonInheritedData->m_grid->m_autoRepeatNamedGridColumnLines; } |
840 const NamedGridLinesMap& autoRepeatNamedGridRowLines() const { return m_rare NonInheritedData->m_grid->m_autoRepeatNamedGridRowLines; } | 1757 const NamedGridLinesMap& autoRepeatNamedGridRowLines() const { return m_rare NonInheritedData->m_grid->m_autoRepeatNamedGridRowLines; } |
841 const OrderedNamedGridLines& autoRepeatOrderedNamedGridColumnLines() const { return m_rareNonInheritedData->m_grid->m_autoRepeatOrderedNamedGridColumnLines; } | 1758 const OrderedNamedGridLines& autoRepeatOrderedNamedGridColumnLines() const { return m_rareNonInheritedData->m_grid->m_autoRepeatOrderedNamedGridColumnLines; } |
842 const OrderedNamedGridLines& autoRepeatOrderedNamedGridRowLines() const { re turn m_rareNonInheritedData->m_grid->m_autoRepeatOrderedNamedGridRowLines; } | 1759 const OrderedNamedGridLines& autoRepeatOrderedNamedGridRowLines() const { re turn m_rareNonInheritedData->m_grid->m_autoRepeatOrderedNamedGridRowLines; } |
843 const NamedGridAreaMap& namedGridArea() const { return m_rareNonInheritedDat a->m_grid->m_namedGridArea; } | 1760 const NamedGridAreaMap& namedGridArea() const { return m_rareNonInheritedDat a->m_grid->m_namedGridArea; } |
844 size_t namedGridAreaRowCount() const { return m_rareNonInheritedData->m_grid ->m_namedGridAreaRowCount; } | 1761 size_t namedGridAreaRowCount() const { return m_rareNonInheritedData->m_grid ->m_namedGridAreaRowCount; } |
845 size_t namedGridAreaColumnCount() const { return m_rareNonInheritedData->m_g rid->m_namedGridAreaColumnCount; } | 1762 size_t namedGridAreaColumnCount() const { return m_rareNonInheritedData->m_g rid->m_namedGridAreaColumnCount; } |
846 GridAutoFlow getGridAutoFlow() const { return static_cast<GridAutoFlow>(m_ra reNonInheritedData->m_grid->m_gridAutoFlow); } | 1763 GridAutoFlow getGridAutoFlow() const { return static_cast<GridAutoFlow>(m_ra reNonInheritedData->m_grid->m_gridAutoFlow); } |
847 bool isGridAutoFlowDirectionRow() const { return (m_rareNonInheritedData->m_ grid->m_gridAutoFlow & InternalAutoFlowDirectionRow) == InternalAutoFlowDirectio nRow; } | 1764 bool isGridAutoFlowDirectionRow() const { return (m_rareNonInheritedData->m_ grid->m_gridAutoFlow & InternalAutoFlowDirectionRow) == InternalAutoFlowDirectio nRow; } |
848 bool isGridAutoFlowDirectionColumn() const { return (m_rareNonInheritedData- >m_grid->m_gridAutoFlow & InternalAutoFlowDirectionColumn) == InternalAutoFlowDi rectionColumn; } | 1765 bool isGridAutoFlowDirectionColumn() const { return (m_rareNonInheritedData- >m_grid->m_gridAutoFlow & InternalAutoFlowDirectionColumn) == InternalAutoFlowDi rectionColumn; } |
849 bool isGridAutoFlowAlgorithmSparse() const { return (m_rareNonInheritedData- >m_grid->m_gridAutoFlow & InternalAutoFlowAlgorithmSparse) == InternalAutoFlowAl gorithmSparse; } | 1766 bool isGridAutoFlowAlgorithmSparse() const { return (m_rareNonInheritedData- >m_grid->m_gridAutoFlow & InternalAutoFlowAlgorithmSparse) == InternalAutoFlowAl gorithmSparse; } |
850 bool isGridAutoFlowAlgorithmDense() const { return (m_rareNonInheritedData-> m_grid->m_gridAutoFlow & InternalAutoFlowAlgorithmDense) == InternalAutoFlowAlgo rithmDense; } | 1767 bool isGridAutoFlowAlgorithmDense() const { return (m_rareNonInheritedData-> m_grid->m_gridAutoFlow & InternalAutoFlowAlgorithmDense) == InternalAutoFlowAlgo rithmDense; } |
851 const Vector<GridTrackSize>& gridAutoColumns() const { return m_rareNonInher itedData->m_grid->m_gridAutoColumns; } | |
852 const Vector<GridTrackSize>& gridAutoRows() const { return m_rareNonInherite dData->m_grid->m_gridAutoRows; } | |
853 const Length& gridColumnGap() const { return m_rareNonInheritedData->m_grid- >m_gridColumnGap; } | |
854 const Length& gridRowGap() const { return m_rareNonInheritedData->m_grid->m_ gridRowGap; } | |
855 | |
856 const GridPosition& gridColumnStart() const { return m_rareNonInheritedData- >m_gridItem->m_gridColumnStart; } | |
857 const GridPosition& gridColumnEnd() const { return m_rareNonInheritedData->m _gridItem->m_gridColumnEnd; } | |
858 const GridPosition& gridRowStart() const { return m_rareNonInheritedData->m_ gridItem->m_gridRowStart; } | |
859 const GridPosition& gridRowEnd() const { return m_rareNonInheritedData->m_gr idItem->m_gridRowEnd; } | |
860 | |
861 ShadowList* boxShadow() const { return m_rareNonInheritedData->m_boxShadow.g et(); } | |
862 | |
863 EBoxDecorationBreak boxDecorationBreak() const { return m_box->boxDecoration Break(); } | |
864 StyleReflection* boxReflect() const { return m_rareNonInheritedData->m_boxRe flect.get(); } | |
865 bool hasBoxReflect() const { return boxReflect(); } | |
866 bool reflectionDataEquivalent(const ComputedStyle* otherStyle) const { retur n m_rareNonInheritedData->reflectionDataEquivalent(*otherStyle->m_rareNonInherit edData); } | |
867 | |
868 // FIXME: reflections should belong to this helper function but they are cur rently handled | |
869 // through their self-painting layers. So the layout code doesn't account fo r them. | |
870 bool hasVisualOverflowingEffect() const { return boxShadow() || hasBorderIma geOutsets() || hasOutline(); } | |
871 | |
872 Containment contain() const { return static_cast<Containment>(m_rareNonInher itedData->m_contain); } | |
873 bool containsPaint() const { return m_rareNonInheritedData->m_contain & Cont ainsPaint; } | |
874 bool containsStyle() const { return m_rareNonInheritedData->m_contain & Cont ainsStyle; } | |
875 bool containsLayout() const { return m_rareNonInheritedData->m_contain & Con tainsLayout; } | |
876 bool containsSize() const { return m_rareNonInheritedData->m_contain & Conta insSize; } | |
877 | |
878 EBoxSizing boxSizing() const { return m_box->boxSizing(); } | |
879 EUserModify userModify() const { return static_cast<EUserModify>(m_rareInher itedData->userModify); } | |
880 EUserDrag userDrag() const { return static_cast<EUserDrag>(m_rareNonInherite dData->userDrag); } | |
881 EUserSelect userSelect() const { return static_cast<EUserSelect>(m_rareInher itedData->userSelect); } | |
882 TextOverflow getTextOverflow() const { return static_cast<TextOverflow>(m_ra reNonInheritedData->textOverflow); } | |
883 EMarginCollapse marginBeforeCollapse() const { return static_cast<EMarginCol lapse>(m_rareNonInheritedData->marginBeforeCollapse); } | |
884 EMarginCollapse marginAfterCollapse() const { return static_cast<EMarginColl apse>(m_rareNonInheritedData->marginAfterCollapse); } | |
885 EWordBreak wordBreak() const { return static_cast<EWordBreak>(m_rareInherite dData->wordBreak); } | |
886 EOverflowWrap overflowWrap() const { return static_cast<EOverflowWrap>(m_rar eInheritedData->overflowWrap); } | |
887 LineBreak getLineBreak() const { return static_cast<LineBreak>(m_rareInherit edData->lineBreak); } | |
888 const AtomicString& highlight() const { return m_rareInheritedData->highligh t; } | |
889 Hyphens getHyphens() const { return static_cast<Hyphens>(m_rareInheritedData ->hyphens); } | |
890 const AtomicString& hyphenationString() const { return m_rareInheritedData-> hyphenationString; } | |
891 const AtomicString& locale() const { return getFontDescription().locale(fals e); } | |
892 EResize resize() const { return static_cast<EResize>(m_rareNonInheritedData- >m_resize); } | |
893 bool hasInlinePaginationAxis() const | |
894 { | |
895 // If the pagination axis is parallel with the writing mode inline axis, columns may be laid | |
896 // out along the inline axis, just like for regular multicol. Otherwise, we need to lay out | |
897 // along the block axis. | |
898 if (isOverflowPaged()) | |
899 return (overflowY() == OverflowPagedX) == isHorizontalWritingMode(); | |
900 return false; | |
901 } | |
902 float columnWidth() const { return m_rareNonInheritedData->m_multiCol->m_wid th; } | |
903 bool hasAutoColumnWidth() const { return m_rareNonInheritedData->m_multiCol- >m_autoWidth; } | |
904 unsigned short columnCount() const { return m_rareNonInheritedData->m_multiC ol->m_count; } | |
905 bool hasAutoColumnCount() const { return m_rareNonInheritedData->m_multiCol- >m_autoCount; } | |
906 bool specifiesColumns() const { return !hasAutoColumnCount() || !hasAutoColu mnWidth(); } | |
907 ColumnFill getColumnFill() const { return static_cast<ColumnFill>(m_rareNonI nheritedData->m_multiCol->m_fill); } | |
908 float columnGap() const { return m_rareNonInheritedData->m_multiCol->m_gap; } | |
909 bool hasNormalColumnGap() const { return m_rareNonInheritedData->m_multiCol- >m_normalGap; } | |
910 EBorderStyle columnRuleStyle() const { return m_rareNonInheritedData->m_mult iCol->m_rule.style(); } | |
911 unsigned short columnRuleWidth() const { return m_rareNonInheritedData->m_mu ltiCol->ruleWidth(); } | |
912 bool columnRuleIsTransparent() const { return m_rareNonInheritedData->m_mult iCol->m_rule.isTransparent(); } | |
913 bool columnRuleEquivalent(const ComputedStyle* otherStyle) const; | |
914 ColumnSpan getColumnSpan() const { return static_cast<ColumnSpan>(m_rareNonI nheritedData->m_multiCol->m_columnSpan); } | |
915 bool hasInlineTransform() const { return m_rareNonInheritedData->m_hasInline Transform; } | |
916 bool hasCompositorProxy() const { return m_rareNonInheritedData->m_hasCompos itorProxy; } | |
917 const TransformOperations& transform() const { return m_rareNonInheritedData ->m_transform->m_operations; } | |
918 const TransformOrigin& transformOrigin() const { return m_rareNonInheritedDa ta->m_transform->m_origin; } | |
919 const Length& transformOriginX() const { return transformOrigin().x(); } | |
920 const Length& transformOriginY() const { return transformOrigin().y(); } | |
921 TranslateTransformOperation* translate() const { return m_rareNonInheritedDa ta->m_transform->m_translate.get(); } | |
922 RotateTransformOperation* rotate() const { return m_rareNonInheritedData->m_ transform->m_rotate.get(); } | |
923 ScaleTransformOperation* scale() const { return m_rareNonInheritedData->m_tr ansform->m_scale.get(); } | |
924 float transformOriginZ() const { return transformOrigin().z(); } | |
925 bool has3DTransform() const { return m_rareNonInheritedData->m_transform->ha s3DTransform(); } | |
926 bool hasTransform() const { return hasTransformOperations() || hasMotionPath () || hasCurrentTransformAnimation() || translate() || rotate() || scale(); } | |
927 bool hasTransformOperations() const { return !m_rareNonInheritedData->m_tran sform->m_operations.operations().isEmpty(); } | |
928 bool transformDataEquivalent(const ComputedStyle& otherStyle) const { return m_rareNonInheritedData->m_transform == otherStyle.m_rareNonInheritedData->m_tra nsform; } | |
929 | |
930 StylePath* motionPath() const { return m_rareNonInheritedData->m_transform-> m_motion.m_path.get(); } | |
931 bool hasMotionPath() const { return motionPath(); } | |
932 const Length& motionOffset() const { return m_rareNonInheritedData->m_transf orm->m_motion.m_offset; } | |
933 const StyleMotionRotation& motionRotation() const { return m_rareNonInherite dData->m_transform->m_motion.m_rotation; } | |
934 | |
935 TextEmphasisFill getTextEmphasisFill() const { return static_cast<TextEmphas isFill>(m_rareInheritedData->textEmphasisFill); } | |
936 TextEmphasisMark getTextEmphasisMark() const; | |
937 const AtomicString& textEmphasisCustomMark() const { return m_rareInheritedD ata->textEmphasisCustomMark; } | |
938 TextEmphasisPosition getTextEmphasisPosition() const { return static_cast<Te xtEmphasisPosition>(m_rareInheritedData->textEmphasisPosition); } | |
939 const AtomicString& textEmphasisMarkString() const; | |
940 | |
941 RubyPosition getRubyPosition() const { return static_cast<RubyPosition>(m_ra reInheritedData->m_rubyPosition); } | |
942 | |
943 TextOrientation getTextOrientation() const { return static_cast<TextOrientat ion>(m_rareInheritedData->m_textOrientation); } | |
944 | |
945 ObjectFit getObjectFit() const { return static_cast<ObjectFit>(m_rareNonInhe ritedData->m_objectFit); } | |
946 LengthPoint objectPosition() const { return m_rareNonInheritedData->m_object Position; } | |
947 | |
948 // Return true if any transform related property (currently transform/motion Path, transformStyle3D, perspective, | |
949 // or will-change:transform) indicates that we are transforming. will-change :transform should result in | |
950 // the same rendering behavior as having a transform, including the creation of a containing block | |
951 // for fixed position descendants. | |
952 bool hasTransformRelatedProperty() const { return hasTransform() || preserve s3D() || hasPerspective() || hasWillChangeTransformHint(); } | |
953 | |
954 enum ApplyTransformOrigin { IncludeTransformOrigin, ExcludeTransformOrigin } ; | |
955 enum ApplyMotionPath { IncludeMotionPath, ExcludeMotionPath }; | |
956 enum ApplyIndependentTransformProperties { IncludeIndependentTransformProper ties , ExcludeIndependentTransformProperties }; | |
957 void applyTransform(TransformationMatrix&, const LayoutSize& borderBoxSize, ApplyTransformOrigin, ApplyMotionPath, ApplyIndependentTransformProperties) cons t; | |
958 void applyTransform(TransformationMatrix&, const FloatRect& boundingBox, App lyTransformOrigin, ApplyMotionPath, ApplyIndependentTransformProperties) const; | |
959 bool hasMask() const { return m_rareNonInheritedData->m_mask.hasImage() || m _rareNonInheritedData->m_maskBoxImage.hasImage(); } | |
960 | |
961 TextCombine getTextCombine() const { return static_cast<TextCombine>(m_rareI nheritedData->m_textCombine); } | |
962 bool hasTextCombine() const { return getTextCombine() != TextCombineNone; } | |
963 | |
964 uint8_t snapHeightPosition() const { return m_rareInheritedData->m_snapHeigh tPosition; } | |
965 uint8_t snapHeightUnit() const { return m_rareInheritedData->m_snapHeightUni t; } | |
966 | |
967 TabSize getTabSize() const { return m_rareInheritedData->m_tabSize; } | |
968 | |
969 RespectImageOrientationEnum respectImageOrientation() const { return static_ cast<RespectImageOrientationEnum>(m_rareInheritedData->m_respectImageOrientation ); } | |
970 | |
971 // End CSS3 Getters | |
972 | |
973 // Apple-specific property getter methods | |
974 EPointerEvents pointerEvents() const { return static_cast<EPointerEvents>(m_ inheritedData.m_pointerEvents); } | |
975 const CSSAnimationData* animations() const { return m_rareNonInheritedData-> m_animations.get(); } | |
976 const CSSTransitionData* transitions() const { return m_rareNonInheritedData ->m_transitions.get(); } | |
977 | |
978 CSSAnimationData& accessAnimations(); | |
979 CSSTransitionData& accessTransitions(); | |
980 | |
981 ETransformStyle3D transformStyle3D() const { return static_cast<ETransformSt yle3D>(m_rareNonInheritedData->m_transformStyle3D); } | |
982 ETransformStyle3D usedTransformStyle3D() const { return hasGroupingProperty( ) ? TransformStyle3DFlat : transformStyle3D(); } | |
983 bool preserves3D() const { return usedTransformStyle3D() != TransformStyle3D Flat; } | |
984 | |
985 EBackfaceVisibility backfaceVisibility() const { return static_cast<EBackfac eVisibility>(m_rareNonInheritedData->m_backfaceVisibility); } | |
986 float perspective() const { return m_rareNonInheritedData->m_perspective; } | |
987 bool hasPerspective() const { return m_rareNonInheritedData->m_perspective > 0; } | |
988 const LengthPoint& perspectiveOrigin() const { return m_rareNonInheritedData ->m_perspectiveOrigin; } | |
989 const Length& perspectiveOriginX() const { return perspectiveOrigin().x(); } | |
990 const Length& perspectiveOriginY() const { return perspectiveOrigin().y(); } | |
991 const FloatSize& pageSize() const { return m_rareNonInheritedData->m_pageSiz e; } | |
992 PageSizeType getPageSizeType() const { return static_cast<PageSizeType>(m_ra reNonInheritedData->m_pageSizeType); } | |
993 | |
994 bool hasCurrentOpacityAnimation() const { return m_rareNonInheritedData->m_h asCurrentOpacityAnimation; } | |
995 bool hasCurrentTransformAnimation() const { return m_rareNonInheritedData->m _hasCurrentTransformAnimation; } | |
996 bool hasCurrentFilterAnimation() const { return m_rareNonInheritedData->m_ha sCurrentFilterAnimation; } | |
997 bool hasCurrentBackdropFilterAnimation() const { return m_rareNonInheritedDa ta->m_hasCurrentBackdropFilterAnimation; } | |
998 bool shouldCompositeForCurrentAnimations() const { return hasCurrentOpacityA nimation() || hasCurrentTransformAnimation() || hasCurrentFilterAnimation() || h asCurrentBackdropFilterAnimation(); } | |
999 | |
1000 bool isRunningOpacityAnimationOnCompositor() const { return m_rareNonInherit edData->m_runningOpacityAnimationOnCompositor; } | |
1001 bool isRunningTransformAnimationOnCompositor() const { return m_rareNonInher itedData->m_runningTransformAnimationOnCompositor; } | |
1002 bool isRunningFilterAnimationOnCompositor() const { return m_rareNonInherite dData->m_runningFilterAnimationOnCompositor; } | |
1003 bool isRunningBackdropFilterAnimationOnCompositor() const { return m_rareNon InheritedData->m_runningBackdropFilterAnimationOnCompositor; } | |
1004 bool isRunningAnimationOnCompositor() const { return isRunningOpacityAnimati onOnCompositor() || isRunningTransformAnimationOnCompositor() || isRunningFilter AnimationOnCompositor() || isRunningBackdropFilterAnimationOnCompositor(); } | |
1005 | |
1006 const LineClampValue& lineClamp() const { return m_rareNonInheritedData->lin eClamp; } | |
1007 Color tapHighlightColor() const { return m_rareInheritedData->tapHighlightCo lor; } | |
1008 ETextSecurity textSecurity() const { return static_cast<ETextSecurity>(m_rar eInheritedData->textSecurity); } | |
1009 | |
1010 WritingMode getWritingMode() const { return static_cast<WritingMode>(m_inher itedData.m_writingMode); } | |
1011 bool isHorizontalWritingMode() const { return blink::isHorizontalWritingMode (getWritingMode()); } | |
1012 bool isFlippedLinesWritingMode() const { return blink::isFlippedLinesWriting Mode(getWritingMode()); } | |
1013 bool isFlippedBlocksWritingMode() const { return blink::isFlippedBlocksWriti ngMode(getWritingMode()); } | |
1014 | |
1015 EImageRendering imageRendering() const { return static_cast<EImageRendering> (m_rareInheritedData->m_imageRendering); } | |
1016 | |
1017 ESpeak speak() const { return static_cast<ESpeak>(m_rareInheritedData->speak ); } | |
1018 | |
1019 FilterOperations& mutableFilter() { return m_rareNonInheritedData.access()-> m_filter.access()->m_operations; } | |
1020 const FilterOperations& filter() const { return m_rareNonInheritedData->m_fi lter->m_operations; } | |
1021 bool hasFilter() const { return !m_rareNonInheritedData->m_filter->m_operati ons.operations().isEmpty(); } | |
1022 | |
1023 FilterOperations& mutableBackdropFilter() { return m_rareNonInheritedData.ac cess()->m_backdropFilter.access()->m_operations; } | |
1024 const FilterOperations& backdropFilter() const { return m_rareNonInheritedDa ta->m_backdropFilter->m_operations; } | |
1025 bool hasBackdropFilter() const { return !m_rareNonInheritedData->m_backdropF ilter->m_operations.operations().isEmpty(); } | |
1026 | |
1027 WebBlendMode blendMode() const { return static_cast<WebBlendMode>(m_rareNonI nheritedData->m_effectiveBlendMode); } | |
1028 void setBlendMode(WebBlendMode v) { m_rareNonInheritedData.access()->m_effec tiveBlendMode = v; } | |
1029 bool hasBlendMode() const { return blendMode() != WebBlendModeNormal; } | |
1030 | |
1031 EIsolation isolation() const { return static_cast<EIsolation>(m_rareNonInher itedData->m_isolation); } | |
1032 void setIsolation(EIsolation v) { m_rareNonInheritedData.access()->m_isolati on = v; } | |
1033 bool hasIsolation() const { return isolation() != IsolationAuto; } | |
1034 | |
1035 bool shouldPlaceBlockDirectionScrollbarOnLogicalLeft() const { return !isLef tToRightDirection() && isHorizontalWritingMode(); } | |
1036 | |
1037 TouchAction getTouchAction() const { return static_cast<TouchAction>(m_rareN onInheritedData->m_touchAction); } | |
1038 | |
1039 ScrollBehavior getScrollBehavior() const { return static_cast<ScrollBehavior >(m_rareNonInheritedData->m_scrollBehavior); } | |
1040 | |
1041 ScrollSnapType getScrollSnapType() const { return static_cast<ScrollSnapType >(m_rareNonInheritedData->m_scrollSnapType); } | |
1042 const ScrollSnapPoints& scrollSnapPointsX() const { return m_rareNonInherite dData->m_scrollSnap->m_xPoints; } | |
1043 const ScrollSnapPoints& scrollSnapPointsY() const { return m_rareNonInherite dData->m_scrollSnap->m_yPoints; } | |
1044 const Vector<LengthPoint>& scrollSnapCoordinate() const { return m_rareNonIn heritedData->m_scrollSnap->m_coordinates; } | |
1045 const LengthPoint& scrollSnapDestination() const { return m_rareNonInherited Data->m_scrollSnap->m_destination; } | |
1046 | |
1047 const Vector<CSSPropertyID>& willChangeProperties() const { return m_rareNon InheritedData->m_willChange->m_properties; } | |
1048 bool willChangeContents() const { return m_rareNonInheritedData->m_willChang e->m_contents; } | |
1049 bool willChangeScrollPosition() const { return m_rareNonInheritedData->m_wil lChange->m_scrollPosition; } | |
1050 bool hasWillChangeCompositingHint() const; | |
1051 bool hasWillChangeOpacityHint() const { return willChangeProperties().contai ns(CSSPropertyOpacity); } | |
1052 bool hasWillChangeTransformHint() const; | |
1053 bool subtreeWillChangeContents() const { return m_rareInheritedData->m_subtr eeWillChangeContents; } | |
1054 | |
1055 // attribute setter methods | |
1056 | |
1057 void setDisplay(EDisplay v) { m_nonInheritedData.m_effectiveDisplay = v; } | |
1058 void setOriginalDisplay(EDisplay v) { m_nonInheritedData.m_originalDisplay = v; } | |
1059 void setPosition(EPosition v) { m_nonInheritedData.m_position = v; } | |
1060 void setFloating(EFloat v) { m_nonInheritedData.m_floating = v; } | |
1061 | |
1062 void setLeft(const Length& v) { SET_VAR(m_surround, offset.m_left, v); } | |
1063 void setRight(const Length& v) { SET_VAR(m_surround, offset.m_right, v); } | |
1064 void setTop(const Length& v) { SET_VAR(m_surround, offset.m_top, v); } | |
1065 void setBottom(const Length& v) { SET_VAR(m_surround, offset.m_bottom, v); } | |
1066 | |
1067 void setWidth(const Length& v) { SET_VAR(m_box, m_width, v); } | |
1068 void setHeight(const Length& v) { SET_VAR(m_box, m_height, v); } | |
1069 | |
1070 void setLogicalWidth(const Length& v) | |
1071 { | |
1072 if (isHorizontalWritingMode()) { | |
1073 SET_VAR(m_box, m_width, v); | |
1074 } else { | |
1075 SET_VAR(m_box, m_height, v); | |
1076 } | |
1077 } | |
1078 | |
1079 void setLogicalHeight(const Length& v) | |
1080 { | |
1081 if (isHorizontalWritingMode()) { | |
1082 SET_VAR(m_box, m_height, v); | |
1083 } else { | |
1084 SET_VAR(m_box, m_width, v); | |
1085 } | |
1086 } | |
1087 | |
1088 void setMinWidth(const Length& v) { SET_VAR(m_box, m_minWidth, v); } | |
1089 void setMaxWidth(const Length& v) { SET_VAR(m_box, m_maxWidth, v); } | |
1090 void setMinHeight(const Length& v) { SET_VAR(m_box, m_minHeight, v); } | |
1091 void setMaxHeight(const Length& v) { SET_VAR(m_box, m_maxHeight, v); } | |
1092 | |
1093 DraggableRegionMode getDraggableRegionMode() const { return m_rareNonInherit edData->m_draggableRegionMode; } | |
1094 void setDraggableRegionMode(DraggableRegionMode v) { SET_VAR(m_rareNonInheri tedData, m_draggableRegionMode, v); } | |
1095 | |
1096 void resetBorder() | |
1097 { | |
1098 resetBorderImage(); | |
1099 resetBorderTop(); | |
1100 resetBorderRight(); | |
1101 resetBorderBottom(); | |
1102 resetBorderLeft(); | |
1103 resetBorderTopLeftRadius(); | |
1104 resetBorderTopRightRadius(); | |
1105 resetBorderBottomLeftRadius(); | |
1106 resetBorderBottomRightRadius(); | |
1107 } | |
1108 void resetBorderTop() { SET_VAR(m_surround, border.m_top, BorderValue()); } | |
1109 void resetBorderRight() { SET_VAR(m_surround, border.m_right, BorderValue()) ; } | |
1110 void resetBorderBottom() { SET_VAR(m_surround, border.m_bottom, BorderValue( )); } | |
1111 void resetBorderLeft() { SET_VAR(m_surround, border.m_left, BorderValue()); } | |
1112 void resetBorderImage() { SET_VAR(m_surround, border.m_image, NinePieceImage ()); } | |
1113 void resetBorderTopLeftRadius() { SET_VAR(m_surround, border.m_topLeft, init ialBorderRadius()); } | |
1114 void resetBorderTopRightRadius() { SET_VAR(m_surround, border.m_topRight, in itialBorderRadius()); } | |
1115 void resetBorderBottomLeftRadius() { SET_VAR(m_surround, border.m_bottomLeft , initialBorderRadius()); } | |
1116 void resetBorderBottomRightRadius() { SET_VAR(m_surround, border.m_bottomRig ht, initialBorderRadius()); } | |
1117 | |
1118 void setBackgroundColor(const StyleColor& v) { SET_VAR(m_background, m_color , v); } | |
1119 | |
1120 void setBorderImage(const NinePieceImage& b) { SET_VAR(m_surround, border.m_ image, b); } | |
1121 void setBorderImageSource(StyleImage*); | |
1122 void setBorderImageSlices(const LengthBox&); | |
1123 void setBorderImageSlicesFill(bool); | |
1124 void setBorderImageWidth(const BorderImageLengthBox&); | |
1125 void setBorderImageOutset(const BorderImageLengthBox&); | |
1126 | |
1127 void setBorderTopLeftRadius(const LengthSize& s) { SET_VAR(m_surround, borde r.m_topLeft, s); } | |
1128 void setBorderTopRightRadius(const LengthSize& s) { SET_VAR(m_surround, bord er.m_topRight, s); } | |
1129 void setBorderBottomLeftRadius(const LengthSize& s) { SET_VAR(m_surround, bo rder.m_bottomLeft, s); } | |
1130 void setBorderBottomRightRadius(const LengthSize& s) { SET_VAR(m_surround, b order.m_bottomRight, s); } | |
1131 | |
1132 void setBorderRadius(const LengthSize& s) | |
1133 { | |
1134 setBorderTopLeftRadius(s); | |
1135 setBorderTopRightRadius(s); | |
1136 setBorderBottomLeftRadius(s); | |
1137 setBorderBottomRightRadius(s); | |
1138 } | |
1139 void setBorderRadius(const IntSize& s) | |
1140 { | |
1141 setBorderRadius(LengthSize(Length(s.width(), Fixed), Length(s.height(), Fixed))); | |
1142 } | |
1143 | |
1144 FloatRoundedRect getRoundedBorderFor(const LayoutRect& borderRect, bool incl udeLogicalLeftEdge = true, | |
1145 bool includeLogicalRightEdge = true) const; | |
1146 FloatRoundedRect getRoundedInnerBorderFor(const LayoutRect& borderRect, bool includeLogicalLeftEdge = true, bool includeLogicalRightEdge = true) const; | |
1147 | |
1148 FloatRoundedRect getRoundedInnerBorderFor(const LayoutRect& borderRect, | |
1149 const LayoutRectOutsets insets, bool includeLogicalLeftEdge, bool includ eLogicalRightEdge) const; | |
1150 | |
1151 void setBorderLeftWidth(unsigned v) { SET_VAR(m_surround, border.m_left.m_wi dth, v); } | |
1152 void setBorderLeftStyle(EBorderStyle v) { SET_VAR(m_surround, border.m_left. m_style, v); } | |
1153 void setBorderLeftColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(m_surro und, border.m_left, v); } | |
1154 void setBorderRightWidth(unsigned v) { SET_VAR(m_surround, border.m_right.m_ width, v); } | |
1155 void setBorderRightStyle(EBorderStyle v) { SET_VAR(m_surround, border.m_righ t.m_style, v); } | |
1156 void setBorderRightColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(m_surr ound, border.m_right, v); } | |
1157 void setBorderTopWidth(unsigned v) { SET_VAR(m_surround, border.m_top.m_widt h, v); } | |
1158 void setBorderTopStyle(EBorderStyle v) { SET_VAR(m_surround, border.m_top.m_ style, v); } | |
1159 void setBorderTopColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(m_surrou nd, border.m_top, v); } | |
1160 void setBorderBottomWidth(unsigned v) { SET_VAR(m_surround, border.m_bottom. m_width, v); } | |
1161 void setBorderBottomStyle(EBorderStyle v) { SET_VAR(m_surround, border.m_bot tom.m_style, v); } | |
1162 void setBorderBottomColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(m_sur round, border.m_bottom, v); } | |
1163 | |
1164 void setOutlineWidth(unsigned short v) { SET_VAR(m_background, m_outline.m_w idth, v); } | |
1165 void setOutlineStyleIsAuto(OutlineIsAuto isAuto) { SET_VAR(m_background, m_o utline.m_isAuto, isAuto); } | |
1166 void setOutlineStyle(EBorderStyle v) { SET_VAR(m_background, m_outline.m_sty le, v); } | |
1167 void setOutlineColor(const StyleColor& v) { SET_BORDERVALUE_COLOR(m_backgrou nd, m_outline, v); } | |
1168 bool isOutlineEquivalent(const ComputedStyle* otherStyle) const | |
1169 { | |
1170 // No other style, so we don't have an outline then we consider them to be the same. | |
1171 if (!otherStyle) | |
1172 return !hasOutline(); | |
1173 return m_background->outline().visuallyEqual(otherStyle->m_background->o utline()); | |
1174 } | |
1175 void setOutlineFromStyle(const ComputedStyle& o) | |
1176 { | |
1177 ASSERT(!isOutlineEquivalent(&o)); | |
1178 m_background.access()->m_outline = o.m_background->m_outline; | |
1179 } | |
1180 | |
1181 void setOverflowAnchor(EOverflowAnchor v) { m_nonInheritedData.m_overflowAnc hor = v; } | |
1182 void setOverflowX(EOverflow v) { m_nonInheritedData.m_overflowX = v; } | |
1183 void setOverflowY(EOverflow v) { m_nonInheritedData.m_overflowY = v; } | |
1184 void setVisibility(EVisibility v) { m_inheritedData.m_visibility = v; } | |
1185 void setVerticalAlign(EVerticalAlign v) { m_nonInheritedData.m_verticalAlign = v; } | |
1186 void setVerticalAlignLength(const Length& length) { setVerticalAlign(Vertica lAlignLength); SET_VAR(m_box, m_verticalAlign, length); } | |
1187 | |
1188 void setHasAutoClip() { SET_VAR(m_visual, hasAutoClip, true); SET_VAR(m_visu al, clip, ComputedStyle::initialClip()); } | |
1189 void setClip(const LengthBox& box) { SET_VAR(m_visual, hasAutoClip, false); SET_VAR(m_visual, clip, box); } | |
1190 | |
1191 void setUnicodeBidi(EUnicodeBidi b) { m_nonInheritedData.m_unicodeBidi = b; } | |
1192 | |
1193 void setClear(EClear v) { m_nonInheritedData.m_clear = v; } | |
1194 void setTableLayout(ETableLayout v) { m_nonInheritedData.m_tableLayout = v; } | |
1195 | |
1196 bool setFontDescription(const FontDescription&); | |
1197 void setFont(const Font&); | |
1198 | |
1199 void setTextAutosizingMultiplier(float); | |
1200 | |
1201 void setColor(const Color&); | |
1202 void setTextIndent(const Length& v) { SET_VAR(m_rareInheritedData, indent, v ); } | |
1203 void setTextIndentLine(TextIndentLine v) { SET_VAR(m_rareInheritedData, m_te xtIndentLine, v); } | |
1204 void setTextIndentType(TextIndentType v) { SET_VAR(m_rareInheritedData, m_te xtIndentType, v); } | |
1205 void setTextAlign(ETextAlign v) { m_inheritedData.m_textAlign = v; } | |
1206 void setTextAlignLast(TextAlignLast v) { SET_VAR(m_rareInheritedData, m_text AlignLast, v); } | |
1207 void setTextJustify(TextJustify v) { SET_VAR(m_rareInheritedData, m_textJust ify, v); } | |
1208 void setTextTransform(ETextTransform v) { m_inheritedData.m_textTransform = v; } | |
1209 void applyTextDecorations(); | |
1210 void clearAppliedTextDecorations(); | |
1211 void setTextDecoration(TextDecoration v) { SET_VAR(m_visual, textDecoration, v); } | |
1212 void setTextUnderlinePosition(TextUnderlinePosition v) { SET_VAR(m_rareInher itedData, m_textUnderlinePosition, v); } | |
1213 void setTextDecorationStyle(TextDecorationStyle v) { SET_VAR(m_rareNonInheri tedData, m_textDecorationStyle, v); } | |
1214 void setDirection(TextDirection v) { m_inheritedData.m_direction = v; } | |
1215 void setSelfOrAncestorHasDirAutoAttribute(bool v) { SET_VAR(m_rareInheritedD ata, m_selfOrAncestorHasDirAutoAttribute, v); } | |
1216 void setLineHeight(const Length& specifiedLineHeight); | |
1217 bool setZoom(float); | |
1218 bool setEffectiveZoom(float); | |
1219 void clearMultiCol(); | |
1220 | |
1221 void setImageRendering(EImageRendering v) { SET_VAR(m_rareInheritedData, m_i mageRendering, v); } | |
1222 | |
1223 void setWhiteSpace(EWhiteSpace v) { m_inheritedData.m_whiteSpace = v; } | |
1224 | |
1225 // FIXME: Remove these two and replace them with respective FontBuilder call s. | |
1226 void setWordSpacing(float); | |
1227 void setLetterSpacing(float); | |
1228 | |
1229 void adjustBackgroundLayers() | |
1230 { | |
1231 if (backgroundLayers().next()) { | |
1232 accessBackgroundLayers().cullEmptyLayers(); | |
1233 accessBackgroundLayers().fillUnsetProperties(); | |
1234 } | |
1235 } | |
1236 | |
1237 void adjustMaskLayers() | |
1238 { | |
1239 if (maskLayers().next()) { | |
1240 accessMaskLayers().cullEmptyLayers(); | |
1241 accessMaskLayers().fillUnsetProperties(); | |
1242 } | |
1243 } | |
1244 | |
1245 void setMaskBoxImage(const NinePieceImage& b) { SET_VAR(m_rareNonInheritedDa ta, m_maskBoxImage, b); } | |
1246 void setMaskBoxImageSource(StyleImage* v) { m_rareNonInheritedData.access()- >m_maskBoxImage.setImage(v); } | |
1247 void setMaskBoxImageSlices(const LengthBox& slices) | |
1248 { | |
1249 m_rareNonInheritedData.access()->m_maskBoxImage.setImageSlices(slices); | |
1250 } | |
1251 void setMaskBoxImageSlicesFill(bool fill) | |
1252 { | |
1253 m_rareNonInheritedData.access()->m_maskBoxImage.setFill(fill); | |
1254 } | |
1255 void setMaskBoxImageWidth(const BorderImageLengthBox& slices) | |
1256 { | |
1257 m_rareNonInheritedData.access()->m_maskBoxImage.setBorderSlices(slices); | |
1258 } | |
1259 void setMaskBoxImageOutset(const BorderImageLengthBox& outset) | |
1260 { | |
1261 m_rareNonInheritedData.access()->m_maskBoxImage.setOutset(outset); | |
1262 } | |
1263 | |
1264 void setBorderCollapse(EBorderCollapse collapse) { m_inheritedData.m_borderC ollapse = collapse; } | |
1265 void setHorizontalBorderSpacing(short); | |
1266 void setVerticalBorderSpacing(short); | |
1267 void setEmptyCells(EEmptyCells v) { m_inheritedData.m_emptyCells = v; } | |
1268 void setCaptionSide(ECaptionSide v) { m_inheritedData.m_captionSide = v; } | |
1269 | |
1270 void setListStyleType(EListStyleType v) { m_inheritedData.m_listStyleType = v; } | |
1271 void setListStyleImage(StyleImage*); | |
1272 void setListStylePosition(EListStylePosition v) { m_inheritedData.m_listStyl ePosition = v; } | |
1273 | |
1274 void setMarginTop(const Length& v) { SET_VAR(m_surround, margin.m_top, v); } | |
1275 void setMarginBottom(const Length& v) { SET_VAR(m_surround, margin.m_bottom, v); } | |
1276 void setMarginLeft(const Length& v) { SET_VAR(m_surround, margin.m_left, v); } | |
1277 void setMarginRight(const Length& v) { SET_VAR(m_surround, margin.m_right, v ); } | |
1278 void setMarginStart(const Length&); | |
1279 void setMarginEnd(const Length&); | |
1280 | |
1281 void resetPadding() { SET_VAR(m_surround, padding, LengthBox(Fixed)); } | |
1282 void setPaddingBox(const LengthBox& b) { SET_VAR(m_surround, padding, b); } | |
1283 void setPaddingTop(const Length& v) { SET_VAR(m_surround, padding.m_top, v); } | |
1284 void setPaddingBottom(const Length& v) { SET_VAR(m_surround, padding.m_botto m, v); } | |
1285 void setPaddingLeft(const Length& v) { SET_VAR(m_surround, padding.m_left, v ); } | |
1286 void setPaddingRight(const Length& v) { SET_VAR(m_surround, padding.m_right, v); } | |
1287 | |
1288 void setCursor(ECursor c) { m_inheritedData.m_cursorStyle = c; } | |
1289 void addCursor(StyleImage*, bool hotSpotSpecified, const IntPoint& hotSpot = IntPoint()); | |
1290 void setCursorList(CursorList*); | |
1291 void clearCursorList(); | |
1292 | |
1293 void setInsideLink(EInsideLink insideLink) { m_inheritedData.m_insideLink = insideLink; } | |
1294 void setIsLink(bool b) { m_nonInheritedData.m_isLink = b; } | |
1295 | |
1296 PrintColorAdjust getPrintColorAdjust() const { return static_cast<PrintColor Adjust>(m_inheritedData.m_printColorAdjust); } | |
1297 void setPrintColorAdjust(PrintColorAdjust value) { m_inheritedData.m_printCo lorAdjust = value; } | |
1298 | |
1299 // A stacking context is painted atomically and defines a stacking order, wh ereas | |
1300 // a containing stacking context defines in which order the stacking context s | |
1301 // below are painted. | |
1302 // See CSS 2.1, Appendix E (https://www.w3.org/TR/CSS21/zindex.html) for mor e details. | |
1303 bool isStackingContext() const { return m_rareNonInheritedData->m_isStacking Context; } | |
1304 | |
1305 void updateIsStackingContext(bool isDocumentElement, bool isInTopLayer); | |
1306 void setIsStackingContext(bool b) { SET_VAR(m_rareNonInheritedData, m_isStac kingContext, b); } | |
1307 | |
1308 // Stacking contexts and positioned elements[1] are stacked (sorted in negZO rderList | |
1309 // and posZOrderList) in their enclosing stacking contexts. | |
1310 // | |
1311 // [1] According to CSS2.1, Appendix E.2.8 (https://www.w3.org/TR/CSS21/zind ex.html), | |
1312 // positioned elements with 'z-index: auto' are "treated as if it created a new | |
1313 // stacking context" and z-ordered together with other elements with 'z-inde x: 0'. | |
1314 // The difference of them from normal stacking contexts is that they don't d etermine | |
1315 // the stacking of the elements underneath them. | |
1316 // (Note: There are also other elements treated as stacking context during p ainting, | |
1317 // but not managed in stacks. See ObjectPainter::paintAllPhasesAtomically(). ) | |
1318 bool isStacked() const { return isStackingContext() || position() != StaticP osition; } | |
1319 | |
1320 bool hasAutoZIndex() const { return m_box->hasAutoZIndex(); } | |
1321 void setHasAutoZIndex() { SET_VAR(m_box, m_hasAutoZIndex, true); SET_VAR(m_b ox, m_zIndex, 0); } | |
1322 int zIndex() const { return m_box->zIndex(); } | |
1323 void setZIndex(int v) { SET_VAR(m_box, m_hasAutoZIndex, false); SET_VAR(m_bo x, m_zIndex, v); } | |
1324 void setWidows(short w) { SET_VAR(m_rareInheritedData, widows, w); } | |
1325 void setOrphans(short o) { SET_VAR(m_rareInheritedData, orphans, o); } | |
1326 void setBreakAfter(EBreak b) { DCHECK_LE(b, BreakValueLastAllowedForBreakAft erAndBefore); m_nonInheritedData.m_breakAfter = b; } | |
1327 void setBreakBefore(EBreak b) { DCHECK_LE(b, BreakValueLastAllowedForBreakAf terAndBefore); m_nonInheritedData.m_breakBefore = b; } | |
1328 void setBreakInside(EBreak b) { DCHECK_LE(b, BreakValueLastAllowedForBreakIn side); m_nonInheritedData.m_breakInside = b; } | |
1329 | |
1330 void setTextSizeAdjust(TextSizeAdjust sizeAdjust) { SET_VAR(m_rareInheritedD ata, m_textSizeAdjust, sizeAdjust); } | |
1331 | |
1332 // CSS3 Setters | |
1333 void setOutlineOffset(int v) { SET_VAR(m_background, m_outline.m_offset, v); } | |
1334 void setTextShadow(PassRefPtr<ShadowList>); | |
1335 void setTextStrokeColor(const StyleColor& c) { SET_VAR_WITH_SETTER(m_rareInh eritedData, textStrokeColor, setTextStrokeColor, c); } | |
1336 void setTextStrokeWidth(float w) { SET_VAR(m_rareInheritedData, textStrokeWi dth, w); } | |
1337 void setTextFillColor(const StyleColor& c) { SET_VAR_WITH_SETTER(m_rareInher itedData, textFillColor, setTextFillColor, c); } | |
1338 void setOpacity(float f) { float v = clampTo<float>(f, 0, 1); SET_VAR(m_rare NonInheritedData, opacity, v); } | |
1339 void setAppearance(ControlPart a) { SET_VAR(m_rareNonInheritedData, m_appear ance, a); } | |
1340 // For valid values of box-align see http://www.w3.org/TR/2009/WD-css3-flexb ox-20090723/#alignment | |
1341 void setBoxAlign(EBoxAlignment a) { SET_NESTED_VAR(m_rareNonInheritedData, m _deprecatedFlexibleBox, align, a); } | |
1342 void setBoxDecorationBreak(EBoxDecorationBreak b) { SET_VAR(m_box, m_boxDeco rationBreak, b); } | |
1343 void setBoxDirection(EBoxDirection d) { m_inheritedData.m_boxDirection = d; } | |
1344 void setBoxFlex(float f) { SET_NESTED_VAR(m_rareNonInheritedData, m_deprecat edFlexibleBox, flex, f); } | |
1345 void setBoxFlexGroup(unsigned fg) { SET_NESTED_VAR(m_rareNonInheritedData, m _deprecatedFlexibleBox, flexGroup, fg); } | |
1346 void setBoxLines(EBoxLines lines) { SET_NESTED_VAR(m_rareNonInheritedData, m _deprecatedFlexibleBox, lines, lines); } | |
1347 void setBoxOrdinalGroup(unsigned og) { SET_NESTED_VAR(m_rareNonInheritedData , m_deprecatedFlexibleBox, ordinalGroup, og); } | |
1348 void setBoxOrient(EBoxOrient o) { SET_NESTED_VAR(m_rareNonInheritedData, m_d eprecatedFlexibleBox, orient, o); } | |
1349 void setBoxPack(EBoxPack p) { SET_NESTED_VAR(m_rareNonInheritedData, m_depre catedFlexibleBox, pack, p); } | |
1350 void setBoxShadow(PassRefPtr<ShadowList>); | |
1351 void setBoxReflect(PassRefPtr<StyleReflection> reflect) | |
1352 { | |
1353 if (m_rareNonInheritedData->m_boxReflect != reflect) | |
1354 m_rareNonInheritedData.access()->m_boxReflect = reflect; | |
1355 } | |
1356 void setBoxSizing(EBoxSizing s) { SET_VAR(m_box, m_boxSizing, s); } | |
1357 void setContain(Containment contain) { SET_VAR(m_rareNonInheritedData, m_con tain, contain); } | |
1358 void setFlexGrow(float f) { SET_NESTED_VAR(m_rareNonInheritedData, m_flexibl eBox, m_flexGrow, f); } | |
1359 void setFlexShrink(float f) { SET_NESTED_VAR(m_rareNonInheritedData, m_flexi bleBox, m_flexShrink, f); } | |
1360 void setFlexBasis(const Length& length) { SET_NESTED_VAR(m_rareNonInheritedD ata, m_flexibleBox, m_flexBasis, length); } | |
1361 // We restrict the smallest value to int min + 2 because we use int min and int min + 1 as special values in a hash set. | |
1362 void setOrder(int o) { SET_VAR(m_rareNonInheritedData, m_order, max(std::num eric_limits<int>::min() + 2, o)); } | |
1363 void addCallbackSelector(const String& selector); | |
1364 void setAlignContent(const StyleContentAlignmentData& data) { SET_VAR(m_rare NonInheritedData, m_alignContent, data); } | |
1365 void setAlignContentPosition(ContentPosition position) { m_rareNonInheritedD ata.access()->m_alignContent.setPosition(position); } | |
1366 void setAlignContentDistribution(ContentDistributionType distribution) { m_r areNonInheritedData.access()->m_alignContent.setDistribution(distribution); } | |
1367 void setAlignContentOverflow(OverflowAlignment overflow) { m_rareNonInherite dData.access()->m_alignContent.setOverflow(overflow); } | |
1368 void setAlignItems(const StyleSelfAlignmentData& data) { SET_VAR(m_rareNonIn heritedData, m_alignItems, data); } | |
1369 void setAlignItemsPosition(ItemPosition position) { m_rareNonInheritedData.a ccess()->m_alignItems.setPosition(position); } | |
1370 void setAlignItemsOverflow(OverflowAlignment overflow) { m_rareNonInheritedD ata.access()->m_alignItems.setOverflow(overflow); } | |
1371 void setAlignSelf(const StyleSelfAlignmentData& data) { SET_VAR(m_rareNonInh eritedData, m_alignSelf, data); } | |
1372 void setAlignSelfPosition(ItemPosition position) { m_rareNonInheritedData.ac cess()->m_alignSelf.setPosition(position); } | |
1373 void setAlignSelfOverflow(OverflowAlignment overflow) { m_rareNonInheritedDa ta.access()->m_alignSelf.setOverflow(overflow); } | |
1374 void setFlexDirection(EFlexDirection direction) { SET_NESTED_VAR(m_rareNonIn heritedData, m_flexibleBox, m_flexDirection, direction); } | |
1375 void setFlexWrap(EFlexWrap w) { SET_NESTED_VAR(m_rareNonInheritedData, m_fle xibleBox, m_flexWrap, w); } | |
1376 void setJustifyContent(const StyleContentAlignmentData& data) { SET_VAR(m_ra reNonInheritedData, m_justifyContent, data); } | |
1377 void setJustifyContentPosition(ContentPosition position) { m_rareNonInherite dData.access()->m_justifyContent.setPosition(position); } | |
1378 void setJustifyContentDistribution(ContentDistributionType distribution) { m _rareNonInheritedData.access()->m_justifyContent.setDistribution(distribution); } | |
1379 void setJustifyContentOverflow(OverflowAlignment overflow) { m_rareNonInheri tedData.access()->m_justifyContent.setOverflow(overflow); } | |
1380 void setJustifyItems(const StyleSelfAlignmentData& data) { SET_VAR(m_rareNon InheritedData, m_justifyItems, data); } | |
1381 void setJustifyItemsPosition(ItemPosition position) { m_rareNonInheritedData .access()->m_justifyItems.setPosition(position); } | |
1382 void setJustifyItemsOverflow(OverflowAlignment overflow) { m_rareNonInherite dData.access()->m_justifyItems.setOverflow(overflow); } | |
1383 void setJustifyItemsPositionType(ItemPositionType positionType) { m_rareNonI nheritedData.access()->m_justifyItems.setPositionType(positionType); } | |
1384 void setJustifySelf(const StyleSelfAlignmentData& data) { SET_VAR(m_rareNonI nheritedData, m_justifySelf, data); } | |
1385 void setJustifySelfPosition(ItemPosition position) { m_rareNonInheritedData. access()->m_justifySelf.setPosition(position); } | |
1386 void setJustifySelfOverflow(OverflowAlignment overflow) { m_rareNonInherited Data.access()->m_justifySelf.setOverflow(overflow); } | |
1387 void setGridAutoColumns(const Vector<GridTrackSize>& trackSizeList) { SET_NE STED_VAR(m_rareNonInheritedData, m_grid, m_gridAutoColumns, trackSizeList); } | |
1388 void setGridAutoRows(const Vector<GridTrackSize>& trackSizeList) { SET_NESTE D_VAR(m_rareNonInheritedData, m_grid, m_gridAutoRows, trackSizeList); } | |
1389 void setGridTemplateColumns(const Vector<GridTrackSize>& lengths) { SET_NEST ED_VAR(m_rareNonInheritedData, m_grid, m_gridTemplateColumns, lengths); } | |
1390 void setGridTemplateRows(const Vector<GridTrackSize>& lengths) { SET_NESTED_ VAR(m_rareNonInheritedData, m_grid, m_gridTemplateRows, lengths); } | |
1391 void setGridAutoRepeatColumns(const Vector<GridTrackSize>& trackSizes) { SET _NESTED_VAR(m_rareNonInheritedData, m_grid, m_gridAutoRepeatColumns, trackSizes) ; } | 1768 void setGridAutoRepeatColumns(const Vector<GridTrackSize>& trackSizes) { SET _NESTED_VAR(m_rareNonInheritedData, m_grid, m_gridAutoRepeatColumns, trackSizes) ; } |
1392 void setGridAutoRepeatRows(const Vector<GridTrackSize>& trackSizes) { SET_NE STED_VAR(m_rareNonInheritedData, m_grid, m_gridAutoRepeatRows, trackSizes); } | 1769 void setGridAutoRepeatRows(const Vector<GridTrackSize>& trackSizes) { SET_NE STED_VAR(m_rareNonInheritedData, m_grid, m_gridAutoRepeatRows, trackSizes); } |
1393 void setGridAutoRepeatColumnsInsertionPoint(const size_t insertionPoint) { S ET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_autoRepeatColumnsInsertionPoint, insertionPoint); } | 1770 void setGridAutoRepeatColumnsInsertionPoint(const size_t insertionPoint) { S ET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_autoRepeatColumnsInsertionPoint, insertionPoint); } |
1394 void setGridAutoRepeatRowsInsertionPoint(const size_t insertionPoint) { SET_ NESTED_VAR(m_rareNonInheritedData, m_grid, m_autoRepeatRowsInsertionPoint, inser tionPoint); } | 1771 void setGridAutoRepeatRowsInsertionPoint(const size_t insertionPoint) { SET_ NESTED_VAR(m_rareNonInheritedData, m_grid, m_autoRepeatRowsInsertionPoint, inser tionPoint); } |
1395 void setGridAutoRepeatColumnsType(const AutoRepeatType autoRepeatType) { SET _NESTED_VAR(m_rareNonInheritedData, m_grid, m_autoRepeatColumnsType, autoRepeatT ype); } | 1772 void setGridAutoRepeatColumnsType(const AutoRepeatType autoRepeatType) { SET _NESTED_VAR(m_rareNonInheritedData, m_grid, m_autoRepeatColumnsType, autoRepeatT ype); } |
1396 void setGridAutoRepeatRowsType(const AutoRepeatType autoRepeatType) { SET_NE STED_VAR(m_rareNonInheritedData, m_grid, m_autoRepeatRowsType, autoRepeatType); } | 1773 void setGridAutoRepeatRowsType(const AutoRepeatType autoRepeatType) { SET_NE STED_VAR(m_rareNonInheritedData, m_grid, m_autoRepeatRowsType, autoRepeatType); } |
1397 void setNamedGridColumnLines(const NamedGridLinesMap& namedGridColumnLines) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_namedGridColumnLines, namedGr idColumnLines); } | 1774 void setNamedGridColumnLines(const NamedGridLinesMap& namedGridColumnLines) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_namedGridColumnLines, namedGr idColumnLines); } |
1398 void setNamedGridRowLines(const NamedGridLinesMap& namedGridRowLines) { SET_ NESTED_VAR(m_rareNonInheritedData, m_grid, m_namedGridRowLines, namedGridRowLine s); } | 1775 void setNamedGridRowLines(const NamedGridLinesMap& namedGridRowLines) { SET_ NESTED_VAR(m_rareNonInheritedData, m_grid, m_namedGridRowLines, namedGridRowLine s); } |
1399 void setOrderedNamedGridColumnLines(const OrderedNamedGridLines& orderedName dGridColumnLines) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_orderedName dGridColumnLines, orderedNamedGridColumnLines); } | 1776 void setOrderedNamedGridColumnLines(const OrderedNamedGridLines& orderedName dGridColumnLines) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_orderedName dGridColumnLines, orderedNamedGridColumnLines); } |
1400 void setOrderedNamedGridRowLines(const OrderedNamedGridLines& orderedNamedGr idRowLines) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_orderedNamedGridR owLines, orderedNamedGridRowLines); } | 1777 void setOrderedNamedGridRowLines(const OrderedNamedGridLines& orderedNamedGr idRowLines) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_orderedNamedGridR owLines, orderedNamedGridRowLines); } |
1401 void setAutoRepeatNamedGridColumnLines(const NamedGridLinesMap& namedGridCol umnLines) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_autoRepeatNamedGrid ColumnLines, namedGridColumnLines); } | 1778 void setAutoRepeatNamedGridColumnLines(const NamedGridLinesMap& namedGridCol umnLines) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_autoRepeatNamedGrid ColumnLines, namedGridColumnLines); } |
1402 void setAutoRepeatNamedGridRowLines(const NamedGridLinesMap& namedGridRowLin es) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_autoRepeatNamedGridRowLin es, namedGridRowLines); } | 1779 void setAutoRepeatNamedGridRowLines(const NamedGridLinesMap& namedGridRowLin es) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_autoRepeatNamedGridRowLin es, namedGridRowLines); } |
1403 void setAutoRepeatOrderedNamedGridColumnLines(const OrderedNamedGridLines& o rderedNamedGridColumnLines) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_a utoRepeatOrderedNamedGridColumnLines, orderedNamedGridColumnLines); } | 1780 void setAutoRepeatOrderedNamedGridColumnLines(const OrderedNamedGridLines& o rderedNamedGridColumnLines) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_a utoRepeatOrderedNamedGridColumnLines, orderedNamedGridColumnLines); } |
1404 void setAutoRepeatOrderedNamedGridRowLines(const OrderedNamedGridLines& orde redNamedGridRowLines) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_autoRep eatOrderedNamedGridRowLines, orderedNamedGridRowLines); } | 1781 void setAutoRepeatOrderedNamedGridRowLines(const OrderedNamedGridLines& orde redNamedGridRowLines) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_autoRep eatOrderedNamedGridRowLines, orderedNamedGridRowLines); } |
1405 void setNamedGridArea(const NamedGridAreaMap& namedGridArea) { SET_NESTED_VA R(m_rareNonInheritedData, m_grid, m_namedGridArea, namedGridArea); } | 1782 void setNamedGridArea(const NamedGridAreaMap& namedGridArea) { SET_NESTED_VA R(m_rareNonInheritedData, m_grid, m_namedGridArea, namedGridArea); } |
1406 void setNamedGridAreaRowCount(size_t rowCount) { SET_NESTED_VAR(m_rareNonInh eritedData, m_grid, m_namedGridAreaRowCount, rowCount); } | 1783 void setNamedGridAreaRowCount(size_t rowCount) { SET_NESTED_VAR(m_rareNonInh eritedData, m_grid, m_namedGridAreaRowCount, rowCount); } |
1407 void setNamedGridAreaColumnCount(size_t columnCount) { SET_NESTED_VAR(m_rare NonInheritedData, m_grid, m_namedGridAreaColumnCount, columnCount); } | 1784 void setNamedGridAreaColumnCount(size_t columnCount) { SET_NESTED_VAR(m_rare NonInheritedData, m_grid, m_namedGridAreaColumnCount, columnCount); } |
1408 void setGridAutoFlow(GridAutoFlow flow) { SET_NESTED_VAR(m_rareNonInheritedD ata, m_grid, m_gridAutoFlow, flow); } | 1785 |
1409 | 1786 // Justify-self utility functions. |
1410 void setGridColumnStart(const GridPosition& columnStartPosition) { SET_NESTE D_VAR(m_rareNonInheritedData, m_gridItem, m_gridColumnStart, columnStartPosition ); } | 1787 ItemPosition justifySelfPosition() const { return m_rareNonInheritedData->m_ justifySelf.position(); } |
1411 void setGridColumnEnd(const GridPosition& columnEndPosition) { SET_NESTED_VA R(m_rareNonInheritedData, m_gridItem, m_gridColumnEnd, columnEndPosition); } | 1788 OverflowAlignment justifySelfOverflowAlignment() const { return m_rareNonInh eritedData->m_justifySelf.overflow(); } |
1412 void setGridRowStart(const GridPosition& rowStartPosition) { SET_NESTED_VAR( m_rareNonInheritedData, m_gridItem, m_gridRowStart, rowStartPosition); } | 1789 void setJustifySelfPosition(ItemPosition position) { m_rareNonInheritedData. access()->m_justifySelf.setPosition(position); } |
1413 void setGridRowEnd(const GridPosition& rowEndPosition) { SET_NESTED_VAR(m_ra reNonInheritedData, m_gridItem, m_gridRowEnd, rowEndPosition); } | 1790 void setJustifySelfOverflow(OverflowAlignment overflow) { m_rareNonInherited Data.access()->m_justifySelf.setOverflow(overflow); } |
1414 void setGridColumnGap(const Length& v) { SET_NESTED_VAR(m_rareNonInheritedDa ta, m_grid, m_gridColumnGap, v); } | 1791 |
1415 void setGridRowGap(const Length& v) { SET_NESTED_VAR(m_rareNonInheritedData, m_grid, m_gridRowGap, v); } | 1792 // Justify-items utility functions. |
1416 | 1793 ItemPosition justifyItemsPosition() const { return m_rareNonInheritedData->m _justifyItems.position(); } |
1417 void setUserModify(EUserModify u) { SET_VAR(m_rareInheritedData, userModify, u); } | 1794 OverflowAlignment justifyItemsOverflowAlignment() const { return m_rareNonIn heritedData->m_justifyItems.overflow(); } |
1418 void setUserDrag(EUserDrag d) { SET_VAR(m_rareNonInheritedData, userDrag, d) ; } | 1795 ItemPositionType justifyItemsPositionType() const { return m_rareNonInherite dData->m_justifyItems.positionType(); } |
1419 void setUserSelect(EUserSelect s) { SET_VAR(m_rareInheritedData, userSelect, s); } | 1796 void setJustifyItemsPosition(ItemPosition position) { m_rareNonInheritedData .access()->m_justifyItems.setPosition(position); } |
1420 void setTextOverflow(TextOverflow overflow) { SET_VAR(m_rareNonInheritedData , textOverflow, overflow); } | 1797 void setJustifyItemsOverflow(OverflowAlignment overflow) { m_rareNonInherite dData.access()->m_justifyItems.setOverflow(overflow); } |
1421 void setMarginBeforeCollapse(EMarginCollapse c) { SET_VAR(m_rareNonInherited Data, marginBeforeCollapse, c); } | 1798 void setJustifyItemsPositionType(ItemPositionType positionType) { m_rareNonI nheritedData.access()->m_justifyItems.setPositionType(positionType); } |
1422 void setMarginAfterCollapse(EMarginCollapse c) { SET_VAR(m_rareNonInheritedD ata, marginAfterCollapse, c); } | 1799 |
1423 void setWordBreak(EWordBreak b) { SET_VAR(m_rareInheritedData, wordBreak, b) ; } | 1800 // Writing mode utility functions. |
1424 void setOverflowWrap(EOverflowWrap b) { SET_VAR(m_rareInheritedData, overflo wWrap, b); } | 1801 bool isHorizontalWritingMode() const { return blink::isHorizontalWritingMode (getWritingMode()); } |
1425 void setLineBreak(LineBreak b) { SET_VAR(m_rareInheritedData, lineBreak, b); } | 1802 bool isFlippedLinesWritingMode() const { return blink::isFlippedLinesWriting Mode(getWritingMode()); } |
1426 void setHighlight(const AtomicString& h) { SET_VAR(m_rareInheritedData, high light, h); } | 1803 bool isFlippedBlocksWritingMode() const { return blink::isFlippedBlocksWriti ngMode(getWritingMode()); } |
1427 void setHyphens(Hyphens h) { SET_VAR(m_rareInheritedData, hyphens, h); } | 1804 |
1428 void setHyphenationString(const AtomicString& h) { SET_VAR(m_rareInheritedDa ta, hyphenationString, h); } | 1805 // Will-change utility functions. |
1429 void setResize(EResize r) { SET_VAR(m_rareNonInheritedData, m_resize, r); } | 1806 bool hasWillChangeCompositingHint() const; |
1430 void setColumnWidth(float f) { SET_NESTED_VAR(m_rareNonInheritedData, m_mult iCol, m_autoWidth, false); SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_ width, f); } | 1807 bool hasWillChangeOpacityHint() const { return willChangeProperties().contai ns(CSSPropertyOpacity); } |
1431 void setHasAutoColumnWidth() { SET_NESTED_VAR(m_rareNonInheritedData, m_mult iCol, m_autoWidth, true); SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_w idth, 0); } | 1808 bool hasWillChangeTransformHint() const; |
1432 void setColumnCount(unsigned short c) { SET_NESTED_VAR(m_rareNonInheritedDat a, m_multiCol, m_autoCount, false); SET_NESTED_VAR(m_rareNonInheritedData, m_mul tiCol, m_count, c); } | 1809 |
1433 void setHasAutoColumnCount() { SET_NESTED_VAR(m_rareNonInheritedData, m_mult iCol, m_autoCount, true); SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_c ount, initialColumnCount()); } | 1810 // Hyphen utility functions. |
1434 void setColumnFill(ColumnFill columnFill) { SET_NESTED_VAR(m_rareNonInherite dData, m_multiCol, m_fill, columnFill); } | 1811 const AtomicString& hyphenString() const; |
1435 void setColumnGap(float f) { SET_NESTED_VAR(m_rareNonInheritedData, m_multiC ol, m_normalGap, false); SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_ga p, f); } | 1812 |
1436 void setHasNormalColumnGap() { SET_NESTED_VAR(m_rareNonInheritedData, m_mult iCol, m_normalGap, true); SET_NESTED_VAR(m_rareNonInheritedData, m_multiCol, m_g ap, 0); } | 1813 // Line-height utility functions. |
1437 void setColumnRuleColor(const StyleColor& c) { SET_BORDERVALUE_COLOR(m_rareN onInheritedData.access()->m_multiCol, m_rule, c); } | 1814 const Length& specifiedLineHeight() const; |
1438 void setColumnRuleStyle(EBorderStyle b) { SET_NESTED_VAR(m_rareNonInheritedD ata, m_multiCol, m_rule.m_style, b); } | 1815 int computedLineHeight() const; |
1439 void setColumnRuleWidth(unsigned short w) { SET_NESTED_VAR(m_rareNonInherite dData, m_multiCol, m_rule.m_width, w); } | 1816 |
1440 void setColumnSpan(ColumnSpan columnSpan) { SET_NESTED_VAR(m_rareNonInherite dData, m_multiCol, m_columnSpan, columnSpan); } | 1817 // Width/height utility functions. |
1441 void inheritColumnPropertiesFrom(const ComputedStyle& parent) { m_rareNonInh eritedData.access()->m_multiCol = parent.m_rareNonInheritedData->m_multiCol; } | 1818 const Length& logicalWidth() const { return isHorizontalWritingMode() ? widt h() : height(); } |
1442 void setHasInlineTransform(bool b) { SET_VAR(m_rareNonInheritedData, m_hasIn lineTransform, b); } | 1819 const Length& logicalHeight() const { return isHorizontalWritingMode() ? hei ght() : width(); } |
1443 void setHasCompositorProxy(bool b) { SET_VAR(m_rareNonInheritedData, m_hasCo mpositorProxy, b); } | 1820 void setLogicalWidth(const Length& v) |
1444 void setTransform(const TransformOperations& ops) { SET_NESTED_VAR(m_rareNon InheritedData, m_transform, m_operations, ops); } | 1821 { |
1445 void setTransformOriginX(const Length& v) { setTransformOrigin(TransformOrig in(v, transformOriginY(), transformOriginZ())); } | 1822 if (isHorizontalWritingMode()) { |
1446 void setTransformOriginY(const Length& v) { setTransformOrigin(TransformOrig in(transformOriginX(), v, transformOriginZ())); } | 1823 SET_VAR(m_box, m_width, v); |
1447 void setTransformOriginZ(float f) { setTransformOrigin(TransformOrigin(trans formOriginX(), transformOriginY(), f)); } | 1824 } else { |
1448 void setTransformOrigin(const TransformOrigin& o) { SET_NESTED_VAR(m_rareNon InheritedData, m_transform, m_origin, o); } | 1825 SET_VAR(m_box, m_height, v); |
1449 void setTranslate(PassRefPtr<TranslateTransformOperation> v) { m_rareNonInhe ritedData.access()->m_transform.access()->m_translate = v; } | 1826 } |
1450 void setRotate(PassRefPtr<RotateTransformOperation> v) { m_rareNonInheritedD ata.access()->m_transform.access()->m_rotate = v; } | 1827 } |
1451 void setScale(PassRefPtr<ScaleTransformOperation> v) { m_rareNonInheritedDat a.access()->m_transform.access()->m_scale = v; } | 1828 |
1452 | 1829 void setLogicalHeight(const Length& v) |
1453 void setSpeak(ESpeak s) { SET_VAR(m_rareInheritedData, speak, s); } | 1830 { |
1454 void setTextCombine(TextCombine v) { SET_VAR(m_rareInheritedData, m_textComb ine, v); } | 1831 if (isHorizontalWritingMode()) { |
1455 void setTextDecorationColor(const StyleColor& c) { SET_VAR(m_rareNonInherite dData, m_textDecorationColor, c); } | 1832 SET_VAR(m_box, m_height, v); |
1456 void setTextEmphasisColor(const StyleColor& c) { SET_VAR_WITH_SETTER(m_rareI nheritedData, textEmphasisColor, setTextEmphasisColor, c); } | 1833 } else { |
1457 void setTextEmphasisFill(TextEmphasisFill fill) { SET_VAR(m_rareInheritedDat a, textEmphasisFill, fill); } | 1834 SET_VAR(m_box, m_width, v); |
1458 void setTextEmphasisMark(TextEmphasisMark mark) { SET_VAR(m_rareInheritedDat a, textEmphasisMark, mark); } | 1835 } |
1459 void setTextEmphasisCustomMark(const AtomicString& mark) { SET_VAR(m_rareInh eritedData, textEmphasisCustomMark, mark); } | 1836 } |
1460 void setTextEmphasisPosition(TextEmphasisPosition position) { SET_VAR(m_rare InheritedData, textEmphasisPosition, position); } | 1837 const Length& logicalMaxWidth() const { return isHorizontalWritingMode() ? m axWidth() : maxHeight(); } |
1461 bool setTextOrientation(TextOrientation); | 1838 const Length& logicalMaxHeight() const { return isHorizontalWritingMode() ? maxHeight() : maxWidth(); } |
1462 | 1839 const Length& logicalMinWidth() const { return isHorizontalWritingMode() ? m inWidth() : minHeight(); } |
1463 void setMotionPath(PassRefPtr<StylePath>); | 1840 const Length& logicalMinHeight() const { return isHorizontalWritingMode() ? minHeight() : minWidth(); } |
1464 void setMotionOffset(const Length& motionOffset) { SET_NESTED_VAR(m_rareNonI nheritedData, m_transform, m_motion.m_offset, motionOffset); } | 1841 |
1465 void setMotionRotation(const StyleMotionRotation& motionRotation) { SET_NEST ED_VAR(m_rareNonInheritedData, m_transform, m_motion.m_rotation, motionRotation) ; } | 1842 // Margin utility functions. |
1466 | 1843 bool hasMargin() const { return m_surround->margin.nonZero(); } |
1467 void setObjectFit(ObjectFit f) { SET_VAR(m_rareNonInheritedData, m_objectFit , f); } | 1844 bool hasMarginBeforeQuirk() const { return marginBefore().quirk(); } |
1468 void setObjectPosition(LengthPoint position) { SET_VAR(m_rareNonInheritedDat a, m_objectPosition, position); } | 1845 bool hasMarginAfterQuirk() const { return marginAfter().quirk(); } |
1469 | 1846 const Length& marginBefore() const { return m_surround->margin.before(getWri tingMode()); } |
1470 void setRubyPosition(RubyPosition position) { SET_VAR(m_rareInheritedData, m _rubyPosition, position); } | 1847 const Length& marginAfter() const { return m_surround->margin.after(getWriti ngMode()); } |
1471 | 1848 const Length& marginStart() const { return m_surround->margin.start(getWriti ngMode(), direction()); } |
1472 void setFilter(const FilterOperations& ops) { SET_NESTED_VAR(m_rareNonInheri tedData, m_filter, m_operations, ops); } | 1849 const Length& marginEnd() const { return m_surround->margin.end(getWritingMo de(), direction()); } |
1473 void setBackdropFilter(const FilterOperations& ops) { SET_NESTED_VAR(m_rareN onInheritedData, m_backdropFilter, m_operations, ops); } | 1850 const Length& marginOver() const { return m_surround->margin.over(getWriting Mode()); } |
1474 | 1851 const Length& marginUnder() const { return m_surround->margin.under(getWriti ngMode()); } |
1475 void setSnapHeightPosition(uint8_t position) { SET_VAR(m_rareInheritedData, m_snapHeightPosition, position); } | 1852 const Length& marginStartUsing(const ComputedStyle* otherStyle) const { retu rn m_surround->margin.start(otherStyle->getWritingMode(), otherStyle->direction( )); } |
1476 void setSnapHeightUnit(uint8_t unit) { SET_VAR(m_rareInheritedData, m_snapHe ightUnit, unit); } | 1853 const Length& marginEndUsing(const ComputedStyle* otherStyle) const { return m_surround->margin.end(otherStyle->getWritingMode(), otherStyle->direction()); } |
1477 | 1854 const Length& marginBeforeUsing(const ComputedStyle* otherStyle) const { ret urn m_surround->margin.before(otherStyle->getWritingMode()); } |
1478 void setTabSize(TabSize size) { SET_VAR(m_rareInheritedData, m_tabSize, size ); } | 1855 const Length& marginAfterUsing(const ComputedStyle* otherStyle) const { retu rn m_surround->margin.after(otherStyle->getWritingMode()); } |
1479 | 1856 void setMarginStart(const Length&); |
1480 void setRespectImageOrientation(RespectImageOrientationEnum v) { SET_VAR(m_r areInheritedData, m_respectImageOrientation, v); } | 1857 void setMarginEnd(const Length&); |
1481 | 1858 |
1482 // End CSS3 Setters | 1859 // Padding utility functions. |
1483 | 1860 const LengthBox& paddingBox() const { return m_surround->padding; } |
1484 void setWrapFlow(WrapFlow wrapFlow) { SET_VAR(m_rareNonInheritedData, m_wrap Flow, wrapFlow); } | 1861 const Length& paddingBefore() const { return m_surround->padding.before(getW ritingMode()); } |
1485 void setWrapThrough(WrapThrough wrapThrough) { SET_VAR(m_rareNonInheritedDat a, m_wrapThrough, wrapThrough); } | 1862 const Length& paddingAfter() const { return m_surround->padding.after(getWri tingMode()); } |
1486 | 1863 const Length& paddingStart() const { return m_surround->padding.start(getWri tingMode(), direction()); } |
1487 // Apple-specific property setters | 1864 const Length& paddingEnd() const { return m_surround->padding.end(getWriting Mode(), direction()); } |
1488 void setPointerEvents(EPointerEvents p) { m_inheritedData.m_pointerEvents = p; } | 1865 const Length& paddingOver() const { return m_surround->padding.over(getWriti ngMode()); } |
1489 | 1866 const Length& paddingUnder() const { return m_surround->padding.under(getWri tingMode()); } |
1490 void setTransformStyle3D(ETransformStyle3D b) { SET_VAR(m_rareNonInheritedDa ta, m_transformStyle3D, b); } | 1867 bool hasPadding() const { return m_surround->padding.nonZero(); } |
1491 void setBackfaceVisibility(EBackfaceVisibility b) { SET_VAR(m_rareNonInherit edData, m_backfaceVisibility, b); } | 1868 void resetPadding() { SET_VAR(m_surround, padding, LengthBox(Fixed)); } |
1492 void setPerspective(float p) { SET_VAR(m_rareNonInheritedData, m_perspective , p); } | 1869 void setPaddingBox(const LengthBox& b) { SET_VAR(m_surround, padding, b); } |
1493 void setPerspectiveOriginX(const Length& v) { setPerspectiveOrigin(LengthPoi nt(v, perspectiveOriginY())); } | 1870 |
1494 void setPerspectiveOriginY(const Length& v) { setPerspectiveOrigin(LengthPoi nt(perspectiveOriginX(), v)); } | 1871 // Border utility functions |
1495 void setPerspectiveOrigin(const LengthPoint& p) { SET_VAR(m_rareNonInherited Data, m_perspectiveOrigin, p); } | 1872 LayoutRectOutsets imageOutsets(const NinePieceImage&) const; |
1496 void setPageSize(const FloatSize& s) { SET_VAR(m_rareNonInheritedData, m_pag eSize, s); } | 1873 bool hasBorderImageOutsets() const |
1497 void setPageSizeType(PageSizeType t) { SET_VAR(m_rareNonInheritedData, m_pag eSizeType, t); } | 1874 { |
1875 return borderImage().hasImage() && borderImage().outset().nonZero(); | |
1876 } | |
1877 LayoutRectOutsets borderImageOutsets() const | |
1878 { | |
1879 return imageOutsets(borderImage()); | |
1880 } | |
1881 bool borderImageSlicesFill() const { return m_surround->border.image().fill( ); } | |
1882 | |
1883 void setBorderImageSlicesFill(bool); | |
1884 const BorderData& border() const { return m_surround->border; } | |
1885 const BorderValue& borderLeft() const { return m_surround->border.left(); } | |
1886 const BorderValue& borderRight() const { return m_surround->border.right(); } | |
1887 const BorderValue& borderTop() const { return m_surround->border.top(); } | |
1888 const BorderValue& borderBottom() const { return m_surround->border.bottom() ; } | |
1889 const BorderValue& borderBefore() const; | |
1890 const BorderValue& borderAfter() const; | |
1891 const BorderValue& borderStart() const; | |
1892 const BorderValue& borderEnd() const; | |
1893 int borderAfterWidth() const; | |
1894 int borderBeforeWidth() const; | |
1895 int borderEndWidth() const; | |
1896 int borderStartWidth() const; | |
1897 int borderOverWidth() const; | |
1898 int borderUnderWidth() const; | |
1899 | |
1900 bool hasBorderFill() const { return m_surround->border.hasBorderFill(); } | |
1901 bool hasBorder() const { return m_surround->border.hasBorder(); } | |
1902 bool hasBorderDecoration() const { return hasBorder() || hasBorderFill(); } | |
1903 bool hasBorderRadius() const { return m_surround->border.hasBorderRadius(); } | |
1904 | |
1905 void resetBorder() | |
1906 { | |
1907 resetBorderImage(); | |
1908 resetBorderTop(); | |
1909 resetBorderRight(); | |
1910 resetBorderBottom(); | |
1911 resetBorderLeft(); | |
1912 resetBorderTopLeftRadius(); | |
1913 resetBorderTopRightRadius(); | |
1914 resetBorderBottomLeftRadius(); | |
1915 resetBorderBottomRightRadius(); | |
1916 } | |
1917 void resetBorderTop() { SET_VAR(m_surround, border.m_top, BorderValue()); } | |
1918 void resetBorderRight() { SET_VAR(m_surround, border.m_right, BorderValue()) ; } | |
1919 void resetBorderBottom() { SET_VAR(m_surround, border.m_bottom, BorderValue( )); } | |
1920 void resetBorderLeft() { SET_VAR(m_surround, border.m_left, BorderValue()); } | |
1921 void resetBorderImage() { SET_VAR(m_surround, border.m_image, NinePieceImage ()); } | |
1922 void resetBorderTopLeftRadius() { SET_VAR(m_surround, border.m_topLeft, init ialBorderRadius()); } | |
1923 void resetBorderTopRightRadius() { SET_VAR(m_surround, border.m_topRight, in itialBorderRadius()); } | |
1924 void resetBorderBottomLeftRadius() { SET_VAR(m_surround, border.m_bottomLeft , initialBorderRadius()); } | |
1925 void resetBorderBottomRightRadius() { SET_VAR(m_surround, border.m_bottomRig ht, initialBorderRadius()); } | |
1926 | |
1927 void setBorderRadius(const LengthSize& s) | |
1928 { | |
1929 setBorderTopLeftRadius(s); | |
1930 setBorderTopRightRadius(s); | |
1931 setBorderBottomLeftRadius(s); | |
1932 setBorderBottomRightRadius(s); | |
1933 } | |
1934 void setBorderRadius(const IntSize& s) | |
1935 { | |
1936 setBorderRadius(LengthSize(Length(s.width(), Fixed), Length(s.height(), Fixed))); | |
1937 } | |
1938 | |
1939 FloatRoundedRect getRoundedBorderFor(const LayoutRect& borderRect, bool incl udeLogicalLeftEdge = true, | |
1940 bool includeLogicalRightEdge = true) const; | |
1941 FloatRoundedRect getRoundedInnerBorderFor(const LayoutRect& borderRect, bool includeLogicalLeftEdge = true, bool includeLogicalRightEdge = true) const; | |
1942 FloatRoundedRect getRoundedInnerBorderFor(const LayoutRect& borderRect, | |
1943 const LayoutRectOutsets insets, bool includeLogicalLeftEdge, bool includ eLogicalRightEdge) const; | |
1944 | |
1945 // Float utility functions. | |
1946 bool isFloating() const { return m_nonInheritedData.m_floating != NoFloat; } | |
1947 | |
1948 // Mix-blend-mode utility functions. | |
1949 bool hasBlendMode() const { return blendMode() != WebBlendModeNormal; } | |
1950 | |
1951 // Motion utility functions. | |
1952 bool hasMotionPath() const { return motionPath(); } | |
1953 | |
1954 // Direction utility functions. | |
1955 bool isLeftToRightDirection() const { return direction() == LTR; } | |
1956 | |
1957 // Perspective utility functions. | |
1958 bool hasPerspective() const { return m_rareNonInheritedData->m_perspective > 0; } | |
1959 | |
1960 // Page size utility functions. | |
1498 void resetPageSizeType() { SET_VAR(m_rareNonInheritedData, m_pageSizeType, P AGE_SIZE_AUTO); } | 1961 void resetPageSizeType() { SET_VAR(m_rareNonInheritedData, m_pageSizeType, P AGE_SIZE_AUTO); } |
1499 | 1962 |
1500 void setHasCurrentOpacityAnimation(bool b = true) { SET_VAR(m_rareNonInherit edData, m_hasCurrentOpacityAnimation, b); } | 1963 // Outline utility functions. |
1501 void setHasCurrentTransformAnimation(bool b = true) { SET_VAR(m_rareNonInher itedData, m_hasCurrentTransformAnimation, b); } | 1964 bool hasOutline() const { return outlineWidth() > 0 && outlineStyle() > Bord erStyleHidden; } |
1502 void setHasCurrentFilterAnimation(bool b = true) { SET_VAR(m_rareNonInherite dData, m_hasCurrentFilterAnimation, b); } | 1965 int outlineOutsetExtent() const; |
1503 void setHasCurrentBackdropFilterAnimation(bool b = true) { SET_VAR(m_rareNon InheritedData, m_hasCurrentBackdropFilterAnimation, b); } | 1966 bool isOutlineEquivalent(const ComputedStyle* otherStyle) const |
1504 | 1967 { |
1505 void setIsRunningOpacityAnimationOnCompositor(bool b = true) { SET_VAR(m_rar eNonInheritedData, m_runningOpacityAnimationOnCompositor, b); } | 1968 // No other style, so we don't have an outline then we consider them to be the same. |
1506 void setIsRunningTransformAnimationOnCompositor(bool b = true) { SET_VAR(m_r areNonInheritedData, m_runningTransformAnimationOnCompositor, b); } | 1969 if (!otherStyle) |
1507 void setIsRunningFilterAnimationOnCompositor(bool b = true) { SET_VAR(m_rare NonInheritedData, m_runningFilterAnimationOnCompositor, b); } | 1970 return !hasOutline(); |
1508 void setIsRunningBackdropFilterAnimationOnCompositor(bool b = true) { SET_VA R(m_rareNonInheritedData, m_runningBackdropFilterAnimationOnCompositor, b); } | 1971 return m_background->outline().visuallyEqual(otherStyle->m_background->o utline()); |
1509 | 1972 } |
1510 void setLineClamp(LineClampValue c) { SET_VAR(m_rareNonInheritedData, lineCl amp, c); } | 1973 void setOutlineFromStyle(const ComputedStyle& o) |
1511 void setTapHighlightColor(const Color& c) { SET_VAR(m_rareInheritedData, tap HighlightColor, c); } | 1974 { |
1512 void setTextSecurity(ETextSecurity aTextSecurity) { SET_VAR(m_rareInheritedD ata, textSecurity, aTextSecurity); } | 1975 DCHECK(!isOutlineEquivalent(&o)); |
1513 void setTouchAction(TouchAction t) { SET_VAR(m_rareNonInheritedData, m_touch Action, t); } | 1976 m_background.access()->m_outline = o.m_background->m_outline; |
1514 | 1977 } |
1515 void setScrollBehavior(ScrollBehavior b) { SET_VAR(m_rareNonInheritedData, m _scrollBehavior, b); } | 1978 |
1516 | 1979 // Position utility functions. |
1517 void setScrollSnapType(ScrollSnapType b) { SET_VAR(m_rareNonInheritedData, m _scrollSnapType, b); } | 1980 bool hasOutOfFlowPosition() const { return position() == AbsolutePosition || position() == FixedPosition; } |
1518 void setScrollSnapPointsX(const ScrollSnapPoints& b) { SET_NESTED_VAR(m_rare NonInheritedData, m_scrollSnap, m_xPoints, b); } | 1981 bool hasInFlowPosition() const { return position() == RelativePosition || po sition() == StickyPosition; } |
1519 void setScrollSnapPointsY(const ScrollSnapPoints& b) { SET_NESTED_VAR(m_rare NonInheritedData, m_scrollSnap, m_yPoints, b); } | 1982 bool hasViewportConstrainedPosition() const { return position() == FixedPosi tion || position() == StickyPosition; } |
1520 void setScrollSnapDestination(const LengthPoint& b) { SET_NESTED_VAR(m_rareN onInheritedData, m_scrollSnap, m_destination, b); } | 1983 |
1521 void setScrollSnapCoordinate(const Vector<LengthPoint>& b) { SET_NESTED_VAR( m_rareNonInheritedData, m_scrollSnap, m_coordinates, b); } | 1984 // Clip utility functions. |
1522 | 1985 const Length& clipLeft() const { return m_visual->clip.left(); } |
1523 void setWillChangeProperties(const Vector<CSSPropertyID>& properties) { SET_ NESTED_VAR(m_rareNonInheritedData, m_willChange, m_properties, properties); } | 1986 const Length& clipRight() const { return m_visual->clip.right(); } |
1524 void setWillChangeContents(bool b) { SET_NESTED_VAR(m_rareNonInheritedData, m_willChange, m_contents, b); } | 1987 const Length& clipTop() const { return m_visual->clip.top(); } |
1525 void setWillChangeScrollPosition(bool b) { SET_NESTED_VAR(m_rareNonInherited Data, m_willChange, m_scrollPosition, b); } | 1988 const Length& clipBottom() const { return m_visual->clip.bottom(); } |
1526 void setSubtreeWillChangeContents(bool b) { SET_VAR(m_rareInheritedData, m_s ubtreeWillChangeContents, b); } | 1989 |
1527 | 1990 // Offset utility functions. |
1528 bool requiresAcceleratedCompositingForExternalReasons(bool b) { return m_rar eNonInheritedData->m_requiresAcceleratedCompositingForExternalReasons; } | 1991 // Accessors for positioned object edges that take into account writing mode . |
1529 void setRequiresAcceleratedCompositingForExternalReasons(bool b) { SET_VAR(m _rareNonInheritedData, m_requiresAcceleratedCompositingForExternalReasons, b); } | 1992 const Length& logicalLeft() const { return m_surround->offset.logicalLeft(ge tWritingMode()); } |
1530 | 1993 const Length& logicalRight() const { return m_surround->offset.logicalRight( getWritingMode()); } |
1531 const SVGComputedStyle& svgStyle() const { return *m_svgStyle.get(); } | 1994 const Length& logicalTop() const { return m_surround->offset.before(getWriti ngMode()); } |
1532 SVGComputedStyle& accessSVGStyle() { return *m_svgStyle.access(); } | 1995 const Length& logicalBottom() const { return m_surround->offset.after(getWri tingMode()); } |
1533 | 1996 |
1534 const SVGPaintType& fillPaintType() const { return svgStyle().fillPaintType( ); } | 1997 // Whether or not a positioned element requires normal flow x/y to be comput ed |
1535 Color fillPaintColor() const { return svgStyle().fillPaintColor(); } | 1998 // to determine its position. |
1536 float fillOpacity() const { return svgStyle().fillOpacity(); } | 1999 bool hasAutoLeftAndRight() const { return left().isAuto() && right().isAuto( ); } |
1537 void setFillOpacity(float f) { accessSVGStyle().setFillOpacity(f); } | 2000 bool hasAutoTopAndBottom() const { return top().isAuto() && bottom().isAuto( ); } |
1538 | 2001 bool hasStaticInlinePosition(bool horizontal) const { return horizontal ? ha sAutoLeftAndRight() : hasAutoTopAndBottom(); } |
1539 const SVGPaintType& strokePaintType() const { return svgStyle().strokePaintT ype(); } | 2002 bool hasStaticBlockPosition(bool horizontal) const { return horizontal ? has AutoTopAndBottom() : hasAutoLeftAndRight(); } |
1540 Color strokePaintColor() const { return svgStyle().strokePaintColor(); } | 2003 |
1541 float strokeOpacity() const { return svgStyle().strokeOpacity(); } | 2004 // Content utility functions. |
1542 void setStrokeOpacity(float f) { accessSVGStyle().setStrokeOpacity(f); } | |
1543 const UnzoomedLength& strokeWidth() const { return svgStyle().strokeWidth(); } | |
1544 void setStrokeWidth(const UnzoomedLength& w) { accessSVGStyle().setStrokeWid th(w); } | |
1545 SVGDashArray* strokeDashArray() const { return svgStyle().strokeDashArray(); } | |
1546 void setStrokeDashArray(PassRefPtr<SVGDashArray> array) { accessSVGStyle().s etStrokeDashArray(array); } | |
1547 const Length& strokeDashOffset() const { return svgStyle().strokeDashOffset( ); } | |
1548 void setStrokeDashOffset(const Length& d) { accessSVGStyle().setStrokeDashOf fset(d); } | |
1549 float strokeMiterLimit() const { return svgStyle().strokeMiterLimit(); } | |
1550 void setStrokeMiterLimit(float f) { accessSVGStyle().setStrokeMiterLimit(f); } | |
1551 | |
1552 void setD(PassRefPtr<StylePath> d) { accessSVGStyle().setD(d); } | |
1553 void setCx(const Length& cx) { accessSVGStyle().setCx(cx); } | |
1554 void setCy(const Length& cy) { accessSVGStyle().setCy(cy); } | |
1555 void setX(const Length& x) { accessSVGStyle().setX(x); } | |
1556 void setY(const Length& y) { accessSVGStyle().setY(y); } | |
1557 void setR(const Length& r) { accessSVGStyle().setR(r); } | |
1558 void setRx(const Length& rx) { accessSVGStyle().setRx(rx); } | |
1559 void setRy(const Length& ry) { accessSVGStyle().setRy(ry); } | |
1560 | |
1561 float floodOpacity() const { return svgStyle().floodOpacity(); } | |
1562 void setFloodOpacity(float f) { accessSVGStyle().setFloodOpacity(f); } | |
1563 | |
1564 float stopOpacity() const { return svgStyle().stopOpacity(); } | |
1565 void setStopOpacity(float f) { accessSVGStyle().setStopOpacity(f); } | |
1566 | |
1567 void setStopColor(const Color& c) { accessSVGStyle().setStopColor(c); } | |
1568 void setFloodColor(const Color& c) { accessSVGStyle().setFloodColor(c); } | |
1569 void setLightingColor(const Color& c) { accessSVGStyle().setLightingColor(c) ; } | |
1570 | |
1571 EBaselineShift baselineShift() const { return svgStyle().baselineShift(); } | |
1572 const Length& baselineShiftValue() const { return svgStyle().baselineShiftVa lue(); } | |
1573 void setBaselineShiftValue(const Length& value) | |
1574 { | |
1575 SVGComputedStyle& svgStyle = accessSVGStyle(); | |
1576 svgStyle.setBaselineShift(BS_LENGTH); | |
1577 svgStyle.setBaselineShiftValue(value); | |
1578 } | |
1579 | |
1580 void setShapeOutside(ShapeValue* value) | |
1581 { | |
1582 if (m_rareNonInheritedData->m_shapeOutside == value) | |
1583 return; | |
1584 m_rareNonInheritedData.access()->m_shapeOutside = value; | |
1585 } | |
1586 ShapeValue* shapeOutside() const { return m_rareNonInheritedData->m_shapeOut side.get(); } | |
1587 | |
1588 static ShapeValue* initialShapeOutside() { return 0; } | |
1589 | |
1590 void setClipPath(PassRefPtr<ClipPathOperation> operation) | |
1591 { | |
1592 if (m_rareNonInheritedData->m_clipPath != operation) | |
1593 m_rareNonInheritedData.access()->m_clipPath = operation; | |
1594 } | |
1595 ClipPathOperation* clipPath() const { return m_rareNonInheritedData->m_clipP ath.get(); } | |
1596 | |
1597 static ClipPathOperation* initialClipPath() { return 0; } | |
1598 | |
1599 const Length& shapeMargin() const { return m_rareNonInheritedData->m_shapeMa rgin; } | |
1600 void setShapeMargin(const Length& shapeMargin) { SET_VAR(m_rareNonInheritedD ata, m_shapeMargin, shapeMargin); } | |
1601 static Length initialShapeMargin() { return Length(0, Fixed); } | |
1602 | |
1603 float shapeImageThreshold() const { return m_rareNonInheritedData->m_shapeIm ageThreshold; } | |
1604 void setShapeImageThreshold(float shapeImageThreshold) | |
1605 { | |
1606 float clampedShapeImageThreshold = clampTo<float>(shapeImageThreshold, 0 , 1); | |
1607 SET_VAR(m_rareNonInheritedData, m_shapeImageThreshold, clampedShapeImage Threshold); | |
1608 } | |
1609 static float initialShapeImageThreshold() { return 0; } | |
1610 | |
1611 bool hasContent() const { return contentData(); } | |
1612 ContentData* contentData() const { return m_rareNonInheritedData->m_content. get(); } | |
1613 bool contentDataEquivalent(const ComputedStyle* otherStyle) const { return c onst_cast<ComputedStyle*>(this)->m_rareNonInheritedData->contentDataEquivalent(* const_cast<ComputedStyle*>(otherStyle)->m_rareNonInheritedData); } | 2005 bool contentDataEquivalent(const ComputedStyle* otherStyle) const { return c onst_cast<ComputedStyle*>(this)->m_rareNonInheritedData->contentDataEquivalent(* const_cast<ComputedStyle*>(otherStyle)->m_rareNonInheritedData); } |
1614 void setContent(ContentData*); | 2006 |
1615 | 2007 // Contain utility functions. |
1616 const CounterDirectiveMap* counterDirectives() const; | 2008 bool containsPaint() const { return m_rareNonInheritedData->m_contain & Cont ainsPaint; } |
1617 CounterDirectiveMap& accessCounterDirectives(); | 2009 bool containsStyle() const { return m_rareNonInheritedData->m_contain & Cont ainsStyle; } |
1618 const CounterDirectives getCounterDirectives(const AtomicString& identifier) const; | 2010 bool containsLayout() const { return m_rareNonInheritedData->m_contain & Con tainsLayout; } |
1619 void clearIncrementDirectives(); | 2011 bool containsSize() const { return m_rareNonInheritedData->m_contain & Conta insSize; } |
1620 void clearResetDirectives(); | 2012 |
1621 | 2013 // Display utility functions. |
1622 QuotesData* quotes() const { return m_rareInheritedData->quotes.get(); } | |
1623 void setQuotes(PassRefPtr<QuotesData>); | |
1624 | |
1625 const AtomicString& hyphenString() const; | |
1626 | |
1627 bool inheritedEqual(const ComputedStyle&) const; | |
1628 bool nonInheritedEqual(const ComputedStyle&) const; | |
1629 bool loadingCustomFontsEqual(const ComputedStyle&) const; | |
1630 bool inheritedDataShared(const ComputedStyle&) const; | |
1631 | |
1632 bool isDisplayReplacedType() const { return isDisplayReplacedType(display()) ; } | 2014 bool isDisplayReplacedType() const { return isDisplayReplacedType(display()) ; } |
1633 bool isDisplayInlineType() const { return isDisplayInlineType(display()); } | 2015 bool isDisplayInlineType() const { return isDisplayInlineType(display()); } |
1634 bool isOriginalDisplayInlineType() const { return isDisplayInlineType(origin alDisplay()); } | 2016 bool isOriginalDisplayInlineType() const { return isDisplayInlineType(origin alDisplay()); } |
1635 bool isDisplayFlexibleOrGridBox() const { return isDisplayFlexibleBox(displa y()) || isDisplayGridBox(display()); } | 2017 bool isDisplayFlexibleOrGridBox() const { return isDisplayFlexibleBox(displa y()) || isDisplayGridBox(display()); } |
1636 bool isDisplayFlexibleBox() const { return isDisplayFlexibleBox(display()); } | 2018 bool isDisplayFlexibleBox() const { return isDisplayFlexibleBox(display()); } |
1637 | 2019 |
1638 | 2020 // Isolation utility functions. |
1639 bool setWritingMode(WritingMode v) | 2021 bool hasIsolation() const { return isolation() != IsolationAuto; } |
1640 { | 2022 |
1641 if (v == getWritingMode()) | 2023 // Cursor utility functions. |
1642 return false; | 2024 CursorList* cursors() const { return m_rareInheritedData->cursorData.get(); } |
1643 | 2025 void addCursor(StyleImage*, bool hotSpotSpecified, const IntPoint& hotSpot = IntPoint()); |
1644 m_inheritedData.m_writingMode = v; | 2026 void setCursorList(CursorList*); |
1645 return true; | 2027 void clearCursorList(); |
1646 } | 2028 |
1647 | 2029 // Text decoration utility functions. |
1648 // A unique style is one that has matches something that makes it impossible to share. | 2030 void applyTextDecorations(); |
1649 bool unique() const { return m_nonInheritedData.m_unique; } | 2031 void clearAppliedTextDecorations(); |
1650 void setUnique() { m_nonInheritedData.m_unique = true; } | 2032 const Vector<AppliedTextDecoration>& appliedTextDecorations() const; |
1651 | 2033 TextDecoration textDecorationsInEffect() const; |
1652 bool isSharable() const; | 2034 |
1653 | 2035 // Overflow utility functions. |
1654 bool emptyState() const { return m_nonInheritedData.m_emptyState; } | 2036 |
1655 void setEmptyState(bool b) { setUnique(); m_nonInheritedData.m_emptyState = b; } | 2037 // It's sufficient to just check one direction, since it's illegal to have v isible on only one overflow value. |
1656 | 2038 bool isOverflowVisible() const { DCHECK(overflowX() != OverflowVisible || ov erflowX() == overflowY()); return overflowX() == OverflowVisible; } |
1657 Color visitedDependentColor(int colorProperty) const; | 2039 bool isOverflowPaged() const { return overflowY() == OverflowPagedX || overf lowY() == OverflowPagedY; } |
1658 | 2040 |
1659 void setHasExplicitlyInheritedProperties() { m_nonInheritedData.m_explicitIn heritance = true; } | 2041 // Animation utility functions. |
1660 bool hasExplicitlyInheritedProperties() const { return m_nonInheritedData.m_ explicitInheritance; } | 2042 bool shouldCompositeForCurrentAnimations() const { return hasCurrentOpacityA nimation() || hasCurrentTransformAnimation() || hasCurrentFilterAnimation() || h asCurrentBackdropFilterAnimation(); } |
1661 | 2043 bool isRunningAnimationOnCompositor() const { return isRunningOpacityAnimati onOnCompositor() || isRunningTransformAnimationOnCompositor() || isRunningFilter AnimationOnCompositor() || isRunningBackdropFilterAnimationOnCompositor(); } |
1662 void setHasVariableReferenceFromNonInheritedProperty() { m_nonInheritedData. m_variableReference = true; } | 2044 |
1663 bool hasVariableReferenceFromNonInheritedProperty() const { return m_nonInhe ritedData.m_variableReference; } | 2045 // Opacity utility functions. |
1664 | 2046 bool hasOpacity() const { return opacity() < 1.0f; } |
1665 bool hasChildDependentFlags() const { return emptyState() || hasExplicitlyIn heritedProperties(); } | 2047 |
1666 void copyChildDependentFlagsFrom(const ComputedStyle&); | 2048 // Table layout utility functions. |
1667 | 2049 bool isFixedTableLayout() const { return tableLayout() == TableLayoutFixed & & !logicalWidth().isAuto(); } |
2050 | |
2051 // Filter/transform utility functions. | |
2052 bool has3DTransform() const { return m_rareNonInheritedData->m_transform->ha s3DTransform(); } | |
2053 bool hasTransform() const { return hasTransformOperations() || hasMotionPath () || hasCurrentTransformAnimation() || translate() || rotate() || scale(); } | |
2054 bool hasTransformOperations() const { return !m_rareNonInheritedData->m_tran sform->m_operations.operations().isEmpty(); } | |
2055 ETransformStyle3D usedTransformStyle3D() const { return hasGroupingProperty( ) ? TransformStyle3DFlat : transformStyle3D(); } | |
2056 bool transformDataEquivalent(const ComputedStyle& otherStyle) const { return m_rareNonInheritedData->m_transform == otherStyle.m_rareNonInheritedData->m_tra nsform; } | |
2057 bool preserves3D() const { return usedTransformStyle3D() != TransformStyle3D Flat; } | |
2058 enum ApplyTransformOrigin { IncludeTransformOrigin, ExcludeTransformOrigin } ; | |
2059 enum ApplyMotionPath { IncludeMotionPath, ExcludeMotionPath }; | |
2060 enum ApplyIndependentTransformProperties { IncludeIndependentTransformProper ties , ExcludeIndependentTransformProperties }; | |
2061 void applyTransform(TransformationMatrix&, const LayoutSize& borderBoxSize, ApplyTransformOrigin, ApplyMotionPath, ApplyIndependentTransformProperties) cons t; | |
2062 void applyTransform(TransformationMatrix&, const FloatRect& boundingBox, App lyTransformOrigin, ApplyMotionPath, ApplyIndependentTransformProperties) const; | |
2063 | |
2064 // Returns |true| if any property that renders using filter operations is | |
2065 // used (including, but not limited to, 'filter'). | |
2066 bool hasFilterInducingProperty() const { return hasFilter() || (RuntimeEnabl edFeatures::cssBoxReflectFilterEnabled() && hasBoxReflect()); } | |
2067 | |
2068 // Returns |true| if opacity should be considered to have non-initial value for the purpose | |
2069 // of creating stacking contexts. | |
2070 bool hasNonInitialOpacity() const { return hasOpacity() || hasWillChangeOpac ityHint() || hasCurrentOpacityAnimation(); } | |
2071 | |
2072 // Returns whether this style contains any grouping property as defined by [ css-transforms]. | |
2073 // The main purpose of this is to adjust the used value of transform-style p roperty. | |
2074 // Note: We currently don't include every grouping property on the spec to m aintain | |
2075 // backward compatibility. | |
2076 // [css-transforms] https://drafts.csswg.org/css-transforms/#grouping-proper ty-values | |
2077 bool hasGroupingProperty() const { return !isOverflowVisible() || hasFilterI nducingProperty() || hasNonInitialOpacity(); } | |
2078 | |
2079 // Return true if any transform related property (currently transform/motion Path, transformStyle3D, perspective, | |
2080 // or will-change:transform) indicates that we are transforming. will-change :transform should result in | |
2081 // the same rendering behavior as having a transform, including the creation of a containing block | |
2082 // for fixed position descendants. | |
2083 bool hasTransformRelatedProperty() const { return hasTransform() || preserve s3D() || hasPerspective() || hasWillChangeTransformHint(); } | |
2084 | |
2085 // Paint utility functions. | |
2086 void addPaintImage(StyleImage*); | |
2087 | |
2088 // FIXME: reflections should belong to this helper function but they are cur rently handled | |
2089 // through their self-painting layers. So the layout code doesn't account fo r them. | |
2090 bool hasVisualOverflowingEffect() const { return boxShadow() || hasBorderIma geOutsets() || hasOutline(); } | |
2091 | |
2092 // Stacking contexts and positioned elements[1] are stacked (sorted in negZO rderList | |
2093 // and posZOrderList) in their enclosing stacking contexts. | |
2094 // | |
2095 // [1] According to CSS2.1, Appendix E.2.8 (https://www.w3.org/TR/CSS21/zind ex.html), | |
2096 // positioned elements with 'z-index: auto' are "treated as if it created a new | |
2097 // stacking context" and z-ordered together with other elements with 'z-inde x: 0'. | |
2098 // The difference of them from normal stacking contexts is that they don't d etermine | |
2099 // the stacking of the elements underneath them. | |
2100 // (Note: There are also other elements treated as stacking context during p ainting, | |
2101 // but not managed in stacks. See ObjectPainter::paintAllPhasesAtomically(). ) | |
2102 void updateIsStackingContext(bool isDocumentElement, bool isInTopLayer); | |
2103 bool isStacked() const { return isStackingContext() || position() != StaticP osition; } | |
2104 | |
2105 // Pseudo-styles | |
2106 bool hasAnyPublicPseudoStyles() const; | |
2107 bool hasPseudoStyle(PseudoId) const; | |
2108 void setHasPseudoStyle(PseudoId); | |
2109 bool hasUniquePseudoStyle() const; | |
2110 bool hasPseudoElementStyle() const; | |
2111 | |
2112 bool canContainAbsolutePositionObjects() const { return position() != Static Position; } | |
2113 bool canContainFixedPositionObjects() const { return hasTransformRelatedProp erty() || containsPaint();} | |
2114 | |
2115 // Whitespace utility functions. | |
2116 static bool autoWrap(EWhiteSpace ws) | |
2117 { | |
2118 // Nowrap and pre don't automatically wrap. | |
2119 return ws != NOWRAP && ws != PRE; | |
2120 } | |
2121 | |
2122 bool autoWrap() const | |
2123 { | |
2124 return autoWrap(whiteSpace()); | |
2125 } | |
2126 | |
2127 static bool preserveNewline(EWhiteSpace ws) | |
2128 { | |
2129 // Normal and nowrap do not preserve newlines. | |
2130 return ws != NORMAL && ws != NOWRAP; | |
2131 } | |
2132 | |
2133 bool preserveNewline() const | |
2134 { | |
2135 return preserveNewline(whiteSpace()); | |
2136 } | |
2137 | |
2138 static bool collapseWhiteSpace(EWhiteSpace ws) | |
2139 { | |
2140 // Pre and prewrap do not collapse whitespace. | |
2141 return ws != PRE && ws != PRE_WRAP; | |
2142 } | |
2143 | |
2144 bool collapseWhiteSpace() const | |
2145 { | |
2146 return collapseWhiteSpace(whiteSpace()); | |
2147 } | |
2148 | |
2149 bool isCollapsibleWhiteSpace(UChar c) const | |
2150 { | |
2151 switch (c) { | |
2152 case ' ': | |
2153 case '\t': | |
2154 return collapseWhiteSpace(); | |
2155 case '\n': | |
2156 return !preserveNewline(); | |
2157 } | |
2158 return false; | |
2159 } | |
2160 bool breakOnlyAfterWhiteSpace() const | |
2161 { | |
2162 return whiteSpace() == PRE_WRAP || getLineBreak() == LineBreakAfterWhite Space; | |
2163 } | |
2164 | |
2165 bool breakWords() const | |
2166 { | |
2167 return (wordBreak() == BreakWordBreak || overflowWrap() == BreakOverflow Wrap) | |
2168 && whiteSpace() != PRE && whiteSpace() != NOWRAP; | |
2169 } | |
2170 | |
2171 // Text direction utility functions. | |
2172 bool shouldPlaceBlockDirectionScrollbarOnLogicalLeft() const { return !isLef tToRightDirection() && isHorizontalWritingMode(); } | |
2173 bool hasInlinePaginationAxis() const | |
2174 { | |
2175 // If the pagination axis is parallel with the writing mode inline axis, columns may be laid | |
2176 // out along the inline axis, just like for regular multicol. Otherwise, we need to lay out | |
2177 // along the block axis. | |
2178 if (isOverflowPaged()) | |
2179 return (overflowY() == OverflowPagedX) == isHorizontalWritingMode(); | |
2180 return false; | |
2181 } | |
2182 | |
2183 // Border utility functions. | |
2184 bool borderObscuresBackground() const; | |
2185 void getBorderEdgeInfo(BorderEdge edges[], bool includeLogicalLeftEdge = tru e, bool includeLogicalRightEdge = true) const; | |
1668 bool hasBoxDecorations() const | 2186 bool hasBoxDecorations() const |
1669 { | 2187 { |
1670 return hasBorderDecoration() | 2188 return hasBorderDecoration() |
1671 || hasBorderRadius() | 2189 || hasBorderRadius() |
1672 || hasOutline() | 2190 || hasOutline() |
1673 || hasAppearance() | 2191 || hasAppearance() |
1674 || boxShadow() | 2192 || boxShadow() |
1675 || hasFilterInducingProperty() | 2193 || hasFilterInducingProperty() |
1676 || hasBackdropFilter() | 2194 || hasBackdropFilter() |
1677 || resize() != RESIZE_NONE; | 2195 || resize() != RESIZE_NONE; |
1678 } | 2196 } |
1679 | 2197 |
1680 bool borderObscuresBackground() const; | 2198 // Background utility functions. |
1681 void getBorderEdgeInfo(BorderEdge edges[], bool includeLogicalLeftEdge = tru e, bool includeLogicalRightEdge = true) const; | 2199 FillLayer& accessBackgroundLayers() { return m_background.access()->m_backgr ound; } |
2200 const FillLayer& backgroundLayers() const { return m_background->background( ); } | |
2201 void adjustBackgroundLayers() | |
2202 { | |
2203 if (backgroundLayers().next()) { | |
2204 accessBackgroundLayers().cullEmptyLayers(); | |
2205 accessBackgroundLayers().fillUnsetProperties(); | |
2206 } | |
2207 } | |
2208 bool hasBackgroundRelatedColorReferencingCurrentColor() const | |
2209 { | |
2210 if (backgroundColor().isCurrentColor() || visitedLinkBackgroundColor().i sCurrentColor()) | |
2211 return true; | |
2212 if (!boxShadow()) | |
2213 return false; | |
2214 return shadowListHasCurrentColor(boxShadow()); | |
2215 } | |
2216 bool hasBackground() const | |
2217 { | |
2218 Color color = visitedDependentColor(CSSPropertyBackgroundColor); | |
2219 if (color.alpha()) | |
2220 return true; | |
2221 return hasBackgroundImage(); | |
2222 } | |
1682 | 2223 |
1683 void setHasAuthorBackground(bool authorBackground) { SET_VAR(m_rareNonInheri tedData, m_hasAuthorBackground, authorBackground); } | |
1684 void setHasAuthorBorder(bool authorBorder) { SET_VAR(m_rareNonInheritedData, m_hasAuthorBorder, authorBorder); } | |
1685 bool hasAuthorBackground() const { return m_rareNonInheritedData->m_hasAutho rBackground; }; | |
1686 bool hasAuthorBorder() const { return m_rareNonInheritedData->m_hasAuthorBor der; }; | |
1687 | 2224 |
1688 void addPaintImage(StyleImage*); | 2225 // Color utility functions. |
2226 // TODO(sashab): Rename this to just color(), and add a comment explaining h ow it works. | |
2227 Color visitedDependentColor(int colorProperty) const; | |
1689 | 2228 |
1690 // Initial values for all the properties | 2229 // -webkit-appearance utility functions. |
1691 static EBorderCollapse initialBorderCollapse() { return BorderCollapseSepara te; } | 2230 bool hasAppearance() const { return appearance() != NoControlPart; } |
1692 static EBorderStyle initialBorderStyle() { return BorderStyleNone; } | 2231 |
1693 static OutlineIsAuto initialOutlineStyleIsAuto() { return OutlineIsAutoOff; } | 2232 // Other utility functions. |
1694 static NinePieceImage initialNinePieceImage() { return NinePieceImage(); } | 2233 bool isStyleAvailable() const; |
1695 static LengthSize initialBorderRadius() { return LengthSize(Length(0, Fixed) , Length(0, Fixed)); } | 2234 bool isSharable() const; |
1696 static ECaptionSide initialCaptionSide() { return CaptionSideTop; } | 2235 |
1697 static EClear initialClear() { return ClearNone; } | 2236 // TODO(sashab) Remove these. |
1698 static LengthBox initialClip() { return LengthBox(); } | |
1699 static Containment initialContain() { return ContainsNone; } | |
1700 static TextDirection initialDirection() { return LTR; } | |
1701 static WritingMode initialWritingMode() { return TopToBottomWritingMode; } | |
1702 static TextCombine initialTextCombine() { return TextCombineNone; } | |
1703 static TextOrientation initialTextOrientation() { return TextOrientationMixe d; } | |
1704 static ObjectFit initialObjectFit() { return ObjectFitFill; } | |
1705 static LengthPoint initialObjectPosition() { return LengthPoint(Length(50.0, Percent), Length(50.0, Percent)); } | |
1706 static EDisplay initialDisplay() { return INLINE; } | |
1707 static EEmptyCells initialEmptyCells() { return EmptyCellsShow; } | |
1708 static EFloat initialFloating() { return NoFloat; } | |
1709 static EListStylePosition initialListStylePosition() { return ListStylePosit ionOutside; } | |
1710 static EListStyleType initialListStyleType() { return Disc; } | |
1711 static EOverflowAnchor initialOverflowAnchor() { return AnchorAuto; } | |
1712 static EOverflow initialOverflowX() { return OverflowVisible; } | |
1713 static EOverflow initialOverflowY() { return OverflowVisible; } | |
1714 static EBreak initialBreakAfter() { return BreakAuto; } | |
1715 static EBreak initialBreakBefore() { return BreakAuto; } | |
1716 static EBreak initialBreakInside() { return BreakAuto; } | |
1717 static EPosition initialPosition() { return StaticPosition; } | |
1718 static ETableLayout initialTableLayout() { return TableLayoutAuto; } | |
1719 static EUnicodeBidi initialUnicodeBidi() { return UBNormal; } | |
1720 static ETextTransform initialTextTransform() { return TTNONE; } | |
1721 static EVisibility initialVisibility() { return VISIBLE; } | |
1722 static EWhiteSpace initialWhiteSpace() { return NORMAL; } | |
1723 static short initialHorizontalBorderSpacing() { return 0; } | |
1724 static short initialVerticalBorderSpacing() { return 0; } | |
1725 static ECursor initialCursor() { return CURSOR_AUTO; } | |
1726 static Color initialColor() { return Color::black; } | |
1727 static StyleImage* initialListStyleImage() { return 0; } | |
1728 static unsigned initialBorderWidth() { return 3; } | |
1729 static unsigned short initialColumnRuleWidth() { return 3; } | |
1730 static unsigned short initialOutlineWidth() { return 3; } | |
1731 static float initialLetterWordSpacing() { return 0.0f; } | |
1732 static Length initialSize() { return Length(); } | |
1733 static Length initialMinSize() { return Length(); } | |
1734 static Length initialMaxSize() { return Length(MaxSizeNone); } | |
1735 static Length initialOffset() { return Length(); } | |
1736 static Length initialMargin() { return Length(Fixed); } | |
1737 static Length initialPadding() { return Length(Fixed); } | |
1738 static Length initialTextIndent() { return Length(Fixed); } | |
1739 static TextIndentLine initialTextIndentLine() { return TextIndentFirstLine; } | |
1740 static TextIndentType initialTextIndentType() { return TextIndentNormal; } | |
1741 static EVerticalAlign initialVerticalAlign() { return VerticalAlignBaseline; } | |
1742 static short initialWidows() { return 2; } | |
1743 static short initialOrphans() { return 2; } | |
1744 static Length initialLineHeight() { return Length(-100.0, Percent); } | |
1745 static ETextAlign initialTextAlign() { return TASTART; } | |
1746 static TextAlignLast initialTextAlignLast() { return TextAlignLastAuto; } | |
1747 static TextJustify initialTextJustify() { return TextJustifyAuto; } | |
1748 static TextDecoration initialTextDecoration() { return TextDecorationNone; } | |
1749 static TextUnderlinePosition initialTextUnderlinePosition() { return TextUnd erlinePositionAuto; } | |
1750 static TextDecorationStyle initialTextDecorationStyle() { return TextDecorat ionStyleSolid; } | |
1751 static float initialZoom() { return 1.0f; } | |
1752 static int initialOutlineOffset() { return 0; } | |
1753 static float initialOpacity() { return 1.0f; } | |
1754 static EBoxAlignment initialBoxAlign() { return BSTRETCH; } | |
1755 static EBoxDecorationBreak initialBoxDecorationBreak() { return BoxDecoratio nBreakSlice; } | |
1756 static EBoxDirection initialBoxDirection() { return BNORMAL; } | |
1757 static EBoxLines initialBoxLines() { return SINGLE; } | |
1758 static EBoxOrient initialBoxOrient() { return HORIZONTAL; } | |
1759 static EBoxPack initialBoxPack() { return BoxPackStart; } | |
1760 static float initialBoxFlex() { return 0.0f; } | |
1761 static unsigned initialBoxFlexGroup() { return 1; } | |
1762 static unsigned initialBoxOrdinalGroup() { return 1; } | |
1763 static EBoxSizing initialBoxSizing() { return BoxSizingContentBox; } | |
1764 static StyleReflection* initialBoxReflect() { return 0; } | |
1765 static float initialFlexGrow() { return 0; } | |
1766 static float initialFlexShrink() { return 1; } | |
1767 static Length initialFlexBasis() { return Length(Auto); } | |
1768 static int initialOrder() { return 0; } | |
1769 static StyleContentAlignmentData initialContentAlignment() { return StyleCon tentAlignmentData(ContentPositionNormal, ContentDistributionDefault, OverflowAli gnmentDefault); } | |
1770 static StyleSelfAlignmentData initialSelfAlignment() { return StyleSelfAlign mentData(ItemPositionAuto, OverflowAlignmentDefault); } | |
1771 static EFlexDirection initialFlexDirection() { return FlowRow; } | |
1772 static EFlexWrap initialFlexWrap() { return FlexNoWrap; } | |
1773 static EUserModify initialUserModify() { return READ_ONLY; } | |
1774 static EUserDrag initialUserDrag() { return DRAG_AUTO; } | |
1775 static EUserSelect initialUserSelect() { return SELECT_TEXT; } | |
1776 static TextOverflow initialTextOverflow() { return TextOverflowClip; } | |
1777 static EMarginCollapse initialMarginBeforeCollapse() { return MarginCollapse Collapse; } | |
1778 static EMarginCollapse initialMarginAfterCollapse() { return MarginCollapseC ollapse; } | |
1779 static EWordBreak initialWordBreak() { return NormalWordBreak; } | |
1780 static EOverflowWrap initialOverflowWrap() { return NormalOverflowWrap; } | |
1781 static LineBreak initialLineBreak() { return LineBreakAuto; } | |
1782 static const AtomicString& initialHighlight() { return nullAtom; } | |
1783 static ESpeak initialSpeak() { return SpeakNormal; } | |
1784 static Hyphens initialHyphens() { return HyphensManual; } | |
1785 static const AtomicString& initialHyphenationString() { return nullAtom; } | |
1786 static EResize initialResize() { return RESIZE_NONE; } | |
1787 static ControlPart initialAppearance() { return NoControlPart; } | |
1788 static Order initialRTLOrdering() { return LogicalOrder; } | |
1789 static float initialTextStrokeWidth() { return 0; } | |
1790 static unsigned short initialColumnCount() { return 1; } | |
1791 static ColumnFill initialColumnFill() { return ColumnFillBalance; } | |
1792 static ColumnSpan initialColumnSpan() { return ColumnSpanNone; } | |
1793 static EmptyTransformOperations initialTransform() { return EmptyTransformOp erations(); } | |
1794 static PassRefPtr<TranslateTransformOperation> initialTranslate() { return T ranslateTransformOperation::create(Length(0, Fixed), Length(0, Fixed), 0, Transf ormOperation::Translate3D); } | |
1795 static PassRefPtr<RotateTransformOperation> initialRotate() { return RotateT ransformOperation::create(0, 0, 1, 0, TransformOperation::Rotate3D); } | |
1796 static PassRefPtr<ScaleTransformOperation> initialScale() { return ScaleTran sformOperation::create(1, 1, 1, TransformOperation::Scale3D); } | |
1797 static Length initialTransformOriginX() { return Length(50.0, Percent); } | |
1798 static Length initialTransformOriginY() { return Length(50.0, Percent); } | |
1799 static float initialTransformOriginZ() { return 0; } | |
1800 static TransformOrigin initialTransformOrigin() { return TransformOrigin(Len gth(50.0, Percent), Length(50.0, Percent), 0); } | |
1801 static EPointerEvents initialPointerEvents() { return PE_AUTO; } | |
1802 static ETransformStyle3D initialTransformStyle3D() { return TransformStyle3D Flat; } | |
1803 static StylePath* initialMotionPath() { return nullptr; } | |
1804 static Length initialMotionOffset() { return Length(0, Fixed); } | |
1805 static StyleMotionRotation initialMotionRotation() { return StyleMotionRotat ion(0, MotionRotationAuto); } | |
1806 static EBackfaceVisibility initialBackfaceVisibility() { return BackfaceVisi bilityVisible; } | |
1807 static float initialPerspective() { return 0; } | |
1808 static Length initialPerspectiveOriginX() { return Length(50.0, Percent); } | |
1809 static Length initialPerspectiveOriginY() { return Length(50.0, Percent); } | |
1810 static LengthPoint initialPerspectiveOrigin() { return LengthPoint(Length(50 .0, Percent), Length(50.0, Percent)); } | |
1811 static Color initialBackgroundColor() { return Color::transparent; } | |
1812 static TextEmphasisFill initialTextEmphasisFill() { return TextEmphasisFillF illed; } | |
1813 static TextEmphasisMark initialTextEmphasisMark() { return TextEmphasisMarkN one; } | |
1814 static const AtomicString& initialTextEmphasisCustomMark() { return nullAtom ; } | |
1815 static TextEmphasisPosition initialTextEmphasisPosition() { return TextEmpha sisPositionOver; } | |
1816 static RubyPosition initialRubyPosition() { return RubyPositionBefore; } | |
1817 static ImageOrientationEnum initialImageOrientation() { return OriginTopLeft ; } | 2237 static ImageOrientationEnum initialImageOrientation() { return OriginTopLeft ; } |
1818 static RespectImageOrientationEnum initialRespectImageOrientation() { return DoNotRespectImageOrientation; } | |
1819 static EImageRendering initialImageRendering() { return ImageRenderingAuto; } | |
1820 static ImageResolutionSource initialImageResolutionSource() { return ImageRe solutionSpecified; } | 2238 static ImageResolutionSource initialImageResolutionSource() { return ImageRe solutionSpecified; } |
1821 static ImageResolutionSnap initialImageResolutionSnap() { return ImageResolu tionNoSnap; } | 2239 static ImageResolutionSnap initialImageResolutionSnap() { return ImageResolu tionNoSnap; } |
1822 static float initialImageResolution() { return 1; } | 2240 static float initialImageResolution() { return 1; } |
1823 static StyleImage* initialBorderImageSource() { return 0; } | 2241 void setWrapFlow(WrapFlow wrapFlow) { SET_VAR(m_rareNonInheritedData, m_wrap Flow, wrapFlow); } |
1824 static StyleImage* initialMaskBoxImageSource() { return 0; } | 2242 void setWrapThrough(WrapThrough wrapThrough) { SET_VAR(m_rareNonInheritedDat a, m_wrapThrough, wrapThrough); } |
1825 static PrintColorAdjust initialPrintColorAdjust() { return PrintColorAdjustE conomy; } | |
1826 static TouchAction initialTouchAction() { return TouchActionAuto; } | |
1827 static ShadowList* initialBoxShadow() { return 0; } | |
1828 static ShadowList* initialTextShadow() { return 0; } | |
1829 static StyleVariableData* initialVariables() { return nullptr; } | |
1830 static ScrollBehavior initialScrollBehavior() { return ScrollBehaviorAuto; } | |
1831 static ScrollSnapType initialScrollSnapType() { return ScrollSnapTypeNone; } | |
1832 static ScrollSnapPoints initialScrollSnapPointsX() { return ScrollSnapPoints (); } | |
1833 static ScrollSnapPoints initialScrollSnapPointsY() { return ScrollSnapPoints (); } | |
1834 static LengthPoint initialScrollSnapDestination() { return LengthPoint(Lengt h(0, Fixed), Length(0, Fixed)); } | |
1835 static Vector<LengthPoint> initialScrollSnapCoordinate() { return Vector<Len gthPoint>(); } | |
1836 | 2243 |
1837 // The initial value is 'none' for grid tracks. | |
1838 static Vector<GridTrackSize> initialGridTemplateColumns() { return Vector<Gr idTrackSize>(); } | |
1839 static Vector<GridTrackSize> initialGridTemplateRows() { return Vector<GridT rackSize>(); } | |
1840 static Vector<GridTrackSize> initialGridAutoRepeatTracks() { return Vector<G ridTrackSize>(); } | |
1841 static size_t initialGridAutoRepeatInsertionPoint() { return 0; } | |
1842 static AutoRepeatType initialGridAutoRepeatType() { return NoAutoRepeat; } | |
1843 | |
1844 static GridAutoFlow initialGridAutoFlow() { return AutoFlowRow; } | |
1845 | |
1846 static Vector<GridTrackSize> initialGridAutoColumns(); | |
1847 static Vector<GridTrackSize> initialGridAutoRows(); | |
1848 | |
1849 static NamedGridLinesMap initialNamedGridColumnLines() { return NamedGridLin esMap(); } | |
1850 static NamedGridLinesMap initialNamedGridRowLines() { return NamedGridLinesM ap(); } | |
1851 | |
1852 static OrderedNamedGridLines initialOrderedNamedGridColumnLines() { return O rderedNamedGridLines(); } | |
1853 static OrderedNamedGridLines initialOrderedNamedGridRowLines() { return Orde redNamedGridLines(); } | |
1854 | |
1855 static NamedGridAreaMap initialNamedGridArea() { return NamedGridAreaMap(); } | |
1856 static size_t initialNamedGridAreaCount() { return 0; } | |
1857 | |
1858 static Length initialGridColumnGap() { return Length(Fixed); } | |
1859 static Length initialGridRowGap() { return Length(Fixed); } | |
1860 | |
1861 // 'auto' is the default. | |
1862 static GridPosition initialGridColumnStart() { return GridPosition(); } | |
1863 static GridPosition initialGridColumnEnd() { return GridPosition(); } | |
1864 static GridPosition initialGridRowStart() { return GridPosition(); } | |
1865 static GridPosition initialGridRowEnd() { return GridPosition(); } | |
1866 | |
1867 static TabSize initialTabSize() { return TabSize(8); } | |
1868 | |
1869 static TextSizeAdjust initialTextSizeAdjust() { return TextSizeAdjust::adjus tAuto(); } | |
1870 | |
1871 static WrapFlow initialWrapFlow() { return WrapFlowAuto; } | |
1872 static WrapThrough initialWrapThrough() { return WrapThroughWrap; } | |
1873 | |
1874 static QuotesData* initialQuotes() { return 0; } | |
1875 | |
1876 // Keep these at the end. | |
1877 // FIXME: Why? Seems these should all be one big sorted list. | |
1878 static LineClampValue initialLineClamp() { return LineClampValue(); } | |
1879 static ETextSecurity initialTextSecurity() { return TSNONE; } | |
1880 static Color initialTapHighlightColor(); | |
1881 static const FilterOperations& initialFilter(); | |
1882 static const FilterOperations& initialBackdropFilter(); | |
1883 static WebBlendMode initialBlendMode() { return WebBlendModeNormal; } | |
1884 static EIsolation initialIsolation() { return IsolationAuto; } | |
1885 private: | 2244 private: |
1886 void setVisitedLinkColor(const Color&); | 2245 void setVisitedLinkColor(const Color&); |
1887 void setVisitedLinkBackgroundColor(const StyleColor& v) { SET_VAR(m_rareNonI nheritedData, m_visitedLinkBackgroundColor, v); } | 2246 void setVisitedLinkBackgroundColor(const StyleColor& v) { SET_VAR(m_rareNonI nheritedData, m_visitedLinkBackgroundColor, v); } |
1888 void setVisitedLinkBorderLeftColor(const StyleColor& v) { SET_VAR(m_rareNonI nheritedData, m_visitedLinkBorderLeftColor, v); } | 2247 void setVisitedLinkBorderLeftColor(const StyleColor& v) { SET_VAR(m_rareNonI nheritedData, m_visitedLinkBorderLeftColor, v); } |
1889 void setVisitedLinkBorderRightColor(const StyleColor& v) { SET_VAR(m_rareNon InheritedData, m_visitedLinkBorderRightColor, v); } | 2248 void setVisitedLinkBorderRightColor(const StyleColor& v) { SET_VAR(m_rareNon InheritedData, m_visitedLinkBorderRightColor, v); } |
1890 void setVisitedLinkBorderBottomColor(const StyleColor& v) { SET_VAR(m_rareNo nInheritedData, m_visitedLinkBorderBottomColor, v); } | 2249 void setVisitedLinkBorderBottomColor(const StyleColor& v) { SET_VAR(m_rareNo nInheritedData, m_visitedLinkBorderBottomColor, v); } |
1891 void setVisitedLinkBorderTopColor(const StyleColor& v) { SET_VAR(m_rareNonIn heritedData, m_visitedLinkBorderTopColor, v); } | 2250 void setVisitedLinkBorderTopColor(const StyleColor& v) { SET_VAR(m_rareNonIn heritedData, m_visitedLinkBorderTopColor, v); } |
1892 void setVisitedLinkOutlineColor(const StyleColor& v) { SET_VAR(m_rareNonInhe ritedData, m_visitedLinkOutlineColor, v); } | 2251 void setVisitedLinkOutlineColor(const StyleColor& v) { SET_VAR(m_rareNonInhe ritedData, m_visitedLinkOutlineColor, v); } |
1893 void setVisitedLinkColumnRuleColor(const StyleColor& v) { SET_NESTED_VAR(m_r areNonInheritedData, m_multiCol, m_visitedLinkColumnRuleColor, v); } | 2252 void setVisitedLinkColumnRuleColor(const StyleColor& v) { SET_NESTED_VAR(m_r areNonInheritedData, m_multiCol, m_visitedLinkColumnRuleColor, v); } |
1894 void setVisitedLinkTextDecorationColor(const StyleColor& v) { SET_VAR(m_rare NonInheritedData, m_visitedLinkTextDecorationColor, v); } | 2253 void setVisitedLinkTextDecorationColor(const StyleColor& v) { SET_VAR(m_rare NonInheritedData, m_visitedLinkTextDecorationColor, v); } |
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
2061 } | 2420 } |
2062 | 2421 |
2063 inline bool ComputedStyle::hasPseudoElementStyle() const | 2422 inline bool ComputedStyle::hasPseudoElementStyle() const |
2064 { | 2423 { |
2065 return m_nonInheritedData.m_pseudoBits & ElementPseudoIdMask; | 2424 return m_nonInheritedData.m_pseudoBits & ElementPseudoIdMask; |
2066 } | 2425 } |
2067 | 2426 |
2068 } // namespace blink | 2427 } // namespace blink |
2069 | 2428 |
2070 #endif // ComputedStyle_h | 2429 #endif // ComputedStyle_h |
OLD | NEW |