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

15717 Коммитов

Автор SHA1 Сообщение Дата
Kartikaya Gupta c7c9b39313 Bug 1503029 - Ensure the slider frame is notified of APZ drag initiation. r=botond
This adds a notification from APZ to the scrollbar's slider frame to
inform it of APZ starting an async scrollbar drag. This is useful
because APZ can start a scrollbar drag and even change the scroll
position before the scrollbar frame even handles the mousedown event. In
such a case, the mousedown can land on where the scrollthumb *used to
be* before it was dragged away. This can result in scroll-to-click
behavior getting triggered and the scrollthumb glitching.

With this patch, the new notification follows the same path as the
request-repaint message, and so is guaranteed to arrive at the scrollbar
before any request-repaint messages. It sets some state that can be used
to correct the behaviour described above.

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

--HG--
extra : moz-landing-system : lando
2018-11-22 18:00:49 +00:00
Margareta Eliza Balazs 876022232b Merge inbound to mozilla-central. a=merge 2018-11-22 11:21:21 +02:00
Coroiu Cristina 5b23f6f303 Merge mozilla-central to autoland a=merge 2018-11-22 06:33:06 +02:00
Mats Palmgren d1e5beda37 (no bug) - Add a couple of 'clang-format off' code comments to preserve formatting for readability. r=me 2018-11-21 22:05:20 +01:00
Ting-Yu Lin 4b1c23e4c2 Bug 1506216 - Remove bogus assert in AssertColumnSpanWrapperSubtreeIsSane(). r=bzbarsky
The assert is testing that the content's primary frame shouldn't
generate any native anonymous children, but what we really want to
ensure is that :-moz-column-span-wrapper doesn't create any native
anonymous child (because we don't restyle the wrapper), not the content
which creates ::-moz-column-span-wrapper. The condition is already
guaranteed by !aFrame->HasAnyStateBits(NS_FRAME_OWNS_ANON_BOXES) above.

Also, at this point during the frame construction, we haven't associate
the content with the its primary frame. Therefore,
nsContentUtils::AppendNativeAnonymousChildren() won't return anything
except for scrollbars on root element. That's why we have the crash in
this bug.

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

--HG--
extra : moz-landing-system : lando
2018-11-21 18:59:00 +00:00
Emilio Cobos Álvarez cf56163d41 Bug 1509044 - FrameLoader.clipSubdocument is unused. r=jwatt,smaug
Plus it generally doesn't work for e10s, etc. etc.

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

--HG--
extra : moz-landing-system : lando
2018-11-21 20:06:15 +00:00
Razvan Maries 208d16134b Merge mozilla-inbound to mozilla-central a=merge 2018-11-20 07:03:17 +02:00
Boris Zbarsky 47f81c215b Bug 1507540 part 7. Use notxpcom more in dom/. r=mccr8 2018-11-19 20:20:17 -05:00
Boris Zbarsky 71db58cf83 Bug 1507540 part 2. Use more notxpcom attributes in docshell/. r=smaug 2018-11-19 20:17:53 -05:00
Daniel Holbert 03a5bc2fc3 Bug 1494801: Don't add additional "contain:paint" clipping on scroll frames. r=mattwoodrow
The contain:paint clipping would be redundant and hence unnecessary in this
scenario, because:
- Scroll frames already clip their descendant frames.
- contain:paint has other (non-clipping-related) effects that prevent
descendant frames from escaping the scrollframe ancestor.

So, no further clipping is required.

This is a behavior change - it works around an issue that makes us fail to
repaint mousewheel-scrolled content inside of any scrollframe that returns true
from ShouldApplyOverflowClipping().

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

--HG--
extra : moz-landing-system : lando
2018-11-19 23:45:19 +00:00
Brad Werth 346bc8427e Bug 1506687 Part 1: Make FlexItemValues also provide the item's frame rect. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D12182

--HG--
extra : source : d8230f3fdd2c3ecea4771ebe98c83be6e3ebcbfc
2018-11-17 00:56:51 +00:00
Cosmin Sabou 06a105eed0 Backed out 2 changesets (bug 1506687) for causing mochitest mass failures. CLOSED TREE
Backed out changeset f93f179fb3b4 (bug 1506687)
Backed out changeset d8230f3fdd2c (bug 1506687)
2018-11-17 05:05:53 +02:00
Brad Werth cae2b12074 Bug 1506687 Part 1: Make FlexItemValues also provide the item's frame rect. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D12182

--HG--
extra : moz-landing-system : lando
2018-11-17 00:56:51 +00:00
Kristen Wright f22175b197 Bug 1460439 - Conversion from NS_STYLE_BORDER_STYLE_* macro to StyleBorderStyle::* enum class r=emilio
Converted NS_STYLE_BORDER_STYLE_* consts to enum class. Updated corresponding values to enum class. reduced BCCornerInfo struct values to fit StyleBorderStyle values inside struct. Added defaults to switches that do not fully cover all instances of StyleBorderStyle.
2018-11-07 11:56:17 -08:00
Cosmin Sabou 5394c8a6ca Backed out 3 changesets (bug 1506687) for devtools failures on browser_flexbox_sizing_info_for_text_nodes. CLOSED TREE
Backed out changeset 2788a93e179a (bug 1506687)
Backed out changeset 1c3baa04d4ce (bug 1506687)
Backed out changeset c50af93cfc84 (bug 1506687)
2018-11-15 20:01:52 +02:00
Brad Werth 5e72dc5a5b Bug 1506687 Part 2: Make FlexItemValues also provide the item's position and size. r=dholbert
Depends on D11782

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

--HG--
extra : moz-landing-system : lando
2018-11-15 16:20:40 +00:00
Brad Werth ff2db4f169 Bug 1506687 Part 1: Make devtools Flex API return null nodes for anonymous box flex items. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D11782

--HG--
extra : moz-landing-system : lando
2018-11-15 16:20:13 +00:00
arthur.iakab 82802a8287 Merge mozilla-central to autoland 2018-11-15 11:55:43 +02:00
arthur.iakab c0b26c4076 Merge inbound to mozilla-central a=merge 2018-11-15 11:54:15 +02:00
Timothy Guan-tin Chien af2973ef61 Bug 1503019 - Part II, Remove dom.webcomponents.customelements.enabled pref r=smaug
This patch removes the following functions:

* nsContentUtils::IsCustomElementsEnabled()
* CustomElementRegistry::IsCustomElementEnabled(JSContext* aCx, JSObject* aObject)
* CustomElementRegistry::IsCustomElementEnabled(nsIDocument* aDoc)

and all references of the pref.

Depends on D11183

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

--HG--
extra : moz-landing-system : lando
2018-11-15 06:52:01 +00:00
Timothy Guan-tin Chien 2b5881e46b Bug 1503019 - Part I, Remove dom.webcomponents.shadowdom.enabled r=smaug
This patch removes the dom.webcomponents.shadowdom.enabled pref and all its
references, including the following functions:

* nsContentUtils::IsShadowDOMEnabled()
* nsIDocument::IsShadowDOMEnabled()
* nsDocument::IsShadowDOMEnabled(JSContext* aCx, JSObject* aGlobal)
* nsDocument::IsShadowDOMEnabled(const nsINode* aNode)
* nsTextNode::IsShadowDOMEnabled(JSContext* aCx, JSObject* aObject)

This function is renamed and updated to nsDocument::IsCallerChromeOrAddon():

* nsDocument::IsShadowDOMEnabledAndCallerIsChromeOrAddon(JSContext* aCx, JSObject* aObject)

I didn't change the tests that load Shadow DOM tests in an iframe, in the interest of keeping hg annotation history.

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

--HG--
extra : moz-landing-system : lando
2018-11-15 06:51:07 +00:00
Emilio Cobos Álvarez d16b7e3e9a Bug 1507127 - Also move page-break-inside outside of mako. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D11876

--HG--
extra : moz-landing-system : lando
2018-11-15 08:16:23 +00:00
Emilio Cobos Álvarez 7cefd0df6a Bug 1507127 - Move the page-break-{before,after} properties to not use mako. r=heycam
And respect the computed value of `left` / `right` / etc.

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

--HG--
extra : moz-landing-system : lando
2018-11-15 08:15:13 +00:00
Jonathan Kew 803d5550bd Bug 1509167 - Cache an nsFontMetrics reference in nsTextFrame so that we don't have to re-create it on every DrawText call. r=jwatt 2018-11-26 17:59:50 +00:00
Jonathan Watt 8009877bd7 Bug 1509057. Disable <input type=number> support for grouping separators in user input. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D12554

--HG--
extra : rebase_source : 7ae34793e15f626df16bba225c2077c05135d568
extra : amend_source : 429cf996b8c66a17025a6eeb8b1c2fce6a58a614
2018-11-02 10:10:42 +00:00
Andreea Pavel d51566f085 Backed out 2 changesets (bug 1503019) for failing crashtests at dom/base/crashtests/1505811.html on a CLOSED TREE
Backed out changeset 06b12fd41ff1 (bug 1503019)
Backed out changeset 7b845eac9dd7 (bug 1503019)
2018-11-15 01:52:30 +02:00
Timothy Guan-tin Chien c69315234b Bug 1503019 - Part II, Remove dom.webcomponents.customelements.enabled pref r=smaug
This patch removes the following functions:

* nsContentUtils::IsCustomElementsEnabled()
* CustomElementRegistry::IsCustomElementEnabled(JSContext* aCx, JSObject* aObject)
* CustomElementRegistry::IsCustomElementEnabled(nsIDocument* aDoc)

and all references of the pref.

Depends on D11183

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

--HG--
extra : moz-landing-system : lando
2018-11-14 19:37:42 +00:00
Timothy Guan-tin Chien c0cc4f74e7 Bug 1503019 - Part I, Remove dom.webcomponents.shadowdom.enabled r=smaug
This patch removes the dom.webcomponents.shadowdom.enabled pref and all its
references, including the following functions:

* nsContentUtils::IsShadowDOMEnabled()
* nsIDocument::IsShadowDOMEnabled()
* nsDocument::IsShadowDOMEnabled(JSContext* aCx, JSObject* aGlobal)
* nsDocument::IsShadowDOMEnabled(const nsINode* aNode)
* nsTextNode::IsShadowDOMEnabled(JSContext* aCx, JSObject* aObject)

This function is renamed and updated to nsDocument::IsCallerChromeOrAddon():

* nsDocument::IsShadowDOMEnabledAndCallerIsChromeOrAddon(JSContext* aCx, JSObject* aObject)

I didn't change the tests that load Shadow DOM tests in an iframe, in the interest of keeping hg annotation history.

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

--HG--
extra : moz-landing-system : lando
2018-11-14 19:34:52 +00:00
Gerald Squelart d166a2ef4f Bug 1499961 - Regression test for future movable reflow roots - r=dbaron
This test would fail with the upcoming bug 1159042 (dynamic reflow roots),
without the RecomputePosition fix in the next patch.

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

--HG--
extra : moz-landing-system : lando
2018-11-14 10:15:40 +00:00
Emilio Cobos Álvarez 8e1f58b955 Bug 1506592 - Make sure to only display the broken image icon if there's a request at all. r=bzbarsky
This is enough to fix the devtools regression and matches what other browsers
do in the no-attribute case.

Also, I think this change over all makes sense: it doesn't make any sense to
display the broken image icon if there's no request, and we already assume in
EnsureIntrinsicSizeAndRatio() that we don't paint the icon for those (and make
the intrinsic size 0x0).

We still show the border, which matches other UAs (note that devtools
effectively masks the border away with mask-image).

This technically also can change behavior of <object> and <input>, but I think
it's better to be consistent, since EnsureIntrinsicSizeAndRatio also doesn't
special-case <img> either.

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

--HG--
extra : moz-landing-system : lando
2018-11-13 10:55:59 +00:00
Kartikaya Gupta 17eea57296 Bug 1466613 - Robustify DrawTargetRecording codepaths that create new drawtargets. r=mstange
Badly-behaved consumers of DrawTargetRecording can trigger recording of
draw calls that will fail to allocate required draw targets when the
recording is replayed. This patch tries to guard against this by
detecting these situations at record-time rather than crashing at
replay-time. When such a situation is detected, it will crash (for
content processes, to catch such scenarios) or gracefully fail (for
other processes).

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

--HG--
extra : moz-landing-system : lando
2018-11-13 10:39:02 +00:00
Hiroyuki Ikezoe c592937db4 Bug 1504929 - Further optimizations for RestyleManager::AddLayerChangesForAnimations.. r=birtles,sotaro
This change eliminates
 - nsLayoutUtils::LastContinuationOrIBSplitSibling calls for each CSS
   properties on WebRender
 - iterating over each display item for each compositor runnable CSS properties
 - a bunch of stuff in the case where the layer manager has not yet created,
   i.e. the compositor thread is not ready to receive animations

Depends on D11425

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

--HG--
extra : moz-landing-system : lando
2018-11-13 10:23:20 +00:00
Ting-Yu Lin e96e20c21d Bug 1506163 - Do not span column-span:all element across all columns if it's under different block formatting context. r=bz
multicol-span-all-004-ref.html is the same as multicol-span-all-004.html except
for the "column-span" value in h3.

Differential Revision: https://phabricator.services.mozilla.com/D12192
2018-11-19 11:27:45 -08:00
Randell Jesup 3a05a3fb0f Bug 1298381: Implement TimeToFirstContentfulPaint behind a pref r=mattwoodrow,smaug 2018-10-18 16:16:45 -04:00
Emilio Cobos Álvarez e7cb518669 Bug 1492958 - Remove user-select: -moz-all. r=mats
It's an attempt of an alias to `all`, except it doesn't get handled in all
places.

Seems unused both in comm-central and mozilla-central, and all external usage I
could find is followed by -webkit-user-select: all.

Differential Revision: https://phabricator.services.mozilla.com/D11582
2018-11-12 13:47:41 +01:00
Emilio Cobos Álvarez 318ef24ef6 Bug 1492958 - Remove unimplemented values of the user-select property. r=mats
Can't believe we literally had no code to handle them.

Differential Revision: https://phabricator.services.mozilla.com/D11581
2018-11-12 13:47:40 +01:00
Margareta Eliza Balazs cccd9d1083 Backed out 5 changesets (bug 1492958) for bc failures in browser/base/content/test/static/browser_parsable_css.js CLOSED TREE
Backed out changeset d7c8793ee054 (bug 1492958)
Backed out changeset e59edfbbd327 (bug 1492958)
Backed out changeset 5e643bc2e17b (bug 1492958)
Backed out changeset 59cf251c1a59 (bug 1492958)
Backed out changeset edc955448df6 (bug 1492958)
2018-11-12 14:36:43 +02:00
Emilio Cobos Álvarez 740de114a9 Bug 1492958 - Remove user-select: -moz-all. r=mats
It's an attempt of an alias to `all`, except it doesn't get handled in all
places.

Seems unused both in comm-central and mozilla-central, and all external usage I
could find is followed by -webkit-user-select: all.

Differential Revision: https://phabricator.services.mozilla.com/D11582
2018-11-12 11:51:50 +01:00
Emilio Cobos Álvarez e0b5a6ba3e Bug 1492958 - Remove unimplemented values of the user-select property. r=mats
Can't believe we literally had no code to handle them.

Differential Revision: https://phabricator.services.mozilla.com/D11581
2018-11-12 11:51:48 +01:00
Cosmin Sabou 00f29cfcf6 Merge mozilla-central to mozilla-inbound. 2018-11-10 13:51:14 +02:00
Ting-Yu Lin 5a22a68c3c Bug 1497990 Part 2 - Do not carry block-end margin out of ColumnSetFrame. r=dbaron
Also, remove the unused NS_BLOCK_MARGIN_ROOT flag set on nsColumnSetFrame.

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

--HG--
extra : moz-landing-system : lando
2018-11-09 21:02:12 +00:00
Ting-Yu Lin fe4ef80141 Bug 1497990 Part 1 - Use mIsBalancing instead of comparison between mBalanceColCount with INT32_MAX. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D8782

--HG--
extra : moz-landing-system : lando
2018-11-09 21:02:02 +00:00
Emilio Cobos Álvarez ea43a5393a Bug 1196668 - Make images without alt generate a replaced box regardless of src. r=bz
Behavior-wise this only removes the HasAttr(src) check, and adds the IsEmpty()
check to the alt attribute value, since this function is only called for <img>
and <input>.

But it also cleans up a bit.

Differential Revision: https://phabricator.services.mozilla.com/D11194
2018-11-09 18:10:14 +01:00
Gurzau Raul ff7bbb9936 Merge mozilla-central to inbound. a=merge CLOSED TREE
--HG--
rename : dom/media/ipc/RemoteVideoDecoder.cpp => dom/media/ipc/GpuDecoderModule.cpp
rename : dom/media/ipc/RemoteVideoDecoder.h => dom/media/ipc/GpuDecoderModule.h
extra : rebase_source : 0503e2d45fffafb1e8dd1ddcd2115af2778a5c66
2018-11-09 07:46:56 +02:00
Gurzau Raul 139c9b897f Backed out 2 changesets (bug 1196668) for assertion count failures at child-constraints/available-size-for-percentages-vrl-htb.https.html
Backed out changeset ff03b0b8ed81 (bug 1196668)
Backed out changeset 8e423aa1c94e (bug 1196668)
2018-11-09 06:33:16 +02:00
Emilio Cobos Álvarez 56f2b4fded Bug 1505786 - Implement overflow-wrap: anywhere. r=xidorn,jfkthame
Per https://github.com/w3c/csswg-drafts/issues/2682

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

--HG--
extra : moz-landing-system : lando
2018-11-08 22:39:34 +00:00
Emilio Cobos Álvarez 54599e6187 Bug 1196668 - Make images without alt generate a replaced box regardless of src. r=bz
Behavior-wise this only removes the HasAttr(src) check, and adds the IsEmpty()
check to the alt attribute value, since this function is only called for <img>
and <input>.

But it also cleans up a bit.

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

--HG--
extra : source : 803b224d52a0940b4fb4b3b9cffc6a1fa6e5d4ee
2018-11-07 18:26:17 +01:00
Gurzau Raul ecadb55316 Backed out changeset 803b224d52a0 (bug 1196668) for failures at dom/html/reftests/468263-2.html on a CLOSED TREE 2018-11-09 05:00:56 +02:00
Emilio Cobos Álvarez b0577a5771 Bug 1196668 - Make images without alt generate a replaced box regardless of src. r=bz
Behavior-wise this only removes the HasAttr(src) check, and adds the IsEmpty()
check to the alt attribute value, since this function is only called for <img>
and <input>.

But it also cleans up a bit.

Differential Revision: https://phabricator.services.mozilla.com/D11194
2018-11-09 02:56:56 +01:00
Mats Palmgren 237a48fbb3 Bug 1504576 - Remove XUL nsProgressMeterFrame. r=dholbert 2018-11-08 22:15:38 +01:00
Botond Ballo 52ee4ae5bf Bug 1496864 - When performing a main thread scroll, update the main thread's view of the visual viewport offset right away. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D11228

--HG--
extra : moz-landing-system : lando
2018-11-08 22:24:44 +00:00
Emilio Cobos Álvarez aa78b6d05a Bug 1505817 - Handle the case where a float is dynamically inserted inside a continuation. r=dbaron
The first assertion that fails here, and which causes all the havoc later, is:

  https://dev.searchfox.org/mozilla-central/rev/6e0e603f4852b8e571e5b8ae133e772b18b6016e/layout/generic/BlockReflowInput.cpp#578

That happens because the float has been dynamically inserted directly under one
of the continuations of the column set, not under the first. So that assertion
doesn't really hold.

Properly steal the float if that happens.

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

--HG--
extra : moz-landing-system : lando
2018-11-08 21:37:16 +00:00
Ting-Yu Lin 1a47a235fd Bug 1421105 Part 5 - Fix anonymous -moz-column-span-wrapper block's style is overridden after restyling. r=bzbarsky,emilio
The major change in this patch is ::-moz-column-span-wrapper blocks are no
longer linked into the continuation chains when they're created in
CreateColumnSpanSiblings(). We can do that because
::-moz-column-span-wrapper is an non-inheriting anon box, which doesn't need
to be restyled.

This prevents RestyleManager::ProcessPostTraversal or
nsIFrame::UpdateStyleOfOwnedChildFrame, which set the same style on all
continuations of the frame they are working with, from overriding the
::-moz-column-span-wrapper style.

GetNextContinuationWithSameStyle was deleted in bug 1447367. Delete the comment
in nsInlineFrame::UpdateStyleOfOwnedAnonBoxesForIBSplit() to avoid confusion.

This patch also adds another condition to reframe the multi-column container
in MaybeRecreateContainerForFrameRemoval(). That condition is when an
element has a "column-span:all" descendant, i.e. the element's frame has
"column-span:all" siblings (which is created by CreateColumnSpanSiblings).
The added test multicol-span-all-dynamic-remove-006.html will fail without
this patch.

Depends on D5212

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

--HG--
extra : moz-landing-system : lando
2018-11-08 19:11:55 +00:00
Ting-Yu Lin cce6ef31c9 Bug 1421105 Part 3 - Support dynamically adding or removing elements under multi-column subtree. r=bzbarsky,dbaron
Depends on D5209

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

--HG--
extra : moz-landing-system : lando
2018-10-24 22:19:19 +00:00
Ting-Yu Lin a1e36d1d46 Bug 1421105 Part 2 - Implement column-span for block and inline frames. r=bzbarsky,dbaron
Other frames calling InitAndWrapInColumnSetFrameIfNeeded() needs to be
modified to support column-span (bug 1489295).

Depends on D5208

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

--HG--
extra : moz-landing-system : lando
2018-10-30 05:41:30 +00:00
Emilio Cobos Álvarez f247168544 Bug 1505645 - Remove unused outparam from nsStyleTransformMatrix. r=boris
dummy bool is dummy.

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

--HG--
extra : moz-landing-system : lando
2018-11-08 02:25:28 +00:00
Daniel Holbert b3839e1912 Bug 1505569: Use AutoCleanLinkedList in flexbox code, rather than LinkedList + custom RAII class. r=mats
This patch doesn't change behavior; it's just making some custom cleanup
code unnecessary by using a better fitting container class.

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

--HG--
extra : moz-landing-system : lando
2018-11-07 21:43:44 +00:00
Emilio Cobos Álvarez 4cf97e23c7 Bug 1504033 - Ensure we don't start walking past our subtree. r=mattwoodrow
In this case aAncestor is an SVGOuterSVGFrame, and aItem is a transform item for
its AnonChildFrame.

I'm not sure if it's quite expected to have such a frame generating a
transform...

Let me know if not and I can try to dig more, but this looks intentional given
the comment in nsSVGOuterSVGAnonChildFrame.

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

--HG--
extra : moz-landing-system : lando
2018-11-07 01:37:19 +00:00
Csoregi Natalia 6e0e603f48 Merge inbound to mozilla-central. a=merge 2018-11-07 11:52:57 +02:00
Ryan Hunt 5b463a82c1 Bug 1503655 part 11 - Rename RenderFrameParent to RenderFrame. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D11114

--HG--
rename : layout/ipc/RenderFrameParent.cpp => layout/ipc/RenderFrame.cpp
rename : layout/ipc/RenderFrameParent.h => layout/ipc/RenderFrame.h
extra : rebase_source : d47ebaef909d8705a7d5d9d2eab8ca2053f58054
extra : histedit_source : dc40313790b59161b3df86c09efb7092bcedb5d8
2018-11-06 15:35:37 -06:00
Nazım Can Altınova f967885c60 Bug 1417976 - Part 2: Include DocShell IDs to marker payloads r=mstange
MozReview-Commit-ID: AML1ESUnFlu

Depends on D4914

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

--HG--
extra : moz-landing-system : lando
2018-11-06 21:45:50 +00:00
Ting-Yu Lin d652f1c8d3 Bug 916972 - Remove unused nsSpread and carried-out margin flags in nsIFrame.h. r=dholbert
Depends on D10798

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

--HG--
extra : moz-landing-system : lando
2018-11-05 16:44:08 +00:00
Ting-Yu Lin 1d9848a22a Bug 916972 - Eliminate nsIFrame::GetSplittableType() completely. r=mats,dholbert
Currently, GetSplittableType() is called only in
nsCSSFrameConstructor::CreateContinuingFrame(). The splittable concrete frames
should inherit from nsSplittableFrame, and must explicitly create continuing
frame in CreateContinuingFrame(). Thus, no need to maintain GetSplittableType().

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

--HG--
extra : moz-landing-system : lando
2018-11-05 19:11:12 +00:00
shindli 7c0a5e2aef Merge inbound to mozilla-central. a=merge 2018-11-03 11:40:50 +02:00
Timothy Guan-tin Chien 720f2da242 Bug 1496242 - Part II, Convert datetimebox to UA Widget r=dholbert,jaws,smaug
This patch converts datetimebox.xml to datetimebox.js and loads it as a UA Widget,
while touches things here and there to make it work.

In HTMLInputElement manages the lifecycle of the datetimebox UA Widget.
It is loaded when in <input> has type date or time, or have its type switch to date or time.

nsDateTimeControlFrame is changed so that when UA Widget is enabled,
it would not generate <xul:datetimebox>.

Like bug 1483972, a check is added in nsCSSFrameConstructor::CreateGeneratedContentItem()
to make sure we don't generate pseudo content inside <input>.

Assertions in IntlUtils is changed to allow UAWidget to call the methods.

Depends on D9056

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

--HG--
rename : toolkit/content/widgets/datetimebox.xml => toolkit/content/widgets/datetimebox.js
extra : moz-landing-system : lando
2018-11-03 05:31:05 +00:00
Daniel Holbert f75b36a5b7 Bug 1504361: Add MOZ_LOG logging to note when we reflow a flex item extra times. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D10791

--HG--
extra : moz-landing-system : lando
2018-11-03 00:41:05 +00:00
Noemi Erli e8db1dcf1f Backed out 3 changesets (bug 1417976) for causing devtools failures in builds/worker/workspace/build/src/tools/profiler/core/platform.cpp
Backed out changeset e70a24d50f20 (bug 1417976)
Backed out changeset 01ca16ef0b25 (bug 1417976)
Backed out changeset ede2fbe20d14 (bug 1417976)
2018-11-03 01:40:27 +02:00
Emilio Cobos Álvarez c52a218234 Bug 1504078 - Use references in the shapes code. r=bradwerth,TYLin
It doesn't make much sense to return const UniquePtr<Foo>& for something that
can't be null, it's just confusing.

Also make more stuff actually const.

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

--HG--
extra : moz-landing-system : lando
2018-11-02 18:19:06 +00:00
Nazım Can Altınova ed3240c681 Bug 1417976 - Part 2: Include DocShell IDs to marker payloads r=mstange
MozReview-Commit-ID: AML1ESUnFlu

Depends on D4914

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

--HG--
extra : moz-landing-system : lando
2018-11-02 20:26:48 +00:00
Andrew Osmond 016a11ff73 Bug 1428558 - Part 7. Suppress display list regeneration for animated image updates. r=nical
This patch allows us to intercept invalidation requests for display
items, and avoid regenerating the display list for animated images which
are using SharedSurfacesAnimation.

Differential Revision: https://phabricator.services.mozilla.com/D7504
2018-11-02 09:09:52 -04:00
Miko Mynttinen 5a4357d7c9 Bug 1503046 - Part 2: Introduce HitTestInfo and nsDisplayHitTestInfoItem, and make container items and nsDisplayCompositorHitTestInfo use them r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D10131

--HG--
extra : moz-landing-system : lando
2018-11-02 02:19:03 +00:00
Ryan Hunt 2226bcc8a3 Bug 1504220 - Move ScrollableLayerGuid, ViewID, ZoomConstraints from FrameMetrics.h r=botond
This commit attempts to lower the pain of modifying FrameMetrics.h.

It looks like most includes really only want ViewID or
ScrollableLayerGuid, so this commit factors them out into a separate
header. In the process FrameMetrics::ViewID is changed to
ScrollableLayerGuid::ViewID, which personally seems like a better
place for it now that we have RepaintRequest. Unfortunately that
requires a lot of places to be updated.

After this commit there are still a couple of major places that
FrameMetrics is included.
 * nsDisplayList.h
 * nsIScrollableFrame.h
 * Layers.h

Those are going to be more tricky or impossible to fix so they're
not in this commit.

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

--HG--
rename : gfx/layers/FrameMetrics.h => gfx/layers/ScrollableLayerGuid.h
rename : gfx/layers/FrameMetrics.h => gfx/layers/ZoomConstraints.h
extra : rebase_source : 29ac79f91460a181bf7437af5c371207e22858e2
extra : source : c2e70e531075493fc6e374dcec862827f0bc6e77
2018-11-01 15:15:46 -05:00
Ryan Hunt 358ef761e3 Bug 1502059 - Don't always cancel a scroll animation when we have a relative scroll offset update. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D9871

--HG--
extra : source : 2a457617fbf2ca133af18e9972e505f86dd90dd2
extra : amend_source : 119ab67b6c2c9a09a98cfb2f4c4ca20f82c64b9f
2018-10-25 17:21:29 -05:00
Emilio Cobos Álvarez 249491eb67 Bug 1502609 - followup: Add a missing ifdef. 2018-10-30 22:41:43 +01:00
Emilio Cobos Álvarez ce32511d99 Bug 1502609 - Assert that we don't mess up pseudo-element / anon-box restyling. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D9990

--HG--
extra : moz-landing-system : lando
2018-10-30 20:28:51 +00:00
Boris Chiou e3e3d6b80a Bug 1500627 - Fix some potential bugs of sizing properties for keywords in the block axis r=mats
1. Drop {Width|MinWidth|MaxWidh}DependsOnContainer() and
   {Height|MinHeight|MaxHeight}DependsOnContainer() because they are bogus
   after introducing the writing mode. Dropping these functions needs
   update nsLineLayout because it is the only one who still use
   these functions.
2. There are still some potential assertions and bugs on handling keywords
   in the block size, so we should update them as well.

Depends on D9438

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

--HG--
extra : moz-landing-system : lando
2018-10-29 22:56:42 +00:00
Boris Chiou 56e8afca3d Bug 1500627 - Treat min-main-size:[keyword] as "auto" for flex items, if main axis is the item's block axis r=dholbert
Keywords on the sizing properties in the block axis should behave as
initial values in the flex frame. We store the keywords as enum, instead
of auto or none in nsStyleCoord, so we have to handle it explicitly.

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

--HG--
extra : moz-landing-system : lando
2018-10-29 22:56:35 +00:00
Daniel Holbert 039305b565 Bug 1488762: Soften an assertion about sign of free space in flex layout, since absurdly large sizes can cause it to fail. r=bradwerth
Differential Revision: https://phabricator.services.mozilla.com/D9876

--HG--
extra : moz-landing-system : lando
2018-10-26 00:58:40 +00:00
Mats Palmgren 66c9ef8188 Bug 1453298 - [css-text] Resolve 'text-indent' percentage against the content-box inline-size of the box itself, not its containing block. r=emilio 2018-10-25 16:51:44 +02:00
Csoregi Natalia 9fbc76ace6 Merge inbound to mozilla-central. a=merge 2018-10-25 07:45:08 +03:00
Brad Werth 1600580027 Bug 1498273 Part 3: Define and set ComputedFlexItemInfo::mClampState. r=dholbert
Depends on D9727

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

--HG--
extra : moz-landing-system : lando
2018-10-24 23:47:23 +00:00
Brad Werth 2eb1938e51 Bug 1498273 Part 2: Change mHasMinViolation and mHasMaxViolation to also track clamp state after item freeze. r=dholbert
Depends on D8769

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

--HG--
extra : moz-landing-system : lando
2018-10-24 23:46:39 +00:00
Emilio Cobos Álvarez 449b22d059 Bug 1500885 - mTextAlignTrue / mTextAlingLastTrue are write-only. r=mats
They were added in bug 929991, but there's no text-align: true anymore.

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

--HG--
extra : moz-landing-system : lando
2018-10-22 15:14:42 +00:00
Ting-Yu Lin 8c481a151b Bug 1501145 Part 2 - Assign default values to ColumnBalanceData fields. r=mats
Depends on D9467

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

--HG--
extra : moz-landing-system : lando
2018-10-23 13:09:16 +00:00
Ting-Yu Lin 4e6b53ce88 Bug 1501145 Part 1 - Assign default values to ReflowConfig fields, and explicitly initialize them in ChooseColumnStrategy. r=mats
The original statement is neat, but one cannot easily associates the values
computed in ChooseColumnStrategy with the actually field name in ReflowConfig.

Remove the aFeasibleBSize and aInfeasibleBSize for ChooseColumnStrategy()
because they're not used.

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

--HG--
extra : moz-landing-system : lando
2018-10-23 13:08:59 +00:00
Kartikaya Gupta bad6bf49d6 Bug 1374790 - Wait until APZ is ready before sending it a wheel event. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D9567

--HG--
extra : moz-landing-system : lando
2018-10-23 18:58:10 +00:00
Brad Werth 29992e3858 Bug 1501109 Part 1: Change Flex API growth state to match layout algorithm, and use enums from webidl. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D9454

--HG--
extra : moz-landing-system : lando
2018-10-23 16:23:37 +00:00
Julian Descottes 73e3a16c0d Bug 1499096 - Use ok() with 2 arguments instead of 3 when possible;r=Standard8
Depends on D8740.
This changeset replaces calls to ok with 3 arguments to calls with 2 arguments
in situations where the switch does not have a significant impact on the assert.

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

--HG--
extra : moz-landing-system : lando
2018-10-23 07:13:35 +00:00
Julian Descottes 2fcd6cb020 Bug 1499096 - Update tests using ok() to is();r=Standard8
This changeset updates all the test that were wrongly using ok() and wanted to
use is() AND for which the assert is still passing without any modification
required.

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

--HG--
extra : moz-landing-system : lando
2018-10-23 07:12:23 +00:00
Xidorn Quan 9de832b381 Bug 1448317 - Don't include absolutely-positioned and float children in element outline. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D9349

--HG--
extra : moz-landing-system : lando
2018-10-23 06:37:16 +00:00
Emilio Cobos Álvarez d62a793992 Bug 1500575 - Map inset clip paths to WR complex clip regions. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D9412

--HG--
extra : moz-landing-system : lando
2018-10-23 00:10:00 +00:00
Mats Palmgren 822ff9c4d2 Bug 1500609 part 2 - Make the declaration of operator<< for nsReflowStatus unconditional since it's needed to build some COLUMN_SET_LOG expression in nsColumnSetFrame.cpp (idempotent patch). r=me 2018-10-22 00:54:57 +02:00
Mats Palmgren 4b5a264c80 Bug 1500609 part 1 - Add a nsFlexContainerFrame method to remove cached data that depend on flex items' intrinsic isize (idempotent patch). r=dholbert 2018-10-22 00:54:57 +02:00
Daniel Holbert a597621867 Bug 1500608: Don't skip the flex-item early-freeze for devtools after all. r=bradwerth
This patch basically reverts the functional part of changeset 52bd865d757c.
I'd optimistically hoped we could skip this early-freeze in order to compute &
report a bit more "potential flexing" information via devtools.  Bbut it turns
out that breaks assertions & produces bogus information for flex items whose
base size vs. min/max-clamped "hypothetical" sizes are very
different. (Specifically: it produces nonsense for flex items whose base sizes,
if unclamped, would reverse the directionality of flexing.)

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

--HG--
extra : moz-landing-system : lando
2018-10-19 22:05:46 +00:00
Kartikaya Gupta a971a37e5f Bug 1485834 - Allow recomputing the cumulative resolution in ComputeScrollMetadata. r=botond
We need to correctly populate the cumulative resolution field in the
ScrollMetadata in order to support zooming. Without this, the cumulative
resolution doesn't include the presShell resolution, and that results in
APZ getting into an inconsistent state.

Currently, the cumulative resolution is populated from the
ContainerLayerParameters object's scale, but in the case of WebRender,
we call ComputeScrollMetadata with an empty ContainerLayerParameters
since don't actually do layer building or rasterization in Gecko.
This patch makes this more explicit by changing the argument to a
Maybe<ContainerLayerParameters> and passing Nothing() from the WebRender
call sites.

In this scenario, we just use the cumulative presShell resolution as
the cumulative resolution, which should be correct for WebRender as
we won't have an "extra" CSS-derived resolution applied on the Gecko
side.

Depends on D9120

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

--HG--
extra : moz-landing-system : lando
2018-10-19 14:24:50 +00:00
Daniel Holbert 8d0f407881 Bug 1498281: Make flexbox devtools API report actual flex base size (not its min/max-clamped version). r=bradwerth
This patch also updates the expectations in the mochitest test_flex_items.html.
Before this commit, the test (incorrectly) expected the mainBaseSize API to
return some items' *final sizes*, because that's what our implementation did
return, up until now. As of this patch, that API will now return the item's
actual flex base size, which means the text expectations need to change.

I'm also adding a new flex item to the test, to exercise a formerly-untested
scenario.  And to accommodate this new item, I'm also doubling the width of
the flex container to be sure there's plenty of space.

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

--HG--
extra : moz-landing-system : lando
2018-10-18 23:45:51 +00:00
Daniel Holbert 9e97acb7ae Bug 1499542 part 2: Skip frozen flex items when recording grow-vs-shrink state and deltas. r=bradwerth
Frozen flex items have already been clamped to their min/max sizes, so their
size-change isn't a "how much we want to flex" measurement, and it's not useful
for determining whether the rest of the line is shrinking.

This patch is just adding a `if (!item->IsFrozen())` check around some code,
and reindenting that code, and adjusting a few comments.

This change is necessary to avoid failing the "GrowthState" assertions,
because (for example) a flex item that's clamped to a small max-width
could fool us into thinking we're in a "shrinking" state (since its final
size is smaller than its base size), even though really we're
in a "growth" state and the item was simply clamped.  We avoid this
problem by skipping (potentially-clamped) frozen items when determining
the line's GrowthState.

Depends on D8922

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

--HG--
extra : moz-landing-system : lando
2018-10-17 18:52:33 +00:00
Daniel Holbert 03b6e5b8d7 Bug 1499542 part 1: Don't do early-freeze of flexible-but-doomed-to-be-clamped flex items, if devtools are active. r=bradwerth
We'd like to be able to record the "desired" (pre-clamped) delta size from
tentatively flexing for these items.  That size would be computed during a loop
of the flex layout algorithm -- but we can't do that if we freeze them before
we start flexing. So let's bypass this early freeze so they get a chance to
compute this tentative size, even though they can never have it.

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

--HG--
extra : moz-landing-system : lando
2018-10-18 23:44:42 +00:00
Ryan Hunt 1601a8bb80 Bug 1453425 - Add relative scroll offset updates using nsGkAtoms::relative. r=botond
This commit adds a scroll origin, nsGkAtoms::relative, which can be used to
mark main thread scrolling that can be combined with a concurrent APZ scroll.

The behavior of this is controlled by a pref, apz.relative-update. This pref
is initially activated and is intended as an aid to narrowing down causes
of regressions for users in bug reports.

Relative scroll updates work by tracking the last sent or accepted APZ
scroll offset. This is sent along with every FrameMetrics. Additionally,
a flag is added to FrameMetrics, mIsRelative, indicating whether the
scroll offset can be combined with a potential APZ scroll. When this
flag is set, AsyncPanZoomController will apply the delta between the sent
base scroll offset, and sent new scroll offset.

This flag is controlled by the last scroll origin on nsGfxScrollFrame. The
new origin, `relative`, is marked as being able to clobber APZ updates,
but can only be set if all scrolls since the last repaint request or
layers transaction have been relative.

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

--HG--
extra : rebase_source : 51351a84c9cda228a0975e22eda3fd3bd8d261c4
extra : histedit_source : 4b564c19b16fe2bd26adc671b62b7cb6106e8163
2018-10-09 23:24:28 -05:00
Ryan Hunt d4c042f28a Bug 1453425 - Use ScrollByCSSPixels in relative scrolling DOM API's. r=botond
This commit changes `Window::ScrollBy` and `Element::ScrollBy` to use
ScrollByCSSPixels in preparation for marking ScrollByCSSPixels as a
relative scroll API.

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

--HG--
extra : rebase_source : fa82acc12395569bd332573718f8a8013ac20b60
extra : histedit_source : 7ac061e65a2522051ed73f3ba6349d5ea696e15f
2018-10-05 19:06:40 -05:00
Brad Werth e2f5a79f00 Bug 1497589 Part 4: Set ComputedFlexContainerInfo physical axis values, and expose them through the Flex API. r=dholbert
Depends on D8616

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

--HG--
extra : moz-landing-system : lando
2018-10-17 20:23:09 +00:00
Masayuki Nakano 09c4ea6dd3 Bug 1482425 - PresShell::PageMove() should use different rules to look for a container element for aExtend value r=smaug
PresShell::PageMove() climbs up to parent document when there is no scrollable
parent in current document.  However, if aExtend is true, it should expand
Selection in the document itself.  Therefore, it needs different rules to
look for container of expanding Selection from scrollable element to scroll.

Additionally, old rules (i.e., before the fix of bug 1369072 which caused
this regression) were also buggy.  It used parent scrollable element or
root scrollable element simply.  Therefore, if found scrollable element is
ancestor of selection limiter, it didn't work as expected.

This patch creates nsFrameSelection::GetFrameToPageSelect() to retrieve
per-page selection container element with the following rules:
- look for a scrollable element in selection limiter.
- if there is no scrollable element, use selection limiter.
- if there is no selection limiter, use the root frame.

So, nsFrameSelection::CommonPageMove() should take nsIFrame rather than
nsIScrollableFrame since container of per-page selection may be used in
non-scrollable contenteditable element.  If it's called with non-scrollable
frame, it needs to compute the expanding range with the frame size.

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

--HG--
extra : moz-landing-system : lando
2018-10-18 04:42:53 +00:00
Boris Chiou 09a7c9a305 Bug 1496558 - Part 1: Store the correct computed values for keywords for sizing properties r=mats
In order to get the correct computed value of these keywords, we have to
make sure we store the correct computed values in sizing properties in
both inline axis and block axis.

-moz-max-content and -moz-min-content should behave as the property's
initial value in block axis. -moz-fit-content and -moz-available are not
supported in block axis, so we also treat them as initial values.

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

--HG--
extra : moz-landing-system : lando
2018-10-16 19:38:41 +00:00
Gurzau Raul 21b5725e3c Merge inbound to mozilla-central. a=merge 2018-10-15 01:18:18 +03:00
Miko Mynttinen 7363138acc Bug 1482403 - Always create nsDisplayOpacity for filters and masks when there is visual opacity r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D7183

--HG--
extra : moz-landing-system : lando
2018-10-14 19:27:15 +00:00
Mats Palmgren 83361ab4ba Bug 1494745 part 2 - Make nsRefreshDriver::AddRefreshObserver void since it's infallible. r=bz
nsRefreshDriver::ObserverArray is a nsTObserverArray which is
infallible, so no need to check the return value from AppendElement
(which a later patch in this series will remove).
2018-10-14 18:12:22 +02:00
Diego Pino Garcia 4520a114b1 Bug 1498148 - Implement text-transform: full-size-kana. r=xidorn 2018-10-14 09:42:24 +11:00
Noemi Erli e350ad46ad Backed out changeset a00b402fb8e8 (bug 1498148) for Linting failure in builds/worker/checkouts/gecko/tools/lint/wpt.yml CLOSED TREE 2018-10-14 00:12:12 +03:00
Diego Pino Garcia d8fa9f97a3 Bug 1498148 - Implement text-transform: full-size-kana. r=xidorn 2018-10-13 05:03:00 +03:00
Ryan Hunt 2e10c1c6cb Bug 1453425 - Remove mScrollPosAtLastPaint from nsGfxScrollFrame. r=botond
This field appears to be only ever used as a local variable, and can be removed.

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

--HG--
extra : rebase_source : 310057f703f4734ba9aef807100c5b5ff888da41
extra : histedit_source : 735d3f09bdb56d6eb386e2b5faffea1d769d97a1
2018-09-24 14:12:04 -05:00
Gurzau Raul fa37566219 Merge inbound to mozilla-central. a=merge 2018-10-10 07:35:14 +03:00
Emilio Cobos Álvarez 5c40ac23c9 Bug 1496014 - Fix shape-outside invalidation. r=dbaron
It's not really invalidated anywhere, and the float manager code only checks for
float region changes. Extend it so that it knows about shapes as well, and avoid
reframing due to a bogus nsChangeHint_ScrollbarChange which really meant to be
UpdateOverflow, which really is useless in this situation..

Differential Revision: https://phabricator.services.mozilla.com/D7583
2018-10-10 01:33:17 +02:00
Daniel Holbert 12fe521b72 Bug 1495470: Only let 'contain:layout/paint' create stacking contexts on frames that support it. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D7926

--HG--
extra : moz-landing-system : lando
2018-10-09 21:04:03 +00:00
Gurzau Raul 2ab30dfc12 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-10-10 01:04:25 +03:00
Manuel Rego Casasnovas d9ecddc9fa Bug 1491235: [css-contain] Make 'contain:layout' (not 'contain:size') suppress baseline measurements r=dholbert
The CSSWG has recently resolved that layout containment
suppress baseline alignment, while size containment does not:
https://github.com/w3c/csswg-drafts/issues/2995

Spec text (https://drafts.csswg.org/css-contain/#containment-layout):
  "7. For the purpose of the vertical-align property,
   or any other property whose effects need to relate
   the position of the containing element's baseline
   to something other than its descendants,
   the containing element is treated as having no baseline."

And a note in (https://drafts.csswg.org/css-contain/#containment-size):
  "Note: size containment does not suppress baseline alignment.
   See layout containment for that."

This patch does this change just switching IsContainSize()
by IsLayoutSize() in several places related to baseline alignment
in the source code.

With the patch several WPT tests start to pass. Apart from that,
some of the tests under vendor-imports are updated to follow
the new behavior.

--HG--
extra : amend_source : 05dc9a320afeb1d58981e2bd8bc47b435999f2f9
2018-10-09 14:13:13 -07:00
Edgar Chen 4026ebce41 Bug 1473108 - Part 2: Make PresShell not point to unbound NAC in event content stack; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D8042

--HG--
extra : moz-landing-system : lando
2018-10-09 12:16:15 +00:00
Noemi Erli c2709dc7e9 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-09 00:56:03 +03:00
Daniel Holbert e82b6edd6f Bug 1497330: Explicitly delete TextOverflow's default constructor. r=dthayer
Before this patch, TextOverflow had an explicitly-*defaulted* default
constructor. But in fact, this constructor was *implicitly* deleted because one
of the member variables (of type LogicalRect) couldn't be default-constructed
due to having its own default constructor explicitly deleted.

clang trunk highlights this inconsistency with a build warning
(-Wdefaulted-function-deleted) which this patch addresses.

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

--HG--
extra : moz-landing-system : lando
2018-10-08 20:21:52 +00:00
Mats Palmgren 4ebe60371d Bug 1495153 part 2 - Implement cropping the filename for <input type=file>. r=emilio,jfkthame 2018-10-07 10:08:45 +02:00
Narcis Beleuzu 5786b9be9f Backed out 2 changesets (bug 1495153) for causing perma failures on dynamic-max-width.html
Backed out changeset 6d95f0e0cc76 (bug 1495153)
Backed out changeset 6800eb348ebe (bug 1495153)
2018-10-07 05:14:44 +03:00
Mats Palmgren 3eec51d6b3 Bug 1495153 part 2 - Implement cropping the filename for <input type=file>. r=emilio,jfkthame 2018-10-06 19:31:51 +02:00
Daniel Holbert ae143565fe Bug 1178783: Add crashtest for (now-fixed) flexbox hang bug. (no review, test-only)
--HG--
extra : rebase_source : f23ccca84f728e5bd8261911a430cda626270158
2018-10-05 14:15:53 -07:00
Ryan Hunt f1dc235e14 Bug 1475139 part 9 - Use DrawDependentSurface in nsDisplayRemote when painting to a temp layer manager with a recording. r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D6788

--HG--
extra : rebase_source : be90e03c9db768ecbc1b7f419f5ab9eda36e9ae4
2018-09-24 21:45:54 -05:00
Emilio Cobos Álvarez eed1014705 Bug 1495169 - Remove cached measuring reflows if we aren't measuring the right thing because we got interrupted. r=dholbert
If we're waiting on an interrupt, then our child items haven't been totally
reflowed and our measures would be bogus.

This will probably regress performance in the cases bug 1209697 fixed, so we
should probably add an interrupt check somewhere in nsFlexContainerFrame to
avoid keeping reflowing flex containers indefinitely.

We could probably just bail out from our reflow if any kid reflow was
interrupted.

Filed bug 1495532 to consider that.

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

--HG--
extra : moz-landing-system : lando
2018-10-04 20:24:04 +00:00
Nicholas Nethercote 36c48819d1 Bug 1451169 - Use `nsStaticAtom*` instead of `nsStaticAtom**` in Element.h. r=baku
--HG--
extra : rebase_source : db09f7ab93a1c41ace03a645623f78a27ecfff8c
2018-04-03 13:21:06 +10:00
Kevin Chen 00e4495e5d Bug 1345388. Draw the alt feedback of an image with WedRender so we don't have to use fallback. r=aosmond
This is a fairly direct copy of nsImageFrame::DisplayAltFeedback changed to use WebRender.
2018-01-10 16:32:48 +08:00
Gurzau Raul 3295ecd3f1 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-10-02 19:07:23 +03:00
Gurzau Raul ca3641419f Merge inbound to mozilla-central. a=merge
--HG--
rename : docshell/test/bug123696-subframe.html => docshell/test/mochitest/bug123696-subframe.html
rename : docshell/test/bug404548-subframe.html => docshell/test/mochitest/bug404548-subframe.html
rename : docshell/test/bug404548-subframe_window.html => docshell/test/mochitest/bug404548-subframe_window.html
rename : docshell/test/bug413310-post.sjs => docshell/test/mochitest/bug413310-post.sjs
rename : docshell/test/bug413310-subframe.html => docshell/test/mochitest/bug413310-subframe.html
rename : docshell/test/bug529119-window.html => docshell/test/mochitest/bug529119-window.html
rename : docshell/test/bug530396-noref.sjs => docshell/test/mochitest/bug530396-noref.sjs
rename : docshell/test/bug530396-subframe.html => docshell/test/mochitest/bug530396-subframe.html
rename : docshell/test/bug570341_recordevents.html => docshell/test/mochitest/bug570341_recordevents.html
rename : docshell/test/bug668513_redirect.html => docshell/test/mochitest/bug668513_redirect.html
rename : docshell/test/bug668513_redirect.html^headers^ => docshell/test/mochitest/bug668513_redirect.html^headers^
rename : docshell/test/bug691547_frame.html => docshell/test/mochitest/bug691547_frame.html
rename : docshell/test/dummy_page.html => docshell/test/mochitest/dummy_page.html
rename : docshell/test/file_anchor_scroll_after_document_open.html => docshell/test/mochitest/file_anchor_scroll_after_document_open.html
rename : docshell/test/file_bfcache_plus_hash_1.html => docshell/test/mochitest/file_bfcache_plus_hash_1.html
rename : docshell/test/file_bfcache_plus_hash_2.html => docshell/test/mochitest/file_bfcache_plus_hash_2.html
rename : docshell/test/file_bug1121701_1.html => docshell/test/mochitest/file_bug1121701_1.html
rename : docshell/test/file_bug1121701_2.html => docshell/test/mochitest/file_bug1121701_2.html
rename : docshell/test/file_bug1151421.html => docshell/test/mochitest/file_bug1151421.html
rename : docshell/test/file_bug1186774.html => docshell/test/mochitest/file_bug1186774.html
rename : docshell/test/file_bug1450164.html => docshell/test/mochitest/file_bug1450164.html
rename : docshell/test/file_bug385434_1.html => docshell/test/mochitest/file_bug385434_1.html
rename : docshell/test/file_bug385434_2.html => docshell/test/mochitest/file_bug385434_2.html
rename : docshell/test/file_bug385434_3.html => docshell/test/mochitest/file_bug385434_3.html
rename : docshell/test/file_bug475636.sjs => docshell/test/mochitest/file_bug475636.sjs
rename : docshell/test/file_bug509055.html => docshell/test/mochitest/file_bug509055.html
rename : docshell/test/file_bug511449.html => docshell/test/mochitest/file_bug511449.html
rename : docshell/test/file_bug540462.html => docshell/test/mochitest/file_bug540462.html
rename : docshell/test/file_bug580069_1.html => docshell/test/mochitest/file_bug580069_1.html
rename : docshell/test/file_bug580069_2.sjs => docshell/test/mochitest/file_bug580069_2.sjs
rename : docshell/test/file_bug590573_1.html => docshell/test/mochitest/file_bug590573_1.html
rename : docshell/test/file_bug590573_2.html => docshell/test/mochitest/file_bug590573_2.html
rename : docshell/test/file_bug598895_1.html => docshell/test/mochitest/file_bug598895_1.html
rename : docshell/test/file_bug598895_2.html => docshell/test/mochitest/file_bug598895_2.html
rename : docshell/test/file_bug634834.html => docshell/test/mochitest/file_bug634834.html
rename : docshell/test/file_bug598895_1.html => docshell/test/mochitest/file_bug637644_1.html
rename : docshell/test/file_bug598895_2.html => docshell/test/mochitest/file_bug637644_2.html
rename : docshell/test/file_bug640387.html => docshell/test/mochitest/file_bug640387.html
rename : docshell/test/file_bug653741.html => docshell/test/mochitest/file_bug653741.html
rename : docshell/test/file_bug660404 => docshell/test/mochitest/file_bug660404
rename : docshell/test/file_bug660404-1.html => docshell/test/mochitest/file_bug660404-1.html
rename : docshell/test/file_bug660404^headers^ => docshell/test/mochitest/file_bug660404^headers^
rename : docshell/test/file_bug653741.html => docshell/test/mochitest/file_bug662170.html
rename : docshell/test/file_bug668513.html => docshell/test/mochitest/file_bug668513.html
rename : docshell/test/file_bug669671.sjs => docshell/test/mochitest/file_bug669671.sjs
rename : docshell/test/file_bug675587.html => docshell/test/mochitest/file_bug675587.html
rename : docshell/test/file_bug680257.html => docshell/test/mochitest/file_bug680257.html
rename : docshell/test/file_bug703855.html => docshell/test/mochitest/file_bug703855.html
rename : docshell/test/file_bug728939.html => docshell/test/mochitest/file_bug728939.html
rename : docshell/test/file_close_onpagehide1.html => docshell/test/mochitest/file_close_onpagehide1.html
rename : docshell/test/file_close_onpagehide2.html => docshell/test/mochitest/file_close_onpagehide2.html
rename : docshell/test/file_framedhistoryframes.html => docshell/test/mochitest/file_framedhistoryframes.html
rename : docshell/test/file_pushState_after_document_open.html => docshell/test/mochitest/file_pushState_after_document_open.html
rename : docshell/test/historyframes.html => docshell/test/mochitest/historyframes.html
rename : docshell/test/mochitest.ini => docshell/test/mochitest/mochitest.ini
rename : docshell/test/start_historyframe.html => docshell/test/mochitest/start_historyframe.html
rename : docshell/test/test_anchor_scroll_after_document_open.html => docshell/test/mochitest/test_anchor_scroll_after_document_open.html
rename : docshell/test/test_bfcache_plus_hash.html => docshell/test/mochitest/test_bfcache_plus_hash.html
rename : docshell/test/test_bug1045096.html => docshell/test/mochitest/test_bug1045096.html
rename : docshell/test/test_bug1121701.html => docshell/test/mochitest/test_bug1121701.html
rename : docshell/test/test_bug1151421.html => docshell/test/mochitest/test_bug1151421.html
rename : docshell/test/test_bug1186774.html => docshell/test/mochitest/test_bug1186774.html
rename : docshell/test/test_bug123696.html => docshell/test/mochitest/test_bug123696.html
rename : docshell/test/test_bug1450164.html => docshell/test/mochitest/test_bug1450164.html
rename : docshell/test/test_bug384014.html => docshell/test/mochitest/test_bug384014.html
rename : docshell/test/test_bug385434.html => docshell/test/mochitest/test_bug385434.html
rename : docshell/test/test_bug387979.html => docshell/test/mochitest/test_bug387979.html
rename : docshell/test/test_bug402210.html => docshell/test/mochitest/test_bug402210.html
rename : docshell/test/test_bug404548.html => docshell/test/mochitest/test_bug404548.html
rename : docshell/test/test_bug413310.html => docshell/test/mochitest/test_bug413310.html
rename : docshell/test/test_bug475636.html => docshell/test/mochitest/test_bug475636.html
rename : docshell/test/test_bug509055.html => docshell/test/mochitest/test_bug509055.html
rename : docshell/test/test_bug511449.html => docshell/test/mochitest/test_bug511449.html
rename : docshell/test/test_bug529119-1.html => docshell/test/mochitest/test_bug529119-1.html
rename : docshell/test/test_bug529119-2.html => docshell/test/mochitest/test_bug529119-2.html
rename : docshell/test/test_bug530396.html => docshell/test/mochitest/test_bug530396.html
rename : docshell/test/test_bug540462.html => docshell/test/mochitest/test_bug540462.html
rename : docshell/test/test_bug551225.html => docshell/test/mochitest/test_bug551225.html
rename : docshell/test/test_bug570341.html => docshell/test/mochitest/test_bug570341.html
rename : docshell/test/test_bug580069.html => docshell/test/mochitest/test_bug580069.html
rename : docshell/test/test_bug590573.html => docshell/test/mochitest/test_bug590573.html
rename : docshell/test/test_bug598895.html => docshell/test/mochitest/test_bug598895.html
rename : docshell/test/test_bug634834.html => docshell/test/mochitest/test_bug634834.html
rename : docshell/test/test_bug637644.html => docshell/test/mochitest/test_bug637644.html
rename : docshell/test/test_bug640387_1.html => docshell/test/mochitest/test_bug640387_1.html
rename : docshell/test/test_bug640387_2.html => docshell/test/mochitest/test_bug640387_2.html
rename : docshell/test/test_bug653741.html => docshell/test/mochitest/test_bug653741.html
rename : docshell/test/test_bug660404.html => docshell/test/mochitest/test_bug660404.html
rename : docshell/test/test_bug662170.html => docshell/test/mochitest/test_bug662170.html
rename : docshell/test/test_bug668513.html => docshell/test/mochitest/test_bug668513.html
rename : docshell/test/test_bug669671.html => docshell/test/mochitest/test_bug669671.html
rename : docshell/test/test_bug675587.html => docshell/test/mochitest/test_bug675587.html
rename : docshell/test/test_bug680257.html => docshell/test/mochitest/test_bug680257.html
rename : docshell/test/test_bug691547.html => docshell/test/mochitest/test_bug691547.html
rename : docshell/test/test_bug694612.html => docshell/test/mochitest/test_bug694612.html
rename : docshell/test/test_bug703855.html => docshell/test/mochitest/test_bug703855.html
rename : docshell/test/test_bug728939.html => docshell/test/mochitest/test_bug728939.html
rename : docshell/test/test_bug797909.html => docshell/test/mochitest/test_bug797909.html
rename : docshell/test/test_close_onpagehide_by_history_back.html => docshell/test/mochitest/test_close_onpagehide_by_history_back.html
rename : docshell/test/test_close_onpagehide_by_window_close.html => docshell/test/mochitest/test_close_onpagehide_by_window_close.html
rename : docshell/test/test_forceinheritprincipal_overrule_owner.html => docshell/test/mochitest/test_forceinheritprincipal_overrule_owner.html
rename : docshell/test/test_framedhistoryframes.html => docshell/test/mochitest/test_framedhistoryframes.html
rename : docshell/test/test_pushState_after_document_open.html => docshell/test/mochitest/test_pushState_after_document_open.html
rename : docshell/test/test_triggeringprincipal_location_seturi.html => docshell/test/mochitest/test_triggeringprincipal_location_seturi.html
rename : docshell/test/test_windowedhistoryframes.html => docshell/test/mochitest/test_windowedhistoryframes.html
rename : docshell/test/url1_historyframe.html => docshell/test/mochitest/url1_historyframe.html
rename : docshell/test/url2_historyframe.html => docshell/test/mochitest/url2_historyframe.html
rename : third_party/rust/syn/src/parsers.rs => third_party/rust/syn-0.14.6/src/parsers.rs
rename : third_party/rust/syn/src/verbatim.rs => third_party/rust/syn-0.14.6/src/verbatim.rs
rename : third_party/rust/uuid/.travis.yml => third_party/rust/uuid-0.5.1/.travis.yml
rename : third_party/rust/uuid/src/rustc_serialize.rs => third_party/rust/uuid-0.5.1/src/rustc_serialize.rs
rename : third_party/rust/uuid/src/serde.rs => third_party/rust/uuid-0.5.1/src/serde.rs
2018-10-02 19:03:40 +03:00
Jan Henning d80d7fbf77 Bug 1495323 - Don't retrieve font size inflation for margin calculation unless really required. r=dbaron
Once again, calculating the amount of font size inflation isn't as expensive as
it used to be, but there's still no need to do it unnecessarily. The current
code does this unconditionally as part of computing a frame's margins

Additionally, calculating the font size inflation for frames that we don't
actually want to inflate also messes with the planned writing mode assertions
from bug 1428670. In some special cases (e.g. the scroll bars), a frame might
use a different writing mode (horizontal/vertical) than its parent without
creating a new font inflation flow root at the boundary. As long as we never
want to apply font size inflation for that frame this is okay, but if the margin
computation then runs the font inflation calculation regardless, we have a
problem.

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

--HG--
extra : moz-landing-system : lando
2018-10-01 22:07:57 +00:00
Jan Henning 5ced7d8244 Bug 1428670 - Part 3: Store the effective container ISize within the FontInflationData. r=dbaron
When one of the two factors governing the effective container width for font
inflation changes, we need to mark all affected frames as dirty.
While the visible area commonly changes because of viewport changes and we can
catch those through the check for ISize resizes of the top-level frame
("!mFrame->GetParent() && isIResize"), it still seems nicer to move calculation
of the effective container width into the FontInflationData itself, especially
since the effective container width calculation in nsLayoutUtils is the only
consumer of the NCAISize currently stored by the FontInflationData.

That way
- we can be sure that really all changes of the visible width will correctly
  mark all affected frames as dirty
- can avoid repeatedly recalculating the effective container width
- can also detect the cases where the effective container width actually remains
  the same after a change in one of its input factors and skip forcing a full
  dirty reflow for all descendants just because of font inflation.

While the code in nsLayoutUtils was technically always using the writing
mode (horizontal/vertical) of each individual frame for determining which
dimension of the visible size should be used for clamping, just using the
writing mode of the respective flow root should be enough, since each change in
the writing mode should create a new flow root.

This assumption should already hold today because
1. as per the Writing Modes CSS spec, a change in writing mode compared to its
   parent means that the affected block cannot be purely "inline", but at most
   "inline-block".
2. Generally, any non-inline frame will be marked as a font inflation container.
3. Any block frame whose writing direction doesn't match its parent will be a
   block formatting context, which implies NS_BLOCK_FLOAT_MGR.
4. Any block frame that has both NS_BLOCK_FLOAT_MGR set and is a font inflation
   container will also become a font inflation flow root.
but because this chain of reasoning is not the most direct, we also add a
corresponding assertion to better catch any potential bugs here.

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

--HG--
extra : moz-landing-system : lando
2018-10-02 15:23:17 +00:00
Jan Henning a51fb6feca Bug 1428670 - Part 2: Correctly mark all child frames as dirty when font inflation status changes. r=dbaron
Before bug 1308876, child frames marked themselves as dirty during reflow if
their parent was dirty, too. After bug 1308876, the point where dirtiness is
being propagated to a frame's descendants has been shifted: Now, dirty parents
are responsible for marking all their children as dirty, too, when the parent
starts reflowing.

This means that if a frame wants to mark a whole subtree as dirty *during its
own* reflow, it's no longer sufficient to just mark the root of the subtree as
dirty and then rely on all further children marking themselves as dirty as well
when reflow reaches them.

The font inflation code is one such case. When the font inflation data on a font
inflation flow root has become dirty, or we're resizing the top-level frame
(which because of the effective container width clamping from bug 707855 can
affect the font inflation font size as well), we now need to explicitly mark all
affected children as dirty.

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

--HG--
extra : moz-landing-system : lando
2018-10-02 15:23:12 +00:00
Jan Henning fe895aebac Bug 1428670 - Part 0: Fix mixed tabs and spaces. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D5576

--HG--
extra : moz-landing-system : lando
2018-10-02 15:23:07 +00:00
Brad Werth c279aabb20 Bug 1494694: Improve a comment in the ComputedFlexItemInfo structure header. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D7115

--HG--
extra : moz-landing-system : lando
2018-10-01 16:08:00 +00:00
Mats Palmgren 729982d840 Bug 1490561 - Make sure we remove our RefreshDriver observers in CompleteAsyncScroll. r=emilio 2018-10-01 07:59:25 +02:00
Jonathan Watt 6d7998277a Bug 1495215. Separate out the SVGObserverUtils mask handling from EffectProperties. r=longsonr
Differential Revision: https://phabricator.services.mozilla.com/D7242

--HG--
extra : rebase_source : 00c2c87e8fc6fc3ae874139b9a9b8b6b1cb4d877
2018-09-19 15:54:27 +01:00
Jonathan Watt c506a0013f Bug 1494953 p2. Make nsFrame::DidSetComputedStyle initiate external filter loads. r=longsonr
In bug 1488300 xidorn make us kick off loading of masks/filters/clipPaths in
resource documents when the style context is set so that the 'load' event
will be blocked until they load.  I missed that in 5177bb8cb2ce (bug 1494355)
where we stopped creating the SVGFilterObserverList in
SVGObserverUtils::GetEffectProperties since I missed that creating that object
looks up the target element (without observing it), which triggers loading of
external resources as necessary.

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

--HG--
extra : rebase_source : 698fe4b437660761e457ecf54d8d604a098229db
extra : amend_source : 3ae9f25761372ee6a33bd4043c7bf6183361ca58
2018-09-04 13:50:22 +01:00
Timothy Guan-tin Chien 74e03a4f3d Bug 1493741 - Don't generate elements around UA Widget shadow root r=emilio
This patch make nsCSSFrameConstructor::CreateGeneratedContentItem() early
returns if the originating element contains an UA Widget shadow root.

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

--HG--
extra : moz-landing-system : lando
2018-09-28 00:23:15 +00:00
Coroiu Cristina 71988c7b7e Merge inbound to mozilla-central a=merge 2018-09-28 00:36:46 +03:00
Xidorn Quan 570c41577d Bug 1494380 - Ignore emphasis marks on combined text with horizontal writing mode. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D7046

--HG--
extra : moz-landing-system : lando
2018-09-27 08:50:21 +00:00
Ting-Yu Lin fb26f86deb Bug 1486602 Part 3 - Create bullet frame for block frames in nsCSSFrameConstructor::ConstructBlock() instead of in their SetInitialSingleChild() r=mats
nsCSSFrameConstructor::FindDisplayData() guarantees a block with "display:
list-item" will be constructed by ConstructBlock() (either through
ConstructScrollableBlock() or ConstructNonScrollableBlock()).

This is also a preparation to fix bug 1491915 since we want to control
bullet frame creation under column hierarchy.

Depends on D6840

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

--HG--
extra : moz-landing-system : lando
2018-09-26 20:55:26 +00:00
Ting-Yu Lin f088ec9229 Bug 1486602 Part 2 - Replace RenumberLists with RenumberList in comments r=mats
The function was renamed in bug 1171419 Part 10.

Depends on D6839

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

--HG--
extra : moz-landing-system : lando
2018-09-26 01:22:24 +00:00
Ting-Yu Lin 1235a26fba Bug 1486602 Part 1 - Remove arguments of nsBlockFrame::CreateBulletFrameForListItem() r=mats
Those arguments were added in bug 591737 to create a triangle for the
summary frame, but <summary> has been re-implemented by using "list-item"
since then. Now the only caller is nsBlockFrame itself, so there's no need
to expose those arguments.

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

--HG--
extra : moz-landing-system : lando
2018-09-25 23:13:37 +00:00
shindli 3f30a21a41 Merge inbound to mozilla-central. a=merge 2018-09-27 06:13:50 +03:00
Botond Ballo 8db09c3098 Bug 1486695 - Only set nsDisplayListBuilder::mActiveScrolledRootForRootScrollframe for the RCD-RSF. r=mstange
It's queried during layer building, for the RCD-RSF only. If we set it for
a subframe RSF, that overwrites the value for the RCD-RSF, and we end up
querying the incorrect value.

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

--HG--
extra : moz-landing-system : lando
2018-09-27 00:51:15 +00:00
Daniel Holbert f856cbfbc1 Bug 1494426 part 2: Use ReflowInput::ComputedSize() convenience method in a few more places. r=TYLin
This patch isn't expected to change behavior; it's just some simplification.

Depends on D6976

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

--HG--
extra : moz-landing-system : lando
2018-09-26 21:44:18 +00:00
Daniel Holbert 8716bfc87d Bug 1494426 part 1: Use ReflowInput::AvailableSize() convenience method in a few more places. r=TYLin
This patch isn't expected to change behavior; it's just some simplification.

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

--HG--
extra : moz-landing-system : lando
2018-09-26 21:42:41 +00:00
Daniel Holbert fc5c7b4491 Bug 1493645 part 2: When caching flex item sizes, don't bother using available inline size as part of cache key. r=emilio
A flex item's available inline size would be relevant (i.e. would have an
impact on layout) if we were fragmenting the flex item in its inline direction
(e.g. if it were an inline-level box, in an inline-layout context).

But we're not doing that, so its available isize doesn't make a difference. To
the extent that it's been useful at all in this flex-item-caching code up to
this point, we'll now be caching something more-specific (the item's *computed*
inline size) which should serve roughly the same purpose.

Depends on D6991

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

--HG--
extra : moz-landing-system : lando
2018-09-26 21:44:21 +00:00
Daniel Holbert 62925b4703 Bug 1493645 part 1: When caching flex item sizes, use computed inline size as part of the cache key. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D6991

--HG--
extra : moz-landing-system : lando
2018-09-26 22:51:08 +00:00
Botond Ballo 44a6b1b547 Bug 1484597 - Clear the APZ callback transform when originating a main thread scroll offset update for the RCD-RSF. r=kats
Depends on D6076

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

--HG--
extra : moz-landing-system : lando
2018-09-21 19:01:46 +00:00
Botond Ballo 34115a8216 Bug 1484597 - Expose visual viewport information more conveniently in Layout. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D6074

--HG--
extra : moz-landing-system : lando
2018-09-21 19:01:13 +00:00