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

71380 Коммитов

Автор SHA1 Сообщение Дата
Emilio Cobos Álvarez 9b78285fd3 Bug 1609737 - Simplify calc expressions earlier. r=boris
This simplifies a bit the code, and guarantees that all calc()s have percentages
and lengths.

I also wanted to remove unclamped_length() / specified_percentage() (for the
same reason as the above patch), but they're needed for animations for now. When
I implement min() / max() for <length-percentage> they'll be fixed.

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

--HG--
extra : moz-landing-system : lando
2020-01-23 00:36:34 +00:00
Savo 49746857e4 Bug 1341018 - Create enum class LegendAlignValue to replace NS_STYLE_TEXT_ALIGN_* and NS_STYLE_VERTICAL_ALIGN_* in legend code. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D48285

--HG--
extra : moz-landing-system : lando
2020-01-23 03:10:03 +00:00
Emilio Cobos Álvarez 570e37ec64 Bug 1609711 - Fix merge conflict.
CLOSED TREE

MANUAL PUSH: Will bust some reftests otherwise.

Differential Revision: https://phabricator.services.mozilla.com/D60789
2020-01-23 03:31:23 +01:00
Emilio Cobos Álvarez b06718c3dc Bug 1609737 - Forbid accessing the length and percentage parts of a LengthPercentage separately. r=boris
This is just not a thing you can do if you have min() / max() / etc, as the min
/ max value may depend on the percentage basis.

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

--HG--
extra : moz-landing-system : lando
2020-01-23 00:36:27 +00:00
Emilio Cobos Álvarez 049fa64ff0 Bug 1609711 - Compute gradient positions in css pixels. r=jrmuizel
The gradient code is the only one that does a really weird thing with
LengthPercentage values, by getting the percentage and length separately and
turning the length into a percentage relative to the line length (which is in
device pixels).

This won't work once we have min() / max() / etc. in CSS (as we can't access
the length and percentage components separately, as which one you choose may
depend on the percentage basis). So instead of that, use the regular
ResolveToCssPixels there are lengths involved.

We change a bit the surrounding code to work in CSS pixels, so as to avoid
unneeded CSS -> device pixel conversions.

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

--HG--
extra : moz-landing-system : lando
2020-01-23 00:36:12 +00:00
Bogdan Tara 6b44dbdf87 Backed out 2 changesets (bug 1516413) for valgrind failure CLOSED TREE
Backed out changeset 8eb500f31661 (bug 1516413)
Backed out changeset 333368f257b3 (bug 1516413)
2020-01-23 00:53:42 +02:00
Brad Werth 69b67fa839 Bug 1516413 Part 1: Make EventStateManager zoom delta functions send chrome events instead of acting directly. r=mstange
This patch changes the zoom behavior to always be routed through the frontend
Zoom Actor. In the existing code, the ZoomChangeUsingMouseWheel event is sent
as an after-the-fact notification of the zoom being modified directly. This
part of the patch supplements the existing event with 2 new events that
trigger the frontend to do the +/- 10% math in ChangeFullZoom and
ChangeTextZoom. The next part of the patch supplies that logic in the frontend
Zoom Actor.

This also changes the handling of events from the zoom in/out keys. Before,
those keys would only change full zoom levels. Now, they will respect the
full zoom vs text zoom toggle.

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

--HG--
extra : moz-landing-system : lando
2020-01-22 21:42:40 +00:00
Boris Chiou 98e40ec294 Bug 1592822 - Replace StyleVecU8 with ipc::ByteBuf. r=emilio
We generate ByteBuf by rust bindgen, so we can drop StyleVecU8.
One potential follow-up is that we can merge this together with WrVecU8.

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

--HG--
rename : ipc/glue/ByteBuf.h => ipc/glue/ByteBufUtils.h
extra : moz-landing-system : lando
2020-01-22 20:18:40 +00:00
Boris Chiou ffa1ebad7b Bug 1592822 - Use Serde for OffsetRotate and PositionOrAuto. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D60088

--HG--
extra : moz-landing-system : lando
2020-01-22 20:18:38 +00:00
Boris Chiou 14387265a7 Bug 1592822 - Use Serde for SVGOffsetPath. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D60087

--HG--
extra : moz-landing-system : lando
2020-01-22 20:18:35 +00:00
Boris Chiou 38cc52c091 Bug 1592822 - Use Serde for Transform. r=emilio
Though this may make us use more space when serializing
StyleTransform, but we don't have to do extra conversion on the compostior
side, and this makes us easier to maintain the Rust type.

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

--HG--
extra : moz-landing-system : lando
2020-01-22 20:20:38 +00:00
Boris Chiou 7b90a66fcb Bug 1592822 - Use Serde for rotate, scale, and translate properties. r=emilio
The only drawback is: we resolve LengthPercentage value before passing
translate property through IPC, so its percentage part is redundant.
However, this makes us easier to maintain the Rust type.

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

--HG--
extra : moz-landing-system : lando
2020-01-22 20:18:31 +00:00
Bogdan Tara 958c34b738 Backed out 6 changesets (bug 1592822) for bustages complaining about layout/painting/nsDisplayList.cpp CLOSED TREE
Backed out changeset 90d0f2ebd310 (bug 1592822)
Backed out changeset 9890bad86a0e (bug 1592822)
Backed out changeset 43870cc90433 (bug 1592822)
Backed out changeset d80e0e3f5b87 (bug 1592822)
Backed out changeset 99be49183325 (bug 1592822)
Backed out changeset 9ce641556acc (bug 1592822)

--HG--
extra : histedit_source : fa4e4b2c899510f1d39ee3baa0374e2ce16d2815
2020-01-22 21:17:39 +02:00
Boris Chiou 4f3076794c Bug 1592822 - Replace StyleVecU8 with ipc::ByteBuf. r=emilio
We generate ByteBuf by rust bindgen, so we can drop StyleVecU8.
One potential follow-up is that we can merge this together with WrVecU8.

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

--HG--
rename : ipc/glue/ByteBuf.h => ipc/glue/ByteBufUtils.h
extra : moz-landing-system : lando
2020-01-22 18:42:54 +00:00
Boris Chiou e10013895e Bug 1592822 - Use Serde for OffsetRotate and PositionOrAuto. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D60088

--HG--
extra : moz-landing-system : lando
2020-01-22 18:40:19 +00:00
Boris Chiou 40f3cb3d65 Bug 1592822 - Use Serde for SVGOffsetPath. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D60087

--HG--
extra : moz-landing-system : lando
2020-01-22 18:40:11 +00:00
Boris Chiou 9735c2e972 Bug 1592822 - Use Serde for Transform. r=emilio
Though this may make us use more space when serializing
StyleTransform, but we don't have to do extra conversion on the compostior
side, and this makes us easier to maintain the Rust type.

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

--HG--
extra : moz-landing-system : lando
2020-01-22 18:40:09 +00:00
Boris Chiou 73f0ae66a9 Bug 1592822 - Use Serde for rotate, scale, and translate properties. r=emilio
The only drawback is: we resolve LengthPercentage value before passing
translate property through IPC, so its percentage part is redundant.
However, this makes us easier to maintain the Rust type.

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

--HG--
extra : moz-landing-system : lando
2020-01-22 18:40:07 +00:00
Andrew Osmond 0b6c7eca9d Bug 1604535 - Disable OMTP on 32-bit systems due to memory pressure. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D60058

--HG--
extra : moz-landing-system : lando
2020-01-22 13:46:59 +00:00
Glenn Watson 90a55d388c Bug 1608741 - Part 2 - Disable dithering on gradient primitives. r=sotaro,nical
There are a number of issues with the current gradient dithering
implementation, that cause many test failures and also fuzziness
rendering when enabling DirectComposition virtual surfaces. In
particular, the dither result is dependent on the offset of the
update rect within a render target.

For now, this patch disables gradient dithering by default. This
gives us:

 - A heap of new test PASS results (or reduced fuzziness).
 - Fixes a number of non-deterministic fuzziness bugs with DC.
 - Improves performance of gradient rendering by a reasonable amount.

We can fix gradient dithering as a follow up, and re-enable if/when
we find content that would benefit from it significantly (we may
be able to improve gradients in other ways than dithering too).

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

--HG--
extra : moz-landing-system : lando
2020-01-22 01:24:14 +00:00
Emilio Cobos Álvarez 5ae32b1e36 Bug 1608931 - followup: fix subtle unintended behavior change.
This can fire in some tests that take over the refresh driver via script.

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

--HG--
extra : moz-landing-system : lando
2020-01-22 01:13:15 +00:00
Emilio Cobos Álvarez cf6728cdd2 Bug 1610059 - Rename Document::SetStyleSheetApplicableState. r=nordzilla
It doesn't set anything, it is just a notification callback.

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

--HG--
extra : moz-landing-system : lando
2020-01-22 01:14:42 +00:00
Emilio Cobos Álvarez 2261c719d0 Bug 1608931 - Ensure we tick the refresh driver at least once after calling IntersectionObserver.observe. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D60015

--HG--
extra : moz-landing-system : lando
2020-01-21 23:21:32 +00:00
Mihai Alexandru Michis aa50eec8ac Bug 1609581 - Update expectancies for backplate-bg-image-009.html and backplate-bg-image-006.html a=fix
CLOSED TREE

--HG--
extra : amend_source : ff7bb5d6b858b24081f459186499c71f03c4f359
2020-01-22 01:24:21 +02:00
Ting-Yu Lin 735bebb048 Bug 1155772 Part 16 - Remove mPhysicalMainAxis and mPhysicalAxis from FlexboxAxisTracker, and all the other helper enums and functions. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D59058

--HG--
extra : moz-landing-system : lando
2020-01-21 20:30:41 +00:00
Ting-Yu Lin 77e51c499d Bug 1155772 Part 15 - Remove mPhysicalAxis from PositionTracker. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D59057

--HG--
extra : moz-landing-system : lando
2020-01-21 20:30:44 +00:00
Ting-Yu Lin 38b10887ce Bug 1155772 Part 14 - Remove physical axis usage from GetBaselineOffsetFromOuterCrossEdge(). r=mats
Differential Revision: https://phabricator.services.mozilla.com/D59056

--HG--
extra : moz-landing-system : lando
2020-01-21 20:30:46 +00:00
Ting-Yu Lin b41728179c Bug 1155772 Part 13 - Add start side and end side accessors in FlexboxAxisTracker, and use them to replace AxisOrientationType usages. r=mats
The original physical axis AxisOrientationType contains direction
information, which can be replaced by physical start side
straightforwardly.

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

--HG--
extra : moz-landing-system : lando
2020-01-21 22:31:19 +00:00
Ting-Yu Lin 8c52b26f66 Bug 1155772 Part 12 - Use LogicalMargin for EnterMargin / ExitMargin in PositionTracker. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D59054

--HG--
extra : moz-landing-system : lando
2020-01-21 20:30:50 +00:00
Ting-Yu Lin fc86c43ba5 Bug 1155772 Part 11 - Convert FlexItem::GetNumAutoMarginsInAxis() to use logical axis. r=mats
Also, remove unused FlexboxAxisTracker argument from
ResolveStretchedCrossSize().

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

--HG--
extra : moz-landing-system : lando
2020-01-21 20:30:52 +00:00
Ting-Yu Lin ea9f8c1bc1 Bug 1155772 Part 10 - Remove unused AxisOrientationType argument. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D59052

--HG--
extra : moz-landing-system : lando
2020-01-21 20:30:19 +00:00
Ting-Yu Lin 8b11ffdb9e Bug 1155772 Part 9 - Convert FlexItem::mMargin to LogicalMargin. r=mats
Note that I return LogicalMargin by value for GetMargin(). It is
considered a suboptimal practice to return a constant reference to a
member variable. We won't gain performance by returning a reference
because the compiler can optimize the return value. If it were assigned
to a new variable, the copy/move constructor is called anyway.

As noted in FIXME(TYLin), the AxisOrientationType argument in
GetMarginBorderPaddingSizeInMainAxis() and many other methods can be
removed. However, to make the patch size manageable, I'll remove them in
a later part.

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

--HG--
extra : moz-landing-system : lando
2020-01-21 23:00:35 +00:00
Ting-Yu Lin 45f561fa83 Bug 1155772 Part 8 - Rename GetMargin() to GetPhysicalMargin() in FlexItem (idempotent patch). r=mats
Also, use GetPhysicalMargin() instead of mMargin in
FlexItem::GetBaselineOffsetFromOuterCrossEdge() to ease the transition
when converting FlexItem::mMargin to LogicalMargin in the later parts.

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

--HG--
extra : moz-landing-system : lando
2020-01-21 20:30:24 +00:00
Ting-Yu Lin a94c944d4f Bug 1155772 Part 7 - Convert FlexItem::mBorderPadding from nsMargin to LogicalMargin. r=mats
Also delete unused GetBorderPadding().

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

--HG--
extra : moz-landing-system : lando
2020-01-21 20:30:26 +00:00
Ting-Yu Lin 03f6d42e78 Bug 1155772 Part 6 - Cache flex container's writing-mode and main axis in FlexItem. r=mats
These new added member variables and mWM are going to be used in the
following parts that convert border/padding/margin to use logical
layout, so they are added to the place prior to mBorderPadding and
mMargin.

For "strut" constructor, we can use the default values for mMainAxis,
mCrossAxis, and mIsInlineAxisMainAxis initialized in the class
declaration.

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

--HG--
extra : moz-landing-system : lando
2020-01-21 20:30:28 +00:00
Ting-Yu Lin 306ac5d0f7 Bug 1155772 Part 5 - Cache flex container's logical axis and writing-mode in PositionTracker. r=mats
They are going to be used in the later parts.

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

--HG--
extra : moz-landing-system : lando
2020-01-21 20:30:30 +00:00
Ting-Yu Lin 9b0ebbdd0c Bug 1155772 Part 4 - Add "Physical" to the axis accessor and variable names in PositionTracker (idempotent patch). r=mats
This includes renaming aAxis to aPhysicalAxis in PositionTracker's
constructor.

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

--HG--
extra : moz-landing-system : lando
2020-01-21 20:30:32 +00:00
Ting-Yu Lin a510b82e7f Bug 1155772 Part 3 - Add logical main/cross axis accessors and variables to FlexboxAxisTracker. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D59045

--HG--
extra : moz-landing-system : lando
2020-01-21 20:30:35 +00:00
Ting-Yu Lin 6436301640 Bug 1155772 Part 2 - Add "Physical" to main/cross axis accessor and variable names in FlexboxAxisTracker (idempotent patch). r=mats
I'm going to add logical accessors and variables in the next patch, so
it's better the rename the old ones first.

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

--HG--
extra : moz-landing-system : lando
2020-01-21 20:30:37 +00:00
Ting-Yu Lin 5193ed7d0c Bug 1155772 Part 1 - Move delete methods to public section for various flex classes. r=dholbert
Fix "warning: deleted member function should be public", which can be
reproduced by
`./mach static-analysis check layout/generic/nsFlexContainerFrame.cpp`

If a private delete method is called, the compiler shows two error
messages: the method is deleted, and a private methods is called. By
declaring the method as public, only the former message is shown, which
should be more readable.

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

--HG--
extra : moz-landing-system : lando
2020-01-21 20:30:39 +00:00
Kris Maglione ab5a99dd15 Bug 1602898: Rename Window.getWindowGlobalChild() to .windowGlobalChild. r=farre
Differential Revision: https://phabricator.services.mozilla.com/D56609

--HG--
extra : moz-landing-system : lando
2020-01-21 21:32:28 +00:00
Morgan Reschenberg abb452e1f7 Bug 1609581: Ensure backplates inherit color from nearest non-transparent frame to correctly color select multiple's. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D60099

--HG--
extra : moz-landing-system : lando
2020-01-21 21:01:32 +00:00
Mihai Alexandru Michis 745c94b1df Backed out changeset 006f4e50e8e5 (bug 1602898) for causing multiple failures.
CLOSED TREE
2020-01-21 22:55:37 +02:00
Mihai Alexandru Michis 47833e7806 Backed out changeset e91a005196d1 (bug 1609581) for causing reftest failures in backplate-bg-image-009.html
CLOSED TREE
2020-01-21 22:54:43 +02:00
Csoregi Natalia ae7cb7cc70 Backed out 16 changesets (bug 1155772) for bustage on WritingModes.h. CLOSED TREE
Backed out changeset 21ab70ca4496 (bug 1155772)
Backed out changeset 2a2e5970cf88 (bug 1155772)
Backed out changeset 1e9c57134aae (bug 1155772)
Backed out changeset 3cd8558625a2 (bug 1155772)
Backed out changeset ad2edd6baa2f (bug 1155772)
Backed out changeset a5cb718ed15d (bug 1155772)
Backed out changeset 6cc7c04bf567 (bug 1155772)
Backed out changeset 981e290de2af (bug 1155772)
Backed out changeset 7c92f5b6d190 (bug 1155772)
Backed out changeset 83da4fc71357 (bug 1155772)
Backed out changeset 32f209c8856c (bug 1155772)
Backed out changeset b3b3dfa8ac4e (bug 1155772)
Backed out changeset abc7f4471cbf (bug 1155772)
Backed out changeset ce108df4d23c (bug 1155772)
Backed out changeset 11f020664664 (bug 1155772)
Backed out changeset 7677362c44b3 (bug 1155772)
2020-01-21 22:25:02 +02:00
Ting-Yu Lin 857f59d44f Bug 1155772 Part 16 - Remove mPhysicalMainAxis and mPhysicalAxis from FlexboxAxisTracker, and all the other helper enums and functions. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D59058

--HG--
extra : moz-landing-system : lando
2020-01-17 23:55:04 +00:00
Ting-Yu Lin b4c3303303 Bug 1155772 Part 15 - Remove mPhysicalAxis from PositionTracker. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D59057

--HG--
extra : moz-landing-system : lando
2020-01-17 23:55:00 +00:00
Ting-Yu Lin 8584898d99 Bug 1155772 Part 14 - Remove physical axis usage from GetBaselineOffsetFromOuterCrossEdge(). r=mats
Differential Revision: https://phabricator.services.mozilla.com/D59056

--HG--
extra : moz-landing-system : lando
2020-01-17 23:54:52 +00:00
Ting-Yu Lin b9c4ed0b39 Bug 1155772 Part 13 - Add start side and end side accessors in FlexboxAxisTracker, and use them to replace AxisOrientationType usages. r=mats
The original physical axis AxisOrientationType contains direction
information, which can be replaced by physical start side
straightforwardly.

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

--HG--
extra : moz-landing-system : lando
2020-01-17 23:54:50 +00:00
Ting-Yu Lin ef27bd28e6 Bug 1155772 Part 12 - Use LogicalMargin for EnterMargin / ExitMargin in PositionTracker. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D59054

--HG--
extra : moz-landing-system : lando
2020-01-17 10:23:13 +00:00