Commit graph

757 commits

Author SHA1 Message Date
Carsten "Tomcat" Book
3a762886de Merge mozilla-central to mozilla-inbound 2017-04-07 15:33:03 +02:00
Mats Palmgren
6bd5854c02 Bug 1338108 - The result of adding any percentage factor to a size that is zero should also be zero. r=dholbert
MozReview-Commit-ID: ErkjtVZyFqV
2017-04-07 01:02:59 +02:00
Ting-Yu Lin
867c2263f2 Bug 1312328 - Remove CSS variables preference "layout.css.variables.enabled". r=xidorn
MozReview-Commit-ID: HwYpwbhQkZj

--HG--
extra : rebase_source : 245d116b1fef01fa1db11eef70aa0379e8a9c9e9
2017-04-07 00:29:39 +08:00
Sebastian Hengst
7c2f6c390a Backed out changeset 4df8d4e384ef (bug 1338108) for unexpectedly passing 367185-1.xhtml. r=backout 2017-04-06 21:12:29 +02:00
Mats Palmgren
14f1a284bb Bug 1338108 - The result of adding any percentage factor to a size that is zero should also be zero. r=dholbert
MozReview-Commit-ID: OzOCjvcz0A
2017-04-06 20:17:34 +02:00
Jan Henning
320ff25d1c Bug 1328868 - Part 1 - Allow setting a global zoom factor via nsLayoutUtils. r=tnikkel
For Android we want to be able to set a global zoom factor that will scale any page where font inflation is not turned on.

Android makes the system font scale available as a float factor. For our purposes, converting this to a percentage based value and rounding to an integer is accurate enough and enables us to pass this value as a standard Gecko int preference. This means we can make use of the standard infrastructure for setting and retrieving Gecko-side preferences both from Java and JS (the latter during testing), as opposed to having to write custom JNI and C++/IDL helper functions.

To that effect, we implement a method for retrieving that setting via nsLayoutUtils, analogous to the current font inflation settings. Since we later want to clamp the effective text zoom resulting from that setting by zoom.minPercent and maxPercent, we add var caches for them in nsLayoutUtils as well.

MozReview-Commit-ID: Ler2YmwzImE

--HG--
extra : rebase_source : 6959c42267c1cb2b53804a609dda3d6d8b0bf14c
extra : source : 6a06ccede9eb54e4311e75e9f481d42d8c1f47a1
2017-02-25 13:22:45 +01:00
Kartikaya Gupta
151ed266bc Bug 1316318 - Disable paint-skipping for elements where we disable APZ. r=mstange
If we disable APZ on an individual scrollable element by setting the "disable APZ"
flag on the ScrollMetadata, we should also disable paint-skipping for that element.
If we don't do this, we end up in a situation where the APZ code is not applying
the async transform but is sending repaint requests expecting the main thread to
do repaints. Meanwhile the main-thread thinks that it can send empty transactions
and have APZ update the async transform (a.k.a. paint-skipping). So visually
neither APZ nor main-thread have an effect and the element doesn't appear to
scroll except with the tile-aligned displayport shifts. Disabling paint-skipping
on the element fixes the issue.

MozReview-Commit-ID: H4wpVLw8r8X
2017-03-15 08:24:08 -04:00
Jonathan Watt
a446a17a47 Bug 1345908 - Remove nsLayoutUtils::HasCSSBoxLayout. r=cjku 2017-02-07 21:11:53 +00:00
Timothy Nikkel
887111ab7d Bug 1346109. Add a function that returns if we need a displayport base rect for calculating a displayport. r=botond 2017-03-11 00:58:09 -06:00
Jonathan Watt
ca0876480e Bug 1345841 - Stop using Maybe<const T>. r=mats 2017-02-07 11:52:22 +00:00
Xidorn Quan
6eb58892f8 Bug 1345343 - Add a pref to turn off effect of xml:base on style attribute. r=bz
MozReview-Commit-ID: EzNLxIW0OCv

--HG--
extra : rebase_source : 7c6d1278ed47d35b109bbe3e6305032b7f125fa4
2017-03-10 18:04:34 +11:00
Brad Werth
f210879e4b Bug 1343978 Part 1: Change ClientRectsAndTexts usage of DOMStringList to Sequence<DOMString>. r=smaug
MozReview-Commit-ID: 8mKxdPTq4Ej

--HG--
extra : rebase_source : bd2fb4e9e9c1962f4a678bbb42816e5cfb738fa0
2017-03-02 13:13:12 -08:00
Jonathan Watt
78009dd7a8 Bug 1341174 - Bring the declarations of the four Draw*Image() methods in nsLayoutUtils.h back together. r=dholbert 2017-01-24 17:32:11 +00:00
cku
6f08ab184e Bug 1287492 - Part 1. Implement nsLayoutUtils::HasCSSBoxLayout. r=mstange
There is no direct relation between this patch and the bug. Read through the code
and think we may reuse some logic.
MozReview-Commit-ID: HGEvDNGoIBS

--HG--
extra : rebase_source : b349702a787203317c6e66be0b9aa6818d532788
extra : source : b4ca22d03b6ba3e8eb9d0e3551830149ec99de82
2017-02-08 20:15:28 +08:00
Jonathan Watt
28ad9afcfa Bug 1058040, part 11 - Convert DrawImage/DrawImageInternal's SVGImageContext param from pointer to Maybe<>. r=dholbert 2017-01-11 01:48:29 +00:00
Neerja Pancholi
fc19ad11b3 Bug 1166147 - Part1: Ignore writing mode while printing header and footer r=dholbert
MozReview-Commit-ID: Kesy6LG2KNe

--HG--
extra : rebase_source : d8c2b8b3b5aa1079152d68e8297aef9df2ea9ec9
2017-01-19 11:45:30 -08:00
Ting-Yu Lin
3cfff373f7 Bug 1333366 Part 1 - Update document related to Corner and HalfCorner. r=mats
MozReview-Commit-ID: 4wnjQOvploH

--HG--
extra : rebase_source : f300a44b190377e8217e5070f2d01261f54f5d22
2017-01-24 18:37:05 +08:00
cku
09c56e6da6 Bug 1323912 - Part 2. Pass opacity down to imgIContainer::Draw. r=mstange
Each concrete class of imgIContainer is able to handle opacity already. All we
need to do is pass opacity value to them.

MozReview-Commit-ID: EMkLnG3YXA1

--HG--
extra : rebase_source : b0a0aad1fec0c2765e96d23ed9b627345c793795
2017-01-03 13:53:22 +08:00
Iris Hsiao
c8e876e89c Backed out changeset c868ab532766 (bug 1323912) 2017-01-04 21:47:12 -05:00
cku
adab9bea9f Bug 1323912 - Part 2. Pass opacity down to imgIContainer::Draw. r=mstange
Each concrete class of imgIContainer is able to handle opacity already. All we
need to do is pass opacity value to them.

MozReview-Commit-ID: EMkLnG3YXA1

--HG--
extra : rebase_source : 080a843b34cc1ca27831310d474243b4066f59f2
2017-01-03 13:53:22 +08:00
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