RESOLVED FIXED 185357
[LFC] Add assertions for stale Display::Box geometry
https://bugs.webkit.org/show_bug.cgi?id=185357
Summary [LFC] Add assertions for stale Display::Box geometry
zalan
Reported 2018-05-05 15:02:25 PDT
During layout we should never access stale geometry of other boxes (containing block etc).
Attachments
Patch (12.33 KB, patch)
2018-05-05 19:42 PDT, zalan
no flags
Patch (12.66 KB, patch)
2018-05-05 20:52 PDT, zalan
no flags
Patch (12.36 KB, patch)
2018-05-06 16:28 PDT, zalan
no flags
zalan
Comment 1 2018-05-05 19:42:55 PDT
zalan
Comment 2 2018-05-05 20:52:54 PDT
Antti Koivisto
Comment 3 2018-05-06 11:56:39 PDT
Comment on attachment 339669 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=339669&action=review > Source/WebCore/layout/displaytree/DisplayBox.h:138 > +#if !ASSERT_DISABLED > + bool m_hasValidTop : 1; > + bool m_hasValidLeft : 1; > + bool m_hasValidWidth : 1; > + bool m_hasValidHeight : 1; > + bool m_hasValidMargin : 1; > + bool m_hasValidBorder : 1; > + bool m_hasValidPadding : 1; > +#endif I would just use bools. There is no need to optimize memory use of the debug build. Do all these really need separate flags?
zalan
Comment 4 2018-05-06 12:34:10 PDT
(In reply to Antti Koivisto from comment #3) > Comment on attachment 339669 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=339669&action=review > > > Source/WebCore/layout/displaytree/DisplayBox.h:138 > > +#if !ASSERT_DISABLED > > + bool m_hasValidTop : 1; > > + bool m_hasValidLeft : 1; > > + bool m_hasValidWidth : 1; > > + bool m_hasValidHeight : 1; > > + bool m_hasValidMargin : 1; > > + bool m_hasValidBorder : 1; > > + bool m_hasValidPadding : 1; > > +#endif > > I would just use bools. There is no need to optimize memory use of the debug > build. > > Do all these really need separate flags? For block context, I could definitely collapse top with left and the padding with border/margin since we compute them in one go, but other formatting contexts might differ. I guess padding/border/margin should always be collapsible.
zalan
Comment 5 2018-05-06 16:28:00 PDT
WebKit Commit Bot
Comment 6 2018-05-06 19:09:22 PDT
Comment on attachment 339694 [details] Patch Clearing flags on attachment: 339694 Committed r231401: <https://trac.webkit.org/changeset/231401>
WebKit Commit Bot
Comment 7 2018-05-06 19:09:23 PDT
All reviewed patches have been landed. Closing bug.
Radar WebKit Bug Importer
Comment 8 2018-05-06 19:10:19 PDT
Note You need to log in before you can comment on or make changes to this bug.