mozilla :: #layout

12 Jul 2017
19:05bradwerthwhat is the minimal nsChangeHint to indicate that floats need to be recalcuated?
19:06bradwerthdholbert: ^
19:07dholbertbradwerth: I'm not sure. nsChangeHint.h doesn't seem to mention floats anywhere, so I don't think we have any float-speciifc hints.
19:08bradwerthI guess I'll set to nsChangeHint_NeedReflow then....
19:08dholbertbradwerth: nsChangeHint_ReflowHintsForISizeChange would probably work, though it's also probably not minimal
19:08dholbertyeah, that might do it
19:08bradwerthdholbert: thanks. I'll first verify I can get the change with nsChangeHint_NeedReflow and then try nsChangeHint_ReflowHintsForISizeChange
19:09bradwerthdholbert: this is to support reflow when dynamic changes are made to shape-outside, by the way
19:09dholbertbradwerth: (ReflowHintsForISizeChange includes NeedReflow, so if the former works, the latter will also work but probably be unnecessary)
19:09dholbertsorry, my former/latter there was with respect to your ordering, not mine
19:10dholbertI mean "so if NeedReflow works, then ReflowHintsForISizeChange will also work but probably be unnecessary"
19:10bradwerthdholbert: are you saying that nsChangeHint_NeedReflow is "smaller" in some sense than nsChangeHint_ReflowHintsForISizeChange?
19:11bradwerthdholbert: oh, you're saying it's a superset
19:11dholbertexactly
19:11dholbertnsChangeHint_NeedReflow is a single bit, whereas nsChangeHint_ReflowHintsForISizeChange is a mask of a bunch
19:11bradwerthdholbert: fair enough, so if it works with nsChangeHint_NeedReflow, then that's all good
19:13dholbertbradwerth: you probably also need nsChangeHint_ClearAncestorIntrinsics
19:13dholbertsince if floats are moving around, that could impact the intrinsic size of this element
19:15dholbertbradwerth: otherwise we might not correctly size the black-bordered element at data:text/html,<div style=&quot;border: 3px solid black; display: inline-block&quot;><div><div style=&quot;float:left&quot;>AAA<div style=&quot;float:left&quot;>BBB if &quot;shape-outside&quot; were to change on the intermediate unstyled div (I think)
19:17bradwerthdholbert: looks like nsChangeHint_AllReflowHints might be the complete mask I need, since it&#39;s used by some other float-changing detect at http://searchfox.org/mozilla-central/source/layout/style/nsStyleStruct.cpp#3529
19:20dholbertbradwerth: Ah, sorry -- I was misremembering how shape-outside works -- I was thinking it was on the float&#39;s container, but it&#39;s on the float itself
19:21dholbertbradwerth: yeah, you might want the exact mask we use for &quot;float&quot; there
19:22dholbertbradwerth: (including the bit exclusions -- it doesn&#39;t immediately seem like &quot;shape-outside&quot; should affect descendant layout, though I could easily be unaware of some aspect of how it works)
19:23bradwerthdholbert: okay, then I&#39;ll try adding it as another case to that same if statement
19:23dholbertbradwerth: perfect
19:28bradwerthdholbert: works great, thank you
19:29dholbertbradwerth: hooray! sure.
13 Jul 2017
No messages
   
Last message: 15 days and 3 hours ago