Commit Graph

67479 Commits

Author SHA1 Message Date
Ryan Hunt
6bdc12be01 Bug 1519553 - Don't round scroll anchor adjustments to device pixels. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D19107

--HG--
extra : source : 7f29bb7519563e3aaafa2e484a356409ce05aab7
extra : histedit_source : 3f1c287cc5984bf896ed43cccd7533d39cda40c9
2019-02-07 20:39:49 -06:00
shindli
dce896f8a0 Backed out 5 changesets (bug 1523495) for reftest failures in file:///builds/worker/workspace/build/tests/reftest/tests/gfx/tests/reftest/1523776.html CLOSED TREE
Backed out changeset 3d8ac233a5d1 (bug 1523495)
Backed out changeset 09de2f84aa1c (bug 1523495)
Backed out changeset 23406bc33980 (bug 1523495)
Backed out changeset 8d99e173cdf6 (bug 1523495)
Backed out changeset 8db55f13f405 (bug 1523495)
2019-02-11 16:59:28 +02:00
Nicolas Silva
d2bce8e97c Bug 1523495 - Adjust reftest fuzziness. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D18938
2019-02-07 11:32:53 +01:00
Joel Maher
bdd8e3ce31 Bug 1522900 - adjust manifests to allow tests to pass on windows10 1803 release. r=gbrown CLOSED TREE
--HG--
extra : rebase_source : 1350412a9925eea526bda708011086c4e8e19170
extra : amend_source : 548af67b37ba2207f380c509a1b213c323fcd1cb
2019-02-11 10:02:51 +01:00
Razvan Maries
b434b6e870 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-02-10 11:50:49 +02:00
Emilio Cobos Álvarez
29b0cd4d4c Bug 1523140 - Derive more length stuff, and shrink MaxLength / MozLength's repr(C) representation. r=boris
This patch:

 * Makes LengthPercentageOrAuto generic, and removes a bunch of code fo
   LengthPercentageOrNone, which was used only for servo and now can use the
   normal MaxLength (with a cfg() guard for the ExtremumLength variant).

 * Shrinks MaxLength / MozLength's repr(C) reperesentation by reducing enum
   nesting. The shrinking is in preparation for using them from C++ too, though
   that'd be a different bug.

 * Moves NonNegative usage to the proper places so that stuff for them can be
   derived.

I did this on top of bug 1523071 to prove both that it could be possible and
that stuff wasn't too messy. It got a bit messy, but just because of a bug I
had fixed in bindgen long time ago already, so this updates bindgen's patch
version to grab a fix instead of ugly workarounds :)

Differential Revision: https://phabricator.services.mozilla.com/D17762
2019-02-10 06:51:00 +01:00
Emilio Cobos Álvarez
8101ae2ea8 Bug 1523071 - Use Rust lengths for margin / padding / inset. r=jwatt
Also for the intersection observer root margin, since it was easier to fix it
up and clean it up than not doing it.

This is the first big step to get rid of nscoord. It duplicates a bit of logic
in nsLayoutUtils since for now max/min-width/height are still represented with
nsStyleCoord, but I think I prefer to land this incrementally.

I didn't add helpers for the physical accessors of the style rect sides that
nsStyleSides has (top/bottom/left/right) since I think we generally should
encourage the logical versions, but let me know if you want me to do that.

Differential Revision: https://phabricator.services.mozilla.com/D17739
2019-02-10 04:11:58 +01:00
Emilio Cobos Álvarez
ca19235faa Bug 1523071 - Use the style system's LengthPercentage for shape-margin. r=jwatt
This also makes us pass a few WPTs because we stop losing precision when
serializing the computed value.

Differential Revision: https://phabricator.services.mozilla.com/D17738
2019-02-10 04:11:00 +01:00
Emilio Cobos Álvarez
0b8aea8fdd Bug 1523071 - Add bindings for LengthPercentage, and use it for text-indent. r=jwatt
Which is the only property that uses LengthPercentage alone.

Differential Revision: https://phabricator.services.mozilla.com/D17737
2019-02-10 04:10:24 +01:00
Masayuki Nakano
d9b3993fcc Bug 1466208 - part 16: Clean up PresShell::EventHandler::ComputeRootFrameToHandleEvent() and its helper methods with early-return style r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D18526

--HG--
extra : moz-landing-system : lando
2019-02-08 23:12:18 +00:00
Masayuki Nakano
9e085b54d8 Bug 1466208 - part 15: Split PresShell::EventHandler::ComputeRootFrameToHandleEvent() r=smaug
PresShell::EventHandler::ComputeRootFrameToHandleEvent() computes root frame
to handle event with popup frame and/or capturing content.  The former result
can be rewritten with the latter.  So, for cleaning it up with early return
style, we need to split it to 2 methods.

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

--HG--
extra : moz-landing-system : lando
2019-02-08 23:10:13 +00:00
Emilio Cobos Álvarez
286396f97a Bug 1525955 - Cleanup a bit after bug 1525371. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D19001

--HG--
extra : moz-landing-system : lando
2019-02-08 22:40:26 +00:00
Thomas Wisniewski
6f9de091e7 Bug 1524897 - drop line-height:normal rule in html.css for <sub> and <sup> for interop. r=emilio
remove line-height:normal rule from html.css for <sub> and <sup> for interop.

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

--HG--
extra : moz-landing-system : lando
2019-02-08 11:02:36 +00:00
Daniel Holbert
bce0e59a25 Bug 1525628 part 2: Generalize block-frame special case in scrollframe baseline code, so that it includes block subclasses like <details>. r=mats
Depends on D19083

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

--HG--
extra : moz-landing-system : lando
2019-02-08 00:38:24 +00:00
Daniel Holbert
cd89295a59 Bug 1525628 part 1: Add nsIFrame::IsBlockFrameOrSubclass() convenience accessor. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D19083

--HG--
extra : moz-landing-system : lando
2019-02-08 00:38:12 +00:00
Masayuki Nakano
33f04c5177 Bug 1466208 - part 14: Create PresShell::EventHandler::ComputeRootFrameToHandleEvent() r=smaug
In some reasons, handling event should be handled in specific frame even if
the coordinates are out of the frame.  PresShell::EventHandler::HandleEvent()
computes it with popups, capturing content, etc.  This patch moves the blocks
into new method for making HandleEvent() simpler.

Note that most of the code is just moved.  The following patch will clean it
up.

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

--HG--
extra : moz-landing-system : lando
2019-02-08 07:11:01 +00:00
Oana Pop Rus
03ebbdab95 Merge inbound to mozilla-central. a=merge 2019-02-08 11:53:37 +02:00
Masayuki Nakano
2719af4bb6 Bug 1466208 - part 13: Create PresShell::EventHandler::MaybeFlushThrottledStyles() r=smaug
PresShell::EventHandler::HandleEvent() tries to flush pending animation first
when it decides frame to handle events using coordinates.  This patch moves
the code into the new method.

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

--HG--
extra : moz-landing-system : lando
2019-02-08 05:05:45 +00:00
Makoto Kato
03c4d17822 Bug 1496118 - Clean up caret when destroying editor. r=masayuki
Summary:
Editor changes caret visibility during drag and drop.  But when destroying
editor, we don't restore caret state.  So we should restore it when destroying
editor.

Tags: #secure-revision

Bug #: 1496118

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

--HG--
extra : rebase_source : 157f2c9e69857c7f7adb916af2a319392c4d125a
2019-02-06 19:26:35 +09:00
Andreea Pavel
5fc1f2fe6f Backed out 9 changesets (bug 1500257) for multiple failures e.g. test_browserElement_oop_FirstPaint.html on a CLOSED TREE
Backed out changeset 6097503e6300 (bug 1500257)
Backed out changeset a62c02951031 (bug 1500257)
Backed out changeset 62ad54fb95eb (bug 1500257)
Backed out changeset caafb04b7dd4 (bug 1500257)
Backed out changeset c19bc81c4f43 (bug 1500257)
Backed out changeset 697a9159e0d2 (bug 1500257)
Backed out changeset f228f043e6cf (bug 1500257)
Backed out changeset 12d7dba34733 (bug 1500257)
Backed out changeset 3abe61f5dc5c (bug 1500257)
2019-02-10 05:31:06 +02:00
Chris Peterson
8e1848413c Bug 1507049 - Rename MOZ_CRASH_UNSAFE_OOL MOZ_CRASH_UNSAFE. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D18515

--HG--
extra : rebase_source : e8ef6eec0f7542bb381e2da81ae6431b2828aabc
extra : source : a8c262b4a2579e6def1b3a5a8220f5197b443e34
2019-02-03 00:09:37 -08:00
Razvan Maries
8add624474 Merge mozilla-central to mozilla-inbound. a=merge on a CLOSED TREE 2019-02-08 06:26:00 +02:00
Razvan Maries
e5944cdd0e Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2019-02-07 23:49:13 +02:00
Andrew Osmond
6cba1775c3 Bug 1453935 - Ensure that we snap within the visible rect with WebRender. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D18869
2019-02-07 18:05:43 -05:00
Andreea Pavel
7e3beb59f7 Backed out changeset 87ad4b91e29f (bug 1453935) for reftest failures on a CLOSED TREE 2019-02-08 00:45:29 +02:00
Andrew Osmond
fa36639a3b Bug 1453935 - Ensure that we snap within the visible rect with WebRender. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D18869
2019-02-07 15:26:54 -05:00
Emilio Cobos Álvarez
d9b9802e71 Bug 1525371 - Fix a very subtle invalidation bug exposed by test_initial_computation.html. r=jwatt
Now that there's no ArenaRefPtr, the styles aren't cleared when the shell goes
away (due to an iframe becoming display: none or what not). This caused a few
very confusing failures in test_initial_computation:

  https://treeherder.mozilla.org/#/jobs?repo=try&revision=c2746a05ce7b20759a820d6f26a55a3200d8e6b8&selectedJob=226267113

Which holds on to a reference of a style on a display: none iframe[1], reframes
it periodically[2], exposing this bug.

For now, keep the id of the shell we got the style from around. When we support
computing styles in display: none iframes this may need more work, but that's
out of the scope of this bug.

[1]: https://searchfox.org/mozilla-central/rev/e00ea598e52bbb35f8c45abf9c2eade17962bb5e/layout/style/test/test_initial_computation.html#56
[2]: https://searchfox.org/mozilla-central/rev/e00ea598e52bbb35f8c45abf9c2eade17962bb5e/layout/style/test/test_initial_computation.html#147

Differential Revision: https://phabricator.services.mozilla.com/D18853
2019-02-07 11:16:12 +01:00
Emilio Cobos Álvarez
598a098826 Bug 1525371 - Remove ArenaRefPtr. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D18735
2019-02-07 11:15:39 +01:00
Emilio Cobos Álvarez
12867b1a3f Bug 1525371 - Kill ComputedStyle::mPresContext, move the pointer to the frame instead. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D18734
2019-02-07 11:15:36 +01:00
Emilio Cobos Álvarez
15e84a4c1c Bug 1525371 - Kill ComputedStyle::ComputedData. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D18733
2019-02-07 11:15:33 +01:00
Masayuki Nakano
9e00d7caae Bug 1466208 - part 12: Get rid of frame variable from PresShell::EventHandler::HandleEvent() r=smaug
There is an unclear variable `frame` in PresShell::EventHandler::HandleEvent().
It's overwritten with different frame and its meanings is changed sometimes.
Finally, it's necessary only in the `if (aGUIEvent->IsUsingCoordinates())`
block.  Therefore, we can move it into the block and rename it when them for
each purpose.

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

--HG--
extra : moz-landing-system : lando
2019-02-07 01:53:38 +00:00
Hiroyuki Ikezoe
9fe047bfb3 Bug 1516377 - Use the layout viewport for position:fixed elements if the viewport is larger than. r=botond
Both of reftests in this commit are based on an exmaple [1] in the Viewports
Explainer written by David Bokan.

position-fixed-out-of-view.html fails without the fix because the position:fixed
element is rendered at the right edge of the visual viewport so that it's
visible in the first place.

position-fixed-on-minimum-scale-size.html does NOT fail without the fix either
because the position:fixed element sticks at the right edge of the visual
viewport so that it still be there even after the visual viewport offset has
been changed.

[1] https://github.com/bokand/bokand.github.io/blob/master/web_viewports_explainer.md#chrome-2

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

--HG--
extra : moz-landing-system : lando
2019-02-07 05:39:33 +00:00
Brendan Dahl
ed6a76c718 Bug 1524640 - Fix font loading during mozPrintCallback. r=smaug
Copy fonts loaded during a mozPrintCallback into the cloned document,
so they are available during printing.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 23:46:58 +00:00
Masayuki Nakano
3ebe8914da Bug 1466208 - part 11: Create PresShell::EventHandler::MaybeDiscardOrDelayKeyboardEvent() r=smaug
PresShell::EventHandler::HandleEvent() discards or puts off to dispatch
the handling event if it's a keyboard event and event dispatching is
suppressed by the document.

This patch moves the block into the new method for making HandleEvent() simpler.

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

--HG--
extra : moz-landing-system : lando
2019-02-07 01:49:31 +00:00
Jan Varga
913fd9266d Bug 1517089 - Part 1: Introduce InitializeLocalStorage and call it in nsLayoutStatics::Initialize; r=asuth 2019-02-07 19:50:57 +01:00
Jonathan Kew
06b936f643 Bug 1507661 - Don't treat an explicit hyphen as though it could be a soft-hyphenation position. r=jwatt 2019-02-07 12:13:19 +00:00
Jonathan Kew
ab92b80b55 Bug 1507661 - Reftest for spurious soft-hyphenation occuring at an explicit hyphen after initial letter of word. r=jwatt 2019-02-07 12:13:19 +00:00
Ryan Hunt
b9a745008e Bug 1500257 part 8 - Remove dependency on RenderFrame from nsDisplayRemote. r=aosmond
This commit removes the dependency on RenderFrame from nsDisplayRemote so that
it can work in child processes with remote subframes. Instead nsDisplayRemote
now works with an nsFrameLoader, which will return the LayerId from either
the RenderFrame (for top-level remote browsers), or from RemoteFrameChild
(for remote subframes).

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

--HG--
extra : rebase_source : 94d05ddbe5943be09c0446cf218074596bc85000
extra : source : 1e1b5cd23412a85fad19ab8ec5aacf31b3a9c9b6
2019-01-23 11:07:57 -06:00
Ryan Hunt
7dbdd45b6a Bug 1500257 part 7 - Modify RenderFrame to hold onto TabParent instead of nsFrameLoader. r=aosmond
A TabParent for a remote subframe will have the same owner content as the top-level
remote browser. This means that 'TabParent::GetFrameLoader()' will return the
frame loader of the top-level remote browser.

This is fine for getting the layer manager and compositor for connecting layer trees,
but the frame loader is also used to acquire a TabParent for its process ID. This
is incorrect in the remote subframe case, and will lead to the compositor rejecting
layer transactions for the remote subframe because it will only accept them from
the top-level remote browser's process.

This commit switches RenderFrame to just hold on to TabParent, and acquire the
nsFrameLoader as necessary.

Another change is to RenderFrame::SetOwnerContent. Previously this method would
take the new owner content and check an assertion. I don't see much value in the
assertion, so I've removed it. Additionally, now that we acquire the owner content,
and therefore the layer manager, from TabParent, we need to ensure that
RenderFrame::SetOwnerContent is ran after the TabParent has had it's owner content
updated. So the callsite has been moved into TabParent. This resolved a test failure
with frame loader swapping.

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

--HG--
extra : rebase_source : dfda7cc49d057e0e72b4a4e84d124872493d8761
extra : source : 4c85fb68f2ed297828bf4646301c2d80d1c8e0a1
2019-01-23 09:52:30 -06:00
Ryan Hunt
23be458dbe Bug 1500257 part 6 - Update documentation for RenderFrame and nsDisplayRemote. r=aosmond
The documentation for these pieces are a bit out of date.

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

--HG--
extra : rebase_source : ae465b1373f97c669bbc012dd1b152a9838d8c98
extra : source : ba62cc27c32f4d8a3fefff8eee5bf47d270130bc
2019-01-23 09:34:29 -06:00
Andrew Swan
ee2283d446 Bug 1523980 Revoke special testpilot permissions r=kmag
Differential Revision: https://phabricator.services.mozilla.com/D18768

--HG--
extra : moz-landing-system : lando
2019-02-06 22:21:01 +00:00
Alex Gaynor
0f01791ffc Bug 1512990 - Part 4 - remove declarations of Recv/Answer methods from IPDL protocol base class; r=froydnj
For cases where the class has direct calls (that is, we cast `this` to the
subclass before making the call) no longer declare Recv/Answer methods on the
base class at all. This should ensure that slots for them are not generated in
vtables, and also allow the derived class to choose the method signature (e.g.
whether it wants to take something by reference or by value).

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:58:43 +00:00
Alex Gaynor
75c7d1fa76 Bug 1512990 - Part 2 - implement direct calls in the IPDL compiler; r=froydnj
When calling a Recv/Alloc/Dealloc method on most types, cast `this` to the
derived class.

There is a heuristic to figure out what the correct derived type is. There is a
blacklist of types which we can't do direct calls on for the moment, as well as
an override for types that do work with direct calls but which don't match the
heuristic.

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

--HG--
extra : moz-landing-system : lando
2019-02-06 15:57:37 +00:00
Miko Mynttinen
d6292e3e7e Bug 1523329 - Create hit test info items in BuildDisplayListForSimpleChild() if the frame is an AGR r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D18240

--HG--
extra : moz-landing-system : lando
2019-02-06 06:03:05 +00:00
Oana Pop Rus
3da646bddf Merge mozilla-central to autoland. a=merge CLOSED TREE 2019-02-06 12:07:13 +02:00
Oana Pop Rus
e00ea598e5 Merge inbound to mozilla-central. a=merge 2019-02-06 11:53:48 +02:00
Glenn Watson
43dfba16ac Bug 1524385 - Set the current clip chain on the stacking context item. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D18527

--HG--
extra : moz-landing-system : lando
2019-02-06 04:35:37 +00:00
Bobby Holley
d1796847d4 Bug 1524086 - Mark reftest as fuzzy-if rather than fails-if. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D18582

--HG--
extra : moz-landing-system : lando
2019-02-06 05:32:35 +00:00
Liang-Heng Chen
bd2504a471 Bug 1485266 - Use stand-ins for native colors when RFP is enabled r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D17755

--HG--
extra : moz-landing-system : lando
2019-02-06 08:45:44 +00:00
Daniel Holbert
4147f36107 Bug 969874: Make scrollable frames derive their baseline from their scrolled content (unless their display value is block-inside). r=mats
Before this patch, we made scrollable frames derive their baseline from their
margin-box, because that's what the spec requires for scrollable inline-block
boxes. However, the spec now singles out inline-block as a special case, and
other sorts of scrollable inline-level containers are supposed to derive their
baseline from the scrolled content. So, this patch makes us do that, with an
exception for scrollable inline-block boxes.

For more info about the block-inside special case, see the end of the "block
containers" chunk here: https://drafts.csswg.org/css-align/#baseline-export
(Though that spec text may be a bit too specific, per my spec issue at
https://github.com/w3c/csswg-drafts/issues/3611 -- that's why this patch checks
for block-inside rather than inline-block.)

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

--HG--
extra : moz-landing-system : lando
2019-02-06 00:22:56 +00:00