[Webkit-unassigned] [Bug 94828] [chromium] CCLayerTreeHost::finishCommitOnImplThread wrong setter order

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Aug 28 06:32:05 PDT 2012


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





--- Comment #8 from alexst at chromium.org  2012-08-28 06:32:06 PST ---
> Can we instead fix this so the order doesn't matter?  It seems like that is practically the case today - we make a bunch of sets and the only use the data after we're done with that.  Relying on a specific call order is a bit suspicious.

Well, it is actually safe today because of the additional call inside commitFinished() that flushes any order inconsistencies.

updateMaxScrollPosition ends up getting called multiple times in setters that affect its state, which seems reasonable, and then again at the very end. I think, one of the bugs here is that it *isn't* called inside setDeviceScaleFactor, which alters max scroll position.

A batch of these setters are called in finishCommitOnImplThread, but another place that affects it is page scale animation. It seems like removing this call from setters and only updating max scroll positions at the end is insufficient, unless we change scale animation to do it manually (and do it this way in every new function that dirties its state)

My particular rearrangement is a nitpick that threw me off during debugging. I was unfamiliar with the code and expected the different device scale than I was seeing, and only later discovered that's it's okay and that it's fixed in the later part of the code. Still, just looking at setViewport at the time, it was unclear that it was not a bug.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list