searching for reviewer(heycam)
5602bbf9faf28b393191b8ccf5611fd2fdd8942a: Bug 1658470 - Remove layout.css.is-where-selectors.enabled. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 11 Aug 2020 05:54:22 +0000 - rev 544235
Push 37691 by malexandru@mozilla.com at Tue, 11 Aug 2020 21:47:38 +0000
Bug 1658470 - Remove layout.css.is-where-selectors.enabled. r=heycam Shipped since 78 (bug 1632646). Differential Revision: https://phabricator.services.mozilla.com/D86662
597c00e9fde1cdb76b74a236890c3ed981654960: Bug 1658470 - Remove layout.css.shadow-parts.enabled. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 11 Aug 2020 05:54:17 +0000 - rev 544234
Push 37691 by malexandru@mozilla.com at Tue, 11 Aug 2020 21:47:38 +0000
Bug 1658470 - Remove layout.css.shadow-parts.enabled. r=heycam Shipped since 72 (bug 1559074). Differential Revision: https://phabricator.services.mozilla.com/D86661
fb03c1e39a43bef192497f65a695506bb05d72ee: Bug 1655751 - Invalidate for CSSOM changes in a more fine-grained way. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 10 Aug 2020 18:00:44 +0000 - rev 544135
Push 37688 by apavel@mozilla.com at Tue, 11 Aug 2020 03:16:35 +0000
Bug 1655751 - Invalidate for CSSOM changes in a more fine-grained way. r=heycam Also, for changes in CSS declarations, like changing cssRules[i].style.color or something, we end up avoiding a lot of the work we were doing. This page still trips us in the sense that they add a stylesheet, then call getBoundingClientRect(), then insert more rules in the stylesheet, which causes us to rebuild a lot of the cascade data. We could try to detect appends to the last stylesheet on the list or something I guess, and avoid rebuilding the cascade data in some cases. Depends on D85615 Differential Revision: https://phabricator.services.mozilla.com/D85616
837f7946e5fbdad679fe7dd96391bdd71da7465f: Bug 1655751 - Fix a silly mistake in which we'd prefer a local name / tag invalidation to an id invalidation. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 10 Aug 2020 18:00:29 +0000 - rev 544134
Push 37688 by apavel@mozilla.com at Tue, 11 Aug 2020 03:16:35 +0000
Bug 1655751 - Fix a silly mistake in which we'd prefer a local name / tag invalidation to an id invalidation. r=heycam ID invalidations should always win. This also prefers invalidations deeper in the subtree to higher up. Differential Revision: https://phabricator.services.mozilla.com/D85615
b7e99a7ddba2f1fff9c4630ca0cc926843a5e8f6: Bug 1655324 - rewrite DOMSVGAnimatedString r=heycam
longsonr <longsonr@gmail.com> - Mon, 10 Aug 2020 07:55:15 +0000 - rev 544057
Push 37686 by abutkovits@mozilla.com at Mon, 10 Aug 2020 15:48:16 +0000
Bug 1655324 - rewrite DOMSVGAnimatedString r=heycam - Convert DOMSVGAnimatedString to a concrete class rather than having two almost identical derived classes that differ only by the class of the mVal pointer - Introduce tear off support for SVGAnimatedClass - Move to native refcounting rather than nsISupports Differential Revision: https://phabricator.services.mozilla.com/D84924
8829157669b14f63633d1f9ee2c29ac007453f54: Bug 1655324 - rewrite DOMSVGAnimatedString r=heycam
longsonr <longsonr@gmail.com> - Mon, 10 Aug 2020 04:01:19 +0000 - rev 544049
Push 37686 by abutkovits@mozilla.com at Mon, 10 Aug 2020 15:48:16 +0000
Bug 1655324 - rewrite DOMSVGAnimatedString r=heycam - Convert DOMSVGAnimatedString to a concrete class rather than having two almost identical derived classes that differ only by the class of the mVal pointer - Introduce tear off support for SVGAnimatedClass - Move to native refcounting rather than nsISupports Differential Revision: https://phabricator.services.mozilla.com/D84924
88425cde666803966ca55e564fa80ed92d0a9695: Bug 1656146 - Introduce nsPrinterBase, and add facilities for async attributes queried in a background thread. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 04 Aug 2020 12:06:37 +0000 - rev 543194
Push 37667 by csabou@mozilla.com at Tue, 04 Aug 2020 21:52:46 +0000
Bug 1656146 - Introduce nsPrinterBase, and add facilities for async attributes queried in a background thread. r=heycam While at it, properly CC the printer classes, as they're going to hold promises and it's very easy to introduce leaks otherwise. Co-Authored-By: Jonathan Watt <jwatt@jwatt.org> Differential Revision: https://phabricator.services.mozilla.com/D85791
07f5cb328a100e491c7681534d85ef85653f2a6f: Bug 1655364 - Rename gfxShapedText::SetGlyphs to SetDetailedGlyphs and make it just set glyph information, not clobber character-type flags. r=heycam
Jonathan Kew <jkew@mozilla.com> - Thu, 30 Jul 2020 11:48:06 +0000 - rev 542600
Push 37653 by btara@mozilla.com at Thu, 30 Jul 2020 21:54:52 +0000
Bug 1655364 - Rename gfxShapedText::SetGlyphs to SetDetailedGlyphs and make it just set glyph information, not clobber character-type flags. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D85187
3c88adc13a06e3588307bf57d85437d1585a451a: Bug 1655364 - Rename gfxShapedText::SetGlyphs to SetDetailedGlyphs and make it just set glyph information, not clobber character-type flags. r=heycam
Jonathan Kew <jkew@mozilla.com> - Thu, 30 Jul 2020 07:56:05 +0000 - rev 542581
Push 37652 by cbrindusan@mozilla.com at Thu, 30 Jul 2020 15:44:30 +0000
Bug 1655364 - Rename gfxShapedText::SetGlyphs to SetDetailedGlyphs and make it just set glyph information, not clobber character-type flags. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D85187
de19f5581453a612e37bd48b7fc676a0eec1429f: Bug 1651857 - Add web platform tests for prefers-contrast r=heycam
Zeke Medley <zekemedley@gmail.com> - Tue, 28 Jul 2020 22:18:14 +0000 - rev 542399
Push 37648 by apavel@mozilla.com at Wed, 29 Jul 2020 09:49:32 +0000
Bug 1651857 - Add web platform tests for prefers-contrast r=heycam Differential Revision: https://phabricator.services.mozilla.com/D83149
174edf951335515b43be262d9a42eaadd29dc94f: Bug 1654960 - Remove the duplicate 1420528-1.html in reftest.list. r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Fri, 24 Jul 2020 04:31:35 +0000 - rev 541874
Push 37633 by ccoroiu@mozilla.com at Fri, 24 Jul 2020 09:32:06 +0000
Bug 1654960 - Remove the duplicate 1420528-1.html in reftest.list. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D84775
a56b2d354613afa6ee461400cf69734e4ddad525: Bug 921504 - implement HTML:inert r=emilio,heycam
Alexander Surkov <surkov.alexander@gmail.com> - Wed, 22 Jul 2020 04:26:08 +0000 - rev 541646
Push 37629 by nbeleuzu@mozilla.com at Thu, 23 Jul 2020 03:20:25 +0000
Bug 921504 - implement HTML:inert r=emilio,heycam Differential Revision: https://phabricator.services.mozilla.com/D81701
6a9bd9bf58915c21660322ea675558df47956a5f: Bug 1449401 - Remove moz-math-anonymous ua-only pseudo. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 21 Jul 2020 22:35:46 +0000 - rev 541519
Push 37625 by csabou@mozilla.com at Wed, 22 Jul 2020 04:32:41 +0000
Bug 1449401 - Remove moz-math-anonymous ua-only pseudo. r=heycam We do not expose it nor ever style it. Just use the parent style all the time. This avoids problematic style resolution calls during reflow. Differential Revision: https://phabricator.services.mozilla.com/D84358
94dcb2fb29ce891e55f198246edc299d8a72a333: Bug 1646899 - P5: Fix test_bug375314. r=heycam
Dan Glastonbury <dan.glastonbury@gmail.com> - Tue, 21 Jul 2020 01:01:07 +0000 - rev 541378
Push 37621 by rmaries@mozilla.com at Tue, 21 Jul 2020 09:42:41 +0000
Bug 1646899 - P5: Fix test_bug375314. r=heycam Move check from content to parent process. Depends on D80407 Differential Revision: https://phabricator.services.mozilla.com/D80408
3c5385bd993b8e194fb0a73f54159892077d9d49: Bug 1653905. Propagate the fix from bug 1645762 to nsDisplayMasksAndClipPaths::PaintMask. r=heycam
Timothy Nikkel <tnikkel@gmail.com> - Mon, 20 Jul 2020 08:36:56 +0000 - rev 541373
Push 37621 by rmaries@mozilla.com at Tue, 21 Jul 2020 09:42:41 +0000
Bug 1653905. Propagate the fix from bug 1645762 to nsDisplayMasksAndClipPaths::PaintMask. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D84126
19047c90effa4666c26ea57cafe40b2df3a76aef: Bug 1647520 Part 4 - Stop binary search once the feasible and infeasible block-size is within one device pixel. r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Mon, 20 Jul 2020 22:28:45 +0000 - rev 541359
Push 37621 by rmaries@mozilla.com at Tue, 21 Jul 2020 09:42:41 +0000
Bug 1647520 Part 4 - Stop binary search once the feasible and infeasible block-size is within one device pixel. r=heycam The gist of this patch is: once the feasible and infeasible block-size is within one device pixel, we choose nextGuess to be the greatest multiple of one device pixel below or equal to the feasible block-size. If this nextGuess is infeasible, we will reflow children one last time by using the last feasible block-size and done with the balancing. Differential Revision: https://phabricator.services.mozilla.com/D83732
d6ce5fef610a01d6479b9193d19835baadac4149: Bug 1647520 Part 3 - Improve some comments in FindBestBalanceBSize(). r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Mon, 20 Jul 2020 22:27:44 +0000 - rev 541358
Push 37621 by rmaries@mozilla.com at Tue, 21 Jul 2020 09:42:41 +0000
Bug 1647520 Part 3 - Improve some comments in FindBestBalanceBSize(). r=heycam Here's an example that can break the loop at the first iteration. <div style="column-count:2; height:100px"><img src="" style="height:500px"> Differential Revision: https://phabricator.services.mozilla.com/D83731
a6b19393adea61bee190ae2b79417ea49f71f482: Bug 1647520 Part 2 - Set font and line-height to make column reftests stable across all platforms. r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Mon, 20 Jul 2020 22:27:42 +0000 - rev 541357
Push 37621 by rmaries@mozilla.com at Tue, 21 Jul 2020 09:42:41 +0000
Bug 1647520 Part 2 - Set font and line-height to make column reftests stable across all platforms. r=heycam Without setting font and line-height, these reftests may yield different results on different platforms because of the default font are different. Also, their optimal column balancing height may not be an integer in CSS pixels. I discover this because they are failing due to 1px column height difference after we stop searching optimal balancing height within a certain threshold on either macOS, Windows, or Android. Differential Revision: https://phabricator.services.mozilla.com/D83730
743486fcc01e3554cd06bfdc6de75a8d14d60736: Bug 1647520 Part 1 - Adjust reftests so that the optimal column balancing height is on whole CSS pixels. r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Mon, 20 Jul 2020 22:27:35 +0000 - rev 541356
Push 37621 by rmaries@mozilla.com at Tue, 21 Jul 2020 09:42:41 +0000
Bug 1647520 Part 1 - Adjust reftests so that the optimal column balancing height is on whole CSS pixels. r=heycam * floats-clear-multicol-balancing-*: Change border-width from "normal" to "5px" so that the optimal column height is 85px. This also makes those reftests renders the same across all browsers since each browser renders "normal" differently. * column-balancing-overflow-005: This test is already wrong as its height is 13px/3 = 4.3333px, so it can pass with some fuzzy. This patch makes the target column height 4px (including the children's overflow). This is the same as the `<p>`'s height 4px in reference file. * box-decoration-break-border-image: Add 1px to .vbreak so that the optimal column balancing height is a integer. Also, remove a whitespace between two `<span>` in `<pos2>` to make the test more robust because the width of the whitespace is not an integer. Differential Revision: https://phabricator.services.mozilla.com/D83729
b969ce96b55c096be847fd83fba5d5a79754cade: Bug 1558509 - Set font and line-height to some multicol reference files. r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Mon, 20 Jul 2020 21:37:51 +0000 - rev 541342
Push 37621 by rmaries@mozilla.com at Tue, 21 Jul 2020 09:42:41 +0000
Bug 1558509 - Set font and line-height to some multicol reference files. r=heycam All the correspond test files are using `font: 1.25em/1 Ahem`, so this patch sets the same rule to all their references to prevent default font from resulting a line-height larger than 20px. Differential Revision: https://phabricator.services.mozilla.com/D83589
eb53880e5f0e775c029acfe757cd8c781407af64: Bug 921504 - implement HTML:inert r=emilio,heycam
Alexander Surkov <surkov.alexander@gmail.com> - Mon, 20 Jul 2020 04:22:36 +0000 - rev 541228
Push 37619 by apavel@mozilla.com at Mon, 20 Jul 2020 21:42:26 +0000
Bug 921504 - implement HTML:inert r=emilio,heycam Differential Revision: https://phabricator.services.mozilla.com/D81701
b5ce43e793476e59f778b9f46fbd4fdb86a072a7: Bug 1652698 - Make stylesheet invalidation faster. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 20 Jul 2020 07:40:17 +0000 - rev 541179
Push 37618 by nbeleuzu@mozilla.com at Mon, 20 Jul 2020 14:15:06 +0000
Bug 1652698 - Make stylesheet invalidation faster. r=heycam This fixes performance issues when there's a massive number of rules and a massive DOM. Instead of going through all rules for all the DOM, we now look stuff in hashmaps. Differential Revision: https://phabricator.services.mozilla.com/D83506
f41ac122a80160aec1858e029c3c699378bc16fc: Bug 1646899 - P5: Fix test_bug375314. r=heycam
Dan Glastonbury <dan.glastonbury@gmail.com> - Mon, 13 Jul 2020 00:49:04 +0000 - rev 540134
Push 37592 by btara@mozilla.com at Mon, 13 Jul 2020 09:51:22 +0000
Bug 1646899 - P5: Fix test_bug375314. r=heycam Move check from content to parent process. Differential Revision: https://phabricator.services.mozilla.com/D80408
0f2f773a91638ffdcc04905345631420176e493f: Bug 1525561 - Rename nsPresContext::GetToplevelContentDocumentPresContext to GetInProcessRootContentDocumentPresContext. r=heycam
Hiroyuki Ikezoe <hikezoe.birchill@mozilla.com> - Thu, 09 Jul 2020 01:58:59 +0000 - rev 539487
Push 37581 by apavel@mozilla.com at Thu, 09 Jul 2020 09:33:47 +0000
Bug 1525561 - Rename nsPresContext::GetToplevelContentDocumentPresContext to GetInProcessRootContentDocumentPresContext. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D82812
c102a48a99110ff3a4e312fd2b09bd2222ccf84e: Bug 1651202 Part 5 - Remove mState field from frame tree output. r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Wed, 08 Jul 2020 01:03:56 +0000 - rev 539262
Push 37578 by btara@mozilla.com at Wed, 08 Jul 2020 09:42:17 +0000
Bug 1651202 Part 5 - Remove mState field from frame tree output. r=heycam Per discussion on matrix, printing mState in hex format is indecipherable. Remove it to reduce the rate of wrapping of a long line. Differential Revision: https://phabricator.services.mozilla.com/D82606
be12ad6f0206d56942a81d2734e22c8c271534f4: Bug 1651202 Part 4 - Remove DebugListFrameTree in nsIFrame.cpp. r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Wed, 08 Jul 2020 01:03:33 +0000 - rev 539261
Push 37578 by btara@mozilla.com at Wed, 08 Jul 2020 09:42:17 +0000
Bug 1651202 Part 4 - Remove DebugListFrameTree in nsIFrame.cpp. r=heycam This is equivalent to `aFrame->DumpFrameTreeLimited()` or `ftl` gdb / lldb command. It appears only in nsIFrame.cpp, I doubt it's actually used by developers. Differential Revision: https://phabricator.services.mozilla.com/D82605
79de4b2b113b44470546598ea41fef86b356253e: Bug 1651202 Part 3 - Rewrite container frame's frame tree output. r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Wed, 08 Jul 2020 05:39:57 +0000 - rev 539260
Push 37578 by btara@mozilla.com at Wed, 08 Jul 2020 09:42:17 +0000
Bug 1651202 Part 3 - Rewrite container frame's frame tree output. r=heycam This affects the output of flex, grid, fieldset, etc. Given a snippet like the following. ``` <fieldset style="position: relative; display: flex"> <div style="position: absolute"> ``` Currently, the frame tree output looks as if the AbsoluteList is under the FieldSet, but it's actually under the FlexContainer. ``` FieldSet(fieldset)(8)@7f4ae9e73508 ... < FlexContainer(fieldset)(8)@7f4ae9e735c0 ... < Placeholder(div)(1)@7f4ae9e73738 > AbsoluteList 7f4ae9dcb8c0 < Block(div)(1)@7f4ae9e73670 ... < > > > ``` After this patch, the frame tree looks like: ``` FieldSet(fieldset)(8)@7f4ae9e73508 ... < FlexContainer(fieldset)(8)@7f4ae9e735c0 ... < Placeholder(div)(1)@7f4ae9e73738 AbsoluteList 7f4ae9dcb8c0 < Block(div)(1)@7f4ae9e73670 ... < > > > > ``` Another minor difference is that for a empty container, the end angle bracket is now on its own line, which is consistent with an empty block frame's output. This old output ``` FlexContainer(div)(4)@7f4ae9e73390<> ``` becomes ``` FlexContainer(div)(4)@7f4ae9e73390< > ``` Differential Revision: https://phabricator.services.mozilla.com/D82604
370031d45dbe74628d0bcbb44c1f40ea6b68cd36: Bug 1651202 Part 2 - Minor format tweaks for block frame's frame tree output. r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Wed, 08 Jul 2020 05:37:39 +0000 - rev 539259
Push 37578 by btara@mozilla.com at Wed, 08 Jul 2020 09:42:17 +0000
Bug 1651202 Part 2 - Minor format tweaks for block frame's frame tree output. r=heycam Make the following tweak so that they are consistent with others. * Add a space before the open angle bracket. This is at the end of `Block(div)(1)@7f10e25de5d0 ... <` * Tweak nsLineBox format. `line 7f10e25de808: count=1` becomes `line@7f10e25de808 count=1`. * Tweak child list format. `AbsoluteList 0x7f10e3c7e560` becomes `AbsoluteList@7f10e3c7e560` Differential Revision: https://phabricator.services.mozilla.com/D82603
9e09edf99e0624ffc0eed7e9490eb4e1840a4726: Bug 1651202 Part 1 - Extract nsBlockFrame's printing child lists logic to a helper methods. r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Wed, 08 Jul 2020 00:59:02 +0000 - rev 539258
Push 37578 by btara@mozilla.com at Wed, 08 Jul 2020 09:42:17 +0000
Bug 1651202 Part 1 - Extract nsBlockFrame's printing child lists logic to a helper methods. r=heycam `ListChildLists` lives in nsContainerFrame because I'm going to use it to improve nsContainerFrame::List() in a later patch. Differential Revision: https://phabricator.services.mozilla.com/D82602
ef7219b3548dcc2fab2d737170f48686f4f69627: Bug 1650013 - Strip unexpected leading slash from absolute path on Windows when loading hyphenation resource. r=heycam
Jonathan Kew <jkew@mozilla.com> - Tue, 07 Jul 2020 04:45:16 +0000 - rev 539059
Push 37577 by abutkovits@mozilla.com at Tue, 07 Jul 2020 21:31:11 +0000
Bug 1650013 - Strip unexpected leading slash from absolute path on Windows when loading hyphenation resource. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D81980
061e049e9546d8e40877e872d7c0c8ddc2c3c74c: Bug 1648736 - Don't mark a load as performed on a given document until it has actually finished. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 29 Jun 2020 17:29:06 +0000 - rev 537828
Push 37553 by ncsoregi@mozilla.com at Tue, 30 Jun 2020 02:09:30 +0000
Bug 1648736 - Don't mark a load as performed on a given document until it has actually finished. r=heycam Consider the case where we have an expired entry in the cache, and we load a new document. We get an speculative load from the HTML parser. That's great, and we see the entry is expired and actually fired the load. But then, we actually get to the load that the <link> element performs, and we see that we've already performed this load, so instead of peeking the in-progress load, we go ahead and peek the expired "complete" cache entry, which is not what we want. By marking a load as performed only once it has finished, we avoid the complete sheet cache, and glom onto the existing load instead, which is the correct thing to do. Differential Revision: https://phabricator.services.mozilla.com/D81318
6b6e6e9ef6a5ab19726e7e64ad81efe04c61d6ed: Bug 1648736 - Don't mark a load as performed on a given document until it has actually finished. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 29 Jun 2020 10:51:37 +0000 - rev 537770
Push 37553 by ncsoregi@mozilla.com at Tue, 30 Jun 2020 02:09:30 +0000
Bug 1648736 - Don't mark a load as performed on a given document until it has actually finished. r=heycam Consider the case where we have an expired entry in the cache, and we load a new document. We get an speculative load from the HTML parser. That's great, and we see the entry is expired and actually fired the load. But then, we actually get to the load that the <link> element performs, and we see that we've already performed this load, so instead of peeking the in-progress load, we go ahead and peek the expired "complete" cache entry, which is not what we want. By marking a load as performed only once it has finished, we avoid the complete sheet cache, and glom onto the existing load instead, which is the correct thing to do. Differential Revision: https://phabricator.services.mozilla.com/D81318
aedc5ef4052442461e5408a4f612dd835196f09a: Bug 1648095 - Don't defer the same sheet load twice. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Fri, 26 Jun 2020 01:17:40 +0000 - rev 537535
Push 37544 by dluca@mozilla.com at Fri, 26 Jun 2020 09:45:40 +0000
Bug 1648095 - Don't defer the same sheet load twice. r=heycam When we call into LoadSheet when starting pending loads for a given loader, it may be the case that the original loader may still not care about the load. However some other loader will, so we can't defer this. This was also causing our state to get out of sync, because if this happened, then we'd fail to account for it in other loaders. Differential Revision: https://phabricator.services.mozilla.com/D81119
91c26c5b1e33c9417048f1628ba0f07827e0c86d: Bug 1647332 Part 4 - Keep doubling the extra block-size that adds to the estimate column block-size until finding a feasible one. r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Tue, 23 Jun 2020 18:34:42 +0000 - rev 536979
Push 37534 by malexandru@mozilla.com at Wed, 24 Jun 2020 09:31:07 +0000
Bug 1647332 Part 4 - Keep doubling the extra block-size that adds to the estimate column block-size until finding a feasible one. r=heycam In FindBestBalanceBSize(), suppose we have aUnboundedLastColumn equals to true, and the measuring reflow of all the columns is feasible. This setting represents the most common scenario of multi-column layout as the multi-column footnote on Wikipedia. We used to use 600 as the extra block-size added to the estimate column block-size. However, if the first guess of the column block-size, say G1, is infeasible, the feasible block-size is still bound to the sum of all columns S. That leaves us a massive range between G1 and S to search. We don't want to use a larger fixed extra block-size. Although it can reduce the possibility of failing the first guess, but for cases where a smaller extra block-size is sufficient, it increases the search range and the iteration number before the binary search converges. Instead, we can spend the first few iterations doubling the extra block-size E added to the estimate column block-size until we find the first feasible block-size. This gives us a smaller upper bound S / N + E, where N is the number of columns. Differential Revision: https://phabricator.services.mozilla.com/D80571
f80f7cbfc7c35842209247fb5f0ec1cd649ac5c9: Bug 1647332 Part 3 - Extract the constant 600 app units when estimating balancing column block-size. r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Tue, 23 Jun 2020 18:34:40 +0000 - rev 536978
Push 37534 by malexandru@mozilla.com at Wed, 24 Jun 2020 09:31:07 +0000
Bug 1647332 Part 3 - Extract the constant 600 app units when estimating balancing column block-size. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D80570
c8183555a356a34ba03af5709d71ac55038d8c42: Bug 1647332 Part 2 - Output the number of columns in ColumnBalanceData, and replace nsFrameList::GetLength(). r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Tue, 23 Jun 2020 18:34:36 +0000 - rev 536977
Push 37534 by malexandru@mozilla.com at Wed, 24 Jun 2020 09:31:07 +0000
Bug 1647332 Part 2 - Output the number of columns in ColumnBalanceData, and replace nsFrameList::GetLength(). r=heycam The motivation is to replace mFrames.GetLength() in FindBestBalanceBSize() since it is O(N), where N is the number of columns. Also, counting the column number from 1 so that it matches mUsedColCount without needing to subtract 1 at some places. Differential Revision: https://phabricator.services.mozilla.com/D80569
0443a7d3c6d373fe350b80c9d1c9ff6d007e16df: Bug 1647332 Part 1 - Print more information in column set log. r=heycam
Ting-Yu Lin <tlin@mozilla.com> - Tue, 23 Jun 2020 18:34:34 +0000 - rev 536976
Push 37534 by malexandru@mozilla.com at Wed, 24 Jun 2020 09:31:07 +0000
Bug 1647332 Part 1 - Print more information in column set log. r=heycam * childContentBEnd: this value can be larger than kidDesiredSize.BSize(wm) if -moz-column-content anonymous blocks has a child which is overflow-incomplete. * mLastBSize: last column's block-size is important in column balancing algorithm because it sets mKnownInfeasibleBSize when a balancing iteration is feasible. * The iteration count in column balancing. This is an easy way to observe column balancing performance. Differential Revision: https://phabricator.services.mozilla.com/D80568
d07d66ecd6b9ca685444912826f25e9751ef13b5: Bug 1645122 - Properly block onload when coalescing loads with other documents. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 23 Jun 2020 08:27:54 +0000 - rev 536751
Push 37533 by dluca@mozilla.com at Tue, 23 Jun 2020 21:38:40 +0000
Bug 1645122 - Properly block onload when coalescing loads with other documents. r=heycam If two loading documents hit the sheet cache and we coalesce the resource load, there's nothing that prevents the load event on the second document from firing right now, and there should be. While at it, also fix the handling of the pending load count, though it has no correctness impact on the particular test we're fixing here... We were never decrementing it, which is of course wrong. However it kinda ended up working because it just causes us to not defer more loads. The new assertions and responsibility of the counter should ensure it stays correct. Differential Revision: https://phabricator.services.mozilla.com/D80583
e847c2e2c84e23ff0ecaf6c1ebcf709bc2349195: Bug 1646776 - Don't set an URL for pending constructable stylesheet parses. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Tue, 23 Jun 2020 02:54:58 +0000 - rev 536706
Push 37532 by abutkovits@mozilla.com at Tue, 23 Jun 2020 16:15:06 +0000
Bug 1646776 - Don't set an URL for pending constructable stylesheet parses. r=heycam This shouldn't have any behavior change, but it makes the code make a bit more sense. Rather than counting inline stylesheets like a pending load, we won't (but note that any @import inside it will). The SheetLoadData::mURL it's supposed to be the url of the stylesheet, so for StyleSheet::Replace it should be null. Differential Revision: https://phabricator.services.mozilla.com/D80379
0be160e4f5aecd5162709d4e92d3d55c5e0673c3: Bug 1646776 - Add some logging for sheet cache misses for the same URI. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 22 Jun 2020 10:48:44 +0000 - rev 536555
Push 37530 by nbeleuzu@mozilla.com at Mon, 22 Jun 2020 21:47:58 +0000
Bug 1646776 - Add some logging for sheet cache misses for the same URI. r=heycam This makes it easy to see why your test is not failing without your patch, for example ;) Note that we log only when the URIs are the same, which I think is a reasonable compromise in verbosity. Differential Revision: https://phabricator.services.mozilla.com/D80288
7a13c77442451fdb9fd1032f605f1322a218702b: Bug 1646224 - Use mozilla::Length rather than nscoord to store font sizes. r=heycam,jfkthame
Emilio Cobos Álvarez <emilio@crisal.io> - Mon, 22 Jun 2020 09:45:40 +0000 - rev 536531
Push 37529 by ncsoregi@mozilla.com at Mon, 22 Jun 2020 15:48:48 +0000
Bug 1646224 - Use mozilla::Length rather than nscoord to store font sizes. r=heycam,jfkthame This avoids arbitrary precision loss when computing REM units and so on, which is particularly important if we ever change the base of our app units (but useful regardless). Differential Revision: https://phabricator.services.mozilla.com/D79928
eff64e6c4ac9b47cc4d83f2157a73b709ec090d9: Bug 1645339 - Use range-based for with nsTObserverArray in layout/style. r=heycam
Simon Giesecke <sgiesecke@mozilla.com> - Mon, 22 Jun 2020 08:44:05 +0000 - rev 536526
Push 37529 by ncsoregi@mozilla.com at Mon, 22 Jun 2020 15:48:48 +0000
Bug 1645339 - Use range-based for with nsTObserverArray in layout/style. r=heycam Differential Revision: https://phabricator.services.mozilla.com/D79506
299e19193e11d8a8e40279d86b45fa189e9b8710: Bug 1646224 - Use mozilla::Length rather than nscoord to store font sizes. r=heycam,jfkthame
Emilio Cobos Álvarez <emilio@crisal.io> - Thu, 18 Jun 2020 13:55:03 +0000 - rev 536302
Push 37519 by ccoroiu@mozilla.com at Thu, 18 Jun 2020 21:28:28 +0000
Bug 1646224 - Use mozilla::Length rather than nscoord to store font sizes. r=heycam,jfkthame This avoids arbitrary precision loss when computing REM units and so on, which is particularly important if we ever change the base of our app units (but useful regardless). Differential Revision: https://phabricator.services.mozilla.com/D79928
6f725707d4e3d142352f5aef76ad71c982da3017: Bug 1644625 - Populate Features.toml with an intial set of Experimental Features. r=Gijs,heycam,kvark,jbauman
Jared Wein <jwein@mozilla.com> - Thu, 18 Jun 2020 01:19:52 +0000 - rev 536243
Push 37518 by abutkovits@mozilla.com at Thu, 18 Jun 2020 09:41:05 +0000
Bug 1644625 - Populate Features.toml with an intial set of Experimental Features. r=Gijs,heycam,kvark,jbauman Differential Revision: https://phabricator.services.mozilla.com/D79026
ba7df8550ceb8f1cc4c26844f1d6d763b8a500ea: Bug 1645753 - Add color as a mapped attribute for gradient stops r=heycam
longsonr <longsonr@gmail.com> - Thu, 18 Jun 2020 00:34:23 +0000 - rev 536242
Push 37518 by abutkovits@mozilla.com at Thu, 18 Jun 2020 09:41:05 +0000
Bug 1645753 - Add color as a mapped attribute for gradient stops r=heycam Differential Revision: https://phabricator.services.mozilla.com/D79665
eebb849d100ec4777711e8516cb4fa47357f345e: Bug 1645180 - Refactor test use counters to be less repetitive, and also test <link>. r=firefox-style-system-reviewers,heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 13 Jun 2020 02:03:11 +0000 - rev 535696
Push 37508 by btara@mozilla.com at Mon, 15 Jun 2020 21:48:38 +0000
Bug 1645180 - Refactor test use counters to be less repetitive, and also test <link>. r=firefox-style-system-reviewers,heycam Without the previous patch, the tests for the second iframe fail. Differential Revision: https://phabricator.services.mozilla.com/D79378
8dc9d9e4f96b6c2cd41a0e48541d8fc220cec71a: Bug 1645180 - Don't under-report use counters for documents that hit the shared sheet cache. r=firefox-style-system-reviewers,heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 13 Jun 2020 02:03:08 +0000 - rev 535695
Push 37508 by btara@mozilla.com at Mon, 15 Jun 2020 21:48:38 +0000
Bug 1645180 - Don't under-report use counters for documents that hit the shared sheet cache. r=firefox-style-system-reviewers,heycam This makes us refactor a bit more our setup but I think the end it's worth it. Differential Revision: https://phabricator.services.mozilla.com/D79377
80e9e9e78e5e6bb4cda21d72108efb5f45fcc122: Bug 1645180 - Allow to cache data: stylesheets across documents. r=firefox-style-system-reviewers,heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Sat, 13 Jun 2020 02:02:56 +0000 - rev 535694
Push 37508 by btara@mozilla.com at Mon, 15 Jun 2020 21:48:38 +0000
Bug 1645180 - Allow to cache data: stylesheets across documents. r=firefox-style-system-reviewers,heycam This is useful, simplifies testing this bug, and also matches the image cache: https://searchfox.org/mozilla-central/rev/0e09b9191c02097034e46b193930f91c45b7885d/image/imgLoader.cpp#1867-1870 Differential Revision: https://phabricator.services.mozilla.com/D79376
f4e67ab1b25f03d695505622f66970736f518fdb: Bug 1599160 - Better integration of the shared stylesheet cache with the network cache. r=tnikkel,mayhemer,heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Fri, 12 Jun 2020 19:06:04 +0000 - rev 535674
Push 37508 by btara@mozilla.com at Mon, 15 Jun 2020 21:48:38 +0000
Bug 1599160 - Better integration of the shared stylesheet cache with the network cache. r=tnikkel,mayhemer,heycam Make the stylesheet cache respect the same headers as the image cache does. This makes no-cache stylesheets work as they do now, which is useful for developers that want to develop sites locally, and for shift-reloads, etc. Differential Revision: https://phabricator.services.mozilla.com/D78659
c5b351d19a3076dd2b782fdbc6fa0d5c07267adb: Bug 1599160 - Allow caching stylesheets across documents. r=heycam
Emilio Cobos Álvarez <emilio@crisal.io> - Fri, 12 Jun 2020 19:31:32 +0000 - rev 535672
Push 37508 by btara@mozilla.com at Mon, 15 Jun 2020 21:48:38 +0000
Bug 1599160 - Allow caching stylesheets across documents. r=heycam This patch implements a per-process cache of parsed stylesheets for non-inline sheets. The entries are evicted when the document gets destroyed and there's no other document with the same principal around. This works fine in practice even when navigating because CC happens pretty late, but we could add an extra timer if we deem it worth it. I had to adapt some tests so that they keep passing. They were already clearing various image / network caches so it seems fine to also clear this one. Note that there's a very subtle change in the load data key: We only miss the cache if the referrer _policy_ is different, not if the referrer is different. While that is slightly dubious, that is the only think that makes this effort somewhat worth it. Otherwise stylesheets would have to be re-fetched if the referrer is different, which effectively would mean to re-parse it if the document URI is different, which is bad. It seems like the network cache only keys on the referrer policy, so it seems fine to do the same. Differential Revision: https://phabricator.services.mozilla.com/D77457