searching for reviewer(tnikkel)
85f436d7024ebb6c0448282b5a11e2088d67c54b: Bug 1313102 - Fix crash when calculating sizes for VectorImage memory reports. r=tnikkel
Andrew Osmond <aosmond@mozilla.com> - Wed, 26 Oct 2016 12:46:00 -0400 - rev 319622
Push 20745 by philringnalda@gmail.com at Thu, 27 Oct 2016 01:57:01 +0000
Bug 1313102 - Fix crash when calculating sizes for VectorImage memory reports. r=tnikkel
313322c0bd154030f7dbe670a880f68ee7cc4e27: Bug 1310237 - Change skip-if(!asyncZoom) tests to skip-if(!Android) with zooming enabled. Also update the fuzziness checks to match current Android reftest results. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 19 Oct 2016 16:16:07 -0400 - rev 318664
Push 20727 by cbook@mozilla.com at Thu, 20 Oct 2016 14:51:54 +0000
Bug 1310237 - Change skip-if(!asyncZoom) tests to skip-if(!Android) with zooming enabled. Also update the fuzziness checks to match current Android reftest results. r=tnikkel MozReview-Commit-ID: 5gcBgzyOq7b
d56e9b123ed63993592c477540b64ec24a18002b: Bug 1258741 - Part 2. Ensure we consistently render partially decoded images. r=tnikkel
Andrew Osmond <aosmond@mozilla.com> - Mon, 26 Sep 2016 14:18:37 -0400 - rev 318642
Push 20725 by philringnalda@gmail.com at Thu, 20 Oct 2016 01:36:01 +0000
Bug 1258741 - Part 2. Ensure we consistently render partially decoded images. r=tnikkel
5238fbaf49fa56ffa84a83dfa9cc92e9818671a4: Bug 1258741 - Part 1. Remove dead/unused image decoder aborted flag. r=tnikkel
Andrew Osmond <aosmond@mozilla.com> - Wed, 21 Sep 2016 07:13:08 -0400 - rev 318641
Push 20725 by philringnalda@gmail.com at Thu, 20 Oct 2016 01:36:01 +0000
Bug 1258741 - Part 1. Remove dead/unused image decoder aborted flag. r=tnikkel
956f4eff32d2ee80ae9c4ca9f58e2ca2f30a352f: Bug 1308289 - Hold strong reference to VectorImage when dispatching ProgressTracker::SyncNotifyProgress. r=tnikkel
Andrew Osmond <aosmond@mozilla.com> - Thu, 13 Oct 2016 08:35:55 -0400 - rev 318433
Push 20718 by philringnalda@gmail.com at Wed, 19 Oct 2016 02:58:22 +0000
Bug 1308289 - Hold strong reference to VectorImage when dispatching ProgressTracker::SyncNotifyProgress. r=tnikkel
d7b4886a1415b651fe8f7f70712723534b29d2d3: Bug 1277803 - Part 3 : Make the image library uses the correct originAttributes and triggering principal when opening a image channel for favicon loading. r=tnikkel
Tim Huang <tihuang@mozilla.com> - Thu, 13 Oct 2016 15:43:57 +0800 - rev 317831
Push 20704 by cbook@mozilla.com at Fri, 14 Oct 2016 10:29:22 +0000
Bug 1277803 - Part 3 : Make the image library uses the correct originAttributes and triggering principal when opening a image channel for favicon loading. r=tnikkel
5480dde6c54e6c4b2a2d1aa1d85ce8bb3d666e04: Bug 1277803 - Part 2 : Make favicons loaded through XUL:image use the correct principal. r=Gijs, tnikkel
Tim Huang <tihuang@mozilla.com> - Thu, 13 Oct 2016 15:43:56 +0800 - rev 317830
Push 20704 by cbook@mozilla.com at Fri, 14 Oct 2016 10:29:22 +0000
Bug 1277803 - Part 2 : Make favicons loaded through XUL:image use the correct principal. r=Gijs, tnikkel
752382b58cc46c9158af0f5325b388b32fd8d35d: Bug 1304689 - Ensure frame reconstructions don't clobber a 'stronger' scroll origin with a 'weaker' one. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Tue, 11 Oct 2016 09:36:22 -0400 - rev 317794
Push 20704 by cbook@mozilla.com at Fri, 14 Oct 2016 10:29:22 +0000
Bug 1304689 - Ensure frame reconstructions don't clobber a 'stronger' scroll origin with a 'weaker' one. r=tnikkel If, within a single refresh driver tick, the scroll position is updated by JS explicitly, and then subsequently also updated by a frame reconstruction, the scroll origin from the former (nsGkAtoms::other) can get clobbered by the latter (to nsGkAtoms::restore). The restore scroll origin is "weaker" in that it can be ignored by the APZ code in some circumstances. This is undesirable because it means the JS scroll update also gets ignored. This patch ensures that when setting the scroll origin we don't do this clobbering of stronger origins with weaker origins. MozReview-Commit-ID: DA4EHp1Debu
1eed82166f20edd6da96df2eb12338d696db93da: Bug 1308459 - Rename RefreshDriver::PresContext() to hint about its behavior, r=tnikkel
Olli Pettay <Olli.Pettay@helsinki.fi> - Wed, 12 Oct 2016 14:27:38 +0300 - rev 317649
Push 20698 by kwierso@gmail.com at Wed, 12 Oct 2016 21:45:33 +0000
Bug 1308459 - Rename RefreshDriver::PresContext() to hint about its behavior, r=tnikkel
3be9a06248afe14a4909d3c6eb0e604de60ac104: Bug 1277803 - Part 3 : Make the image library uses the correct originAttributes and triggering principal when opening a image channel for favicon loading. r=tnikkel
Tim Huang <tihuang@mozilla.com> - Wed, 12 Oct 2016 17:32:06 +0800 - rev 317625
Push 20698 by kwierso@gmail.com at Wed, 12 Oct 2016 21:45:33 +0000
Bug 1277803 - Part 3 : Make the image library uses the correct originAttributes and triggering principal when opening a image channel for favicon loading. r=tnikkel
8d119ca96999f2f315acc1507cf13ffe7f590316: Bug 1277803 - Part 2 : Make favicons loaded through XUL:image use the correct principal. r=Gijs, tnikkel
Tim Huang <tihuang@mozilla.com> - Wed, 12 Oct 2016 17:32:05 +0800 - rev 317624
Push 20698 by kwierso@gmail.com at Wed, 12 Oct 2016 21:45:33 +0000
Bug 1277803 - Part 2 : Make favicons loaded through XUL:image use the correct principal. r=Gijs, tnikkel
f4adcb16d1ecf356dcea02da17ecca2397334148: Bug 1277803 - Part 3: Make the image library uses the correct originAttributes and triggering principal when opening a image channel for favicon loading. r=tnikkel
Tim Huang <tihuang@mozilla.com> - Tue, 04 Oct 2016 11:56:15 +0800 - rev 317062
Push 20681 by philringnalda@gmail.com at Sat, 08 Oct 2016 23:57:20 +0000
Bug 1277803 - Part 3: Make the image library uses the correct originAttributes and triggering principal when opening a image channel for favicon loading. r=tnikkel
58c23d794ba55823687eeae9548c6b7a7823cb0c: Bug 1277803 - Part 2: Make favicons loaded through XUL:image use the correct principal. r=Gijs, r=tnikkel
Tim Huang <tihuang@mozilla.com> - Tue, 04 Oct 2016 11:56:15 +0800 - rev 317061
Push 20681 by philringnalda@gmail.com at Sat, 08 Oct 2016 23:57:20 +0000
Bug 1277803 - Part 2: Make favicons loaded through XUL:image use the correct principal. r=Gijs, r=tnikkel
d3a02bf398becc626a3069650fb74686c0205183: Bug 1277803 - Part 3: Make the image library uses the correct originAttributes and triggering principal when opening a image channel for favicon loading. r=tnikkel
Tim Huang <tihuang@mozilla.com> - Tue, 04 Oct 2016 19:55:00 -0400 - rev 316882
Push 20674 by ryanvm@gmail.com at Fri, 07 Oct 2016 13:46:54 +0000
Bug 1277803 - Part 3: Make the image library uses the correct originAttributes and triggering principal when opening a image channel for favicon loading. r=tnikkel
1d88072cf36af970f3341b99f4eeada61875586a: Bug 1277803 - Part 2: Make favicons loaded through XUL:image use the correct principal. r=Gijs, r=tnikkel
Tim Huang <tihuang@mozilla.com> - Tue, 04 Oct 2016 19:53:00 -0400 - rev 316881
Push 20674 by ryanvm@gmail.com at Fri, 07 Oct 2016 13:46:54 +0000
Bug 1277803 - Part 2: Make favicons loaded through XUL:image use the correct principal. r=Gijs, r=tnikkel
dd46c03a458c5054e5930a75b7ec0a3da5e9e359: Bug 1306625 - fix wonky identation in imgFrame.cpp; r=tnikkel
Nathan Froyd <froydnj@mozilla.com> - Fri, 30 Sep 2016 23:11:59 -0400 - rev 316101
Push 20637 by philringnalda@gmail.com at Sat, 01 Oct 2016 06:28:47 +0000
Bug 1306625 - fix wonky identation in imgFrame.cpp; r=tnikkel DONTBUILD because whitespace-only fixes are always safe...right?
f52d02de70b2f5d9571a1d107cb155dd21dca49f: Bug 1305579 - If we fail to restore the scroll position while there's a reflow pending, hold on to it and try again later. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Tue, 27 Sep 2016 14:40:56 -0400 - rev 315601
Push 20623 by cbook@mozilla.com at Thu, 29 Sep 2016 09:49:42 +0000
Bug 1305579 - If we fail to restore the scroll position while there's a reflow pending, hold on to it and try again later. r=tnikkel MozReview-Commit-ID: DNmFJOiNeeW
60ee6e26982a997df6729c268bb49603fa159ace: Bug 1303761 - Disable paint skipping for all scroll frames between the fixed element and the scrolled clip. r=tnikkel
Markus Stange <mstange@themasta.com> - Tue, 20 Sep 2016 19:39:02 -0400 - rev 314785
Push 20591 by cbook@mozilla.com at Thu, 22 Sep 2016 11:42:18 +0000
Bug 1303761 - Disable paint skipping for all scroll frames between the fixed element and the scrolled clip. r=tnikkel MozReview-Commit-ID: 1FIQcJT55DJ
3d378a11890059e8ee2ab838f7111ebcb2d801a5: Bug 1296657: Attempt to create an mOptSurface of the correct type for the DT we're drawing to. r=tnikkel
Bas Schouten <bschouten@mozilla.com> - Thu, 15 Sep 2016 13:53:12 +0200 - rev 314088
Push 20547 by kwierso@gmail.com at Thu, 15 Sep 2016 23:41:47 +0000
Bug 1296657: Attempt to create an mOptSurface of the correct type for the DT we're drawing to. r=tnikkel MozReview-Commit-ID: 2LIQWUPAuaF
9590f183073b871bc6b9577752e1479046b0fb81: Bug 1297996 - Add preference to show background colour between pageloads for non-e10s. r=tnikkel
Mike Conley <mconley@mozilla.com> - Wed, 17 Aug 2016 17:55:49 -0400 - rev 313865
Push 20532 by cbook@mozilla.com at Wed, 14 Sep 2016 10:16:42 +0000
Bug 1297996 - Add preference to show background colour between pageloads for non-e10s. r=tnikkel Adds a hidden layout.show_previous_page pref for non-e10s that, when set to false, will blank out the content area in between page loads instead of showing the previous page. MozReview-Commit-ID: 1EyDk4IabeK
d008348cd4f450faf68fdeba7ca2d8146ddce83a: Bug 1297300 - Add missing checks to GetSpec() calls in image/. r=tnikkel.
Nicholas Nethercote <nnethercote@mozilla.com> - Mon, 29 Aug 2016 15:34:32 +1000 - rev 313379
Push 20495 by cbook@mozilla.com at Fri, 09 Sep 2016 10:22:18 +0000
Bug 1297300 - Add missing checks to GetSpec() calls in image/. r=tnikkel.
556e6c27c5ca33cd7f21bd7ad1be3c8976da909d: Bug 1297419 - Ensure that APZ smooth scrolls don't get clobbered by the main thread as a side-effect of reflow. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Tue, 06 Sep 2016 14:43:41 -0400 - rev 312883
Push 20470 by cbook@mozilla.com at Wed, 07 Sep 2016 15:25:31 +0000
Bug 1297419 - Ensure that APZ smooth scrolls don't get clobbered by the main thread as a side-effect of reflow. r=tnikkel MozReview-Commit-ID: 9124WMy8SmD
74cc0bbb8928ee39dc9a99202eee91afa7ede8a5: Bug 1299545 - stop exporting imgLoader::SupportImageWithMimeType, r=tnikkel
Benjamin Smedberg <benjamin@smedbergs.us> - Tue, 30 Aug 2016 13:28:16 -0400 - rev 312348
Push 20447 by kwierso@gmail.com at Fri, 02 Sep 2016 20:36:44 +0000
Bug 1299545 - stop exporting imgLoader::SupportImageWithMimeType, r=tnikkel MozReview-Commit-ID: CFmUXAGeFIO
f478daa490df29fd134b42a81a77a11f29f4a6aa: Bug 1247074 - When a compositor-based smooth scroll animation is in progress and the scrollframe is reconstructed, restore to the animation destination. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Mon, 29 Aug 2016 20:28:40 -0400 - rev 312276
Push 20443 by kwierso@gmail.com at Fri, 02 Sep 2016 00:55:23 +0000
Bug 1247074 - When a compositor-based smooth scroll animation is in progress and the scrollframe is reconstructed, restore to the animation destination. r=tnikkel MozReview-Commit-ID: 73juHWNfoQy
29f27e5ab2177d8f4ee0c3c9eb06d8705985b14a: Bug 1298084 - Manually tick the refresh driver to ensure the interrupted reflow happens when we want it to. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Mon, 29 Aug 2016 16:22:57 -0400 - rev 311748
Push 20417 by ryanvm@gmail.com at Tue, 30 Aug 2016 13:55:34 +0000
Bug 1298084 - Manually tick the refresh driver to ensure the interrupted reflow happens when we want it to. r=tnikkel MozReview-Commit-ID: 2q9hdZPjrPt
d150958ab3de1a9455065d1925913d27a3c2d559: Bug 1298214 - Don't treat container items as forced-empty items if they have contents. r=tnikkel
Markus Stange <mstange@themasta.com> - Mon, 22 Aug 2016 13:41:59 -0400 - rev 311662
Push 20413 by kwierso@gmail.com at Tue, 30 Aug 2016 00:56:45 +0000
Bug 1298214 - Don't treat container items as forced-empty items if they have contents. r=tnikkel MozReview-Commit-ID: LbZt3qBfoV8
b07502b5c4230a8372f98e41a057cc18a266f053: Bug 1298401 - Ensure that eNone scroll update types from the APZC don't prevent eUserAction scroll updates from getting sent. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Fri, 26 Aug 2016 10:55:22 -0400 - rev 311496
Push 20400 by kwierso@gmail.com at Fri, 26 Aug 2016 23:33:52 +0000
Bug 1298401 - Ensure that eNone scroll update types from the APZC don't prevent eUserAction scroll updates from getting sent. r=tnikkel MozReview-Commit-ID: 7b9QN8knQUM
90a4db6c929deff452cf420e819b6a7325af328d: Bug 1296793 - Don't assume that layer flattening was 100% successful and treat all layers as opaque. r=tnikkel
Matt Woodrow <mwoodrow@mozilla.com> - Thu, 25 Aug 2016 14:25:57 +1200 - rev 311069
Push 20390 by kwierso@gmail.com at Fri, 26 Aug 2016 00:16:06 +0000
Bug 1296793 - Don't assume that layer flattening was 100% successful and treat all layers as opaque. r=tnikkel
4f90fc4e60631bb9220a856a8d87e05f6ff36f40: Bug 1296793 - Don't assume that layer flattening was 100% successful and treat all layers as opaque. r=tnikkel
Matt Woodrow <mwoodrow@mozilla.com> - Thu, 25 Aug 2016 11:18:56 +1200 - rev 311066
Push 20390 by kwierso@gmail.com at Fri, 26 Aug 2016 00:16:06 +0000
Bug 1296793 - Don't assume that layer flattening was 100% successful and treat all layers as opaque. r=tnikkel
df8d6a12b605745eead88fca245a6d8c99bf2cba: Bug 1292781 - Add a test. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 24 Aug 2016 09:15:42 -0400 - rev 310976
Push 20386 by ryanvm@gmail.com at Thu, 25 Aug 2016 12:13:22 +0000
Bug 1292781 - Add a test. r=tnikkel MozReview-Commit-ID: f0UvsKMwAL
72d0178222e5ebc711d5769cb14b69760b04156c: Bug 1292781 - Send scroll-position-restore updates to APZ, but don't allow them to clobber user scrolls. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 24 Aug 2016 09:15:29 -0400 - rev 310975
Push 20386 by ryanvm@gmail.com at Thu, 25 Aug 2016 12:13:22 +0000
Bug 1292781 - Send scroll-position-restore updates to APZ, but don't allow them to clobber user scrolls. r=tnikkel Previously we weren't sending scroll position updates with origin nsGkAtoms::restore over to the APZ at all, on the assumption that they should never clobber an APZ scroll offset. However, there are scenarios where that is not true. In particular, during a frame reconstruction, a layers update may be sent to the compositor between the time a scrollframe has RestoreState() called on it, and the time the scrollframe has ScrollToRestoredPosition() called on it. The layers update that happens during this interval (correctly) sends a scroll position of (0,0), and forces the APZ to scroll to that position. This is necessary to prevent APZ from remaining at an invalid scroll offset while the frame is still being rebuilt. However, once ScrollToRestoredPosition() is called and the old scroll offset is restored, that restored scroll position needs to get sent to the APZ in order to have it properly restore to the original scroll position. In order to do this, the main thread must flag the metrics with a scroll offset update. Since the user may have scrolled concurrently in the compositor from the (0,0) position, we also need to check for that case in the APZ code and avoid restoring the scroll position. This is equivalent to the corresponding main-thread code in ScrollToRestoredPosition(). MozReview-Commit-ID: LxRapVSrsJ3
7f7fdb1304736fd09ea40124789c7ad480e32b9d: Bug 1286179 - For APZ repaint requests that are triggered by main-thread updates, don't attempt to re-scroll the main thread. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Thu, 18 Aug 2016 17:00:42 -0400 - rev 310860
Push 20384 by ryanvm@gmail.com at Wed, 24 Aug 2016 13:12:20 +0000
Bug 1286179 - For APZ repaint requests that are triggered by main-thread updates, don't attempt to re-scroll the main thread. r=tnikkel Avoiding these re-scrolls prevents APZ repaint requests from clobbering the main-thread scroll position (which may have changed in the meantime) in some cases. See https://bugzilla.mozilla.org/show_bug.cgi?id=1286179#c8 for an example of a scenario where this re-scroll is problematic. MozReview-Commit-ID: 7he2A2sygji
60b4b2b76e0c7625ea75a58aa4327c30dec3f79e: Bug 1286179 - Update an existing test to catch this new instance of the bug. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Thu, 18 Aug 2016 17:00:38 -0400 - rev 310859
Push 20384 by ryanvm@gmail.com at Wed, 24 Aug 2016 13:12:20 +0000
Bug 1286179 - Update an existing test to catch this new instance of the bug. r=tnikkel MozReview-Commit-ID: 90ian6KN91C
7367f3041715e25e14fed8d0275adc465a0b7749: Bug 1200469 part 2 - Discard cursor image urgently. r=tnikkel
Xidorn Quan <me@upsuper.org> - Fri, 19 Aug 2016 23:43:11 +1000 - rev 310540
Push 20358 by ryanvm@gmail.com at Mon, 22 Aug 2016 13:41:41 +0000
Bug 1200469 part 2 - Discard cursor image urgently. r=tnikkel Given that script may change cursor image in a high frequency, and it is usually small, it is probably better discarding it urgently. MozReview-Commit-ID: J6tqIODXykg
5f3c1d227089a8ab0d81672acc76ad43e12056f6: Bug 1200469 part 1 - Avoid using fallback cursor if from the same frame. r=tnikkel,smaug
Xidorn Quan <me@upsuper.org> - Fri, 19 Aug 2016 23:37:14 +1000 - rev 310539
Push 20358 by ryanvm@gmail.com at Mon, 22 Aug 2016 13:41:41 +0000
Bug 1200469 part 1 - Avoid using fallback cursor if from the same frame. r=tnikkel,smaug MozReview-Commit-ID: A2Ku0TND66L
911fc6cbfad0df1b456ff4447fd81414ebf66c1e: Bug 1237102 - Make sure we don't generate invalidations for children of opacity:0 frames, even when plugins are present. r=tnikkel
Matt Woodrow <mwoodrow@mozilla.com> - Wed, 10 Aug 2016 15:15:28 +1200 - rev 308874
Push 20279 by cbook@mozilla.com at Wed, 10 Aug 2016 14:04:43 +0000
Bug 1237102 - Make sure we don't generate invalidations for children of opacity:0 frames, even when plugins are present. r=tnikkel
cbcdad90154e4d74820089ddf2fc01482f095ec4: Bug 1237097 - Don't invalidate opacity:0 nsDisplayOpacity items. r=tnikkel
Matt Woodrow <mwoodrow@mozilla.com> - Wed, 10 Aug 2016 15:12:27 +1200 - rev 308873
Push 20279 by cbook@mozilla.com at Wed, 10 Aug 2016 14:04:43 +0000
Bug 1237097 - Don't invalidate opacity:0 nsDisplayOpacity items. r=tnikkel
b1dbce81bf3b6124577fb46414f811ec5f45f4e0: Bug 1012752 - Snap scrolled area to layer pixels. r=tnikkel
Markus Stange <mstange@themasta.com> - Thu, 04 Aug 2016 23:51:58 -0400 - rev 308350
Push 20240 by kwierso@gmail.com at Fri, 05 Aug 2016 21:06:31 +0000
Bug 1012752 - Snap scrolled area to layer pixels. r=tnikkel We want the maximum scroll position to be aligned with layer pixels. That way we don't have to re-rasterize the scrolled contents once scrolling hits the edge of the scrollable area. Here's how we determine the maximum scroll position: We get the scroll port rect, snapped to layer pixels. Then we get the scrolled rect and also snap that to layer pixels. The maximum scroll position is set to the difference between right/bottom edges of these rectangles. Now the scrollable area is computed by adding this maximum scroll position to the unsnapped scroll port size. The underlying idea here is: Pretend we have overflow:visible so that the scrolled contents start at (0, 0) relative to the scroll port and spill over the scroll port edges. When these contents are rendered, their rendering is snapped to layer pixels. We want those exact pixels to be accessible by scrolling. This way of computing the snapped scrollable area ensures that, if you scroll to the maximum scroll position, the right/bottom edges of the rendered scrolled contents line up exactly with the right/bottom edges of the scroll port. The scrolled contents are neither cut off nor are they moved too far. (This is something that no other browser engine gets completely right, see the testcase in bug 1012752.) There are also a few disadvantages to this solution. We snap to layer pixels, and the size of a layer pixel can depend on the zoom level, the document resolution, the current screen's scale factor, and CSS transforms. The snap origin is the position of the reference frame. So a change to any of these things can influence the scrollable area and the maximum scroll position. This patch does not make us adjust the current scroll position in the event that the maximum scroll position changes such that the current scroll position would be out of range, unless there's a reflow of the scrolled contents. This means that we can sometimes render a slightly inconsistent state where the current scroll position exceeds the maximum scroll position. We can fix this once it turns out to be a problem; I doubt that it will be a problem because none of the other browsers seems to prevent this problem either. The size of the scrollable area is exposed through the DOM properties scrollWidth and scrollHeight. At the moment, these are integer properties, so their value is rounded to the nearest CSS pixel. Before this patch, the returned value would always be within 0.5 CSS pixels of the value that layout computed for the content's scrollable overflow based on the CSS styles of the contents. Now that scrollWidth and scrollHeight also depend on pixel snapping, their values can deviate by up to one layer pixel from what the page might expect based on the styles of the contents. This change requires a few changes to existing tests. The fact that scrollWidth and scrollHeight can change based on the position of the scrollable element and the zoom level / resolution may surprise some web pages. However, this also seems to happen in Edge. Edge seems to always round scrollWidth and scrollHeight upwards, possibly to their equivalent of layout device pixels. MozReview-Commit-ID: 3LFV7Lio4tG
4581a6d4a62042b6feb3c7d0d96cf7a0c711d374: Bug 1240665 - Log all error returns from the PNG decoder. r=tnikkel
Glenn Randers-Pehrson <glennrp+bmo@gmail.com> - Fri, 29 Jul 2016 05:11:00 +0200 - rev 308050
Push 20219 by cbook@mozilla.com at Thu, 04 Aug 2016 14:06:48 +0000
Bug 1240665 - Log all error returns from the PNG decoder. r=tnikkel
772e90960ebf68a5444d9977385f10b140745ee4: Bug 1291889 - specify CPP_THROW_NEW on definition of function whose declaration specifies it r=tnikkel
Myk Melez <myk@mykzilla.org> - Wed, 03 Aug 2016 14:22:06 -0700 - rev 308029
Push 20219 by cbook@mozilla.com at Thu, 04 Aug 2016 14:06:48 +0000
Bug 1291889 - specify CPP_THROW_NEW on definition of function whose declaration specifies it r=tnikkel MozReview-Commit-ID: 9a8hLbfJbkl
ab7e973f6bdf92ace45dbff732161172fd7b10cb: Bug 1287446: Check and add nsIPrintProgressParams and print progress listener separately in nsPrintEngine::ShowPrintProgress. r=tnikkel
Bob Owen <bobowencode@gmail.com> - Wed, 03 Aug 2016 09:50:24 +0100 - rev 307922
Push 20203 by cbook@mozilla.com at Wed, 03 Aug 2016 15:07:47 +0000
Bug 1287446: Check and add nsIPrintProgressParams and print progress listener separately in nsPrintEngine::ShowPrintProgress. r=tnikkel MozReview-Commit-ID: GngheT4Mizd
1d4ebd027c42b277b234069c43296c74c8eb0f2c: Bug 1289407 - initialise |mForceNotVisible| in explicit ctor. r=tnikkel
Andi-Bogdan Postelnicu <bpostelnicu@mozilla.com> - Tue, 26 Jul 2016 16:07:04 +0300 - rev 306709
Push 20120 by kwierso@gmail.com at Tue, 26 Jul 2016 23:55:13 +0000
Bug 1289407 - initialise |mForceNotVisible| in explicit ctor. r=tnikkel MozReview-Commit-ID: AUvZBGk6j1L
439867de69353a878b0bf43b6d5d00e92d678304: Bug 1287142 - Ensure that the touch-action property on the scrollable element is applied to both the inner and outer scrollframe. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 20 Jul 2016 23:29:17 -0400 - rev 305993
Push 20080 by cbook@mozilla.com at Thu, 21 Jul 2016 14:27:27 +0000
Bug 1287142 - Ensure that the touch-action property on the scrollable element is applied to both the inner and outer scrollframe. r=tnikkel MozReview-Commit-ID: JafhGnhpApE
3d6cdeb53e16b0bc4fdb1f9d97b7ad9883132004: Bug 1286957 - Add some more complex mochitests for touch-action testing. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 20 Jul 2016 19:02:17 -0400 - rev 305955
Push 20080 by cbook@mozilla.com at Thu, 21 Jul 2016 14:27:27 +0000
Bug 1286957 - Add some more complex mochitests for touch-action testing. r=tnikkel MozReview-Commit-ID: 4GZpnrBcaPu
e15ba82ad331a51115246616e490ce076b6f2271: Bug 1286957 - Because combining touch-action areas into the event regions is fraught with peril, dump them into the dispatch-to-content region. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 20 Jul 2016 19:02:09 -0400 - rev 305954
Push 20080 by cbook@mozilla.com at Thu, 21 Jul 2016 14:27:27 +0000
Bug 1286957 - Because combining touch-action areas into the event regions is fraught with peril, dump them into the dispatch-to-content region. r=tnikkel MozReview-Commit-ID: FOyCEFP3Hw6
39dabd617b129f7c8de7c10bff048406fda44663: Bug 1012752 - Snap scrolled area to layer pixels. r=tnikkel
Markus Stange <mstange@themasta.com> - Thu, 02 Jun 2016 15:41:51 -0400 - rev 304096
Push 19910 by kwierso@gmail.com at Fri, 08 Jul 2016 00:37:20 +0000
Bug 1012752 - Snap scrolled area to layer pixels. r=tnikkel We want the maximum scroll position to be aligned with layer pixels. That way we don't have to re-rasterize the scrolled contents once scrolling hits the edge of the scrollable area. Here's how we determine the maximum scroll position: We get the scroll port rect, snapped to layer pixels. Then we get the scrolled rect and also snap that to layer pixels. The maximum scroll position is set to the difference between right/bottom edges of these rectangles. Now the scrollable area is computed by adding this maximum scroll position to the unsnapped scroll port size. The underlying idea here is: Pretend we have overflow:visible so that the scrolled contents start at (0, 0) relative to the scroll port and spill over the scroll port edges. When these contents are rendered, their rendering is snapped to layer pixels. We want those exact pixels to be accessible by scrolling. This way of computing the snapped scrollable area ensures that, if you scroll to the maximum scroll position, the right/bottom edges of the rendered scrolled contents line up exactly with the right/bottom edges of the scroll port. The scrolled contents are neither cut off nor are they moved too far. (This is something that no other browser engine gets completely right, see the testcase in bug 1012752.) There are also a few disadvantages to this solution. We snap to layer pixels, and the size of a layer pixel can depend on the zoom level, the document resolution, the current screen's scale factor, and CSS transforms. The snap origin is the position of the reference frame. So a change to any of these things can influence the scrollable area and the maximum scroll position. This patch does not make us adjust the current scroll position in the event that the maximum scroll position changes such that the current scroll position would be out of range, unless there's a reflow of the scrolled contents. This means that we can sometimes render a slightly inconsistent state where the current scroll position exceeds the maximum scroll position. We can fix this once it turns out to be a problem; I doubt that it will be a problem because none of the other browsers seems to prevent this problem either. The size of the scrollable area is exposed through the DOM properties scrollWidth and scrollHeight. At the moment, these are integer properties, so their value is rounded to the nearest CSS pixel. Before this patch, the returned value would always be within 0.5 CSS pixels of the value that layout computed for the content's scrollable overflow based on the CSS styles of the contents. Now that scrollWidth and scrollHeight also depend on pixel snapping, their values can deviate by up to one layer pixel from what the page might expect based on the styles of the contents. This change requires a few changes to existing tests. The fact that scrollWidth and scrollHeight can change based on the position of the scrollable element and the zoom level / resolution may surprise some web pages. However, this also seems to happen in Edge. Edge seems to always round scrollWidth and scrollHeight upwards, possibly to their equivalent of layout device pixels. MozReview-Commit-ID: 3LFV7Lio4tG
09e4d7a5bcbbf502503118ac6abb8865cc7c2bb9: Bug 1280013 - Incorporate the APZ callback transforms when using the root composition bounds to clip the displayport base. r=botond,tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 29 Jun 2016 08:50:20 -0400 - rev 303156
Push 19824 by cbook@mozilla.com at Thu, 30 Jun 2016 10:53:06 +0000
Bug 1280013 - Incorporate the APZ callback transforms when using the root composition bounds to clip the displayport base. r=botond,tnikkel MozReview-Commit-ID: 1HOGQnCjIMt
a5516d8f4ec8b59c7006bc4cd83db9e79632ae12: Bug 1253683 - Add a test. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 29 Jun 2016 14:29:42 -0400 - rev 303138
Push 19824 by cbook@mozilla.com at Thu, 30 Jun 2016 10:53:06 +0000
Bug 1253683 - Add a test. r=tnikkel MozReview-Commit-ID: Cn3paFTFo1O
36f3e97c79d1baedb748848524f48d1e2332ca6a: Bug 1253683 - Don't layerize scrollframes which are overflow:scroll but not actually scrollable. r=tnikkel
Kartikaya Gupta <kgupta@mozilla.com> - Wed, 29 Jun 2016 14:29:40 -0400 - rev 303137
Push 19824 by cbook@mozilla.com at Thu, 30 Jun 2016 10:53:06 +0000
Bug 1253683 - Don't layerize scrollframes which are overflow:scroll but not actually scrollable. r=tnikkel MozReview-Commit-ID: 6DUE3PB2hLI
213bc3441c3831c4148533b8e2d8eea689c0b289: Bug 1277814 - For a zero-margin displayport, do not expand the displayport beyond the scroll port even during low-res painting. r=tnikkel
Botond Ballo <botond@mozilla.com> - Wed, 08 Jun 2016 18:16:54 -0400 - rev 301419
Push 19655 by cbook@mozilla.com at Fri, 10 Jun 2016 13:43:47 +0000
Bug 1277814 - For a zero-margin displayport, do not expand the displayport beyond the scroll port even during low-res painting. r=tnikkel MozReview-Commit-ID: 4ZN8aWkBEwA