Skip to content

Commit

Permalink
Merge r221459 - Make RenderStyle's non-inherited flags more human fri…
Browse files Browse the repository at this point in the history
…endly

https://bugs.webkit.org/show_bug.cgi?id=176171

Reviewed by Antti Koivisto.

Revert r166465 as we never followed through and made the CSS JIT update
RenderStyle's non-inherited flags directly.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
(WebCore::RenderStyle::hashForTextAutosizing const):
(WebCore::RenderStyle::equalForTextAutosizing const):
(WebCore::RenderStyle::changeRequiresLayout const):
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::styleType const):
(WebCore::RenderStyle::setStyleType):
(WebCore::RenderStyle::setHasViewportUnits):
(WebCore::RenderStyle::hasViewportUnits const):
(WebCore::RenderStyle::affectedByHover const):
(WebCore::RenderStyle::affectedByActive const):
(WebCore::RenderStyle::affectedByDrag const):
(WebCore::RenderStyle::setAffectedByHover):
(WebCore::RenderStyle::setAffectedByActive):
(WebCore::RenderStyle::setAffectedByDrag):
(WebCore::RenderStyle::isFloating const):
(WebCore::RenderStyle::display const):
(WebCore::RenderStyle::position const):
(WebCore::RenderStyle::floating const):
(WebCore::RenderStyle::overflowX const):
(WebCore::RenderStyle::overflowY const):
(WebCore::RenderStyle::verticalAlign const):
(WebCore::RenderStyle::unicodeBidi const):
(WebCore::RenderStyle::clear const):
(WebCore::RenderStyle::tableLayout const):
(WebCore::RenderStyle::hasExplicitlySetDirection const):
(WebCore::RenderStyle::isLink const):
(WebCore::RenderStyle::setDisplay):
(WebCore::RenderStyle::setOriginalDisplay):
(WebCore::RenderStyle::setPosition):
(WebCore::RenderStyle::setFloating):
(WebCore::RenderStyle::setOverflowX):
(WebCore::RenderStyle::setOverflowY):
(WebCore::RenderStyle::setVerticalAlign):
(WebCore::RenderStyle::setUnicodeBidi):
(WebCore::RenderStyle::setClear):
(WebCore::RenderStyle::setTableLayout):
(WebCore::RenderStyle::setHasExplicitlySetDirection):
(WebCore::RenderStyle::setIsLink):
(WebCore::RenderStyle::hasExplicitlySetWritingMode const):
(WebCore::RenderStyle::setHasExplicitlySetWritingMode):
(WebCore::RenderStyle::hasExplicitlySetTextAlign const):
(WebCore::RenderStyle::setHasExplicitlySetTextAlign):
(WebCore::RenderStyle::unique const):
(WebCore::RenderStyle::setUnique):
(WebCore::RenderStyle::emptyState const):
(WebCore::RenderStyle::setEmptyState):
(WebCore::RenderStyle::firstChildState const):
(WebCore::RenderStyle::setFirstChildState):
(WebCore::RenderStyle::lastChildState const):
(WebCore::RenderStyle::setLastChildState):
(WebCore::RenderStyle::setHasExplicitlyInheritedProperties):
(WebCore::RenderStyle::hasExplicitlyInheritedProperties const):
(WebCore::RenderStyle::inheritUnicodeBidiFrom):
(WebCore::RenderStyle::NonInheritedFlags::operator!= const):
(WebCore::RenderStyle::NonInheritedFlags::hasAnyPublicPseudoStyles const):
(WebCore::RenderStyle::originalDisplay const):
(WebCore::RenderStyle::NonInheritedFlags::operator== const):
(WebCore::RenderStyle::NonInheritedFlags::copyNonInheritedFrom):
(WebCore::RenderStyle::NonInheritedFlags::hasPseudoStyle const):
(WebCore::RenderStyle::NonInheritedFlags::setHasPseudoStyle):
(WebCore::RenderStyle::NonInheritedFlags::overflowX const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setOverflowX): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::overflowY const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setOverflowY): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::clear const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setClear): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::effectiveDisplay const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setEffectiveDisplay): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::position const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setPosition): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::originalDisplay const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setOriginalDisplay): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::unicodeBidi const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setUnicodeBidi): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasViewportUnits const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasViewportUnits): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::verticalAlign const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setVerticalAlign): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasExplicitlyInheritedProperties const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasExplicitlyInheritedProperties): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::isFloating const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::floating const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setFloating): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::tableLayout const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setTableLayout): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::styleType const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setStyleType): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::isUnique const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setIsUnique): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::emptyState const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setEmptyState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::firstChildState const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setFirstChildState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::lastChildState const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setLastChildState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::affectedByHover const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setAffectedByHover): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::affectedByActive const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setAffectedByActive): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::affectedByDrag const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setAffectedByDrag): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::isLink const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setIsLink): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasExplicitlySetDirection const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasExplicitlySetDirection): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasExplicitlySetWritingMode const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasExplicitlySetWritingMode): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasExplicitlySetTextAlign const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasExplicitlySetTextAlign): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagsMemoryOffset): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagIsaffectedByActive): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagIsaffectedByHover): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagPseudoStyle): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setFirstChildStateFlags): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setLastChildStateFlags): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagIsUnique): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagFirstChildState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagLastChildState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::NonInheritedFlags): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasPseudoStyles): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::updateBoolean): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::getBoolean const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::updateValue): Deleted.
(WebCore::RenderStyle::InheritedFlags::operator== const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::getValue const): Deleted.
(WebCore::adjustForAbsoluteZoom): Deleted.
(WebCore::adjustFloatForAbsoluteZoom): Deleted.
(WebCore::adjustLayoutUnitForAbsoluteZoom): Deleted.
(WebCore::collapsedBorderStyle): Deleted.
(WebCore::RenderStyle::hasBackground const): Deleted.
(WebCore::RenderStyle::autoWrap): Deleted.
(WebCore::RenderStyle::preserveNewline): Deleted.
(WebCore::RenderStyle::collapseWhiteSpace): Deleted.
(WebCore::RenderStyle::isCollapsibleWhiteSpace const): Deleted.
(WebCore::RenderStyle::breakOnlyAfterWhiteSpace const): Deleted.
(WebCore::RenderStyle::breakWords const): Deleted.
(WebCore::RenderStyle::hasInlineColumnAxis const): Deleted.
(WebCore::RenderStyle::imageOrientation const): Deleted.
(WebCore::RenderStyle::setLogicalWidth): Deleted.
(WebCore::RenderStyle::setLogicalHeight): Deleted.
(WebCore::RenderStyle::setBorderRadius): Deleted.
(WebCore::RenderStyle::setZoom): Deleted.
(WebCore::RenderStyle::setEffectiveZoom): Deleted.
(WebCore::RenderStyle::setTextOrientation): Deleted.
(WebCore::RenderStyle::adjustBackgroundLayers): Deleted.
(WebCore::RenderStyle::adjustMaskLayers): Deleted.
(WebCore::RenderStyle::clearAnimations): Deleted.
(WebCore::RenderStyle::clearTransitions): Deleted.
(WebCore::RenderStyle::setShapeOutside): Deleted.
(WebCore::RenderStyle::setShapeImageThreshold): Deleted.
(WebCore::RenderStyle::setClipPath): Deleted.
(WebCore::RenderStyle::willChangeCreatesStackingContext const): Deleted.
(WebCore::RenderStyle::isDisplayRegionType const): Deleted.
(WebCore::RenderStyle::setWritingMode): Deleted.
(WebCore::RenderStyle::getShadowInlineDirectionExtent const): Deleted.
(WebCore::RenderStyle::getShadowBlockDirectionExtent const): Deleted.
(WebCore::RenderStyle::isDisplayReplacedType): Deleted.
(WebCore::RenderStyle::isDisplayInlineType): Deleted.
(WebCore::RenderStyle::isDisplayFlexibleBox): Deleted.
(WebCore::RenderStyle::isDisplayGridBox): Deleted.
(WebCore::RenderStyle::isDisplayFlexibleOrGridBox): Deleted.
(WebCore::RenderStyle::hasAnyPublicPseudoStyles const): Deleted.
(WebCore::RenderStyle::hasPseudoStyle const): Deleted.
(WebCore::RenderStyle::setHasPseudoStyle): Deleted.
(WebCore::RenderStyle::setHasPseudoStyles): Deleted.
(WebCore::RenderStyle::setBoxReflect): Deleted.
(WebCore::pseudoElementRendererIsNeeded): Deleted.
  • Loading branch information
dydz authored and carlosgcampos committed Sep 2, 2017
1 parent 5564095 commit 9a2d8c9
Show file tree
Hide file tree
Showing 3 changed files with 347 additions and 296 deletions.
180 changes: 180 additions & 0 deletions Source/WebCore/ChangeLog
@@ -1,3 +1,183 @@
2017-08-31 Daniel Bates <dabates@apple.com>

Make RenderStyle's non-inherited flags more human friendly
https://bugs.webkit.org/show_bug.cgi?id=176171

Reviewed by Antti Koivisto.

Revert r166465 as we never followed through and made the CSS JIT update
RenderStyle's non-inherited flags directly.

* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
(WebCore::RenderStyle::hashForTextAutosizing const):
(WebCore::RenderStyle::equalForTextAutosizing const):
(WebCore::RenderStyle::changeRequiresLayout const):
* rendering/style/RenderStyle.h:
(WebCore::RenderStyle::styleType const):
(WebCore::RenderStyle::setStyleType):
(WebCore::RenderStyle::setHasViewportUnits):
(WebCore::RenderStyle::hasViewportUnits const):
(WebCore::RenderStyle::affectedByHover const):
(WebCore::RenderStyle::affectedByActive const):
(WebCore::RenderStyle::affectedByDrag const):
(WebCore::RenderStyle::setAffectedByHover):
(WebCore::RenderStyle::setAffectedByActive):
(WebCore::RenderStyle::setAffectedByDrag):
(WebCore::RenderStyle::isFloating const):
(WebCore::RenderStyle::display const):
(WebCore::RenderStyle::position const):
(WebCore::RenderStyle::floating const):
(WebCore::RenderStyle::overflowX const):
(WebCore::RenderStyle::overflowY const):
(WebCore::RenderStyle::verticalAlign const):
(WebCore::RenderStyle::unicodeBidi const):
(WebCore::RenderStyle::clear const):
(WebCore::RenderStyle::tableLayout const):
(WebCore::RenderStyle::hasExplicitlySetDirection const):
(WebCore::RenderStyle::isLink const):
(WebCore::RenderStyle::setDisplay):
(WebCore::RenderStyle::setOriginalDisplay):
(WebCore::RenderStyle::setPosition):
(WebCore::RenderStyle::setFloating):
(WebCore::RenderStyle::setOverflowX):
(WebCore::RenderStyle::setOverflowY):
(WebCore::RenderStyle::setVerticalAlign):
(WebCore::RenderStyle::setUnicodeBidi):
(WebCore::RenderStyle::setClear):
(WebCore::RenderStyle::setTableLayout):
(WebCore::RenderStyle::setHasExplicitlySetDirection):
(WebCore::RenderStyle::setIsLink):
(WebCore::RenderStyle::hasExplicitlySetWritingMode const):
(WebCore::RenderStyle::setHasExplicitlySetWritingMode):
(WebCore::RenderStyle::hasExplicitlySetTextAlign const):
(WebCore::RenderStyle::setHasExplicitlySetTextAlign):
(WebCore::RenderStyle::unique const):
(WebCore::RenderStyle::setUnique):
(WebCore::RenderStyle::emptyState const):
(WebCore::RenderStyle::setEmptyState):
(WebCore::RenderStyle::firstChildState const):
(WebCore::RenderStyle::setFirstChildState):
(WebCore::RenderStyle::lastChildState const):
(WebCore::RenderStyle::setLastChildState):
(WebCore::RenderStyle::setHasExplicitlyInheritedProperties):
(WebCore::RenderStyle::hasExplicitlyInheritedProperties const):
(WebCore::RenderStyle::inheritUnicodeBidiFrom):
(WebCore::RenderStyle::NonInheritedFlags::operator!= const):
(WebCore::RenderStyle::NonInheritedFlags::hasAnyPublicPseudoStyles const):
(WebCore::RenderStyle::originalDisplay const):
(WebCore::RenderStyle::NonInheritedFlags::operator== const):
(WebCore::RenderStyle::NonInheritedFlags::copyNonInheritedFrom):
(WebCore::RenderStyle::NonInheritedFlags::hasPseudoStyle const):
(WebCore::RenderStyle::NonInheritedFlags::setHasPseudoStyle):
(WebCore::RenderStyle::NonInheritedFlags::overflowX const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setOverflowX): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::overflowY const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setOverflowY): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::clear const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setClear): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::effectiveDisplay const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setEffectiveDisplay): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::position const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setPosition): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::originalDisplay const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setOriginalDisplay): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::unicodeBidi const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setUnicodeBidi): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasViewportUnits const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasViewportUnits): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::verticalAlign const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setVerticalAlign): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasExplicitlyInheritedProperties const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasExplicitlyInheritedProperties): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::isFloating const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::floating const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setFloating): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::tableLayout const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setTableLayout): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::styleType const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setStyleType): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::isUnique const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setIsUnique): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::emptyState const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setEmptyState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::firstChildState const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setFirstChildState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::lastChildState const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setLastChildState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::affectedByHover const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setAffectedByHover): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::affectedByActive const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setAffectedByActive): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::affectedByDrag const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setAffectedByDrag): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::isLink const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setIsLink): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasExplicitlySetDirection const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasExplicitlySetDirection): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasExplicitlySetWritingMode const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasExplicitlySetWritingMode): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::hasExplicitlySetTextAlign const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasExplicitlySetTextAlign): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagsMemoryOffset): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagIsaffectedByActive): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagIsaffectedByHover): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagPseudoStyle): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setFirstChildStateFlags): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setLastChildStateFlags): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagIsUnique): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagFirstChildState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::flagLastChildState): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::NonInheritedFlags): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::setHasPseudoStyles): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::updateBoolean): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::getBoolean const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::updateValue): Deleted.
(WebCore::RenderStyle::InheritedFlags::operator== const): Deleted.
(WebCore::RenderStyle::NonInheritedFlags::getValue const): Deleted.
(WebCore::adjustForAbsoluteZoom): Deleted.
(WebCore::adjustFloatForAbsoluteZoom): Deleted.
(WebCore::adjustLayoutUnitForAbsoluteZoom): Deleted.
(WebCore::collapsedBorderStyle): Deleted.
(WebCore::RenderStyle::hasBackground const): Deleted.
(WebCore::RenderStyle::autoWrap): Deleted.
(WebCore::RenderStyle::preserveNewline): Deleted.
(WebCore::RenderStyle::collapseWhiteSpace): Deleted.
(WebCore::RenderStyle::isCollapsibleWhiteSpace const): Deleted.
(WebCore::RenderStyle::breakOnlyAfterWhiteSpace const): Deleted.
(WebCore::RenderStyle::breakWords const): Deleted.
(WebCore::RenderStyle::hasInlineColumnAxis const): Deleted.
(WebCore::RenderStyle::imageOrientation const): Deleted.
(WebCore::RenderStyle::setLogicalWidth): Deleted.
(WebCore::RenderStyle::setLogicalHeight): Deleted.
(WebCore::RenderStyle::setBorderRadius): Deleted.
(WebCore::RenderStyle::setZoom): Deleted.
(WebCore::RenderStyle::setEffectiveZoom): Deleted.
(WebCore::RenderStyle::setTextOrientation): Deleted.
(WebCore::RenderStyle::adjustBackgroundLayers): Deleted.
(WebCore::RenderStyle::adjustMaskLayers): Deleted.
(WebCore::RenderStyle::clearAnimations): Deleted.
(WebCore::RenderStyle::clearTransitions): Deleted.
(WebCore::RenderStyle::setShapeOutside): Deleted.
(WebCore::RenderStyle::setShapeImageThreshold): Deleted.
(WebCore::RenderStyle::setClipPath): Deleted.
(WebCore::RenderStyle::willChangeCreatesStackingContext const): Deleted.
(WebCore::RenderStyle::isDisplayRegionType const): Deleted.
(WebCore::RenderStyle::setWritingMode): Deleted.
(WebCore::RenderStyle::getShadowInlineDirectionExtent const): Deleted.
(WebCore::RenderStyle::getShadowBlockDirectionExtent const): Deleted.
(WebCore::RenderStyle::isDisplayReplacedType): Deleted.
(WebCore::RenderStyle::isDisplayInlineType): Deleted.
(WebCore::RenderStyle::isDisplayFlexibleBox): Deleted.
(WebCore::RenderStyle::isDisplayGridBox): Deleted.
(WebCore::RenderStyle::isDisplayFlexibleOrGridBox): Deleted.
(WebCore::RenderStyle::hasAnyPublicPseudoStyles const): Deleted.
(WebCore::RenderStyle::hasPseudoStyle const): Deleted.
(WebCore::RenderStyle::setHasPseudoStyle): Deleted.
(WebCore::RenderStyle::setHasPseudoStyles): Deleted.
(WebCore::RenderStyle::setBoxReflect): Deleted.
(WebCore::pseudoElementRendererIsNeeded): Deleted.

2017-08-22 Darin Adler <darin@apple.com>

REGRESSION (r220052): ASSERTION FAILED: !frame().isMainFrame() || !needsStyleRecalcOrLayout() in WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive()
Expand Down
60 changes: 43 additions & 17 deletions Source/WebCore/rendering/style/RenderStyle.cpp
Expand Up @@ -74,14 +74,14 @@ struct SameSizeAsRenderStyle {
} m_inheritedFlags;

struct NonInheritedFlags {
uint64_t m_flags;
uint64_t m_bitfields;
} m_nonInheritedFlags;
#if !ASSERT_DISABLED || ENABLE(SECURITY_ASSERTIONS)
bool deletionCheck;
#endif
};

COMPILE_ASSERT(sizeof(RenderStyle) == sizeof(SameSizeAsRenderStyle), RenderStyle_should_stay_small);
static_assert(sizeof(RenderStyle) == sizeof(SameSizeAsRenderStyle), "RenderStyle should stay small");

RenderStyle& RenderStyle::defaultStyle()
{
Expand Down Expand Up @@ -163,6 +163,32 @@ RenderStyle::RenderStyle(CreateDefaultStyleTag)
m_inheritedFlags.insideDefaultButton = false;
m_inheritedFlags.writingMode = initialWritingMode();

m_nonInheritedFlags.effectiveDisplay = initialDisplay();
m_nonInheritedFlags.originalDisplay = initialDisplay();
m_nonInheritedFlags.overflowX = initialOverflowX();
m_nonInheritedFlags.overflowY = initialOverflowY();
m_nonInheritedFlags.verticalAlign = initialVerticalAlign();
m_nonInheritedFlags.clear = initialClear();
m_nonInheritedFlags.position = initialPosition();
m_nonInheritedFlags.unicodeBidi = initialUnicodeBidi();
m_nonInheritedFlags.floating = initialFloating();
m_nonInheritedFlags.tableLayout = initialTableLayout();
m_nonInheritedFlags.hasExplicitlySetDirection = false;
m_nonInheritedFlags.hasExplicitlySetWritingMode = false;
m_nonInheritedFlags.hasExplicitlySetTextAlign = false;
m_nonInheritedFlags.hasViewportUnits = false;
m_nonInheritedFlags.hasExplicitlyInheritedProperties = false;
m_nonInheritedFlags.isUnique = false;
m_nonInheritedFlags.emptyState = false;
m_nonInheritedFlags.firstChildState = false;
m_nonInheritedFlags.lastChildState = false;
m_nonInheritedFlags.affectedByHover = false;
m_nonInheritedFlags.affectedByActive = false;
m_nonInheritedFlags.affectedByDrag = false;
m_nonInheritedFlags.isLink = false;
m_nonInheritedFlags.styleType = NOPSEUDO;
m_nonInheritedFlags.pseudoBits = NOPSEUDO;

static_assert((sizeof(InheritedFlags) <= 8), "InheritedFlags does not grow");
static_assert((sizeof(NonInheritedFlags) <= 8), "NonInheritedFlags does not grow");
}
Expand Down Expand Up @@ -417,8 +443,8 @@ unsigned RenderStyle::hashForTextAutosizing() const
hash ^= WTF::FloatHash<float>::hash(m_inheritedData->verticalBorderSpacing);
hash ^= m_inheritedFlags.boxDirection;
hash ^= m_inheritedFlags.rtlOrdering;
hash ^= m_nonInheritedFlags.position();
hash ^= m_nonInheritedFlags.floating();
hash ^= m_nonInheritedFlags.position;
hash ^= m_nonInheritedFlags.floating;
hash ^= m_rareNonInheritedData->textOverflow;
hash ^= m_rareInheritedData->textSecurity;
return hash;
Expand All @@ -441,8 +467,8 @@ bool RenderStyle::equalForTextAutosizing(const RenderStyle& other) const
&& m_inheritedData->verticalBorderSpacing == other.m_inheritedData->verticalBorderSpacing
&& m_inheritedFlags.boxDirection == other.m_inheritedFlags.boxDirection
&& m_inheritedFlags.rtlOrdering == other.m_inheritedFlags.rtlOrdering
&& m_nonInheritedFlags.position() == other.m_nonInheritedFlags.position()
&& m_nonInheritedFlags.floating() == other.m_nonInheritedFlags.floating()
&& m_nonInheritedFlags.position == other.m_nonInheritedFlags.position
&& m_nonInheritedFlags.floating == other.m_nonInheritedFlags.floating
&& m_rareNonInheritedData->textOverflow == other.m_rareNonInheritedData->textOverflow;
}

Expand Down Expand Up @@ -520,7 +546,7 @@ bool RenderStyle::changeRequiresLayout(const RenderStyle& other, unsigned& chang
|| m_boxData->maxHeight() != other.m_boxData->maxHeight())
return true;

if (m_boxData->verticalAlign() != other.m_boxData->verticalAlign() || m_nonInheritedFlags.verticalAlign() != other.m_nonInheritedFlags.verticalAlign())
if (m_boxData->verticalAlign() != other.m_boxData->verticalAlign() || m_nonInheritedFlags.verticalAlign != other.m_nonInheritedFlags.verticalAlign)
return true;

if (m_boxData->boxSizing() != other.m_boxData->boxSizing())
Expand Down Expand Up @@ -663,17 +689,17 @@ bool RenderStyle::changeRequiresLayout(const RenderStyle& other, unsigned& chang
|| m_inheritedData->verticalBorderSpacing != other.m_inheritedData->verticalBorderSpacing
|| m_inheritedFlags.boxDirection != other.m_inheritedFlags.boxDirection
|| m_inheritedFlags.rtlOrdering != other.m_inheritedFlags.rtlOrdering
|| m_nonInheritedFlags.position() != other.m_nonInheritedFlags.position()
|| m_nonInheritedFlags.floating() != other.m_nonInheritedFlags.floating()
|| m_nonInheritedFlags.originalDisplay() != other.m_nonInheritedFlags.originalDisplay())
|| m_nonInheritedFlags.position != other.m_nonInheritedFlags.position
|| m_nonInheritedFlags.floating != other.m_nonInheritedFlags.floating
|| m_nonInheritedFlags.originalDisplay != other.m_nonInheritedFlags.originalDisplay)
return true;


if ((m_nonInheritedFlags.effectiveDisplay()) >= TABLE) {
if (m_nonInheritedFlags.effectiveDisplay >= TABLE) {
if (m_inheritedFlags.borderCollapse != other.m_inheritedFlags.borderCollapse
|| m_inheritedFlags.emptyCells != other.m_inheritedFlags.emptyCells
|| m_inheritedFlags.captionSide != other.m_inheritedFlags.captionSide
|| m_nonInheritedFlags.tableLayout() != other.m_nonInheritedFlags.tableLayout())
|| m_nonInheritedFlags.tableLayout != other.m_nonInheritedFlags.tableLayout)
return true;

// In the collapsing border model, 'hidden' suppresses other borders, while 'none'
Expand All @@ -690,7 +716,7 @@ bool RenderStyle::changeRequiresLayout(const RenderStyle& other, unsigned& chang
return true;
}

if (m_nonInheritedFlags.effectiveDisplay() == LIST_ITEM) {
if (m_nonInheritedFlags.effectiveDisplay == LIST_ITEM) {
if (m_inheritedFlags.listStyleType != other.m_inheritedFlags.listStyleType
|| m_inheritedFlags.listStylePosition != other.m_inheritedFlags.listStylePosition)
return true;
Expand All @@ -700,8 +726,8 @@ bool RenderStyle::changeRequiresLayout(const RenderStyle& other, unsigned& chang
|| m_inheritedFlags.textTransform != other.m_inheritedFlags.textTransform
|| m_inheritedFlags.direction != other.m_inheritedFlags.direction
|| m_inheritedFlags.whiteSpace != other.m_inheritedFlags.whiteSpace
|| m_nonInheritedFlags.clear() != other.m_nonInheritedFlags.clear()
|| m_nonInheritedFlags.unicodeBidi() != other.m_nonInheritedFlags.unicodeBidi())
|| m_nonInheritedFlags.clear != other.m_nonInheritedFlags.clear
|| m_nonInheritedFlags.unicodeBidi != other.m_nonInheritedFlags.unicodeBidi)
return true;

// Check block flow direction.
Expand All @@ -719,8 +745,8 @@ bool RenderStyle::changeRequiresLayout(const RenderStyle& other, unsigned& chang
return true;

// Overflow returns a layout hint.
if (m_nonInheritedFlags.overflowX() != other.m_nonInheritedFlags.overflowX()
|| m_nonInheritedFlags.overflowY() != other.m_nonInheritedFlags.overflowY())
if (m_nonInheritedFlags.overflowX != other.m_nonInheritedFlags.overflowX
|| m_nonInheritedFlags.overflowY != other.m_nonInheritedFlags.overflowY)
return true;

// If our border widths change, then we need to layout. Other changes to borders
Expand Down

0 comments on commit 9a2d8c9

Please sign in to comment.