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

14979 Коммитов

Автор SHA1 Сообщение Дата
Andreea Pavel 14cb4908a0 Backed out changeset b443e56d2f62 (bug 1449608) for build bustages on a CLOSED TREE 2018-04-24 00:16:58 +03:00
Alexis Beingessner 4303ce985c Bug 1403261 - enable native webrender handling of partial ligatures. r=jrmuizel,mstange
The clipping code uses gfxContext::GetClipExtents which calls gfxContext::GetDeviceOffset
and DrawTarget::GetSize. The former was previously not being intialized, while the latter
was explicitly unimplemented. This patch fixes both of those facts.

Otherwise, enabling this functionality has been made trivial by several upstream patches
in webrender (the most recent being glenn's work on unifying shadows which eliminated
the buggy text-shadow shader code that was blocking this).

MozReview-Commit-ID: B1AlG3o4XQS

--HG--
extra : rebase_source : 2043c9c781f507c5d02041420145b1a5c59c0bb2
2018-04-16 23:05:48 -04:00
Jamie Nicol d361ce7995 Bug 1449608 - Avoid calling ComputeScrollMetadata repeatedly for same scroll frame and clip. r=mstange
Currently in ContainerState::SetupScrollingMetadata we call
ComputeScrollMetadata for every layer and for each ASR in the layer's
clip chain. If there are many sibling layers with the same clip then
this is largely wasted work.

This change makes us cache the most recently calculated result, and
only recalculate if the ASR or clip is different.

There was a small portion of ComputeScrollMetadata that must actually
be executed for every layer and ASR in its clip chain. This has been moved
to a separate function, ClipLayerToDisplayPort, that is still called
every time.

MozReview-Commit-ID: 7Zzblmimtc5

--HG--
extra : rebase_source : d39908b2be2565d22079b3e5e8df56316159a918
2018-04-19 14:48:04 +01:00
Daniel Holbert d5c3e8dbab Bug 1455976: Give table wrapper boxes a special case during flex base size resolution, so that percent main-sizes can be respected. r=mats
MozReview-Commit-ID: GB3SCaj9cv1

--HG--
extra : rebase_source : 565a8fc3879d6b9dcc0f3f6a67e5b577a2dc50b9
2018-04-23 12:05:40 -07:00
Ciure Andrei 1940af33ec Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-04-24 04:29:20 +03:00
Mats Palmgren 8e30369644 Bug 1398482 part 2 - [css-grid][css-flexbox][css-multicol] Add 'row-gap' and 'gap' properties; make 'grid-[column|row]-gap' and 'grid-gap' alias the respective unprefixed properties (Gecko part). r=dholbert 2018-04-24 01:52:51 +02:00
Dorel Luca 65669dae30 Merge mozilla-inbound to mozilla-central. a=merge 2018-04-21 02:00:04 +03:00
Botond Ballo f5c31308e4 Bug 1443424 - Only set eScrollbarThumb on a CompositorHitTestInfo item if the thumb is being layerized. r=kats
MozReview-Commit-ID: CvngEy9ZsUD

--HG--
extra : rebase_source : 0fa0e97368a9d37906f4bddf241f3034a3f80cdd
2018-04-17 18:58:42 -04:00
Cosmin Sabou b9a82af44a Backed out 2 changesets (bug 1387399) for OSX reftests permafailures on attachment-local-positioning-2.html. a=backout
Backed out changeset b78a225fa8c9 (bug 1387399)
Backed out changeset 4beeacb75bf5 (bug 1387399)
2018-04-20 06:47:41 +03:00
Bas Schouten 0dee5c2745 Bug 1387399: Add SIMD optimizations for methods used frequently in nsRect. r=jrmuizel
This improves the DisplayList Mutate Talos test by about 5% on windows, as well as numerous smaller improvements on DisplayList heavy tasks.

MozReview-Commit-ID: tlEtPjqWI4
2018-04-19 15:56:29 +02:00
Jonathan Watt 156c4af1ec Bug 1436048: Use user defined types for font-stretch / font-style. r=jfkthame,jwatt
Co-authored-by: Emilio Cobos Álvarez <emilio@crisal.io>

MozReview-Commit-ID: 7ONYtICeAqb
2018-04-23 18:22:05 +02:00
Matt Woodrow a6e9002c24 Bug 1406727 - Improve diagnostics in BuildDisplayList. r=froydnj
MozReview-Commit-ID: Ctb7HFxgPac

--HG--
extra : rebase_source : 696683a6a905e0f4862e0a7f8a9708c487e5248b
2018-02-06 12:21:31 +13:00
Daniel Holbert acccfe6d00 Bug 1454822 part 2: Cache the results of nsFlexContainerFrame::GetMinISize/GetPrefISize. r=mats
Assuming we call MarkIntrinsicISizesDirty in the appropriate scenarios, this
patch shouldn't change behavior - it just caches these values so we don't
needlessly recalculate them.

MozReview-Commit-ID: 8QY4AZJXshy

--HG--
extra : rebase_source : a7c87b03ac8240ba71efd2198ce1976d96c91f64
2018-04-17 17:06:26 -07:00
Daniel Holbert 14267669bd Bug 1454822 part 1: Refactor nsFlexContainerFrame::GetMinISize/GetPrefISize to be implemented via a common helper function. r=mats
This patch does not change behavior; it just merges the implementations of
these two functions into a single common function.

MozReview-Commit-ID: BqsRt3p2NQT

--HG--
extra : rebase_source : e8792f2bed3fd0708ffb38b91cf15a78cb6fbd59
2018-04-17 17:06:23 -07:00
Brindusan Cristian 8bcf097e09 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-04-17 13:10:25 +03:00
Daniel Zielas aa51622886 Bug 1453469 - Remove nsDisplayOwnLayer::mScrollTarget. r=botond
MozReview-Commit-ID: 1LAWH96mm5m

--HG--
extra : rebase_source : fe2bf1d16dc1921057f718cd5f7dd00b11e566c5
extra : amend_source : 53a8a2c0cd03b94002ba0600859e6c18d3a466b6
2018-04-14 09:42:45 +02:00
Andrew McCreight 3f7472aec1 Bug 1449670, part 1 - Convert IsNodeOfType(nsINode::eTEXT) to IsText(). r=bz
This method is not a virtual call, and also looks nicer.

This patch was mostly generated by a Python script, but I manually
cleaned up the code in a few places where statements didn't need to be
split across multiple lines any more.

MozReview-Commit-ID: 8JExxqSRc59

--HG--
extra : rebase_source : df6330a89e8d65dfe7a6fda0c8cb9f9732302efc
2018-04-12 15:41:00 -07:00
Andreea Pavel 69ae5fe098 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-04-14 00:58:36 +03:00
Andreea Pavel 01f50bc3d8 Merge mozilla-inbound to mozilla-central. a=merge 2018-04-14 00:56:30 +03:00
Jonathan Watt 1e7f76576a Bug 1436048 part 1 - Use a user defined type for font weight everywhere. r=jfkthame,emilio
--HG--
extra : rebase_source : 2e267ff99de6f52484e34ac15c39e5ca8b473394
2018-04-13 20:34:37 +01:00
Emilio Cobos Álvarez 9509cd7e32 Bug 1453789: Remove Element.createShadowRoot. r=smaug
MozReview-Commit-ID: Hgxbp1Icgvh
2018-04-13 20:51:55 +02:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Daniel Holbert 26923e2e3b Bug 1374540 part 4: Change nsFrame::ComputeSize to treat used flex-basis:content as 'max-content'. r=mats
This brings us into alignment with the spec and makes us pass some web-platform
tests, along with the reftests that I've included for this bug.

MozReview-Commit-ID: KoKPi18svGE

--HG--
extra : rebase_source : f00dd814238afd4b09bdcb75b22ea249162252b8
2018-04-13 12:17:51 -07:00
Daniel Holbert 555deebbc9 Bug 1374540 part 3: Refactor nsFrame::ComputeSize methods to handle the two "used flex-basis of content" scenarios with a consistent codepath. r=mats
This patch doesn't change behavior.

It simply makes us share code/data for two different cases that both ended up
producing mainAxisCoord->GetUnit() == eStyleUnit_Auto.  Now, they'll *both* use
the same static nsStyleCoord to represent this "auto" value.

Originally, in one of these cases ("flex-basis:auto;[main-size-property]:auto),
we left the mainAxisCoord untouched. Now we'll point it at this dummy 'auto'
value. Either way we end up with mainAxisCoord->GetUnit() == eStyleUnit_Auto,
so the behavior doesn't change.

The next patch in this series will make further changes to one of these spots,
as noted in the "XXXdholbert" code-comment included here.

MozReview-Commit-ID: 5ClfbNHuKhO

--HG--
extra : rebase_source : 17efe1e9f721324d6182db654e601727c791800b
2018-04-13 12:17:51 -07:00
shindli 108a654fb8 Merge inbound to mozilla-central. a=merge 2018-04-12 02:45:34 +03:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Matt Woodrow 5f47a3aed8 Bug 1451971 - Rebuild the whole page when we have perspective or preserve-3d. r=miko
MozReview-Commit-ID: 2SkKvpdLWMi

--HG--
extra : rebase_source : 6b19d557a93fb3e0f2a2faf34f238b96c3e0f0bd
2018-04-11 21:49:30 +12:00
Ciure Andrei 3f4a118829 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-04-11 12:00:35 +03:00
Ciure Andrei 873d562bc3 Backed out 8 changesets (bug 1451169) on request from njn a=backout
Backed out changeset b92f856e15a8 (bug 1451169)
Backed out changeset 348e825756fa (bug 1451169)
Backed out changeset 624d82428726 (bug 1451169)
Backed out changeset 4d51610ca08e (bug 1451169)
Backed out changeset bb76a9589717 (bug 1451169)
Backed out changeset c145fbd03947 (bug 1451169)
Backed out changeset 6d36289e0f54 (bug 1451169)
Backed out changeset 914fb7cd9fc3 (bug 1451169)

--HG--
extra : histedit_source : 94de6631919f895dec422bc0e564f5baf885ba4a%2C18f52c6c11d3064d3137a6847575effb7d407894
2018-04-11 11:22:05 +03:00
Nika Layzell 242c9ce313 Bug 1438026 - Part 3: Replace nsPresState with the new PresState type, r=baku 2018-04-10 17:49:44 -04:00
Matt Woodrow e9a5b8eda1 Bug 1452225 - Rebuild the whole subdoc when the caret changes, but don't invalidate the nsDisplaySubdocument. r=miko
MozReview-Commit-ID: K0KLXTo4GG

--HG--
extra : rebase_source : 54fc03744cb9df58497ba843fb6786c4db98fb64
2018-04-13 15:32:48 +12:00
Daniel Zielas 471ef50beb Bug 1420512 - Try unifying data structures for scrollbar container and scrollbar thumb info. r=botond
MozReview-Commit-ID: 9zPkrA3CwsN

--HG--
extra : rebase_source : b52bef52576558f03afc65120a40a5312ae7eba3
2018-03-02 19:00:03 +01:00
Mats Palmgren c0348042e9 Bug 1434478 part 6 - Propagate a percentage basis to nsIFrame::IntrinsicISizeOffsets for resolving padding/margin. r=dholbert
This is needed only for CSS Grid since in other cases we're
only using IntrinsicISizeOffsets in the inline-axis and
the percentage basis is always indefinite for *intrinsic
sizing*.  When calculating the intrinsic size of grid items
in the grid container's block axis however, we do have
a definite size for the grid area in the inline-axis and it
should be used per:
https://drafts.csswg.org/css-grid/#algo-overview
"2. Next, the track sizing algorithm resolves the sizes of
the grid rows, using the grid column sizes calculated in
the previous step."

(Percentage padding/margin for grid items is always resolved
against the grid area's inline-size nowadays.)
2018-04-10 00:16:58 +02:00
Mats Palmgren f9c1c7eeb0 Bug 1434478 part 4 - Factor out constants like NS_UNCONSTRAINEDSIZE so they can be used in headers without needing nsIFrame.h (idempotent patch). r=dholbert 2018-04-10 00:16:58 +02:00
Mats Palmgren a1704030d4 Bug 1434478 part 3 - Remove IntrinsicISizeOffsetData::hPctPadding/hPctMargin members since they are now unused. r=dholbert 2018-04-10 00:16:58 +02:00
Mats Palmgren 7674d544b7 Bug 1434478 part 2 - Stop back-computing percentage padding/margin when the percentage basis is indefinite. Treat them as zero sized instead. r=dholbert 2018-04-10 00:16:57 +02:00
Mats Palmgren 004a0a318d Bug 1434478 part 1 - [css-grid] Stop back-computing percentage grid gaps when the percentage basis is indefinite. Treat them as zero sized instead. r=dholbert 2018-04-10 00:16:57 +02:00
Noemi Erli b55e1a1cbc Merge inbound to mozilla-central. a=merge 2018-04-09 19:46:07 +03:00
Jonathan Watt ef1290712d Bug 1452170 follow-up - Fix Windows unified build bustage by adding missing AutoRestore.h includes. r=me on CLOSED TREE 2018-04-09 10:21:42 +01:00
Emilio Cobos Álvarez b27ddd74b9 Bug 1452080: Rename ComputedStyle::PresContext to PresContextForFrame. r=xidorn
And make nsIFrame its only caller, modulo a safety assertion.

The safety assertion will be removed at the same time as the pres context
member, since the only purpose of it is to ensure we don't keep a pres context
reference for too long.

MozReview-Commit-ID: CD5zOHVO9ub
2018-04-09 11:19:50 +02:00
Emilio Cobos Álvarez f39eaa5d48 Bug 1452080: Remove ComputedStyle::PresContext usage from layout and canvas code. r=xidorn
Couldn't find an easy way of splitting these up :(

MozReview-Commit-ID: 2kTZ5McREUT
2018-04-09 11:19:49 +02:00
Noemi Erli 5d9588e156 Backed out 3 changesets (bug 1452080) for bustage in /builds/worker/workspace/build/src/layout/base/nsCSSFrameConstructor.cpp on a CLOSED TREE
Backed out changeset 7f5104c7a242 (bug 1452080)
Backed out changeset 806a9c95a243 (bug 1452080)
Backed out changeset bffebe8aa254 (bug 1452080)
2018-04-09 11:18:12 +03:00
Emilio Cobos Álvarez b6bb80b714 Bug 1452080: Rename ComputedStyle::PresContext to PresContextForFrame. r=xidorn
And make nsIFrame its only caller, modulo a safety assertion.

The safety assertion will be removed at the same time as the pres context
member, since the only purpose of it is to ensure we don't keep a pres context
reference for too long.

MozReview-Commit-ID: CD5zOHVO9ub
2018-04-09 09:57:57 +02:00
Emilio Cobos Álvarez 2a427429ff Bug 1452080: Remove ComputedStyle::PresContext usage from layout and canvas code. r=xidorn
Couldn't find an easy way of splitting these up :(

MozReview-Commit-ID: 2kTZ5McREUT
2018-04-09 09:57:55 +02:00
Emilio Cobos Álvarez e1aec7cd95 Bug 1447827: Rename the reparenting stuff. r=xidorn
MozReview-Commit-ID: H7tl6O8Ju32
2018-04-07 15:51:19 +02:00
Emilio Cobos Álvarez e128bf7b1a Bug 1447827: Remove ServoRestyleManager. r=xidorn
MozReview-Commit-ID: CFafQsb4rQn
2018-04-07 15:50:06 +02:00
Emilio Cobos Álvarez b508e66696 Bug 1447827: Move members from ServoRestyleManager to RestyleManager. r=xidorn
This leaves ServoRestyleManager as just a typedef.

MozReview-Commit-ID: 5wfTkiDc2Nr
2018-04-07 15:40:00 +02:00
Emilio Cobos Álvarez c0f2f96f66 Bug 1303605: Remove the undisplayed maps. r=bz,mats
This is mostly code removal, changing GetDisplayContentsStyle(..) checks by an
FFI call to Servo.

The tricky parts are:

 * MaybeCreateLazily, which I fixed to avoid setting bits under display: none
   stuff. This was a pre-existing problem, which was wallpapered by the
   sc->IsInDisplayNoneSubtree() check, which effectively made the whole
   assertion useless (see bug 1381017 for the only crashtest that hit this
   though).

 * ContentRemoved, where we can no longer know for sure whether the element is
   actually display: contents if we're removing it as a response to a style
   change. See the comment there. That kinda sucks, but that case is relatively
   weird, and it's better than adding tons of complexity to handle that.

 * GetParentComputedStyle, which also has a comment there. Also, this function
   has only one caller now, so we should maybe try to remove it.

The different assertions after DestroyFramesForAndRestyle are changed for a
single assertion in the function itself, and the node bit used as an
optimization to avoid hashtable lookups is taken back.

MozReview-Commit-ID: AZm822QnhF9
2018-04-07 15:21:56 +02:00
Boris Zbarsky 88937275cc Bug 1449631 part 9. Remove nsIDOMEventTarget::AddEventListener. r=smaug
Also switch the XPCOM-y version of EventTarget::AddEventListner to a
Nullable<bool> for aWantsUntrusted.

The three-arg overload of AddEventListener in ContentFrameMessageManager was
never called, so all the AddEventListener overloads there are not needed.

MozReview-Commit-ID: 4IhqHmPVWzE
2018-04-05 13:42:42 -04:00
Boris Zbarsky 1dce94cf16 Bug 1449631 part 2. Remove nsIDOMEventTarget::RemoveEventListener. r=smaug
We can't have a null content in
ScrollbarActivity::StopListeningForScrollAreaEvents, because only viewport
frames have a null GetContent().

MozReview-Commit-ID: 9iAg0ivVqqG
2018-04-05 13:42:40 -04:00
Nicholas Nethercote a560608963 Bug 1451169 - Use `nsStaticAtom*` instead of `nsStaticAtom**` in Element.h. r=baku
And then fix up everything else that needs to change as well.

MozReview-Commit-ID: GDMfERqdQAc

--HG--
extra : rebase_source : 01fe06c3182245a409099a53383d92bf4fa0155c
2018-04-03 13:21:06 +10:00
Emilio Cobos Álvarez e42b195001 Bug 1451217: Remove VerifyStyleTree stuff. r=xidorn
MozReview-Commit-ID: DDXMq9WkUkE
2018-04-04 13:34:11 +02:00
Margareta Eliza Balazs 210797c4c1 Merge inbound to mozilla-central. a=merge 2018-04-04 12:43:55 +03:00
Matt Woodrow 0c3b21fb32 Bug 1370575 - Do less manual invalidation when tables changes, and rely on DLBI instead. r=mstange 2018-04-04 16:17:49 +12:00
Matt Woodrow 199c2a649c Bug 1450189 - Don't invalidate display items when we get a new style context. r=miko 2018-04-04 16:17:25 +12:00
Matt Woodrow cc659a75b9 Bug 1442844 - Don't mark display items invalid when temporarily setting the frame size in FinishAndStoreOverflow. r=dbaron 2018-04-04 16:17:01 +12:00
Matt Woodrow 8eb6516c62 Bug 1443380 - Don't mark all descendant frames modified for display list building when invalidating a frame subtree since marking just the root is sufficient. r=miko 2018-04-04 16:15:49 +12:00
Matt Woodrow 9a7f6d89b0 Bug 1443027 - Fix the merging algorithm to pass the new tests correctly. r=mstange
MozReview-Commit-ID: JnglCbdhZzE
* * *
[mq]: update-test

--HG--
extra : rebase_source : c9e861bcf811575aedeef5ab9b6fe9d963036740
2018-03-23 16:47:37 +13:00
Ting-Yu Lin 2a48bcd518 Bug 1404222 Part 6: Add a crashtest. r=dholbert
The browser should not crash if there's no width and height set on the div
with linear-gradient.

MozReview-Commit-ID: 2DbfpV7JT2m
2018-01-25 15:01:08 +08:00
Ting-Yu Lin ext:(%2C%20Brad%20Werth%20%3Cbwerth%40mozilla.com%3E) cf9bd1c885 Bug 1404222 Part 3: Block onload when shape-outside images are requested for a frame, and keep it blocked until the frame is removed, the image fails to load, or reflow is complete. r=dbaron,dholbert
When we finish decoding an image frame, we need to trigger reflow for the
frame containing a float with shape-outside: <image>, and delay the firing
of the document's onload event until that reflow is complete.
2018-01-25 14:56:43 +08:00
Ting-Yu Lin ext:(%2C%20Brad%20Werth%20%3Cbwerth%40mozilla.com%3E) 6c72d34781 Bug 1404222 Part 1: Implement shape-outside: <image>. r=dbaron,dholbert
When creating ImageShapeInfo, it's likely that the image is still decoding.
Part 2 will add mechanism to trigger reflow after the image is ready.
2018-01-25 14:55:18 +08:00
Sebastian Hengst a0665934fa Backed out 2 changesets (bug 1443027) for frequent crashes on OS X. a=backout
Backed out changeset 1e3dc6112e76 (bug 1443027)
Backed out changeset d2734042605a (bug 1443027)
2018-04-03 19:51:49 +03:00
Dorel Luca baf0da3fea Merge mozilla-central to autoland 2018-04-03 07:22:33 +03:00
Dorel Luca d8a4cfd361 Merge mozilla-inbound to mozilla-central. a=merge 2018-04-03 07:04:18 +03:00
Matt Woodrow 82c740d1b1 Bug 1450360 - Respect the z-index property set on scrollbars. r=mstange
--HG--
extra : rebase_source : 0288513aaa2216c14de501417ff3b9f405ee97a5
2018-04-03 12:13:48 +12:00
Ryan VanderMeulen e5ec40f40c Backed out 11 changesets (bug 1404222) for static analysis failures on a CLOSED TREE.
Backed out changeset a6a99136300c (bug 1404222)
Backed out changeset 7183b8104399 (bug 1404222)
Backed out changeset a1e4294c1c59 (bug 1404222)
Backed out changeset b79d6e8318db (bug 1404222)
Backed out changeset 0450620fdabd (bug 1404222)
Backed out changeset 026c74a92d04 (bug 1404222)
Backed out changeset 50ac4167f702 (bug 1404222)
Backed out changeset 59038f2db68a (bug 1404222)
Backed out changeset f6b9096da915 (bug 1404222)
Backed out changeset 4e0baffdd79b (bug 1404222)
Backed out changeset 57eeb849ab88 (bug 1404222)
2018-04-02 17:57:27 -04:00
Matt Woodrow 8e39fcdbe0 Bug 1443027 - Fix the merging algorithm to pass the new tests correctly. r=mstange
MozReview-Commit-ID: JnglCbdhZzE
* * *
[mq]: update-test

--HG--
extra : rebase_source : 1db0cc9843edd9654154d400b578a0432e5d765f
2018-03-23 16:47:37 +13:00
Brad Werth e5a53e119f Bug 1298008 Part 3: Update ReflowInput::CalculateBlockSideMargins to store computed values in the UsedMargin property. r=dholbert
MozReview-Commit-ID: 74u7rFkiVln

--HG--
extra : rebase_source : 09c1bab7bf09a9db71926a4dc52f95c99ebe197a
2018-03-23 12:09:48 -07:00
Brad Werth 15154e29fb Bug 1298008 Part 2: Make nsFlexContainer update UsedMargin property after final reflow. r=dholbert
MozReview-Commit-ID: HV4uhJqWjfj

--HG--
extra : rebase_source : 8dd4d384ed78dcea6093cb4f86f5a84d03048fa5
2018-03-08 17:35:47 -08:00
Ting-Yu Lin 441df3bbaa Bug 1404222 Part 6: Add a crashtest. r=dholbert
The browser should not crash if there's no width and height set on the div
with linear-gradient.

MozReview-Commit-ID: 2DbfpV7JT2m
2018-01-25 15:01:08 +08:00
Ting-Yu Lin ext:(%2C%20Brad%20Werth%20%3Cbwerth%40mozilla.com%3E) fe87490f1a Bug 1404222 Part 3: Block onload when shape-outside images are requested for a frame, and keep it blocked until the frame is removed or reflow is complete. r=dbaron,dholbert
When we finish decoding an image frame, we need to trigger reflow for the
frame containing a float with shape-outside: <image>, and delay the firing
of the document's onload event until that reflow is complete.
2018-01-25 14:56:43 +08:00
Ting-Yu Lin ext:(%2C%20Brad%20Werth%20%3Cbwerth%40mozilla.com%3E) 8efec59d87 Bug 1404222 Part 1: Implement shape-outside: <image>. r=dbaron,dholbert
When creating ImageShapeInfo, it's likely that the image is still decoding.
Part 2 will add mechanism to trigger reflow after the image is ready.
2018-01-25 14:55:18 +08:00
Hiroyuki Ikezoe 2b9a5049f3 Bug 1443358 - Consider that the target frame is scrolled out if scrollable parent frame size is empty. r=birtles
This patch adds three test cases;

1) Animation on position:absolute element in a zero-height iframe
  This animation should be throttled.
2) Animation on a non-zero width and hight position:absolute element but whose
   parent has a zero height
  This animation should NOT be throttled since the animation is visible
3) Animation on a zero-height position:absolute element whose parent also has
   zero height.
  This animation should be throttled since the animation is invisible

The first test fails without this fix and passes with the fix.
The second one passes regardless of the fix
The third one is marked as 'todo' since it doesn't pass with this fix.

MozReview-Commit-ID: 8pNUFQ71ivj

--HG--
extra : rebase_source : d1d37e5324247efc20a39d86a0f8849450cc7533
2018-04-02 13:34:14 +09:00
Daniel Holbert 3074065ec2 Bug 1105111 part 3: Add support for 'flex-basis:content' in layout. r=mats
BACKGROUND:
Early in flex layout, we have to resolve the 'flex-basis' value to produce the
"flex base size" (basically, the flex-basis resolved to an absolute length).

This resolution happens in two "phases" (which both happen within
nsFlexContainer::GenerateFlexItemForChild()):

First phase: we try to resolve the flex-basis by creating a ReflowInput for the
flex item (which gets us some other things as well).  Under the hood, we use
the flex-basis when resolving this ReflowInput's main-axis size.  The code for
this lives in nsFrame::ComputeSize (and in
nsFrame::ComputeSizeWithIntrinsicDimensions, via some frame classes' overrides of
ComputeSize).

Second phase: If the first phase didn't get us a definite size, then that means
we have to do reflow to measure the content size & produce a resolved flex base
size, which we do via ResolveAutoFlexBasisAndMinSize().

NOTES ON THIS PATCH:
To add 'flex-basis:content' support to layout, this patch only needs to modify
the first phase discussed above. If it turns out we also have some second-phase
work to do (i.e. if we need to do reflow to resolve 'flex-basis:content'), this
patch causes that reflow to happen by simply making us use eStyleUnit_Auto in
the main axis's nsStyleCoord in the first phase.  (And then, if that 'auto'
nsStyleCoord really does require reflow, then that first phase will end up
producing an unconstrained main-size in the flex item's ReflowInput, which will
automatically trigger the second phase.)

MozReview-Commit-ID: 2nH4Fh78C81
2018-04-02 04:30:38 +02:00
Mats Palmgren 4fd8ffd48e Bug 1398537 part 2 - [css-multicol] Implement percentages for 'column-gap' (Gecko part). r=dholbert 2018-04-02 01:56:19 +02:00
Daniel Holbert c090d777c6 Bug 1174003 late-breaking followup: remove obsolete comment about flex align-self:baseline behavior. (no review, comment-only, DONTBUILD)
There's been a clarification to the spec text that this comment was worried about:
  https://github.com/w3c/csswg-drafts/issues/2316
And with that clarification, this comment is no longer applicable.
2018-03-30 16:13:08 -07:00
Brindusan Cristian 1fa25f597f Backed out 3 changesets (bug 1298008) for devtools failures on browser_boxmodel_pseudo-element.js CLOSED TREE
Backed out changeset c18e2aac48a5 (bug 1298008)
Backed out changeset b5a4113f4649 (bug 1298008)
Backed out changeset 40f53976a5b8 (bug 1298008)
2018-03-30 23:10:23 +03:00
Cosmin Sabou 93f710b20d Merge central to autoland. a=merge CLOSED TREE
--HG--
extra : rebase_source : 2b02ec216396e230c27c74ca90fe88584ff29cd3
2018-03-30 21:46:52 +03:00
Noemi Erli 42b34ba196 Backed out 2 changesets (bug 1443027) for breacking Gmail on OSX r=pascalc a=backout
Backed out changeset 5deb310542a9 (bug 1443027)
Backed out changeset e04979dd66be (bug 1443027)
2018-03-30 19:08:30 +03:00
shindli 3bfd0c07fd Merge inbound to mozilla-central. a=merge 2018-03-30 12:56:21 +03:00
Brad Werth 6910a2c333 Bug 1298008 Part 3: Update ReflowInput::CalculateBlockSideMargins to store computed values in the UsedMargin property. r=dholbert
MozReview-Commit-ID: 74u7rFkiVln

--HG--
extra : rebase_source : 896f1ee98c78d94ea47c4a11ba87d4f516d0319e
2018-03-23 12:09:48 -07:00
Matt Woodrow 0ab5810be5 Bug 1443027 - Fix the merging algorithm to pass the new tests correctly. r=mstange
MozReview-Commit-ID: JnglCbdhZzE
* * *
[mq]: update-test

MozReview-Commit-ID: JMIzrnVeSTo

--HG--
extra : rebase_source : 0ea5ff0e79d1eb1a8f13ea4a17e37fe2601d44e7
2018-03-23 16:47:37 +13:00
Ciure Andrei c38c8d3b28 Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-03-30 01:11:06 +03:00
Ciure Andrei 5d841a3421 Merge inbound to mozilla-central. a=merge 2018-03-30 01:06:18 +03:00
Daniel Holbert 9b6ad9d929 Bug 1436881: Remove redundant special-case code for treating flex-basis enum values as 'auto' in vertical axis. r=mats
This patch should not affect behavior.

Logic-wise: the idea behind this patch is to behave as if the
'usingFlexBasisForHeight' variable were always false, which in turn lets us
remove an "if (!usingFlexBasisForHeight || ...)" check, because it trivially
passes when that bool is false.

Background on this special case & why we can remove it:
=======================================================
In the original flexbox implementation, we had some special-case code to be
sure we didn't end up swapping in e.g. "flex-basis:-moz-min-content" for
"height" in these ComputeSize functions, because that was a scenario that
previously would've been prevented at the parser level (height:-moz-min-content
is rejected for now), and hence may not have ended up being handled robustly.

However, nowadays it'll be handled just fine in these functions, and will
produce the same result as our special-case exception tries to achieve.

In particular, for a nsFrame that is a flex item in a flex container with a
vertical main axis (the scenario that these special cases are catching):

 - If the (vertical) main axis is this nsFrame's inline axis (i.e. if this
   nsFrame has a vertical writing-mode), then Stylo actually converts
   enumerated flex-basis values like "-moz-min-content" to "auto" when
   producing the computed values that layout sees.  So it's not actually
   possible for layout to see a computed "flex-basis" of -moz-min-content, in
   that scenario.

 - Otherwise, i.e. if the (vertical) main axis is this nsFrame's block axis,
   then these ComputeSize functions will now end up getting an enumerated
   "blockStyleCoord" (really pointing to flexBasis), but that'll still end up
   being treated like 'auto'. This happens by virtue of ComputeSize's calls to
   ComputeAutoSize (which initializes the tentative bsize value to
   NS_UNCONSTRAINEDSIZE) and to nsLayoutUtils::IsAutoBSize (which returns
   "true" for eStyleUnit_Enumerated values and then makes us leave the
   ComputeAutoSize result unperturbed).
2018-03-29 11:46:27 -07:00
Jeff Muizelaar 6e271997a6 Bug 1440694. Make nsDisplayText final. r=mattwoodrow 2018-03-29 10:56:39 -04:00
Ciure Andrei 68bc832e63 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-03-30 01:09:21 +03:00
Matt Woodrow 1523ce5000 Bug 1448841 - Part 4: Always put the CompositorHitTestInfo for inactive scrollports at the very top. r=mstange
MozReview-Commit-ID: 4SuL4ErQggS

--HG--
extra : rebase_source : 19374304e79d958c93153e9ce5450da2f34463f7
2018-03-29 23:02:25 +13:00
Matt Woodrow 7c50042dae Bug 1448841 - Part 3: Disable partial display list building when we have overlay scrollbars. r=mstange
MozReview-Commit-ID: HeMaqItUJdD

--HG--
extra : rebase_source : 691126fcf2dd1a90d74e7aca16f37127379804b2
2018-03-29 23:01:47 +13:00
Matt Woodrow db21303c2a Bug 1448841 - Part 2: Only compute the highest z-index for overlay scrollbars. r=mstange
MozReview-Commit-ID: KFw4dbdCHMf

--HG--
extra : rebase_source : 740c1d57ab6faba5bad3fb87157275fb9a1e3a75
2018-03-29 23:01:21 +13:00
Brad Werth 0c04a5bbab Bug 1298008 Part 2: Make nsFlexContainer update UsedMargin property after final reflow. r=dholbert
MozReview-Commit-ID: HV4uhJqWjfj

--HG--
extra : rebase_source : 61861ec388f184bb715de5bbe2c2d39a4cef9c36
2018-03-08 17:35:47 -08:00
Makoto Kato eb03688aa8 Bug 1449828 - Don't calculate selection rect if unnecessary. r=jfkthame 2018-03-29 21:12:34 +09:00
Emilio Cobos Álvarez 9cd4eecb3c Bug 1449010: Respect ::selection background styles for image overlays. r=mattwoodrow
I don't have a strong preference about blending with white vs. just doing alpha
0.5, so I kept doing what we were doing, since Blink and WebKit also apply the
blending to the text background, and I'm not sure that's particularly desirable.

MozReview-Commit-ID: AwYtAgdlcxj
2018-03-29 02:53:02 +02:00
Emilio Cobos Álvarez bf0a6ad75c Bug 1449010: Some minor cleanup in selection-related code. r=matwoodrow
MozReview-Commit-ID: AAhHZmOBc3Z
2018-03-29 02:53:01 +02:00
Gurzau Raul 8d268c6ce7 Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
rename : toolkit/components/extensions/ext-permissions.js => toolkit/components/extensions/parent/ext-permissions.js
2018-03-29 01:00:42 +03:00
Jonathan Kew 54769131c0 Bug 1449157 - Guard against mContent being null in nsFrame::HandlePress. r=dholbert 2018-03-28 14:42:20 +01:00
Cosmin Sabou 619e0c5b90 Backed out 3 changesets (bug 1449321, bug 1449566, bug 1449565) as per developer request.
Backed out changeset c31de7e26809 (bug 1449565)
Backed out changeset 72f9188800af (bug 1449566)
Backed out changeset 763277b299e4 (bug 1449321)

--HG--
extra : rebase_source : 212b357a3079dff30845a5f82e47b94e2d7f93cd
2018-03-28 18:10:11 +03:00
Jonathan Watt 41622cb3a7 Bug 1449321 - Remove the IsServo and IsGecko methods from the style system code. r=emilio 2018-03-23 16:01:34 +00:00
Jonathan Watt 68e78b291f Bug 1449321 - Remove the IsServo and IsGecko methods from the style system code. r=emilio
--HG--
extra : source : 763277b299e42d8ee7eafede027ee690b66a7a2a
2018-03-23 16:01:34 +00:00
Xidorn Quan 1962625a79 Bug 1448728 part 1 - Make popular headers not include nsWindowSizes.h. r=njn
MozReview-Commit-ID: EC5J9Im3gfu

--HG--
extra : source : 9fa9209aeeb00009143c5c21f21210c93184e61f
2018-03-28 10:44:49 +11:00