Commit graph

937 commits

Author SHA1 Message Date
Xidorn Quan
97d13f46a3 Bug 1303241 part 2 - Make GetVisitedDependentColor use style structs directly. r=dbaron
I think there are three advantages of this change:
1. removes some dependencies from layout / painting code to pre-computed
   value stuff in the style system;
2. makes it easier to audit usage of specific fields in style structs
   (which is probably a side effect of the first one);
3. potentially improves performance since it doesn't go through the
   unnecessary general logic in ExtractComputedValue.

Also, combined with the part before, we get a unified list for visited-
dependent properties so that we can ensure the assertion here and the
style difference calc code are consistent.

MozReview-Commit-ID: 5B9aN7CfRgI

--HG--
extra : rebase_source : ac80eaea2474b9ec4b47b1cc9a5bdd2e61f6ec4d
2016-12-31 00:57:37 +11:00
cku
d44e01d03c Bug 1311270 - Part 2. Rename StyleClipPathGeometryBox to StyleGeometryBox and extend contained values.
MozReview-Commit-ID: 85zjcifAycX

--HG--
extra : rebase_source : 6c2a7c7913251c89888527d70b3b1fe27c475b4a
2016-11-22 14:49:43 +08:00
cku
e7a4b94286 Bug 1311270 - Part 1. Move geomery box computing from nsCSSClipPathInstance to nsLayoutUtils.
Simply move ComputeHTMLReferenceRect and ComputeSVGReferenceRect from
nsCSSClipPathInstance to nsLayoutUtils to reuse the code in both clip-path and
mask.

MozReview-Commit-ID: 59LofAeEhKQ

--HG--
extra : rebase_source : d974c7e2170a43242ae839c34ae5cef946d4264a
2016-11-22 11:19:11 +08:00
Wes Kocher
1b3fc382aa Backed out 5 changesets (bug 1302470) for causing bug 1323200 a=backout
Backed out changeset 005adbf78cd2 (bug 1302470)
Backed out changeset 113f7b13475c (bug 1302470)
Backed out changeset 3d2569996ebc (bug 1302470)
Backed out changeset b92b78271941 (bug 1302470)
Backed out changeset 5b92678afff8 (bug 1302470)


MozReview-Commit-ID: FgeA5OQV8WP

--HG--
extra : histedit_source : 4513cf8271a0bf4d2ca373b5b87aac2c5beeddf9%2C489053b6db62d02f62b4f240fcd9a40fee09dbfb
2016-12-16 16:45:09 -08:00
Mike de Boer
d0a0fb4fcf Bug 1302470 Part 2: Use a hit-test method to determine if the rect of a range is visible on the page or not to the eye, for use in find-in-page. r=mstange,smaug
MozReview-Commit-ID: 9P7gf0GcREv
2016-11-09 15:09:36 -08:00
Brad Werth
e138a742a2 Bug 1319560 Part 2: Add a nsLayoutUtils::FrameForPointFlags value to only retrieve visible frames. r=mattwoodrow
MozReview-Commit-ID: 1mNIXdyBkw4

--HG--
extra : rebase_source : c4f9bb9dc920078bca8a33f95c006ecc5903be8a
2016-11-28 14:50:34 -08:00
Ting-Yu Lin
c9cfd878cb Bug 1317588 Part 2 - Remove mozilla::css::Side typedef. r=mats
This patch is written with the help of 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 "css::Side" "Side"

MozReview-Commit-ID: DPV6vivpPUp

--HG--
extra : rebase_source : 9c4f66dc9d2b26c89a4517fba4ff9c5db413411b
2016-11-18 16:28:38 +08:00
Sebastian Hengst
705e3df40e Backed out changeset cc04b61c9f23 (bug 1302470) 2016-11-20 20:31:31 +01:00
Mike de Boer
87e7094923 Bug 1302470 Part 2: Use a hit-test method to determine if the rect of a range is visible on the page or not to the eye, for use in find-in-page. r=mstange,smaug
MozReview-Commit-ID: 9P7gf0GcREv

--HG--
extra : rebase_source : 498fbc14d6b2e09b8dc7cfb6962b7698a6b38c52
2016-11-09 15:09:36 -08:00
Sebastian Hengst
9a38c0010b Backed out changeset 8243da10a171 (bug 1302470) 2016-11-17 17:49:46 +01:00
Mike de Boer
7ee955cbdc Bug 1302470 Part 2: Use a hit-test method to determine if the rect of a range is visible on the page or not to the eye, for use in find-in-page. r=mstange,smaug
MozReview-Commit-ID: 9P7gf0GcREv

--HG--
extra : rebase_source : b3565372bf9ab52a126f91795d54a2a22231f150
2016-11-09 15:09:36 -08:00
Brad Werth
175fc88729 Bug 1314080 Part 4: Implement the new text retrieval behavior. r=smaug
MozReview-Commit-ID: 7j5BjruBNb9

--HG--
extra : rebase_source : a5649d5552a0ee9f1a9bc5e07cac2ca12610d5a1
2016-11-02 16:39:43 -07:00
Mats Palmgren
6b1b0153ba Bug 1300369 part 11 - Move nsLayoutUtils::ComputeISizeValue to a nsIFrame method (idempotent patch). r=dholbert 2016-11-05 02:57:07 +01:00
Mats Palmgren
ddb49488f0 Bug 1300369 part 8 - Move nsLayoutUtils::ComputeSizeWithIntrinsicDimensions to a nsFrame method (idempotent patch). r=dholbert 2016-11-05 02:57:06 +01:00
Mats Palmgren
1ce5803c3a Bug 1300369 part 2 - Make nsLayoutUtils::IntrinsicForAxis handle margin-box min-size clamping. r=dholbert 2016-11-05 02:57:06 +01:00
Mats Palmgren
3f3758dff0 Bug 1218178 part 1 - [css-grid] Implement the transferred size part of Automatic Minimum Size for grid items. r=dholbert
https://drafts.csswg.org/css-grid/#min-size-auto
https://www.w3.org/TR/css-flexbox-1/#min-width-automatic-minimum-size
2016-11-05 02:57:05 +01:00
Andreas Farre
3aecf57375 Bug 1198381 - Implement the requestIdleCallback feature, r=froydnj,mattwoodrow,smaug
Expose requestIdleCallback on Window and implement running callbacks
in idle periods by posting rICs to the main threads idle queue.

MozReview-Commit-ID: KSYQsyaZ6is

--HG--
extra : rebase_source : 6abd41c2de96b39004f1b2c3c740e81de570970c
2016-08-22 14:52:45 +02:00
Carsten "Tomcat" Book
1895ce466b Backed out changeset eb2606332cb8 (bug 1198381) 2016-10-25 12:32:54 +02:00
Andreas Farre
1380385c69 Bug 1198381 - Implement the requestIdleCallback feature, r=froydnj,mattwoodrow,smaug
Expose requestIdleCallback on Window and implement running callbacks
in idle periods by posting rICs to the main threads idle queue.

MozReview-Commit-ID: KSYQsyaZ6is

--HG--
extra : rebase_source : 4bdd578b654d05cab600489d30d859452d1bc888
2016-08-22 14:52:45 +02:00
Xidorn Quan
3c3f76a8e1 Bug 1309868 part 2 - Use const nsIContent pointer in some layout utils. r=heycam
MozReview-Commit-ID: 5GMave4FS48

--HG--
extra : source : 60d203eaa11b53f14a8c3736498f991d8e3615b1
2016-10-18 15:29:03 +11:00
Jorg K
4bb58198d9 Bug 1263357 - When the caret is placed after visible line break, associate caret with frame on the next line instead. r=mats
--HG--
extra : amend_source : a0068b0c841189204e07cc6c0a19f83d5dac8da3
2016-10-14 14:21:00 -04:00
Hiroyuki Ikezoe
9df227139a Bug 1223658 - Part 8: Drop nsLayoutUtils::HasActiveAnimationOfProperty. r=birtles
MozReview-Commit-ID: 3uI5wQoviqK

--HG--
extra : rebase_source : a0e81fb9e33e33fd9eefa42b12d777ddfd418965
2016-10-14 19:14:12 +09:00
Hiroyuki Ikezoe
ff84f76fce Bug 1278136 - Part 5: Create a stacking context for opacity/transform animations even if it's in delay phase and even if the property is overridden by !important rules. r=birtles
This patch introduces a new functions named HasEffectiveAnimationOfProperty.
This function checks that a given CSS property is overridden by !important
rules.
On the other hand, now KeyframeEffetReadOnly::HasAnimationOfProperty() does
just check that the effect has a given CSS property.  This is used to create
a stacking context because we should create a stacking context for opacity or
transform animations even if the property is overridden by !important rules.

Note about no-stacking-context-(opacity|transform)-removing-animation-in-delay.html
Before this patch we don't create any stacking context for animations overridden
by !important rules, but after this patch we do create a stacking context for
such animations.  As a result, in the test case we did paint a stacking context
in the first rAF callback and then in the second rAF callback we did clear the
painted stacking context. Unfortunately sometimes the second rAF callback was
called prior to clear the stacking context on the compositor because of
compositor delay. To avoid this situation, we have to wait for MozAfterPaint
instead of rAF callback.

MozReview-Commit-ID: AG1Y0IgoB3U
2016-10-13 16:54:25 +09:00
Phil Ringnalda
6182caa3b9 Backed out 2 changesets (bug 1278136) for failures in no-stacking-context-opacity-removing-animation-in-delay.html
Backed out changeset 62cf4a7d6007 (bug 1278136)
Backed out changeset 5f2db29e67ca (bug 1278136)

MozReview-Commit-ID: K9WcZFjL2XB
2016-10-11 20:40:36 -07:00
Hiroyuki Ikezoe
d7f92dae54 Bug 1278136 - Part 5: Create a stacking context for opacity/transform animations even if it's in delay phase and even if the property is overridden by !important rules. r=birtles
This patch introduces a new functions named HasEffectiveAnimationOfProperty.
This function checks that a given CSS property is overridden by !important
rules.
On the other hand, now KeyframeEffetReadOnly::HasAnimationOfProperty() does
just check that the effect has a given CSS property.  This is used to create
a stacking context because we should create a stacking context for opacity or
transform animations even if the property is overridden by !important rules.

MozReview-Commit-ID: AG1Y0IgoB3U
2016-10-12 09:59:03 +09:00
Hiroyuki Ikezoe
bf263e20b5 Bug 1304922 - Part 1: Rename nsLayoutUtils::HasCurrentAnimationOfProperty() to nsLayoutUtils::HasActiveAnimationOfProperty(). r=birtles
KeyframeEffectReadOnly::HasAnimationOfProperty() calls GetAnimationOfProperty()
which checks mWinsInCascade flag and the mWinsInCascade flag is set to true
only if the effect is in-effect.
That means nsLayoutUtils::HasCurrentAnimationOfProperty() actually represents
that a given frame has at least one animation which is current and *in-effect*
(i.e. active).

MozReview-Commit-ID: 93rMMmzrBMi

--HG--
extra : rebase_source : c48167d874aa243ab070d0aa64876307748e3493
2016-10-05 14:25:41 +09:00
Mats Palmgren
db3bbb5c84 Bug 1303643 part 1 - Add a flag to control whether percentages should be applied also to min-content contributions. r=dholbert 2016-09-29 21:49:54 +02:00
Jeremy Chen
c6d0429830 Bug 1297306 - part6:replace NS_STYLE_CLEAR_* with StyleClear enum class. r=xidorn
After using enum class, a switch-case warning in CombineBreakType is caught.
This is one of such kind safty checks that we would like to gain.
Fix it by adding default case for switch-case in CombineBreakType.

MozReview-Commit-ID: BdS3LPN6qzX

--HG--
extra : rebase_source : 17f24a0d482ed6eb51b23e6942d0ac1c87375e0b
2016-09-07 10:20:17 +08:00
Jonathan Chan
4b87f11bd9 Bug 1293739 - Part 1: Rename nsCSSProperty to nsCSSPropertyID. r=dholbert
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''

Then:

  hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h

... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.

MozReview-Commit-ID: ZV6jyvmLfA

--HG--
rename : layout/style/nsCSSProperty.h => layout/style/nsCSSPropertyID.h
2016-08-16 18:37:48 -07:00
Gregory Szorc
1794619188 Backed out changesets dcdb85fc5517, 702bca0deee2, 9cKX8gC1ATA (bug 1293739) for build bustage; a=bustage
The merge from inbound to central conflicted with the merge from
autoland to central, it appears. Per tree rules, the commit from the
autoland repo wins and the inbound commit gets backed out.

CLOSED TREE

--HG--
extra : amend_source : 927e1cdfa8e55ccbd873d404d905caf6871c8c4f
extra : histedit_source : 07095868c3f767258e1d7d2645193bf4811b13bb%2Ca49ae5a28bf6e67298b6208ee9254c25a2539712
2016-08-16 17:50:40 -07:00
Jonathan Chan
9c62a2c11c Bug 1293739 - Part 1: Rename nsCSSProperty to nsCSSPropertyID. r=dholbert
This patch is generated by the following commands (note: if you're running
using OS X's sed, which accepts slightly different flags, you'll have to
specify an actual backup suffix in -i, or use gsed from Homebrew):

  hg stat -c \
  | cut -c 3-  \
  | tr '\n' '\0' \
  | xargs -0 -P 8 gsed --follow-symlinks 's/\bnsCSSProperty\b/nsCSSPropertyID/g' -i''

Then:

  hg mv layout/style/nsCSSProperty.h layout/style/nsCSSPropertyID.h

... and finally, manually renaming nsCSSProperty in the include guard in
nsCSSProperty.h.

MozReview-Commit-ID: ZV6jyvmLfA

--HG--
rename : layout/style/nsCSSProperty.h => layout/style/nsCSSPropertyID.h
2016-08-09 16:28:19 -07:00
Cameron McCormack
bddd447666 Bug 1290013 - Add a pref to disable stylo. r=bholley
MozReview-Commit-ID: DG9Q61OYlvl
2016-08-05 17:45:58 +08:00
Hiroyuki Ikezoe
9c3e690c9a Bug 1287725 - Drop KeyframeEffectReadOnly::HasAnimationOfProperties and nsLayoutUtils::HasCurrentAnimationsForProperties. r=birtles
MozReview-Commit-ID: K33ga7KpLIo

--HG--
extra : rebase_source : 57bc8f2edffb7e89ea790f5cc0fa6848770d1873
2016-07-26 06:44:11 +09: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
d432242ffc Bug 1277129 Part 5b - Rename nsHTMLReflowMetrics.h/cpp to ReflowOutput.h/cpp and fix #includes. r=dbaron
The modification to nsAbsoluteContainingBlock.h and nsBlockFrame.cpp are
needed to fix the build error due to the file order changed in the unified
build.

The #includes are fixed 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\.h" "mozilla\/ReflowOutput\.h"

MozReview-Commit-ID: KWvcG3UtKNn

--HG--
rename : layout/generic/nsHTMLReflowMetrics.cpp => layout/generic/ReflowOutput.cpp
rename : layout/generic/nsHTMLReflowMetrics.h => layout/generic/ReflowOutput.h
extra : rebase_source : dc62fb3ad4d95e732e5985c7ab9f757a0e23abcb
2016-07-21 18:36:37 +08:00
Ting-Yu Lin
6f2f38fcd7 Bug 1277129 Part 5a - Move nsHTMLReflowMetrics into mozilla namespace. r=dbaron
MozReview-Commit-ID: 7xrd1AMd0bz

--HG--
extra : rebase_source : 4faa0b6adc233bb853a8646856dd3dc3e8422566
2016-07-21 18:36:37 +08:00
L. David Baron
d6df5b5f4a Bug 1287011 - Remove preference gfx.filter.nearest.force-enabled. r=gw280
This preference was added in bug 747274, and the need for it (i.e.,
having it default to a different value on Android) was removed a few
weeks later in bug 750598.

Whether we honor the preference depends on which drawing function we go
through, which bug 720531 will make even more inconsistent than it
already is (by causing it to be honored for border-image-repeat: space,
but not other values of border-image-repeat).

Rather than trying to clean it up, it seems best to remove it, since its
initial purpose appears to have been having a different default on
Android, which we longer need.

MozReview-Commit-ID: IFW2Ukwx4fH

--HG--
extra : transplant_source : q1%22Ad%D2%AF%8E%E5%E2%257C%A3%9F%95%DB%A5%92%B2
2016-07-16 07:39:47 +08:00
Cameron McCormack
acd21d26c0 Bug 1285474: Decide style system backend type for documents earlier. r=bholley
MozReview-Commit-ID: 7A4t3957CWe
2016-07-12 00:33:57 -07:00
Hiroyuki Ikezoe
e7a860ecf8 Bug 1278136 - Part 1: Add nsLayoutUtils::HasRelevantAnimationOfProperty. r=birtles
We want to know that an nsIFrame has a transform or opacity animations
regardless of its state, e.g., running on the main-thead, paused or
finished but in fill:forwards state, to create a stacking context
for the animation.

MozReview-Commit-ID: mNYsd5RO3u

--HG--
extra : rebase_source : 19f88d9f77f3c329f36a6505c6335bae64050a22
2016-07-08 13:01:31 +09: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
Astley Chen
5bcbb06586 Bug 1277131 : Part 3 - rename nsGkAtoms::tableOuterFrame and nsCSSAnonBoxes::tableOuter. r=heycam
MozReview-Commit-ID: 7GIjtUH9hdZ

--HG--
extra : rebase_source : 818cead88e560effa402e183b4a642fd1a7b9191
2016-06-16 13:35:43 +01:00
Astley Chen
1fcb0ee95d Bug 1277131 : Part 1 - rename nsTableOuterFrame to nsTableWrapperFrame. r=heycam
MozReview-Commit-ID: KrSHLbmovTM

--HG--
rename : layout/tables/nsTableOuterFrame.cpp => layout/tables/nsTableWrapperFrame.cpp
rename : layout/tables/nsTableOuterFrame.h => layout/tables/nsTableWrapperFrame.h
extra : rebase_source : 730a73b8439f1f5c5ccdb32b241deda5224c321c
2016-06-16 13:14:08 +01: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 Watt
2eb705bb3f Bug 1277862, part 3 - Rename Moz2D's Filter to SamplingFilter in the rest of the tree. r=Bas 2016-05-25 17:01:18 +01:00
Matt Woodrow
64b86ea169 Bug 1274962 - Part 4: Reorder how we compute transforms for preserve-3d. r=mstange,thinker 2016-06-03 14:23:27 +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
29be323a2b Bug 1274962 - Part 4: Reorder how we compute transforms for preserve-3d. r=mstange,thinker
--HG--
extra : rebase_source : dac903a9f2881aac952ea380ac821238bb18293b
2016-06-03 14:23:27 +12:00
Hiroyuki Ikezoe
76b1ff2552 Bug 1273042 - Part 4: Drop nsLayoutUtils::GetAnimationContent declaration. r=birtles.
MozReview-Commit-ID: CE1CCkiCnW2

The implementation of nsLayoutUtils::GetAnimationContent has been dropped in
bug 771367.
2016-06-01 16:24:34 +09:00
Xidorn Quan
c7e8a8ebdf Bug 1039541 part 1 - Unprefix text-align-last. r=heycam
MozReview-Commit-ID: 4Lj04tY8CqR

--HG--
extra : source : 266fdd4c808ebc6f75408dab86f7781c9a084d7b
2016-05-30 14:52:01 +10:00
Ethan Lin
6710f05dd7 Bug 548372 - Part2. background-repeat round/space rendering. r=mstange 2016-05-25 02:29:00 +02:00
Carsten "Tomcat" Book
013d342a7f Backed out changeset af8d93926a96 (bug 1263349) for causing crashes in nsDisplayListBuilder::UpdateCurrentScrollParent on a CLOSED TREE 2016-05-24 11:14:29 +02:00
Seth Fowler
41d7cfb3d3 Bug 1263349 (Part 1) - Add some utility functions for dealing with scrolling-related tasks. r=botond 2016-05-24 01:12:47 -07:00
Kartikaya Gupta
6637b49101 Bug 1271432 - Optimization to avoid recomputing the same Matrix over and over. r=tnikkel
MozReview-Commit-ID: 28lV5ZRswxu
2016-05-17 11:05:46 -04:00
Kartikaya Gupta
9fe9512858 Bug 1271432 - When combining event regions across layers, don't expand the regions that shouldn't be expanded. r=tnikkel
MozReview-Commit-ID: 6GlYiJAm7rO
2016-05-17 11:05:46 -04:00
Botond Ballo
0c3f8a3e7d Bug 1267438 - Remove the (no longer used) isClipFixed=false annotation. r=mstange
MozReview-Commit-ID: LicG7zFHnX3

--HG--
extra : rebase_source : 1b39fcb34403dfa92f19100b3a59c3f550d52ff1
extra : source : 2bf1247f574319f27f570bb372a71d6a826ab1fb
extra : histedit_source : cc75a6e848225552adb9b3148ca4e2bb87b94f80
2016-05-04 20:07:42 -04:00
Ting-Yu Lin
3256e20da1 Bug 1267209 - Convert nsLayoutUtils::PaintFrame flags to be an enum class. r=jfkthame
MozReview-Commit-ID: 4IFOlP9oVHl

--HG--
extra : rebase_source : 012b15e5e7b7489cf8ea9a2c812719ed009ef72e
2016-04-27 12:01:54 +08:00
CJKu
f75bface0f Bug 1265715 - Part 2. Add nsDisplayListBuilderMode parameter into nsLayoutUtils::PaintFrame; r=jfkthame
MozReview-Commit-ID: 1jkJOOH8KCi

--HG--
extra : rebase_source : c3a67cf66bb1f19cb3a0acc0cab3a45f1f02ea00
2016-04-26 00:26:40 +08:00
Botond Ballo
76d7859745 Bug 735857 - Factor out a helper function nsLayoutUtils::IsTransformed(). r=mstange
MozReview-Commit-ID: 4AJUVDLAYrc

--HG--
extra : rebase_source : a84cda133f64388c496e035f018d27fb197001ee
2016-04-25 14:21:24 -04:00
Kyle Huey
c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Timothy Nikkel
4fa1d92384 Bug 1259246. Move nsIPresShell::GetRealPrimaryFrameFor to nsLayoutUtils::GetRealPrimaryFrameFor. r=dholbert
The function doesn't need to be a non-static member of nsIPresShell: it only checks if the document of the passed in element matches the presshell's document, and then the remaining code could be static. It has only one user, nsDocumentViewer::FindContainerView, and it doesn't care about the specific presshell, it just wants the primary frame, so it doesn't need the document check.

This lets us simplify nsDocumentViewer::FindContainerView because it had to jump through hoops to get the presshell.
2016-04-23 15:18:26 -05:00
Timothy Nikkel
d5ab4ae492 Back out changesets 4bbf54c1bcd9 and ffcc3708103a from bug 1259246.
Backed out to see if they caused bug 1262027.
2016-04-21 23:14:37 -05:00
Xidorn Quan
d2e9e4f2b9 Bug 1097499 part 11 - Set width variant for text-combined frame. r=jfkthame
MozReview-Commit-ID: 60QB0PGtOKM

--HG--
extra : source : 914b8a7151bbd7ed385abb2696e6d5cefc3fadcb
2016-04-22 09:18:41 +10:00
Xidorn Quan
b1521c643f Bug 1097499 part 1 - Control support of 'text-combine-upright: digits' via a separate pref. r=heycam
MozReview-Commit-ID: JerTsxaQCL4

--HG--
extra : source : 999d1d2997591935fa1259fa42a91658da8ee078
2016-04-22 09:18:41 +10: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
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
Timothy Nikkel
59adfe3545 Bug 1259246. Move nsIPresShell::GetRealPrimaryFrameFor to nsLayoutUtils::GetRealPrimaryFrameFor. r=dholbert
The function doesn't need to be a non-static member of nsIPresShell: it only checks if the document of the passed in element matches the presshell's document, and then the remaining code could be static. It has only one user, nsDocumentViewer::FindContainerView, and it doesn't care about the specific presshell, it just wants the primary frame, so it doesn't need the document check.

This lets us simplify nsDocumentViewer::FindContainerView because it had to jump through hoops to get the presshell.
2016-04-04 02:59:15 -05: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
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
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
Benoit Girard
a08807e27f Bug 1242609 - Use PeekMessages to get the most recent DisplayPort request. r=kats
MozReview-Commit-ID: K5PTxUqU9E6

--HG--
extra : rebase_source : 6d9e35b27e2fd37c1df513dd856b48c181f3150f
2016-03-14 11:50:55 -04:00
Ting-Yu Lin
459c649699 Bug 1251519 Part 2 - Remove nsLayoutUtils::IsRectVisibleInScrollFrames(). r=mats
nsLayoutUtils::IsRectVisibleInScrollFrames() was used only by
SelectionCarets which was removed in bug 1221459.

MozReview-Commit-ID: 4dQAq1umHY7

--HG--
extra : rebase_source : 9c35effc9ac44bb9de5df1e4ddfc0d32edcfb9c9
2016-03-10 17:38:31 +08:00
L. David Baron
1182aed626 Bug 1250342 patch 3: Rename preference layout.css.text-align-true-value.enabled to layout.css.text-align-unsafe-value.enabled . r=mats
MozReview-Commit-ID: 6IKnuvxZQcI
2016-02-24 10:40:30 -08:00
Wes Kocher
42c013e034 Backed out 3 changesets (bug 1250342) for reftest failures in text-align-true.html CLOSED TREE
Backed out changeset 0eae0890ee11 (bug 1250342)
Backed out changeset e82e430d0eda (bug 1250342)
Backed out changeset 866f8a7337df (bug 1250342)

--HG--
extra : commitid : Gme2p6OagcA
2016-02-23 13:10:40 -08:00
L. David Baron
ec4c382804 Bug 1250342 patch 3: Rename preference layout.css.text-align-true-value.enabled to layout.css.text-align-unsafe-value.enabled . r=mats
MozReview-Commit-ID: 6IKnuvxZQcI
2016-02-23 09:41:48 -08:00
Boris Chiou
e436478f26 Bug 1244049 - Part 2: Replace nsCSSPseudoElements::Type with CSSPseudoElementType. r=dbaron
Also, try to use forward declaraions for CSSPseudoElementType;

--HG--
extra : rebase_source : c00eb9753e8f618a33aa711538ac45c0132b353c
2016-02-17 21:37:00 +01: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
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
Robert O'Callahan
ffe62188d9 Bug 1194466. Use the table-outer frame's margin when requesting the margin for table element with getBoxQuads. r=mats
--HG--
extra : commitid : B0oDQPEJLRh
extra : rebase_source : 8ac8d10d9dae01b9c44b8b531c56d065e1a54d50
2016-02-02 22:47:15 +13:00
L. David Baron
c774a187fd Bug 1245075 patch 1 - Remove assertion, since it can fire during frame destruction. r=dholbert
Without this patch, patch 2 will cause assertions since
nsFrame::DestroyFrom calls nsFrame::HasCSSAnimations (at a time when the
child frame has been destroyed), which calls into the code modified in
patch 2 to call GetStyleFrame.

--HG--
extra : commitid : EkhtcNIf7ye
2016-02-07 08:43:48 -08: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
Kyle Huey
91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Xidorn Quan
3d2d63b674 Bug 1229437 part 1 - Add a helper function to get the float containing block of a given frame. r=dbaron
--HG--
extra : source : 68184623d2b2f1eeaa17fd6d2a5114fb7caa65f8
2016-01-27 16:58:53 +11:00
Randall Barker
725817b232 Bug 1231517 - part 1, Move GetBoundingContentRect to nsLayoutUtils r=botond 2016-01-20 16:24:57 -08:00
Nicholas Nethercote
534a872e52 Bug 1238846 (part 1) - Remove some dead code in nsLayoutUtils. r=mattwoodrow.
--HG--
extra : rebase_source : adbb1840cdf2a9f454b0ab4c4c6e0f163df4dc3c
2016-01-12 13:42:01 -08:00
Nicholas Nethercote
f573bf4e6c Bug 1237902 (part 3) - Change the gfxContextMatrixAutoSaveRestore in PaintTableBorderBackground() to an AutoRestoreTransform. r=roc.
--HG--
extra : rebase_source : a09c694360b2fc1215b5697a886947a3be46ddd6
2016-01-07 20:21:40 -08:00
Randall Barker
3a71488eda Bug 1233056 - Long tapping on a link will select a different link from the page r=tnikkel
Long tapping would fail when Java Pan-Zoom was enabled in Fennec.
2016-01-08 20:22:07 -08: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
a83245ddd4 Bug 1194851. Change GetDisplayPortForVisibilityTesting into GetDisplayPortRelativeToScrollFrameForVisibilityTesting since it has only one user. r=botond
Also update the other image visibility GetDisplayPort. It will get changed to GetDisplayPortRelativeToScrollFrameForVisibilityTesting in another bug.
2016-01-07 18:27:49 -06:00
Timothy Nikkel
859f318413 Bug 1194851. Introduce GetDisplayPortRelativeToScrollFrame. r=botond 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
Timothy Nikkel
bf347397f1 Bug 1194851. Make ViewportHasDisplayPort only return a bool, 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 ViewportHasDisplayPort.
2016-01-07 18:27:48 -06:00
Morris Tseng
084b138ad2 Bug 1024149 - Use element size for upload texture when using SVG image. r=jgilbert r=roc
--HG--
extra : commitid : E5x4DxqzQ3k
2016-01-05 17:51:04 +08:00
Botond Ballo
b65904a270 Bug 1194851 - Remove the second parameter of IsFixedPosFrameInDisplayPort(). r=kats
No one was using it.

--HG--
extra : source : cf1a0a7146c18850f7619974bad31f888e7e1402
2015-12-16 17:58:52 -05: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
Nicholas Nethercote
06e901cb9f Bug 1231550 - Use DrawTarget instead of gfxContext and/or nsRenderingContext in many places in font/text code. r=jfkthame.
AutoTextRun now only needs a DrawTarget instead of an nsRenderingContext, and
similar nsRenderingContext/gfxContext-to-DrawTarget replacements can be
propagated a long way up the call graph. This patch replaces 93 occurrences of
nsRenderingContext and 135 occurrences of gfxContext with DrawTarget; that's
13% of them.

The patch is mostly plumbing changes. A couple of not-entirely-plumbing
changes:

- It adds a comment about the null check in
  gfxGlyphExtents::GetTightGlyphExtentsAppUnits().

- A couple of functions simply had an unused gfxContext or nsRenderingContext
  parameter removed, e.g. SetLineBreaks().

--HG--
extra : rebase_source : 8f56994bb4d254a86788b17ab2864ebc758a7e6b
2015-12-15 13:56:41 -08:00
Lee Salzman
9a71f879e0 Bug 1230686 - use RefPtr<DrawTarget>& instead of DrawTarget* to track changes in SurfaceFromElement. r=jmuizelaar 2015-12-29 10:41:43 -05:00
Morris Tseng
25c5294a43 Bug 1172796 - Part 5: Implements OffscreenCanvas::TransferImageBitmap. r=roc r=smaug
--HG--
extra : commitid : 4XzkGVfRcHJ
2015-12-18 14:52:17 +08:00
Brian Birtles
885593747b Bug 1230056 part 2 - Remove nsLayoutUtils::HasAnimationsForCompositor and call EffectCompositor::HasAnimationsForCompositor directly; r=dholbert 2015-12-09 16:28:10 -05:00
Xidorn Quan
5e810b6b20 Bug 1225018 part 2 - Move GetFontMetricsOfEmphasisMarks to nsLayoutUtils. r=jfkthame
--HG--
extra : source : e075456775a4c65a021e084a8fdc1d331343db88
2015-12-08 12:55:01 -05:00
Brian Birtles
f409225f4c Bug 1226118 part 2 - Use EffectSet in nsLayoutUtils animation functions; r=dholbert 2015-12-04 08:32:52 +09:00
Matt Woodrow
c684f27337 Bug 1168263 - Remove TransformRectOut since it's unused. r=roc 2015-11-26 22:32:35 +13:00
Jeff Gilbert
19d84fb0fe Bug 1221822 - Finish the WebGL texture refactor. r=kamidphish,mattwoodrow,bz 2015-11-24 20:15:29 -08:00
Matt Woodrow
41a4ad2285 Bug 1222880 - Build a tree of AnimatedGeometryRoots to speed up traversal of ancestors. r=roc,tn 2015-11-25 11:53:51 +13:00
Phil Ringnalda
71a6f5da62 Back out changeset 2f614bcd9405 (bug 1221822) for test_conformance__extensions__ext-sRGB.html and test_webgl2_alpha_luminance.html failures 2015-11-23 21:55:59 -08:00
Jeff Gilbert
87397c265b Bug 1221822 - Finish the WebGL texture refactor. r=kamidphish,mattwoodrow,bz 2015-11-23 19:27:13 -08:00
Mason Chang
e74c79f0e3 Bug 1221840. Support repeating images in 1 axis. r=seth 2015-11-23 08:17:35 -08:00
Kartikaya Gupta
3f1887d8f0 Bug 1226872 - Remove unnecessary wrapper methods in nsLayoutUtils. r=roc
--HG--
extra : commitid : 6XdZwhzPuoM
2015-11-23 09:14:18 -05:00
Tobias Schneider
1262c58ac3 Bug 1221677 - "[css-grid] Put the 'subgrid' support behind a pref, disabled by default". r=mats 2015-11-13 13:15:00 +01:00
Kartikaya Gupta
795d8736fd Bug 1205087 - Cache the AnimatedGeometryRoot on DisplayItem. r=roc 2015-10-05 17:09:34 -04: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
Timothy Nikkel
8345aeaa49 Bug 1218851. Fix comments related to nsIPresShell::RenderDocument and flags RENDER_DOCUMENT_RELATIVE and RENDER_IGNORE_VIEWPORT_SCROLLING. r=roc
The two flags combined used to be represented by just RENDER_IGNORE_VIEWPORT_SCROLLING. Until http://hg.mozilla.org/mozilla-central/rev/99279c1c33cc (bug 590294) split RENDER_DOCUMENT_RELATIVE out. It split out the requested rect to be document relative. But it also split out the part about "drawing the document as if it had not been scrolled" with the new flag, but the comments for that part didn't get updated.

The names of the flags are perhaps inaccurate, but changing that requires changing a lot more code.
2015-11-05 18:57:17 -06:00
Timothy Nikkel
528864b6be Bug 1215977. Add a flag for GetNearestScrollable that makes fixed pos frames return the root scroll frame of their document. And make APZCCallbackHelper use it to restore previous behaviour. r=botond
We may want to do this for fixed pos frames in all documents (not just root documents). However, this patch only maintains the previous behaviour on purpose.
2015-11-04 19:51:03 -06:00
Timothy Nikkel
8fedb37cdc Bug 1215977. Only match the root scroll frame in GetNearestScrollableFrame if we encounter it. r=botond
Instead of returning the root scroll frame if we encountered the root frame (which is the parent of the root scroll frame).

This allows the use of GetNearestScrollableFrame to walk up the frame tree without getting into a infinite loop going from root scroll frame to root frame and back.

This regresses bug 1105823 in that fixed pos frames will no longer find the root scroll frame of their document. The next patch will fix that.

The only other type of frame that will be affected when calling GetNearestScrollableFrame are viewport (root) frames. However, the only user of SCROLLABLE_ALWAYS_MATCH_ROOT (APZCCallbackHelper) calls GetNearestScrollableFrame on the result of a hit test on a display list. Viewport frames never create any display items whose HitTest function could return the viewport frame.
2015-11-04 19:51:03 -06:00
Mats Palmgren
a09faf6998 Bug 1176775 part 1 - [css-grid] Implement "Implied Minimum Size of Grid Items" (special min-width/height:auto behavior). r=dholbert 2015-11-03 21:45:33 +01:00
Kartikaya Gupta
2a13672d4b Bug 1141884 - Handle wheel events on the main thread if the frame has snapping. r=dvander,mstange
--HG--
extra : commitid : Jw0Kdhy4ob6
2015-11-03 14:21:40 -05:00
Timothy Nikkel
fab15510f7 Bug 1156238. Fix the computation of animated geometry roots for transform items. r=mattwoodrow
Removing the "stop at ancestor" parameter from functions that compute AGR meant that nsLayoutUtils::GetAnimatedGeometryRootFor could no longer pass the display item's reference frame as the "stop at ancestor" which meant that the AGR could cross the reference frame for the item, which we don't want. So we make transformed frames into AGRs.

This makes the computation of display items whose frames are transformed tricky. We need the AGR of the transform item to be the ancestor AGR, not the underlying frame of the transform item (which is now an AGR). So we modify nsLayoutUtils::GetAnimatedGeometryRootFor to handle this. (The patch from bug 1205087 didn't suffer from this problem because it special cased the computation of the AGR of transform items. Leaving anybody who called nsLayoutUtils::GetAnimatedGeometryRootFor to get the wrong result.)

The computation of the AGR for scroll metadata in ContainerState::ProcessDisplayItems specifically bypassed nsLayoutUtils::GetAnimatedGeometryRootFor to avoid it's special processing of fixed background items. However we do want the AGR for scroll metadata to do this special processing of transform items. So we add a flag to bypass the fixed background behaviour and use it for the scroll metadata AGR.
2015-11-03 02:03:47 -06:00
Matt Woodrow
cf0b78ff4c Bug 1156238. Always stop at the root reference frame when looking for an animated geometry root. r=roc,mattwoodrow
This removes the "aStopAtAncestor" argument to agr computing functions. In most cases an AGR was passed for the stop at ancestor, so we'd stop at it anyway since it was an AGR. Most of the remaining cases the root reference frame was passed. And in a few cases something else was passed, which we probably don't want (returning something that isn't an AGR and isn't the root reference frame as an AGR).

The ShouldFixToViewport case is a little tricky. We want to get the AGR of the nearest viewport frame, but only if we don't have to cross our root reference frame to get it. This happens in practice for example when a select dropdown has background-attachment: fixed inside it.

Except for the ShouldFixToViewport bit, this patch is a subset of part 3 in bug 1205087 (which has more changes, and has been temporarily backed out, the remaining bits can hopefully land soon).

The ShouldFixToViewport part is by Timothy Nikkel <tnikkel@gmail.com>
2015-11-03 02:03:47 -06:00
Nathan Froyd
055e2365e3 Bug 1217939 - part 2 - move nsContentUtils::GetSelectionBoundingRect to nsLayoutUtils; r=smaug
All callers of this function are in layout/base/ and it uses a lot of
things from nsLayoutUtils, so nsLayoutUtils seems like a better fit for
it.
2015-10-23 13:39:00 -04:00
James Kitchener
1c9740d59e Bug 1011020 - Add the ability to fall back to not snapping, if snapping results in a zero area rect r=roc (relanding with correct bug number, DONTBUILD) 2015-10-17 10:18:00 -07:00
Phil Ringnalda
31d432d507 Back out changeset 2fe5dee8825d (not 1101020) for landing with the wrong bug number 2015-10-17 21:44:43 -07:00
James Kitchener
9faa73de5f Bug 1101020 - Add the ability to fall back to not snapping, if snapping results in a zero area rect r=roc 2015-10-17 10:18:00 -07: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
Nathan Froyd
583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Timothy Nikkel
d566a599fe Backout part 1 of bug 1195431 (cf841511b71a). 2015-10-12 15:21:48 -05:00
Nicholas Nethercote
0f5722f4da Bug 1211324 (part 5) - Remove GraphicsFilter and gfxGraphicsFilter. r=mattwoodrow. 2015-10-05 17:18:10 -07:00
Carsten "Tomcat" Book
c1f520e05c Backed out changeset 79746e93020a (bug 1011020) for causing bug 1212267
--HG--
extra : rebase_source : 16ad5f13377beb3075b06d97a793059a575d55cb
2015-10-07 12:17:02 +02:00
James Kitchener
590b916a4a Bug 1011020 - Add the ability to fall back to not snapping, if snapping results in a zero area rect r=roc - relanding with correct bug number on a CLOSED TREE 2015-10-05 05:00:00 +02:00
Carsten "Tomcat" Book
903a88eacc Backed out 1 changesets (bug 1101020) for landing with wrong bugnumber on a CLOSED TREE
Backed out changeset 18d4a0ca8cc1 (bug 1101020)
2015-10-07 09:24:27 +02:00
James Kitchener
0eb9204d80 Bug 1101020 - Add the ability to fall back to not snapping, if snapping results in a zero area rect r=roc 2015-10-07 11:18:08 +05:30
Kartikaya Gupta
0123b19fc5 Back out the bits of bug 1205087 that cache the AnimatedGeometryRoot on DisplayItem. r=backout
The change breaks some scenarios with APZ scrolling, in particular the code
that layerizes the scroll handoff chain for deeply nested scrollable frames.

--HG--
extra : commitid : KeQX4HyPKXd
2015-09-28 15:17:34 -04:00
Matt Woodrow
c066ccca63 Bug 1205087 - Cache the AnimatedGeometryRoot on DisplayItem. r=roc 2015-09-24 18:26:36 -04:00
Matt Woodrow
55713b7206 Bug 1205087 - Make nsSVGIntegrationUtils paint frame continuations manually since combining them meant that our reference frame wasn't an ancestor of all painted frames. r=roc 2015-09-24 18:26:34 -04:00
Matt Woodrow
d58f9e3efb Bug 1205087 - Remove LayerManager parameter for ShouldFixToViewport. r=roc 2015-09-24 18:25:08 -04:00
Nicholas Nethercote
842dd1cf5a Bug 1207741 - Remove gfxIntSize. r=nical.
gfxIntSize is just a typedef of gfx::IntSize, so this is very mechanical. The
only tricky part is deciding for each occurrence whether to replace it with
IntSize, gfx::IntSize or mozilla::gfx::IntSize; in all cases I went with the
shortest one that worked given the existing "using namespace" declarations.

--HG--
extra : rebase_source : 67fd15f87222b16defa70ef795c6d77dfacf1c36
2015-09-23 11:49:05 -07: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
Thinker K.F. Li
e1e17a72cb Bug 1097464 - Part 6: Handle preserves-3d by compositor. r=roc
Remove WrapPreserve3DList() and replaced it by creating a
nsDisplayTransform item for each transformed frame.

 - Add an additional item for each top frame extending 3D context to
   separate consequence contexts.

 - Effective transform of a layer is the accumulation of ancestors in
   the same 3D context.

 - The layers creating new context and extended by children need a
   temporary buffer if it's effective transform is not 2D.

 - Clip rects are accumulated along the context chain.

 - Visible rects of items are computed from dirty regions of the frame
   creating the context and accumulated transforms.

 - Bounds of items are computed from accumulated transforms and
   accumulated bounds of the descent frames.

 - Backface hidden is handled by compositor and BasicLayerManager.

--HG--
extra : rebase_source : 1a894b057a117a8520898c9f83308d92c122b180
2015-09-17 03:31:00 +02:00
Phil Ringnalda
7171096144 Back out 2 changesets (bug 1205087) for mass bustage
CLOSED TREE

Backed out changeset 0573cd4aed27 (bug 1205087)
Backed out changeset 11a3cb42f729 (bug 1205087)
2015-09-17 19:30:42 -07:00
Matt Woodrow
ad13620acc Bug 1205087 - Remove LayerManager parameter for ShouldFixToViewport. r=roc
--HG--
extra : rebase_source : a55ebf8ab3ea6cad0ff9945f9ee9857421053e0b
2015-09-17 21:03:42 -04:00
Carsten "Tomcat" Book
f7534678df Backed out 6 changesets (bug 1097464) for causing OS X 10.10 Reftest Errors
Backed out changeset fbf63ce1ba88 (bug 1097464)
Backed out changeset fdaf4cfa6707 (bug 1097464)
Backed out changeset 727ebd9f744a (bug 1097464)
Backed out changeset 03f03a776042 (bug 1097464)
Backed out changeset 5ec6364b87d7 (bug 1097464)
Backed out changeset 47d056b3af7f (bug 1097464)

--HG--
extra : rebase_source : e2da133b489e4adba373303dad6e559826927e19
2015-09-17 16:24:43 +02:00
Thinker K.F. Li
76109f93c4 Bug 1097464 - Part 6 - Handle preserves-3d by compositor. r=roc
Remove WrapPreserve3DList() and replaced it by creating a
nsDisplayTransform item for each transformed frame.

 - Add an additional item for each top frame extending 3D context to
   separate consequence contexts.

 - Effective transform of a layer is the accumulation of ancestors in
   the same 3D context.

 - The layers creating new context and extended by children need a
   temporary buffer if it's effective transform is not 2D.

 - Clip rects are accumulated along the context chain.

 - Visible rects of items are computed from dirty regions of the frame
   creating the context and accumulated transforms.

 - Bounds of items are computed from accumulated transforms and
   accumulated bounds of the descent frames.

 - Backface hidden is handled by compositor and BasicLayerManager.
2015-09-17 03:31:00 +02:00
Olli Pettay
68663347da Bug 1205466, make HasApzAwareListeners check faster, r=masayuki
--HG--
extra : rebase_source : 41c94b02117a09785938349dc9ad513af9bf048b
2015-09-17 13:16:20 +03:00
Robert Longson
0c7534f0a8 Bug 1175492 - unpref transform-origin percentage handling for SVG elements r=jwatt 2015-09-15 22:10:48 +01:00
Botond Ballo
a22ee7711a Bug 1166301 - Store a flag on Layer to tell fixed background layers apart from fixed position layers. r=mattwoodrow
--HG--
extra : rebase_source : eaad2e8c7f85f20cc691353d9675611eee4733ee
extra : source : 33b55c6b3a48e3e9a2f19f498f56084d6905dfc1
2015-09-04 17:26:33 -04:00
Mats Palmgren
685fccb096 Bug 1174553 part 2 - Move the AddPercents function into a static method in the nsLayoutUtils class. r=dholbert 2015-09-04 22:06:57 +02:00
Mats Palmgren
44d4f3b05b Bug 1174553 part 1 - Add a new flag (BAIL_IF_REFLOW_NEEDED) for IntrinsicForWM() that makes it return early with a NS_INTRINSIC_WIDTH_UNKNOWN result if a reflow is needed to determine the child's correct BSize. r=dholbert 2015-09-04 22:06:57 +02:00
Mats Palmgren
bbb026b9f4 Bug 1174546 part 1 - Introduce nsLayoutUtils::MinSizeContributionForAxis which calculates an intrinsic size contribution from aFrame's 'min-width' property (or 'min-height' if the given axis is vertical) and the corresponding border, padding and margin values. r=jfkthame 2015-09-04 22:06:57 +02:00
Kearwood (Kip) Gilbert
cbc7ba3ddb Bug 1157984 - Part 3: Correct bounding box transformations to support projections and correct clipping when transforming behind the camera,r=vlad
- Update callsites of Matrix4x4::TransformBounds to use
  Matrix4x4::TransformAndClipBounds.

--HG--
extra : rebase_source : a1aa889af56e404b7ca5c7125021171e67a0b8bf
2015-08-06 17:26:09 -07:00
Kartikaya Gupta
95631466e1 Bug 1185747 part 3 - Rip out code to explicitly override the CSS viewport. r=tn
--HG--
extra : commitid : KeYHVLqoKK0
2015-09-01 16:47:52 -04:00
Xidorn Quan
300011c44e Bug 1197765 - Compare text content inside frame instead of the content node for ruby autohiding. r=dbaron
--HG--
extra : source : d265d1e03757b1f886e435ef9b60aa962787e676
2015-09-01 09:24:37 +10:00
Brian Birtles
937bc54615 Bug 1181392 part 5 - Remove use of IsFinishedTransition from AnimationCollection::HasAnimationOfProperty; r=dbaron
AnimationCollection::HasAnimationOfProperty uses IsFinishedTransition to filter
out transitions that should otherwise be ignored. This is used in the following
places:

1. nsLayoutUtils::HasAnimations

   The is only used by nsIFrame::BuildDisplayListForStackingContext to see if
   there are any opacity animations

   For this case, simply returning *current* animations would be sufficient
   (since finished but filling animations should have already filled in the
   display opacity)

2. CommonAnimationManager::GetAnimationsForCompositor

   This should really only return *current* animations--that is, animations that
   are running or scheduled to run. Finished animations never run on the
   compositor. Indeed, only *playing* animations run on the compositor but, as
   we will see in some of the cases below, it is sometimes useful to know that
   an animation *will* run on the compositor in the near future (e.g. so we can
   pre-render content).

   The places where GetAnimationsForCompositor is used are:

   - When building layers to add animations to layers in nsDisplayList--in this
     case we skip any animations that aren't playing so if
     GetAnimationsForCompositor only returned current animations that would be
     more than sufficient.

   - In nsLayoutUtils::HasAnimationsForCompositor. This in turn is used:

     - In ChooseScaleAndSetTransform to see if the transform is being animated
       on the compositor. If so, it calls
       nsLayoutUtils::ComputeSuitableScaleForAnimation (which also calls
       GetAnimationsForCompositor) and passes the result to
       GetMinAndMaxScaleForAnimationProperty which we have already adjusted in
       part 4 of this patch series to only deal with *relevant* animations

       Relevant animations include both current animations and in effect
       animations but we don't run forwards-filling animations on the compositor
       so GetAnimationsForCompositor should NOT return them. Current animations
       should be enough. In fact, playing animations should be enough but we
       might want to pre-render layers at a suitable size during their delay
       phase so returning current animations is probably ok.

     - In nsDisplayListBuilder::MarkOutOfFlowFrameForDisplay to add a fuzz
       factor to the overflow rect for frames undergoing a transform animation
       on the compositor. In this case too current animations should be
       sufficient.

     - In nsDisplayOpacity::NeedsActiveLayer to say "yes" if we are animating
       opacity on the compositor. Presumably in this case it would be good to
       say "yes" if the animation is in the delay phase too (as it currently
       does). After the animation is finished, we should drop the layer, i.e.
       current animations should be sufficient.

     - In nsDisplayTransform::ShouldPrerenderTransformedContent. As with
       nsDisplayOpacity::NeedsActiveLayer, we only need to pre-render
       transformed content for animations that are current.

     - In nsDisplayTransform::GetLayerState. As with
       nsDisplayOpacity::NeedsActiveLayer, we only need to return active here
       for current animations.

     - In nsIFrame::IsTransformed. Here we test the display style to see if
       there is a transform and also check if transform is being animated on the
       compositor. As a result, we really only need HasAnimationsForCompositor
       to return true for animations that are playing--otherwise the display
       style will tell us if we're transformed or not. Returning true for all
       current compositor animations (which is a superset of playing), however,
       should not cause problems (we already return true for even more than
       that).

     - In nsIFrame::HasOpacityInternal which is much the same as
       nsIFrame::IsTransformed and hence current should be fine.

3. AnimationCollection::CanThrottleAnimation

   Here, HasAnimationOfProperty is used when looking for animations that would
   disqualify us from throttling the animation by having an out-of-date layer
   generation or being a transform animation that affects scroll and so requires
   that we do the occasional main thread sample to update scrollbars.

   It would seem like current animations are enough here too. One interesting
   case is where we *had* a compositor animation but it has finished or been
   cancelled. In that case, the animation won't be current and we should not
   throttle the animation since we need to take it off its layer.

   It turns out checking for current animations is still ok in this case too.
   The reasoning is as follows:

   - If the animation is newly-finished, we'll pick that up in
     Animation::CanThrottle and return false then.

   - If the animation is newly-idle then there are two cases:

     If the cancelled animation was the only compositor animation then
     AnimationCollection::CanPerformOnCompositorThread will notice that there
     are no playing compositor animations and return false and
     AnimationCollection::CanThrottleAnimation will never be called.

     If there are other compositor animations running, then
     AnimationCollection::CanThrottleAnimation will still return false because
     whatever cancelled the animation will update the animation generation and
     we'll notice the mismatch between the layer animation generation and the
     animation generation on the collection.

Based on the above analysis it appears that making
AnimationCollection::HasAnimationOfProperty return only current animations (and
simulatneously renaming it to HasCurrentAnimationOfProperty) is safe. Indeed, in
effect, we already do this for transitions but not for animations. This patch
generalizes this behavior to all animations.

This patch also updates test_animations_omta.html since it was incorrectly
testing that a finished opacity animation was still running on the compositor.
Finished animations should not run on the compositor and the changes in this
patch cause that to happen. The reason we don't just update this test to check
for RunningOn.MainThread is that for opacity animations, unlike transform
animations, we can't detect if an opacity on a layer was set by animation or
not. As a result, for opacity animations we typically test the opacity on
either the main thread or compositor in order to allow for the case where an
animation-set opacity is still lingering on the compositor.
2015-08-07 12:29:36 +09:00
Botond Ballo
223b1b2a1d Bug 1131359 - Expose a basic FrameMetrics calculations in nsLayoutUtils. r=kats
--HG--
extra : rebase_source : a027d85d4d5f86353e14aa791fb5564d22694ed1
2015-07-27 14:06:05 -04:00
Kearwood (Kip) Gilbert
c06afa1c7f Bug 1181240 - Part 2: Replace gfx3DMatrix with Matrix4x4 in layout,r=vlad
- Refactored code to use Matrix4x4 instead of gfx3DMatrix.
- There is not expected to be any functional effect.
2015-07-10 17:05:47 -07:00
Seth Fowler
ec30688068 Bug 1151359 (Part 3) - Treat nsImageFrames subject to scale animation as having an identity scale when predicting size. r=tn,birtles 2015-07-19 19:30:40 -07:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Lee Salzman
55553857ba Bug 771367 - Refactor GetAnimationContent and GetAnimationCollection into CommonAnimationManager to hide atom and pseudo-element voodoo. r=bbirtles
--HG--
extra : rebase_source : 4dd7ccea70aeb26850055388e6a8ec1aa90e5347
2015-07-01 14:43:13 -04:00
Lee Salzman
1201a3f336 Bug 771367 - Support compositor animation for pseudo-elements. r=dbaron
--HG--
extra : rebase_source : 9276e835dbc75aaaab718a871ed4eaa7c8389867
2015-07-01 11:55:51 -04:00
Mats Palmgren
2a91ce1550 Bug 1174450 part 10b - Rename IntrinsicForWM to IntrinsicForAxis and make it take a PhysicalAxis instead of a WritingMode. r=jfkthame 2015-06-16 11:21:04 +00:00
Mats Palmgren
964949147b Bug 1174450 part 7 - Move most of IntrinsicForContainer into a new method, IntrinsicForWM, that takes the writing-mode to use as a parameter. r=jfkthame
IntrinsicForContainer(...) is implemented as
IntrinsicForWM(aFrame->GetParent()->GetWritingMode(), ...).
2015-06-16 11:21:04 +00:00
Cameron McCormack
4c1cfc10bd Bug 1169514 - Part 2: Move noframes rules from the preferences style sheet to a cached UA style sheet. r=jwatt 2015-06-16 11:34:47 +10:00
Cameron McCormack
5492e00444 Bug 1169514 - Part 1: Move noscript rule from the preference style sheet to a cached UA style sheet. r=jwatt 2015-06-16 11:34:47 +10: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
Timothy Nikkel
525e5c2132 Bug 1168629. Always make sure that there is at least one layer with the metrics for the root scroll frame/root element. r=botond,kats
We do this by looking at the layer tree after it has been made to see if the root metrics are in it already.

This is needed to ensure that there is always a root AZPC in a process.
2015-05-31 00:50:21 -05:00
Seth Fowler
900c174944 Bug 1169879 - Use only the critical displayport when computing image visibility. r=tn 2015-05-29 22:33:37 -07:00
Jonathan Watt
13ebd5c893 Bug 923193, part 4 - Implement support for the 'transform-origin' property in SVG. r=heycam 2015-05-24 22:40:37 +01: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
Botond Ballo
3408d121ff Bug 1164406 - Expose scrollbar-area deflation in nsLayoutUtils. r=kats
--HG--
extra : rebase_source : c5897e000fad53d44b4eb3f98f6bbbc4aba419a4
extra : source : 20612601aa1cc76667ac760e62479160076cf07a
2015-05-22 15:54:11 -04:00
Ting-Yu Lin
4d2a9a0ddd Bug 1110039 - Part 1 - Add nsLayoutUtils::ClampRectToScrollFrames. r=roc
ClampRectToScrollFrames generalizes IsRectVisibleInScrollFrames by
returning the clamped rect in scroll frames. IsRectVisibleInScrollFrames
could be implemented by checking whether the clamped rect is empty or
not.
2015-04-14 00:08:00 +02:00
Seth Fowler
fdc5ab88b6 Bug 1162282 - When canvas.drawImage is called on a corrupt image that's not in the broken state, don't throw. r=gw280 2015-05-07 09:25:10 -07:00
L. David Baron
c8c50385b3 Bug 1153539 patch 2 - Compute scale for rasterizing off-main-thread transform animations based on ratio to display size in addition to maximum and minimum scale. r=roc
This fixes bug 1153539 with the Firefox download arrow being pixellated
(verified by testing locally).

I also confirmed what happens on a flame device with the transform
unlocking the Firefox OS homescreen (bug 945082 / bug 972310).  For that
transform (which had a maximum scale of 2), I see four calls to
GetSuitableScale:
  GetSuitableScale: aMaxScale=2.000000, displayVisibleRatio=1.000000
  GetSuitableScale: aMaxScale=2.000000, displayVisibleRatio=1.000586
  GetSuitableScale: aMaxScale=2.000000, displayVisibleRatio=1.000000
  GetSuitableScale: aMaxScale=2.000000, displayVisibleRatio=1.000586
(Presumably the first and third are for width, and the second and fourth
are for height.)  I believe this shows that bug 972310 will remain fixed
with this patch.

I chose to use the pres context's visible area rather than the screen
size because it seemed more appropriate, and also because (if memory
serves correctly) it's much cheaper to get.
2015-05-06 08:52:20 +02:00
L. David Baron
1bc23d9acc Bug 1153539 patch 1 - Improve comments for nsLayoutUtils::ComputeSuitableScaleForAnimation. r=roc 2015-05-06 08:52:20 +02: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
Xidorn Quan
ff400fb4a5 Bug 1117227 part 5 - Render ellipsis in correct orientation. r=jfkthame
--HG--
extra : source : 4766d98091b93c120d41a5118406d82a38d9ff62
2015-04-24 10:15:32 +12:00
Andrea Marchesini
085da9302a Bug 1156632 - Remove unused forward class declarations - patch 5 - rdf, parser, layout and something else, r=ehsan 2015-04-22 08:29:22 +02:00
Timothy Nikkel
c92044ef7a Bug 1156598. Remove old, dead scroll layer item code. r=mstange 2015-04-20 22:48:10 -05:00
Botond Ballo
148a784118 Bug 1152479 - Extract the implementations of layout-related nsIDOMWindowUtils APIs used by APZ into nsLayoutUtils. r=ehsan
--HG--
extra : rebase_source : 175254c3f78cd06bf72e2a25da12eff7a174f87e
extra : source : 0bf92001a2f715b5c20aefc039c30e926b9789c0
2015-04-14 13:19:10 -04:00
Botond Ballo
353b27bbd9 Bug 1039818 - Extract the implementation of nsIDOMWindowUtils::GetResolution into nsLayoutUtils. r=ehsan 2015-04-10 19:33:56 -04:00
Markus Stange
ab28a4f0c8 Bug 1151346 - Make ActiveLayerTracker::IsOffsetOrMarginStyleAnimated respect CSS animations. r=roc
--HG--
extra : rebase_source : a3594dcb2d8733b6f545c6cf713178ea0d953889
2015-04-05 22:53:51 -04:00
Mats Palmgren
eb4243e0c6 Bug 1149222 part 1 - Make nsLayoutUtils::DrawBackgroundImage and SVGImageContext use CSSIntSize instead of unitless nsIntSize. r=dholbert 2015-04-03 19:48:12 +00:00
Mats Palmgren
035bf0bc77 Bug 1149215 - Remove nsLayoutUtils::GetWholeImageDestination that use unitless nsIntSize. r=dholbert 2015-04-03 19:48:12 +00:00
Mats Palmgren
0c9ef677ad Bug 1149037 - Make nsLayoutUtils::ComputeSizeForDrawing* take a CSSIntSize param instead of a unit-less nsIntSize. r=roc 2015-03-30 11:35:47 -04:00
Carsten "Tomcat" Book
386163877c Backed out changeset e507145a198c (bug 1149037) 2015-03-30 15:03:25 +02:00
Mats Palmgren
dc5a3bcd7b Bug 1149037 - Make nsLayoutUtils::ComputeSizeForDrawing* take a CSSIntSize param instead of a unit-less nsIntSize. r=roc 2015-03-30 10:37:34 +00:00
Kushan Joshi
98880a696a Bug 1101627 - Add touch action regions. r=kats 2015-03-24 09:13:24 -04: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
Botond Ballo
70559e5194 Bug 1139464 - In GetNearestScrollableFrame(), associate the root APZC with the root scroll frame of the root document (whether chrome or content), not the root content document. r=kats,tn
--HG--
extra : source : 2ab85f9edf4d74962ca6bede6669cfc28b6b8e15
2015-03-11 17:10:15 -04:00
Carsten "Tomcat" Book
1ebb197830 Merge mozilla-central to mozilla-inbound 2015-02-11 15:00:07 +01:00
Jonathan Kew
72a70e953a Bug 1117210 - Snap text baselines to device pixels in vertical writing modes. r=smontagu 2015-02-11 10:59:06 +00:00
Carsten "Tomcat" Book
8970c6c9c6 Backed out changeset df2290db92d0 (bug 1117210) for breaking m5 tests on a CLOSED TREE 2015-02-11 11:28:19 +01:00
Kartikaya Gupta
4ea12e1645 Bug 1125422 - Populate the ContainerLayer flag to force events to be dispatched to content. r=roc 2015-02-10 16:28:07 -05:00
Kartikaya Gupta
3832470e38 Bug 1125422 - Fold touch and scroll listener flags into a single apz-aware flag for better code reuse. r=roc 2015-02-10 16:28:07 -05:00
Jonathan Kew
1e4c538120 Bug 1117210 - Snap text baselines to device pixels in vertical writing modes. r=smontagu 2015-02-11 08:44:34 +00:00
Seth Fowler
1624013327 Bug 1128225 (Part 2) - Propagate the imgIContainer::Draw result through the nsLayoutUtils::Draw*Image functions. r=tn 2015-02-04 13:50:56 -08:00
David Zbarsky
c73ec42d2d Bug 1125040: Use LayoutDeviceIntPoint for nsIWidget::WidgetToScreen r=botond 2015-02-04 15:21:03 -05: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
Phil Ringnalda
7b3840d642 Back out 5167196c4b98 (bug 1125040) for not compiling on Linux
CLOSED TREE
2015-02-01 15:27:14 -08:00
David Zbarsky
7d34edce07 Bug 1125040: Use LayoutDeviceIntPoint for nsIWidget::WidgetToScreen r=botond 2015-02-01 17:27:41 -05:00
David Zbarsky
58a982f86b Bug 1125040: Use LayoutDeviceIntPoint for nsLayoutUtils::GetEventCoordinatesRelativeTo and Touch::mRefPoint r=botond 2015-02-01 17:27:31 -05:00
Masatoshi Kimura
86502e6537 Bug 1111290 - Part 2: Non-mechanical changes. r=waldo 2015-01-26 07:22:08 +09:00
Trevor Saunders
85227ffecb bug 1122065 - use MOZ_OVERRIDE more in gfxish things r=jrmuizel 2015-01-19 17:41:12 -05:00
Jonathan Kew
8699f8544e Bug 1113216 - Avoid assertions/crashes by treating enumerated block-size values as auto, pending proper implementation of all the values. r=dbaron 2015-01-15 11:56:51 +00:00
Xidorn Quan
1bf1df7b1e Bug 1055667 part 2 - Remove unnecessary param of SetBSizeFromFontMetrics. r=dbaron
--HG--
extra : source : aa79c8cebf3e2ab0fd4335eaa3c630a43dbe81f2
2015-01-15 20:02:11 +11:00
L. David Baron
25c494ef46 Bug 1110277 patch 2 - Add nsLayoutUtils::LastContinuationOrIBSplitSibling(). r=bzbarsky
This is used in patch 3.
2015-01-11 15:43:10 -08:00
Geoff Lankow
125624cd03 Bug 1114297 - Improve performance of nsTreeBodyFrame::AdjustForCellText for very long strings; r=smontagu 2015-01-11 00:07:58 +13:00
Ting-Yu Lin
9ce9133a81 Bug 1067728 - Part 3 - Expose FindNearestCommonAncestorFrame. r=roc 2014-12-10 19:52:00 +01:00
Ting-Yu Lin
48139f3c66 Bug 1067728 - Part 1.1 - Move IsRectVisibleInScrollFrames to nsLayoutUtils. f=mtseng, r=roc 2014-12-08 01:53:00 +01:00
Kartikaya Gupta
d159ec1172 Bug 1105823 - Ensure we find a scrollable ancestor even for fixed-position items. r=botond 2014-11-28 12:25:40 -05:00
Jonathan Kew
f8c40475ef Bug 1105268 - part 1 - Fix the logical/physical confusion with min- and max- dimensions in nsFrame::ComputeSize(). r=smontagu 2014-11-27 15:01:11 +00:00
Daniel Holbert
c7ce74a52e Bug 1098417 part 1: Add optional anchor-point arg to nsLayoutUtils::ComputeObjectDestRect() and nsLayoutUtils::DrawSingleImage(). r=seth 2014-11-21 18:25:46 -08:00
Kartikaya Gupta
0611166ee2 Bug 918288 - Ensure we set a displayport on elements that we get touch-start events for. r=botond 2014-11-21 21:36:25 -05:00
Kartikaya Gupta
911702f6c3 Bug 918288 - Add code to TabChild to dispatch the SetTargetAPZC notification. r=roc,botond 2014-11-21 21:36:25 -05: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
Mats Palmgren
b0f013a10d Bug 907396 - Make RestyleManager::RestyleElement and nsCSSFrameConstructor::MaybeRecreateFramesForElement deal with display:contents elements. r=bzbarsky 2014-11-20 18:24:10 +00:00
Daniel Holbert
9f4cb9be39 Bug 624647 part 1: Add utility method nsLayoutUtils::ComputeObjectDestRect() to handle object-fit/object-position. r=seth 2014-11-14 16:45:23 -08: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
Jonathan Kew
34fea182cd Bug 1093553 - Improve handling of line-height metrics, block ascent, etc., in vertical writing mode. r=smontagu 2014-11-13 08:58:06 +00: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
Morris Tseng
8733cb18e1 Bug 1094056 - Use nsCaret::GetGeometryForFrame to determine position of selection carets. r=roc 2014-11-11 22:54:00 +01:00
Kartikaya Gupta
7644286079 Bug 1078029 - Add code to reposition input event coordinates into the target frame. r=roc
The PositionedEventTargeting code allows input events to be dispatched to a
target not directly under the input event point. However, the coordinates of the
input event can then end up outside the bounding rect of the event target. This
state is generally unexpected by web content and may cause compatibility issues.
Fennec's front-end code used to deal with this by repositioning the input event
coordinates to be inside the bounding rect; now that Fennec is using the shared
C++ code we need to have that code here. This behaviour is guarded by a pref and
disabled by default (but enabled on Fennec).
2014-11-04 09:52:16 -05:00
Jonathan Watt
f6f8d40041 Bug 1091794 - Replace gfxCornerSizes with Moz2D's RectCornerRadii. r=mattwoodrow 2014-11-01 10:45:10 +00:00
Jonathan Watt
53f338200b Bug 1091323 - Convert the nsLayoutUtils helpers that paint images and take an nsRenderingContext to take a gfxContext instead. r=seth 2014-11-01 10:45:09 +00:00
Jonathan Watt
1d2c31c63d Bug 1088781 - Rename nsLayoutUtils::GetStringWidth to nsLayoutUtils::AppUnitWidthOfStringBidi. r=dholbert 2014-10-26 17:57:49 +00:00
Botond Ballo
eea9473d65 Bug 1085569 - When calculating the composition bounds based on the frame size, use the cumulative resolution rather than the parent resolution everywhere. r=tn
--HG--
extra : amend_source : c72888ce19795e203e5dafa7d0b68065d6b668eb
2014-10-20 15:53:29 -04:00
Jonathan Watt
1c3326bede Bug 1088625, part 2 - Pass nsFontMetrics objects through to code that needs it instead of storing it on the nsRenderingContext. r=mstange 2014-10-24 16:28:14 +01:00
Jonathan Watt
35505a8b96 Bug 1088599 - Move nsRenderingContext::GetBoundingMetrics to nsLayoutUtils. r=mstange 2014-10-24 16:28:14 +01:00
Jonathan Watt
08ae0a017c Bug 1088550 - Move nsRenderingContext's remaining GetWidth methods to nsLayoutUtils. r=mstange 2014-10-24 16:28:13 +01:00
Jonathan Watt
2994c1b237 Bug 1088071, part 2 - Move the nsRenderingContext::DrawString code to nsLayoutUtils::DrawUniDirString. r=jfkthame 2014-10-24 11:00:23 +01:00
Jonathan Watt
0e920978be Bug 1088071, part 1 - Wrap the callers of the final nsRenderingContext::DrawString method up in a new nsLayoutUtils::DrawUniDirString method. r=jfkthame 2014-10-24 11:00:23 +01:00
Matt Woodrow
93f050183f Bug 1078337 - Correctly respect the source rect in DrawSingleImage. r=seth
--HG--
extra : rebase_source : c00951d46388585731340cf41c15520fc0592800
2014-10-23 11:41:14 +13:00
Jonathan Watt
09f54bbbb9 Bug 1086708 - Rename the snapping variant of NSRectToRect to NSRectToSnappedRect. r=mattwoodrow 2014-10-22 12:29:06 +01: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
Jonathan Watt
c972886b3e Bug 1085159 - Port the code that uses nsRenderingContext::DrawLine() to Moz2D. r=mattwoodrow
--HG--
extra : rebase_source : 70553292850517d695994c0a3422fab8ea0b760a
2014-10-20 10:55:48 +01:00
Jonathan Watt
9e43325322 Bug 1083597, part 2 - Add a variant of NSRectToRect that snaps to device pixels, and have nsTableCellFrame::DecorateForSelection use it to restore its snapping behavior. 2014-10-19 11:47:22 +01:00
Jonathan Watt
e20775a0d6 Bug 1083557 - Port the code that uses nsRenderingContext::FillPolygon() to Moz2D. r=mattwoodrow 2014-10-17 15:06:34 +01:00
Jonathan Watt
4c7c510aca Bug 1083761 - Use Color::FromABGR in more places that to the conversion by hand and remove nsLayoutUtils::NSColorToColor(). r=mstange 2014-10-17 12:53:16 +01:00
Jonathan Watt
3a8b0e745a Bug 1083215, part 2 - Convert drawing of HTML image map area focus to Moz2D. r=mattwoodrow 2014-10-16 10:51:14 +01:00
Michael Wu
71bba5063f Bug 1083393 - Remove unused thebes things in nsLayoutUtils, r=mattwoodrow 2014-10-15 17:13:14 -04:00
Brian Birtles
d77b5db74f Bug 1046055 part 4 - Add HasCurrentAnimationsForProperty to nsLayoutUtils; r=dbaron
This patch adds a method to nsLayoutUtils, alongside the existing
HasCurrentAnimations, that returns true if there exists an unfinished animation
on the element for the specified property.
2014-10-02 15:14:14 +09:00
Brian Birtles
2bfde3e79a Bug 1046055 part 1 - Remove nsPresContext parameter from nsLayoutUtils::HasCurrentAnimations; r=dbaron 2014-10-02 15:14:13 +09:00
Dirk Schulze
a028173cff Bug 1072894 - Implement polygon() parsing for clip-path. r=heycam 2014-09-28 01:56:00 +02: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
c34ad0fe01 Bug 1071367 - Fix the composition bounds for the root content document on OS X. r=tn
According to roc the content viewer position doesn't mean much; only the size is
set to anything meaningful. Therefore using the position from the content viewer
bounds is not a good idea, and we should use the position from the frame bounds
instead. This patch also changes GetContentViewerBounds to GetContentViewerSize
so that it's harder to accidentally use the position in other places.
2014-09-23 12:17:36 -04:00
Ting-Yu Lin
e3debbffab Bug 1065244 - Part 2 - Refactor event point on frame logic for SelectionCarets. f=mtseng, r=roc 2014-09-15 02:57:00 +02:00
Ting-Yu Lin
fc63f147e7 Bug 1065244 - Part 1 - Add GetRectRelativeToFrame to nsLayoutUtils. f=mtseng, r=roc 2014-09-15 17:07:00 +02:00