Changeset 282495 in webkit
- Timestamp:
- Sep 16, 2021, 1:00:00 AM (5 years ago)
- Location:
- releases/WebKitGTK/webkit-2.32/Source/WebCore
- Files:
-
- 2 edited
-
ChangeLog (modified) (1 diff)
-
style/StyleBuilderCustom.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
releases/WebKitGTK/webkit-2.32/Source/WebCore/ChangeLog
r282493 r282495 1 2021-03-24 Sergio Villar Senin <svillar@igalia.com> 2 3 [css-grid] Initialize auto-repeat data in RenderStyle in applyInitialGridTemplate{Columns|Rows} 4 https://bugs.webkit.org/show_bug.cgi?id=222852 5 6 Reviewed by Antti Koivisto. 7 8 We should initialize the auto repeat data (like auto repeat tracks or the insertion point) whenever 9 applyInitialGridTemplateXXX is called. That method is normally called using different RenderStyle's 10 but under some circumstances it might be the same. For those cases we wouldn't like to end up with 11 obsolete data from a previous style resolution. 12 13 The same applies also to the applyInheritGridTemplateXXX calls. We're also removing a duplicate call 14 to setGridAutoRepeat{Row|Column}sInsertionPoint() that is not needed at all. 15 16 In order to have a single place with all the style properties affecting columns and rows, all the set 17 calls were moved to a macro that is used by all the apply{Initial|Inherit}GridTemplate{Columns|Rows} 18 methods. This would allow us to prevent eventual out-of-sync issues like this one. 19 20 * style/StyleBuilderCustom.h: 21 (WebCore::Style::BuilderCustom::applyInitialGridTemplateColumns): 22 (WebCore::Style::BuilderCustom::applyInheritGridTemplateColumns): 23 (WebCore::Style::BuilderCustom::applyInitialGridTemplateRows): 24 (WebCore::Style::BuilderCustom::applyInheritGridTemplateRows): 25 1 26 2021-04-02 Ryosuke Niwa <rniwa@webkit.org> 2 27 -
releases/WebKitGTK/webkit-2.32/Source/WebCore/style/StyleBuilderCustom.h
r272805 r282495 1800 1800 } 1801 1801 1802 #define SET_TRACKS_DATA_INTERNAL(tracksData, style, parentStyle, TrackType) \ 1803 ASSERT(tracksData || parentStyle); \ 1804 style.setGrid##TrackType##s(tracksData ? tracksData->m_trackSizes : parentStyle->grid##TrackType##s()); \ 1805 style.setNamedGrid##TrackType##Lines(tracksData ? tracksData->m_namedGridLines : parentStyle->namedGrid##TrackType##Lines()); \ 1806 style.setOrderedNamedGrid##TrackType##Lines(tracksData ? tracksData->m_orderedNamedGridLines : parentStyle->orderedNamedGrid##TrackType##Lines()); \ 1807 style.setGridAutoRepeat##TrackType##s(tracksData ? tracksData->m_autoRepeatTrackSizes : parentStyle->gridAutoRepeat##TrackType##s()); \ 1808 style.setGridAutoRepeat##TrackType##sInsertionPoint(tracksData ? tracksData->m_autoRepeatInsertionPoint : parentStyle->gridAutoRepeat##TrackType##sInsertionPoint()); \ 1809 style.setAutoRepeatNamedGrid##TrackType##Lines(tracksData ? tracksData->m_autoRepeatNamedGridLines : parentStyle->autoRepeatNamedGrid##TrackType##Lines()); \ 1810 style.setAutoRepeatOrderedNamedGrid##TrackType##Lines(tracksData ? tracksData->m_autoRepeatOrderedNamedGridLines : parentStyle->autoRepeatOrderedNamedGrid##TrackType##Lines()); \ 1811 style.setGridAutoRepeat##TrackType##sType(tracksData ? tracksData->m_autoRepeatType : parentStyle->gridAutoRepeat##TrackType##sType()); 1812 1813 #define SET_INHERIT_TRACKS_DATA(style, parentStyle, TrackType) \ 1814 BuilderConverter::TracksData* tracksData = nullptr; \ 1815 const RenderStyle* parentStylePointer = &parentStyle; \ 1816 SET_TRACKS_DATA_INTERNAL(tracksData, style, parentStylePointer, TrackType) 1817 1818 #define SET_TRACKS_DATA(tracksData, style, TrackType) \ 1819 BuilderConverter::TracksData* tracksDataPointer = &tracksData; \ 1820 const RenderStyle* parentStyle = nullptr; \ 1821 SET_TRACKS_DATA_INTERNAL(tracksDataPointer, style, parentStyle, TrackType) 1822 1802 1823 inline void BuilderCustom::applyInitialGridTemplateColumns(BuilderState& builderState) 1803 1824 { 1804 builderState.style().setGridColumns(RenderStyle::initialGridColumns()); 1805 builderState.style().setNamedGridColumnLines(RenderStyle::initialNamedGridColumnLines()); 1806 builderState.style().setOrderedNamedGridColumnLines(RenderStyle::initialOrderedNamedGridColumnLines()); 1825 BuilderConverter::TracksData initialTracksData; 1826 SET_TRACKS_DATA(initialTracksData, builderState.style(), Column); 1807 1827 } 1808 1828 1809 1829 inline void BuilderCustom::applyInheritGridTemplateColumns(BuilderState& builderState) 1810 1830 { 1811 builderState.style().setGridColumns(builderState.parentStyle().gridColumns()); 1812 builderState.style().setNamedGridColumnLines(builderState.parentStyle().namedGridColumnLines()); 1813 builderState.style().setOrderedNamedGridColumnLines(builderState.parentStyle().orderedNamedGridColumnLines()); 1814 } 1815 1816 #define SET_TRACKS_DATA(tracksData, style, TrackType) \ 1817 style.setGrid##TrackType##s(tracksData.m_trackSizes); \ 1818 style.setNamedGrid##TrackType##Lines(tracksData.m_namedGridLines); \ 1819 style.setOrderedNamedGrid##TrackType##Lines(tracksData.m_orderedNamedGridLines); \ 1820 style.setGridAutoRepeat##TrackType##s(tracksData.m_autoRepeatTrackSizes); \ 1821 style.setGridAutoRepeat##TrackType##sInsertionPoint(tracksData.m_autoRepeatInsertionPoint); \ 1822 style.setAutoRepeatNamedGrid##TrackType##Lines(tracksData.m_autoRepeatNamedGridLines); \ 1823 style.setAutoRepeatOrderedNamedGrid##TrackType##Lines(tracksData.m_autoRepeatOrderedNamedGridLines); \ 1824 style.setGridAutoRepeat##TrackType##sType(tracksData.m_autoRepeatType); \ 1825 style.setGridAutoRepeat##TrackType##sInsertionPoint(tracksData.m_autoRepeatInsertionPoint); 1831 SET_INHERIT_TRACKS_DATA(builderState.style(), builderState.parentStyle(), Column); 1832 } 1826 1833 1827 1834 inline void BuilderCustom::applyValueGridTemplateColumns(BuilderState& builderState, CSSValue& value) … … 1839 1846 inline void BuilderCustom::applyInitialGridTemplateRows(BuilderState& builderState) 1840 1847 { 1841 builderState.style().setGridRows(RenderStyle::initialGridRows()); 1842 builderState.style().setNamedGridRowLines(RenderStyle::initialNamedGridRowLines()); 1843 builderState.style().setOrderedNamedGridRowLines(RenderStyle::initialOrderedNamedGridRowLines()); 1848 BuilderConverter::TracksData initialTracksData; 1849 SET_TRACKS_DATA(initialTracksData, builderState.style(), Row); 1844 1850 } 1845 1851 1846 1852 inline void BuilderCustom::applyInheritGridTemplateRows(BuilderState& builderState) 1847 1853 { 1848 builderState.style().setGridRows(builderState.parentStyle().gridRows()); 1849 builderState.style().setNamedGridRowLines(builderState.parentStyle().namedGridRowLines()); 1850 builderState.style().setOrderedNamedGridRowLines(builderState.parentStyle().orderedNamedGridRowLines()); 1854 SET_INHERIT_TRACKS_DATA(builderState.style(), builderState.parentStyle(), Row); 1851 1855 } 1852 1856
Note:
See TracChangeset
for help on using the changeset viewer.