Граф коммитов

381 Коммитов

Автор SHA1 Сообщение Дата
L. David Baron b0b5ff896a Bug 1307853 - Add web platform test (in mochitest suite). r=mats
This test failed with the initial (non-working) version of the patch,
and passes with the patch.

MozReview-Commit-ID: IPmd7Yh604Z
2016-10-13 11:41:52 -07:00
Kartikaya Gupta 3ac8695431 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

--HG--
extra : rebase_source : b44d4c04c76a21fe00d8ae460068359550d3d136
2016-09-27 14:40:56 -04:00
Matt Woodrow c0a7b324b9 Bug 1300611 - Move overflow rect into correct coordinate space when computing perspective overflows so that it's not affected by scroll position. r=dbaron 2016-09-14 18:00:17 +12:00
Kartikaya Gupta 3a210fcece 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

--HG--
extra : rebase_source : 2820533eeb48870956cd6e545bd7705c898a6cad
2016-08-29 20:28:40 -04:00
Matt Woodrow bdbef762ca Bug 1198135 - Part 2: Compute the scrolled rect stored by ScrollFrameHelper as what will actually be scrollable. r=dbaron 2016-08-25 11:15:46 +12:00
Phil Ringnalda fe80a34e29 Back out 3 changesets (bug 1198135) for OS X failures in test_bug1198135.html
Backed out changeset e93865a03250 (bug 1198135)
Backed out changeset a08b7dc31691 (bug 1198135)
Backed out changeset 3c24738ca092 (bug 1198135)
2016-08-24 23:15:19 -07:00
Matt Woodrow 443ff37e03 Bug 1198135 - Part 2: Compute the scrolled rect stored by ScrollFrameHelper as what will actually be scrollable. r=dbaron 2016-08-25 11:15:46 +12:00
Kartikaya Gupta a94bb8dfec Bug 1286179 - Update an existing test to catch this new instance of the bug. r=tnikkel
MozReview-Commit-ID: 90ian6KN91C

--HG--
extra : rebase_source : 6fa6b361561acc44298440c4fe11922afee64a63
2016-08-18 17:00:38 -04:00
Phil Ringnalda cd4986a6d0 Bug 1207914 - Skip test_bug632379.xul on Linux for constant timeouts 2016-08-07 15:26:35 -07:00
Markus Stange ebb461c874 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

--HG--
extra : rebase_source : 3e4e0b60493397e61283aa1d7fd93d7c197dec29
extra : source : d43c2d5e87f31ff47d7f3ada66c3f5f27cef84a9
2016-08-04 23:51:58 -04:00
Markus Stange 6bb3620330 Back out bug 1012752 for causing bug 1285532 and bug 1286674.
MozReview-Commit-ID: DYZ3D4yL1eZ

--HG--
extra : source : b98df554a6f0aa154275d363163ec618189503ed
2016-07-16 17:10:08 -04:00
Markus Stange f8e66e0cdf 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

--HG--
extra : histedit_source : 5390eeebfe9a2791d9ac8e91ec1dfec4ec7b4118
2016-06-02 15:41:51 -04:00
Masatoshi Kimura 107cbffdc0 Bug 1205027 - Only size <img> to broken-image size if it's actually broken. r=dholbert 2016-06-03 07:05:46 +09:00
Sebastian Hengst 144882c03c Backed out changeset 17dcafc58287 (bug 1205027) for wpt windows-1251.html permafail on Windows. r=backout 2016-05-29 09:10:07 +02:00
Masatoshi Kimura d155af464f Bug 1205027 - Only size <img> to broken-image size if it's actually broken. r=dholbert 2016-05-29 07:51:49 +09:00
Kartikaya Gupta 65f5105de7 Bug 1269539 - Ensure that the scroll position is restored properly on reloading a page which loads incrementally. r=tnikkel
MozReview-Commit-ID: 1qVA5yU7a7g

--HG--
extra : rebase_source : 032336d7552ece6dbeafa4eb07eceb7ed2a096ba
2016-05-03 10:40:20 -04:00
Jorg K b1f4e1a69f Bug 1263909 - Enhance test_bug756984.html to cover edit actions. r=masayuki 2016-04-13 10:35:00 +02:00
Carsten "Tomcat" Book 5297e9088f Backed out changeset 9db1fc7d3df3 (bug 1263909) for test failures in test_bug756984.html
--HG--
extra : rebase_source : 5b0648f3d712d1a4c8bd0c54ddb9eeae8374c7a6
2016-04-13 15:04:40 +02:00
Jorg K 11ea1f64cc Bug 1263909 - Enhance test_bug756984.html to cover edit actions. r=masayuki 2016-04-13 00:21:00 +02:00
Jonathan Watt 9480920b04 Bug 1263785 - Kill off the deprecated nsINode::GetCurrentDoc. r=baku 2016-03-31 12:46:32 +01:00
Ryan VanderMeulen 3f36076406 Bug 1262050 - Remove unneeded assertion and update test annotations accordingly. r=jimm
--HG--
extra : rebase_source : d2471bd4cce2a65b1247d23225c7ccab4bab5f01
2016-04-08 12:11:44 -04:00
Ryan VanderMeulen 24435a6f0b Bug 1261195 - Make the Windows fuzzing in test_selection_underline.html conditional on D2D being enabled. r=mattwoodrow
--HG--
extra : rebase_source : 117883ae8aa21e477e962bee71d3635797094581
2016-04-01 08:25:27 -04:00
Shih-Chiang Chien d06a3c964a Bug 1255262 - convert test_selection_preventDefault.html to mochitest. r=smaug.
MozReview-Commit-ID: IPZKEA6082n

--HG--
extra : rebase_source : 47761c512e502cf8e0c73f3b9e03699e33f6b35d
2016-03-10 11:11:41 +08:00
Ehsan Akhgari 9a3b4db938 Bug 1254991 - Port test_bug348681.html to mochitest-plain so that it runs under e10s; r=mrbkap 2016-03-09 16:41:51 -05:00
Tobias Schneider f19e21de56 Bug 1207914: Add some debug logging to mochitest test_bug632379.xul, to help diagnose its timeouts. 2016-01-20 10:09:05 -08:00
Jonathan Griffin 59f626fe96 Bug 1232780 - Disable mochitests which fail on e10s so we can get that suite running, a=test-only 2016-01-05 12:02:47 -08:00
Xidorn Quan ba639e3e07 Bug 1213710 part 3 - Remove enableTestPlugin.js files and make the tests reference plugin-utils.js directly. r=bsmedberg
--HG--
extra : source : 985fc6ba41c30914969940c30dd5a07c3f19f157
2015-11-17 09:54:12 +11:00
Matt Brubeck 871cea5bf5 Bug 1081272 - Include position and transform when computing header/footer size [r=tn] 2015-11-12 16:55:02 -08:00
Matt Brubeck 3777952460 Bug 1224307 - Fix page scrolling for non-full-width fixed headers/footers [r=tn] 2015-11-12 16:55:00 -08:00
Phil Ringnalda 78c184fb46 Back out changeset cd0be67d2344 (bug 1224307) for test_page_scroll_with_fixed_pos.html bustage
CLOSED TREE
2015-11-12 20:18:38 -08:00
Phil Ringnalda 08a38cf3b8 Back out changeset 13335ded96b9 (bug 1081272) for test_page_scroll_with_fixed_pos.html bustage
CLOSED TREE
2015-11-12 20:18:03 -08:00
Matt Brubeck ae413e1b82 Bug 1081272 - Include position and transform when computing header/footer size [r=tn] 2015-11-12 16:55:02 -08:00
Matt Brubeck c1f53f3bdd Bug 1224307 - Fix page scrolling for non-full-width fixed headers/footers [r=tn] 2015-11-12 16:55:00 -08:00
Andrew McCreight 5981b92f78 Bug 1219842 - Enable a bunch of mochitest-plain tests under e10s. r=mrbkap 2015-10-31 06:26:44 -07:00
Tooru Fujisawa 4b5a0cb0ba Bug 1207495 - Remove use of expression closure from layout/. r=bz
--HG--
extra : commitid : DsNCuxMDmUn
extra : rebase_source : 5d3f00526ecbd257ee54f176fe919ce6d20f6ed6
2015-09-23 18:40:36 +09:00
Boris Zbarsky 3dc492a257 Bug 1181765. Remove uses of mozRequestAnimationFrame from layout tests. r=bkelly 2015-07-14 15:28:58 -04:00
Geoff Brown 52d4e225a0 Bug 1026290 - Update mochitest-chrome manifests for android; r=jgriffin 2015-07-10 14:41:59 -06:00
Ehsan Akhgari c197ee959d Bug 1174521 - Backout the second part of bug 1143570 to fix the regression; r=roc 2015-06-17 17:45:51 -04:00
Carsten "Tomcat" Book 47a56a31ae Backed out changeset b857e7a2ab26 (bug 1174521) for timeouts in test_bug1174521.html 2015-06-17 10:12:21 +02:00
Ehsan Akhgari 4dd45d21af Bug 1174521 - Backout the second part of bug 1143570 to fix the regression; r=roc 2015-06-17 01:34:00 -04:00
Ted Clancy be8a64fc3b Bug 1067788 - Part 4: Update test_bug496275.html. Add setCaretBidiLevel method to Selection. r=smontagu r=ehsan 2015-05-22 00:37:16 -04:00
Masayuki Nakano 99e7b621fa Bug 1130935 part.11 Disable test_backspace_delete.xul due to bug 1163311 r=smontagu 2015-05-15 10:18:08 +09:00
David Anderson 01d5761755 Fix tests that depend on synchronous scrolling. (bug 1140293, r=mstange,masayuki,kgilbert) 2015-04-13 00:51:43 -04:00
Carsten "Tomcat" Book 4861b6d51f Backed out changeset 1158acbea753 (bug 1140293) for frequent windows m-oth test failures in test_wheeltransaction.xul 2015-04-08 10:22:34 +02:00
dvander@alliedmods.net d6e650ec3e Fix tests that depend on synchronous scrolling. (bug 1140293, r=mstange,masayuki,kgilbert) 2015-04-07 18:20:43 -07:00
Jorg K a3ee4e22d2 Bug 756984 - Collapse the selection on the last text node on the line, skipping br and inline frames when clicking past the end of line; r=roc,ehsan 2015-03-27 20:04:29 -04:00
Alexandre Lissy 77d1e01b3c Bug 1144080 - Disable mochitests on Mulet for TaskCluster. r=ahal 2015-03-20 00:45:00 +01:00
Jonathan Griffin d1c61bc9b6 Bug 1116187 - Disable failing mochitest-chrome tests for B2G, r=gbrown 2015-02-06 16:30:37 -08:00
dvander@alliedmods.net 87a19022de Wait for all paints to flush before synthesizing scroll events. (bug 1126090 part 5, r=smaug) 2015-03-06 14:26:59 -08:00
Anish df7d9b1c0e Bug 1135091 - convert remaining SpecialPowers.setBoolPref to pushPrefEnv, p=anishchandran94@gmail.com, r=jmaher, mwargers 2015-03-03 08:46:35 -05:00