Content with heavily nested residual style is so slow, it seems like a hang
Created attachment 47298 [details] Patch
I wasn't sure whether to provide a test case for this. The only test case I can think of would be annoyingly slow when it passes, and an outright hang when it fails. This means it would probably be on the edge of timing out on the bots, which is not so great.
Attachment 47298 [details] did not build on mac: Build output: http://webkit-commit-queue.appspot.com/results/208763
Attachment 47298 [details] did not build on chromium: Build output: http://webkit-commit-queue.appspot.com/results/208767
Comment on attachment 47298 [details] Patch > + while (!finished && (iterationCount++ < cResidualStyleIterationLimititerationLimit)) { Typo: cResidualStyleIterationLimititerationLimit and redundant parentheses, but otherwise r=me
Attachment 47298 [details] did not build on qt: Build output: http://webkit-commit-queue.appspot.com/results/209685
Comment on attachment 47298 [details] Patch > + Limit the number of iterations of the main loop to 5. <...> > + while (!finished && (iterationCount++ < cResidualStyleIterationLimititerationLimit)) { I think this actually limits the count to 6, not 5. It would be nice to attach a test case to this Bugzilla bug, so that people could verify that it didn't regress - if it's not possible to make an automated test, of course.
Attachment 47298 [details] did not build on gtk: Build output: http://webkit-commit-queue.appspot.com/results/208787
(In reply to comment #7) > (From update of attachment 47298 [details]) > > + Limit the number of iterations of the main loop to 5. > <...> > > + while (!finished && (iterationCount++ < cResidualStyleIterationLimititerationLimit)) { > > I think this actually limits the count to 6, not 5. I think it's 5. The value being compared on iterations through the loop will be: 0 1 2 3 4 5 ==> this breaks out of the loop before it executes. > > It would be nice to attach a test case to this Bugzilla bug, so that people > could verify that it didn't regress - if it's not possible to make an automated > test, of course. I'll see if I can make an automated test that hangs on release but reliably runs fast in debug. Regards, Maciej
D'oh!
Committed r53790: <http://trac.webkit.org/changeset/53790>