98af0eaefed7239a427cbd12ef42b2d8f0e50269: Bug 1308876 - Prevent tables from trying to do incremental reflow when fragmented, since they can't. r=dholbert
L. David Baron <dbaron@dbaron.org> - Wed, 12 Jul 2017 19:37:12 -0700 - rev 608044
Push 68169 by bmo:tigleym@gmail.com at Thu, 13 Jul 2017 05:25:33 +0000
Bug 1308876 - Prevent tables from trying to do incremental reflow when fragmented, since they can't. r=dholbert I noticed this while debugging the assertion count failure of layout/base/crashtests/470851-1.xhtml . It doesn't help that failure, but it still seems like the safe thing to do. MozReview-Commit-ID: 6xHxUJCjUHh
6dd31665f62e98246873c409ed1b006f511e57a2: Bug 1308876 - Reflow all kids when column-fill is auto and height has changed. r=dholbert
L. David Baron <dbaron@dbaron.org> - Wed, 12 Jul 2017 19:37:12 -0700 - rev 608043
Push 68169 by bmo:tigleym@gmail.com at Thu, 13 Jul 2017 05:25:33 +0000
Bug 1308876 - Reflow all kids when column-fill is auto and height has changed. r=dholbert This fixes the regression in layout/reftests/columns/column-balancing-nested-001.html from the primary patch in this bug, for which a simplified testcase is https://bugzilla.mozilla.org/attachment.cgi?id=8848293 . I believe it's simply a pre-existing bug that wasn't previously exposed. I suspect it may be possible to write a test that shows the bug prior to the patch. However, it's difficult, since it requires triggering height changes in a multicol with an 'auto' height (since a non-'auto' height would cause the multicol to have NS_FRAME_CONTAINS_RELATIVE_BSIZE set by nsColumnSetFrame::Reflow, which would make skipIncremental false because ShouldReflowAllKids returns true). I suspect any working testcase would likely be rather brittle, so I haven't pursued it further (particularly given the complexity of the minimal testcase). MozReview-Commit-ID: Gve3XKEPSxL
66edf6c444e7c88572d1dc58aac6ee6788ffb03f: Bug 1308876 - Fix ColumnSet to reflow a non-dirty column when the block-size has shrunk and the column might need to push some children to the next column. r=dholbert
L. David Baron <dbaron@dbaron.org> - Wed, 12 Jul 2017 19:37:12 -0700 - rev 608042
Push 68169 by bmo:tigleym@gmail.com at Thu, 13 Jul 2017 05:25:33 +0000
Bug 1308876 - Fix ColumnSet to reflow a non-dirty column when the block-size has shrunk and the column might need to push some children to the next column. r=dholbert This fixes (confirmed by testing locally) a regression in layout/reftests/w3c-css/received/css-multicol-1/multicol-nested-margin-004.xht resulting from the primary patch in this bug, which tends to make frames dirty less often. The problem with that test is that (at least in a simplified form), in the final reflow of the inner ColumnSet in the first column of the outer ColumnSet, the inner ColumnSet chooses not to reflow its first column, thus leaving that first column having a height that is too large for the inner ColumnSet to fit in the first column of the outer ColumnSet, causing the entire inner ColumnSet (rather than just part of it) to be pushed to the next column. I believe this existing incremental reflow code just doesn't make sense. The code I'm modifying dates back primarily to: https://github.com/mozilla/gecko-dev/commit/c237520c89a51349aad773bd971dd93cd09f91b9 (October 2004, initial columns implementation) https://github.com/mozilla/gecko-dev/commit/ee070ec95f3a057d4e0d3e8e00ac9f5808a38fed (March 2005) https://github.com/mozilla/gecko-dev/commit/31e3540d1e31e96f3a89b8ea314f6f3ffcb81746 (November 2006) The first thing that doesn't make sense is the condition modified at the end of this patch: (!reflowNext && (skipIncremental || skipResizeBSizeShrink)) There's simply no reason that that || isn't required to be an &&, as far as I can tell. Even if we don't need to reflow due to any of the standard incremental reflow conditions, we can need to reflow because the block size is shrinking and the column no longer fits. Note that things were already OK when we required reflow due to NS_SUBTREE_DIRTY(this), because of the way shrinkingBSizeOnly was initialized using !NS_SUBTREE_DIRTY(this), thus excluding such cases from the optimization. The rest of the patch falls out of turning the || into an && in an efficient way (i.e., without the extra !NS_SUBTREE_DIRTY(this) test, and avoiding doing extra tests that we know we're not going to need by coalescing all the incremental reflow tests into a single variable). I tested that this patch passes try on its own (on 64-bit Linux debug): https://treeherder.mozilla.org/#/jobs?repo=try&revision=a279023fb7e8f3349d5ecbfb95807d6b097cdbcb MozReview-Commit-ID: BD3ofmWN5Wl
28292dffc5d03ca35993cc3c64b7505c9f87061c: Bug 1308876 - Remove assertion that starts firing more when we mark frames dirty less and thus call PrepareResizeReflow more. r=mats
L. David Baron <dbaron@dbaron.org> - Wed, 12 Jul 2017 19:37:12 -0700 - rev 608041
Push 68169 by bmo:tigleym@gmail.com at Thu, 13 Jul 2017 05:25:33 +0000
Bug 1308876 - Remove assertion that starts firing more when we mark frames dirty less and thus call PrepareResizeReflow more. r=mats This fires, for example, in layout/base/crashtests/265973-1.html (and a number of other tests, I believe) with the primary patch in this bug. This is because the primary patch causes frames to be dirty less often, which sends us into the PrepareResizeReflow codepath, which only happens when frames are not dirty. I don't think NS_CoordSaturatingAdd is needed here, since newAvailISize is used only when deciding whether or not lines need reflow; wraparound should only cause us to do a little extra work. Note: This patch passes try on its own, on Linux64 debug. MozReview-Commit-ID: K6Z5MvG7awp
ef306e4124f8b66fe87524159954ddce301e4cf5: Bug 1308876 - Don't continue reflow after deciding we need to try again due to page-break-inside:avoid. r=mats
L. David Baron <dbaron@dbaron.org> - Wed, 12 Jul 2017 19:37:12 -0700 - rev 608040
Push 68169 by bmo:tigleym@gmail.com at Thu, 13 Jul 2017 05:25:33 +0000
Bug 1308876 - Don't continue reflow after deciding we need to try again due to page-break-inside:avoid. r=mats The primary patch in this bug causes fewer dirty reflows, which leads to lines being out-of-date for the reason described in the comment. This causes incorrect layout of some references sections on wikipedia, for which a simplified testcase is included. This bug was not caught by anything in our test suite, but I noticed it while browsing wikipedia (since I use a build that has my patches in it for my regular browsing). MozReview-Commit-ID: 4hTQpGS2pZH
e3741d5b60f182cddec58733e2d17cdf4dfe586b: Bug 1308876 - Mark lines dirty when we abort their reflow due to page-break-inside:avoid. r=mats
L. David Baron <dbaron@dbaron.org> - Wed, 12 Jul 2017 19:37:11 -0700 - rev 608039
Push 68169 by bmo:tigleym@gmail.com at Thu, 13 Jul 2017 05:25:33 +0000
Bug 1308876 - Mark lines dirty when we abort their reflow due to page-break-inside:avoid. r=mats Both of the changes are needed to fix layout/reftests/w3c-css/submitted/css21/pagination/moz-css21-float-page-break-inside-avoid-4.html with the primary patch in bug 1308876. That patch changes the transfer of NS_FRAME_IS_DIRTY from parent to child so that it happens at the start of the parent's reflow rather than later at the start of the child's reflow, which means that frames that are pulled into a dirty frame during reflow are not marked dirty (and thus forced to reflow all of their lines). This means that the primary patch in bug 1308876 introduces the possibility of non-dirty reflows during printing, which means we exercise non-dirty relayout code in a number of tests where we did not do so previously. Note: This patch passes try on its own, on Linux64 debug. Writing a simple test for this that fails without the primary patch in bug 1308876 seems difficult. ColumnSetFrame responds to nsReflowStatus::NextInFlowNeedsReflow by marking the next-in-flow *dirty* (which page frames don't), which makes it hard to test in columns, at least without nesting. (Colums probably shouldn't do that, though, but that's a performance fix for another time.) MozReview-Commit-ID: JZ3qWTSO2lX
f8c5d7e8c28ad64e495e0534d40975d8ab736772: Bug 1380521 - Use a more reliably invalid initial mBSizeOfARow so that we reflow properly if it changes to zero. r=dholbert
L. David Baron <dbaron@dbaron.org> - Wed, 12 Jul 2017 19:37:11 -0700 - rev 608038
Push 68169 by bmo:tigleym@gmail.com at Thu, 13 Jul 2017 05:25:33 +0000
Bug 1380521 - Use a more reliably invalid initial mBSizeOfARow so that we reflow properly if it changes to zero. r=dholbert This fixes a failure in layout/reftests/bugs/467084-1.html, triggered by the primary patch in bug 1308876, on Android only (or on all platforms if I add 'html { overflow: hidden }'). I confirmed locally (on Linux) that, without this patch, both layout/reftests/bugs/467084-1.html with 'html { overflow: hidden }', and the reftest added here, fail, but that with the patch they both pass. MozReview-Commit-ID: 3SjTlnBngBV
4bf16638687ffa908a78d7ab2d04320c36afcaba: Bug 1380521 - Fix spelling of mSuppressScrollbarUpdate member variable. r=dholbert
L. David Baron <dbaron@dbaron.org> - Wed, 12 Jul 2017 19:37:11 -0700 - rev 608037
Push 68169 by bmo:tigleym@gmail.com at Thu, 13 Jul 2017 05:25:33 +0000
Bug 1380521 - Fix spelling of mSuppressScrollbarUpdate member variable. r=dholbert MozReview-Commit-ID: 6i2cz2Flwtb
5631a4402393f2b4f16b4f959436eea1e717fe43: Bug 1380521 - Remove pointless assertion. r=dholbert
L. David Baron <dbaron@dbaron.org> - Wed, 12 Jul 2017 19:37:11 -0700 - rev 608036
Push 68169 by bmo:tigleym@gmail.com at Thu, 13 Jul 2017 05:25:33 +0000
Bug 1380521 - Remove pointless assertion. r=dholbert It's just asserting the same as the test that contains it. MozReview-Commit-ID: KS58GuvVZDA
905f598f2051286c68f860cca497e75fb8cdeaa0: Bug 1379334 - Make XULScrollFrame test for needing a vertical scrollbar because of the size of the horizontal scrollbar. r=dholbert
L. David Baron <dbaron@dbaron.org> - Wed, 12 Jul 2017 19:37:11 -0700 - rev 608035
Push 68169 by bmo:tigleym@gmail.com at Thu, 13 Jul 2017 05:25:33 +0000
Bug 1379334 - Make XULScrollFrame test for needing a vertical scrollbar because of the size of the horizontal scrollbar. r=dholbert This fixes an incremental layout bug, where the number of times we reflow the frame affects its layout. This is because we make the decisions about the vertical scrollbar before the horizontal scrollbar (and, when making the decision, adjust mHelper.mScrollPort for the size of the scrollbar). Thus, in order to avoid a situation where reflowing the scrollframe once leads us to have no vertical scrollbar, but reflowing it a second time leads us to add that scrollbar, we need to retest for the need for a vertical scrollbar after we add the horizontal one. (It's possible there are some other missing cases here, but this is the one that (a) already existed in the code and (b) is needed to fix the reftest failure on Windows that I got on bug 1308876, in layout/reftests/text-overflow/xulscroll.html . The reftest here shows the bug even without bug 1308876 (though I confirmed that only by loading the test and reference in a nightly build, not in the reftest harness). I did test that, in combination with bug 1308876, the test fails without the patch and passes with the patch. MozReview-Commit-ID: LhMi7LbmB6J
f676d48fd757855c0e0e52d0a3bde29c3ae4df2f: Bug 1379334 - Convert mis-indented code to 2-space indent, plus bracing and logical operator position fixes when reindenting. r=dholbert
L. David Baron <dbaron@dbaron.org> - Wed, 12 Jul 2017 19:37:11 -0700 - rev 608034
Push 68169 by bmo:tigleym@gmail.com at Thu, 13 Jul 2017 05:25:33 +0000
Bug 1379334 - Convert mis-indented code to 2-space indent, plus bracing and logical operator position fixes when reindenting. r=dholbert MozReview-Commit-ID: ElsSNF40LZQ
48f19f8bc8ba126fd28b8f3e90bd25610814fc09: Bug 667079. Make sure to set the right containing block size for inner tables no matter what. r=dbaron
Boris Zbarsky <bzbarsky@mit.edu> - Sat, 25 Jun 2011 01:21:47 -0400 - rev 608033
Push 68169 by bmo:tigleym@gmail.com at Thu, 13 Jul 2017 05:25:33 +0000
Bug 667079. Make sure to set the right containing block size for inner tables no matter what. r=dbaron MozReview-Commit-ID: 3EwrNfgJ2oA
ba9597a0307a71ac9a6a58f259ff106e4f8a60bc: Bug 1380567 - Remove RestyleManagerHandle. draft
Ting-Yu Lin <tlin@mozilla.com> - Thu, 13 Jul 2017 13:16:55 +0800 - rev 608032
Push 68168 by bmo:tlin@mozilla.com at Thu, 13 Jul 2017 05:17:27 +0000
Bug 1380567 - Remove RestyleManagerHandle. MozReview-Commit-ID: ArWT8FpvrCK
d60efaec60ed0a239f92d00c1cb509f4cb580a05: Bug 1365133 - Update tests - Part 2. draft
Evan Tseng <evan@tseng.io> - Tue, 20 Jun 2017 15:11:46 +0800 - rev 608031
Push 68167 by bmo:evan@tseng.io at Thu, 13 Jul 2017 05:02:09 +0000
Bug 1365133 - Update tests - Part 2. MozReview-Commit-ID: GoOXdJ4RfY9
385204b399d61d68c62b489b88a436a51b645b9e: Bug 1380556 - Darken the font color of also fill note on the dropdown footer. r=lchang draft
Ray Lin <ralin@mozilla.com> - Thu, 13 Jul 2017 12:54:29 +0800 - rev 608030
Push 68166 by bmo:ralin@mozilla.com at Thu, 13 Jul 2017 04:55:45 +0000
Bug 1380556 - Darken the font color of also fill note on the dropdown footer. r=lchang MozReview-Commit-ID: 1QbW7zPXs10
d855cff0792741eceb6a3977752247d9fdd8e3ef: Bug 1380301 - Add windows.h inculde to nsLookAndFeel.h draft
Farmer Tseng <fatseng@mozilla.com> - Thu, 13 Jul 2017 12:46:26 +0800 - rev 608029
Push 68165 by bmo:fatseng@mozilla.com at Thu, 13 Jul 2017 04:46:46 +0000
Bug 1380301 - Add windows.h inculde to nsLookAndFeel.h MozReview-Commit-ID: Js9Kc73VXS1
f24833d8a06b660462b8ac7583425dfb82da5581: Bug 1380301 - Add missing "#ifdef MOZ_ENABLE_SKIA_PDF" to nsDeviceContextSpecWin.h draft
Farmer Tseng <fatseng@mozilla.com> - Thu, 13 Jul 2017 12:46:21 +0800 - rev 608028
Push 68165 by bmo:fatseng@mozilla.com at Thu, 13 Jul 2017 04:46:46 +0000
Bug 1380301 - Add missing "#ifdef MOZ_ENABLE_SKIA_PDF" to nsDeviceContextSpecWin.h MozReview-Commit-ID: IHxE0SiAlzg
150bc51e6d437077da2fc497e307d53d08ca5655: Bug 1380301 - Add windows.h inculde to nsLookAndFeel.h draft
Farmer Tseng <fatseng@mozilla.com> - Thu, 13 Jul 2017 12:08:04 +0800 - rev 608027
Push 68164 by bmo:fatseng@mozilla.com at Thu, 13 Jul 2017 04:44:33 +0000
Bug 1380301 - Add windows.h inculde to nsLookAndFeel.h MozReview-Commit-ID: Js9Kc73VXS1
250b0c2cbe650ba1f0a09c0ef6a6b165a464cdb0: Bug 1380301 - Add missing "#ifdef MOZ_ENABLE_SKIA_PDF" to nsDeviceContextSpecWin.h draft
Farmer Tseng <fatseng@mozilla.com> - Thu, 13 Jul 2017 12:01:46 +0800 - rev 608026
Push 68164 by bmo:fatseng@mozilla.com at Thu, 13 Jul 2017 04:44:33 +0000
Bug 1380301 - Add missing "#ifdef MOZ_ENABLE_SKIA_PDF" to nsDeviceContextSpecWin.h MozReview-Commit-ID: IqPe5isRufF
a5ea943585644f6dd295289648f50ce34ca60df7: Bug 1369942 - Display Negative Line Numbers in CSS Grid Inspector. r?gl draft
Micah Tigley <tigleym@gmail.com> - Wed, 12 Jul 2017 21:11:30 -0600 - rev 608025
Push 68163 by bmo:tigleym@gmail.com at Thu, 13 Jul 2017 04:33:48 +0000
Bug 1369942 - Display Negative Line Numbers in CSS Grid Inspector. r?gl MozReview-Commit-ID: IbijTE5TJW5
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip