Commit graph

1526 commits

Author SHA1 Message Date
Ting-Yu Lin
40fcd21b9a Bug 1277129 Part 7b - Rename various ReflowState variables to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "([[:alpha:]]*)([rR])eflowState(s?)" "\1\2eflowInput\3"

MozReview-Commit-ID: ITFO7uMTkSb

--HG--
extra : rebase_source : c91a2e174a0baec60c1b0111ac7636295004ab35
2016-07-21 18:36:39 +08:00
Ting-Yu Lin
55cde36029 Bug 1277129 Part 6b - Rename rendContext to mRenderingContext in SizeComputationInput. r=dbaron
MozReview-Commit-ID: LczLJDtDncy

--HG--
extra : rebase_source : c32e928ae25f94305fb907db89278dce7304a903
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
cd13f0ea71 Bug 1277129 Part 6a - Rename frame to mFrame in SizeComputationInput. r=dbaron
MozReview-Commit-ID: 3SXZ4qEZJc

--HG--
extra : rebase_source : 577d48f047af163585acea95dda311358f5e8c25
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
4053c4c028 Bug 1277129 Part 5c - Rename nsHTMLReflowMetrics to ReflowOutput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename "nsHTMLReflowMetrics" "ReflowOutput"

MozReview-Commit-ID: 2HBb7DkooH5

--HG--
extra : rebase_source : acfa442a6483772fcb5748dc6f5e7072e599032a
2016-07-21 18:36:38 +08:00
Ting-Yu Lin
ecfae6abac Bug 1277129 Part 4b - Rename ScrollReflowState to ScrollReflowInput. r=dbaron
MozReview-Commit-ID: ILLqDYR0vkZ

--HG--
extra : rebase_source : d6167b5673e854f1a6e6b00fa942cd81e534ce49
2016-07-21 18:36:37 +08:00
Ting-Yu Lin
9c26b29bf4 Bug 1277129 Part 4a - Move ScrollReflowState into mozilla namespace. r=dbaron
MozReview-Commit-ID: C8drnMacxO

--HG--
extra : rebase_source : b0a492d44785c6f2f6afc8aedb8b9cd2dece86b3
2016-07-21 18:36:36 +08:00
Ting-Yu Lin
820f88de49 Bug 1277129 Part 1c - Rename nsHTMLReflowState to ReflowInput. r=dbaron
This patch is generated by the following script:

function rename() {
find .\
     -type f\
     ! -path "./obj*"\
     ! -path "./.git"\
     ! -path "./.hg"\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -e "s/$1/$2/g" "{}" \;
}

rename nsHTMLReflowState ReflowInput

MozReview-Commit-ID: 9r9vdVv1pXc

--HG--
extra : rebase_source : 623ec822996ba0ea0058dd137acf5a658cdea04a
2016-07-21 18:36:35 +08: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
Bob Owen
4ec3db3eec Bug 1252877 Part 7: Wait for plugin updates during active animations. r=dvander, r=jimm
Also, apply plugin updates when they arrive not just during composition.

MozReview-Commit-ID: FZJYiPqb5uZ
2016-07-18 09:54:02 +01:00
Bob Owen
88df0f1a00 Bug 1252877 Part 6: Fix plugin frame check for paint skipping and short circuit the search for plugin frames. r=jimm
MozReview-Commit-ID: EqAhU20Vkxm
2016-07-18 09:54:02 +01:00
Bob Owen
73dac13bac Bug 1252877 Part 4: Remove notification of plugins about scrolling from child. r=jimm
MozReview-Commit-ID: 2tHtOxx7jKa
2016-07-18 09:54:02 +01:00
Kartikaya Gupta
504b319a29 Bug 1287185 - Disable paint skipping for scrollframes with background-attachment:local. r=mstange
MozReview-Commit-ID: GMgIyxUd20c

--HG--
extra : rebase_source : 2fec3dd0a02aa0ab6eab69e9e6ee6229863be10e
2016-07-15 15:56:39 -04:00
Kartikaya Gupta
982bc8ba1f Bug 1284586 - Disable paint-skipping for scrollframes that we detect as having a CSS-clipped descendant. r=mstange
MozReview-Commit-ID: AvjokFZMwdd
2016-07-13 16:05:53 -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
Carsten "Tomcat" Book
3a42c363cc merge mozilla-inbound to mozilla-central a=merge 2016-06-30 12:33:41 +02:00
Kartikaya Gupta
63a50e8725 Bug 1253683 - Don't layerize scrollframes which are overflow:scroll but not actually scrollable. r=tnikkel
MozReview-Commit-ID: 6DUE3PB2hLI

--HG--
extra : rebase_source : 2e9aa59f5545a14ec70dcb6b7fbaf97bcce5dd0b
2016-06-29 14:29:40 -04:00
Jonathan Watt
b15368cfcb Bug 1279451 - Remove a lot of unnecessary includes of nsAutoPtr.h. rs=sparky 2016-06-07 21:10:18 +01:00
Jonathan Chan
42ba4360c9 Bug 1043537 - Don't show resize handle for generated content. r=Enn
MozReview-Commit-ID: IZHqb9IwaAl
2016-06-07 10:22:04 -07:00
Botond Ballo
2f0dad8fb6 Bug 1276107 - Ensure sorting display items by z-order doesn't cause event-regions items to end up below items they are supposed to cover. r=mattwoodrow
MozReview-Commit-ID: BxnshG9TgRb

--HG--
extra : rebase_source : 5817e50d64a1211e224c9b6dbd3e3efdcd5e48f0
extra : intermediate-source : 6f03149a7565e317156cc7218120f39c9fb41915
extra : source : 4c1ca58448e3513691f92c1f9f0a92329ccc17c5
extra : histedit_source : d3ddaa7425ac1e2a1b019c957525653aeee8a4da
2016-05-30 20:01:04 -04:00
Botond Ballo
d9b184b83a Bug 1276107 - Ensure that the event-regions display item for a scrollable subframe ends up on top of perspective child items. r=mattwoodrow
MozReview-Commit-ID: 8nyeZb7g8Po

--HG--
extra : rebase_source : b8844ff0adc346b99276623d902f11ef00201aa2
extra : intermediate-source : 7658c369fd33bbb5e1b91f98a12061294c05db90
extra : source : 605e81003024844d1c7a34022e5c9bc7956f92c9
extra : histedit_source : 3e4ee4b583e09a481ec4ff80ebe87890c70a28e0
2016-05-30 18:56:32 -04:00
Wes Kocher
086c164bf6 Backed out 6 changesets (bug 1276107) for windows apz test bustage CLOSED TREE
Backed out changeset acd104ba0e8d (bug 1276107)
Backed out changeset f15df83c29a6 (bug 1276107)
Backed out changeset cd06b8e0f6dc (bug 1276107)
Backed out changeset e8361d5c43d2 (bug 1276107)
Backed out changeset 6f03149a7565 (bug 1276107)
Backed out changeset 7658c369fd33 (bug 1276107)
2016-06-06 12:16:52 -07:00
Botond Ballo
5a82b92113 Bug 1276107 - Ensure sorting display items by z-order doesn't cause event-regions items to end up below items they are supposed to cover. r=mattwoodrow
MozReview-Commit-ID: BxnshG9TgRb

--HG--
extra : rebase_source : 5817e50d64a1211e224c9b6dbd3e3efdcd5e48f0
extra : source : 4c1ca58448e3513691f92c1f9f0a92329ccc17c5
extra : histedit_source : d3ddaa7425ac1e2a1b019c957525653aeee8a4da
2016-05-30 20:01:04 -04:00
Botond Ballo
d085f720c0 Bug 1276107 - Ensure that the event-regions display item for a scrollable subframe ends up on top of perspective child items. r=mattwoodrow
MozReview-Commit-ID: 8nyeZb7g8Po

--HG--
extra : rebase_source : b8844ff0adc346b99276623d902f11ef00201aa2
extra : source : 605e81003024844d1c7a34022e5c9bc7956f92c9
extra : histedit_source : 3e4ee4b583e09a481ec4ff80ebe87890c70a28e0
2016-05-30 18:56:32 -04:00
Matt Woodrow
d6c0343e48 Bug 1274962 - Part 7: Clean up unecessary parameter for RecomputePerspectiveChildrenOverflow. r=dbaron 2016-06-03 14:26:40 +12:00
Phil Ringnalda
f00b6395cb Back out 7 changesets (bug 1274962) for timeouts in browser_tableWidget_mouse_interaction.js
CLOSED TREE

Backed out changeset c5c9bc65a408 (bug 1274962)
Backed out changeset 15b5f8019521 (bug 1274962)
Backed out changeset 9ac50a46557b (bug 1274962)
Backed out changeset 9cda37e5a581 (bug 1274962)
Backed out changeset bb0230c4bb6d (bug 1274962)
Backed out changeset 56ededfbdee6 (bug 1274962)
Backed out changeset e081fc6f3f90 (bug 1274962)
2016-06-02 20:37:31 -07:00
Matt Woodrow
09d7165bcb Bug 1274962 - Part 7: Clean up unecessary parameter for RecomputePerspectiveChildrenOverflow. r=dbaron
--HG--
extra : rebase_source : 074d48327f4fe2450caab3a1cfa6db30f97b6c37
2016-06-03 14:26:40 +12:00
Sebastian Hengst
d67adf9024 Backed out changeset e79968b5fd84 (bug 1276107) for often failing test_group_wheelevents.html with e10s. r=backout 2016-06-02 22:54:31 +02:00
Sebastian Hengst
58605fbcd6 Backed out changeset 8df1bde7eafd (bug 1276107) 2016-06-02 22:54:31 +02:00
Botond Ballo
5067bf046b Bug 1276107 - Ensure sorting display items by z-order doesn't cause event-regions items to end up below items they are supposed to cover. r=mattwoodrow
MozReview-Commit-ID: BxnshG9TgRb

--HG--
extra : source : 4c1ca58448e3513691f92c1f9f0a92329ccc17c5
extra : histedit_source : d3ddaa7425ac1e2a1b019c957525653aeee8a4da
2016-05-30 20:01:04 -04:00
Botond Ballo
60bd909191 Bug 1276107 - Ensure that the event-regions display item for a scrollable subframe ends up on top of perspective child items. r=mattwoodrow
MozReview-Commit-ID: 8nyeZb7g8Po

--HG--
extra : source : 605e81003024844d1c7a34022e5c9bc7956f92c9
extra : histedit_source : 3e4ee4b583e09a481ec4ff80ebe87890c70a28e0
2016-05-30 18:56:32 -04:00
Kartikaya Gupta
47b3b7b426 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
2016-06-29 08:50:20 -04:00
Carsten "Tomcat" Book
6dc6665bce Backed out changeset 4cfdd1649464 (bug 1263349) 2016-05-24 11:13:59 +02:00
Seth Fowler
1cb3c53e11 Bug 1263349 (Part 2) - Cache the current scroll parent and information about scrollports and displayports on nsDisplayListBuilder. r=botond,mstange 2016-05-24 01:12:48 -07:00
Jonathan Kew
bfdda7ee51 Bug 1272997 - followup 1 - Check for orthogonal writing modes when propagating (logical) resize flags from parent to child. r=dholbert 2016-05-18 21:07:54 +01:00
Kartikaya Gupta
11bfa10a5a Bug 1264297 - Don't do paint-skipping for elements with perspective, until we can properly populate the displayport. r=mstange
MozReview-Commit-ID: D3wKzWU72yi

--HG--
extra : rebase_source : f4487d2b37fe9799b32b40d0207b44dd50fca42f
2016-05-16 12:07:01 -04:00
Markus Stange
8ece268559 Bug 1263192 - Clip scrolled contents to the display port. r=mattwoodrow
MozReview-Commit-ID: 4Uut8OAmCAd

--HG--
extra : rebase_source : 6b32f018f671ce0028dc558fdecc43c41756e1fa
2016-05-12 18:56:24 -04:00
Matt Woodrow
47cde44daf Bug 1243610 - Refactor UpdateOverflow to separate out local overflow from that contributed by descendants. r=dbaron 2016-05-04 12:27:43 +12: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
Kartikaya Gupta
bf75215060 Bug 1266833 - When the scroll position is clamped during a frame reconstruction, send a scroll offset update to APZ. r=tnikkel
MozReview-Commit-ID: 2UBM4AWWIVI
2016-05-02 15:44:29 -04:00
Kartikaya Gupta
0858e31ab6 Bug 1268195 - When restoring a scroll position outside of incremental load, don't keep trying in a loop - just do it once and stop. r=tnikkel
It may be that when the frame is reconstructed after load, the frame gets shorter,
and the old scroll position cannot be restored, because it is out of bounds. In
such a case, we don't want to keep mRestorePos tracking the old scroll position,
because it can get incorrectly applied on a future frame reconstruction. Instead,
for scroll position restorations during frame reconstructions, we just try the
restore once and then clear mRestorePos.

MozReview-Commit-ID: BHoJHz0mGmf
2016-04-29 23:06:18 -04:00
Botond Ballo
b198a432f2 Bug 1268009 - If APZ is force-disabled, disable paint skipping even for apz-originated scrolls. r=kats
MozReview-Commit-ID: 2HgM5XiTcgA

--HG--
extra : rebase_source : 86ced7735a7db45a74209efc6a1d8a2e0c5d77ab
2016-04-27 16:55:34 -04:00
L. David Baron
1fff16a212 Bug 1053986 - Rename nsBox::DoLayout to DoXULLayout. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

(While this wasn't explicitly reviewed, I'm considering it as r=dholbert
based on the request in comment 47 in the bug.)

MozReview-Commit-ID: 6Q0F4ViOyjJ
2016-04-20 21:28:35 -07:00
L. David Baron
e0db98947a Bug 1053986 - Rename nsIFrame::AddCSSPrefSize, AddCSSMinSize, AddCSSMaxSize, and AddCSSFlex by replacing CSS with XUL. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: BTsQw1EMqvY
2016-04-20 21:28:34 -07:00
L. David Baron
ff032066f9 Bug 1053986 - Rename nsIFrame::IsHorizontal to IsXULHorizontal, and related methods. r=dholbert
This is a manual subset of changes written with sed, over .h and .cpp
files in layout/.

This also renames a static method on nsSprocketLayout.

Note that nsFlexContainerFrame and nsRangeFrame also have IsHorizontal
methods that are not renamed here, but this can be found to be
relatively safe because none of the IsHorizontal methods are virtual.

MozReview-Commit-ID: Jsdy7I4Q7mX
2016-04-20 21:28:34 -07:00
L. David Baron
9b3e98ff35 Bug 1053986 - Rename nsIFrame::GetClientRect to GetXULClientRect. r=dholbert
This is a manual subset of changes written with sed, over .h and .cpp
files in layout/.

MozReview-Commit-ID: 2F7Bt3i4ogu
2016-04-20 21:28:33 -07:00
L. David Baron
e857dc05f7 Bug 1053986 - Rename nsIFrame::SetLayoutManager to SetXULLayoutManager. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: FuOaNWfROKV
2016-04-20 21:28:33 -07:00
L. David Baron
a18df38599 Bug 1053986 - Rename nsIFrame::GetMargin to GetXULMargin. r=dholbert
This is a manual subset of changes written with sed, over .h and .cpp
files in layout/.

MozReview-Commit-ID: GqAa9wyb8z3
2016-04-20 21:28:33 -07:00
L. David Baron
5d30ee8dc8 Bug 1053986 - Rename nsIFrame::GetPadding to GetXULPadding. r=dholbert
This is a manual subset of changes written with sed, over .h and .cpp
files in layout/.

MozReview-Commit-ID: ENHslSI6hch
2016-04-20 21:28:33 -07:00
L. David Baron
e8c729768f Bug 1053986 - Rename nsIFrame::GetBorderAndPadding to GetXULBorderAndPadding. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: A8rWLW213Uo
2016-04-20 21:28:32 -07:00
L. David Baron
3d0dc454a5 Bug 1053986 - Rename nsIFrame::Layout to XULLayout, and related methods with the same name. r=dholbert
This is a manual subset of changes written with sed, over .h and .cpp
files in layout/.

MozReview-Commit-ID: 9NNnNw6ClGq
2016-04-20 21:28:32 -07:00
L. David Baron
633e18a890 Bug 1053986 - Rename nsIFrame::IsCollapsed to IsXULCollapsed, and related methods. r=dholbert
This is a manual subset of changes written with sed, over .h and .cpp
files in layout/.  It's a subset because there is also a Selection
method called IsCollapsed, which is not changed here.

MozReview-Commit-ID: 9JgnPv0Hkff
2016-04-20 21:28:32 -07:00
L. David Baron
4754370cbd Bug 1053986 - Rename nsIFrame::GetBoxAscent to GetXULBoxAscent. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: EDkbMQKqPg6
2016-04-20 21:28:32 -07:00
L. David Baron
72e04ee41a Bug 1053986 - Rename nsIFrame::GetMinSizeForScrollArea to GetXULMinSizeForScrollArea. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: EkHfWG4QQrE
2016-04-20 21:28:31 -07:00
L. David Baron
c760cfbbb8 Bug 1053986 - Rename nsIFrame::GetMaxSize to GetXULMaxSize, and related methods. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: 39fYXMz7kqR
2016-04-20 21:28:31 -07:00
L. David Baron
87a69b43fb Bug 1053986 - Rename nsIFrame::GetPrefSize to GetXULPrefSize, and related methods. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: yvcAZ8rndu
2016-04-20 21:28:31 -07:00
L. David Baron
814003bbcc Bug 1053986 - Rename nsIFrame::GetMinSize to GetXULMinSize, and related methods. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

MozReview-Commit-ID: Jhe3o3kIOe0
2016-04-20 21:28:31 -07:00
L. David Baron
376413eeb5 Bug 1053986 - Rename nsIFrame::IsBoxFrame to IsXULBoxFrame. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

But with additional manual changes in accessible/.

MozReview-Commit-ID: W0wUPoQsVH
2016-04-20 21:28:30 -07:00
Kartikaya Gupta
135ff848c6 Bug 1256727 - Back out the functional parts of cset 59a1ca7d784c now that we have a better fix using empty transactions. r=me
MozReview-Commit-ID: 7RmSyu9k64T
2016-04-18 17:21:17 -04:00
Kartikaya Gupta
51255cfde4 Bug 1263347 - When checking if displayport changes should schedule a paint, make sure to use the proper displayport. r=mstange
MozReview-Commit-ID: IVcNSbEiESa

--HG--
extra : rebase_source : 3bfc8926b8059ea74bcb3e77d3f25c5800d0e71a
2016-04-18 17:00:52 -04:00
Markus Stange
789850e1f0 Back out bug 1164227, because bug 1236043 fixes the original problem in a better way.
MozReview-Commit-ID: F4bD1MvOWDR

--HG--
extra : rebase_source : 43a53b31eea4f945b2cca647514e073603d44e75
2016-03-28 18:37:07 -04:00
Kartikaya Gupta
a333c6e537 Bug 1257641 - Use empty transactions to carry scroll offset updates to APZ that don't require a repaint. r=mattwoodrow,mstange,botond
MozReview-Commit-ID: KNeGSKldmp7
2016-04-13 10:21:13 -04:00
Jonathan Watt
9480920b04 Bug 1263785 - Kill off the deprecated nsINode::GetCurrentDoc. r=baku 2016-03-31 12:46:32 +01:00
Botond Ballo
868bc3704a Bug 1259296 - Do not scroll snap on the main thread for wheel events handled by APZ. r=kats
MozReview-Commit-ID: DudrJuO4pFM

--HG--
extra : source : a9468a25f1b937c49c5f801069d2cdc2cd610bdd
extra : histedit_source : 18d04bcb32288c7713a162f0ee33650f6f10926f
2016-04-04 17:46:12 -04:00
Kartikaya Gupta
fa1dfb6fc1 Bug 1262151 - Back out bug 1259593 for causing worse checkerboarding in some cases. r=backout 2016-04-05 10:28:28 -04:00
Botond Ballo
5753e3da83 Bug 1259301 - Remove GeckoContentController::RequestFlingSnap(). r=kats
MozReview-Commit-ID: DRntzo1hohv

--HG--
extra : rebase_source : 5e9c5c43202fb48c5cad5ab95b05fd0bc1be021e
2016-03-30 21:11:00 -04:00
Botond Ballo
c2325214db Bug 1219296 - Factor out the algorithm that computes a scroll snap destination into a reusable form. r=kats
MozReview-Commit-ID: KyU67pXEJus

--HG--
extra : rebase_source : c1dfbe948dd8d98e549612287ca48e507adf5aee
2016-03-21 21:32:28 -04:00
Botond Ballo
4690842281 Bug 1219296 - Factor out scroll snap information into a form that's usable by the compositor. r=kats
MozReview-Commit-ID: DTvu7UsKsBg

--HG--
extra : rebase_source : 71831d884d128bc9e50aac55c7a8302f7ffe74f8
2016-03-18 20:07:27 -04:00
Botond Ballo
a74ec8c79b Bug 1219296 - Split fields not needed for repaints out from FrameMetrics. r=kats
MozReview-Commit-ID: DymHOSI6yYK

--HG--
extra : rebase_source : 1996bcb7f005c02b94031fe1c73d5136814b0296
2016-03-28 19:14:52 -04:00
Kartikaya Gupta
10461a4696 Bug 1259593 - Trim the displayport base rect to the size of the transformed root composition bounds, but without doing an intersection. r=tnikkel
MozReview-Commit-ID: G1CeplN7Mks
2016-03-31 23:51:38 -04:00
Masayuki Nakano
b085de0c5a Bug 1259671 part.5 Rename InternalScrollPortEvent::orient to InternalScrollPortEvent::mOrient r=smaug
MozReview-Commit-ID: HHWPSAeeaPr

--HG--
extra : rebase_source : 3d2dccb0e0e3d4bddcd34086c8f6f2906ba01177
2016-03-30 17:48:23 +09:00
Masayuki Nakano
cc3e2af5cc Bug 1259671 part.4 Rename InternalScrollPortEvent::both to InternalScrollPortEvent::eBoth r=smaug
MozReview-Commit-ID: HL5phKZVYin

--HG--
extra : rebase_source : 7c9f6e870a94e9a028d4a13eac523bfcbf9bdf15
2016-03-30 17:39:56 +09:00
Masayuki Nakano
fe377694e5 Bug 1259671 part.3 Rename InternalScrollPortEvent::horizontal to InternalScrollPortEvent::eHorizontal r=smaug
MozReview-Commit-ID: JkT44G2FpUH

--HG--
extra : rebase_source : 316342c1ab53a4994dba371d49b12406b7b97a03
2016-03-30 17:33:16 +09:00
Masayuki Nakano
76133ed4d3 Bug 1259671 part.2 Rename InternalScrollPortEvent::vertical to InternalScrollPortEvent::eVertical r=smaug
MozReview-Commit-ID: 6OxTYqgZVUD

--HG--
extra : rebase_source : 0803047d4c397622bf783a69653e87378a88824c
2016-03-30 17:24:57 +09:00
Masayuki Nakano
12eb436dc2 Bug 1259671 part.1 Rename InternalScrollPortEvent::orientType to InternalScrollPortEvent::OrientType r=smaug
MozReview-Commit-ID: 4EmyQoIKdDy

--HG--
extra : rebase_source : 91065be4b6d9ce69455e696a2f1a7600a7ec8099
2016-03-30 17:16:01 +09:00
Seth Fowler
5973113f1b Bug 1157546 - Replace the image visibility API with a more general API that tracks visibility for any kind of frame. r=mstange 2016-03-25 14:49:43 -07:00
Benoit Girard
4e40cd1d1a Bug 1259235 - Add IsScrollFrameWithSnapping to speed up event regions. r=mstange
MozReview-Commit-ID: KdWCkXHjHzZ

--HG--
extra : rebase_source : ca15390be1d003c50e41ef89f40f5e7f543e8676
2016-03-23 17:16:38 -04:00
Xidorn Quan
60bcaa5c0b Bug 1257121 part 4 - Use return value rather than out param to return font metrics. r=jfkthame
MozReview-Commit-ID: 6xrHYbgHGVd

--HG--
extra : rebase_source : 4d0cea24689588d8a1daa1869502e31ac7c3dc56
2016-03-17 13:55:48 +08:00
Xidorn Quan
8acf32453c Bug 1257121 part 3 - Add GetInflatedFontMetricsForFrame function to simplify a common use pattern. r=jfkthame
MozReview-Commit-ID: 4KMLCz6wQHQ

--HG--
extra : rebase_source : 08964aef3b335163985dd6818b4a6ae3a4e34fce
2016-03-17 12:07:47 +08:00
Robert O'Callahan
be8e355f36 Bug 1242172. Invalidate intrinsic ISizes that depend on viewport BSize when the viewport is resized. r=dbaron
MozReview-Commit-ID: INEHo7ghGyz
2016-02-29 18:49:34 +13:00
Kartikaya Gupta
8f157afb9e Bug 1256727 - Don't allow paint-skipping on pages with scroll-linked effects. r=mstange
MozReview-Commit-ID: I05EXDWOt6b
2016-03-17 15:43:17 -04:00
Kartikaya Gupta
531a753e23 Bug 1255856 - Don't allow paint-skipping if there are windowed plugins on the page. r=mstange,jimm
MozReview-Commit-ID: BzQcUrSqCr5
2016-03-15 15:12:11 -04:00
Kartikaya Gupta
b809d22d38 Bug 1255705 - Add some useful logging that can be enabled at compile time. r=botond
MozReview-Commit-ID: KgjQMlY09Mn
2016-03-11 17:42:49 -05:00
Kartikaya Gupta
a8f43cb473 Bug 1253860 - Don't update the scrollbar unless we're actually painting. r=mstange
MozReview-Commit-ID: 3JIcp2NFwRn
2016-03-09 22:57:15 -05:00
Kartikaya Gupta
2c7a5f6eaf Bug 1253860 - Skip paints for main thread scrolls if we can ask APZ to handle the scrolling for us. r=mstange
MozReview-Commit-ID: LqugzganLru
2016-03-09 22:57:15 -05:00
Kartikaya Gupta
0415065a38 Bug 1253860 - Add a flag on scroll frames indicating if they have an APZ counterpart. r=mstange
MozReview-Commit-ID: EEmdmjrbG3O
2016-03-09 22:57:14 -05:00
Kartikaya Gupta
b107477fd5 Bug 1254263 - Add a flag to allow disabling paint-skipping. r=mstange
MozReview-Commit-ID: 4bgvqEZcSWy

--HG--
extra : rebase_source : 3aafaffa34b9e7afba81bbec52793eedb8f425ac
2016-03-07 16:25:00 -05:00
Jim Mathies
e1dc9da3f2 Bug 1232181 - Notify plugins about scroll state. r=roc 2016-03-01 12:48:26 -06:00
Botond Ballo
cb9e347c28 Bug 1250550 - Ensure a scroll event posted during a refresh driver tick fires during that same tick. r=mats
MozReview-Commit-ID: 1ZvYjA6a5ay
2016-02-24 18:20:40 -05:00
Kartikaya Gupta
d9094aa96a Back out cset 447498cdecee for landing the wrong patch (it was obsoleted by a new one).
MozReview-Commit-ID: HOLKux4OtCQ
2016-03-01 09:38:55 -05:00
Botond Ballo
5b55c16a8a Bug 1250550 - Ensure a scroll event posted during a refresh driver tick fires during that same tick. r=mats
MozReview-Commit-ID: 1ZvYjA6a5ay
2016-02-24 18:20:40 -05:00
Jamie Nicol
609f6141ab Bug 1247098 - Take document resolution into account when computing root composition bounds for displayport base. r=tnikkel
nsLayoutUtils::CalculateCompositionSizeForFrame() is not affected by the
document resolution when called for the root content document's root
scroll frame. When determining the root composition bounds in order to
calculate a displayport base, if the frame used is the RCD-RSF we must
be sure to scale the bounds ourselves by the document resolution.

MozReview-Commit-ID: ATctmEYvWIJ

--HG--
extra : rebase_source : ba96e7ecc2cefdbeacb08fbd3f5817819dd933c8
2016-02-24 15:30:10 +00:00
Kartikaya Gupta
bbc14f488b Bug 1243267 - Guard against reentrancy into the dispatch of a scroll event. r=mats
MozReview-Commit-ID: 5saxPwxOuc8
2016-02-22 14:14:20 -05:00
Jamie Nicol
7a3d99d8ca Bug 1246443 - Only restrict displayport base to root composition bounds if content has displayport; r=tnikkel
Bug 1241917 made it so that a subframe's displayport base is restricted
to the root composition bounds (in addition to its previous
restrictions). This involved an expensive coordinate transformation
causing a scrolling performance regression.

This avoids restricting the displayport base to the root composition
bounds unless the frame has a display port, avoiding the expensive
computation unless necessary.

MozReview-Commit-ID: FVacUscAfu2

--HG--
extra : transplant_source : %F9%E9%19%06/%9C%EA%8C%D1%D5%BD%ED%26C%97y%15%92%7E%CB
2016-02-09 13:53:27 +00:00
Timothy Nikkel
43cf2abd48 Bug 1246443. Don't make nsLayoutUtils::MaybeCreateDisplayPort also set the displayport base anymore. r=botond
It's not obvious that it does this (unless you read the comment or the code), and we don't gain much by doing it.

Also we need to split it up for the next patch in this bug.
2016-02-12 16:58:34 -06:00
Kartikaya Gupta
2970550b4e Bug 1245925 - Don't allow expiring the displayport on root scrollframes. r=tnikkel
MozReview-Commit-ID: 8LGsk9uKyL5

--HG--
extra : rebase_source : 9edf7c6a4ce795da670f1ad06c8f86f9f05e4850
2016-02-10 17:11:28 -05:00
Kartikaya Gupta
7c935ef5ba Bug 1235899 - Don't allow frame reconstruction to clobber the APZ scroll offset. r=botond
MozReview-Commit-ID: HZMavMJNtmq
2016-02-10 16:31:20 -05:00
Kartikaya Gupta
b8b52c6f30 Bug 1104356 - When doing a smooth scroll on a non-APZ'd scrollframe, fall back to the main thread machinery. r=kip
--HG--
extra : commitid : K1IT8lsDmNl
2016-02-05 17:09:30 -05:00
Jamie Nicol
d412b3daee Bug 1241917 - Restrict subframe's displayport base to root composition bounds. r=tn
Previously displayport bases were computed as the intersection of the
scrollport with the dirtyrect. However the dirtyrect covers what is
rendered, and with displayports what we render can be much larger than
what is visible. With displayport bases intended to represent what was
visible, this was a problem. By restricting them to the root composition
size this makes them more closely match what is visible. To do this more
properly we'd want to intersect the dirtyrect with the scroll clip of
every ancestor scroll frame, not just the root composition bounds.
2016-02-04 17:53:56 +00:00
Kartikaya Gupta
866dc20488 Bug 990916 - On displayport expiry, trigger another round of expiry up the ancestor chain. r=tnikkel
--HG--
extra : commitid : 4BykN0L0DC3
2016-02-03 19:13:35 -05:00
Kartikaya Gupta
e7dd4d9941 Bug 990916 - When setting a displayport, schedule a timer to remove it as well. r=tnikkel
--HG--
extra : commitid : 4u7JlPJLoFT
2016-02-03 19:13:35 -05:00
Kartikaya Gupta
34bce5bee6 Bug 990916 - Track if a scrollframe is a scroll parent for something else. r=tnikkel
--HG--
extra : commitid : KW9mVVtZikZ
2016-02-03 19:13:35 -05:00
Birunthan Mohanathas
d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Jim Mathies
7adc2da448 Bug 1243413 - Avoid hiding windowed plugins that aren't contained within the active scroll frame. r=roc 2016-02-01 16:50:57 -06:00
Phil Ringnalda
d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Kyle Huey
91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Ting-Yu Lin
2d02ad0652 Bug 1227927 Part 3 - Use ranged-based for-loop to rewrite some simple loops in part 2. r=mats
--HG--
extra : commitid : CcdpGdlMNIk
extra : rebase_source : 9c184cb8107bf6276c237d03d240f8755fd61553
2016-01-29 22:42:15 +08:00
Ting-Yu Lin
1889f6bc41 Bug 1227927 Part 2 - Remove nsIFrame::GetFirstPrincipalChild(). r=mats
--HG--
extra : commitid : 5qtaK1nS8RC
extra : rebase_source : dcc98f423b2446269beb6fa6a9d092ae8213f38e
2016-01-29 22:42:14 +08:00
CJKu
2d363d1b79 Bug 686281 - Implement nsStyleImageLayers; r=dbaron 2016-01-28 06:24:00 +01:00
Xidorn Quan
ab931a1326 Bug 1064843 part 5 - Ensure frames behave properly for unknown child list id passed into SetInitialChildList. r=dholbert
Note that nsMathMLContainerFrame and its subclasses are unchanged since
they are not target of fullscreen (and thus no backdrop frame), and they
have an assertion to ensure we really don't pass any unexpected list in.

--HG--
extra : source : a1f7ff18a69cc116120de33f14ae62f576a4b55a
2016-01-28 10:11:00 +11:00
Timothy Nikkel
6a8edbd624 Bug 1241371. Don't schedule an image visibility update every time display port margins change. r=kats
Displayport margins change by small amounts on almost every single scroll. We do not want to update image visibility nearly that often.

As the comment, and the original bug (bug 1169881) suggest this is only meant to catch rather large changes in display ports as we already have means to trigger an image visibility update via a scroll position change and via any style or layout flush.
2016-01-22 00:29:17 -06:00
Timothy Nikkel
aefbcd85cf Bug 1241371. Properly update mLastUpdateImagesPos on scrollframes when the image visibility pass encounters them. r=mats
This is a regression from bug 1002992 where we switch from the display list builder to the frame tree walker and didn't update mLastUpdateImagesPos in the frame walker.
2016-01-21 19:09:04 -06:00
Jim Mathies
1c7a623149 Bug 1193055 - Update windowed plugin visibility in response to apz scroll in the chrome process vs. relying on a full round trip through content. Reduces lag in windowed plugin updates. r=kats 2016-01-12 11:05:58 -06:00
Markus Stange
e4faa1ebf0 Bug 1234877 - Whether a scroll frame is async scrollable is determined by mWillBuildScrollableLayer, not by usingDisplayPort. r=tn
--HG--
extra : commitid : 9ul1tbIgGhP
extra : rebase_source : 62ed845a0f577c1e6b5d72e36dc7f9e9beeb0e91
2016-01-10 14:25:10 +01:00
Markus Stange
901b7c53e8 Bug 1236040 - When updating the scroll position, only schedule image visibility checks if the display port has changed. r=tn
--HG--
extra : commitid : Hir2YBOuC1J
extra : rebase_source : 6c8d9df502979615e9f72a47b035b15d17f9c518
2015-12-31 00:04:18 +01:00
David Anderson
74d965910c Fix crash trying to allocate textures for oversize scrollbars. (bug 1214261, r=mstange) 2015-12-17 11:13:45 -08:00
Timothy Nikkel
4ec53b3bfa Bug 1234725. Don't change the dirty rect to the display port when building display lists for documents. r=mstange
Instead do it when we first encounter the root scroll frame.

Doing this goes back to bug 635053, where we did it because fixed position items weren't getting included. However in bug 974643 we learned that this was wrong. Displayports aren't relevant to fixed pos content, displayports are only relevant to scrolled content. And we set the dirty rects of fixed pos content specially. The only other thing that should be affected is scrollbars, and we already carefully set their dirty rects too.
2016-01-09 00:25:58 -06:00
Timothy Nikkel
6a24899c5f Bug 1194851. Change the GetDisplayPort API to take an optional RelativeTo parameter, instead of having that expressed in the function name. r=botond 2016-01-07 18:27:49 -06:00
Timothy Nikkel
4e74899f7a Bug 1194851. Rename GetDisplayPortRelativeToScrollPort back to GetDisplayPort. r=botond 2016-01-07 18:27:49 -06:00
Timothy Nikkel
3c7c901321 Bug 1194851. Split GetDisplayPort callers into GetDisplayPortRelativeToScrollPort and GetDisplayPortRelativeToScrollFrame. r=botond
Temporarily rename GetDisplayPort to GetDisplayPortRelativeToScrollPort for the duration of this patchset.

This means that every caller of GetDisplayPort is guaranteed to be touched by this patchset (assuming it compiles), and thus each call site can be checked in review to make sure it is relative to the correct coordinate system.
2016-01-07 18:27:49 -06:00
Timothy Nikkel
f06c43de07 Bug 1194851. Always store the displayport base relative to the scrollport (not the scroll frame). r=botond
This also has the side effect of making the computation that takes place in GetDisplayPortFromMarginsData happen relative to the scrollport. As opposed to some things relative to the scroll port, and some things relative to the scroll frame.
2016-01-07 18:27:49 -06:00
Timothy Nikkel
f42493831a Bug 1194851. Change GetOrMaybeCreateDisplayPort into just MaybeCreateDisplayPort, and make it only return a bool, and not the displayport rect. r=botond
This makes the one caller that needs the displayport rect have to ask for it seperately.

The reason for this is later in the patch series we need to add "RelativeToScrollFrame/Port" to all displayport getters, but there is no semantically good way to do that to the name GetOrMaybeCreateDisplayPort.
2016-01-07 18:27:48 -06:00
Botond Ballo
b9aee9ebb5 Bug 1194851 - Add helper functions HasDisplayPort() and HasCriticalDisplayPort(). r=kats
This makes it clearer whether we're just checking if a displayport exists,
or we're actually consuming its value.

--HG--
extra : source : 70bb222e860669a6cf6e803dbd57f088ca4fbc04
2015-12-16 17:22:23 -05:00
Markus Stange
b22db3eab2 Bug 1147673 - Make display items know about their scroll clips. r=tn, r=roc
--HG--
extra : commitid : 1j8QG2b0rIG
extra : rebase_source : 027065697e7e0ef445d8bcf7a81cf0270dcf7b8b
2015-12-22 16:54:19 +01:00
Markus Stange
30bf0a5627 Bug 1147673 - Use ancestor clip for root scrollable framemetrics clips. r=tn
--HG--
extra : commitid : Do9D8ZPMoLv
extra : rebase_source : 558a5311c4f2bceaf301a6c0c5e1233effdc2bd4
2015-11-05 17:54:44 +01:00
Kartikaya Gupta
4a4a0bcf45 Bug 1234242 - Keep a RefPtr to the refresh driver to unregister the ScrollEvent, rather than relying on a chain of pointers remaining non-null. r=mstange a=KWierso
--HG--
extra : commitid : JouJUWdzJl6
2015-12-21 14:40:20 -05:00
Markus Stange
8d6e827631 Bug 1209970 - Fire scroll events early in the refresh tick. r=mats
With APZ we want to be firing scroll events to content more consistently, so
we tie them to the refresh driver tick rather than firing them on paint or
haphazardly on the next spin of the event loop.

Patch by Markus Stange, test fixes by Kartikaya Gupta

--HG--
extra : commitid : 7nnkRC8afAJ
2015-12-17 17:19:30 -05:00
Avi Halachmi
9b56ccfb99 Bug 1228147: part 2: Add telemetry probe for synchronous scroll. r=kats 2015-12-16 20:06:40 +02:00
Wes Kocher
0f6a2a587a Backed out 2 changesets (bug 1228147) for build failures in histogram.h on a CLOSED TREE
Backed out changeset 35b4ba91e093 (bug 1228147)
Backed out changeset 8a2f45c8d25d (bug 1228147)

--HG--
extra : commitid : Atv8AVyyd9h
2015-12-16 09:27:37 -08:00
Avi Halachmi
7762c6b58a Bug 1228147: part 2: Add telemetry probe for synchronous scroll. r=kats 2015-12-16 17:18:45 +02:00
Kartikaya Gupta
edc45db293 Bug 1232048 - Fix breakage in scroll snapping when snapping twice in a row to the same thing with non-smooth-scrolls in between. r=botond
--HG--
extra : commitid : HOoM79IZd2u
2015-12-16 10:42:49 -05:00
Carsten "Tomcat" Book
66e5f0c4ab Backed out changeset 04b102bec363 (bug 1147673) 2015-12-16 11:52:39 +01:00
Carsten "Tomcat" Book
27bbe6ec93 Backed out changeset 68b33692bed3 (bug 1147673) 2015-12-16 11:52:37 +01:00
Markus Stange
bf668586d7 Bug 1147673 - Make display items know about their scroll clips. r=tn, r=roc
--HG--
extra : commitid : 7KbOQKKSVq5
extra : rebase_source : d23daf86ed8d375bd5ab3ed7dfe3cff80bc0ff4c
extra : histedit_source : cce4ded91f0672142796a852d20d052e7b6247ce
2015-12-12 10:58:37 -05:00
Markus Stange
9079fbe047 Bug 1147673 - Use ancestor clip for root scrollable framemetrics clips. r=tn
--HG--
extra : commitid : 8i9bmvj9S6Y
extra : rebase_source : 6316afb1c7967fd944281f0686b2c6ba7379606f
extra : histedit_source : 1289a445613a59b213b79396a60076ebc4e83beb
2015-11-05 17:54:44 +01:00
Kartikaya Gupta
0dcf99f8a4 Bug 1229052 - Log a warning when we detect a scroll-linked effect based on the scroll event. r=roc 2015-12-14 14:47:24 -05:00
Kartikaya Gupta
6b0c32286a Back out 5 csets from bug 1229052 on a CLOSED TREE for failing to fix the nonunified build error even after many attempts. r=backout 2015-12-14 15:52:31 -05:00
Kartikaya Gupta
fcb193563c Bug 1229052 - Log a warning when we detect a scroll-linked effect based on the scroll event. r=roc 2015-12-14 14:47:24 -05:00
Kartikaya Gupta
6c7c3b6adf Bug 1228407 - Avoid a scenario where content floods APZ with smooth-scroll requests and blocks it from syncing a new scroll offset back to the main thread. r=botond
--HG--
extra : commitid : 6YhRu80eZzC
2015-12-09 10:13:34 -05:00
Kartikaya Gupta
9491a614c4 Back out three patches from bug 1228407 on a CLOSED TREE for causing various mochitest failures. r=backout
--HG--
extra : commitid : 7gaWjh5Noye
2015-12-08 21:00:30 -05:00
Kartikaya Gupta
56e9023bca Bug 1228407 - Avoid a scenario where content floods APZ with smooth-scroll requests and blocks it from syncing a new scroll offset back to the main thread. r=botond
--HG--
extra : commitid : LdMBKbQQw7V
2015-12-08 14:56:26 -05:00
Kartikaya Gupta
0f7fe3417c Bug 1156392 - Remove an ifdef condition that we don't need any more. r=tn 2015-12-01 22:21:42 -05:00
Kartikaya Gupta
fe65090c97 Bug 1228357 - When saving/restoring a scrollframe's state, only save/restore resolution for the root scrollframe. r=roc 2015-11-26 21:25:53 -05:00
Ting-Yu Lin
79afc81f6e Bug 1226875 - Remove nsIFrame::GetFirstChild(). r=mats
--HG--
extra : commitid : J8NTL74JosY
extra : rebase_source : 50a196905ac06d09fea17bb1aa17efe821cc7cbb
2015-11-26 17:12:39 +08:00
Nicholas Nethercote
52b3d826da Bug 1225007 (part 1, attempt 3) - Use LayoutDevicePixel more in Cocoa widget code. r=kats.
--HG--
extra : rebase_source : e4b3bb36c18822557f7724a58979eddd9d8cac62
2015-11-19 14:10:38 +11:00
Kartikaya Gupta
c460ebbd06 Bug 1226872 - Stop keeping a copy of the resolution in the root scrollframe. r=roc
The only reason we had this in the scrollframe at all was so that it could be
saved/restored as part of the frame state when leaving a page and then going
back to it. However we can accomplish this by just reading/writing the resolution
from/to the presshell instead, so there's no need to keep a second copy of it.

--HG--
extra : commitid : J4QBfG2GGjn
2015-11-23 09:14:15 -05:00
Phil Ringnalda
87802cdbad Backed out 2 changesets (bug 1225007) for frequent OS X "Shouldn't return empty rect" assertion failures, a=backout
Backed out changeset c5b352c74b35 (bug 1225007)
Backed out changeset 8a513c70ce7c (bug 1225007)
2015-11-19 20:55:26 -08:00
Nicholas Nethercote
ce671f3678 Bug 1225007 (part 1, attempt 2) - Use LayoutDevicePixel more in Cocoa widget code. r=kats.
--HG--
extra : rebase_source : ea132cb4a6eda3553682114f3a1a280acfaf0aa3
2015-11-19 14:10:38 +11:00
Nicholas Nethercote
26b0d282a5 Backout 52ba24123046 and 66768d6a50fa (bug 1225007) for causing lots of test assertions on Mac. CLOSED TREE 2015-11-17 17:02:39 -08:00
Nicholas Nethercote
eb12a384c0 Bug 1225007 (part 1) - Use LayoutDevicePixel more in Cocoa widget code. r=kats.
--HG--
extra : rebase_source : ad3466d05e476ebf65affdde3fca52494e1327cb
2015-11-15 21:37:52 -08: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
Mats Palmgren
eb154663cc Bug 1092626 - Don't try to restore the scroll position if the frame is still dirty or has dirty children. r=roc 2015-11-11 11:33:34 +01:00
Timothy Nikkel
cf2a0eeaa4 Bug 1220114. Part 2. If a scroll frame is forced to layerize because of an active descendant scroll frame then set a displayport on the ancestor scroll frame so that next paint we don't have to force layerization after the fact and we can do a fully proper paint. r=mstange 2015-11-06 17:32:03 -06:00
Timothy Nikkel
0570e20dc3 Bug 1220114. Part 1. Change ScrollFrameHelper::DecideScrollableLayer to recompute the current animated geometry root any time mWillBuildScrollableLayer changes in addition to when usingDisplayPort changes. r=mstange
Changes in either one can result in AGRs being created or removed (although nothing removes them at this point in time).
2015-11-06 17:32:03 -06:00
Timothy Nikkel
ae9c7ca837 Bug 1208780. Set a zero-margin displayport on all scrollable ancestors of frames with displayports if they don't already have a displayport. r=botond 2015-11-05 18:57:17 -06:00
Markus Stange
ef4655be32 Bug 1201330 - Keep scroll handler induced layer activity active until the scroll frame becomes inactive. r=roc
--HG--
extra : commitid : K9ntCNQz1Fx
extra : rebase_source : ed8a567f22626d7074bbc58eb5e61baa251fe2c3
2015-10-30 16:28:53 +01:00
Birunthan Mohanathas
9985829ecc Bug 1219392 - Capitalize mozilla::unused to avoid conflicts. r=froydnj 2015-11-02 07:53:26 +02:00
Timothy Nikkel
ab02b09009 Bug 1220020. Recompute the current animated geometry root when a child scroll frame forces us to be layerized, and therefore turns us into an animated geometry root. r=mstange 2015-11-01 11:45:40 -06:00
Carsten "Tomcat" Book
2fe6ba353f Backed out changeset d5d68c0258f3 (bug 1201330)
--HG--
extra : rebase_source : 2b98ebd0dd0ccd247b50e4b45210137622ef4441
2015-10-30 14:44:06 +01:00
Markus Stange
09bf18ccd8 Bug 1201330 - Keep scroll handler induced layer activity active until the scroll frame becomes inactive. r=roc
--HG--
extra : commitid : AV1sQewWYHl
extra : rebase_source : ef132043f3af460c1aabc531faa06752d4c9c2df
2015-10-27 17:18:03 +01:00
David Anderson
fb84bcaa55 Fix scrollbars on subframes not directing APZ events to the correct scrollframe. (bug 1213324, r=tn) 2015-10-20 02:39:34 -07:00
Jim Mathies
44e333455f Bug 1214878 - When async scrolling with e10s hide windowed plugins in sub documents. r=roc 2015-10-19 10:38:42 -05:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Timothy Nikkel
96fca396cf Bug 1210578. Part 3. Create DecideScrollableLayer that encapsulates all logic to create display ports and build scrollable layers. r=mstange
For root scroll frames we need information about the async scrolling (or lack thereof) of the scroll frame before we get to ScrollFrameHelper::BuildDisplayList for the scroll frame. We need it in nsLayoutUtils::PaintFrame and nsSubdocumentFrame::BuildDisplayList. So we factor out all the code responsible for async scrolling decisions into one function we can call from all three places.
2015-10-12 15:21:49 -05:00
Timothy Nikkel
9c0e012dcb Bug 1210578. Part 2. Rename shouldBuildLayer to couldBuildLayer to better reflect it's actual meaning. r=mstange
Also remove one use of the variable that is unnecessary.
2015-10-12 15:21:49 -05:00
Timothy Nikkel
af289f8df8 Bug 1210578. Part 1. Rename mShouldBuildScrollableLayer to mWillBuildScrollableLayer to better capture the meaning of the variable. r=mstange 2015-10-12 15:21:49 -05:00
Timothy Nikkel
d566a599fe Backout part 1 of bug 1195431 (cf841511b71a). 2015-10-12 15:21:48 -05:00
Timothy Nikkel
77afdaa94b Backout part 2 of bug 1195431 (2e5d1c6a4a0c). 2015-10-12 15:21:48 -05:00
Timothy Nikkel
78defc87b3 Backout part 3 of bug 1195431 (8270ee9be504). 2015-10-12 15:21:48 -05:00
Jim Mathies
51bda23522 Bug 1137944 - Add plugin window handling for apz related notifications received by the content process. r=mstange 2015-10-06 14:23:25 -05:00
Jim Mathies
d44a5df7b4 Bug 1137944 - Add a pref to control plugin window hiding. r=roc 2015-10-06 14:23:24 -05:00
Jim Mathies
732721ad2a Bug 1137944 - Add support for hiding plugin windows during async dom scroll operations managed in the content process. r=roc 2015-10-06 14:23:24 -05:00
Arpad Borsos
4b903c54fe Bug 1208985 - Use height for scroll-snap-points-y percentage values; r=kip
The CSS scroll snapping specification defines percentages to be
`relative to same axis of the padding-box of the scroll container`,
which means that y-axis should be based no height, not width.

--HG--
extra : commitid : L2lzB2dIjJE
extra : rebase_source : d64395a53232819ccde28e1a792d4c8cab85acb8
extra : amend_source : c528d81fe5545a7804138fa1bc35a15f52dd9066
2015-09-28 14:58:56 +02:00
Kartikaya Gupta
9a349f8ba7 Bug 1195431 - Ensure that IsScrollingActive returns true even when called before mShouldBuildScrollableLayer has been set. r=tn
--HG--
extra : commitid : 8BM9220PWYz
2015-09-23 09:34:41 -04:00
Kartikaya Gupta
32169b4218 Bug 1195431 - Extract a helper function to determine if the scrollframe will build a scrollable layer. r=tn
--HG--
extra : commitid : GlTZ55eBsS9
2015-09-23 09:34:41 -04:00
Kartikaya Gupta
d674ba3676 Bug 1195431 - Extract a couple of helper functions. r=tn
--HG--
extra : commitid : FK958utOKA5
2015-09-23 09:34:41 -04:00
Nicholas Nethercote
6f036921dc Bug 1203427 (part 1) - Add nsExpirationTracker::mName. r=froydnj.
There are many sub-classes of nsExpirationTracker. In order to distinguish them
nicely in the logging of timer firings, it's necessary to manually name each
one. (This wouldn't be necessary if there was a way to stringify template
parameters, but there isn't.)

--HG--
extra : rebase_source : 89b99e9dbb2a806bd21145d04a5e023794643b61
2015-09-09 21:07:07 -07:00
Kartikaya Gupta
7bc0f3acbb Bug 1204535 - Hoist out the code to initially compute usingDisplayPort. r=tn
--HG--
extra : commitid : 8LyyOnxNH1b
2015-09-15 16:09:35 -04:00
Kartikaya Gupta
7cd016f0fd Bug 1204535 - Relocate comment to go with the line of code it's commenting. r=tn
--HG--
extra : commitid : 6jIh8on2UNr
2015-09-15 16:09:35 -04:00
Kartikaya Gupta
a6532f54a3 Bug 1204535 - Rename usingDisplayport to usingDisplayPort for consistency. r=tn
--HG--
extra : commitid : GuYgzZK6fap
2015-09-15 16:09:35 -04:00
Kartikaya Gupta
6e406c5598 Bug 1204535 - Collapse redundant conditional block. r=tn
--HG--
extra : commitid : Av7tzi4lfaR
2015-09-15 16:09:35 -04:00
Kartikaya Gupta
7d0437c4a2 Bug 1204535 - Flatten conditional structure one level. r=tn
--HG--
extra : commitid : EcyWhZBBD2N
2015-09-15 16:09:35 -04:00
Kartikaya Gupta
4944ac2606 Bug 1204535 - Remove no-op code. r=tn
--HG--
extra : commitid : drdQpuWED0
2015-09-15 16:09:35 -04:00
Matt Woodrow
6e6e6105aa Bug 1202029 - Use the containing block for determining perspective for transformed elements. r=dbaron
--HG--
extra : rebase_source : f8a1403a77e71179aca097e26567bcb3b7c1848b
2015-09-14 14:17:40 -04:00
Kartikaya Gupta
6630a65ba4 Bug 1201529 - Ensure that zoomable scrollframes return true from WantAsyncScroll(). r=botond
--HG--
extra : commitid : 29B0WVGYfId
2015-09-11 21:58:16 -04:00
Masayuki Nakano
18894de959 Bug 895274 part.217 Rename NS_SCROLLEDAREACHANGE to eScrolledAreaChanged r=smaug 2015-09-12 01:19:27 +09:00
Masayuki Nakano
93a08167ad Bug 895274 part.214 Rename NS_SCROLLPORT_UNDERFLOW to eScrollPortUnderflow r=smaug 2015-09-12 01:19:27 +09:00
Masayuki Nakano
2237026931 Bug 895274 part.213 Rename NS_SCROLLPORT_OVERFLOW to eScrollPortOverflow r=smaug 2015-09-12 01:19:27 +09:00
Markus Stange
04c661f71d Bug 1181135 - Copy DisplayItemClips in order to avoid dangling pointers. r=tn
--HG--
extra : rebase_source : 8d0a077fb38d1c19cf1ef868403c6b3a3735346e
2015-09-09 19:08:03 -04:00
Markus Stange
0eb1d7c10b Bug 1016035 - Make the threshold in AxisPhysicsMSDModel::IsFinished controllable by the caller. r=kip
--HG--
extra : commitid : 8kd91z4FD2n
extra : rebase_source : bcdf5a75c527f871d2077ca1ef2e1958eb3db4d9
2015-08-04 16:11:37 -04:00
Masayuki Nakano
2fbb0f1587 Bug 895274 part.17 Rename NS_SCROLL_EVENT to eScroll r=smaug 2015-08-29 08:58:28 +09:00
Matt Woodrow
2ab56744ea Bug 1187432 - Avoid scheduling main-thread paints for scrolls handled by apz. r=tn
--HG--
extra : rebase_source : 343dabda5a9bbbeac0c25b69d63d0a82f595b599
2015-08-07 15:37:56 -04:00
Timothy Nikkel
4e61ce38ec Bug 1189010. In ScrollFrameHelper::BuildDisplayList decide if we are building a scrollable layer before we call AppendScrollPartsTo because it needs this information. r=mstange
AppendScrollPartsTo finds or creates a scroll id for the current scroll frame if IsMaybeScrollingActive() is true (otherwise it uses the null scrollid). IsMaybeScrollingActive() looks at mShouldBuildScrollableLayer, which we compute after the first call to AppendScrollPartsTo in ScrollFrameHelper::BuildDisplayList.

This means that on the first paint with a displayport set (or even if we create a displayport is ScrollFrameHelper::BuildDisplayList) we wouldn't layerize the scroll thumb in nsSliderFrame::BuildDisplayListForChildren because it looks for the current scroll id set on the display list builder. On subsequent paints this would be corrected so it caused reftest failures.
2015-07-29 14:45:57 -05:00
Jonathan Kew
4d081f1ac4 Bug 1172450 - Size and position the dropdown arrow properly in vertical writing modes. r=smontagu 2015-07-27 16:52:12 +01:00
Robert O'Callahan
7dd9009ba5 Bug 1172239. Make vertically-resizing scrollframes reflow their percent-height descendants if necessary, and remove nsChangeHint_NeedDirtyReflow for height changes. r=bz
--HG--
extra : commitid : Hbu6gzLSBUp
extra : rebase_source : 4d0b03a0ff2e53ea262ef6c17630b450b535dc3c
2015-07-17 17:08:54 +12:00
Boris Zbarsky
1b4d68bc0c Bug 1177819. Replace the warning about anon content being passed into frame construction with an assert plus whitelisting of the known-OK cases. r=dholbert 2015-07-23 11:51:09 -04:00
Jonathan Kew
4e6c40d7ea Bug 1131451 part 1 - Replace containerWidth with containerSize in logical-coordinate classes and APIs, frame classes, etc. r=dholbert 2015-07-16 10:07:57 +01:00
Benoit Girard
31cb6e3f30 Bug 1103106 - Change will-change to be first-come, first-served. r=roc
--HG--
extra : transplant_source : %1E%93%D4%3A%9C%BD%AE%3EI%C1C%A6%E5%E6%E7E2%1C%EE%EF
2015-07-06 16:32:53 -04:00
Markus Stange
c15627a716 Bug 1178745 - Add an nsIScrollableFrame API for getting the scroll clip. r=roc
--HG--
extra : rebase_source : 8f2b62b0ce23dcfece6984d89a774a96453ecb6e
extra : histedit_source : 586e99a17ecbb86dc243568cee1ebf1d24f37717
2015-07-02 16:42:10 -04:00
Markus Stange
472ba62ba8 Bug 990974 - Treat carets in async scrolled scrollframes differently from non-caret content. r=roc
This makes those caret display items not share a layer with any other display items, and uses a different async scroll frame clip for that layer.

--HG--
extra : rebase_source : f01cd0343ea3e672b1d696a4e4e8924d070cc23d
extra : histedit_source : 14cefb8c1c9834d02a095e52e463add8a56a8625
2015-07-02 15:02:34 -04:00
Markus Stange
77820dcba1 Bug 990974 - Add a flag to ComputeFrameMetrics so that a different clip can be returned for the caret and non-caret content. r=roc
--HG--
extra : rebase_source : a00358c3191c49c21ad2ad9b1e1a8d5d47285672
extra : histedit_source : 64aafcbf2d8fa32610fe8a30c916dbbe1b4f9283
2015-07-02 13:42:34 -04:00
Markus Stange
5fef3abfd9 Bug 990974 - When using display ports, don't clip the painted contents to the content box clip. r=roc
Store the content box clip on mAncestorClip, and store a different clip for the caret on mAncestorClipForCaret.
In a future patch, those clips will be selectively applied to the right layers.

--HG--
extra : rebase_source : e87e63a7ba5e963b7e3b22b5d93dc8c473a6a905
extra : histedit_source : b0e2193cf73222e51ed641e84ccaea8001e47324
2015-07-03 14:06:15 -04:00
Markus Stange
a3ed6807fa Bug 990974 - Slightly change how the caret clip works. r=roc
Instead of looking at the caret's rect and determining whether we should clip it
to the real content box clip or not at all, we just always clip it, but to a
slightly bigger rect. In the cases that the caret was completely visible before,
it'll still be completely visible with this change. However, in the cases that we
did decide to clip before this patch, the result can be slightly different now:
Before this patch, whenever the caret was partially clipped, it was partially
clipped to the true content clip rect, but with this patch, the caret can be
partially clipped to the slightly larger clip rect.

--HG--
extra : rebase_source : 645afe6474f28a6e10abfeb63172fb480116a6f7
extra : histedit_source : 110328d864d45660335121c8cf7a5994dfea81b8
2015-07-03 14:02:09 -04:00
Markus Stange
020bfc17f8 Bug 1148582 - Include the rounded clip of the async scrolled scroll frame in its mAncestorClip.
--HG--
extra : rebase_source : 77813db37ceb9abaa3c1c28f0eb98f8425f88fc0
extra : source : aff9ea7ce4fe01d4737aa6c6c059567cdbc6ba06
2015-06-22 01:38:23 -04:00
David Anderson
55a0f8ee25 Bug 1148582 - Add mask layers to FrameMetrics for ancestor scroll frame clips. r=mattwoodrow
--HG--
extra : rebase_source : 9bf7a73b14e40972b3a5824b2f1344b7770ab789
extra : source : 745366787bcae737c0aec908554db2a3ec288908
2015-06-21 12:27:31 -04:00
Markus Stange
f1b62506d9 Back out bug 1148582 for static analysis bustage. 2015-07-01 01:20:59 -04:00
Markus Stange
3ae4a5d71f Bug 1148582 - Include the rounded clip of the async scrolled scroll frame in its mAncestorClip. 2015-06-22 01:38:23 -04:00
David Anderson
c29b4c6dfa Bug 1148582 - Add mask layers to FrameMetrics for ancestor scroll frame clips. r=mattwoodrow 2015-06-21 12:27:31 -04:00
Daniel Holbert
cb57b1ad8c Bug 1177925: Use range-based "for" loops for nsFrameList iteration, in various places in layout. r=tn 2015-06-29 13:02:21 -07:00
Jonathan Kew
a3380043e5 Bug 1174507 - Replace the frame flag CONTAINS_RELATIVE_HEIGHT with CONTAINS_RELATIVE_BSIZE, and adjust callsites appropriately. r=dholbert 2015-06-18 07:33:50 +01:00
Botond Ballo
4958aa7c1b Bug 1158424 - Rename FrameMetrics::mIsRoot to mIsRootContent. r=kats
--HG--
extra : rebase_source : a082680d842dd182d899f637200ce911cc3c480d
extra : source : 8b67f0b8dc96cebe9a58356708b23bebd8532134
2015-06-08 16:01:26 -04:00
Simon Montagu
37f044b028 Bug 1113206: Make nsComboboxControlFrame and nsListControlFrame use logical coordinates and support vertical writing modes - patch by smontagu with additions by jfkthame. r=jfkthame,smontagu 2015-02-08 07:31:14 -08:00
Simon Montagu
7f1b0db94c Bug 1147834: Use abstract coordinates in nsHTMLReflowState, r=jfkthame 2015-06-04 03:43:02 -07:00
David Anderson
b2eb29a9c5 Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-06-04 16:51:10 -04:00
David Anderson
e11be639dd Fix asynchronously scrolling containerful subframes. (bug 1148582 part 6.1, r=tn) 2015-06-02 16:34:46 -07:00
David Anderson
c96b4e0bcd Use the correct scrollframe clips with nested scrollframes in APZ. (bug 1148582 part 6, r=botond) 2015-06-02 16:34:33 -07:00
Timothy Nikkel
9cbd0f1920 Bug 1148582. Part 3 follow up. Properly test if a scroll frame uses async scrolling when determining if it needs its clip put on its layer. r=mstange
Android (without APZ) only uses async scrolling on the root scroll frame of the root content doc.
2015-05-31 17:28:44 -05:00
Markus Stange
bd011ed848 Bug 1164227 - Don't allow invalid region simplification to invalidate unchanged scrolled contents. r=roc
--HG--
extra : amend_source : 54ccbcac64986195c060e3fddd835dd5c01b66eb
2015-05-28 17:39:34 -04:00
Wes Kocher
9bd0348fb3 Backed out changeset 93943a21b457 (bug 1148582) for android r6 orange CLOSED TREE 2015-05-26 16:12:17 -07:00
David Anderson
ffaeec1f11 Follow-up fix to bug 1148582 part 3, r=tn.
--HG--
extra : rebase_source : 92989fa0b5207cdc435618365d60c31ddb223172
2015-05-26 14:13:03 -07:00
David Anderson
eaf5e38092 Clip async scrollframes based on the displaylist clip, not the composition bounds. (bug 1148582 part 4, r=tn) 2015-05-26 12:40:41 -07:00
David Anderson
bb8d53f35f Move the APZ scroll frame clip onto FrameMetrics. (bug 1148582 part 3, r=mstange,tn) 2015-05-26 12:40:24 -07:00
David Anderson
3397ef3b2f Don't clip in ComputeFrameMetrics if the scrollframe won't be layerized. (bug 1148582 part 2, r=tn) 2015-05-26 12:39:34 -07:00
David Anderson
e5acec7e56 Use Maybe to communicate the APZ scrollframe clip. (bug 1148582 part 1, r=mstange) 2015-05-26 12:39:29 -07:00
Simon Montagu
fe1d4e7e0d Bug 1139306: Fix margin sides for right-to-left scrollbars depending on the actual position of the scrollbar as determined by layout.scrollbar.side, r=tn 2015-05-12 01:49:25 -07:00
Timothy Nikkel
bcd55d9b6f Bug 1133905. Make layout place scrollbars at the scroll position clamping scrollport size when one is set so that scrollbars are positioned properly on b2g. r=mstange 2015-05-05 14:31:51 -05:00
Kartikaya Gupta
4851563279 Bug 1157579 - Make sure the visual scroll port size includes the area of scrollbars when used in TryLayout. r=tn 2015-05-04 10:17:26 -04:00
Markus Stange
e72a2b1b6a Bug 1147194 - Do scroll info layer hoisting when building the display list. r=tn
--HG--
extra : amend_source : 35ca22eae3b3088eaae5143af8c47177bf601800
2015-04-30 14:54:48 -04:00
Timothy Nikkel
4351a73f8e Bug 1159056. Fix typo. 2015-04-29 19:16:34 -05:00
Timothy Nikkel
b2cc193b4e Bug 1159056. Don't store a value in CSS pixels in a variable with type nscoord in ScrollFrameHelper::SetCoordAttribute. r=dholbert 2015-04-27 19:34:39 -05:00
Kartikaya Gupta
02fc2e12be Bug 1154478 - Really force-enable the event-regions code when APZ is enabled. r=tn 2015-04-22 10:16:27 -04:00
Timothy Nikkel
8ff667521d Backout 3c3337ed60a1 (bug 1139306) for causing bug 1156918. 2015-04-21 15:09:48 -05:00
Simon Montagu
bfb5cc9a66 Bug 1139306: Fix margin sides for right-to-left scrollbars depending on the actual position of the scrollbar as determined by layout.scrollbar.side, r=tn 2015-04-21 11:32:01 +03:00
Timothy Nikkel
c92044ef7a Bug 1156598. Remove old, dead scroll layer item code. r=mstange 2015-04-20 22:48:10 -05:00
Danilo Cesar Lemes de Paula
d7e8379673 Bug 1146024 - Fix up input routing for APZ on Fennec. r=kats
nsWindow::ProcessUntransformedAPZEvent is the method that
deals with APZ Input, so it should receive it's events
2015-04-20 16:16:17 -04:00
Timothy Nikkel
b027b743ae Bug 1147038. Use the correct clip for root scroll frames in root content documents. r=mstange
Normally a document would size itself to the size of it's "container". If the document is a subdocument it will use the size of the iframe. If it's a root document it will use the size of the widget it is in. Overriding the viewport breaks this link, the document is now sized to whatever size the last call to nsIDOMWindowUtils::SetCSSViewport had. Of course this would produce a weird display on screen so we use this in conjunction with setting a resolution on the document. This means that the layout viewport (the size of the root frame and also approximately mScrollPort) is different from the visual viewport (what's visible on screen). The visual viewport is the composition bounds.
2015-04-09 23:48:00 -05:00
Ryan VanderMeulen
81c2e4fd75 Backed out changeset 8882af540247 (bug 1029451) for intermittent timeouts in the newly-added test. 2015-04-06 11:22:00 -04:00
Tom Tromey
fe559bb884 Bug 1029451 - Preserve mIsSynthesizedForTests on mouse events. r=ehsan 2015-04-03 08:17:00 -04:00
David Anderson
208919a3e4 Use the main-thread key spline animation logic for Desktop APZ. (bug 1139220 part 3, r=kats,kgilbert) 2015-04-01 23:42:40 -07:00
David Anderson
0dccb5ef39 Factor the guts of AsyncScroll into a base helper class. (bug 1139220 part 2, r=kgilbert) 2015-04-01 23:17:22 -07:00
Markus Stange
6d2f0151ad Bug 1148022 - When frame metrics are attached to the container layer of the root scroll frame, make sure that its scroll frame is active. r=tn
--HG--
extra : rebase_source : bb0f77645cd023a6c4f086a54c89a3338bf4faee
2015-04-02 14:28:42 -04:00
Carsten "Tomcat" Book
daaba64d03 Backed out changeset 15b7c48af4c8 (bug 1139220) 2015-04-02 09:13:25 +02:00
Carsten "Tomcat" Book
dfac4e74d5 Backed out changeset fce26111e6f0 (bug 1139220) 2015-04-02 09:13:20 +02:00
David Anderson
13e12b0304 Use the main-thread key spline animation logic for Desktop APZ. (bug 1139220 part 3, r=kats,kgilbert)
--HG--
extra : rebase_source : 17514c0bcaf4ac61c53ab1729a5084fd55b8ee11
2015-04-01 23:42:40 -07:00
David Anderson
be29505871 Factor the guts of AsyncScroll into a base helper class. (bug 1139220 part 2, r=kgilbert)
--HG--
extra : rebase_source : 13755c2cff91efce8e10920a00e9bd36251cd886
2015-04-01 23:17:22 -07:00
Ryan VanderMeulen
c457edf9a8 Bug 1145546 - Add missing nsBidiPresUtils.h include to nsGfxScrollFrame.cpp to fix non-unified bustage. r=jfkthame 2015-03-31 10:47:49 -04:00
Mats Palmgren
25fa3a4765 Bug 1148971 - Make nsITheme::GetMinimumWidgetSize return a LayoutDeviceIntSize result instead of the unit-less nsIntSize type. r=roc 2015-03-30 11:36:14 -04:00
Carsten "Tomcat" Book
5c532881b3 Backed out changeset 513192eb7df4 (bug 1148971) for causing bc2 memory leaks 2015-03-30 15:04:09 +02:00
Mats Palmgren
2121f47090 Bug 1148971 - Make nsITheme::GetMinimumWidgetSize return a LayoutDeviceIntSize result instead of the unit-less nsIntSize type. r=roc 2015-03-30 10:37:33 +00:00
Mats Palmgren
ed9ed2d61a Bug 1148833 part 3 - Remove nsIFrame::WillReflow and add a non-virtual MarkInReflow method instead that sets NS_FRAME_IN_REFLOW. Call it at the start of Reflow(). r=roc 2015-03-29 22:38:40 +00:00
Simon Montagu
6897c5f45d Bug 1145546: take auto-direction into account in GetScrolledRect, r=jfkthame 2015-03-26 14:02:35 +02:00
Kearwood (Kip) Gilbert
d1823e40bc Bug 969250 - Part 1: Implement scroll snapping for scrollbars (v7 Patch),r=roc
--HG--
extra : source : 3ed9d5170d1386e5922df6ca06765922db08968c
2015-03-25 11:40:31 -07:00
Wes Kocher
df05ff9297 Backed out 2 changesets (bug 969250) on the other theory that it broke lots of tests, forcing a prolonged CLOSED TREE
Backed out changeset 3c1005c81e52 (bug 969250)
Backed out changeset 3ed9d5170d13 (bug 969250)
2015-03-25 14:46:47 -07:00
Kearwood (Kip) Gilbert
398a89308c Bug 969250 - Part 1: Implement scroll snapping for scrollbars (v7 Patch),r=roc 2015-03-25 11:40:31 -07:00
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Xidorn Quan
c9ec579ba2 Backout a6dbd23da598 (bug 1139283) since it is currently not needed.
--HG--
extra : source : 3acc263e7d18fc2946bd043edcf7ae865e3874fe
2015-03-20 15:12:17 +11:00
1079a8625f Bug 1120705 - Part 1: Limit scrollbar button scrolls to one page per click. r=roc
- When using the scrollbar buttons to scroll a very small scroll frame,
  it is possible to scroll more than one page.  When this occurs, we
  now scroll by a page instead to maintain context between scrolls.
- When scrolling with scrollbar buttons, the
  "toolkit.scrollbox.verticalScrollDistance" and
  "toolkit.scrollbox.horizontalScrollDistance" were swapped,
  resulting in too much scrolling when scrolling vertically and too
  little scrolling when scrolling horizontally.  This has been fixed in
  ScrollFrameHelper::ScrollByLine.
2015-03-18 14:32:00 +01:00
Botond Ballo
2eb9751320 Bug 1139675 - Simplify the APIs for getting and setting the pres shell resolution. r=mstange,mattwoodrow
--HG--
extra : rebase_source : 18444e5f9304bbf9c2c14903be6aa4ebf8a08af3
extra : source : 60fe56e752d984a8d074af1bec1dfcd40a41e5f6
2015-03-06 18:07:59 -05:00
Robert O'Callahan
c7d1538273 Bug 1125767. Centralize code into nsStylePosition::IsFixedPosContainingBlock. r=mats
Also renames IsPositioned to IsAbsPosContainingBlock.

--HG--
extra : rebase_source : b412f6291d34e30e8d57e054645bd1e04f43593f
extra : histedit_source : 01a2bd57de4eec4ecf3f3712ee609d70ca14cda4
2015-03-12 16:21:01 +13:00
Botond Ballo
d7a0e22202 Bug 1130982 - With multi-FrameMetrics on APZ platforms, do not apply clips to scroll ports of frames other than the bottom-most one on the layout side. r=kats,mattwoodrow
--HG--
extra : rebase_source : d18099d4bc77c3b98ea99f218f888a5901c5f16c
2015-02-20 19:53:08 -05:00
Carsten "Tomcat" Book
0a4da0c676 Backed out changeset fdd33ef9606e (bug 969250) for m5 test failures 2015-03-11 10:33:52 +01:00
Kearwood (Kip) Gilbert
bcb7c7d431 Bug 969250 - Part 1: Implement scroll snapping for scrollbars (v5 Patch). r=roc
--HG--
extra : rebase_source : df2b831d2cad8210b6c92122aa701fc21335ae6d
2015-03-03 17:40:00 +01:00
Xidorn Quan
d4289c7714 Bug 1139283 - Move some properties from nsStyleDisplay to nsStylePosition. r=dbaron
The moved properties are:
* clip
* transform-style
* transform-origin
* backface-visibility
* perspective
* perspective-origin
* will-change

--HG--
extra : source : 42bbf0328b450d1094250159fe9f7f0d07622290
2015-03-08 18:43:22 +11:00
dvander@alliedmods.net
2598315589 Don't try to async scroll frames that have less than one pixel of scrollability. (bug 1126090 part 7, r=kats) 2015-03-06 14:26:59 -08:00
dvander@alliedmods.net
f1c8e08cdd Don't async scroll overflowed single-line text boxes in APZ. (bug 1126090 part 6, r=botond) 2015-03-06 14:26:59 -08:00
Kearwood (Kip) Gilbert
8d1fcc4892 Bug 945584: Part 6 - Implementation of scroll snapping (v10 Patch), r=roc, r=kats
- Implemented CSS scroll snapping (http://dev.w3.org/csswg/css-snappoints/)

--HG--
extra : rebase_source : e100b6a2cbc00321d6d1083d12a99213e34d5f9d
2015-02-19 15:53:30 -08:00
Kearwood (Kip) Gilbert
5ded4eb336 Bug 945584: Part 3 - Enable cancellation of OSX synthesized mousewheel scrolling events (v2 Patch),r=roc
- Mouse wheel events synthesized by OSX for momentum scrolling can now
  be interrupted by DOM triggered and CSS scroll snapping triggered scroll
  events for consistent behavior with the scrolling and fling gestures
  in the APZC.

--HG--
extra : rebase_source : 261d1f1b03bb29f722d04e0c48b0212d1c69cd1b
2014-02-04 14:54:22 +13:00
Kearwood (Kip) Gilbert
2d11a5911a Bug 945584: Part 2 - Add CSS scroll snapping attributes to ScrollbarStyles (v10 Patch),r=mstange
- ScrollbarStyles now carries additional variables to support new
  CSS scroll snapping attributes:
  - scroll-snap-type / scroll-snap-type-x / scroll-snap-type-y
  - scroll-snap-points-x / scroll-snap-points-y
  - scroll-snap-destination
  - (scroll-snap-coordinate does not apply to the scroll container)
- Simplified the constructor and operator== for ScrollbarStyles.

--HG--
extra : rebase_source : 91377588f8ae6b00f5ec0198000251820d4d2f85
2014-02-04 14:54:22 +13:00
Kartikaya Gupta
4d07356198 Bug 1139153 - Rip out the unneeded layout.async-containerless-scrolling.enabled pref. r=tn 2015-03-05 06:04:03 -05:00
Ethan Lin
f9723b32cf Bug 1125750 - Check the overflow region direction to avoid unnecesary reflow for scrollable frame. r=dbaron
--HG--
extra : rebase_source : f95ce49ad13e9c26ad225d5135d9dd545485b6e8
2015-02-08 18:57:00 +01:00
David Anderson
0bb7465334 Inactive subframes-in-subframes add event regions to the wrong layer. (bug 1139213, r=tn)
--HG--
extra : rebase_source : c4dc2b13f0b48aa45cbdc6e6f3ed8766dd063265
2015-03-03 21:20:50 -08:00
Andrea Marchesini
3a19be88f5 Bug 1134280 - Get rid of Tag() - patch 2.7 - layout/generic - Fix all the occurrences, m=smaug, r=surkov 2015-03-03 11:09:00 +00:00
Kartikaya Gupta
53bf04f021 Bug 990907 - Add a flag on nsIScrollableFrame to indicate if it is actively being scrolled by APZ. r=tn 2015-02-25 09:32:09 -05:00
Kartikaya Gupta
53a4b66a34 Bug 1102427 - Ensure scroll parents of an active scrollframe are layerized. r=tn 2015-02-24 01:24:04 -08:00
David Anderson
a287bcbe50 Make sure XUL windows have a top-level APZC. (bug 1130645, r=roc) 2015-02-12 17:49:10 -08:00
L. David Baron
91d13e7a1d Back out changeset 6849669e696e (bug 1130645) for Android robocop failures.
The first failure in rc1 was:
TEST-UNEXPECTED-FAIL | testAxisLocking | PaintExpecter - blockUtilClear timeout
and the first failure in rc2 (API9) or rc3 (API11) was:
TEST-UNEXPECTED-FAIL | testPanCorrectness | PaintExpecter - blockUtilClear timeout
2015-02-16 18:22:56 +13:00
David Anderson
c7b2d63a3a Make sure XUL windows have a top-level APZC. (bug 1130645, r=roc) 2015-02-12 17:49:10 -08:00
David Anderson
fe18c25a8f Remove apz.subframe.enabled and assume it is always true. (bug 1128761, r=kats) 2015-02-03 15:02:04 -08:00
Kartikaya Gupta
5ce034230b Bug 1124452 - Make it work without containerless-root, too. r=tn
--HG--
extra : rebase_source : 487e678ef5fc1592326a72f279e7e7f9f32a3a71
2015-01-28 13:28:28 -05:00
David Anderson
02248cee29 Fix classic scrollbars getting occluded with containerless scrolling. (bug 1100756, r=roc)
--HG--
extra : rebase_source : fcf95ab0c435d9c29a6a3552fe05d7f1ad3bc0ec
2015-01-13 23:55:17 -08:00
Botond Ballo
9f93609fd6 Bug 1076241 - Add an API for setting a resolution on a document and scaling it by that amount. r=kats,tn 2015-01-02 20:06:14 -05:00
Ehsan Akhgari
81bc9cdcd9 Bug 1118427 - Mark virtual overridden functions as MOZ_OVERRIDE in layout; r=roc 2015-01-07 10:07:36 -05:00
Simon Montagu
1eacdee679 Bug 1079154 patch 5: convert callers of ApplyRelativePosition, ReflowChild and FinishReflowChild in layout/generic to the logical versions, r=jfkthame 2015-01-06 23:10:07 -08:00
Mats Palmgren
2e240075ec Bug 1116753 - Remove the nsIPresShell* param from remaining frame ctors that still have it. r=roc 2015-01-06 09:27:56 +00:00
Mats Palmgren
3c1a6ca818 Bug 1109571 part 3 - Implement table caption specific code for ComputeAutoSize(), GetCorrectedParent() (for getting the style parent frame) and AccessibleType(). r=roc 2014-12-26 07:21:32 +00:00
Markus Stange
9f8bb48452 Bug 1101635 - Enable tiling on 10.6. r=jrmuizel f=milan 2014-12-19 14:48:33 -05:00
David Anderson
9b99c0f6d4 Allow containerless scrolling for root scroll frames, too. (bug 1076192, r=tn)
--HG--
extra : rebase_source : 29d74a8734aabc0e583ad5e372f7b04bcc9e2b8f
2014-12-17 15:37:28 -08:00
Kartikaya Gupta
c63fb4287c Bug 1107606 - Ensure that setting a smooth scroll while APZ is enabled activates the layer. r=tn,kip 2014-12-05 00:04:39 -08:00
Mats Palmgren
bb3fbf1277 Bug 1107353 - Wallpaper a null-pointer crash in AsyncScrollCallback for now. r=kip 2014-12-04 21:26:26 +00:00
David Anderson
0965889407 Cache the current animated geometry root in nsDisplayListBuilder. (bug 1101260 part 1, r=roc) 2014-11-20 16:58:18 -08:00
David Anderson
397b1a3520 Add inactive subframes to the dispatch-to-content region. (bug 1082594, r=tn,kats) 2014-11-19 20:24:15 -08:00
Jonathan Kew
52835852c0 Bug 1093684 - part 1 - Make nsGfxScrollFrame aware of vertical writing modes. r=smontagu 2014-11-17 08:49:37 +00:00
Benoit Girard
aa2eeb8ec1 Bug 1094442 - Part 1: Refactor how tile w/h is queried r=kats
--HG--
extra : rebase_source : 70ef00318a718e2ce3149955d2908615d6125cf3
2014-11-12 17:54:29 -05:00
Botond Ballo
c854025367 Bug 1076163 - Basic APZ support for css-driven resolution. r=kats,tn
This makes APZ behave nicely with most uses of a css transform:scale.

Summary of changes:
  - FrameMetrics::mCumulativeResolution now includes the css-driven resolution
    in addition to the pres-shell resolution.
  - Displayports are now stored in Screen pixels rather than Layer pixels.
    This is what we want anyways (as we'd like the displayport size to remain
    constant as a fraction of the screen size), but it was necessary to make
    this change as part of this patch because continuing to store them in
    Layer pixels in the presence of a css-driven resolution would have
    required a bunch of infrastructure to implement correctly.

Remaining work:
  - Layout painting a scrollable layer at a resolution different from the
    scale induced by the css transform causes problems. These will go away
    with bug 1076192.
  - Different resolutions on the x and y axes are not supported. This is
    tracked by bug 1039967.
2014-10-24 15:49:38 -04:00
Carsten "Tomcat" Book
8894f4319e Backed out changeset fbb9dc943109 (bug 1076163) for Android 4.0 Crashes on a CLOSED TREE 2014-11-13 11:47:57 +01:00
Botond Ballo
57adf459d4 Bug 1076163 - Basic APZ support for css-driven resolution. r=kats,tn
This makes APZ behave nicely with most uses of a css transform:scale.

Summary of changes:
  - FrameMetrics::mCumulativeResolution now includes the css-driven resolution
    in addition to the pres-shell resolution.
  - Displayports are now stored in Screen pixels rather than Layer pixels.
    This is what we want anyways (as we'd like the displayport size to remain
    constant as a fraction of the screen size), but it was necessary to make
    this change as part of this patch because continuing to store them in
    Layer pixels in the presence of a css-driven resolution would have
    required a bunch of infrastructure to implement correctly.

Remaining work:
  - Layout painting a scrollable layer at a resolution different from the
    scale induced by the css transform causes problems. These will go away
    with bug 1076192.
  - Different resolutions on the x and y axes are not supported. This is
    tracked by bug 1039967.
2014-10-24 15:49:38 -04:00
Robert O'Callahan
5168260865 Bug 1096181. Recompute overflow areas of transformed elements when a parent element with perspective is scrolled. r=mattwoodrow
--HG--
extra : rebase_source : 249eb13623ef78c847a4e98602a8372cdeb27381
2014-11-12 18:08:27 +13:00
Benjamin Peterson
a1cbc9ea90 No bug - Remove extra words to make the sentence coherent. r=me 2014-11-09 13:45:27 -05:00
Benjamin Peterson
8360dcaa79 No bug - fix typo r=me 2014-11-08 14:35:00 -05:00
Jonathan Kew
193b552c7e Bug 1093949 - Reverse scroll position for RTL content. r=mats 2014-11-06 09:06:22 +00:00
Robert O'Callahan
ba470b0a04 Bug 1080205. Part 1: Don't add clip rects to async-scrolled layers for root scrollframes, since the FrameMetrics to scroll those layers will be set on a ContainerLayer parent. r=tn
--HG--
extra : rebase_source : b8fc0e3c97d5be50443734ed80caafabd37cf1a3
2014-10-28 17:34:58 +13:00
Robert O'Callahan
6b0fb73717 Bug 1083635. Part 6: Rename viewport to scrollport in ScrollFrameHelper::ComputeFrameMetrics. r=mattwoodrow
--HG--
extra : rebase_source : 188a2ddd979eacdcfee18b700d6c4f0c2ced48a0
2014-10-21 10:32:11 +13:00
Timothy Nikkel
931551c3eb Bug 1087453. Don't put scroll info layers on top of content that is not scrolled by their associated scroll frame. r=roc 2014-10-28 00:23:52 -05:00
Kearwood (Kip) Gilbert
bf999c9733 Bug 1086948 - Remove scroll-behavior: instant CSS value option. r=bz
- Removed "instant" CSS keyword and references used by scroll-behavior.
- Updated tests, removing scroll-behavior: instant test cases.
2014-10-22 11:37:00 +02:00
Robert O'Callahan
2d4b87dc16 Bug 1073290. Don't render with displayports if we're not painting to the window. r=mattwoodrow
--HG--
extra : rebase_source : 088b2156069248ac920d1a525d069b9a7330f980
2014-10-21 10:32:11 +13:00
Benoit Girard
1eda179306 Bug 961871 - Part 4: Fix budget calculation by adding Maybe prerenderer and animate. r=roc 2014-10-21 21:55:55 -04:00
Benoit Girard
584ac95d49 Bug 961871 - Part 3: Implement will-change budgeting. r=roc 2014-10-21 21:54:32 -04:00
Benoit Girard
4f2c7cdb80 Bug 961871 - Part 2: Refactor will-change scroll, pass through a nsDisplayListBuilder. r=mattwoodrow 2014-10-21 21:54:06 -04:00
Benoit Girard
3f4f9a753f Bug 961871 - Part 1: Refactor ScrollingActive. r=mattwoodrow 2014-10-21 21:53:38 -04:00
Kearwood (Kip) Gilbert
6af03cd32f Bug 1010538 - Part 3 - Implement scroll-behavior CSS property. r=mstange
- Added SCROLL_SMOOTH_AUTO flag to nsIPresShell to enable selection of
  scroll behavior through CSS.
- Updated Element and Window scrolling DOM methods to enable smooth scrolling
  set through the scroll-behavior CSS property.
- Keyboard, scroll bar, mousewheel, and any other events that scroll smoothly
  with the general.smoothScroll preference enabled will now scroll instantly
  if the scroll frame has "scroll-behavior: instant" applied through CSS.
2014-09-15 12:30:03 -07:00
Kearwood (Kip) Gilbert
66cbd490cf Bug 1010538 - Part 2 - Add scroll-behavior to ScrollbarStyles. r=mstange
- ScrollbarStyles extended to support the scroll-behavior CSS property
- Corrected naming of parameters to ScrollbarStyles CTOR
2014-09-15 12:30:00 -07:00
Timothy Nikkel
48cd9f6fc0 Bug 1076783. Move scroll info layers to the bottom of the background layer so they are behind most things. r=roc
Bug 1041510 moved them to the top so merging and flattening with scroll layer items worked correctly, but we don't need scroll layer items anymore.
2014-10-20 20:20:16 -05:00
Kartikaya Gupta
8a8d28193a Bug 1078373 - Use the scrollPositionClampingScrollPortSize when computing whether or not to show the scrollbar. r=tn 2014-10-10 22:16:03 -04:00
Kartikaya Gupta
0fdb9857c4 Back out cset 3d9ce7853452 (bug 1078373) for mochitest failures. r=me on a CLOSED TREE 2014-10-10 17:11:13 -04:00
Kartikaya Gupta
adfec91402 Bug 1078373 - Use the scrollPositionClampingScrollPortSize when computing whether or not to show the scrollbar. r=tn 2014-10-10 16:14:52 -04:00
Timothy Nikkel
472d6bcca9 Bug 1076447. When building the display list for scrollbars and we have a display port just use the whole scrollbar rect as the dirty rect. r=mattwoodrow
When we have a display port the dirty rect for root scroll frames is going to be the display port already when it is passed in. The display port can contain a somewhat arbitrary area of the scroll frame, there is no reason is has to include the scrollbars, which are laid out at the desktop scrollport (and adjusted as necessary in the compositor).

As well as BuildDisplayListForChild, we need the dirty rect to be set for the creation of the nsDisplayWrapList or nsDisplayOwnLayer in AppendToTop.
2014-10-09 15:10:01 -05:00
Kartikaya Gupta
6a1b9bac86 Bug 1078316 - Tweaks for root-frame overlay scrollbars so they don't oscillate while panning around. r=botond,tn 2014-10-08 22:56:38 -04:00
Ryan VanderMeulen
9d0527705e Merge inbound to m-c. a=merge 2014-09-26 16:54:59 -04:00
Markus Stange
7d5a3be591 Bug 1073103 - Rename ThebesLayer to PaintedLayer. r=roc
--HG--
rename : gfx/layers/basic/BasicThebesLayer.cpp => gfx/layers/basic/BasicPaintedLayer.cpp
rename : gfx/layers/basic/BasicThebesLayer.h => gfx/layers/basic/BasicPaintedLayer.h
rename : gfx/layers/client/ClientThebesLayer.cpp => gfx/layers/client/ClientPaintedLayer.cpp
rename : gfx/layers/client/ClientThebesLayer.h => gfx/layers/client/ClientPaintedLayer.h
rename : gfx/layers/client/ClientTiledThebesLayer.cpp => gfx/layers/client/ClientTiledPaintedLayer.cpp
rename : gfx/layers/client/ClientTiledThebesLayer.h => gfx/layers/client/ClientTiledPaintedLayer.h
rename : gfx/layers/composite/ThebesLayerComposite.cpp => gfx/layers/composite/PaintedLayerComposite.cpp
rename : gfx/layers/composite/ThebesLayerComposite.h => gfx/layers/composite/PaintedLayerComposite.h
rename : gfx/layers/d3d10/ThebesLayerD3D10.cpp => gfx/layers/d3d10/PaintedLayerD3D10.cpp
rename : gfx/layers/d3d10/ThebesLayerD3D10.h => gfx/layers/d3d10/PaintedLayerD3D10.h
rename : gfx/layers/d3d9/ThebesLayerD3D9.cpp => gfx/layers/d3d9/PaintedLayerD3D9.cpp
rename : gfx/layers/d3d9/ThebesLayerD3D9.h => gfx/layers/d3d9/PaintedLayerD3D9.h
2014-09-26 13:06:08 -04:00
Kartikaya Gupta
a18a198a4f Bug 1073354 - Update documentation that refers to the now-removed RecordFrameMetrics. r=tn DONBUILD 2014-09-26 11:29:38 -04:00
Arnaud Sourioux
54b32a98a0 Bug 1038570 - Part 2: rename ObjectFrame class to PluginFrame. r=dbaron 2014-09-24 06:34:00 +02:00
Milan Sreckovic
b689675056 Bug 1068784 - Since the tiling is now not a simple pref choices, but it depends on some platform specific criteria, stop using the pref directly, and always use gfxPlatform::UseTiling instead. r=mwoodrow 2014-09-17 13:55:23 -04:00
Robert O'Callahan
9e69e9b7ce Bug 1062100. Part 2: Assign clip rects to non-async-scrollable scrolled layers, and hide clipped layers if some non-moving layer covers their entire clip rect. r=mattwoodrow
--HG--
extra : rebase_source : bdc498a51f323d8536746e5a6faf6094a243a984
2014-09-06 16:16:33 +12:00
Kartikaya Gupta
b3b0b1e26c Bug 1009961 - Remove code to drop displayport if it exceeds B2G max texture size. r=tn
This code is no longer needed because tiling is enabled on all
scrollable layers on B2G, and so we only draw tile-sized chunks
of the displayport. Therefore the textures created will never
exceed the max texture size. On non-B2G platforms this code is
not used anyway so there is no effect. Going forward we should
always be enabling tiling before enabling APZ on new platforms
so it is unlikely that we will need this code.
2014-09-17 02:20:06 -04:00
Robert O'Callahan
a4e70a02eb Bug 1066591. Backout c43865439dd9 (bug 1066211) to fix regression.
--HG--
extra : rebase_source : bd821aade3b17d7eb4cd6acb5f56b46a343eb239
2014-09-13 11:56:16 +12:00
Robert O'Callahan
2b67bcd1df Bug 1062100. Part 2: Assign clip rects to non-async-scrollable scrolled layers, and hide clipped layers if some non-moving layer covers their entire clip rect. r=mattwoodrow 2014-09-06 16:16:33 +12:00
Kearwood (Kip) Gilbert
5f59b02c90 Bug 1022825 - Implement Asynchronous Smooth Scrolling on Compositor Thread. r=kats
- Extended nsIScrollableFrame and nsGfxScrollFrame to return destination
  of smooth scrolls which are to be animated on the compositor thread.
- Added apz.smooth_scroll_repaint_interval preference.
- Implemented AsyncPanZoomController::PanZoomState::SMOOTH_MSD_SCROLL state
  and AsyncPanZoomController::SmoothScrollAnimation class to animate smooth
  scroll animations on the compositor thread.
- Extended FrameMetrics to report requests for smooth scrolls to be animated
  on the compositor thread and their corresponding destination positions.
- AsyncPanZoomController now checks FrameMetrics for requests to perform
  smooth scrolling on the compositor thread.  It will ensure that they
  are cancelled as needed by mousewheel, touchpanel, keyboard, and
  CSSOM-View instant scrolling DOM methods.
- The layout/generic/test/test_scroll_behavior.html mochitest has been
  commented as depending on Bug 1062609 before being enabled for APZ.
2014-07-10 11:52:40 -07:00
Robert O'Callahan
bd45e1d4aa Bug 967844. Part 3: Setup FrameMetrics from FrameLayerBuilder based on animated geometry roots. r=mattwoodrow
--HG--
extra : rebase_source : 19593cafc17053d450905161fa7d4ce8721c58a0
2014-08-31 15:29:24 +12:00
Phil Ringnalda
a8940eb5c6 Backed out 3 changesets (bug 967844) for robopan bustage
Backed out changeset 6b53305f1c42 (bug 967844)
Backed out changeset dff3eb181f33 (bug 967844)
Backed out changeset 4d4b03442eaf (bug 967844)
2014-09-01 15:20:13 -07:00
Robert O'Callahan
83635319fd Bug 967844. Part 3: Setup FrameMetrics from FrameLayerBuilder based on animated geometry roots. r=mattwoodrow
--HG--
extra : rebase_source : d30d2af626038cc556fcd3add9a3876be2c58239
2014-08-31 15:29:24 +12:00
Ehsan Akhgari
60360fc645 Bug 1060985 - Fix more bad implicit constructors in layout; r=roc 2014-08-31 23:36:37 -04:00
Mats Palmgren
e173547139 Bug 1059242 - Initialize |allowedRange| with aPoint and a distance of zero in both directions (otherwise we'll return zero in the non-scrolled direction and reset that scroll position). r=kip 2014-08-27 11:42:00 -04:00
Kearwood (Kip) Gilbert
f6fd7810ec Bug 1022818 - Part 3: Tests for CSSOM-View Smooth-Scroll DOM API Methods and MSD Animation. r=bz, r=roc
- Verify that instant scroll-behavior is synchronous.
- Verify that smooth scroll-behavior is asynchronous.
- Verify that smooth scroll-behavior is triggered by CSSOM-View DOM methods.
- Verify that instant scroll-behavior interrupts smooth scroll-behavior
  animation.
- Verify that smooth scroll-behavior is not framerate dependant.
- Verify that smooth scroll-behavior physics simulations used by animations
  converge and allow the animation to reach completion.
- CSSOM-View scroll-behavior smooth scroll animations must produce the same
  results indendently of frame-rate:
  - Reference samples of scroll position for each frame are captured from a
    smooth scroll at 120fps for variations in X-Distance, Y-Distance.
  - Test samples are captured from an animation with the same parameters at
    varying framerates.
  - Variance in position at each sampled interval is compared to the 120fps
    reference.  To pass the test, the position of each test sample must match
    the reference position with a tolerance of one test sample frame's range
    of motion.  This range of motion is calculated by the position delta of
    the reference samples one test frame duration before and after.
  - The duration of the reference sample animation and the test sample
    animation must match within 1 frame to pass the test.
  - The simulation driving the animation must converge and stop on the
    destination position for the test to pass.

--HG--
extra : rebase_source : 194f6c9364e316ea21cf1e74ab6f7542ee94edb8
2014-07-25 14:20:45 -07:00
Miranda Emery
29c0f10b91 Bug 957445: Part 3 - combines nsIScrollbarOwner with nsIScrollbarMediator, r=mats 2014-02-14 19:40:53 +13:00
Miranda Emery
14dc1158ee Bug 957445: Part 2 - nsHTML/XULScrollFrame implement nsIScrollbarMediator, r=mats 2014-02-05 14:33:18 +13:00
Trevor Saunders
8f78184d9a bug 1016545 - Provide an iterator that iterates over all children of an element r=bz 2014-07-16 14:41:57 -04:00
Robert O'Callahan
f4028459f4 Bug 1050096. Clip scrollparts to the viewport for root scrollframes. r=tnikkel 2014-08-09 01:00:53 +12:00
Kearwood (Kip) Gilbert
3bd3d5624a Bug 1026023 - Part 4: Allow smooth scrolling to override momentum mouse wheel scroll events. r=mwoodrow
- When a smooth scroll is being processed on a frame, mouse wheel and trackpad
  momentum scroll event updates will no longer cancel the SMOOTH or SMOOTH_MSD
  scroll animations, enabling scripts that depend on them to be responsive
  without forcing the user to wait for the fling animations to completely stop.
2014-07-15 16:13:00 +02:00
Kearwood (Kip) Gilbert
1453cb535f Bug 1026023 - Part 3: Integrate MSD movement with nsGfxScrollFrame. r=mattwoodrow
- Added nsIScrollableFrame::ScrollMode::SMOOTH_MSD to differentiate
  existing smooth scrolls used by keyboard and mousewheel events from the
  CSSOM-View scroll-behavior's MSD motion scrolling.
- Implemented ScrollFrameHelper::AsyncSmoothMSDScroll, which takes the role
  of ScrollFrameHelper::AsyncScroll when SMOOTH_MSD scrolls are requested.
- Implemented glue code to handle callbacks from AsyncSmoothMSDScroll and
  to hand off velocity between the classes when one scroll animation is
  interrupted by another.
2014-07-09 10:02:31 -07:00
Matt Woodrow
21c89b906b Bug 1043961 - Disabled desktop display port changes for android. r=tn
--HG--
extra : rebase_source : d1de78af825bac1e7f06ff81c4394d70a75cc8fd
2014-07-29 12:07:36 +12:00
Jonathan Kew
ce9cbe4216 bug 1031241 pt 1 - Rename Get{Min,Pref}Width to Get{Min,Pref}ISize throughout layout. r=dbaron,smontagu 2014-07-24 18:03:25 +01:00
Simon Montagu
c3b44c4dad Bug 789096 patch 9: use logical coordinates in nsHTMLReflowState available size. r=jfkthame 2014-07-24 01:28:46 -07:00
Matt Woodrow
0855713cbf Bug 1031107 - Part 8: Set display ports on tiled scrollable layers. r=tn 2014-07-24 15:14:39 +12:00
Matt Woodrow
50d31b707c Bug 1031107 - Part 4: Union the display port dirty area in nsSubDocumentFrame. r=tn 2014-07-24 15:12:42 +12:00
Timothy Nikkel
3389fb77b9 Bug 1041510. Now that we merge and flatten display items bottom to top (instead of the reverse) move the scroll info layer to be on top of the other scrolled content so that it is still processed last. r=roc 2014-07-22 15:37:28 -05:00