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

1571 Коммитов

Автор SHA1 Сообщение Дата
Andrew Osmond 29af4ed6a2 Bug 1446309 - Part 3. Properly handle ImgDrawResult for WebRender display list generation. r=tnikkel
When generating display lists for WebRender, we were not caching the
draw result via nsDisplayItemGenericImageGeometry::UpdateDrawResult (or
similar) after completing CreateWebRenderCommands. This is important
because reftests use this to force sync decoding for images; it may be a
reason for image-related intermittent failures on *-qr builds.

Additionally, we may have been requesting fallback in cases where fallback
could not do anything more than WebRender could. For example, if we can't
get an image container yet, there is no point in requesting fallback
because it might just be we haven't started decoding yet. We should just
return the actual draw result in such cases.
2018-09-13 19:48:27 -04:00
Andrew Osmond e9f7db43b8 Bug 1446309 - Part 1. Return draw result from imgIContainer::GetImageContainerAtSize. r=tnikkel
In addition to the image container, the draw result can also be useful
for callers to know whether or not the surface(s) in the container are
fully decoded or not. This is used in subsequent parts to avoid
flickering in some cases.
2018-09-13 19:48:21 -04:00
Jonathan Watt 9b010a0e34 Bug 1488700 p9. Rename nsSVGFilterProperty to SVGFilterObserverListForCSSProp. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D5622

--HG--
extra : rebase_source : 1018e7125d0d5477701a448a52507d29b924b068
2018-08-13 12:49:21 +02:00
Doug Thayer bf43d69d72 Bug 1489702 - Move mClipChainsToDestroy inline r=mattwoodrow
Fairly straightforward - went with extra indirection in the
FreeClipChains method to avoid all the extra variables and
code paths.

Differential Revision: https://phabricator.services.mozilla.com/D5342

--HG--
extra : moz-landing-system : lando
2018-09-11 18:03:18 +00:00
Cosmin Sabou de7676288a Merge mozilla-inbound to mozilla-central. a=merge 2018-09-11 13:06:37 +03:00
Gerald Squelart b51e0fd0cc Bug 1489944 - Fixed some std::move warnings - r=froydnj
> dom/media/gmp/CDMStorageIdProvider.cpp(63,10):  warning:
> local variable 'storageId' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/DisplayItemClip.cpp(581,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/DisplayItemClipChain.cpp(88,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/nsDisplayList.cpp(179,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> gfx/thebes/gfxWindowsPlatform.cpp(454,10):  warning:
> moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
Will remove std::move().

> gfx/thebes/gfxFontEntry.cpp(245,20):  warning:
> local variable 'name' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> netwerk/cookie/nsCookieService.cpp(4460,10):  warning:
> local variable 'path' will be copied despite being returned by name [-Wreturn-std-move]
GetPathFromURI() result is stored in an nsAutoCString, so it might as well return that type.

> toolkit/components/extensions/WebExtensionPolicy.cpp(462,12):  warning:
> local variable 'result' will be copied despite being returned by name [-Wreturn-std-move]
> toolkit/components/extensions/WebExtensionPolicy.cpp(475,10):  warning:
> local variable 'result' will be copied despite being returned by name [-Wreturn-std-move]
`result` may be empty or may be arbitrarily long, so I'll use nsCString inside the function.

> toolkit/xre/CmdLineAndEnvUtils.h(349,10):  warning:
> moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
Returning an UniquePtr, will remove std::move().
Also will `return s` instead of `return nullptr` when `(!s)`, to avoid extra construction which could also prevent elision (not entirely sure, but it's at least not worse!); and it's clearer that the two `return`s return the same already-constructed on-stack object.

> tools/profiler/core/shared-libraries-win32.cc(111,10):  warning:
> local variable 'version' will be copied despite being returned by name [-Wreturn-std-move]
nsPrintfCString -> nsCString, will add std::move().

> xpcom/glue/FileUtils.cpp(179,10):  warning:
> local variable 'fullName' will be copied despite being returned by name [-Wreturn-std-move]
> xpcom/glue/FileUtils.cpp(209,10):  warning:
> local variable 'path' will be copied despite being returned by name [-Wreturn-std-move]
nsAuto{,C}String -> ns{,C}String, will add std::move().

This allowed removals of 'AllowCompilerWarnings' from layout/painting,
netwerk/cookie, and toolkit/components/extensions.

Differential Revision: https://phabricator.services.mozilla.com/D5425

--HG--
extra : moz-landing-system : lando
2018-09-10 15:51:48 +00:00
Daniel Varga 1539df295b Merge mozilla-inbound to mozilla-central a=merge 2018-09-08 06:53:43 +03:00
Emilio Cobos Álvarez c9c6290890 Bug 1489453 - EnumSet shouldn't take 32 bits if not needed. r=froydnj
This is the only reason I haven't used it before for things like
StyleSheet::State.

Change the underlying type to be the underlying enum representation by default,
but allow to override it if wanted.

Assertions should catch misuses.

Differential Revision: https://phabricator.services.mozilla.com/D5248

--HG--
extra : moz-landing-system : lando
2018-09-07 14:40:02 +00:00
Jeff Muizelaar c4219b4843 Bug 1486377. Avoid repeat sampling when not wanted. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D5279
2018-09-07 18:12:21 -04:00
Henrik Winnemöller be01b218cc Bug 1488555 - Use ImageRendering property to provide proper filtering support for AsyncImage. r=nical
Introduce an ImageRendering argument for CreateImageKey which is then used at the CreateAsyncImageWebRenderCommands call to provide the proper filtering instead of using always Auto filtering. Update all calls to CreateImageKey to use the new interface.
2018-09-07 22:28:41 +02:00
Jeff Muizelaar 07e9250f5d Bug 1449634. Handle foreignobject better with blob invalidation. r=mstange
Turn off grouping and switch to regular WebRender building when
we encounter a foreignobject.

MozReview-Commit-ID: 6fHc4Ioi22N
2018-09-06 16:10:51 -04:00
Doug Thayer ebc62f01e4 Bug 1489588 - Disallow nsDisplayList copies and implement moves r=mattwoodrow
Summary:
nsDisplayLists are currently a little bit error prone, since the
empty state of an nsDisplayList requires mTop == &mSentinel.
since &mSentinel will change when copied, while mTop won't,
this naturally creates an invalid state. Additionally, copies
don't quite make sense, since there is a requirement in the
destructor that destructed nsDisplayLists are empty - in which
case we would have to empty both the copied and the original
nsDisplayList - something which is unlikely to happen naturally.
Moves however are a natural operation - we just need to implement
the correct move behavior accounting for this mTop == &mSentinel
requirement.

Reviewers: mattwoodrow

Reviewed By: mattwoodrow

Bug #: 1489588

Differential Revision: https://phabricator.services.mozilla.com/D5293

--HG--
extra : rebase_source : e8889903c6cd03a8ec0ff90f189dbdcc79201eb3
extra : histedit_source : 9e0e18702e6e4b4feb5bea0548dc42250905f897
2018-09-11 04:29:38 +03:00
Miko Mynttinen 50215c6a21 Bug 1488889 - Pass nsSubDocumentFrame to nsDisplaySubDocument constructor r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D5091

--HG--
extra : moz-landing-system : lando
2018-09-05 23:16:17 +00:00
Sebastian Hengst bcdcf7554b Bug 1487190 - Update bugzilla metadata in moz.build files to reflect Layout components reorganization in bug 1484408. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D4642

--HG--
extra : moz-landing-system : lando
2018-09-05 11:16:02 +00:00
Sebastian Hengst 0003a3ce96 Backed out changeset 834a75789c0a (bug 1487190) for bustage due to unused file pattern 2018-09-05 14:11:04 +03:00
Sebastian Hengst 38d937a7c0 Bug 1487190 - Update bugzilla metadata in moz.build files to reflect Layout components reorganization in bug 1484408. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D4642

--HG--
extra : moz-landing-system : lando
2018-09-05 10:54:03 +00:00
Dorel Luca b9abf01ee1 Backed out changeset 9e0481c2413d (bug 1487190) for breaking Gecko Decision Task. CLOSED TREE 2018-09-05 13:43:09 +03:00
Sebastian Hengst 447d464a1a Bug 1487190 - Update bugzilla metadata in moz.build files to reflect Layout components reorganization in bug 1484408. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D4642

--HG--
extra : moz-landing-system : lando
2018-09-05 10:00:39 +00:00
Miko Mynttinen b7eaedb6ea Bug 1484966 - Part 3: Clang format layout/painting/ r=mattwoodrow
Depends on D3870

Differential Revision: https://phabricator.services.mozilla.com/D3871

--HG--
extra : moz-landing-system : lando
2018-09-04 20:46:21 +00:00
Miko Mynttinen a5d71a93f1 Bug 1484966 - Part 2: Fix virtual/override specifiers and whitespace r=mattwoodrow
Depends on D3869

Differential Revision: https://phabricator.services.mozilla.com/D3870

--HG--
extra : moz-landing-system : lando
2018-09-04 20:45:55 +00:00
Csoregi Natalia 5984db0879 Backed out 2 changesets (bug 1484966) for bustage on RefPtr.h:42. CLOSED TREE
Backed out changeset 7b246c8f9de8 (bug 1484966)
Backed out changeset 399158a0a9b3 (bug 1484966)
2018-09-04 23:42:36 +03:00
Miko Mynttinen bb2d78e17e Bug 1484966 - Part 3: Clang format layout/painting/ r=mattwoodrow
Depends on D3870

Differential Revision: https://phabricator.services.mozilla.com/D3871

--HG--
extra : moz-landing-system : lando
2018-09-04 17:21:36 +00:00
Miko Mynttinen 1e1dc727b9 Bug 1484966 - Part 2: Fix virtual/override specifiers and whitespace r=mattwoodrow
Depends on D3869

Differential Revision: https://phabricator.services.mozilla.com/D3870

--HG--
extra : moz-landing-system : lando
2018-09-04 17:20:40 +00:00
Miko Mynttinen 2f3ec8cc90 Bug 1484966 - Part 1: Fix most clang-tidy warnings for layout/painting/ r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D3869

--HG--
extra : moz-landing-system : lando
2018-09-04 17:19:36 +00:00
Andrew Osmond c4053ead28 Bug 1486962 - Ensure frame is associated with background images with WebRender. r=mstange
The frame for a background image should be associated with the image
request. This was done on the non-WebRender path in
nsCSSRendering::PaintStyleImageLayerWithSC but otherwise missing for the
WebRender path. This is important because the association is what allows
the FRAME_UPDATE from imagelib to cause a repaint. Without it, it will
manifest as incomplete or missing background images, in particular after
the background image SourceSurface has been released to save memory.
2018-08-30 18:19:59 -04:00
Miko Mynttinen 1548622d86 Bug 1472733 - Improve IntRect overflow handling when calculating layer invalidation area and visible region r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D4627

--HG--
extra : moz-landing-system : lando
2018-08-30 00:59:28 +00:00
Emilio Cobos Álvarez f105c67c35 Bug 1471583. Add a new ImgDrawResult variant to distinguish INCOMPLETE and 'fully drew an image which wasn't really complete'. r=tnikkel 2018-08-29 00:53:08 -05:00
Timothy Nikkel 9d4fbc85b4 Bug 1471583. Don't record a successful image draw if the image isn't marked complete. r=mattwoodrow
The image can be decoded but we haven't notified such (and hence the image state doesn't indicate such). We are able to draw the image at this point because painting has special access to the image that bypasses the image state (this happens via nsStyleImage::StartDecoding -> imgIRequest::StartDecodingWithResult).

In this state if we record a successful draw then any parts of the image that we newly drew but weren't invalidated for some other reason won't get updated. When the async decode notification gets processed it will invalidate the image and that will result in it getting updated. But if we get a paint that asks for sync decoding of images before this it will see that we sucessfully drew the image and not invalidate its area and the sync decode paint won't update the image.

So we still draw the image but we don't record a successful draw unless the image state is complete and hence the decode notification has been processed (image state and notifications are always in sync).

Note that we still have to draw the image in this state because if we get a normal paint after a sync decode paint we have to draw the image because if we don't we effectively erase the image.
2018-08-29 00:53:06 -05:00
Emilio Cobos Álvarez 59258ba1a7 Bug 1459065 - Clip filter effects at the stacking context level. r=mstange
Much like mask images. This is the easy fix, for now.

We need to override the ASR clips with Nothing() because we don't really want
children of this display item to get the parent filter applied. It's not only
redundant, but also may be incorrect if the mask image is not opaque for example
(maybe WR should prevent that?).

This was caught by layout/reftests/w3c-css/submitted/masking/mask-opacity-1a.html

Differential Revision: https://phabricator.services.mozilla.com/D4351

--HG--
extra : moz-landing-system : lando
2018-08-28 15:42:14 +00:00
Csoregi Natalia 403b2ebd26 Backed out changeset f4739ab0ece1 (bug 1459065) for /svg/filters/ failures. CLOSED TREE 2018-08-28 18:25:24 +03:00
Emilio Cobos Álvarez 5a5b1a138e Bug 1459065 - Clip filter effects at the stacking context level. r=mstange
Much like mask images. This is the easy fix, for now.

We need to override the ASR clips with Nothing() because we don't really want
children of this display item to get the parent filter applied. It's not only
redundant, but also may be incorrect if the mask image is not opaque for example
(maybe WR should prevent that?).

This was caught by layout/reftests/w3c-css/submitted/masking/mask-opacity-1a.html

Differential Revision: https://phabricator.services.mozilla.com/D4351

--HG--
extra : moz-landing-system : lando
2018-08-27 19:23:34 +00:00
Cosmin Sabou 2cbfcdeacb Backed out changeset be4fd8ee7afd (bug 1483985) for causing build bustages on LookupCache. CLOSED TREE 2018-08-27 18:26:41 +03:00
Alex Gaynor cb45cd7b82 Bug 1483985 - use std::move to avoid a copy in a few places that clang recommends; r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D3543

--HG--
extra : moz-landing-system : lando
2018-08-27 15:06:58 +00:00
Markus Stange f99517b75e Bug 1435045 - Don't make CSS filters on the <svg> element use fallback. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D4018

--HG--
extra : moz-landing-system : lando
2018-08-22 22:06:24 +00:00
Boris Chiou cc2e8fb329 Bug 1429298 - Part 6: Apply motion path transform matrix. r=nical
We implement the layout part of offset-path. Now we don't have
offset-distance, so use the default value, 0%, for it.

Note: rename mCombinedTransform as mIndividualTransform, which only
stores the combined individual transforms. We apply the individual
transforms, motion path transform, and specified transform in
ReadTransforms. (We have to follow the order, so we don't combine the
specified transform in FinishStyle.)

Differential Revision: https://phabricator.services.mozilla.com/D2968
2018-08-21 22:41:44 -07:00
Miko Mynttinen 37fcc5ff3b Bug 1483649 - Do not skip display items for flattened effects in ContainerState::FindOpaqueBackgroundColorInLayer r=mattwoodrow
The area covered by flattened effects and their children should be considered in the background color selection to avoid defaulting to canvas background color.

Differential Revision: https://phabricator.services.mozilla.com/D3809

--HG--
extra : moz-landing-system : lando
2018-08-20 20:29:09 +00:00
Xidorn Quan ee8b85324b Bug 1469741 part 1 - Apply scrollbar colors to background of some scrollbar parts when theme doesn't support them. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D3578

--HG--
extra : moz-landing-system : lando
2018-08-20 01:33:54 +00:00
Kashav Madan e3060a3711 Bug 1465616 - Use the larger viewport to layout and size fixed position elements. r=mstange
Since fixed position elements are now scrollable, we need to ensure that
they're drawn into the viewport that they're attached to.

MozReview-Commit-ID: ADQXkLjwIzR

--HG--
extra : rebase_source : 2a2ec4983e2ec7f69a3c18389661e00e47ac5277
2018-07-04 16:10:04 -04:00
Daniel Holbert 0878eb4d7e Bug 1483394: Remove unneeded #includes of nsContentUtils.h in /layout. r=TYLin
For each file touched in this patch, the file had an #include for nsContentUtils.h, but no other mentions of the string "nsContentUtils", nor any mention of its "ScriptBlocker"-related types. So these files likely don't need their nsContentUtils.h include anymore, and we can remove it to get a marginal win on build time/complexity.

Differential Revision: https://phabricator.services.mozilla.com/D3370

--HG--
extra : moz-landing-system : lando
2018-08-15 07:04:43 +00:00
Margareta Eliza Balazs 9575863d77 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-14 12:35:25 +03:00
Xidorn Quan 33b8a6dacd Bug 1483090 - Rename StyleUserInterface to StyleUI. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D3276

--HG--
extra : moz-landing-system : lando
2018-08-14 08:37:37 +00:00
Ting-Yu Lin 48d02834a5 Bug 1482665 Part 2 - Remove nsPresContext::AppUnitsPerCSSPixel() and replace it with mozilla::AppUnitsPerCSSPixel(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3155
2018-08-13 14:29:28 -07:00
Matt Woodrow 0ea228cfd7 Bug 1480695 - Add telemetry to record how frequently we encounter a cross-origin <iframe> within a filter. r=mstange,Nika 2018-08-09 16:30:39 +12:00
Coroiu Cristina aca41ab710 Backed out changeset a18c257cf35d (bug 1480695) for build bustage at build/src/obj-firefox/dist/include/nsDisplayList.h 2018-08-09 07:49:46 +03:00
Matt Woodrow 6e927e7e6d Bug 1480695 - Add telemetry to record how frequently we encounter a cross-origin <iframe> within a filter. r=mstange,Nika 2018-08-09 16:30:39 +12:00
Jeremy Lempereur 96d35f35bd Bug 1471708 - Rename the "scroll-position clamping scroll port size" to "visual viewport size". r=botond
MozReview-Commit-ID: IWPzXSF5jfR

--HG--
extra : rebase_source : f67d64ef18a643077d5019048399e68acc722337
2018-07-22 21:49:38 +02:00
Masatoshi Kimura 3b21b7868b Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : c09366fb93e5b0f72abe1e99d3094e3d96a934fb
extra : intermediate-source : 5950c9d63c3b4fd63a25464a7b50944aaec7079f
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Cosmin Sabou 7cf1ac297e Backed out changeset 542243f5f600 (bug 1471708) for failling reftest on gfx/layers/apz/test/reftest/async-scrollbar-1. 2018-08-05 07:57:50 +03:00
Jeremy Lempereur e591a6945a Bug 1471708 - Rename the "scroll-position clamping scroll port size" to "visual viewport size". r=botond
MozReview-Commit-ID: IWPzXSF5jfR

--HG--
extra : rebase_source : 9d13a680ebf76a5f86c9040a5a16981514435dc8
2018-07-22 21:49:38 +02:00
Matt Woodrow b558f51c84 Bug 1479914 - Always use the new caret display item when available as these can change without an invalidation. r=miko
MozReview-Commit-ID: 8Le6xRfv5RL

--HG--
extra : rebase_source : 5703b21f786b51ae3bbb8ea6ce1e2d456b14b579
2018-08-03 22:15:55 +12:00
Miko Mynttinen 82395c69d1 Bug 1477693 - Part 3: Refactor FrameLayerBuilder invalidation functions to better handle different coordinate spaces r=mattwoodrow
MozReview-Commit-ID: 1NDcg88a1Ge

--HG--
extra : rebase_source : 97208a584e907473793fd9f4a528bc6166683ebf
2018-07-26 00:22:33 +02:00
Miko Mynttinen 222e57e271 Bug 1477693 - Part 2: Do not allow implicit cast between rect and region with InvalidatePostTransformRegion() r=mattwoodrow
MozReview-Commit-ID: LjIhBb2JjQ

--HG--
extra : rebase_source : 790d92333e2486b243afbde09875c3c9ceccf15f
2018-07-25 22:41:03 +02:00
Miko Mynttinen ca9f5b45f8 Bug 1477693 - Part 1: Move TransformClipNode and TransformWithNode functions to TransformClipNode.h r=mattwoodrow
MozReview-Commit-ID: 13uSenWdNXJ

--HG--
extra : rebase_source : cd1c6cb203bba00ece5dcae833c0c38e1f1ef322
2018-07-25 21:58:22 +02:00
Coroiu Cristina 09c6bcc2ca Merge mozilla-central to autoland a=merge 2018-07-31 05:05:39 +03:00
Coroiu Cristina 6ba5f27325 Backed out 4 changesets (bug 1477693) for perma-failing reftests at tests/layout/reftests/svg/smil/transform/scale-1-ref.svg a=backout
Backed out changeset 069ad25949f3 (bug 1477693)
Backed out changeset 34f12e5543aa (bug 1477693)
Backed out changeset 864e12713e98 (bug 1477693)
Backed out changeset fa4d0ff6f779 (bug 1477693)
2018-07-31 05:02:33 +03:00
Miko Mynttinen f0923000a3 Bug 1479092 - Fix comments and whitespace. r=me
--HG--
extra : rebase_source : 2c76ad061319e886659b645efdac7601907050a2
2018-07-30 16:33:07 +02:00
Coroiu Cristina 70216eda0a Merge mozilla-central to autoland a=merge on a CLOSED TREE 2018-07-31 01:02:15 +03:00
Matt Woodrow 1c14c56cce Bug 1475971 - Copy the building rect into old items when we decide we can reuse them. r=miko
MozReview-Commit-ID: JXHZ17iFaei

--HG--
extra : rebase_source : 42fc06465a644de597f78e46878037b653da046e
2018-07-30 16:03:32 +12:00
Miko Mynttinen caf9b6a162 Bug 1479092 - Reuse clips for consecutive effects during painting, if possible r=mattwoodrow
MozReview-Commit-ID: 8bpWDa3JTMu

--HG--
extra : rebase_source : 02c3c57c54298dae38fed74432e408d590c2da67
2018-07-27 21:44:10 +02:00
Miko Mynttinen 605b909841 Bug 1479091: Add fast-path for items inside effects r=mattwoodrow
MozReview-Commit-ID: GNMxePW4R9e

--HG--
extra : rebase_source : 74683799fcb5182db2e376d2e9af13eaa6b3832a
2018-07-27 22:17:59 +02:00
Miko Mynttinen 536d27c7f5 Bug 1477693 - Part 3: Refactor FrameLayerBuilder invalidation functions to better handle different coordinate spaces r=mattwoodrow
MozReview-Commit-ID: 1NDcg88a1Ge

--HG--
extra : rebase_source : a4e5c424570239604b285e19bb57fc7a97a63381
2018-07-26 00:22:33 +02:00
Miko Mynttinen e38b4b8fbd Bug 1477693 - Part 2: Do not allow implicit cast between rect and region with InvalidatePostTransformRegion() r=mattwoodrow
MozReview-Commit-ID: LjIhBb2JjQ

--HG--
extra : rebase_source : bb7273882b4c3db3ef339f2862144f0e8531e625
2018-07-25 22:41:03 +02:00
Miko Mynttinen 83730e5618 Bug 1477693 - Part 1: Move TransformClipNode and TransformWithNode functions to TransformClipNode.h r=mattwoodrow
MozReview-Commit-ID: 13uSenWdNXJ

--HG--
extra : rebase_source : 6847b970fecc141e6968134afcec6aebafdfc3c0
2018-07-25 21:58:22 +02:00
Miko Mynttinen 1f7081c0aa Bug 1477831 - Merge items in FLBDisplayItemIterator r=mattwoodrow
MozReview-Commit-ID: AWxVue3tjN1

--HG--
extra : rebase_source : 94a3a2bbc70b2259c7ad0caeaec62fc10770b872
2018-07-24 16:31:04 +02:00
Emilio Cobos Álvarez 517256e365 Bug 1478391: Autogenerate StyleAppearance. r=jwatt
This builds on bug 1428676 and introduces StyleAppearance, which replaces the
NS_THEME_* constants.

Really sorry for the size of the patch.

There's a non-trivial change in the gtk theme, which I submitted separately as
bug 1478385.

Differential Revision: https://phabricator.services.mozilla.com/D2361

MozReview-Commit-ID: DiSmMWK7Krp
2018-07-26 17:06:17 +02:00
Cosmin Sabou 0d3874d7d6 Merge mozilla-inbound to mozilla-central. a=merge 2018-07-21 00:42:01 +03:00
Ryan VanderMeulen 7c56172d60 Backed out 5 changesets (bug 1465616) for causing Fennec scrolling regressions.
Backed out changeset 403ba3d9539a (bug 1465616)
Backed out changeset ea79ddd406f4 (bug 1465616)
Backed out changeset 559c8997eb53 (bug 1465616)
Backed out changeset 3f5ca59998bf (bug 1465616)
Backed out changeset 9e48a27950be (bug 1465616)

--HG--
extra : amend_source : 8cc378d26e9fea0ed6277b69f227191e849001d8
2018-07-20 14:40:51 -04:00
Miko Mynttinen 21ec2cdf13 Bug 1462672 - Move #ifdef/#endif to right place r=me
--HG--
extra : rebase_source : 8a0e9051b22357af45c57e3ea4163bea0f5192ad
2018-07-20 19:55:28 +02:00
Miko Mynttinen 411fe6b5c6 Bug 1462672 - Part 8: Flatten inactive nsDisplayTransform items r=mattwoodrow
MozReview-Commit-ID: 5ushAgOec9U

--HG--
extra : rebase_source : 17d866e038f594f8f544ce4786d1581995824915
2018-07-17 02:14:28 +02:00
Miko Mynttinen 03a67e4d61 Bug 1462672 - Part 7: Add FLBDisplayItemIterator support for flattening inactive transforms r=mattwoodrow
MozReview-Commit-ID: 8cv6qh1s4qy

--HG--
extra : rebase_source : 4c4a6e87bd2701c0ff047d8e41eee88830edadab
2018-07-17 01:34:15 +02:00
Miko Mynttinen ed0fd2fe79 Bug 1462672 - Part 6: Add MatrixStack and TransformClipNode r=mattwoodrow
MozReview-Commit-ID: JzQwfUmFTxT

--HG--
extra : rebase_source : 6cfd11e51533f1ddac29b739b5383dd4042cf9ea
2018-07-16 21:22:43 +02:00
Miko Mynttinen 0c42827471 Bug 1462672 - Part 5: Add a pref flag to allow flattening inactive nsDisplayTransform items r=mattwoodrow
MozReview-Commit-ID: BQGzaAMzReF

--HG--
extra : rebase_source : 42678409280a795fe891e10eceb86fa269d1d2de
2018-07-16 21:27:08 +02:00
Miko Mynttinen 99cc376922 Bug 1462672 - Part 4: Add nsDisplayTransformGeometry r=mattwoodrow
MozReview-Commit-ID: 47lrPomXs2N

--HG--
extra : rebase_source : 2bde5b4d659e2945514bab74727f3ceb4246189a
2018-07-16 21:25:43 +02:00
Miko Mynttinen c626df5251 Bug 1462672 - Part 3: Extract transform matrix selection into a separate function nsDisplayTransform::ShouldSkipTransform r=mattwoodrow
MozReview-Commit-ID: 4ZE0vvCucfz

--HG--
extra : rebase_source : c5e141dcef26cf7b01030825b79080cc939611bf
2018-07-16 21:24:13 +02:00
Miko Mynttinen 509284a26b Bug 1462672 - Part 2: Make nsDisplayTransform::GetTransformForRendering and DisplayItemClip::ApplyTo const r=mattwoodrow
MozReview-Commit-ID: B9zpHCDeUq3

--HG--
extra : rebase_source : d73737d6d593dbd498e7c958092ce6e7bf1dd97e
2018-07-16 21:20:21 +02:00
Miko Mynttinen d2fbe47a2e Bug 1462672 - Part 1: Remove unused parameter aUseClipBounds r=mattwoodrow
MozReview-Commit-ID: IwqEzMKfxZ4

--HG--
extra : rebase_source : ecc2675f3a525957eae60db6e00558a9c1c8fc7d
2018-07-16 21:18:59 +02:00
Cosmin Sabou 099320d8ad Merge mozilla-central to autoland. a=merge 2018-07-18 20:21:59 +03:00
Kashav Madan 0c865cee42 Bug 1465616 - Use layout viewport size to compute visible rect for fixed position elements. r=mstange
Since fixed position elements are now scrollable, we need to ensure that they're
drawn using the layout viewport size instead of only the SPC-SPS, since
otherwise they'd be inaccurately clipped when scrolled.

MozReview-Commit-ID: 4p3pWnwluvz

--HG--
extra : rebase_source : f5bc1eae9bf2c8f4b9f78675e9da071de012160e
2018-07-04 16:10:04 -04:00
Bas Schouten 2ffa4da191 Bug 1476506: Move RoundedRect into Moz2D and convert all callers. r=mattwoodrow 2018-07-18 08:55:43 +02:00
Doug Thayer 29c0e06cd6 Bug 1471381 - Don't give up on rounded rects in DisplayItemClip r=mattwoodrow
Effectively we compute the diff by lopping off the rounded part
of each rect where appropriate. This gets a bit weird to think
about with very mismatched radii, but I think it works out(?)

MozReview-Commit-ID: 472gx7Hw1Br

--HG--
extra : rebase_source : 817a84d78c98ac99797ab73b89f8c667189767d1
2018-07-13 09:11:28 -07:00
Miko Mynttinen dc2028f5bb Bug 1472465 - Update flattened nsDisplayOpacity geometry despite empty invalidation region r=mattwoodrow
MozReview-Commit-ID: 7mrTuQ6gEoA

--HG--
extra : rebase_source : eba482b61fe298734a0a727dc29453054131f746
2018-07-16 01:09:23 +02:00
Matt Woodrow aaaba0f931 Bug 1474466 - Convert rounded rect clips into paint geometry if the display item type support it. r=bas,jnicol
MozReview-Commit-ID: EkqgSSLufnp

--HG--
extra : rebase_source : 3c308cd46934107f734b311ea2e2b26251c15bf5
2018-07-15 20:26:46 +12:00
Matt Woodrow 4f18c0f4a2 Bug 1475413 - Prefer using old items for uninvalidated frames during display list merging. r=miko
MozReview-Commit-ID: 14gc2IBJT1o

--HG--
extra : rebase_source : 6de86aec8ef1039b3adf8006cea456efadbed73b
2018-07-13 12:26:36 +12:00
Emilio Cobos Álvarez 1494e3f878 Bug 1474903: Minor static_cast cleanup in nsDisplayList. r=miko
MozReview-Commit-ID: 30vwluk0r39
2018-07-13 17:17:03 +02:00
Coroiu Cristina 681774eb08 Backed out changeset 9851707b13cb (bug 1471583) for Wr4 failures in multiple files e.g. css/CSS2/backgrounds/background-root-010.xht on a CLOSED TREE 2018-07-12 18:07:57 +03:00
Emilio Cobos Álvarez b00499528d Bug 1471583: Don't record a successful draw result if the image is not complete yet. r=tnikkel
I've tried to unsuccessfully reproduce the same kind of failures locally under
rr with this patch applied, so that's a good sign.

This should fix the case where we don't invalidate from AttemptPartialUpdate
while trying to sync-decode.

This is a clear part of the problem, though not sure yet if it'll fix all the
issues we see in these tests. In any case I want to investigate those
separately.

Differential Revision: https://phabricator.services.mozilla.com/D2068

MozReview-Commit-ID: H7OEvbQUues
2018-07-12 14:13:49 +02:00
Kartikaya Gupta 11b43679d8 Bug 1421825 - Fix crash and re-enable crashtest. r=jrmuizel
In some cases we get a gecko display list that looks like this:

WrapList with asr(<A>, <B>)
  Item with asr (<B>) and clipchain(<something> [A])

In this case, we would initialize the WebRenderLayerScrollData for the
nested item using a stop-at ancestor of A (because that was the leafmost
ASR from the containing WrapList) but the item itself has an ASR of B,
which is an ancestor of A. So when walking up from B we'd never hit the
stop-at ancestor, and so we'd end up duplicating metrics from the
containing WRLSD onto the nested WRLSD. This generated an assertion
failure in the APZ code.

This patch detects this scenario and skips adding metrics on the nested
WRLSD. This produces an APZ tree equivalent to what the non-WebRender
path would produce.

MozReview-Commit-ID: 8eo6pzXXKBd

--HG--
extra : rebase_source : 0581c54c4d9fa6ca08249e42b306c7155022bec7
2018-07-10 09:37:40 -04:00
Jamie Nicol ab2277aaa8 Bug 1462584 - Avoid dereferencing DisplayItemData in GetOldLayerForFrame. r=mattwoodrow
It's causing cache misses which are showing up in profiles of the displaylist
mutate test case.

To avoid checking Disconnected(), we can destroy the DisplayItemData
and unset the item's pointer to it, rather than calling Disconnect()
in the first place.

To avoid fetching the LayerManager (to compare with mRetainingManager)
we can store this value on the display item along with the
DisplayItemData.

This change ensures that if a nsDisplayItem holds a pointer to a
DisplayItemData then that DisplayItemData holds a pointer back, and
vice-versa.

MozReview-Commit-ID: AAVAs8c0CQY

--HG--
extra : rebase_source : e60c378877618592f311e690219099b1cfc4c9d4
2018-05-10 16:53:34 +01:00
Matt Woodrow 6520bffb3a Bug 1421885 - Part 1: Don't let mNoActionRegion get complex when we've already added it to mDispatchToContentRegion. r=kats
MozReview-Commit-ID: 8oBbyseQsCV

--HG--
extra : rebase_source : 2327df91c4bd9f72a1f2a51d522b46f76608b611
2018-07-10 15:19:43 +12:00
Ciure Andrei c01c70ada6 Backed out 2 changesets (bug 1421885) for test_group_touchevents-3.html failures CLOSED TREE
Backed out changeset faab566585a2 (bug 1421885)
Backed out changeset cac0b0aa948e (bug 1421885)
2018-07-10 02:59:05 +03:00
Matt Woodrow c1d6c26906 Bug 1466638 - Implement support for ContainerLayerParameters::mOffset in nsDisplayImageContainer. r=mstange
This gets set to a non-zero value when we have an inactive ContainerLayer ancestor (filter in this case).
The current code assumes we'd never call BuildLayer on an image when that happen, but we force the pseudo-active
state here because background-position is animated (all properties have a transition).

MozReview-Commit-ID: 6pL8EJTNgWy

--HG--
extra : rebase_source : 6370fc79d5f47f0b5c4bbe86c0b605b90256b653
2018-07-09 16:11:08 +12:00
Matt Woodrow 3def26fd12 Bug 1421885 - Part 1: Don't let mNoActionRegion get complex when we've already added it to mDispatchToContentRegion. r=kats
MozReview-Commit-ID: 5DwLyJ7qeN0

--HG--
extra : rebase_source : 34740ca99fe1bec2f594c58967e39964026c1014
2018-07-10 10:50:10 +12:00
Ciure Andrei a3f8fecfd2 Backed out 2 changesets (bug 1421885) for helper_touch_action_complex.html failures CLOSED TREE
Backed out changeset 42f32a0e7508 (bug 1421885)
Backed out changeset 9f106d66d06e (bug 1421885)
2018-07-10 00:35:21 +03:00
Matt Woodrow 3988cf0afa Bug 1421885 - Part 1: Don't let mNoActionRegion get complex when we've already added it to mDispatchToContentRegion. r=kats
MozReview-Commit-ID: 11gi2u4bAdJ

--HG--
extra : rebase_source : b3dc98930fb623244689fa15ff6a5275bc212312
2018-07-09 16:12:54 +12:00
Kartikaya Gupta 78dba184db Bug 1461313 - Handle invalid clip-path URIs with WebRender. r=mstange
In the case of an invalid clip-path, the browser is supposed to discard the
mask entirely. In the non-webrender codepath this would happen
implicitly because the computed MaskUsage would have no flags set, and
so no actions would be taken on the gfxContext which contained the
display items rasterized so far. In the WebRender codepath, though, we
invoke the code on a A8 drawtarget that's zero-filled, so if PaintMask
fails to rasterize anything into it, it gets treated as a "mask everything
out" mask. Instead, this patch makes it so that we detect the scenario
where the computed MaskUsage is a no-op, and ensure that we don't apply
the mask in that case.

An alternative approach considered was to initialize the A8 drawtarget to
white instead of black but in cases where there is an actual mask, the
rest of the code assumes it is zero-filled and so that doesn't work.

MozReview-Commit-ID: Hw7nCiUXVJl

--HG--
extra : rebase_source : 241d550fa0ed1b3bd088c73d9565b166acbcece8
2018-07-05 08:05:34 -04:00
Matt Woodrow f06b4bd62c Bug 1458121 - Don't try to layerize when we have a clip-path mask as well as rounded rect clipping. r=mstange
MozReview-Commit-ID: GhOay2a6z9t

--HG--
extra : rebase_source : 2c3dcf4fe05046da1790a46fb96d7acdf7caf86c
2018-06-21 12:43:22 +12:00
Matt Woodrow 6f70c89500 Bug 1473908 - Add new telemetry measurement for recording time spent in FrameLayerBuilder. r=bas,francois
MozReview-Commit-ID: 9oilZL1lPGp

--HG--
extra : rebase_source : 6682218e660b9345e020027aa6f445125d070bf2
2018-07-06 19:10:56 -07:00
Jamie Nicol 7d9ee61570 Bug 1473379 - Change PaintedLayerData::mAssignedDisplayItems to a std::vector. r=mattwoodrow
This allows us to call emplace_back, saving us a move.

MozReview-Commit-ID: 4wRiAxl7LSN

--HG--
extra : rebase_source : 0ea07c896c2807a65ad7493a22b8e2b61e68aa01
2018-07-03 22:39:04 -04:00
Andreea Pavel be6dd58462 Backed out changeset 5c9b8478d69d (bug 1473379) for bustages at builds/worker/workspace/build/src/obj-firefox/dist/include/nsTArray.h:693 on a CLOSED TREE 2018-07-05 16:45:05 +03:00
Jamie Nicol d113489b72 Bug 1473379 - Change PaintedLayerData::mAssignedDisplayItems to a std::vector. r=mattwoodrow
This allows us to call emplace_back, saving us a move.

MozReview-Commit-ID: 4wRiAxl7LSN

--HG--
extra : rebase_source : 48a0eee8f61f568e0910476dbf672cb43827187e
2018-07-03 22:39:04 -04:00
Hiroyuki Ikezoe 8015da3cef Bug 1472654 - Drop SchedulePaint call in AddAnimationsForProperty. r=birtles
This call was added in bug 929362, but the key factor to fix the bug was just
setting a flag representing that the target frame doesn't allow the animation
running on the compositor and checking the flag in the function whether the
animation can be run on the compositor or not in later ticks.  So the call
wasn't necessary in the first place.

The test case here fails without this fix.  The test case actually doesn't
observe animation restyle count at all, so it might look a bit awkward in
file_restyles.html, if we add other test cases checking SchedulePaint calls
in future, we will move the tests in a different file.
(The reason there is no animation restyles in this case is that we properly
 throttle the animation in this case.)

MozReview-Commit-ID: AyHciRJHM0s

--HG--
extra : rebase_source : f3963336ea9165b0a9c1a662bdac5c645b209219
2018-07-05 07:18:45 +09:00
Ryan Hunt 0412e688a8 Bug 1473301 - Remove BorderLayer. r=mattwoodrow
MozReview-Commit-ID: KGXW2lYBZ3c

--HG--
extra : rebase_source : a782ec3fb1c87d1d034219cbd7fd1b8d9d751559
extra : amend_source : ec7c8f7b4080c53a851117cfb1c7611c3606c562
2018-07-03 16:15:58 -05:00
Gurzau Raul 03062dd04b Merge inbound to mozilla-central. a=merge 2018-07-04 12:58:33 +03:00
Jamie Nicol a1d1e03224 Bug 1470758 - Ensure we don't merge items with the same frame. r=mattwoodrow 2018-07-03 21:31:26 -04:00
Bas Schouten a95db7c11a Bug 1473136: Cache mNeedsActiveLayer once for nsDisplayOpacity. r=mattwoodrow 2018-07-03 23:07:44 +00:00
Bas Schouten 7f6794045e Bug 1472830: Reuse the work from ApplyOpacityToChildren when possible. r=mattwoodrow 2018-07-03 20:26:40 +00:00
Olli Pettay 50136cf862 Bug 1472650 - nsCSSRendering::ShouldPaintBoxShadowInner should use GetComposedDoc, r=emilio
--HG--
extra : rebase_source : 2d484667820757943eae22543770409df27f0027
2018-07-03 17:57:11 +03:00
Matt Woodrow 70d97b231e Bug 1473137 - Convert mOpacityIndices into a stack-based vector with preallocated storage to avoid allocations. r=jnicol
MozReview-Commit-ID: Gi5z3YaH7kY

--HG--
extra : rebase_source : 9213eea1f5886e23977935b8efdad58e2195cfbc
2018-07-03 18:58:35 -04:00
Jamie Nicol 3b0fe9b3a8 Bug 1468738 - Create new DisplayItemDatas if required for unmerged display items r=mattwoodrow 2018-07-02 10:37:19 +01:00
Martin Robinson 34359c5dd9 Bug 1470125 - Update WR bindings for changes in WR PR 2848. r=Gankro
MozReview-Commit-ID: D2hLIqlnfU6

--HG--
extra : rebase_source : 6a0ef8c6d61ab937695c42224eb3acb0a5e531f7
2018-06-13 15:40:13 -07:00
shindli c83eb1f34f Backed out 3 changesets (bug 1470125) for force-cargo-library-build bustages on a CLOSED TREE
Backed out changeset c6ef35a760ae (bug 1470125)
Backed out changeset cb8bed4a7691 (bug 1470125)
Backed out changeset 82527f62f249 (bug 1470125)
2018-06-28 21:25:33 +03:00
Martin Robinson be65a0bdb1 Bug 1470125 - Update WR bindings for changes in WR PR 2848. r=Gankro
MozReview-Commit-ID: D2hLIqlnfU6

--HG--
extra : rebase_source : 328d76c6c9f428b55c8116fc447f9e3d6a76371a
2018-06-13 15:40:13 -07:00
Bas Schouten 43ddb842d7 Bug 1471437 - Part 2: Reset mPaintRect only when the new building rect is different, and update mPaintRectValid when it is. r=mattwoodrow
MozReview-Commit-ID: 5djSr7eNk8W
2018-06-27 16:47:55 +02:00
Bas Schouten 40d7ba26d3 Bug 1471437 - Part 1: Store the previous paint rect before occlusion culling. r=mattwoodrow
MozReview-Commit-ID: 8Bw9hsPcipZ
2018-06-27 16:47:54 +02:00
Chris Peterson 2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00
Chris Peterson 74dea2596b Bug 1469769 - Part 3: css: Replace failing NS_NOTREACHED with NS_ERROR. r=heycam
I'm replacing non-failing calls to NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE, but this SelectionManager assertion fails when running the Linux debug Web platform tests with e10s test-linux32/debug-web-platform-tests-reftests-e10s-6 W-e10s(Wr6). This assertion failure is bug 1221888.

Marionette  INFO    Testing http://web-platform.test:8000/css/CSS2/ui/outline-applies-to-005.xht == http://web-platform.test:8000/css/CSS2/reference/no-red-on-blank-page-ref.xht
###!!! ASSERTION: we should have saved a frame property: 'Error', file /builds/worker/workspace/build/src/layout/painting/nsCSSRendering.cpp, line 1038

This patch DOES NOT fix the cause of the assertion failure (a missing HyperTextAccessible). It just replaces this failing NS_NOTREACHED with NS_ERROR because I can't replace with a fatal MOZ_ASSERT_UNREACHABLE.

MozReview-Commit-ID: L26bu4agM6y

--HG--
extra : rebase_source : 9a4188719fe5069cfbec47ae5fae0632ae1d5ee8
extra : intermediate-source : 0a3f719dce16fa80d6ae1bb20a41570050847731
extra : source : aadc67658e679893808256f60c480efeed426bc1
2018-06-04 01:41:20 -07:00
Dan Glastonbury 334258d77f Bug 1467621 - P1: nsCSSShadowItem - Change nscolor to StyleComplexColor. r=xidorn
MozReview-Commit-ID: moE2CI7fT8

--HG--
extra : rebase_source : 7b64beccbd4c499d93567d62b913257dfa53c9fe
2018-06-19 14:18:33 +10:00
Tyson Smith f806457a58 Bug 1469472 - Add crashtest. 2018-06-22 12:20:37 -04:00
Ryan Hunt 27b4840273 Bug 1466146 - Add FlushRasterization as a metric for CONTENT_PAINT_PHASE_WEIGHT. r=mattwoodrow, data-review=francois
--HG--
extra : rebase_source : dcbf77adc7891b5f9ca49627370ce71f64ab3b87
2018-06-05 12:30:42 -05:00
Botond Ballo 02891402c8 Bug 1459696 - Respect nested inactive layer clips when combining a layer's event regions into its ancestors'. r=mstange
MozReview-Commit-ID: GkGSOeDvkvS

--HG--
extra : rebase_source : adb52d7d513789306340b743083b5560bf114ae2
2018-05-25 23:33:41 -04:00
Cosmin Sabou 4c18cd4036 Merge inbound to central. a=merge
--HG--
rename : servo/components/style/properties/longhand/box.mako.rs => servo/components/style/properties/longhands/box.mako.rs
2018-06-21 04:16:40 +03:00
Jamie Nicol f2b10c6146 Bug 1469472 - Ensure we don't merge multiple display items with the same frame. r=mattwoodrow 2018-06-20 23:00:48 +01:00
Hiroyuki Ikezoe ca097c91ca Bug 1468124 - Don't calculate overflow area if there is any frames in preserve-3d context. r=mattwoodrow
MozReview-Commit-ID: 2Ts3MzdouB7

--HG--
extra : rebase_source : f4cbff214d410012dae862670a82361e9a322f23
2018-06-19 14:49:47 +09:00
Matt Woodrow 668b361a1d Bug 1466024 - Cleanup nsDisplaySubDocument display items when we swap the subdoc into a different outer document. r=miko
MozReview-Commit-ID: E4NKiIdXZsY

--HG--
extra : rebase_source : afdce58ba43dbf9bd93d971bd8b57240461c9954
2018-06-01 17:23:55 +12:00
Jamie Nicol 4c1bd94715 Bug 1468426 - Change LayerManagerData::mDisplayItems to a vector instead of hashtable. r=mattwoodrow
This should improve cache locality and help speed up layer building.

MozReview-Commit-ID: 9IvU23alnaa

--HG--
extra : rebase_source : 0ef20b8b758102876c3e60a4cfd8ffec977590a9
2018-06-14 10:04:02 -07:00
Hiroyuki Ikezoe afa2fcd95a Bug 1469220 - Backed out changeset 7fc66c715a0f and 39cb4d5f6602. r=mattwoodrow
Those changesets which are related to animations introduced in bug 1462497
seems to cause new crashes.  I think the first two changesets for the bug fixed
the original crash cases but the last two (i.e. these changesets) introduced
other crashes unfortunately.

MozReview-Commit-ID: 9LD2hIIXA2y

--HG--
extra : rebase_source : 102c5532128039dcf8274c214e17d58d9a1aa483
2018-06-18 06:16:07 +09:00
Andi-Bogdan Postelnicu 163724eccf Bug 1453795 - Layout/Painting - Initialize member fields in classes/ structures. r=stange
--HG--
extra : amend_source : 11dc03533fdbc3924f0145481733d46293d528e2
2018-06-15 19:13:05 +03:00
Matt Woodrow cfbee4345b Bug 1461267 - Add some more assertions to verify the length of the DAG. r=mstange
MozReview-Commit-ID: DFy6Kb2KSwf

--HG--
extra : rebase_source : 5db508486e4d266b6cb80df83eda8c8b01253486
2018-06-19 15:14:14 +12:00
Doug Thayer b4366200d0 Bug 1468401 - Restrict ACTIVITY_TRIGGERED_REPAINT heuristic r=mattwoodrow
See comment for explanation. This seemed like the most conservative
way to solve the motionmark regression from bug 1468401.

MozReview-Commit-ID: GoD636xRynF

--HG--
extra : rebase_source : 841c1339cc1875e5c958802260fffd68e71b70e1
2018-06-14 09:24:34 -07:00
Dan Glastonbury 7a5cb13bc2 Bug 1467379 - P1: nsStyleGradientStop - Change nscolor to StyleComplexColor. r=xidorn
MozReview-Commit-ID: D9KQcv9uQ4S

--HG--
extra : rebase_source : 5a9bc69455c9c752a2be6a9579185400cce149df
2018-06-07 15:55:26 +10:00
shindli 85ee3e1cda Backed out changeset 2ea7e45aaaaf (bug 1462584) for reftest failures containing AddressSanitizer: use-after-poison on address on a CLOSED TREE 2018-06-14 03:54:51 +03:00
Jamie Nicol 5954a70999 Bug 1462584 - Avoid dereferencing DisplayItemData in GetOldLayerForFrame. r=mattwoodrow
It's causing cache misses which are showing up in profiles of the
displaylist mutate test case.

Rather than calling item->Disconnected(), we can ensure the
DisplayItemData is destroyed when it should no longer be used.
We must also make sure we remove the sDisplayItem's dangling pointer.

Rather than calling data->mLayer->Manager() != mRetainingManager, we
can store a pointer to the manager along with the DisplayItemData on
the nsDisplayItem. The item should be in the cache so grabbing this
pointer to perform this check shouldn't cost us anything.

MozReview-Commit-ID: AAVAs8c0CQY

--HG--
extra : rebase_source : 966f343475dd687153310acb8b33db02e202f46f
2018-05-29 18:10:42 +01:00
Kartikaya Gupta 4294162115 Bug 1421384 - Inherit touch-action flags down in the compositor hit-test infos. r=miko
Per the touch-action spec, the effective touch-action on an element includes
touch-action restrictions from ancestor elements up to and including the
element that has the "default action". This patch implements that behaviour
so that WebRender gets correct touch-action values on its display items.

MozReview-Commit-ID: Cw5uqAsE9qm

--HG--
extra : rebase_source : ef6e24a66385e097d50b3a03c06091464b1bb5b9
2018-06-11 08:29:24 -04:00
Kartikaya Gupta 1fb62110c4 Bug 1467999 - Hold RefPtrs to the ASR objects to avoid UAFs. r=mstange
MozReview-Commit-ID: 1NVuY8Sq1YI

--HG--
extra : rebase_source : 639b38372dd0245db9474d4e31dbd74204e0e99d
2018-06-09 11:51:02 -04:00
Kartikaya Gupta e8616078d6 Bug 1436409 - Remove the nsDisplayLayerEventRegions display item. r=mattwoodrow,tnikkel
MozReview-Commit-ID: 6mw0WUGGT0n

--HG--
extra : rebase_source : cae6237850953a7a878c774da87767a55b3c16b2
2018-06-08 17:31:27 -04:00
Kartikaya Gupta 4ae02b922c Bug 1436409 - Remove the simple-event-region-items pref and bake it in as true. r=miko
MozReview-Commit-ID: IGK1dLSyv00

--HG--
extra : rebase_source : c957cb1faf91306205043bdc2e8d8f327729bdb1
2018-06-08 17:31:27 -04:00
Kartikaya Gupta ded66f718a Bug 1436409 - Remove the layout.event-regions.enabled pref and bake it in as false everywhere. r=tnikkel
This pref was used to enable the building of nsDisplayLayerEventRegions
items without APZ, so that we could test it in isolation. However, we no
longer need to do so, and these display items are going to be deleted
anyway, so we can remove this pref.

MozReview-Commit-ID: LJVcFafCKyS

--HG--
extra : rebase_source : 76d8eeca8dca4ea88b8226bbe6b829dbc40e03e4
2018-06-08 17:31:27 -04:00
Kartikaya Gupta aa21a4d224 Bug 1436409 - Remove gecko/APZ hit-test codepath from WebRenderCommandBuilder. r=botond
This removes the gfx.webrender.hit-test pref, assumes a value of true
everywhere it is used, and deletes all the resulting dead code.

Some gtests were setting this pref to false, and they are now updated to
set gfxVars::UseWebRender to false instead, which has the desired effect
of using the non-WR hit-testing codepath in APZ. (The data needed for
this codepath is set up by the gtests themselves).

MozReview-Commit-ID: 9ljDr8eEnv1

--HG--
extra : rebase_source : fbc321861428e7bb0bf7ab811935b682785debdc
2018-06-08 17:31:26 -04:00
Doug Thayer 13f95591c1 Bug 1467619 - Track and adjust layerization on repaint triggers r=mattwoodrow
To avoid creating a bunch of layers when we don't need to, this
tracks when a frame needs to be repainted, and invalidates the
IsStyleAnimated logic around mRestyleCounts if the frame is also
being invalidated.

MozReview-Commit-ID: 5Q96Cx6f3V0

--HG--
extra : rebase_source : 4512ef0c6cb50a730f7d5974ef6364d54b6c49b4
2018-06-07 11:44:03 -07:00
Ciure Andrei 25ae31a366 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-08 00:54:06 +03:00
Kartikaya Gupta 829cd9912f Bug 1465935 - Handle another edge case with hit-testing inside fixed-pos items. r=mstange
Transforms are containing blocks for fixed-pos items, so if a fixed-pos
item is inside a scrolled transform, then it should use that scrollframe
as the scroll target for hit-testing. This patch handles this case for
WebRender by stashing the appropriate ASR on the nsDisplayFixedPosition
item and using it instead of the presShell's root scrollframe in this
scenario.

The patch also adds a mochitest (which is basically a mochitested
version of the reftest in fixed-pos-scrolled-clip-3.html, with a
hit-test check to ensure that it's hitting the right scrollframe).

MozReview-Commit-ID: 7YQAeOiMMuP

--HG--
extra : rebase_source : 8d1c89d0c03c3e7d9383d0731f65a327a2c11a8d
2018-06-07 13:06:33 -04:00
Kartikaya Gupta 9b664db1ff Bug 1465935 - Fix hit-testing for fixed-pos items inside iframes. r=mstange
Without this patch, the scrollId for display items inside a fixed-pos
item end as the ASR of the item. In the case of fixed-pos items that are
inside iframes, the ASR is the outer document's root scrollframe. This
means that e.g. wheel-scrolling while over a fixed-pos item inside an
iframe ends up scrolling the outer document's root scrollframe instead
of the iframe's root scrollframe.

In the non-WR codepath, there some APZ machinery that walks up in the
HitTestingTreeNode tree from the hit result, looking to see if that node
has a fixed-pos ancestor, and if so, uses the fixed-pos item's target
APZ as the real hit result. This machinery doesn't exist in WR, because
we don't use the HitTestingTreeNode tree for hit-testing in APZ.
Instead, we need to make sure that the item tag for those display items
already has the appropriate scrollid set.

This patch accomplishes this by introducing a new RAII class that is
pushed into the wr::DisplayListBuilder while we are building display
items inside a nsDisplayFixedPosition, and allows the desired scroll id to
be set on the hit-testing display items.

This behaviour is exercised by test_group_wheelevents, which can now be
enabled with this fix.

MozReview-Commit-ID: L2erPVzJeql

--HG--
extra : rebase_source : 1db630513cb1dc16d4e38649812e81f62c8da99c
2018-06-07 13:06:33 -04:00
Lee Salzman 0512c7822e Bug 1465305 - ensure nsDisplayBackgroundColor::Paint begins a new path before adding rectangle. r=jfkthame 2018-06-07 11:49:39 -04:00
Dan Glastonbury 81d488f721 Bug 1465307 - P2: Fix nsStyleBorder::mBorderColor for GCC. r=xidorn
GCC doesn't like StyleComplexColor with constructor in an anonymous
struct in an anonymous union.  Replace the use of a union to access
`mBorder[..]Color` fields as an array with an accessor methods.

MozReview-Commit-ID: 1Wulh1qKYCZ

--HG--
extra : rebase_source : 390b8f852d144a54d9d374bcf3ae70ab6d145d50
2018-06-05 11:24:12 +10:00
Dan Glastonbury 7811112058 Bug 1465307 - P1: Extend StyleComplexColor to support additive blending. r=hiro,xidorn
Refactored StyleComplexColor to support "complex" blending between
background (numeric) color and foreground color (currentColor).
Made explicit the distinction between numeric, currentColor and a
complex blend in Gecko and Stylo.

This is to support SMIL animation, for example, of the form:

     <animate from="rgb(10,20,30)" by="currentColor" ... />

MozReview-Commit-ID: IUAK8P07gtm

--HG--
extra : rebase_source : d3648101c6f65479b21e6f02945731cd5bb57663
2018-05-23 15:23:26 +10:00
Hiroyuki Ikezoe c1fc73bb2d Bug 1253164 - Make nsIFrame allow running async animations once the frame is able able to run animations on the compositor again. r=birtles
For example, we don't run transform animations on large frames but once
the frame size is small enough we should run transform animations on the frame.

MozReview-Commit-ID: DkfB9g2Gcdi

--HG--
extra : rebase_source : 93a884c3063d4a6c2626e6695583664b24fe11c8
2018-06-07 09:30:33 +09:00
Markus Stange 1a2b4adf51 Bug 1466695 - Don't use fallback for invisible outlines. r=Gankro
MozReview-Commit-ID: HnNWbew9rwh

--HG--
extra : rebase_source : 88f937b21a5b61da534a3648374bff607e0866a9
2018-06-04 18:11:18 -04:00
Miko Mynttinen 4c85ef17cc Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 1e7eea4f2d4ec16ec0c559a8afb26976ddbf4d07
2018-06-01 17:59:07 +02:00
arthur.iakab 7e765f798b Backed out 2 changesets (bug 1465060) for build bustages on security/sandbox/linux/reporter/SandboxReporter.cpp
Backed out changeset 7c8905b6b226 (bug 1465060)
Backed out changeset 10446073eca8 (bug 1465060)
2018-06-03 19:25:41 +03:00
Miko Mynttinen 8d9dc85cd4 Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 619d0e0ff63a2453c80f0c4d9beb906d43fa9b01
2018-06-01 17:59:07 +02:00