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

15717 Коммитов

Автор SHA1 Сообщение Дата
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
Margareta Eliza Balazs ffe6eaf2f0 Merge inbound to mozilla-central. a=merge 2018-09-25 12:42:09 +03:00
Mats Palmgren d6409e3f5e Bug 1493805 - Initialize ReflowInput::mCBReflowInput also for placeholders, in case we need it for some reason. r=emilio
Bug 1493710 might make this redundant, but it seems like we
should always do this anyway just in case...
2018-09-25 05:03:26 +02:00
Emilio Cobos Álvarez 462df0be75 Bug 1493708 - Handle split frames properly in FrameParticipatesIn3DContext. r=mattwoodrow
We're traversing primary frames, which are first continuations, so we can't
start from a continuation and expect to get to it. Add an assertion that would
catch further fishyness.

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

--HG--
extra : moz-landing-system : lando
2018-09-24 20:07:39 +00:00
Jonathan Kew 75f7196111 Bug 1432198 - Ensure tab characters are rendered with a minimum advance of 0.5ch. r=xidorn 2018-09-24 13:38:52 +01:00
Bogdan Tara 3e0d3c693c Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-09-22 01:06:13 +03:00
Nathan Froyd 846d8789ee Bug 1492894 - part 1 - make the node hierarchy consistently constructed with NodeInfo&&; r=mccr8
Various places in dom/ use the pattern:

  already_AddRefed<NodeInfo> ni = ...;

which is supposed to be disallowed by our static analysis code, but
isn't, for whatever reason.  To fix our static analysis code, we need to
eliminate instances of the above pattern.

Unfortunately, eliminating this pattern requires restructuring how Nodes
are created.  Most Node subclasses take `already_AddRefed<NodeInfo>&` in
their constructors, and a few accept `already_AddRefed<NodeInfo>&&`.  We
need to enforce the latter pattern consistently, which requires changing
dozens of source files.
2018-09-21 16:45:49 -04:00
Ting-Yu Lin 1fdd6d2def Bug 1493043 - Change function arguments in RestyleManager from nsIFrame& to nsIFrame* r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D6452

--HG--
extra : moz-landing-system : lando
2018-09-21 17:45:49 +00:00
Emilio Cobos Álvarez 8f058ab54c Bug 1491864 - Fix preserve-3d in presence of anon boxes. r=mattwoodrow
In the button case we have a ::-moz-button-content pseudo-element, but this is
also an issue for tables and such.

These are supposed to be implementation details, so avoid looking at them for
preserve-3d.

I don't know how I didn't think of this on the regressing bug.

Differential Revision: https://phabricator.services.mozilla.com/D6131
2018-09-20 20:24:25 +02:00
Coroiu Cristina 2971320d79 Backed out changeset 236d827dc1c5 (bug 1491864) for crashing at builds/worker/workspace/build/src/layout/generic/nsIFrameInlines.h on a CLOSED TREE 2018-09-20 18:25:05 +03:00
Emilio Cobos Álvarez bdc4bccdd8 Bug 1491864 - Fix preserve-3d in presence of anon boxes. r=mattwoodrow
In the button case we have a ::-moz-button-content pseudo-element, but this is
also an issue for tables and such.

These are supposed to be implementation details, so avoid looking at them for
preserve-3d.

I don't know how I didn't think of this on the regressing bug.

Differential Revision: https://phabricator.services.mozilla.com/D6131
2018-09-20 16:28:11 +02:00
Csoregi Natalia 2c72511a34 Backed out 2 changesets (bug 1491864) for test_pointerPreserves3DPerspective.html failures. CLOSED TREE
Backed out changeset 8a4b3376e5c4 (bug 1491864)
Backed out changeset 43fdb0259352 (bug 1491864)
2018-09-20 02:18:03 +03:00
Emilio Cobos Álvarez 4aab8cafdd Bug 1491864 - Ignore anon boxes for preserve-3d. r=mattwoodrow
In the button case we have a ::-moz-button-content pseudo-element, but this is
also an issue for tables and such.

These are supposed to be implementation details, so avoid looking at them for
preserve-3d.

I don't know how I didn't think of this on the regressing bug.

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

--HG--
extra : moz-landing-system : lando
2018-09-19 21:21:18 +00:00
Miko Mynttinen 5107e2da27 Bug 1488599 - Part 2: Fix will-change budget r=mattwoodrow
Depends on D5245

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

--HG--
extra : moz-landing-system : lando
2018-09-19 10:19:30 +00:00
Miko Mynttinen 03d03110a6 Bug 1488599 - Part 1: Add RetainedDisplayListData that will store frame invalidation information r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D5245

--HG--
extra : moz-landing-system : lando
2018-09-19 10:21:27 +00:00
Mats Palmgren 0e1ec1a9f1 Bug 1487221 - Add memory reporting for nsLineBox::mFrames. r=bz 2018-09-19 05:27:18 +02:00
Jeff Muizelaar 14d863897b Bug 1491395. Replace BorderWidths with LayoutSideOffsets. on a CLOSED TREE
--HG--
extra : source : 432d22af68c825eebd86482c714b3cffcba408c7
extra : amend_source : e38a2ed15ae4a93613244726fbfad2d196876ad8
2018-09-18 09:01:36 -04:00
Andreea Pavel 21be148b05 Backed out 2 changesets (bug 1491395) for failing awsy\test_memory_usage.py TestMemoryUsage.test_open_tabs on a CLOSED TREE
Backed out changeset 432d22af68c8 (bug 1491395)
Backed out changeset 153d6dc38962 (bug 1491395)
2018-09-18 21:23:03 +03:00
Jonathan Watt 5c1dd39583 Bug 1494285 p3. Rename nsDisplayFilter to nsDisplayFilters. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D7008

--HG--
extra : rebase_source : 89a1bd3e34666a09bd9d9d26329f183ebc28a1c3
extra : amend_source : 71c0eacf545383c23533ae05c46561159567d667
extra : histedit_source : a1047949377d690bba5cfcf86b16cb2be0610af0
2018-08-30 13:15:47 +01:00
Jonathan Watt 0133d476ce Bug 1494285 p2. Rename nsDisplayMask to nsDisplayMasksAndClipPaths. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D7007

--HG--
extra : rebase_source : de16f2d9fe5a0610af12b64603757f4fd8d6eee6
extra : amend_source : 1c932942463586d1dfe09bbf31569adc51efa220
extra : histedit_source : 5a6591e23a84382f1add26b9e81f06b8a2f3205a
2018-08-30 10:51:24 +01:00
Margareta Eliza Balazs 0a37599745 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-09-18 17:38:17 +03:00
Jean-Luc Bonnafoux 85700276c1 Bug 1481098 - Remove Unused aParentContext Parameter in ServoStyleSet::ResolveStyleFor Function r=dbaron
Remove Unused aParentContext Parameter in ServoStyleSet::ResolveStyleFor Function

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

--HG--
extra : moz-landing-system : lando
2018-09-18 08:01:36 +00:00
Ciure Andrei d3c2cc41fe Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-09-18 10:44:51 +03:00
Ciure Andrei e7e6a10f94 Backed out 2 changesets (bug 1488599) for causing crashes a=backout
Backed out changeset b08b9f2693cd (bug 1488599)
Backed out changeset bba3a8028837 (bug 1488599)
2018-09-18 10:39:23 +03:00
Bogdan Tara c8f52c0158 Merge inbound to mozilla-central. a=merge 2018-09-18 00:58:07 +03:00
Jean-Luc Bonnafoux 31f0693d4a Bug 1491639 - rename function IS_TABLE_CELL r=dbaron
rename function IS_TABLE_CELL

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

--HG--
extra : moz-landing-system : lando
2018-09-18 01:29:19 +00:00
Mats Palmgren 67932714b4 Bug 1491731 - [css-text-3] Resolve 'text-indent' using a zero percentage basis in intrinsic sizing. r=dholbert
Per CSSWG resolution:
https://github.com/w3c/csswg-drafts/issues/1597#issuecomment-406001183
2018-09-17 20:14:24 +02:00
Jeff Muizelaar 58ae2188e5 Bug 1491395. Replace BorderWidths with LayoutSideOffsets. 2018-09-18 09:01:36 -04:00
Daniel Holbert 5e7929410f Bug 1491510: Treat 'auto' cross size as definite, for 'contain:size' flex container. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D5947

--HG--
extra : moz-landing-system : lando
2018-09-15 18:06:18 +00:00
Daniel Holbert 6898253a2e Bug 1490890: Make flex item cached-measurement invalidation more targeted. r=emilio
Right now, when a flex item's intrinsic size is invalidated, we clear cached
flex measurements on all of its sibling flex items (indirectly, by virtue of
invalidating the flex container's intrinsic sizes, which does the dirty work of
clearing the measurements).

This is excessive. We do need to clear the measurements on any flex item
whose intrinsic sizes are invalidated, but we don't need to clear them on other
flex items whose intrinsic sizes are still valid.  So: this patch changes our
implementation accordingly.

This patch isn't expected to change behavior - it should just be an
optimization.

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

--HG--
extra : moz-landing-system : lando
2018-09-15 16:09:00 +00:00
Jean-Luc Bonnafoux bc52e3f588 Bug 458473 - initialize local variable fType r=dbaron
Bug 458473 - initialize local variable fType

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

--HG--
extra : moz-landing-system : lando
2018-09-14 22:04:17 +00:00
Mats Palmgren 11be0f7bd9 Bug 1490730 part 1 - [css-grid] Static position should use content-box, not padding-box. r=dholbert 2018-09-15 01:30:18 +02:00
Jonathan Watt 8c224bc9d8 Bug 1494321 p2. Stop doing wasteful pre/post-effects work for frames with just a clip-path or mask applied. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D6924

--HG--
extra : rebase_source : 426e4b6d854644db1524d235651667e23d9c4908
2018-08-28 21:51:23 +01:00
Ting-Yu Lin a27733741a Bug 1489015 - Make NS_NewPlaceholderFrame() return nsPlaceholderFrame* to avoid type casting r=bzbarsky
Depends on D5112

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

--HG--
extra : moz-landing-system : lando
2018-09-14 17:14:53 +00:00
Noemi Erli c2716211ca Merge inbound to mozilla-central. a=merge 2018-09-14 06:31:31 +03:00
Andrew Osmond 29af4ed6a2 Bug 1446309 - Part 3. Properly handle ImgDrawResult for WebRender display list generation. r=tnikkel
When generating display lists for WebRender, we were not caching the
draw result via nsDisplayItemGenericImageGeometry::UpdateDrawResult (or
similar) after completing CreateWebRenderCommands. This is important
because reftests use this to force sync decoding for images; it may be a
reason for image-related intermittent failures on *-qr builds.

Additionally, we may have been requesting fallback in cases where fallback
could not do anything more than WebRender could. For example, if we can't
get an image container yet, there is no point in requesting fallback
because it might just be we haven't started decoding yet. We should just
return the actual draw result in such cases.
2018-09-13 19:48:27 -04:00
Andrew Osmond 59ce4df2cf Bug 1446309 - Part 2. Make nsDisplayImage fallback to the previous image to avoid flickering. r=tnikkel
When the current image for an nsImageFrame/nsDisplayImage is not yet
ready, we display the previous image, if any available, to avoid
flickering while we wait for decoding to finish. On the WebRender path,
this functionality was lost since we did not have the draw result
information with image containers. With the API updated in part 1, we
can now do this to avoid flickering.
2018-09-13 19:48:24 -04:00
Andrew Osmond e9f7db43b8 Bug 1446309 - Part 1. Return draw result from imgIContainer::GetImageContainerAtSize. r=tnikkel
In addition to the image container, the draw result can also be useful
for callers to know whether or not the surface(s) in the container are
fully decoded or not. This is used in subsequent parts to avoid
flickering in some cases.
2018-09-13 19:48:21 -04:00
Brian Grinstead a4630f7000 Bug 1487568 - Ignore whitespace only text nodes for XBL compatibility hack for unmatched children dropping content;r=smaug
For browser.xhtml, we have extra whitespace text nodes that appear inside of
mBoundElement, which was causing XBL content to be incorrectly dropped.

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

--HG--
extra : moz-landing-system : lando
2018-09-13 18:53:41 +00:00
Emilio Cobos Álvarez 2c251c4ab5 Bug 1477551 - Ensure the clip and the rect that we push for bullets agree. r=jrmuizel
Using mPathRect causes rounding errors unnecessarily.

Differential Revision: https://phabricator.services.mozilla.com/D5698
2018-09-13 14:57:53 +02:00
Daniel Varga 296d94715f Merge mozilla-inbound to mozilla-central. a=merge 2018-09-13 05:30:59 +03:00
Dorel Luca e66d358339 Backed out changeset ef589916a739 (bug 1477551) for build bustage. CLOSED TREE 2018-09-13 00:55:20 +03:00
Emilio Cobos Álvarez 75d5aaf48f Bug 1477551 - Ensure the clip and the rect that we push for bullets agree. r=jrmuizel
Using mPathRect causes rounding errors unnecessarily.

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

--HG--
extra : moz-landing-system : lando
2018-09-12 20:13:17 +00:00
Ting-Yu Lin e2d0b73388 Bug 1490525 Part 3 - Remove unused #includes in nsColumnSetFrame.cpp r=dholbert
Verified locally by s/UNIFIED_SOURCES/SOURCES/ in layout/generic/moz.build.

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

--HG--
extra : moz-landing-system : lando
2018-09-12 20:37:20 +00:00
Ting-Yu Lin ef4de111c9 Bug 1490525 Part 2 - Convert nsColumnSetFrame's reflow logs by using MOZ_LOG r=dholbert
Since bug 775624, nsReflowStatus has become a class, not an integer. We need
to expose operator<<() for nsReflowStatus to non-debug build to dump
nsReflowStatus's content in MOZ_LOG.

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

--HG--
extra : moz-landing-system : lando
2018-09-12 20:37:48 +00:00
Ting-Yu Lin 481788bc1c Bug 1490525 Part 1 - Remove nsReflowStatus::ToString() r=heycam
This does Bug 1464967 Part 2 in a different way by using mozilla::ToString()
to dump nsReflowStatus.

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

--HG--
extra : moz-landing-system : lando
2018-09-12 04:04:09 +00:00
Zhang Junzhi e081858ecc Bug 1490611 - physical to logical name refactor: DISPLAY_*_WIDTH to DISPLAY_*_INLINE_SIZE(as well as the relevant struct in the macro contents) r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D5657

--HG--
extra : moz-landing-system : lando
2018-09-12 12:35:47 +00:00
Cameron McCormack fe196275ba Bug 1489529 - Update comments to no longer point to nsRuleNode. r=emilio
There are a few mentions of nsRuleNode left but they are mostly
historical references so it makes sense to keep them.

Differential Revision: https://phabricator.services.mozilla.com/D5505
2018-09-12 17:37:37 +10:00
Bogdan Tara a23c3959b6 Merge inbound to mozilla-central. a=merge 2018-09-12 06:22:14 +03:00
Daniel Holbert cf282b7277 Bug 1490414: Add #includes to fix non-unified build bustage in layout/generic. r=TYLin
- We need nsIContentInlines.h to provide the (inline) nsIContent::GetShadowRoot definition.
- We need ShadowRoot.h to allow dereferencing of the pointer that GetShadowRoot() returns.

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

--HG--
extra : moz-landing-system : lando
2018-09-11 21:35:50 +00:00
Miko Mynttinen dfecd7597f Bug 1490370 - Exit early when there is no scrollbar content to add r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D5548

--HG--
extra : moz-landing-system : lando
2018-09-11 18:12:47 +00:00
Emilio Cobos Álvarez 6f20e824b9 Bug 1489863 - Add a crashtest. r=dholbert
This crashtest is simpler than the one from bug 1489287, so I think we should
land it.

Differential Revision: https://phabricator.services.mozilla.com/D5523
2018-09-11 19:08:16 +02:00
Emilio Cobos Álvarez 3bd3cd63e5 Bug 1489287 - Always try to eagerly-place a floating first-letter frame. r=mats
To avoid its deferred reflow potentially killing continuations that are parented
to the parent of the letter frame.

This rolls back to the behavior previous to bug 488725 just for this case, until
we fix it properly in bug 1490281. This also fixes bug 1489863.

Differential Revision: https://phabricator.services.mozilla.com/D5521
2018-09-11 19:07:58 +02:00
Mats Palmgren df48156d1e Bug 1489770 - Don't convert InlineBreak::Before reflow status to Incomplete unless we know the child frame is splittable. r=dholbert 2018-09-11 20:07:28 +02:00
Mats Palmgren 97273bf8d8 Bug 1489153 - Push any child next-in-flows in our principal list to OverflowList before starting our reflow. r=dholbert 2018-09-11 20:07:28 +02:00
Cosmin Sabou de7676288a Merge mozilla-inbound to mozilla-central. a=merge 2018-09-11 13:06:37 +03:00
Chris Peterson ec147a2dea Bug 1397119 - Part 2: Rename p2t to d2a (app units per device pixel). r=dbaron
Bug 895096 comment 0 recommends using the name `d2a` instead of `p2t`.

Depends on D5368

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

--HG--
extra : moz-landing-system : lando
2018-09-10 19:55:05 +00:00
Gerald Squelart 7927ab927e Bug 1470462 - contain:size for nsGridContainerFrame - r=dholbert
When contain:size is set for a grid container, ignore sizes from children when
computing own size during layout.

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

--HG--
rename : layout/reftests/w3c-css/submitted/contain/contain-size-flex-001-ref.html => layout/reftests/w3c-css/submitted/contain/contain-size-grid-001-ref.html
rename : layout/reftests/w3c-css/submitted/contain/contain-size-flex-001.html => layout/reftests/w3c-css/submitted/contain/contain-size-grid-001.html
extra : moz-landing-system : lando
2018-09-11 00:00:05 +00:00
Daniel Holbert b93eae7de2 Bug 1486086: Switch to use logical axes, for stale physical-axis-based flex-item border/padding calculation. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D4974

--HG--
extra : moz-landing-system : lando
2018-09-10 17:40:41 +00:00
Daniel Varga 1539df295b Merge mozilla-inbound to mozilla-central a=merge 2018-09-08 06:53:43 +03:00
Csoregi Natalia affc6dfb7a Backed out 2 changesets (bug 1488871) for failures on browser_windowopen.js. CLOSED TREE
Backed out changeset 078929426a6e (bug 1488871)
Backed out changeset 39b3a22e2552 (bug 1488871)
2018-09-08 01:40:10 +03:00
Sylvestre Ledru aa37bde79b Bug 1489454 - Remove all trailing whitespaces (again) r=Ehsan
This also includes moving some files to the regular format.

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

--HG--
extra : moz-landing-system : lando
2018-09-07 14:47:51 +00:00
Xidorn Quan 30689fcc0d Bug 1488300 - Kick off external SVG resource loading from DidSetComputedStyle. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D4901

--HG--
extra : moz-landing-system : lando
2018-09-07 21:08:44 +00:00
Emilio Cobos Álvarez b8ad867e5e Bug 1488871 - Don't flush layout in AsyncScrollPortEvent::Run. r=mats
I'd claim that we don't need it because, in order to enqueue the event, we
already need to have overflowed the event in a normal reflow.

For now this should not break anything (or anything that wasn't already racy
depending on when we paint).

The only reason the flush is there is according to roc is to decide whether to
fire the event, and because it needs the layout information:

  https://bugzilla.mozilla.org/show_bug.cgi?id=771822#c4

In practice, however, all the layout information we need we have already
computed by the time we post the event.

We don't expose the rects via the event details, which is what could get
out-of-date, so this patch could only mean that we fire the event slightly more
often in cases where people remove stuff from the DOM, right after we do layout
and the content has overflowed. But that's actually pretty unlikely.

This event in general is pretty problematic because it exposes when we do
layout and when we paint, which is not great. Its test coverage is also pretty
low (test_overflow_event.html, which of course still passes without this).

I still want to do this change first since it's trivial to back out if needed.

Then I'd want to change how it fires to match the scrolled area change event
(which would allow us to remove the WillPaintObserver stuff), after verifying
that chrome consumers are still fine with that, and then put behind a pref and
hide it from content, while we leave time for chrome consumers to migrate away
from it, and allow us to revert if something breaks.

Differential Revision: https://phabricator.services.mozilla.com/D5082
2018-09-07 16:48:41 +02:00
Xidorn Quan 7483d8715a Bug 1486662 - Allow scroll without scrollbar for non-textcontrol elements on Android. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D5115

--HG--
extra : moz-landing-system : lando
2018-09-07 00:35:45 +00:00
Ting-Yu Lin f4c03c5b08 Bug 1346983 - Add ColumnSetWrapperFrame to wrap nsColumnSetFrames and column span frames. r=dbaron
ColumnSetWrapperFrame is needed to implement column-span. Patches in bug
1421105 will utilize this frame.

Co-authored-by: Neerja Pancholi <npancholi@mozilla.com>

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

--HG--
extra : moz-landing-system : lando
2018-09-06 17:58:24 +00:00
Margareta Eliza Balazs a6eea652ba Merge autoland to mozilla-central. a=merge 2018-09-06 12:51:28 +03:00
Margareta Eliza Balazs 3d500e629e Backed out changeset fc5ee8a04645 (bug 1488871) for causing perma bc failures in browser/base/content/test/performance/browser_windowopen.js. a=backout 2018-09-06 12:49:58 +03:00
Andreea Pavel 746993f3e1 Merge mozilla-inbound to mozilla-central. a=merge 2018-09-06 07:37:40 +03:00
Gerald Squelart b099eab802 Bug 1488684 - Made nsIFrame-derived classes and some others 'final' where possible - r=dbaron
All classes deriving from nsIFrame that did not have any subclasses themselves
(at the time of writing this patch) have been marked with `final`.
Some other Layout classes have also been made final, but this was opportunistic
while working on nsIFrame subclasses, and is definitely not exhaustive, further
patches welcome; refer to bug 1332680.

Advantages of marking a class final include:
- Allowing the compiler to devirtualize some method calls (i.e., calling
  virtual functions directly instead of going through the vtable),
- Indicating that the class is not currently subclassed,
- Preventing subclassing without being aware that this would remove the
  finalization benefits of the parent class.
`final` does not signify that these classes should *never* be subclassed, this
is left for developers to decide.

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

--HG--
extra : moz-landing-system : lando
2018-09-06 01:23:14 +00:00
張俊芝 81562a9f6c Bug 1485581 - Make nsImageFrame report intrinsic inline sizes in the correct dimension (height) when writing-mode is vertical. r=dbaron 2018-09-05 15:48:56 -07:00
Miko Mynttinen 50215c6a21 Bug 1488889 - Pass nsSubDocumentFrame to nsDisplaySubDocument constructor r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D5091

--HG--
extra : moz-landing-system : lando
2018-09-05 23:16:17 +00:00
Emilio Cobos Álvarez 96decc5265 Bug 1488871 - Don't flush layout in AsyncScrollPortEvent::Run. r=mats
I'd claim that we don't need it because, in order to enqueue the event, we
already need to have overflowed the event in a normal reflow.

For now this should not break anything (or anything that wasn't already racy
depending on when we paint).

The only reason the flush is there is according to roc is to decide whether to
fire the event, and because it needs the layout information:

  https://bugzilla.mozilla.org/show_bug.cgi?id=771822#c4

In practice, however, all the layout information we need we have already
computed by the time we post the event.

We don't expose the rects via the event details, which is what could get
out-of-date, so this patch could only mean that we fire the event slightly more
often in cases where people remove stuff from the DOM, right after we do layout
and the content has overflowed. But that's actually pretty unlikely.

This event in general is pretty problematic because it exposes when we do
layout and when we paint, which is not great. Its test coverage is also pretty
low (test_overflow_event.html, which of course still passes without this).

I still want to do this change first since it's trivial to back out if needed.

Then I'd want to change how it fires to match the scrolled area change event
(which would allow us to remove the WillPaintObserver stuff), after verifying
that chrome consumers are still fine with that, and then put behind a pref and
hide it from content, while we leave time for chrome consumers to migrate away
from it, and allow us to revert if something breaks.

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

--HG--
extra : moz-landing-system : lando
2018-09-05 23:18:33 +00:00
Andreea Pavel 4b53c29ee3 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-09-06 07:39:46 +03:00
Gerald Squelart 017ca214c1 Bug 1488684 - Made some layout methods 'final' or non-virtual - r=dbaron
Some methods were not overrides and were never overridden, so they could simply
be non-virtual.
Others were overrides but were not overridden, so they could benefit from being
final to hopefully lead to devirtualized calls.

Though some of these are not strictly necessary because they are inside 'final'
classes, I think they're worth adding anyway, because:
- The 'final' keyword becomes more obvious when looking at methods without the
  wider context in sight (e.g., in reviews or searchfox).
- If one day any of these classes becomes non-final, it would keep the final
  attribute on these methods by default, and force the programmer to explicitly
  reflect before removing 'final' from the methods that need to be overridden.

Depends on D5020

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

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

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

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

--HG--
extra : moz-landing-system : lando
2018-09-05 10:00:39 +00:00
Masayuki Nakano 58ccd6c812 Bug 1488337 - Rename mozilla::dom::SelectionChangeListener to mozilla::SelectionChangeEventDispatcher r=smaug
SelectionChangeListener is too generic name but it just dispatches
selectionchange event when it's necessary.  So, it should be renamed to
SelectionChangeEventDispatcher. Additionally, it's in mozilla::dom namespace
but it does not represent any DOM object. So, it should be in mozilla namespace
instead.

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

--HG--
rename : dom/base/SelectionChangeListener.cpp => dom/base/SelectionChangeEventDispatcher.cpp
rename : dom/base/SelectionChangeListener.h => dom/base/SelectionChangeEventDispatcher.h
extra : moz-landing-system : lando
2018-09-04 11:18:03 +00:00
Ting-Yu Lin 90fffcd256 Bug 1488219 - Mark nsDateTimeControlFrame as a leaf frame. r=dholbert
nsDateTimeControlFrame should be a leaf like all the other <input> frames
like nsTextControlFrame, nsCheckboxRadioFrame, etc.

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

--HG--
extra : moz-landing-system : lando
2018-09-05 00:27:43 +00:00
Miko Mynttinen 58f9cc4fc8 Bug 1483659 - Ensure that child overflow areas are included in perspective frame overflow areas r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D3515

--HG--
extra : moz-landing-system : lando
2018-09-04 16:25:54 +00:00
Miko Mynttinen 898c800846 Bug 1488599 - Part 2: Fix will-change budget r=mattwoodrow
Depends on D5245

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

--HG--
extra : moz-landing-system : lando
2018-09-17 14:43:07 +00:00
Miko Mynttinen f0b6dd8c41 Bug 1488599 - Part 1: Add RetainedDisplayListData that will store frame invalidation information r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D5245

--HG--
extra : moz-landing-system : lando
2018-09-17 14:41:08 +00:00
Gurzau Raul da0121c598 Backed out 2 changesets (bug 1488599) for bustages at /layout/painting/nsDisplayList.cpp on a CLOSED TREE
Backed out changeset ed780c8fd413 (bug 1488599)
Backed out changeset 0f40b48ed3b4 (bug 1488599)
2018-09-17 16:57:58 +03:00
Miko Mynttinen 8383187890 Bug 1488599 - Part 2: Fix will-change budget r=mattwoodrow
Depends on D5245

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

--HG--
extra : moz-landing-system : lando
2018-09-17 12:39:09 +00:00
Miko Mynttinen e646042ce1 Bug 1488599 - Part 1: Add RetainedDisplayListData that will store frame invalidation information r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D5245

--HG--
extra : moz-landing-system : lando
2018-09-17 12:38:19 +00:00
Miko Mynttinen 9cafe14554 Bug 1487020 - Do not reuse nsDisplayRemote if RenderFrameParent has been destroyed r=mattwoodrow
Reviewers: mattwoodrow

Tags: #secure-revision

Bug #: 1487020

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

--HG--
extra : rebase_source : 3b98453d0b273fbf858e2736e531108a8f1732ed
extra : amend_source : 1a3ebfe814a13c7e386d61cb0cf0601388439e83
extra : source : f0594eca7bd49c18c84c88da920bdf69e1a4dc11
2018-08-31 21:08:01 +02:00
Masayuki Nakano 9ab2669f86 Bug 1487659 - Make Selection treat SelectionChangeListener as a concrete class rather than nsISelectionListener r=smaug
SelectionChangeListener is an nsISelectionListener class.  This is added only
to Selection for "normal" and added by nsFrameSelection::Init() after
AccessibleCaretEventHub.  So, we can make Selection directly treat
SelectionChangeListener.

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

--HG--
extra : moz-landing-system : lando
2018-08-31 21:22:57 +00:00
Masayuki Nakano 9c349ade9b Bug 1487591 - Make Selection treat AccessibleCaretEventHub as concrete class rather than nsISelectionListener r=smaug
AccessibleCaretEventHub is an nsISelectionListener of Selection whose type is
"normal".  This is added only when nsFrameSelection::Init() is called and
accessible caret is enabled.  Additionally, nsFrameSelection::Init() is
always called immediately after creating nsFrameSelection.

Therefore, when AccessibleCaretEventHub is installed to Selection, this is
always second selection listener and won't be installed multiple times.  So,
Selection can store pointer of AccessibleCaretEventHub directly only when
it's enabled and the Selection needs to notify it of selection change.

This patch makes Selection stores AccessibleCaretEventHub with RefPtr, then,
makes Selection::NotifySelectionListeners() call its OnSelectionChange()
immediately after AutoCopyListener.

Unfortunately, this patch includes making of MOZ_CAN_RUN_SCRIPT_BOUNDARY and
MOZ_CAN_RUN_SCRIPT a lot since some methods of AccessibleCaretEventHub are
marked as MOZ_CAN_RUN_SCRIPT and including AccessibleCaretEventHub.h into
Selection.h causes compile the compile errors.

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

--HG--
extra : moz-landing-system : lando
2018-08-31 21:19:44 +00:00
Daniel Varga f62c999a8d Merge mozilla-central to mozilla-inbound
--HG--
extra : rebase_source : 3825f1263f779efcb8dca836b3de0571b536d98e
2018-09-08 01:13:18 +03:00
Henrik Winnemöller 8610fab55a Bug 1488585 - Use ImageRendering property to provide proper filtering for list-style-image on WR. r=nical
Use the ImageRendering needed for Bug 1488555 to provide the correct ImageRendering argument for the PushImage call at the end of CreateWebRenderCommandsForImage instead of always using Auto filtering.
2018-09-07 22:29:36 +02:00
Henrik Winnemöller be01b218cc Bug 1488555 - Use ImageRendering property to provide proper filtering support for AsyncImage. r=nical
Introduce an ImageRendering argument for CreateImageKey which is then used at the CreateAsyncImageWebRenderCommands call to provide the proper filtering instead of using always Auto filtering. Update all calls to CreateImageKey to use the new interface.
2018-09-07 22:28:41 +02:00
Emilio Cobos Álvarez 3f3f172053 Bug 1490685 - Crashtest. 2018-09-12 22:08:01 +02:00
Emilio Cobos Álvarez bdca80bd1b Bug 1490685 - Adjust an assertion. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D5676
2018-09-12 21:09:36 +02:00
Zhang Junzhi 7a64d2f663 Bug 1490611 - physical to logical name refactor: DISPLAY_*_WIDTH to DISPLAY_*_INLINE_SIZE(as well as the relevant struct in the macro contents) r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D5657

--HG--
extra : rebase_source : af0fc623d0b5d5e575bb03b08576709512bac4f3
2018-09-12 12:35:47 +00:00
Emilio Cobos Álvarez 673ea6eb31 Bug 1489139 - Ensure unbound generated content doesn't remain in the active chain. r=smaug
This reuses the same code path that was added in bug 1461299 for NAC, but for
generated content as well. DestroyAnonymousContent notifies to the ESM.

Also, remove the NativeAnonymousContentRemoved bit about <svg:use> since it's no
longer NAC.

Differential Revision: https://phabricator.services.mozilla.com/D5575
2018-09-12 16:56:40 +02:00
Andrew Osmond 740299988c Bug 1487120 - Invalidate nsImageBoxFrame properly for WebRender. r=jrmuizel
When the frame updates for an animated image, it will trigger
nsImageBoxFrame::OnFrameUpdate to be called. We did not change this for
WebRender, and thus it was missing similar checks added to
nsImageFrame::InvalidateSelf as originally added in bug 1382985. This
caused us to ignore the frame update, and thus the animation never
appeared to progress.
2018-08-30 14:51:27 -04:00
Masayuki Nakano be86e183fd Bug 1486370 - Change nsAutoCopyListener to a static class r=smaug
nsAutoCopyListener is a singleton class but refcountable and a selection
listener.  nsFrameSelection adds it to only normal Selection when it's on
macOS or it's enabled by the pref.  Additionally, it's always first selection
listener since it's added immediately after Selection instance is created.

So, we can make it a static class, and normal Selection instance should have
a bool to decide whether it should notify nsAutoCopyListener of its changes.
Then, we can save the cost of grabbing it with local RefPtr and the virtual
call.

Additionally, this patch renames nsAutoCopyListener to mozilla::AutoCopyListener
and optimizes constructor of nsFrameSelection (using bool var cache to retrieve
the pref, avoid retrieving the pref on macOS).

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

--HG--
rename : layout/generic/nsAutoCopyListener.h => layout/generic/AutoCopyListener.h
extra : moz-landing-system : lando
2018-08-30 07:36:23 +00:00
Miko Mynttinen a6b4ae3b60 Bug 1486477 - Initialize nsDisplayCanvasThemedBackground properly r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D4438

--HG--
extra : moz-landing-system : lando
2018-08-30 00:01:45 +00:00
Emilio Cobos Álvarez 30e5e31b05 Bug 1486457 - Clear the float list if we weren't able to place a line. r=dbaron
We'll re-do the line anyway, and we'll forget about all the already-positioned
floats in the line DoReflowInlineFrames anyway.

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

--HG--
extra : moz-landing-system : lando
2018-08-28 18:13:20 +00:00
arthur.iakab 5527acb8d8 Merge inbound to mozilla-central a=merge 2018-08-25 01:08:22 +03:00
Boris Chiou 63d06d8017 Bug 1246764 - Part 4: Rename mask flag and function name of xxxBasicShape to xxxBasicShapeOrPath. r=jwatt
This flag and function name are used for both basic shapes and path function,
so rename it. For now, we treat path() and other basic-shapes as the
different object (i.e. StyleSVGPath and StyleBasicShape), so I rename
these functions and mask flag.

Differential Revision: https://phabricator.services.mozilla.com/D3636
2018-08-24 11:37:57 -07:00
Cosmin Sabou 469b620e12 Merge mozilla-central to autoland. a=merge
--HG--
rename : testing/web-platform/tests/css/compositing/support/parsing-testcommon.js => testing/web-platform/tests/css/compositing/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-backgrounds/support/parsing-testcommon.js => testing/web-platform/tests/css/css-backgrounds/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-box/support/parsing-testcommon.js => testing/web-platform/tests/css/css-box/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-cascade/support/parsing-testcommon.js => testing/web-platform/tests/css/css-cascade/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-color/support/parsing-testcommon.js => testing/web-platform/tests/css/css-color/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-images/support/parsing-testcommon.js => testing/web-platform/tests/css/css-images/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-masking/support/parsing-testcommon.js => testing/web-platform/tests/css/css-masking/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-shapes/support/parsing-testcommon.js => testing/web-platform/tests/css/css-shapes/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-transforms/support/parsing-testcommon.js => testing/web-platform/tests/css/css-transforms/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-ui/support/parsing-testcommon.js => testing/web-platform/tests/css/css-ui/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/css-writing-modes/support/parsing-testcommon.js => testing/web-platform/tests/css/css-writing-modes/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/filter-effects/support/parsing-testcommon.js => testing/web-platform/tests/css/filter-effects/parsing/support/parsing-testcommon.js
rename : testing/web-platform/tests/css/motion/support/parsing-testcommon.js => testing/web-platform/tests/css/motion/parsing/support/parsing-testcommon.js
rename : third_party/rust/crossbeam-deque/.cargo-checksum.json => third_party/rust/crossbeam-deque-0.2.0/.cargo-checksum.json
rename : third_party/rust/crossbeam-deque/.travis.yml => third_party/rust/crossbeam-deque-0.2.0/.travis.yml
rename : third_party/rust/crossbeam-deque/CHANGELOG.md => third_party/rust/crossbeam-deque-0.2.0/CHANGELOG.md
rename : third_party/rust/crossbeam-deque/Cargo.toml => third_party/rust/crossbeam-deque-0.2.0/Cargo.toml
rename : third_party/rust/bitflags-0.7.0/LICENSE-APACHE => third_party/rust/crossbeam-deque-0.2.0/LICENSE-APACHE
rename : third_party/rust/crossbeam-deque/README.md => third_party/rust/crossbeam-deque-0.2.0/README.md
rename : third_party/rust/crossbeam-deque/src/lib.rs => third_party/rust/crossbeam-deque-0.2.0/src/lib.rs
rename : third_party/rust/crossbeam-epoch/.cargo-checksum.json => third_party/rust/crossbeam-epoch-0.3.1/.cargo-checksum.json
rename : third_party/rust/crossbeam-epoch/.travis.yml => third_party/rust/crossbeam-epoch-0.3.1/.travis.yml
rename : third_party/rust/crossbeam-epoch/CHANGELOG.md => third_party/rust/crossbeam-epoch-0.3.1/CHANGELOG.md
rename : third_party/rust/crossbeam-epoch/Cargo.toml => third_party/rust/crossbeam-epoch-0.3.1/Cargo.toml
rename : third_party/rust/tokio-io/LICENSE-APACHE => third_party/rust/crossbeam-epoch-0.3.1/LICENSE-APACHE
rename : third_party/rust/crossbeam-epoch/README.md => third_party/rust/crossbeam-epoch-0.3.1/README.md
rename : third_party/rust/crossbeam-epoch/examples/sanitize.rs => third_party/rust/crossbeam-epoch-0.3.1/examples/sanitize.rs
rename : third_party/rust/crossbeam-epoch/src/atomic.rs => third_party/rust/crossbeam-epoch-0.3.1/src/atomic.rs
rename : third_party/rust/crossbeam-epoch/src/collector.rs => third_party/rust/crossbeam-epoch-0.3.1/src/collector.rs
rename : third_party/rust/crossbeam-epoch/src/default.rs => third_party/rust/crossbeam-epoch-0.3.1/src/default.rs
rename : third_party/rust/crossbeam-epoch/src/deferred.rs => third_party/rust/crossbeam-epoch-0.3.1/src/deferred.rs
rename : third_party/rust/crossbeam-epoch/src/epoch.rs => third_party/rust/crossbeam-epoch-0.3.1/src/epoch.rs
rename : third_party/rust/crossbeam-epoch/src/garbage.rs => third_party/rust/crossbeam-epoch-0.3.1/src/garbage.rs
rename : third_party/rust/crossbeam-epoch/src/guard.rs => third_party/rust/crossbeam-epoch-0.3.1/src/guard.rs
rename : third_party/rust/crossbeam-epoch/src/internal.rs => third_party/rust/crossbeam-epoch-0.3.1/src/internal.rs
rename : third_party/rust/crossbeam-epoch/src/lib.rs => third_party/rust/crossbeam-epoch-0.3.1/src/lib.rs
rename : third_party/rust/crossbeam-epoch/src/sync/list.rs => third_party/rust/crossbeam-epoch-0.3.1/src/sync/list.rs
rename : third_party/rust/crossbeam-epoch/src/sync/queue.rs => third_party/rust/crossbeam-epoch-0.3.1/src/sync/queue.rs
rename : third_party/rust/crossbeam-utils/.cargo-checksum.json => third_party/rust/crossbeam-utils-0.2.2/.cargo-checksum.json
rename : third_party/rust/crossbeam-utils/CHANGELOG.md => third_party/rust/crossbeam-utils-0.2.2/CHANGELOG.md
rename : third_party/rust/crossbeam-utils/Cargo.toml => third_party/rust/crossbeam-utils-0.2.2/Cargo.toml
rename : third_party/rust/bitflags-0.7.0/LICENSE-APACHE => third_party/rust/crossbeam-utils-0.2.2/LICENSE-APACHE
rename : third_party/rust/crossbeam-utils/src/atomic_option.rs => third_party/rust/crossbeam-utils-0.2.2/src/atomic_option.rs
rename : third_party/rust/crossbeam-utils/src/lib.rs => third_party/rust/crossbeam-utils-0.2.2/src/lib.rs
rename : third_party/rust/crossbeam-utils/src/scoped.rs => third_party/rust/crossbeam-utils-0.2.2/src/scoped.rs
rename : third_party/rust/bitflags-0.7.0/LICENSE-APACHE => third_party/rust/indexmap/LICENSE-APACHE
rename : third_party/rust/lazycell/.cargo-checksum.json => third_party/rust/lazycell-0.4.0/.cargo-checksum.json
rename : third_party/rust/lazycell/CHANGELOG.md => third_party/rust/lazycell-0.4.0/CHANGELOG.md
rename : third_party/rust/lazycell/Cargo.toml => third_party/rust/lazycell-0.4.0/Cargo.toml
rename : third_party/rust/bitflags-0.7.0/LICENSE-APACHE => third_party/rust/lazycell-0.4.0/LICENSE-APACHE
rename : third_party/rust/lazycell/LICENSE-MIT => third_party/rust/lazycell-0.4.0/LICENSE-MIT
rename : third_party/rust/lazycell/README.md => third_party/rust/lazycell-0.4.0/README.md
rename : third_party/rust/lazycell/src/lib.rs => third_party/rust/lazycell-0.4.0/src/lib.rs
rename : third_party/rust/bitflags-0.7.0/LICENSE-APACHE => third_party/rust/rand-0.3.22/LICENSE-APACHE
rename : third_party/rust/bitflags-0.7.0/LICENSE-MIT => third_party/rust/rand-0.3.22/LICENSE-MIT
rename : third_party/rust/rand/appveyor.yml => third_party/rust/rand-0.3.22/appveyor.yml
rename : third_party/rust/slab/.cargo-checksum.json => third_party/rust/slab-0.3.0/.cargo-checksum.json
rename : third_party/rust/slab/Cargo.toml => third_party/rust/slab-0.3.0/Cargo.toml
rename : third_party/rust/slab/README.md => third_party/rust/slab-0.3.0/README.md
rename : third_party/rust/slab/src/lib.rs => third_party/rust/slab-0.3.0/src/lib.rs
rename : third_party/rust/tokio-io/src/read_to_end.rs => third_party/rust/tokio-io/src/io/read_to_end.rs
rename : third_party/rust/tokio-io/src/read_until.rs => third_party/rust/tokio-io/src/io/read_until.rs
extra : rebase_source : 4c022c31e626832d12535d88e7caea452419ac2f
2018-08-24 00:44:17 +03:00
Cosmin Sabou 3211507dfb Merge mozilla-inbound to mozilla-central. a=merge 2018-08-24 00:40:14 +03:00
Emilio Cobos Álvarez 2340488c8b Bug 1485430 - Simplify PlaceBelowCurrentFloats. r=dbaron,mats
No reason to pass our own member as an argument.

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

--HG--
extra : moz-landing-system : lando
2018-08-22 23:29:22 +00:00
Xidorn Quan 0e1bf45a08 Bug 1484521 - Prepend bullet frame in line layout. r=jfkthame
Bug 1478178 regressed this case because bullet frame is the last frame
added to line layout, rather than the first, so when we try to apply
justification, we end up giving it the accumulated offset of the whole
line.

Bullet frame has to be added after other frames in the line have been
placed, because its presence may depend on whether the line is empty.
However, bullet frame is logically the first frame in a line and
appending it to the end is somewhat counter-intuitive.

Thus, this patch tries to fix the issue via prepending bullet frame in
line layout, so that the order of frames there can be more reliable.

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

--HG--
extra : moz-landing-system : lando
2018-08-24 10:44:04 +00:00
Emilio Cobos Álvarez b6a59eedfc Bug 488725: Don't position floats in a nowrap context until hitting a break opportunity. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D3900
2018-08-23 16:45:01 +02:00
Daniel Zielas 21d87f2b40 Bug 1420996 - Replace CompositorHitTestInfo with an EnumSet. r=botond
--HG--
extra : rebase_source : b62faecd4eb7a988e62a1f41eca6481f90e57c02
extra : histedit_source : 417426b84d2a269d84980df972073e67c2643cd3
2018-09-25 20:47:55 +02:00
Timothy Nikkel 1438d13673 Bug 1490938. Pass the high quality scaling flag when we request decode of images in most cases. r=aosmond
If we do not pass the high quality scaling flag than the resulting surface will be marked as cannot substitute, which is not accurate, so we don't want.

The only place that actually tries to be smart about the size is nsImageFrame::MaybeDecodeForPredictedSize. All other cases just ask for the intrinsic size.

The two most likely cases are that there are no decoded copies of the image, or there is one decoded (or in progress) copy of the image.

In the first case we will request decode at the instrinsic size, and then if we draw at a different size that draw will request the proper size. This doesn't change with this patch.

In the second case there is a decoded copy already available, this is likely from a draw call on the image, and that is the surface size that we want. So we save a decode. If we are actually drawing the image at two different sizes the second size will be slightly delayed, but we have the wrongly sized copy of the image that we can draw until then. This seems like a good tradeoff to avoid always decoding an instrinic size copy of images.
2018-09-27 18:30:17 -05:00
Doug Thayer 3241d9c80c Bug 1489588 - Allocate TextOverflows inline r=mattwoodrow
Summary:
Once the nsDisplayList difficulties are sorted out, this
becomes rather trivial.

Depends on D5293

Reviewers: mattwoodrow

Reviewed By: mattwoodrow

Bug #: 1489588

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

--HG--
extra : histedit_source : 9eae7ebf1455acae8a9ffaff90ce8f92e1e62566
2018-09-11 04:31:40 +03:00
Mats Palmgren 373eb37d44 Bug 1478485 - Use the stored CB on abs.pos. grid items when calculating used offset values. r=dholbert 2018-09-11 00:57:53 +02:00
Gerald Squelart e3df11afd8 Bug 1483946 - Fix CSS containment issue with scrollable elements - r=dholbert
Scrollable elements already trap all of their contents, nothing should spill
out, so there is no need for special handling of the `contain` CSS property.

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

--HG--
extra : moz-landing-system : lando
2018-08-23 15:55:54 +00:00
Emilio Cobos Álvarez a52d435c07 Bug 1485525 - Land an XBL-free version of the crashtest for bug 401042. r=mats
So this keeps covered if XBL goes away.

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

--HG--
extra : moz-landing-system : lando
2018-08-23 10:43:29 +00:00
Noemi Erli a3eb003ecf Merge inbound to mozilla-central. a=merge
--HG--
rename : testing/web-platform/tests/css/motion/offset-path-string.html => testing/web-platform/tests/css/motion/offset-path-string-001.html
2018-08-22 12:49:02 +03:00
Xidorn Quan 7119449f79 Bug 1484587 - Put the behavior that overflow-wrap: break-word affecting intrinsic size behind a pref and disable it by default. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D3749

--HG--
extra : moz-landing-system : lando
2018-08-22 06:55:13 +00:00
Ciure Andrei 40b18c41b7 Backed out 7 changesets (bug 1429298) for xpcshell failures properties-db.js CLOSED TREE
Backed out changeset 48214a8e1b6b (bug 1429298)
Backed out changeset cc2785ab879e (bug 1429298)
Backed out changeset c217209a3b04 (bug 1429298)
Backed out changeset 196fc7b48b84 (bug 1429298)
Backed out changeset 761e9bb54adb (bug 1429298)
Backed out changeset 0b9ec0d707b5 (bug 1429298)
Backed out changeset 38ad1cc1b0c8 (bug 1429298)

--HG--
rename : testing/web-platform/tests/css/motion/offset-path-string-002.html => testing/web-platform/tests/css/motion/offset-path-string.html
2018-08-22 08:01:49 +03:00
Boris Chiou 4171197c25 Bug 1429298 - Part 2: Define offset-path and implement it in style system. r=emilio
Define OffsetPath & SVGPathData on the servo-side, and StyleMotion &
StyleSVGPath on the gecko-side. We parse the SVG Path string into a
vector of PathCommand. To build the gfx::Path, we will convert it into
gfx::Path later in a different patch.

The basic flow is:
  - Parse SVG Path String into SVGPathData (in Rust).
  - Use cbindgen to make sure the layout of PathCommand and StylePathCommand, and then set the Box[PathCommand] into nsTArray<StylePathCommand>.
  - Try to convert nsTArray<StylePathCommand> into gfx::Path. (This part will be implemented in a different patch.)

Finally, we use the gfx::Path to create a motion path transform.
The layout implementation is in the later patch.

Depends on D2962

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

--HG--
extra : moz-landing-system : lando
2018-08-22 01:24:13 +00:00
Tiberius Oros 05b46cf200 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-22 00:59:19 +03:00
Mike Conley 20644c9627 Bug 1485023 - Replace checks for PresShells when suppressing displayports with assertions. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D3905

--HG--
extra : moz-landing-system : lando
2018-08-21 21:45:07 +00:00
Mats Palmgren 2f53d4f281 Bug 1484559 - Ensure that the scroll frame deregister its refresh driver observers (mAsyncScroll & mAsyncSmoothMSDScroll) before it's destroyed. r=dholbert 2018-08-21 14:55:22 +02:00
Boris Chiou a8bd6dfc8a Bug 1429298 - Part 2: Define offset-path and implement it in style system. r=emilio
Define OffsetPath & SVGPathData on the servo-side, and StyleMotion &
StyleSVGPath on the gecko-side. We parse the SVG Path string into a
vector of PathCommand. To build the gfx::Path, we will convert it into
gfx::Path later in a different patch.

The basic flow is:
* Parse SVG Path String into SVGPathData (in Rust).
* Use cbindgen to make sure the layout of PathCommand and StylePathCommand,
  and then set the Box[PathCommand] into nsTArray<StylePathCommand>.
* Try to convert nsTArray<StylePathCommand> into gfx::Path. (This part
  will be implemented in a different patch.)

Finally, we use the gfx::Path to create a motion path transform.
The layout implementation is in the later patch.

Differential Revision: https://phabricator.services.mozilla.com/D2963
2018-08-21 22:41:38 -07:00
shindli 22e756d763 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-20 12:54:42 +03:00
Jonathan Kew f010447bbe Bug 1484094 - Don't allow the caret to be placed within a ligated emoji sequence. r=m_kato 2018-08-20 09:07:40 +01:00
Kashav Madan e3060a3711 Bug 1465616 - Use the larger viewport to layout and size fixed position elements. r=mstange
Since fixed position elements are now scrollable, we need to ensure that
they're drawn into the viewport that they're attached to.

MozReview-Commit-ID: ADQXkLjwIzR

--HG--
extra : rebase_source : 2a2ec4983e2ec7f69a3c18389661e00e47ac5277
2018-07-04 16:10:04 -04:00
Csoregi Natalia 3e61ab4489 Merge inbound to mozilla-central. a=merge 2018-08-18 12:46:20 +03:00
Ting-Yu Lin f90c2a2950 Bug 1484306 Part 4 - Use FunctionTypeTraits to yield better error message if aPredicate's signature is wrong. r=gerald
Differential Revision: https://phabricator.services.mozilla.com/D3684
2018-08-17 22:14:26 -07:00
Ting-Yu Lin 4347d6785b Bug 1484306 Part 2 - Add nsFrameList::Split(), and use it to replace the usage of FindFirstNonBlock(). r=dholbert
This API is similar to Vec::Split() in Rust.
https://doc.rust-lang.org/std/vec/struct.Vec.html#method.split

Differential Revision: https://phabricator.services.mozilla.com/D3644
2018-08-17 22:14:25 -07:00
Ting-Yu Lin f830c92c19 Bug 1484306 Part 1 - Add nsFrameList::FrameLinkEnumerator::Find(). r=dholbert
Use it to implement FindFirstBlock() and FindFirstNonBlock(). This is a
demonstration on how Find() is used. The usage of them will be overhauled in
Part 2 and 3.

Differential Revision: https://phabricator.services.mozilla.com/D3642
2018-08-17 22:14:25 -07:00
Timothy Guan-tin Chien 166aa2d738 Bug 1483972 - Allow videocontrols to initialize without style r=jaws,dholbert!,jaws!
This crash happens because nsVideoFrame didn't know what to do with two
children in the UA Widget Shadow Root.

The two children are both videocontrols, with the first one being the lingering
DOM inserted by first constructor call that throws.

The subsequent appendChild of the same element caused the videocontrols
to be initialized again, since the previous run didn't return a widget
instance to UAWidgetsChild.

The fix here removes the throw statement added in
https://hg.mozilla.org/mozilla-central/rev/dca187f7c72c#l3.15 ,
allowing the constructor to complete.

Without this statement, we will rely on assertion in the test here
https://hg.mozilla.org/mozilla-central/rev/4ddca5eb06c2#l2.18
to fail on slower platforms to ensure the stylesheet is loaded synchronously.

An alternative fix would be to wrap up the contructor in a try catch block
from UAWidgetsChild and make sure the DOM is cleaned up when the constructor
throw. That however will hide the error thrown so I decided to remove the throw
statement instead.

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

--HG--
extra : moz-landing-system : lando
2018-08-17 20:43:46 +00:00
Xidorn Quan 94fec1b2c8 Bug 1475033 part 4 - Implement scrollbar-width: none. r=mstange
MozReview-Commit-ID: 97AOILxYSw0

--HG--
extra : rebase_source : 817fff46702f28b3ce5feae0c00bf45969326521
2018-08-06 09:23:33 +10:00
Xidorn Quan 681c592a20 Bug 1475033 part 2 - Add a ShowScrollbar enum to be used in ScrollReflowInput. r=mstange
Overflow properties have two semantics nowadays:
1. controlling whether the scrollbar should be shown;
2. controlling whether the content is scrollable.

However, with the scrollbar-width property being added, scrollability
and presence of scrollbar no longer binds together.

This change attempts to draw a boundary between value of overflow and
presence of scrollbar by making it clear that for ScrollReflowInput, we
only care about whether scrollbar should be shown. This should make it
easier to reason about further changes involving presence of scrollbar.

MozReview-Commit-ID: 2E964z0SkW4

--HG--
extra : rebase_source : e59eb078127a71de5bc9b0537d4fe8d540965ba2
2018-08-03 17:44:15 +10:00
Masayuki Nakano b808917841 Bug 1449564 - part 1: Disable object resizer and inline table editor in default r=m_kato
Gecko supports resizers of <img> elements and <table>, <td>, <th> elements and
has UI to remove existing table row or column in default.  However, the other
browsers don't have such UI and web apps need to disable this feature with
calling both:
document.execCommand("enableObjectResizing", false, false);
document.execCommand("enableInlineTableEditing", false, false);
for avoiding conflicting with their own features to edit such elements.

Therefore, it doesn't make sense to keep enabling them in default only on
Gecko.  If web apps want to keep using these features, they should call:
document.execCommand("enableObjectResizing", false, true);
document.execCommand("enableInlineTableEditing", false, true);
at initializing the editor.

And also this patch fixes bugs of
document.queryCommandState("enableObjectResizing") and
document.queryCommandState("enableInlineTableEditing").  They always return
false even after calling document.execCommand(..., false, true) since
nsSetDocumentStateCommand::GetCommandStateParams() sets bool value as
STATE_ATTRIBUTE.  However, nsHTMLDocument::QueryCommandValue() which is the
caller referring STATE_ATTRIBUTE doesn't treat it as bool value.  And also
those commands are related to state of document.  Therefore, they should be
return as bool value of STATE_ALL instead.  Then,
nsHTMLDocument::QueryCommandState() returns the state as expected.  Note that
those commands are supported only by Gecko.  So, we don't need to worry about
the compatibility.

Finally, this patch rewrites 2 existing tests to check basic behavior of
resizers and appearance of resizers.

Note that this patch does not add new tests to test inline table editor
since it's difficult to test the behavior with current API.  Perhaps, we
should add an API to nsIHTMLEditor to retrieve each anonymous elements in
another bug since it requires to add wrapping API of SpecialPowers.

MozReview-Commit-ID: 1FhYo5vcV60

--HG--
rename : editor/libeditor/tests/test_objectResizing.html => editor/libeditor/tests/test_resizers_appearance.html
rename : editor/libeditor/tests/test_bug640321.html => editor/libeditor/tests/test_resizers_resizing_elements.html
extra : rebase_source : a707de5a64ef1f8ce974cdf1be093d1b4f61c7bc
2018-04-02 17:26:46 +09:00
Margareta Eliza Balazs 48299c8cd6 Merge inbound to mozilla-central. a=merge 2018-08-16 12:24:26 +03:00
Mihir Iyer 299e679ae7 Bug 1472843 - Implement justify-content:left/right/start/end, align-content:start/end, align-self:self-start/self-end for flexbox. r=dholbert
This commit also removes some cases & warnings about unsupported values that
have now been removed from the css alignment spec.
Specifically: "justify-content:[last] baseline" and
"align-self/align-content: left/right".

--HG--
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-vert-001-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-wmvert-001-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-horiz-001a.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-content-wmvert-001.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-vert-002-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-vert-rtl-005-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-vert-002.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-align-self-vert-rtl-005.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-005-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-006-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-005.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-horiz-006.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-006-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001a.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-006.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001-ref.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-wmvert-001-ref.xhtml
rename : layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-vert-001a.xhtml => layout/reftests/w3c-css/submitted/flexbox/flexbox-justify-content-wmvert-001.xhtml
extra : amend_source : 93cd04450f573fcfa11f3400ffd0ecb4cb3e6d90
2018-08-03 07:56:32 -07:00
Cameron McCormack 99d9013b12 Bug 1482782 - Part 5: Move CSS anonymous box atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3283

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3284
2018-08-15 15:46:39 +10:00
Cameron McCormack 4a23b5ff06 Bug 1482782 - Part 4: Move CSS pseudo-element atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3282

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3283
2018-08-15 15:46:00 +10:00
Narcis Beleuzu d20e8e7674 Backed out 8 changesets (bug 1483121, bug 1482782) for build bustages on nsDirectoryService.cpp. CLOSED TREE
Backed out changeset 0a8334bbcf45 (bug 1483121)
Backed out changeset cb2dcb859071 (bug 1482782)
Backed out changeset c834d4ca2eef (bug 1482782)
Backed out changeset 887de0efbb67 (bug 1482782)
Backed out changeset 018fdb50a6be (bug 1482782)
Backed out changeset 33a8aa8096c9 (bug 1482782)
Backed out changeset e3632354f16e (bug 1482782)
Backed out changeset 46f8319bee82 (bug 1482782)
2018-08-15 09:14:41 +03:00
Cameron McCormack d9edae8bde Bug 1482782 - Part 5: Move CSS anonymous box atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3283

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3284
2018-08-15 15:46:39 +10:00
Cameron McCormack cc6c806369 Bug 1482782 - Part 4: Move CSS pseudo-element atoms to nsGkAtoms. r=njn,emilio
Summary: Depends On D3282

Reviewers: njn!, emilio!

Tags: #secure-revision

Bug #: 1482782

Differential Revision: https://phabricator.services.mozilla.com/D3283
2018-08-15 15:46:00 +10:00
Andreea Pavel 5d75e43adc Merge mozilla-inbound to mozilla-central. a=merge 2018-08-14 19:15:33 +03:00
Henri Sivonen 3edc601325 Bug 1402247 - Use encoding_rs for XPCOM string encoding conversions. r=Nika,erahm,froydnj.
Correctness improvements:

 * UTF errors are handled safely per spec instead of dangerously truncating
   strings.

 * There are fewer converter implementations.

Performance improvements:

 * The old code did exact buffer length math, which meant doing UTF math twice
   on each input string (once for length calculation and another time for
   conversion). Exact length math is more complicated when handling errors
   properly, which the old code didn't do. The new code does UTF math on the
   string content only once (when converting) but risks allocating more than
   once. There are heuristics in place to lower the probability of
   reallocation in cases where the double math avoidance isn't enough of a
   saving to absorb an allocation and memcpy.

 * Previously, in UTF-16 <-> UTF-8 conversions, an ASCII prefix was optimized
   but a single non-ASCII code point pessimized the rest of the string. The
   new code tries to get back on the fast ASCII path.

 * UTF-16 to Latin1 conversion guarantees less about handling of out-of-range
   input to eliminate an operation from the inner loop on x86/x86_64.

 * When assigning to a pre-existing string, the new code tries to reuse the
   old buffer instead of first releasing the old buffer and then allocating a
   new one.

 * When reallocating from the new code, the memcpy covers only the data that
   is part of the logical length of the old string instead of memcpying the
   whole capacity. (For old callers old excess memcpy behavior is preserved
   due to bogus callers. See bug 1472113.)

 * UTF-8 strings in XPConnect that are in the Latin1 range are passed to
   SpiderMonkey as Latin1.

New features:

 * Conversion between UTF-8 and Latin1 is added in order to enable faster
   future interop between Rust code (or otherwise UTF-8-using code) and text
   node and SpiderMonkey code that uses Latin1.

MozReview-Commit-ID: JaJuExfILM9
2018-08-14 14:43:42 +03:00
Margareta Eliza Balazs 2b0e863a2c Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-14 12:36:35 +03:00
Margareta Eliza Balazs e53d398574 Merge inbound to mozilla-central. a=merge 2018-08-14 12:30:50 +03:00
Margareta Eliza Balazs 9575863d77 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-14 12:35:25 +03:00
Xidorn Quan 33b8a6dacd Bug 1483090 - Rename StyleUserInterface to StyleUI. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D3276

--HG--
extra : moz-landing-system : lando
2018-08-14 08:37:37 +00:00
Ting-Yu Lin 8dc290a28d Bug 1460075 - Use 1px as the minimum column width. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D3140

--HG--
extra : moz-landing-system : lando
2018-08-13 17:48:42 +00:00
Daniel Varga 9355025fd5 Merge mozilla-central to mozilla-inbound 2018-08-14 01:09:48 +03:00
Ting-Yu Lin 48d02834a5 Bug 1482665 Part 2 - Remove nsPresContext::AppUnitsPerCSSPixel() and replace it with mozilla::AppUnitsPerCSSPixel(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3155
2018-08-13 14:29:28 -07:00
Sahil Bhosale d0196f98ff Bug 1479605 - Remove ENSURE_TRUE in nsFrame.h, and replace it with NS_ENSURE_TRUE_VOID. r=TYLin 2018-08-13 12:42:00 +03:00
Csoregi Natalia 81732c6774 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-13 18:44:46 +03:00
Bogdan Tara e72c851d67 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-08-13 13:00:51 +03:00
"Emilio Cobos Álvarez" f3d30ca484 Bug 1472020 - Make AccessibleCaret a bit saner. r=bz,TYLin
Avoid processing anon content in nsCanvasFrame, then getting more anon content
via AccessibleCaretEventHub::Init. Instead call Init before creating the custom
content container. We could also throw a script runner at it I guess, but this
prevents the reentrancy issue.

Avoid cloning nodes during layout, just use the same node (already cloned in
InsertAnonymousContent) instead.

The RemoveChild in GetAnonymousContent to handle the reframes instead of cloning
around is a bit hacky, but I don't think it's really worth extending
PostDestroyData for this special case.

Differential Revision: https://phabricator.services.mozilla.com/D1889
2018-08-13 11:56:48 +02:00
Xidorn Quan 0b27da2b4b Bug 1478178 - Sync the condition in ApplyFrameJustification as that in ComputeFrameJustification. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D2817

--HG--
extra : moz-landing-system : lando
2018-08-13 00:07:35 +00:00
Adrian Wielgosik be0c1a4f55 Bug 1481645 - Remove some redundant uses of do_QueryInterface. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D2893

--HG--
extra : moz-landing-system : lando
2018-08-13 09:05:19 +00:00
Morgan Rae Reschenberg f72ce47c36 Bug 1472919 - Establish stacking context, containing block, independent formatting context for contain:layout. r=dbaron
MozReview-Commit-ID: H36HpePX29C

--HG--
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-containing-block-absolute-001.html => layout/reftests/w3c-css/submitted/contain/contain-layout-containing-block-absolute-001.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-containing-block-fixed-001.html => layout/reftests/w3c-css/submitted/contain/contain-layout-containing-block-fixed-001.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-formatting-context-float-001.html => layout/reftests/w3c-css/submitted/contain/contain-layout-formatting-context-float-001.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-formatting-context-margin-001-ref.html => layout/reftests/w3c-css/submitted/contain/contain-layout-formatting-context-margin-001-ref.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-formatting-context-margin-001.html => layout/reftests/w3c-css/submitted/contain/contain-layout-formatting-context-margin-001.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-ignored-cases-no-principal-box-001.html => layout/reftests/w3c-css/submitted/contain/contain-layout-ignored-cases-no-principal-box-001.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-containing-block-absolute-001-ref.html => layout/reftests/w3c-css/submitted/contain/contain-layout-ignored-cases-no-principal-box-002-ref.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-containing-block-absolute-001.html => layout/reftests/w3c-css/submitted/contain/contain-layout-ignored-cases-no-principal-box-002.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-containing-block-fixed-001-ref.html => layout/reftests/w3c-css/submitted/contain/contain-layout-ignored-cases-no-principal-box-003-ref.html
rename : layout/reftests/w3c-css/submitted/contain/contain-paint-containing-block-fixed-001.html => layout/reftests/w3c-css/submitted/contain/contain-layout-ignored-cases-no-principal-box-003.html
extra : rebase_source : d6e53cd496c98949b0b4ecfb96d6a8a5eb4d6635
2018-07-20 10:57:22 -07:00
Timothy Guan-tin Chien dab48182aa Bug 1431255 - Part V, Set the reflectors of the UA Widget DOM to UA Widget Scope r=bholley
The DOM elements within the UA Widget Shadow DOM should have its reflectors in
the UA Widget Scope. This is done by calling nsINode::IsInUAWidget() which
would check its containing shadow and its UA Widget bit.

To prevent JS access of the DOM element before it is in the
UA Widget Shadom DOM tree, various DOM methods are set to inaccessible to
UA Widget script. It would need to use the two special methods in ShadowRoot
instead to insert the DOM directly into the shadow tree.

MozReview-Commit-ID: Jz9iCaVIoij

--HG--
extra : rebase_source : b7b17be68dcde00cfeb207cb39cf16b486f2ab02
2018-06-29 13:39:46 -07:00
Timothy Guan-tin Chien 8cc930296b Bug 1431255 - Part II, Create a Shadow Root in HTMLMediaElement when enabled, skipping <xul:videocontrols> r=dholbert,smaug
This prevents XBL binding from being attached, and create the Shadow Root to
host controls to be created by the script.

Shadow Root and the JS controls are lazily constructed when the controls
attribute is set.

Set nsVideoFrame as dynamic-leaf so it will ignore content child frames when
the controls are XBL anonymous content, and handles child frames from controls
in the Shadow DOM. The content nodes are still ignored since there is no
<slot>s in our Shadow DOM.

MozReview-Commit-ID: 3hk41iMa07n

--HG--
extra : rebase_source : f6f8a3facc9d83f5626cf5f3b4e3fa27438a8a8f
2018-06-27 11:12:38 -07:00
Morgan Rae Reschenberg 1eafba7c64 Bug 1476495 - Treat overflow in contain:layout elements as ink overflow. r=dholbert
MozReview-Commit-ID: 2gRm0LOUTI6

--HG--
extra : rebase_source : 83c0519bd76d68ff6fd8a20968fbb1a0ef9e81d4
2018-07-23 11:04:50 -07:00
Cosmin Sabou 2000d70040 Backed out changeset b580e5b9f9e4 (bug 1476495) for wpt reftest failures on contain-layout-ink-overflow. CLOSED TREE
--HG--
extra : amend_source : 52811bc4cb88b219adc749a02c8f51c7ddb69bd3
2018-08-10 07:17:58 +03:00
Morgan Rae Reschenberg 717134bfa2 Bug 1476495 - Treat overflow in contain:layout elements as ink overflow. r=dholbert
MozReview-Commit-ID: 2gRm0LOUTI6

--HG--
extra : rebase_source : 3efe39a597fce724e59ebc8d001c19234b3646ed
2018-07-23 11:04:50 -07:00
Matt Woodrow 0ea228cfd7 Bug 1480695 - Add telemetry to record how frequently we encounter a cross-origin <iframe> within a filter. r=mstange,Nika 2018-08-09 16:30:39 +12:00
Coroiu Cristina aca41ab710 Backed out changeset a18c257cf35d (bug 1480695) for build bustage at build/src/obj-firefox/dist/include/nsDisplayList.h 2018-08-09 07:49:46 +03:00
Matt Woodrow 6e927e7e6d Bug 1480695 - Add telemetry to record how frequently we encounter a cross-origin <iframe> within a filter. r=mstange,Nika 2018-08-09 16:30:39 +12:00
Csoregi Natalia 0f4d50ff52 Merge inbound to mozilla-central. a=merge 2018-08-08 12:58:36 +03:00
Narcis Beleuzu e2bdc2a3f4 Backed out changeset ddfa5cc2ea30 (bug 1478178) for mochitest failures on layout/base/tests/test_reftests_with_caret.html. CLOSED TREE 2018-08-08 06:48:29 +03:00
Xidorn Quan 6e0250809c Bug 1478178 - Sync the condition in ApplyFrameJustification as that in ComputeFrameJustification. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D2817

--HG--
extra : moz-landing-system : lando
2018-08-08 00:02:40 +00:00
Xidorn Quan 346661e6fd Bug 1481125 - Put overflow: -moz-scrollbar-* behind pref. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D2845

--HG--
extra : moz-landing-system : lando
2018-08-07 13:57:45 +00:00
Jeremy Lempereur 96d35f35bd Bug 1471708 - Rename the "scroll-position clamping scroll port size" to "visual viewport size". r=botond
MozReview-Commit-ID: IWPzXSF5jfR

--HG--
extra : rebase_source : f67d64ef18a643077d5019048399e68acc722337
2018-07-22 21:49:38 +02:00
L. David Baron aad8d26078 Bug 1479859 patch 3 - Add an nsIFrame::IsFrameOfType bit to say whether frames support contain:layout and contain:paint. r=dholbert
This is needed for patch 4.

This is based both on the wording in the spec and the discussion in
https://github.com/w3c/csswg-drafts/issues/2987, and also doesn't
support them for nsMathMLContainerFrame, which is similar to inlines and
ruby.

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

--HG--
extra : rebase_source : b7e23fb248fa34957ca2d539134e872f5a03f5a8
2018-08-07 15:02:07 -07:00
Cosmin Sabou 7cf1ac297e Backed out changeset 542243f5f600 (bug 1471708) for failling reftest on gfx/layers/apz/test/reftest/async-scrollbar-1. 2018-08-05 07:57:50 +03:00
Jeremy Lempereur e591a6945a Bug 1471708 - Rename the "scroll-position clamping scroll port size" to "visual viewport size". r=botond
MozReview-Commit-ID: IWPzXSF5jfR

--HG--
extra : rebase_source : 9d13a680ebf76a5f86c9040a5a16981514435dc8
2018-07-22 21:49:38 +02:00
Lee Salzman daa9f58360 Bug 1479196 - add support to TextDrawTarget for defining and pushing WR images. r=nical 2018-08-21 12:36:48 -04:00
Dorel Luca e10cc6aac4 Merge mozilla-central to mozilla-inbound
--HG--
extra : rebase_source : 8265ad85fc5376a71af7ed3afe8463b7178286f3
2018-08-04 01:08:25 +03:00
Botond Ballo a0fa30904d Bug 1477007 - Ensure the visual viewport can be scrolled within the layout viewport even if a page is not zoomable. r=kats
A meta viewport tag can simultaneously specify user-scalable=no, and a
layout viewport size and initial zoom level that make the visual viewport
smaller than the layout viewport.

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

--HG--
extra : moz-landing-system : lando
2018-07-31 23:19:27 +00:00
Xidorn Quan 5380f1c02c Bug 1480358 - Have the second OptionallyBreak actually make sense. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D2696

--HG--
extra : moz-landing-system : lando
2018-08-03 07:21:35 +00:00
Ting-Yu Lin 437e39a5b5 No bug - Correct a bug number in nsFrameStateBits.h. rs=emilio
One frame state bit might be needed in bug 1465474 when simplifying our
::first-line implementation.

DONTBUILD because it's a comment-only change.
2018-08-03 12:59:08 -07:00
Kartikaya Gupta 3bf383c2cd Bug 1474885 - Re-enable crashtests that are now passing. r=nical
MozReview-Commit-ID: 334GLtdSzF5

--HG--
extra : rebase_source : 015277f17a77b571ed50e10a5207957e4a0f2bb7
2018-08-02 10:28:15 -04:00
Noemi Erli 8f66a71e70 Merge inbound to mozilla-central. a=merge 2018-08-02 11:54:46 +03:00
Xidorn Quan 8421040c69 Bug 1479995 - Rename ScrollbarStyles to ScrollStyles. r=mstange
This change also renames several related functions, as well as fields,
and the header is moved into EXPORTS.mozilla given it is defined under
mozilla namespace.

MozReview-Commit-ID: LqCdcW8fmUN

--HG--
rename : layout/base/ScrollbarStyles.cpp => layout/base/ScrollStyles.cpp
rename : layout/base/ScrollbarStyles.h => layout/base/ScrollStyles.h
extra : rebase_source : 8933f3bca88d5db4b9508e3947f695ecf7511b3e
2018-08-01 16:14:26 +10:00
Daniel Holbert c6ea3e98c0 Bug 1480212: Give nsCanvasFrame.cpp an #include to provide NS_NewXULElement decl, to fix non-unified builds in layout/generic. r=TYLin
Differential Revision: https://phabricator.services.mozilla.com/D2627

--HG--
extra : moz-landing-system : lando
2018-08-01 20:58:02 +00:00
Mihir Iyer f7cad8b983 Bug 1473047 - Re-resolve row-gap percentages after intrinsic block size calculated. r=dholbert
MozReview-Commit-ID: EHX1WFvqwr1

--HG--
extra : rebase_source : fb9c082c1c3f74fcc9404016343eb456cb8948ed
2018-07-24 11:38:54 -07:00
Boris Zbarsky 754087a992 Bug 1446940 part 5. Stop getting docshells from windows via getInterface in dom/editor/etc code. r=kmag 2018-08-01 13:07:11 -04:00
Jonathan Kew 3cc77c781a Bug 1476437 - Correct original-text indexing when checking for explicit hyphens in text where auto-hyphenation is enabled. r=dbaron 2018-07-28 09:23:36 +01:00
Jonathan Kew 1f26457015 Bug 1478574 - Fix off-by-one error in marking explicit hyphens, so we don't introduce spurious pre-hyphen breaks. r=dbaron 2018-07-28 09:23:11 +01:00
Tiberius Oros 339c5c47b4 Backed out 5 changesets (bug 1476437, bug 1478574) for failing hyphenation-control-5.html on windows builds on a CLOSED TREE
Backed out changeset d8d3c9e7b832 (bug 1476437)
Backed out changeset 280aff154491 (bug 1476437)
Backed out changeset e17db916959e (bug 1476437)
Backed out changeset 144a3d2b7da9 (bug 1478574)
Backed out changeset edb45de7ff9d (bug 1478574)
2018-07-28 13:22:54 +03:00
Jonathan Kew 5a78d19b4f Bug 1476437 - Correct original-text indexing when checking for explicit hyphens in text where auto-hyphenation is enabled. r=dbaron 2018-07-28 09:23:36 +01:00
Jonathan Kew cb26a6d16d Bug 1478574 - Fix off-by-one error in marking explicit hyphens, so we don't introduce spurious pre-hyphen breaks. r=dbaron 2018-07-28 09:23:11 +01:00
Jonathan Kew f5efd70ff6 Bug 1476304 - Exclude Georgian letters from the mapping used by text-transform:uppercase, due to lack of font support. r=gandalf 2018-07-27 14:35:04 +01:00
Emilio Cobos Álvarez 517256e365 Bug 1478391: Autogenerate StyleAppearance. r=jwatt
This builds on bug 1428676 and introduces StyleAppearance, which replaces the
NS_THEME_* constants.

Really sorry for the size of the patch.

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

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

MozReview-Commit-ID: DiSmMWK7Krp
2018-07-26 17:06:17 +02:00
Sebastian Hengst bd900ee36a Merge mozilla-inbound to mozilla-central. a=merge 2018-07-25 17:16:53 +03:00
Emilio Cobos Álvarez e1af3b4e1c Bug 1478069: Remove ContentInfo::mChildren. r=bz
It's not needed anymore, since we tag the pseudo-elements at creation time for
styling.

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

MozReview-Commit-ID: 7j4DVEHXYIC
2018-07-25 11:31:23 +02:00
Emilio Cobos Álvarez 26b508d03c Bug 1478069: Trivial frame constructor cleanup. r=TYLin
Using references helps to see when stuff can and cannot be null.

I removed useless aTag / aNamespaceId arguments which are useless now that XBL
can't override them (bug 1450617), so FindXULData is the only one that keeps
them alive.

Also, I took the liberty of renaming a few fooComputedStyle variables to just
fooStyle, and clarify naming in some pseudo-element-related functions to say
originating element (the spec term) and avoid confusing it with the generated
_moz_generated_content_before / _moz_generated_content_after element.

Note that this is a partial state, more stuff will come in the future.

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

MozReview-Commit-ID: 39B30doREUH
2018-07-25 11:31:18 +02:00
Brad Werth 769888390c Bug 1471894 Part 1: Ensure that absolute positioned blocks with auto margins update their UsedMargin property. r=dholbert
MozReview-Commit-ID: EFIQVvazkTg

--HG--
extra : rebase_source : f452f1e4825dbd7a9165eb780774e643112e786e
2018-07-11 16:52:33 -07:00
Bogdan Tara 02908b5c58 Backed out 2 changesets (bug 1471894) for wpt failures on non-replaced-elements/flow-content-0/dialog.html CLOSED TREE
Backed out changeset bce3c6ca2e19 (bug 1471894)
Backed out changeset 6ab2fb716899 (bug 1471894)
2018-07-25 00:38:21 +03:00
Brad Werth 6a7460adae Bug 1471894 Part 1: Ensure that absolute positioned blocks with auto margins update their UsedMargin property. r=dholbert
MozReview-Commit-ID: EFIQVvazkTg

--HG--
extra : rebase_source : e1a9d2248a07a52ab124659f5fb7bd5e73159b83
2018-07-11 16:52:33 -07:00
Bogdan Tara d45fc12653 Backed out 2 changesets (bug 1471894) for dialog.html wpt failures and crashtest failures CLOSED TREE
Backed out changeset a20576472778 (bug 1471894)
Backed out changeset 7342b2da7568 (bug 1471894)
2018-07-24 22:45:27 +03:00
Brad Werth 653730a83e Bug 1471894 Part 1: Ensure that absolute positioned blocks with auto margins update their UsedMargin property. r=dholbert
MozReview-Commit-ID: EFIQVvazkTg

--HG--
extra : rebase_source : e1a9d2248a07a52ab124659f5fb7bd5e73159b83
2018-07-11 16:52:33 -07:00
Boris Zbarsky 75abc43e0d Bug 1476145 part 8. Stop using getInterface(nsIDOMWindowUtils) in various test code. r=kmag 2018-07-24 19:47:43 -04:00
Bogdan Tara fecaaf3862 Backed out 2 changesets (bug 1471894) for lint failure on wpt.yml CLOSED TREE
Backed out changeset 189749cc1e12 (bug 1471894)
Backed out changeset 194afde62e69 (bug 1471894)
2018-07-24 20:26:43 +03:00