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

20589 Коммитов

Автор SHA1 Сообщение Дата
Brindusan Cristian 555f911666 Backed out 2 changesets (bug 1582530) for crashtest assertions on ReflowInput.cpp. CLOSED TREE
Backed out changeset 1ae40ac76cd0 (bug 1582530)
Backed out changeset 7fb765cb6727 (bug 1582530)
2019-09-27 04:02:33 +03:00
Tim Nguyen 9512989188 Bug 1582530 - Fix remaining cases that were relying on blockification. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D46676

--HG--
extra : moz-landing-system : lando
2019-09-27 00:13:51 +00:00
Daniel Holbert 781eb25200 Bug 1584187: Pass an assertion-only variable to mozilla::Unused, to fix non-nightly opt build error. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D47319

--HG--
extra : moz-landing-system : lando
2019-09-26 21:11:33 +00:00
Emilio Cobos Álvarez aef57af453 Bug 1553772 - Bug 1549812 - Try to assert a bit harder about stuff not flushing under our nose. r=TYLin,mats
I think these should hold, everything that runs under them should just schedule
other stuff to some later date:

 * Synth mouse events -> scheduled as refresh driver observers.
 * Scroll events -> Scheduled as well.
 * Caret state change events -> Also scheduled after last patch.
 * IME and accessibility stuff -> I don't think they can reenter layout.

We can always revert this if it causes troubles, plus it shouldn't crash on
release so should be fine.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 20:55:58 +00:00
Emilio Cobos Álvarez d485264311 Bug 1553772 - Bug 1549812 - Don't run arbitrary script from AccessibleCaretManager callbacks. r=TYLin
Instead, post the event for the next turn of the event loop.

In this case, what killed the frame is ActionBarHandler.jsm via
Selection.toString().

Depends on D31088

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

--HG--
extra : moz-landing-system : lando
2019-09-26 20:55:53 +00:00
Brindusan Cristian bbe6450687 Backed out 3 changesets (bug 1582530) for crashtest failures on 360339-1.xul. CLOSED TREE
Backed out changeset 0d8d8016da4f (bug 1582530)
Backed out changeset deba67add7d2 (bug 1582530)
Backed out changeset b62377b233a8 (bug 1582530)
2019-09-26 22:52:22 +03:00
Emilio Cobos Álvarez 9dfc84144f Bug 1584285 - Add a pref to disable scroll anchoring suppression triggers on Nightly. r=dholbert
I think most of them should not be needed after bug 1561450. From our discussion
at TPAC in https://github.com/w3c/csswg-drafts/issues/4239, there should be no
reason not to do this unless we find fallout.

We need to enable the pref in tests that test these particular heuristics of
course.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 18:57:52 +00:00
Tim Nguyen a81dc42d42 Bug 1582530 - Fix crashtest failures. r=bustage on a CLOSED TREE 2019-09-26 12:00:11 -07:00
Tim Nguyen 7dac471890 Bug 1582530 - Fix remaining cases that were relying on blockification. r=dao
Differential Revision: https://phabricator.services.mozilla.com/D46676

--HG--
extra : moz-landing-system : lando
2019-09-26 17:19:15 +00:00
Makoto Kato 138c530bf4 Bug 1448730 - Long tap doesn't select word if tapped point isn't text. r=TYLin
Actually, Gecko's long tap implementation will select a word string near tapped
area even if tapped area isn't text.

Since Blink doesn't select it and user reports this issue via web compat, I
would not like to select text if tapped area isn't text.

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

--HG--
extra : moz-landing-system : lando
2019-09-26 08:36:46 +00:00
Daniel Holbert 8c18bcd991 Bug 1582819: Add diagnostic assert to catch positioned elements with display:-moz-box or -moz-inline-box that were previously blockified to 'block' but won't be anymore. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D46681

--HG--
extra : moz-landing-system : lando
2019-09-25 20:38:55 +00:00
Emilio Cobos Álvarez 161cb16ca8 Bug 1551659 - Remove MVMContext::ResizeEventFlag and related code. r=botond,hiro
D46944 / bug 1583534 is what fixes the root cause of bug 1528052 by not
having the first call to ResizeReflow have a wrong old size of 0x0.

This removes the code that bug introduces to suppress resize events, which
fixes this bug. I think our behavior now is pretty sane.

In particular, consider the test-case:

<!doctype html>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<a href="" target="_blank">Open me in a separate tab</a>
<pre id="log"></pre>
<script>
  // This shouldn't be needed, but otherwise Fenix doesn't show the tooltip on
  // longpress...
  document.querySelector("a").href = location.href;

  function logSize() {
    log.innerText += window.innerWidth + "x" + window.innerHeight + "\n";
  }
  logSize();
  onresize = logSize;
</script>

(Hosted at https://crisal.io/tmp/gecko-mobile-resize.html for convenience)

Right now on trunk, when you click the link from GVE or Fenix, we're only
getting an initial size of 0x0 (which is not great, btw), and only after first
paint we get the real device size, but content doesn't get a resize event.

This is obviously wrong, every time the layout viewport changes we should fire
resize events.

Pages that get opened in new tabs and get refreshed when resized may get an
extra reload with this approach, but this seems not avoidable unless widget sets
the viewport size right in advance (which from discussion with snorp and agi
doesn't seem possible in the general case).

What used to happen is that we were triggering a redundant resize reflow from
the initial paint which didn't update the layout viewport (because the content
viewer and co had the right viewport from the previous navigation).

Now that we optimize those away, I think our behavior should be correct.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 19:35:29 +00:00
Emilio Cobos Álvarez 848d89d65f Bug 1583534 - Further simplify PresShell::ResizeReflow. r=botond
In particular, not let ResizeReflow take the old and new size. Most of the
callers pass dummy values anyway.

Instead, use the old size of the layout viewport. This ensures we fire resize
events only if the layout viewport actually changes.

This is important because the first resize of the mobile viewport manager
after a navigation has an "old size" of 0x0, even though the layout viewport
is initialized on presshell initialization to the right size.

Thus, we fire resize events unnecessarily in that case, which is the root cause
for bug 1528052.

To do this, we need to shuffle a bit of code in nsDocumentViewer that deals with
delayed resizes, to set the visible area _and_ invalidate layout, rather than
setting the visible area and _then_ relying on doing a resize reflow.

Further cleanup is possible, though not required for my android resizing fix, so
will do separately.

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

--HG--
extra : moz-landing-system : lando
2019-09-25 19:12:44 +00:00
Emilio Cobos Álvarez 28b566cf8f Bug 1575138 - Do not schedule reconstruction for <slot> if there's no fallback. r=smaug
Just realized that we probably want this too.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 15:13:34 +00:00
Emilio Cobos Álvarez 45f30e1d19 Bug 1575138 - Don't bother scheduling a reconstruct on <slot>s that have no fallback. r=smaug
So basically what's going on is that we remove all children from the popup here:

  https://searchfox.org/mozilla-central/rev/153feabebc2d13bb4c29ef8adf104ec1ebd246ae/browser/base/content/browser-places.js#687

This makes us schedule a reconstruct of the slot, in case it has fallback
content:

  https://searchfox.org/mozilla-central/rev/153feabebc2d13bb4c29ef8adf104ec1ebd246ae/dom/base/ShadowRoot.cpp#616

Then we insert frames for the items. They get inserted right away, because we
don't support lazy frame construction for XUL:

  https://searchfox.org/mozilla-central/rev/153feabebc2d13bb4c29ef8adf104ec1ebd246ae/layout/base/nsCSSFrameConstructor.cpp#6507

If this was normal HTML content, the insertion would've been lazy, and no
reconstruct would've happened.

The right fix is to support lazy frame construction for XUL. Now that there's
very little XBL it should be possible. This fixes it but it's a kind-of stop-gap
solution.

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

--HG--
extra : moz-landing-system : lando
2019-09-24 00:03:39 +00:00
Geoff Brown b0e5901c93 Bug 1582884 - Enable some crashtests on Android; r=geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D46784

--HG--
extra : moz-landing-system : lando
2019-09-24 01:12:09 +00:00
arthur.iakab b6a627c094 Merge inbound to mozilla-central. a=merge
--HG--
extra : amend_source : 39c72a7f01f9afa5abf7587d732d1e63969cc9da
2019-09-21 13:00:40 +03:00
Dorel Luca f5e74811ca Merge mozilla-central to mozilla-inbound 2019-09-21 00:58:45 +03:00
Kris Maglione 685d91c901 Bug 1553804: Part 6 - Fix chrome mochitests which open chrome windows with content openers. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D45828

MANUAL PUSH: Cannot update reopened Phabricator revisions.

--HG--
extra : source : 86b3d469b4ff9f22e5757f83450b956a4c769785
extra : histedit_source : 2bf945343632b15eb79cf6b2ddd3ce097ddf70de%2Caec93d9f11bc1c802b63793cd5818530b64e9b4b
2019-09-20 10:18:15 -07:00
Daniel Varga f0411a344a Backed out 6 changesets (bug 1553804) for browser-chrome failure at browser/base/content/test/general/browser_fullscreen-window-open.js. On a CLOSED TREE
Backed out changeset 86b3d469b4ff (bug 1553804)
Backed out changeset 301e0d883a5f (bug 1553804)
Backed out changeset acff4a663671 (bug 1553804)
Backed out changeset 1574aecf3177 (bug 1553804)
Backed out changeset 3acf056e792e (bug 1553804)
Backed out changeset 1ed250faeb2e (bug 1553804)
2019-09-20 10:09:54 +03:00
Timothy Nikkel 11f08f8ac2 Bug 1582288. Don't get the display port in nsLayoutUtils::SetDisplayPortMargins when we don't need it because we don't have a frame. r=botond
It will generate a warning and is useless as explained in the code comment.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 18:36:30 +00:00
Edgar Chen 5bc0854d2b Bug 1578355 - Part 1: Move user-activation code from EventStateManager to UserActivation; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45168

--HG--
extra : moz-landing-system : lando
2019-09-20 20:51:25 +00:00
Hiroyuki Ikezoe 8bec65b647 Bug 1541256 - Returns an empty screen rect from GetFrameVisibleRectOnScreen if the given nsIFrame is in out-of-process even if the corresponding iframe is totally invisbile. r=tnikkel
We need to distinguish between the out-of-process iframe is totally invisible and
the given nsIFrame is not in out-of-process iframes.

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

--HG--
extra : source : fc785139655e3d22d681f1419bd4c80f93460f0e
2019-09-20 11:33:00 +00:00
Jonathan Kew 9d6bf431e5 Bug 1580690 - Ensure src:local() entries in the user font set are refreshed if the platform font list is rebuilt. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D46580

--HG--
extra : moz-landing-system : lando
2019-09-20 15:24:33 +00:00
Andreea Pavel 1f18f66226 Backed out 2 changesets (bug 1541256) for failing browser_deck_has_out_of_process_iframe.js on a CLOSED TREE
Backed out changeset 691c50b5729a (bug 1541256)
Backed out changeset fc785139655e (bug 1541256)
2019-09-20 18:15:15 +03:00
Kris Maglione 136131d397 Bug 1553804: Part 6 - Fix chrome mochitests which open chrome windows with content openers. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D45828

--HG--
extra : moz-landing-system : lando
2019-09-20 04:44:02 +00:00
Hiroyuki Ikezoe 1329c9e502 Bug 1541256 - Returns an empty screen rect from GetFrameVisibleRectOnScreen if the given nsIFrame is in out-of-process even if the corresponding iframe is totally invisbile. r=tnikkel
We need to distinguish between the out-of-process iframe is totally invisible and
the given nsIFrame is not in out-of-process iframes.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 11:33:00 +00:00
Daniel Varga bc19cdb06d Backed out 3 changesets (bug 1578355) for build bustage at build/src/dom/base/nsSyncLoadService.h:48:21. On a CLOSED TREE
Backed out changeset d50ad759f129 (bug 1578355)
Backed out changeset 339ab54ca471 (bug 1578355)
Backed out changeset 284299dac42c (bug 1578355)
2019-09-20 14:05:12 +03:00
Edgar Chen 5b6fe53148 Bug 1578355 - Part 1: Move user-activation code from EventStateManager to UserActivation; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D45168

--HG--
extra : moz-landing-system : lando
2019-09-20 10:31:55 +00:00
Adam Gashlin 7f498141e7 Bug 1561546 Part 2 - Update theme when nsXPLookAndFeel prefs change. r=dholbert,jmathies
Also causes removing a pref to take effect immediately, and prevents
losing all color pref overrides when the theme changes.

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

--HG--
extra : moz-landing-system : lando
2019-09-19 19:05:01 +00:00
Ting-Yu Lin 977a6275d1 Bug 1582224 - Split SIDEWAYS bit in WritingMode. r=jfkthame,emilio
Currently, there's no way to tell whether the SIDEWAYS bit is set from
`writing-mode:sideways-*` or `writing-mode:vertical-*; text-orientation:sideways;`.
To be able to tell them apart, split SIDEWAYS bits into VERTICAL_SIDEWAYS
and TEXT_SIDEWAYS. This is needed by my proposed solution in bug 1102175.

Also, provide convenience methods related to sideways writing-mode, and replace
obscure checks in the codebase.

Note that we don't have the use cases to distinguish vertical-rl from
sideways-rl in layout, but for the completeness, IsSidewaysLR() is still
defined.

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

--HG--
extra : moz-landing-system : lando
2019-09-19 02:37:14 +00:00
Randall E. Barker 421fb7c1ea Bug 1578947 - Add onFirstContentfulPaint() to GeckoView#ContentDelegate r=geckoview-reviewers,smaug,agi,snorp
Differential Revision: https://phabricator.services.mozilla.com/D46230

--HG--
extra : moz-landing-system : lando
2019-09-18 22:45:30 +00:00
arthur.iakab 798ce0d7f2 Backed out changeset 16f534a22bc6 (bug 1578947) for causing lint failure on ServoCSSPropList.py CLOSED TREE 2019-09-19 00:56:49 +03:00
Randall E. Barker 06b876b520 Bug 1578947 - Add onFirstContentfulPaint() to GeckoView#ContentDelegate r=geckoview-reviewers,smaug,agi,snorp
Differential Revision: https://phabricator.services.mozilla.com/D46230

--HG--
extra : moz-landing-system : lando
2019-09-18 21:37:44 +00:00
Gerald Squelart dc8ac83ba6 Bug 1578329 - Use profiler_can_accept_markers() where appropriate - r=gregtatum
In places where profiler_is_active() was used around a profiler_add_marker() (or
similar) call, replace it with profiler_can_accept_markers().

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

--HG--
extra : moz-landing-system : lando
2019-09-18 01:22:12 +00:00
Boris Chiou 62b0e230d6 Bug 1480665 - Implement the contain flag for ray() function. r=birtles
Basically, the math calculation logic is from the github repo of the spec
author, Eric:
20b7403d85/ray.py (L311-L363)

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

--HG--
extra : moz-landing-system : lando
2019-09-16 23:24:50 +00:00
Boris Chiou 88285c24ba Bug 1480665 - Support ray() in offset-path and make it animatable. r=emilio,birtles
1. Add `generics::motion::OffsetPath`, and use specified `Angle` and
   computed `Angle` to define specified `OffsetPath` and computed `OffsetPath`.
2. Add `ray` function into `OffsetPath`.

We also tweak the degree from 150deg to 135deg in wpt (e.g.
offset-path-ray-001.html and others) to avoid floating point precision issues.
For example:
```
// offset-path: ray(150deg ...);
// offset-distance: 20px;
matrix:
{
  {0.500000 0.866025 0.000000 0.000000},
  {-0.866025 0.500000 0.000000 0.000000},
  {0.000000 0.000000 1.000000 0.000000},
  {10.000000 17.320509 0.000000 1.000000}
}

// rotate(60deg) translate(20px)
matrix:
{
  {0.500000 0.866025 0.000000 0.000000},
  {-0.866025 0.500000 0.000000 0.000000},
  {0.000000 0.000000 1.000000 0.000000},
  {10.000000 17.320507 0.000000 1.000000}
}
```
Their translate parts, 17.320509 vs 17.320507, are almost the same (only
tiny difference), which may cause the reftest failed.

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

--HG--
rename : testing/web-platform/tests/css/motion/offset-path-ray-ref.html => testing/web-platform/tests/css/motion/offset-path-ray-001-ref.html
rename : testing/web-platform/tests/css/motion/offset-path-ray.html => testing/web-platform/tests/css/motion/offset-path-ray-001.html
rename : testing/web-platform/tests/css/motion/offset-path-ray.html => testing/web-platform/tests/css/motion/offset-path-ray-002.html
rename : testing/web-platform/tests/css/motion/offset-path-ray.html => testing/web-platform/tests/css/motion/offset-path-ray-003.html
rename : testing/web-platform/tests/css/motion/offset-path-ray.html => testing/web-platform/tests/css/motion/offset-path-ray-004.html
rename : testing/web-platform/tests/css/motion/offset-path-ray.html => testing/web-platform/tests/css/motion/offset-path-ray-005.html
rename : testing/web-platform/tests/css/motion/offset-path-ray.html => testing/web-platform/tests/css/motion/offset-path-ray-006.html
rename : testing/web-platform/tests/css/motion/offset-path-ray.html => testing/web-platform/tests/css/motion/offset-path-ray-007.html
extra : moz-landing-system : lando
2019-09-16 23:24:48 +00:00
Bogdan Tara 361c83c1a9 Backed out 21 changesets (bug 1578327, bug 1575448, bug 1580091, bug 1576554, bug 1581049, bug 1576551, bug 1578329, bug 1576555) for platform.cpp related bustage CLOSED TREE
Backed out changeset 27afea20c396 (bug 1581049)
Backed out changeset be1ec4577d37 (bug 1581049)
Backed out changeset b4b6bbb18cc1 (bug 1581049)
Backed out changeset b30942f9db54 (bug 1581049)
Backed out changeset 473c431866f7 (bug 1578329)
Backed out changeset ac492dc3df20 (bug 1578329)
Backed out changeset f51875652f6f (bug 1578327)
Backed out changeset 512b7cbd18f6 (bug 1576555)
Backed out changeset 2d63a9934c00 (bug 1576555)
Backed out changeset ff73f648ab6c (bug 1576555)
Backed out changeset 49f49079bbb5 (bug 1576555)
Backed out changeset e8323157c6f3 (bug 1575448)
Backed out changeset 3b0d726f2dd6 (bug 1575448)
Backed out changeset 5924790abc4b (bug 1576554)
Backed out changeset a14ac9bb5338 (bug 1576554)
Backed out changeset b6d73f5042a7 (bug 1576551)
Backed out changeset 366030bd2d84 (bug 1576551)
Backed out changeset d7ee4148aad9 (bug 1576551)
Backed out changeset ec72dfc7301e (bug 1576551)
Backed out changeset 79b29286f906 (bug 1580091)
Backed out changeset 6f34c2e57ccf (bug 1580091)
2019-09-17 10:16:14 +03:00
Gerald Squelart 6b49069f3e Bug 1578329 - Use profiler_can_accept_markers() where appropriate - r=gregtatum
In places where profiler_is_active() was used around a profiler_add_marker() (or
similar) call, replace it with profiler_can_accept_markers().

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

--HG--
extra : moz-landing-system : lando
2019-09-17 01:53:56 +00:00
Emilio Cobos Álvarez ff890f406e Bug 1579788 - Don't update validity state when the JS engine fails to execute the pattern. r=smaug
When we call nsContentUtils::IsPatternMatching, we swallow JS engine errors
unconditionally returning true.

This is bad, because if it happens in one of the value sets that arguably
shouldn't change the state of the element, we end up returning an arbitrary
value (true) which may or may not match the previous state of the element.

Handle error explicitly instead, by not updating the state.

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

--HG--
extra : moz-landing-system : lando
2019-09-16 10:11:42 +00:00
Botond Ballo 88ed171110 Bug 1577859 - Additional post container scrolling removal cleanup in Layout code. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D45596

--HG--
extra : moz-landing-system : lando
2019-09-15 21:51:41 +00:00
Botond Ballo 3a1c85bca4 Bug 1577859 - Remove the layout.scroll.root-frame-containers pref and code that depends directly on it. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D45198

--HG--
extra : moz-landing-system : lando
2019-09-15 17:01:22 +00:00
Andrew Osmond fce484c34f Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-14 16:17:04 +00:00
Ciure Andrei a4046ec458 Backed out 6 changesets (bug 1574493) for causing nested-sticky-2.html to perma fail CLOSED TREE
Backed out changeset 358746636448 (bug 1574493)
Backed out changeset 34aef5498237 (bug 1574493)
Backed out changeset 1f88e2031c76 (bug 1574493)
Backed out changeset 07c588b5ea10 (bug 1574493)
Backed out changeset 0685e8d3510e (bug 1574493)
Backed out changeset 15d4390220c4 (bug 1574493)
2019-09-13 19:26:50 +03:00
Jonathan Kew 4118072885 Bug 1578154 - Ensure all device contexts flush their nsFontCache when the platform font list is reinitialized. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D45432

--HG--
extra : moz-landing-system : lando
2019-09-13 14:49:36 +00:00
Andrew Osmond 25866edb78 Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 14:03:23 +00:00
Ciure Andrei 8c3feea58a Backed out 6 changesets (bug 1574493) for causing nested-sticky-1.html to perma fail CLOSED TREE
Backed out changeset fdc25a90b0ef (bug 1574493)
Backed out changeset 0ce3c48c1f79 (bug 1574493)
Backed out changeset 326b9f96614b (bug 1574493)
Backed out changeset b0817c0aee77 (bug 1574493)
Backed out changeset 70d99c264df9 (bug 1574493)
Backed out changeset e5217ab4b668 (bug 1574493)
2019-09-13 16:17:47 +03:00
Andrew Osmond b2d4e121cb Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-13 10:48:31 +00:00
Emilio Cobos Álvarez 8e44d6c57b Bug 1577258 - Streamline the shrink-wrapping resize reflow code. r=botond
Now that this code path is on its own, we can write more straight-forward code.



Depends on D43799

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

--HG--
extra : moz-landing-system : lando
2019-09-12 21:27:06 +00:00
Emilio Cobos Álvarez f94e56699a Bug 1577258 - Add a simpler resize reflow function for when we're not shrink-wrapping. r=bzbarsky
This is much easier than the existing ResizeReflowIgnoreOverride function, and
this will allow me to avoid flushing if needed (we already kinda do that
already with the "suppressResizeReflow" thing), which in turn allows me to
consolidate a bunch of the logic for resizes.

The function should be much easier to follow:

 * Set the new viewport (async, doesn't do any work).
 * Invalidate layout as needed due to the viewport change (that is, resize hint
   for the root frame, and invalidate isizes if needed). Also async and doesn't
   do any reflowing itself.
 * Flush layout / do the reflowing all at once. I think we can stop doing this
   much more often now, but that's follow-up work.



Depends on D43798

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

--HG--
extra : moz-landing-system : lando
2019-09-13 00:21:04 +00:00
Brad Werth 6a3833ac40 Bug 1567310 Part 2: Make GeometryUtils::GetBoxQuads suppress whitespace frames when requested. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D45118

--HG--
extra : moz-landing-system : lando
2019-09-12 19:05:32 +00:00
Gurzau Raul fe4bb6d539 Backed out 6 changesets (bug 1574493) for wrench failures at stacking-context-clip.yaml on a CLOSED TREE.
Backed out changeset 8a8736ac4e25 (bug 1574493)
Backed out changeset 4a3294e88823 (bug 1574493)
Backed out changeset 0c26ecdc1ddc (bug 1574493)
Backed out changeset 11257f7b3ad3 (bug 1574493)
Backed out changeset dcedc286ad9d (bug 1574493)
Backed out changeset 87f216e0753d (bug 1574493)
2019-09-12 18:34:07 +03:00
Andrew Osmond 320cbbf828 Bug 1574493 - Part 3. Stop rounding rects/clips during display list building. r=jrmuizel
Rounding in layout pixels is very close to snapping in raster pixels if
there are no transforms involved. This is why it worked most of the time
and fell flat in many edge cases. In future parts of this series, we
will trust scene building and frame building to do the heavy lifting for
snapping purposes.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 12:42:41 +00:00
Sylvestre Ledru e79e716c67 Bug 1577236 - clang-10: Fix -Wimplicit-int-float-conversion warnings in /layout/ r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D43784

--HG--
extra : moz-landing-system : lando
2019-09-12 12:32:12 +00:00
Emilio Cobos Álvarez ebe6e6fb2d Bug 1579788 - Downgrade a few assertions in beta / release as to avoid crashing there. r=masayuki
This is the only short-term fix for now until we fix editor or find a
test-case...

This will keep asserting on Nightly, but the correctness issue it'd show in
release (some pseudo-classes not matching) is better than crashing.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 08:46:27 +00:00
Hiroyuki Ikezoe 8c9bd09b43 Bug 1541705 - Introduce nsLayoutUtils::FrameIsMostlyScrolledOutOfViewInCrossProcess. r=botond
This will be used for accessibility stuff.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 08:09:09 +00:00
Hiroyuki Ikezoe 0eeb21e17f Bug 1541705 - Introduce nsLayoutUtils::FrameIsScrolledOutOfViewInCrossProcess and use it for the check whether animating element is scrolled out of view or not. r=botond,boris
Differential Revision: https://phabricator.services.mozilla.com/D44421

--HG--
extra : moz-landing-system : lando
2019-09-12 08:08:57 +00:00
Ting-Yu Lin c5276e94a3 Bug 1580576 - Remove an assertion to check <details> element's frame type when reframing. r=emilio
If a <details> is a multi-column container, and has a column-span child
inside, aFrame can be ColumnSetWrapper or column-span-wrapper frame (due
to GetInsertionPrevSibling()'s modification). The latter case is handled
by "Situation #5 in WipeContainingBlock(), and can be reproduced by
changing `<article>` tag to `<details>` in
testing/web-platform/tests/css/css-multicol/multicol-span-all-dynamic-add-005.html

In any case, aFrame might end up in a frame generated by the <details>
element. I feel the assertion to check frame types might not be very
useful. Let's remove it.

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

--HG--
extra : moz-landing-system : lando
2019-09-11 21:52:40 +00:00
shindli ce58db2119 Backed out changeset 9ef1dd77e6b2 (bug 1561546) for causing frequent failures in dom/animation/test/mozilla/test_restyles.html CLOSED TREE 2019-09-11 23:21:46 +03:00
Adam Gashlin 28fa13a2e5 Bug 1561546 - Update theme when nsXPLookAndFeel prefs change. r=dholbert,jmathies
Also causes removing a pref to take effect immediately, and prevents
losing all color pref overrides when the theme changes.

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

--HG--
extra : moz-landing-system : lando
2019-09-11 18:35:44 +00:00
Mihai Alexandru Michis 95b09298a4 Backed out changeset 7876583b2407 (bug 1577236) for causing failures in calc-rounding-001.html CLOSED TREE 2019-09-11 18:48:22 +03:00
Sylvestre Ledru 3029c376ad Bug 1577236 - clang-10: Fix -Wimplicit-int-float-conversion warnings in /layout/ r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D43784

--HG--
extra : moz-landing-system : lando
2019-09-11 13:50:36 +00:00
Ting-Yu Lin b50d29b125 Bug 1579953 - Check details element to determine whether to reframe. r=emilio
If the <details> has ::first-letter, insertion.mParentFrame may be
modified by GetInsertionPrevSibling(), and points to nsFirstLetterFrame.

Fortunately, nsFirstLetterFrame's content is the details element. We can
check the content to determine if reframing the <details> is needed.

Also, add a reftest to test that an appended text should apply styles in
details::first-line.

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

--HG--
extra : moz-landing-system : lando
2019-09-11 00:04:26 +00:00
Ting-Yu Lin b1502de9ca Bug 1523582 Part 2 - Make -moz-column-content a BFC when column-span is enabled. r=dbaron
Based on CSS working group's resolution in
https://github.com/w3c/csswg-drafts/issues/2582#issuecomment-402619872,
column-boxes are BFC.

Add NS_BLOCK_FORMATTING_CONTEXT_STATE_BITS to -moz-column-content, but
only for the new multicol layout.

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

--HG--
extra : moz-landing-system : lando
2019-09-09 17:42:12 +00:00
Ting-Yu Lin b8fee8f71c Bug 1308587 Part 2 - Remove -moz prefix for all multi-column properties in testing and css files. r=dholbert
This patch is generated by the following script:

```
function remove_column_prefix() {
    echo "Renaming $1 to $2"
    find .\
         -type f\
         ! -path "./obj*"\
         ! -path "./.git"\
         ! -path "./.hg"\
         \( -name "*.html" -or\
            -name "*.xhtml" -or\
            -name "*.xht" -or\
            -name "*.xul" -or\
            -name "*.xml" -or\
            -name "*.css"  \)\
            -exec sed -i -e "s/$1/$2/g" "{}" \;
}

remove_column_prefix "-moz-columns" "columns"
remove_column_prefix "-moz-column-width" "column-width"
remove_column_prefix "-moz-column-count" "column-count"
remove_column_prefix "-moz-column-fill" "column-fill"
remove_column_prefix "-moz-column-gap" "column-gap"
remove_column_prefix "-moz-column-rule" "column-rule"
remove_column_prefix "-moz-column-rule-width" "column-rule-width"
remove_column_prefix "-moz-column-rule-color" "column-rule-color"
remove_column_prefix "-moz-column-rule-style" "column-rule-style"

```

Note: after running the above script, I reverted one minor change to the
file multicol-nested-column-rule-001.xht in the theoretically read-only
directory layout/reftests/w3c-css/received/css-multicol/.

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

--HG--
extra : moz-landing-system : lando
2019-09-05 21:37:32 +00:00
Ting-Yu Lin f0a1298eaa Bug 1308587 Part 1 - Manually remove "-moz" prefixed multi-column properties in some tests. r=dholbert
In the next part, the patch generated by a script removes "-moz" prefix
to all multi-column properties.

However, some of the tests already have standard multi-column properties
specified. To avoid duplicating CSS multi-column rules in these
files (after applying the next part), I manually remove the prefixed
rules beforehand as many as possible.

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

--HG--
extra : moz-landing-system : lando
2019-09-05 21:32:05 +00:00
Gijs Kruitbosch 9f3a3e9669 Bug 1578709 - Only set flash only pref for those tests that need it, r=mconley,ahal
Differential Revision: https://phabricator.services.mozilla.com/D44648

--HG--
extra : moz-landing-system : lando
2019-09-04 22:12:39 +00:00
Gurzau Raul f96e9cd73f Backed out changeset 887d125d7f59 (bug 1578709) for failing at test_bug427744.html on a CLOSED TREE. 2019-09-04 21:34:11 +03:00
Gijs Kruitbosch bb899238e7 Bug 1578709 - Only set flash only pref for those tests that need it, r=mconley,ahal
Differential Revision: https://phabricator.services.mozilla.com/D44648

--HG--
extra : moz-landing-system : lando
2019-09-04 17:28:02 +00:00
Tom Ritter 0aa6e0e7e7 Bug 1577642 - Move the timestamp rounding outside of the loop so it's only reduced once r=birtles
When we had it in the loop, we would continually reduce it, which held the
possibility of bumping it down an epoch due to double imprecision. Now
we only reduce it once, using all rAF callbacks get the same timestamp.

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

--HG--
extra : moz-landing-system : lando
2019-09-03 22:38:45 +00:00
Gerald Squelart 95f77c2409 Bug 1576819 - Use PROFILER_ADD_MARKER{,_WITH_PAYLOAD} everywhere - r=gregtatum
All calls to `profiler_add_marker()` (outside of the profilers code) are
now replaced by either:
- `PROFILER_ADD_MARKER(name, categoryPair)`
- `PROFILER_ADD_MARKER_WITH_PAYLOAD(name, categoryPair, TypeOfMarkerPayload,
                                    (payload, ..., arguments))`

This makes all calls consistent, and they won't need to prefix the category pair
with `JS::ProfilingCategoryPair::`.

Also it will make it easier to add (and later remove) internal-profiling
instrumentation (bug 1576550), and to replace heap-allocated payloads with
stack-allocated ones (bug 1576555).

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

--HG--
extra : moz-landing-system : lando
2019-09-04 07:56:51 +00:00
Emilio Cobos Álvarez d5bc03b6f0 Bug 1578295 - Use cbindgen for counters. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D44403

--HG--
extra : moz-landing-system : lando
2019-09-02 23:11:26 +00:00
L. David Baron a08b5323cb Bug 1576972 - Keep lastRealFrame up-to-date even when we skip empty text frames. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D43885

--HG--
extra : moz-landing-system : lando
2019-08-29 10:14:08 +00:00
Tom Ritter 7f0055c7a2 Bug 1577243 - Unconditionally clamp the requestAnimationFrame timestamp (and clamp/jitter it in RFP mode) r=birtles
In Bug 1387894 we created a mode for Firefox where it unconditionally clamps all timestamps to 20 microseconds. This happens if you disable privacy.reduceTimerPrecision (which is on by default) and is so we don't inadvertently leak super-high-resolution (nanosec) timestamps.

As part of that patch, we started clamping animation timestamps - which are exempted from privacy.reduceTimerPrecision because it was too difficult to get them working at the time. (We should still fix that though.)

This caused new test failures, and one of those was a comparison between document timelines and the timestamp in requestAnimationFrame. we were not clamping the timestamp in requestAnimationFrame under the logic that it fires in predictable intervals.

However discussions about the WPT change we made to 'fix' the now-broken comparison https://github.com/web-platform-tests/wpt/pull/18172 and https://github.com/web-platform-tests/wpt/pull/18357 showed me that document.timeline is supposed to be slaved to the requestAnimationFrame timestamp (or vice versa.)

The correct fix is therefore to unconditionally clamp the requestAnimationFrame timestamp AND the document.timeline timestamp. In doing so we also start clamping/jittering the requestAnimationFrame timestamp in Resist Fingerprinting mode, so that might cause some new/unexpected behaviors for that mode we should watch out for.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 23:44:07 +00:00
Emilio Cobos Álvarez 0ec0984d05 Bug 1577258 - early-return for noop resizes. r=botond
This avoids doing wasted work and sending spurious resize
events if this case would be hit.

In practice, it cannot be hit yet, I think, because
callers do check for this and bail out earlier. But
there's no assertion to that respect so this shouldn't
hurt.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 22:03:26 +00:00
Andrew Creskey 7134be5031 Bug 1575938 Convert dom/JSEnvironment GC timing constants to StaticPref r=edgar
Converted the following to StaticPrefs so that we can easily test variations:

NS_GC_DELAY
NS_SHRINK_GC_BUFFERS_DELAY
NS_FIRST_GC_DELAY
NS_FULL_GC_DELAY
NS_INTERSLICE_GC_DELAY

NS_USER_INTERACTION_INTERVAL

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

--HG--
extra : moz-landing-system : lando
2019-08-26 15:51:01 +00:00
Mats Palmgren 9adf43a616 Bug 1576355 - Don't try to optimize position style changes for rel.pos. grid items. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D43387

--HG--
extra : moz-landing-system : lando
2019-08-26 20:00:35 +00:00
Ting-Yu Lin 40da910325 Bug 1575106 Part 4 - Add reftests, crashtests, and adjust test expectations. r=dbaron
1346454-1.html and 1346454-2.html are moved to keep the list sorted.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 06:10:34 +00:00
Jonathan Kew 39041986c7 Bug 1575908 - Remove spurious code trying to reinitialize a propertyProvider. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D43261

--HG--
extra : moz-landing-system : lando
2019-08-23 15:49:28 +00:00
Emilio Cobos Álvarez a3278b6dad Bug 1575806 - Cleanup a bit preference-stylesheet-related code. r=heycam
Some of it was dead code, another was inlining a not very useful function (and
in one case redundant, since EnsureInitialized() happened right after
Refresh()).

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

--HG--
extra : moz-landing-system : lando
2019-08-22 23:15:13 +00:00
Botond Ballo 52a4f25b4b Bug 1573014 - Early-exit ShrinkToDisplaySizeIfNeeded() in reader mode. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D42967

--HG--
extra : moz-landing-system : lando
2019-08-21 23:33:14 +00:00
Randall E. Barker f906c88052 Bug 1575694 - Short circuiting the refresh driver in WebVR immersive mode on Android break the MediaRecorder r=mstange
Rather than short circuit the refresh driver, this instead only bypasses painting on
Android when WebVR is in immersive mode.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 22:41:56 +00:00
Mike Hommey 66d7fe943e Bug 1575420 - Replace MOZ_WIDGET_TOOLKIT value of "gtk3" with "gtk". r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D42765

--HG--
extra : moz-landing-system : lando
2019-08-21 12:25:42 +00:00
Kristen Wright b94d261b88 Bug 1572529 - Remove vsync.parentProcess.highPriority . r=smaug
Removes vsync.parentProcess.highPriority pref and stores BrowserTabsRemoteAutostart() directly into sHighPriorityEnabled.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 21:54:58 +00:00
Botond Ballo 9d1532ac71 Bug 1575093 - Ensure initial-scale in a meta viewport tag is respected. r=hiro
Differential Revision: https://phabricator.services.mozilla.com/D42949

--HG--
extra : moz-landing-system : lando
2019-08-21 22:00:43 +00:00
Dan Glastonbury 41fff20f69 Bug 1571612 - P2: Collect flush req and flush telemetry. r=heycam
Collect telemetry for the number of pending style and layout flush requests per
flush and the number of style and layout flushes per nsRefreshDriver::Tick.  A
style flush reports only style requests, but a layout flush reports style and
layout requests since flushing layout implies a style flush also.

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

--HG--
extra : moz-landing-system : lando
2019-08-21 01:43:30 +00:00
Dan Glastonbury d87e8fd612 Bug 1571612 - P1: Split FlushType::Style and FlushType::Frame. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40755

--HG--
extra : moz-landing-system : lando
2019-08-07 03:51:20 +00:00
Mats Palmgren dd5a04bc1d Bug 1574552 - Push float/abs.pos. CB for 'block ruby' as needed. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D42701

--HG--
extra : moz-landing-system : lando
2019-08-20 21:28:01 +00:00
Mats Palmgren acbd6a2b96 Bug 1574994 part 2 - Remove display:-moz-inline-grid/-moz-inline-stack. r=emilio
Depends on D42551

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

--HG--
extra : moz-landing-system : lando
2019-08-19 21:19:04 +00:00
Mats Palmgren 2525944e34 Bug 1574994 part 1 - Remove/replace display:-moz-inline-grid and -moz-inline-stack in tests. r=emilio
I replaced the values with -moz-inline-box in the crashtests
rather than removing them.  I think they are still valuable
after replacing the display value.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 21:19:04 +00:00
Botond Ballo 4232079a25 Bug 1565525 - Add helper functions to make working with Maybe<Matrix> easier. r=hsivonen
Differential Revision: https://phabricator.services.mozilla.com/D42564

--HG--
extra : moz-landing-system : lando
2019-08-20 06:36:01 +00:00
Emilio Cobos Álvarez bfcf9b881b Bug 1574544 - Remove now-unnecessary condition that makes the frame constructor get confused with editor anonymous nodes. r=mats
This condition was needed when FindInsertionPrevSibling and co didn't understand
display: contents.

Editor is pretty broken (and calls into PresShell::ContentRemoved directly, and
incorrectly, using anonymous nodes).

In this case we were taking the XBL path because of display: contents, which
means that we tried to seek to the editor anonymous node, and crash (since it's
not an explicit kid).

Editor needs to get fixed, but this is technically more correct and fixes the
crash, so we may as well take it in the interim.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 12:16:28 +00:00
Masayuki Nakano cf0604278c Bug 1564639 - Make `BrowserParent` use `nsPresContext::GetRootWidget()` when handling IME related messages r=hsivonen
When contents notify IME or requests something to IME, they need to use
an `nsIWidget` instance which may have focus if active, and handles
native keyboard/IME events since that knows correct native IME context.

Currently, such widget exactly matches with the result of
`nsPresContext::GetRootWidget()`.  However, this is unclear for most developers.
Therefore, this patch creates a wrapper method of it named
`nsPresContext::GetTextInputHandlingWidget()`.  Then, also adds
`BrowserParent::GetTextInputHandlingWidget()` wraps it.  Finally, makes
`IMEStateManager` call `GetTextInputHandlingWidget()` of them.

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

--HG--
extra : moz-landing-system : lando
2019-08-19 08:27:32 +00:00
Emilio Cobos Álvarez ac2f80304e Bug 1568536 - Don't propagate viewport styles from display: none or display: contents elements. r=dholbert
Resolution is at:

 * https://github.com/w3c/csswg-drafts/issues/3779#issuecomment-481762912

Tests are at https://chromium-review.googlesource.com/c/chromium/src/+/1547974,
I'll make sure to wait until they're in the tree and ensure they're passing.

Note that we need to ensure in the frame constructor that the document element
is styled _before_ calling UpdateViewportScrollStylesOverride(). This saves
duplicated work (since ResolveStyleLazily throws away the style).

ResolveStyleLazily already returns out of date styles, unless the element is not
styled yet, or is in a `display: none` subtree, in which case it computes and
returns a new (up-to-date) style.

So the switch to the FFI call only should change behavior for the display: none
subtree case (since we ensure the unstyled case isn't hit by styling the
document earlier). But that case is one of the cases we're interested in
changing, conveniently.

Depends on D40080

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

--HG--
extra : moz-landing-system : lando
2019-08-16 11:43:36 +00:00
Emilio Cobos Álvarez a03875ef63 Bug 1568536 - Simplify some style system APIs. r=heycam
Return a raw pointer instead of a strong reference to a ComputedStyle, and
handle the case of the style not being present by returning null rather than
requiring an extra function to check it and crashing if the precondition is not
met.

Also, name them so that it's clear they just return outdated styles and don't
make any extra effort.

This is just cleanup that makes the next patch easier / more obvious.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 05:59:03 +00:00
Emilio Cobos Álvarez 6779b66f01 Bug 1571530 - Remove various bool arguments in sheet loader APIs. r=heycam
They're bad, specially if they do vastly different thing in overloaded
functions, like aUseSystemPrincipal and aIsPreload. :)

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

--HG--
extra : moz-landing-system : lando
2019-08-16 10:56:05 +00:00
Emilio Cobos Álvarez 2353359865 Bug 1571530 - Make Loader APIs return a Result. r=heycam
On the fence on this one, but I do think it's nicer.

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

--HG--
extra : moz-landing-system : lando
2019-08-16 10:56:03 +00:00
Mats Palmgren 1f1f009b71 Bug 1574060 - Implement layout for 'display: flow-root list-item'. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D42087

--HG--
extra : moz-landing-system : lando
2019-08-16 06:30:24 +00:00
Emilio Cobos Álvarez d8298290d7 Bug 1574101 - Use the right parent frame for `block ruby` if it's out of flow. r=mats
I should've caught this when reviewing, in fairness.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 22:21:35 +00:00
Daniel Holbert 0a772dbcbb Bug 1574310: clang-reformat the layout directory. (no review, just doing automated reformatting)
This patch is auto-generated by the following command:
./mach clang-format -p layout/

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

--HG--
extra : moz-landing-system : lando
2019-08-15 22:13:49 +00:00
Noemi Erli 7244716bb5 Backed out changeset 4d8eb840fc2e (bug 1574101) so it can reland without unrelated reformatting changes r=dholbert CLOSED TREE 2019-08-16 01:00:14 +03:00
Emilio Cobos Álvarez ad39790be6 Bug 1574101 - Use the right parent frame for `block ruby` if it's out of flow. r=mats
I should've caught this when reviewing, in fairness.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 21:14:34 +00:00
Ting-Yu Lin 206960605d Bug 1569701 Part 2 - Use ColumnSetWrapper's effective computed content block-size to impose constraint for ColumnSet. r=dbaron
Run broken-column-rule-1.html with column-span enabled because it was
regressed by Bug 1548100 Part 2, but fixed by this patch.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 16:59:13 +00:00
Emilio Cobos Álvarez 4f6b095d76 Bug 1573907 - Make non-list-items not increment the start value for <ol reversed>. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D42084

--HG--
extra : moz-landing-system : lando
2019-08-15 09:54:21 +00:00
Emilio Cobos Álvarez 7a80495d54 Bug 1573907 - Fix interaction of <li value> inside <ol reversed>. r=mats
The counting code was incrementing the start counter twice for <li value>, as it
generates both an increment and a reset.

We should instead only increment it once per list-item, that is, once per
increment.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 09:52:28 +00:00
Timothy Nikkel 2a4e690cf4 Bug 1574016. Fix logic error in patch from bug 1547277. r=bradwerth
The fixed still worked because we get another SetBounds call right after with the same bounds. But it does mean we are doing some useless invalidation.

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

--HG--
extra : moz-landing-system : lando
2019-08-15 01:28:11 +00:00
Kristen Wright 87723c635c Bug 1573268 - Convert layout.css.outline-style-auto.enabled to static pref. r=njn
Converts layout.css.outline-style-auto.enabled to a static pref and removes nsLayoutUtils::isOutlineStyleAutoEnabled().

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

--HG--
extra : moz-landing-system : lando
2019-08-14 00:26:02 +00:00
Kristen Wright 6bfb2c7c85 Bug 1573268 - Convert two layout.idle-period.* prefs to static prefs. r=njn
Converts layout.idle_period.required_quiescent_frames and layout.idle_period.time_limit to static prefs. These are the last prefs in nsLayoutUtils::initialize(), but since the function still calls nsComputedDOMStyle::RegisterPrefChangeCallbacks() the commit retains it.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 19:36:46 +00:00
Kristen Wright 61d69ccebf Bug 1573268 - remove the varcache definition for svg.transform-box.enabled. r=njn
svg.transform-box.enabled is already a static pref, so I removed the varcache definition of it in nsLayoutUtils.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 00:17:04 +00:00
Kristen Wright e1e114c69d Bug 1573268 - Convert layout.interruptible-reflow.enabled to static pref. r=njn
Converts layout.interruptible-reflow.enabled to a static pref and updates its usage.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 00:01:27 +00:00
Kristen Wright 0766a7b011 Bug 1573268 - Convert nglayout.debug.invalidation to static pref. r=njn
Converts nglayout.debug.invalidation to a static pref. Retains the old getter function from the old static bool, because it makes an additional comparison.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 23:47:48 +00:00
Kristen Wright 49185e9481 Bug 1573268 - Convert zoom.maxPercent and zoom.minPercent to static prefs. r=njn
Converts zoom.maxPercent and zoom.minPercent to static prefs, which creates a new "zoom" category on StaticPrefList.yaml.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 18:29:55 +00:00
Kristen Wright 1e91da4122 Bug 1573268 - Convert font.size.systemFontScale to static pref. r=njn
Converts font.size.systemFontScale to a static pref. Removes the function in nsLayoutUtils and does the float division directly in PresShell.

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

--HG--
extra : moz-landing-system : lando
2019-08-14 18:27:11 +00:00
kriswright cccb97beb8 Bug 1573268 - Convert two font.size.inflation.* prefs to static prefs. r=njn
Converts font.size.inflation.forceEnabled and font.size.inflation.disabledInMasterProcess to static prefs. Like previous revisions, I retained the member variables in PresShell and set them to the static prefs.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 20:15:52 +00:00
kriswright 1774881905 Bug 1573268 - Convert font.size.inflation.lineThreshold to a static pref. r=njn
Converts font.size.inflation.lineThreshold varcache pref to a static pref. Like previous revisions, this retains the member variable in PresShell.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 18:23:54 +00:00
kriswright 6a396a8167 Bug 1573268 - Convert 3 font.size.inflation.* prefs to static prefs. r=njn
Converts font.size.inflation.minTwips, font.size.inflation.emPerLine, and font.size.inflation.mappingIntercept to static prefs and removes their associated functions from nsLayoutUtils. There are associated member variables in PresShell, but since documentation specified that these variables are set specifically to prevent changes to the cache from being read until page reload, I made the decision to leave these and set them to the static prefs.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 18:19:33 +00:00
kriswright c562d89e13 Bug 1573268 - Convert font.size.inflation.maxRatio to static pref. r=njn
Creates the new 'font' category in StaticPrefList.yaml and adds font.size.inflation.maxRatio to the category. Removes the old static uint in nsLayoutUtils and the function that returns it.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 00:07:32 +00:00
kriswright 2809ff7952 Bug 1573268 - Convert layout.css.ruby.intercharacter.enabled to static pref. r=njn
Converts layout.css.ruby.intercharacter.enabled to a static pref and removes the associated function nsLayoutUtils::IsInterCharacterRubyEnabled(). Also removes the macro INTERCHARACTER_RUBY_ENABLED_PREF_NAME, since it was only being used to add the varcache pref.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 22:52:38 +00:00
kriswright 6c57b2f2a8 Bug 1573268 - Convert layout.animated-image-layers.enabled to static pref. r=njn
Converts layout.animated-image-layers.enabled to a static pref and removes the nsLayoutUtils::AnimatedImageLayersEnabled() function, replacing it with the static pref.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 00:03:38 +00:00
kriswright 8c68307d03 Bug 1573268 - Convert two layers.offmainthreadcomposition.* prefs to static prefs. r=njn
Converts layers.offmainthreadcomposition.async-animations and layers.offmainthreadcomposition.log-animations to their respective static prefs. Since all IsAnimationLoggingEnabled() did was create a pref and return the variable sShouldLog, this function is removed and replaced with the static pref.

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

--HG--
extra : moz-landing-system : lando
2019-08-13 00:02:12 +00:00
Mats Palmgren c784db904f Bug 1557825 part 1 - Implement 'display:block ruby'. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D40211

--HG--
extra : moz-landing-system : lando
2019-08-14 14:38:31 +00:00
Mats Palmgren 740cfc08a3 Bug 1105868 part 3 - Implement 'inline list-item' and 'inline flow-root list-item' values for the 'display' property. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39832

--HG--
extra : moz-landing-system : lando
2019-08-14 14:37:03 +00:00
Mats Palmgren be3d9812c0 Bug 1105868 part 2 - Use nsStyleDisplay::DisplayInside() in a few places to prepare for inline list-items. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39831

--HG--
extra : moz-landing-system : lando
2019-08-14 14:36:53 +00:00
Mats Palmgren 2b20df6bd7 Bug 1105868 part 1 - Use nsStyleDisplay::IsListItem() in a few places to prepare for inline list-items. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39830

--HG--
extra : moz-landing-system : lando
2019-08-14 14:36:18 +00:00
Mats Palmgren ba0cd69401 Bug 1038294 part 14 - Use only the DisplayInside() value to decide which type of frame to create. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39766

--HG--
extra : moz-landing-system : lando
2019-08-14 14:35:06 +00:00
Mats Palmgren 71957d35f6 Bug 1038294 part 11 - Remove FindXULDisplayData and handle all display types in FindDisplayData instead. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39763

--HG--
extra : moz-landing-system : lando
2019-08-14 14:34:19 +00:00
Mats Palmgren 759af61998 Bug 1038294 part 10 - Remove dead code that handles display:none/contents which shouldn't reach FindDisplayData. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39762

--HG--
extra : moz-landing-system : lando
2019-08-14 14:34:07 +00:00
Mats Palmgren de9e7a3acd Bug 1038294 part 9 - Move scroll box suppression inside the switch. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39761

--HG--
extra : moz-landing-system : lando
2019-08-14 14:33:46 +00:00
Mats Palmgren fd727f28e4 Bug 1038294 part 8 - Move block box creation inside the switch together with all the other display types. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39760

--HG--
extra : moz-landing-system : lando
2019-08-14 14:33:29 +00:00
Mats Palmgren e2f7eab56a Bug 1038294 part 7 - Move XUL variants of '-moz-{inline-}box' from FindXULDisplayData to FindDisplayData. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39759

--HG--
extra : moz-landing-system : lando
2019-08-14 14:33:16 +00:00
Mats Palmgren 258ea37c13 Bug 1038294 part 6 - Simplify FindDisplayData by removing a now unnecessary lambda. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39758

--HG--
extra : moz-landing-system : lando
2019-08-14 14:32:59 +00:00
Mats Palmgren 0d538941bc Bug 1038294 part 5 - Move an assertion about '-moz-{inline-}box'. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39757

--HG--
extra : moz-landing-system : lando
2019-08-14 14:32:47 +00:00
Mats Palmgren 44c5079b0e Bug 1038294 part 4 - Move an assertion about display:contents to a place where it's not dead code. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39756

--HG--
extra : moz-landing-system : lando
2019-08-14 14:32:40 +00:00
Mats Palmgren 157fb63bbf Bug 1038294 part 3 - Remove UNREACHABLE_FCDATA. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39755

--HG--
extra : moz-landing-system : lando
2019-08-14 14:32:38 +00:00
Mats Palmgren a0e907c286 Bug 1038294 part 2 - Remove FCDATA_FOR_DISPLAY. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39754

--HG--
extra : moz-landing-system : lando
2019-08-14 14:32:36 +00:00
Connor Brewster ec29ea959d Bug 1178765 - Part 4: Force a display list rebuild when backdrop-filter pref is toggled r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D40665

--HG--
extra : moz-landing-system : lando
2019-08-13 22:03:04 +00:00
Botond Ballo 2a775ad1a8 Bug 1523844 Part 5: Add a test case to TestMobileViewportManager. r=bradwerth
Depends on D41104

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

--HG--
extra : moz-landing-system : lando
2019-08-12 22:13:38 +00:00
Brad Werth 960bd36add Bug 1523844 Part 3: Make the MVM set resolution only as an adjustment, not a restore resolution. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D41632

--HG--
extra : moz-landing-system : lando
2019-08-12 22:23:34 +00:00
Brad Werth c9e9805838 Bug 1523844 Part 2: Make MVMContext::SetResolutionAndScaleTo accept a ResolutionChangeOrigin. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D41631

--HG--
extra : moz-landing-system : lando
2019-08-12 22:22:12 +00:00
Brad Werth be668ed4e1 Bug 1523844 Part 1: Rename ResolutionChangeOrigin::MainThreadRestore in anticipation of adding a related enum. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D41625

--HG--
extra : moz-landing-system : lando
2019-08-12 22:21:51 +00:00
Sylvestre Ledru 645f2d5773 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-08-13 07:15:25 +00:00
Cosmin Sabou 58ff25cbdb Merge mozilla-central to autoland. CLOSED TREE 2019-08-10 01:11:17 +03:00
Emilio Cobos Álvarez ca91e4cc05 Bug 1571530 - Cleanup a bit PreloadedStyleSheet construction. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40848
2019-08-09 13:17:12 +02:00
Brendan Dahl b474db77c6 Bug 1551344 - Part 1: Remove XULDocument code. r=smaug,Jamie
All .xul files have been loading as HTMLDocuments for a few weeks now, so
it should be safe to remove the XULDocument implementation.

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

--HG--
extra : moz-landing-system : lando
2019-08-09 19:57:50 +00:00
L. David Baron 85d61d1a95 Bug 1571249 - Remove the IsTableCell() function. r=TYLin
It was made pointless by the previous patch.

This replaces callers that had a frame type for another reason with the
frame type check that IsTableCell did, and callers that needed to call
Type() with an IsTableCellFrame call.

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

--HG--
extra : moz-landing-system : lando
2019-08-08 19:48:12 +00:00
Nika Layzell 143941e2d4 Bug 1523638 - Part 9: Use provided 'WindowGlobalChild' actors to create the initial about:blank document, r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D37656

--HG--
extra : moz-landing-system : lando
2019-08-08 16:07:12 +00:00
Kris Maglione 64c062d570 Bug 1570773: Move browsingContext getter to nsIDocShellTreeItem and add notxpcom variant. r=nika
This also renames the existing infallible nsDocShell:GetBrowsingContext()
getter to BrowsingContextRef(), and changes the return type, since several
callers rely on it returning a raw pointer rather than an already_AddRefed.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 16:59:30 +00:00
Emilio Cobos Álvarez 5ab3251196 Bug 1528616 - Move PresShell::GetRectVisibility to nsTypeAheadFind.cpp. r=dholbert
nsTypeAheadFind.cpp contains all of the callsites to this function, so it seems like a logical place for it to live.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 11:21:55 +00:00
Ting-Yu Lin 1e717d14b4 Bug 1569252 Part 2 - Let mHasColumnSpanSiblings propagate to all the continuations. r=dbaron
We want mHasColumnSpanSiblings to propagate to all the
continuations (both fixed ones or fluid ones) in nsFrame::Init() so that
we don't need to traverse all the way to FirstInFlow() for the bit in
nsBlockFrame::ComputeFinalBSize().

For the last ColumnSet or the last non-column-span wrapper, we'll need
to unset the bit for them manually after constructing them.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 20:20:25 +00:00
Ting-Yu Lin 86d713320f Bug 1569252 Part 1 - Convert nsIFrame::HasColumnSpanSiblings() property into an nsIFrame bit. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D40760

--HG--
extra : moz-landing-system : lando
2019-08-07 20:20:18 +00:00
Tom Schuster 0e913c22c4 Bug 1558915 - Use infallible nsIURI::SchemeIs in various places r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D40677

--HG--
extra : moz-landing-system : lando
2019-08-07 19:49:40 +00:00
Edgar Chen 3d16032632 Bug 1572007 - Remove unused nsPresContext::IsTopLevelWindowInactive; r=smaug
It was introduced in bug 508482 and the consumer went away in bug 1424816.

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

--HG--
extra : moz-landing-system : lando
2019-08-07 09:54:16 +00:00
Cosmin Sabou c3430326e6 Backed out changeset ca88862d6b63 (bug 1558915) for causing build bustages on StartupCacheUtils. CLOSED TREE 2019-08-07 13:20:32 +03:00
Tom Schuster 8bc1f5ada8 Bug 1558915 - Use infallible nsIURI::SchemeIs in various places r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D40677

--HG--
extra : moz-landing-system : lando
2019-08-07 09:36:56 +00:00
Razvan Maries eedbf1137f Backed out changeset b197ca57677a (bug 1558915) for build bustages. CLOSED TREE 2019-08-07 01:04:43 +03:00
Tom Schuster 03c7998ef2 Bug 1558915 - Use infallible nsIURI::SchemeIs in various places r=Ehsan
Differential Revision: https://phabricator.services.mozilla.com/D40677

--HG--
extra : moz-landing-system : lando
2019-08-06 20:19:41 +00:00
Nicholas Nethercote fcb4a59f7d Bug 1570212 - Convert layout.reflow.synthMouseMove to a static pref. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40338

--HG--
extra : moz-landing-system : lando
2019-08-02 11:59:06 +00:00
Botond Ballo 1b22298440 Bug 1565512 - Ensure the RCD-RSF callback transform is applied for events targeting fixed content too. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D40535

--HG--
extra : moz-landing-system : lando
2019-08-03 16:16:56 +00:00
Eitan Isaacson 67c11960cc Bug 686400 - Delay accessible removal on frame reconstruction. r=Jamie,emilio
We naively remove and then recreate accessibles when their content's
frame is reconstructed. By delaying the removal until we are certain the
content does not have a new layout frame, we can cut down on redundant
recreations.

When reconstructed content is re-inserted we can check it and its
subtree for missing frames and prune those accessibles from the tree.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 22:13:28 +00:00
Ting-Yu Lin 5afcc71944 Bug 1570726 Part 1 - Move frame state bits carrying from nsCSSFrameConstructor::CreateContinuingFrame() into nsFrame::Init(). r=dholbert
These frame state bits belong to the generic group, and there is
existing logic in nsFrame::Init() for carrying frame state bits. It's
better to consolidate them in one place.

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

--HG--
extra : moz-landing-system : lando
2019-08-02 17:27:56 +00:00
Boris Chiou b91b90c199 Bug 1559231 - Support offset-anchor. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39432

--HG--
extra : moz-landing-system : lando
2019-08-02 20:12:38 +00:00
Brindusan Cristian 0b3e26149c Backed out 2 changesets (bug 1559231) for rusttests build bustages. CLOSED TREE
Backed out changeset d47d9f4bf9a9 (bug 1559231)
Backed out changeset 50f92d01c47a (bug 1559231)
2019-08-02 21:55:37 +03:00
Boris Chiou 9463547bb3 Bug 1559231 - Support offset-anchor. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D39432

--HG--
extra : moz-landing-system : lando
2019-08-02 00:43:11 +00:00
Emilio Cobos Álvarez cd0cc4ccd7 Bug 1570721 - Add a content viewer API to emulate color scheme. r=heycam
MANUAL PUSH: Reordering stacks is a pain (https://bugzilla.mozilla.org/show_bug.cgi?id=1481539)

Differential Revision: https://phabricator.services.mozilla.com/D40250
2019-08-02 15:18:41 +02:00
Emilio Cobos Álvarez 01044d2184 Bug 1570721 - Remove a bit of duplication in nsDocumentViewer.cpp. r=bzbarsky
Not happy with all these void pointer stuff, but I think this is slightly nicer
to read.

Also not happy with what clang-format has done to my code ;)

I've removed the comment about zoom because it's not clear to me it is still
relevant, but I've preserved the order because, should we have similar stuff
going on, it seems slightly better, and I'm moderately sure the rest of the
callers don't really care.

I think closures coerced to function pointers are nicer (I considered putting
this on a template or using std::function, maybe, this was less code specially
given some callers of EnumerateExternalResources may or may not be hot...),
but if you want me to keep stuff out of line, or move the whole thing to
std::function<> or templates let me know.

Differential Revision: https://phabricator.services.mozilla.com/D40249
2019-08-02 15:18:30 +02:00
Emilio Cobos Álvarez 0548a84746 Bug 1570721 - Add an API to nsPresContext to override the `prefers-color-scheme` value. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40248
2019-08-02 15:18:27 +02:00
Emilio Cobos Álvarez d93f6419d8 Bug 1570721 - Move the overrides to a separate struct in nsPresContext. r=heycam
Just so that we can keep track of these together.

Differential Revision: https://phabricator.services.mozilla.com/D40247
2019-08-02 15:18:24 +02:00
Emilio Cobos Álvarez e288006e4e Bug 1570721 - Simplify emulated medium setup in nsPresContext. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40246
2019-08-02 15:18:19 +02:00
Emilio Cobos Álvarez ef68a372a3 Bug 1570721 - Make nsDocumentViewer::CallChildren callbacks get an nsDocumentViewer rather than an nsIContentViewer. r=bzbarsky
It's the only implementation, and this will simplify future patches.

Differential Revision: https://phabricator.services.mozilla.com/D40279
2019-08-02 15:18:15 +02:00
Olli Pettay cb7e7c1dd1 Bug 1570797, Add a pref to control the time when certain tasks are deprioritized during page load, r=farre
Differential Revision: https://phabricator.services.mozilla.com/D40330

--HG--
extra : moz-landing-system : lando
2019-08-02 08:52:42 +00:00
Ting-Yu Lin b14d39764b Bug 1548100 Part 2 - Fix the block-size of the column-rule by consuming available block-size. r=dbaron
After enabling column-span, ColumnSet becomes an anonymous child under
ColumnSetWrapperFrame. It doesn't need to handle border and padding,
containment, and non-auto block-size. ColumnSet's final block-size is
simply the union of ::-moz-column-content frames' rects.

However, we should extend ColumnSet's block-size to consume the
available block-size if the ColumnSetWrapper's block-size is constrained
so that the column rules are drawn to the block-end edge of the multicol
container.

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

--HG--
rename : testing/web-platform/meta/css/css-multicol/multicol-breaking-000.html.ini => testing/web-platform/meta/css/css-multicol/multicol-rule-nested-balancing-001.html.ini
rename : testing/web-platform/meta/css/css-multicol/multicol-breaking-000.html.ini => testing/web-platform/meta/css/css-multicol/multicol-rule-nested-balancing-002.html.ini
rename : testing/web-platform/meta/css/css-multicol/multicol-breaking-000.html.ini => testing/web-platform/meta/css/css-multicol/multicol-span-all-rule-001.html.ini
extra : moz-landing-system : lando
2019-08-01 22:48:55 +00:00
Ciure Andrei 8a5a8ec27a Backed out 2 changesets (bug 1548100) for causing nsColumnSetFrame.cpp perma asertion failures CLOSED TREE
Backed out changeset a06a6a6e1c5e (bug 1548100)
Backed out changeset 03a11c109d07 (bug 1548100)
2019-08-02 00:44:55 +03:00
Ting-Yu Lin e65d961df7 Bug 1548100 Part 2 - Fix the block-size of the column-rule by consuming available block-size. r=dbaron
After enabling column-span, ColumnSet becomes an anonymous child under
ColumnSetWrapperFrame. It doesn't need to handle border and padding,
containment, and non-auto block-size. ColumnSet's final block-size is
simply the union of ::-moz-column-content frames' rects.

However, we should extend ColumnSet's block-size to consume the
available block-size if the ColumnSetWrapper's block-size is constrained
so that the column rules are drawn to the block-end edge of the multicol
container.

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

--HG--
rename : testing/web-platform/meta/css/css-multicol/multicol-breaking-000.html.ini => testing/web-platform/meta/css/css-multicol/multicol-rule-nested-balancing-001.html.ini
rename : testing/web-platform/meta/css/css-multicol/multicol-breaking-000.html.ini => testing/web-platform/meta/css/css-multicol/multicol-rule-nested-balancing-002.html.ini
rename : testing/web-platform/meta/css/css-multicol/multicol-breaking-000.html.ini => testing/web-platform/meta/css/css-multicol/multicol-span-all-rule-001.html.ini
extra : moz-landing-system : lando
2019-08-01 00:03:22 +00:00
Daniel Holbert 529478882f Bug 1569475: Adjust MobileViewportManager::ClampZoom to check for NaN zoom values and use 1.0 instead. r=botond
Also spam a NS_ERROR whenever this happens (in debug builds), so that we
know to fix the caller to avoid division by zero.

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

--HG--
extra : moz-landing-system : lando
2019-07-31 16:59:51 +00:00
Ting-Yu Lin 3fda302369 Bug 1506293 Part 2 - Fix the block-size distribution across column-span split. r=dbaron
In frame construction, a block can be split by column-spans into several
fragments and each of the fragments is chained together by non-fluid
continuations. Later in reflow, each fragment can create its own fluid
continuations due to reasons such as the constraint of its available
block-size.

The main idea of this patch is that we calculate the block's final
block-size by shrinkwrapping the children for every fragment except for
those fluid continuations after the final column-span. To do that, we
need to correctly tag each non-column-span-wrappers
nsIFrame::HasColumnSpanSiblings() except the last one.

We also need to modify nsSplittableFrame::ConsumedBSize() so that it
includes the block-size for both fluid and non-fluid continuations.

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

--HG--
extra : moz-landing-system : lando
2019-07-30 18:03:25 +00:00
Alex Catarineu 536fd2e65f Bug 1561322 - Allow spoofing strings in HTML forms r=baku,Pike
When privacy.spoof_english = 2, we should hide the user's
locale in content. So we use en-US default strings for HTML
form elements, such as a Submit button.

We also force GetLocalizedEllipsis() to always return the
ellipsis used by en-US.

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

--HG--
extra : moz-landing-system : lando
2019-07-24 13:22:22 +00:00
Emilio Cobos Álvarez e91be6b314 Bug 1568778 - Do suppress adjustments when switching an undisplayed element to be abspos. r=dholbert
One of the issues with the test-case in this bug is that the page consumes a ton
of CPU due to scroll anchor adjustments being triggered from scroll events,
which in turn cause other scroll events to fire.

This happens in Chrome as well (just scroll to the bottom of the test-case, and
do `addEventListener("scroll", () => console.log("scroll"))` on devtools. But I
think it's worth fixing. This patch fixes it and overall I think it's a slightly
better approach to suppress adjustments than what we're doing.

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

--HG--
extra : moz-landing-system : lando
2019-07-29 13:44:46 +00:00
Emilio Cobos Álvarez 79d6827e07 Bug 1456358 - Inhibit RecomputePosition when descendants depend on the out of flow position. r=dbaron
Differential Revision: https://phabricator.services.mozilla.com/D38194

--HG--
extra : moz-landing-system : lando
2019-07-29 13:43:29 +00:00
Timothy Nikkel 674fb7f25d Bug 1565922. When the document viewer loses it prescontext pointer we need to make sure that any potential subdocument display items get rebuilt. r=mattwoodrow
If the subdocument display item gets created when the subdocument doesn't have a root frame it'll be based on the subdocument frame in the parent document. This means that the prescontext pointer on the document viewer of the subdocument can go away without the subdocument display item getting any kind of invalidation. So we make sure the subdocument display item gets rebuilt if that happens. The reason the prescontext pointer is important is that is what nsSubDocumentFrame::GetSubdocumentPresShellForPainting uses (via nsDocShell::GetPresShell) to get the subdocument presshell. So it will fail to get a presshell and RetainedDisplayListBuilder::IncrementSubDocPresShellPaintCount will crash.

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

--HG--
extra : moz-landing-system : lando
2019-07-29 09:56:14 +00:00
Boris Chiou 5c36bd1e41 Bug 1568370 - Fix the alignment of offset-anchor with offset-path. r=jwatt
When we use SVG layout, and transform-box is fill-box, the current
implementation makes the object not align with offset-path because there
may be an offset (SVG x and y values) between the anchor point and offset-path.
We have to tweak the anchor point to fix the alignment.

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

--HG--
rename : testing/web-platform/tests/css/motion/offset-anchor-transform-box-fill-box.html => testing/web-platform/tests/css/motion/offset-anchor-transform-box-fill-box-001.html
rename : testing/web-platform/tests/css/motion/offset-anchor-transform-box-fill-box.html => testing/web-platform/tests/css/motion/offset-anchor-transform-box-fill-box-002.html
extra : moz-landing-system : lando
2019-07-27 16:18:53 +00:00
Daniel Holbert 12c9a1ee6c Bug 1568673 part 2: Add a few more assertions to validate that mobile viewport zoom factors are positive. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D39244

--HG--
extra : moz-landing-system : lando
2019-07-26 23:38:18 +00:00
Daniel Holbert 45de18b006 Bug 1568673 part 1: Adjust MobileViewportManager::ComputeIntrinsicScale to prevent divide-by-zero and to allow for meaningful min/max clamping. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D39577

--HG--
extra : moz-landing-system : lando
2019-07-27 00:11:20 +00:00
Emilio Cobos Álvarez b6589b23d2 Bug 1528616 - Back out changeset bf824987ef9f (bug 1528616) since it can clearly be hit. r=me
MANUAL PUSH: Backout of existing revision.
2019-07-26 21:26:23 +02:00
Kannan Vijayan 3fb6190ec6 Bug 1559414 - Rename unaudited pre-fission methods with SameProcess for future audit burndown. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D39378

--HG--
extra : moz-landing-system : lando
2019-07-26 16:48:31 +00:00
Nicholas Nethercote 18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

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

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
L. David Baron 868643a218 Bug 1568501 - Invalidate FastLineIterator::mPrevFrame only when lines actually split. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D39267

--HG--
extra : moz-landing-system : lando
2019-07-25 21:31:21 +00:00
Ciure Andrei 77673dccee Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-07-25 09:28:08 +03:00
Andreea Pavel e4263c00eb Merge mozilla-inbound to mozilla-central. a=merge 2019-07-25 08:59:39 +03:00
Daniel Varga 291822d4fb Backed out changeset 70404a86aea8 (bug 1568673) for gv-unit6 failure at org.mozilla.geckoview.test.MediaElementTest.webmFullscreenMedia 2019-07-25 05:15:58 +03:00
Dan Glastonbury 7041df5d0b Bug 1568107 - Collect nsRefreshDriver::Tick phase weighted telemetry. r=mattwoodrow,heycam
For a slow tick, where the processing time takes longer than 1/60th sec, record
telemetry for the percentage of that time spent in each sub-system processing
Events, Style), Reflow, Display and Paint.

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

--HG--
extra : moz-landing-system : lando
2019-07-25 01:31:41 +00:00
Daniel Holbert c3ae5a39a6 Bug 1568673: Add a few more assertions to validate that mobile viewport zoom factors are positive. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D39244

--HG--
extra : moz-landing-system : lando
2019-07-25 00:14:43 +00:00
Emilio Cobos Álvarez eb7d8bffd8 Bug 1567237 - Only use scroll range to select scrollable frames to scroll to, don't use scrollbar visibility. r=tnikkel
This is what other browsers do, and it does make sense to me, it's useless to
try to scroll a frame with no scroll range in a given direction.

I think all callers of this function should be treated like this, so this is
more like a RFC / feedback request than a patch per se.

The wheel handling code already checks scroll range, so there's no difference of
behavior in that case, if I'm reading the code right.

There are a few other functions that check the result of
GetPerceivedScrollingDirections(), but I think if we change this we should
change this consistently.

I also think that if we do this we should rename the method to something like
GetAvailableScrollingDirections() or such.

Anyhow, wdyt? I should also add a test for this if we go with this.

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

--HG--
extra : moz-landing-system : lando
2019-07-24 22:33:57 +00:00
Coroiu Cristina 50837746c0 Backed out changeset 2fe42a3dda2c (bug 1567237) for causing leaks on a CLOSED TREE 2019-07-24 20:52:07 +03:00
Emilio Cobos Álvarez 06d6ff95a8 Bug 1567237 - Only use scroll range to select scrollable frames to scroll to, don't use scrollbar visibility. r=tnikkel
This is what other browsers do, and it does make sense to me, it's useless to
try to scroll a frame with no scroll range in a given direction.

I think all callers of this function should be treated like this, so this is
more like a RFC / feedback request than a patch per se.

The wheel handling code already checks scroll range, so there's no difference of
behavior in that case, if I'm reading the code right.

There are a few other functions that check the result of
GetPerceivedScrollingDirections(), but I think if we change this we should
change this consistently.

I also think that if we do this we should rename the method to something like
GetAvailableScrollingDirections() or such.

Anyhow, wdyt? I should also add a test for this if we go with this.

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

--HG--
extra : moz-landing-system : lando
2019-07-24 13:17:11 +00:00
Emilio Cobos Álvarez a404ea1a40 Bug 1528616 - Make an assertion fatal to figure out how this can happen. r=dholbert
We shouldn't have a frame and a null root frame. This assertion failing is the
only way to get this to happen.

So assert it a bit harder so that we can hopefully find a way to repro it and
thus figure out what the right thing to do is. If it legitimately fails, chances
are we shouldn't be putting this function on PresShell in the first place.

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

--HG--
extra : moz-landing-system : lando
2019-07-24 05:08:18 +00:00
Narcis Beleuzu 2c7f6ec7b6 Backed out 3 changesets (bug 1567237) for ESlint and mochitest failures on test_scroll_space_no_range_overflow_scroll.html . CLOSED TREE
Backed out changeset 72699e27e033 (bug 1567237)
Backed out changeset 90048e3d6eb3 (bug 1567237)
Backed out changeset 5d602a56edc7 (bug 1567237)
2019-07-24 05:49:52 +03:00
Emilio Cobos Álvarez bfedfea6e4 Bug 1567298 - Refresh preference sheet data from ThemeChanged(). r=heycam
So as to grab updated high contrast settings and co.

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

--HG--
extra : moz-landing-system : lando
2019-07-23 23:23:47 +00:00
Emilio Cobos Álvarez ce165f7df8 Bug 1567237 - followup: Fix test on windows. r=whoops
CLOSED TREE
2019-07-24 02:46:06 +02:00
Emilio Cobos Álvarez 00183756b9 Bug 1567237 - followup: Fix ESLint complaints in test.
CLOSED TREE
2019-07-24 00:43:39 +02:00
Emilio Cobos Álvarez eb563e1090 Bug 1567237 - Only use scroll range to select scrollable frames to scroll to, don't use scrollbar visibility. r=tnikkel
This is what other browsers do, and it does make sense to me, it's useless to
try to scroll a frame with no scroll range in a given direction.

I think all callers of this function should be treated like this, so this is
more like a RFC / feedback request than a patch per se.

The wheel handling code already checks scroll range, so there's no difference of
behavior in that case, if I'm reading the code right.

There are a few other functions that check the result of
GetPerceivedScrollingDirections(), but I think if we change this we should
change this consistently.

I also think that if we do this we should rename the method to something like
GetAvailableScrollingDirections() or such.

Anyhow, wdyt? I should also add a test for this if we go with this.

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

--HG--
extra : moz-landing-system : lando
2019-07-23 22:04:31 +00:00