Commit Graph

842 Commits

Author SHA1 Message Date
Csoregi Natalia
423b2522c4 Merge inbound to mozilla-central r=merge a=merge 2017-11-01 12:14:00 +02:00
Matt Woodrow
95d77539ea Bug 1413073 - Don't check the dirty rect when deciding if we need to store OutOfFlowDisplayData for a frame. r=mstange 2017-11-01 16:58:53 +13:00
Kartikaya Gupta
3a399cf5e5 Bug 1412280 - Update sticky code for API change in WR PR 1940. r=jrmuizel
MozReview-Commit-ID: 2I8wpe3Bt1y

--HG--
extra : rebase_source : 5056aee8978c9bd5c51724ec909125de318f04ad
2017-10-31 09:17:22 -04:00
Ethan Lin
1da48a5cc4 Bug 1407938 - Part1. Add nsDisplaySVGWrapper for webrender as a fallback display item. r=jrmuizel
MozReview-Commit-ID: LBjrqvPziCJ

--HG--
extra : rebase_source : 4f48e0c57a7170bd1d6e97cc6b426aa0cf81be4b
2017-10-16 15:47:46 +08:00
Hiroyuki Ikezoe
dba3425d42 Bug 1190721 - Throttle animations that produce any transform change hint if the target element is out-of-view. r=birtles
And unthrottle them on every 200ms just like we do for transform animations on
the compositor.  To unthrottle the transform animations properly, we need to
update UpdateLastTransformSyncTime each time we compose the style for the
animations instead of updating it when we send the transform animation to the
compositor.  That's because display item for transform is built even while we
are throttling the transform animations for some reasons, so if we updated the
last transform sync time there, the time will not match what it should be.

MozReview-Commit-ID: GwMzJqUlzd2

--HG--
extra : rebase_source : 09e379191970687a9f35aead871acf450c63813e
2017-10-31 09:45:41 +09:00
Kartikaya Gupta
05fdcd08b7 Bug 1407749 - Stop doing fallback on box-shadow display items with varying radii. r=jrmuizel
Bug 1393383 already added support for these kinds of display items (where the
border radii are not all the same) to the BuildWebRenderCommands function, but
for some reason CanBuildWebRenderCommands was left untouched and so we do
a fallback for these items when we can support them just fine.

MozReview-Commit-ID: GOAaQMfF2YQ

--HG--
extra : rebase_source : f5f7a87483347e97b5b95dd535c5497d355aebf3
2017-10-31 15:53:26 -04:00
Kartikaya Gupta
f392c7eba8 Bug 1407752 - Avoid taking the webrender fallback path for empty borders. r=jrmuizel
MozReview-Commit-ID: BTSljrUuKcH

--HG--
extra : rebase_source : f5370968de71c9b46dee32b743908f971c1ed3df
2017-10-31 13:18:14 -04:00
Markus Stange
e691e26bec Bug 1386162 - Implement nsDisplayClearBackground using push_clear_rect. r=kats
MozReview-Commit-ID: DlGA7KuZzm0

--HG--
extra : rebase_source : 2c2b402c7f9f2df8cc7cc5e80aa591f3aae946ef
extra : source : 4003a8f5c3c8bf0146183eca287c7ee162bd3d57
2017-10-31 11:31:00 -04:00
Matt Woodrow
c53662b395 Bug 1411132 - Always recurse into merging for sub-lists, even when there isn't a matching new item, so that we find all items that need invalidating. r=ethanlin
--HG--
extra : rebase_source : 2f6066ca53b4ee456e2f33b13dd54ba79e63f8b6
2017-10-30 15:29:08 +13:00
Phil Ringnalda
a9875ab37a Backed out changeset f26525123e6a (bug 1411132) for build bustage
CLOSED TREE

MozReview-Commit-ID: AcF8eNmKntl
2017-10-29 21:23:43 -07:00
Matt Woodrow
65d2972514 Bug 1411132 - Always recurse into merging for sub-lists, even when there isn't a matching new item, so that we find all items that need invalidating. r=ethanlin 2017-10-30 15:29:08 +13:00
Matt Woodrow
b47b79466f Bug 1411881 - Use separate lists for MarkFrameForDisplay and MarkFrameForDisplayIfVisible to avoid them clobbering each other when we leave a PresShell. r=ethanlin 2017-10-30 15:28:45 +13:00
Boris Chiou
0129bb4f52 Bug 1340005 - Part 4: Retrieve transform list from AnimationValue. r=birtles
MozReview-Commit-ID: 82NAOBV2rEl

--HG--
extra : rebase_source : 073ff742dcea4573febeec3b57c60b0f1f5736e2
2017-09-25 14:25:43 +08:00
Sebastian Hengst
841ee307e6 merge mozilla-central to autoland. r=merge a=merge 2017-10-27 23:32:15 +02:00
Daniel Holbert
680815cd6e Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK

--HG--
extra : rebase_source : 3356d4b80ff6213935192e87cdbc9103fec6084c
2017-10-27 10:33:53 -07:00
Daniel Holbert
0c951f3583 Bug 1412346 part 3: Move a misplaced "IWYU pragma" comment down a few lines to match our convention and so mode line can be first. r=jfkthame
MozReview-Commit-ID: IEp7T0D1VUh

--HG--
extra : rebase_source : 913702636de3b379351dc13c8aab14222498c969
2017-10-27 10:08:27 -07:00
Daniel Holbert
600885496e Bug 1412346 part 2: Split mode line into its own C++ comment & own line, in a few files within layout. r=jfkthame
(This brings these lines into conformance with our standard style for mode
lines, and it's required in order for the modeline.py script to be able to
process these files.)

MozReview-Commit-ID: KqppMKF1jHv

--HG--
extra : rebase_source : 831b29574d66b66b8104f29b5b5c538241e95eba
2017-10-27 10:08:24 -07:00
Daniel Holbert
5581e7e5de Bug 1412346 part 1: Add standard mode line & MPL boilerplate to a few layout C++ files that are missing it entirely. r=jfkthame
Note that I'm intentionally *not* leaving a blank line between the license
block and the "IWYU pragma" line, in nsDisplayItemTypesList.h. This matches the
prevailing style that I found in other files that have "IWYU pragma" lines.

I copied the boilerplate comment directly from the Coding Style MDN page:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

MozReview-Commit-ID: ACoHkDFe8Z3

--HG--
extra : rebase_source : 374d28fea72cfb76043bde724120877b15092d01
2017-10-27 10:07:35 -07:00
Sebastian Hengst
5c15da1f08 merge mozilla-inbound to mozilla-central. r=merge a=merge
--HG--
rename : testing/talos/tests/__init__.py => testing/talos/talos/unittests/__init__.py
rename : testing/talos/tests/browser_output.ts.txt => testing/talos/talos/unittests/browser_output.ts.txt
rename : testing/talos/tests/browser_output.tsvg.txt => testing/talos/talos/unittests/browser_output.tsvg.txt
rename : testing/talos/tests/profile.tgz => testing/talos/talos/unittests/profile.tgz
rename : testing/talos/tests/ps-Acj.out => testing/talos/talos/unittests/ps-Acj.out
rename : testing/talos/tests/test_talosconfig_browser_config.json => testing/talos/talos/unittests/test_talosconfig_browser_config.json
rename : testing/talos/tests/test_talosconfig_test_config.json => testing/talos/talos/unittests/test_talosconfig_test_config.json
rename : testing/talos/tests/xrestop_output.txt => testing/talos/talos/unittests/xrestop_output.txt
2017-10-27 12:45:34 +03:00
Ethan Lin
fd8e5325dd Bug 1411886 - Rebuild the dependent frame's display items in retained display list mode. r=mattwoodrow
MozReview-Commit-ID: F7239qCoKuI
2017-10-27 14:00:52 +08:00
Morris Tseng
3e38db8b6b Bug 1411813 - Don't fallback nsDisplayFilter if opacity is present. r=kats
MozReview-Commit-ID: 4I8W5JZ2fyx

--HG--
extra : rebase_source : 7da6f3552abd3a93c6ab21740027e4ab907f4ca2
2017-10-26 11:39:00 +08:00
Matt Woodrow
e588868217 Bug 1411856 - Make sure we add to the display list building area when marking a caret frame as invalid. r=ethlin
MozReview-Commit-ID: GA3pObvoPz3

--HG--
extra : rebase_source : a39c19bd653ece832436900b14468c21dd423600
2017-10-26 22:02:05 +13:00
Sebastian Hengst
443416f881 Merge mozilla-central to autoland. r=merge a=merge 2017-10-26 00:39:55 +02:00
Kartikaya Gupta
cf3b87c06e Bug 1410527 - Update how we tell WR about position:sticky elements. r=mstange
My original understanding of the API was flawed, and so while I had
position:sticky working in some cases it didn't work properly in a lot
of other cases. This patch corrects the usage of the API to match what
WR is expecting and fixes a lot of test cases.

MozReview-Commit-ID: AdMux19Fk9U

--HG--
extra : rebase_source : e7f970a710b2079501a91eeeac8c292b603210dc
2017-10-25 15:21:32 -04:00
Kartikaya Gupta
bec5f23434 Bug 1411238 - Make APZ test logging work in layers-free WR mode. r=botond
Most of this change is just fiddling with function signatures so that they take
a LayerManager* instead of a Layer* (or in some cases, both). This allows
the WebRender codepaths to pass a WebRenderLayerManager* instead of having to
produce a Layer* which it doesn't have.

MozReview-Commit-ID: Fb0C8OUVDin

--HG--
extra : rebase_source : e4c3324cfa20c295db85d5c09df8d8d77865bb6a
2017-10-25 13:22:04 -04:00
Brad Werth
aefd6655a8 Bug 1411050 Part 1: Change nsDisplayListBuilder to mark hitests either for visibility or for pointer events. r=mattwoodrow
MozReview-Commit-ID: AbYcm2gwEES

--HG--
extra : rebase_source : 589ca29f84df183df86572a3f24476d6a9b7a4ad
2017-10-24 15:03:56 -07:00
Alexis Beingessner
168deb7b2b Bug 1401653 - fixup webrender text-decoration bindings. r=jrmuizel
This does 3 things that were all a bit too intermixed to split out cleanly:

1. Teaches TextDrawTarget to handle rectangular clips (while also completely
forbidding other ones). This is necessary to handle how gecko "overdraws"
decorations with clips to create the illusion of continuous lines when they're
actually made out of multiple lines, possibly from different display items
with different lines. Previously gecko *was* handing these clips to
TextDrawTarget to use these clips, but we were just ignoring them.

This is also necessary work to support partial glyphs natively (which apply
rectangular clips to glyphs). Also note that this currently causes a bug
in webrender if combined with zero-blur shadows, but it's not a regression
since we already mishandle clipped decorations. I will work on fixing this
upstream.

2. Changes the intermediate representation of lines from the old webrender
format to a rect-based one. This is in preperation for webrender adopting
that format in a future update.

3. Changes the way wavy lines are processed, correcting some errors in the
old wavy line bindings that lead to them being positioned incorrectly. Also
introduces a wavyLineThickness property that the will be required in a
future webrender update. Wavy lines are unlike any other line, so it's
ultimately desirable to distinguish them.

The net result of these changes is that a companion upstream change (webrender#1923)
will make decoration rendering nearly identical to gecko, and much nicer.
However the clipped shadows issue will need to be seperately resolved before
actually closing this issue.

MozReview-Commit-ID: 6O2wLA6bU3C

--HG--
extra : rebase_source : 17254c45145229b75f77f87f85874e66e6edd05e
2017-10-24 12:44:38 -04:00
Attila Craciun
1fc19f42dc Backed out 1 changesets (bug 1401653) for failing no matching function for call in src/layout/generic/TextDrawTarget.h:143:43 r=backout on a CLOSED TREE.
Backed out changeset 5055d2703f2f (bug 1401653)
2017-10-25 16:32:17 +03:00
Alexis Beingessner
7d07e76ce2 Bug 1401653 - fixup webrender text-decoration bindings. r=jrmuizel
This does 3 things that were all a bit too intermixed to split out cleanly:

1. Teaches TextDrawTarget to handle rectangular clips (while also completely
forbidding other ones). This is necessary to handle how gecko "overdraws"
decorations with clips to create the illusion of continuous lines when they're
actually made out of multiple lines, possibly from different display items
with different lines. Previously gecko *was* handing these clips to
TextDrawTarget to use these clips, but we were just ignoring them.

This is also necessary work to support partial glyphs natively (which apply
rectangular clips to glyphs). Also note that this currently causes a bug
in webrender if combined with zero-blur shadows, but it's not a regression
since we already mishandle clipped decorations. I will work on fixing this
upstream.

2. Changes the intermediate representation of lines from the old webrender
format to a rect-based one. This is in preperation for webrender adopting
that format in a future update.

3. Changes the way wavy lines are processed, correcting some errors in the
old wavy line bindings that lead to them being positioned incorrectly. Also
introduces a wavyLineThickness property that the will be required in a
future webrender update. Wavy lines are unlike any other line, so it's
ultimately desirable to distinguish them.

The net result of these changes is that a companion upstream change (webrender#1923)
will make decoration rendering nearly identical to gecko, and much nicer.
However the clipped shadows issue will need to be seperately resolved before
actually closing this issue.

MozReview-Commit-ID: 6O2wLA6bU3C

--HG--
extra : rebase_source : 98da45bc7f2eaabd63ae226c505cb1580b5c8500
2017-10-24 12:44:38 -04:00
Miko Mynttinen
e61db8e3f3 Bug 1411248 - Add some early exit heuristics to avoid complicated partial display list builds r=mattwoodrow
MozReview-Commit-ID: BRYYvGHptbw

--HG--
extra : rebase_source : e740e868bf6f1ce366286a4e8a3db8f1918b4160
extra : source : df60d43e89285978ca7ba6bab5a5c7ef49ffaf92
2017-10-24 14:54:16 +02:00
Attila Craciun
7bcf901c3b Merge inbound to mozilla-central r=merge a=merge 2017-10-25 12:30:28 +03:00
Matt Woodrow
cf1e643666 Bug 1411421 - Make MarkOutOfFlowFrameForDisplay only modifiy the visible rect when we also modified the dirty rect. r=miko 2017-10-25 12:15:07 +13:00
Matt Woodrow
d3a34e5fa5 Bug 1402202 - Make FrameProperties::DeleteAll handle the case where deletion of a property triggers deletion of another. r=mats 2017-10-25 12:10:53 +13:00
Kartikaya Gupta
08961382de Bug 1409446 - Treat sticky clips as out-of-band clips. r=ethlin,mstange
MozReview-Commit-ID: C0KEuSrCPEQ

--HG--
extra : rebase_source : b4b42282f37ddbdb4b962ec72571bf280c1c47e4
2017-10-24 15:46:00 -04:00
Kartikaya Gupta
eae58bd759 Bug 1409446 - Modify the extra-clip flag to instead track more useful information. r=ethlin,mstange
Instead of just keeping a count of how many "extra clips" (aka
out-of-band clips) we have pushed, track more complex information for
each clip. In particular, track the display item's normal clip chain, as
well as the clip id of the extra clip that was pushed. This will be
needed to override clip cache information in the next patch.

MozReview-Commit-ID: AWKDTkelhyL

--HG--
extra : rebase_source : 379e38550cf45d54862850f6c4aad0ac488f6ca9
2017-10-24 15:45:59 -04:00
Kartikaya Gupta
2878061467 Bug 1409446 - Wire up the DefineClip and DefineScrollLayer APIs to allow specifying ancestry. r=jrmuizel
The APIs now allow providing the parent clip or scroll info explicitly
instead of having to push it on the stack. For now we just pass
Nothing() to preserve the existing behaviour, so this change is a
functinoal no-op.

MozReview-Commit-ID: dtNamN595

--HG--
extra : rebase_source : 3b6bd03b919bd31cd89e3f82283cb962f8f6abc5
2017-10-24 15:45:57 -04:00
Morris Tseng
392d54442c Bug 1370564 - Add suppport for blur filter. r=kats
MozReview-Commit-ID: EYoYbbIs3wH

--HG--
extra : rebase_source : afb1030fbd3592fa5a373d0657d345ec45d70d11
2017-10-20 16:42:06 +08:00
Chih-Yi Leu
bee92ecf09 Bug 1393383 - Update webrender binding code to support non-uniform border radius r=kats
MozReview-Commit-ID: 9YIPRJ9Mzfi

--HG--
extra : rebase_source : c4404c2dbd5e6ab6206b170c506ef07306c8e601
2017-10-24 14:44:29 +08:00
Miko Mynttinen
27b7485c40 Bug 1410906 - Store ThemeGeometry for display item instead of frame r=mattwoodrow
MozReview-Commit-ID: 6x7GRRTEVja

--HG--
extra : rebase_source : 3dc139938317e00b4f96498f1c1f84826fc64755
2017-10-23 18:07:36 +02:00
Hiroyuki Ikezoe
952fef1951 Bug 1395151 - Don't apply ancestors' opacity if the opacity item has an async opacity animation. r=birtles,mattwoodrow
MozReview-Commit-ID: KsxukpGrH6P

--HG--
extra : rebase_source : 3ffab9cbc5c204c7c60567a305f6177952abdb6c
2017-10-23 19:26:40 +09:00
Miko Mynttinen
964453f5c0 Bug 1410904 - Convert WeakFrame to nsIFrame* earlier to avoid copying WeakFrames r=mattwoodrow
MozReview-Commit-ID: KVzOtVATpNa

--HG--
extra : rebase_source : 888018bcc334605385852c4b7589b761e591918d
2017-10-23 18:19:39 +02:00
Sebastian Hengst
364d36fab2 merge mozilla-inbound. r=merge a=merge
MozReview-Commit-ID: B09kHrHK42C
2017-10-23 23:50:37 +02:00
Sebastian Hengst
18f1987735 merge mozilla-central to mozilla-inbound. r=merge a=merge 2017-10-23 11:46:34 +02:00
Morris Tseng
f482bf5f38 Bug 1410359 - Remove unused css filter codes. r=kats
Some css filter codes only used in layers-full mode. Since layers-full
already removed, we can also remove those unused codes.

MozReview-Commit-ID: 8YrfOfuXHNt

--HG--
extra : rebase_source : e9475d9100fbc2e5b301833f31fde1db458117aa
2017-10-20 16:10:03 +08:00
Nicholas Nethercote
3842370ed8 Bug 1405541 (attempt 2) - Split AUTO_PROFILER_LABEL_DYNAMIC into three macros. r=mstange.
It's easy to mess up the scoping so that (a) the label is pushed and then
immediately popped, and/or (b) the string doesn't live long enough. It's also
easy to do a utf16-to-utf8 conversion unnecessarily when the profiler is
inactive. This patch splits that macro into three new ones that are harder to
mess up.

- AUTO_PROFILER_LABEL_DYNAMIC_CSTR: same as current.
- AUTO_PROFILER_LABEL_DYNAMIC_NSCSTRING: for nsCStrings.
- AUTO_PROFILER_LABEL_DYNAMIC_LOSSY_NSSTRING: for nsStrings.

--HG--
extra : rebase_source : 3e2bbec4737b696e1c86579ae54be4cb3186c100
2017-10-13 16:12:57 +11:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
e97adfa0ce Bug 1404181 - Part 27: Add some retained-dl debugging tools. r=mstange
MozReview-Commit-ID: EQO1lAbUnpY

--HG--
extra : rebase_source : a11bfd8055bd83e9215211a4e48d43735d7010ba
2017-10-21 16:54:24 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
f3e6b5eb98 Bug 1404181 - Part 26: Skip DLBI for reused items (since they must not be invalid). r=mstange
MozReview-Commit-ID: 3IooTF2064G

--HG--
extra : rebase_source : 2684c97d0f105301b9a30649dfde72659435f940
2017-09-29 10:58:54 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
803900fbb1 Bug 1404181 - Part 25: Force rebuilding when we detect changes to the displaylist that didn't have invalidations. Also forces rebuilding of the canvas frame every time so that AddExtraBackgroundItems produces a consistent result. r=mstange
MozReview-Commit-ID: KBganOiuRGK

--HG--
extra : rebase_source : e816a2c1bd50430118fea2d02307dddd38ab0ecf
2017-10-21 16:51:22 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
efab685984 Bug 1404181 - Part 24: Rebuild all display items when we encounter a blend mode, since we can't easily track changes to whether we need the blend container or not. r=mstange
MozReview-Commit-ID: 9vw1vgDUp60

--HG--
extra : rebase_source : 13e83b57da66c78e0a50268b1bb760e0f57399bf
2017-09-29 10:56:31 +13:00
Matt Woodrow ext:(%2C%20Miko%20Mynttinen%20%3Cmikokm%40gmail.com%3E%2C%20Timothy%20Nikkel%20%3Ctnikkel%40gmail.com%3E)
3fa03bb34e Bug 1404181 - Part 22: Make sure we mark frames as modified any time they change position or style data and make sure we don't accidentally mark the root as being modified when we don't need to. r=mstange
MozReview-Commit-ID: J5ov5cwvvrE

--HG--
extra : rebase_source : 4eadb82e5e0b3264cc7d6aeef2693ce8aea69b43
2017-09-29 10:51:49 +13:00