Commit Graph

3327 Commits

Author SHA1 Message Date
Simon Giesecke
fbb9c742c8 Bug 1679272 - Include ScopeExit.h exactly where used. r=andi
Differential Revision: https://phabricator.services.mozilla.com/D98888
2020-12-07 14:25:59 +00:00
Simon Giesecke
a9f246233d Bug 1673931 - Remove dependency of BindingUtils.h on Document.h.
Differential Revision: https://phabricator.services.mozilla.com/D95048

Depends on D95047
2020-11-23 16:08:03 +00:00
Tim Nguyen
f114ff14d4 Bug 1525737 - Remove support for XUL grid display values. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D53297
2020-11-17 01:20:33 +00:00
Gerald Squelart
567d29a14b Bug 1675409 - Migrated TracingMarkerPayload to Markers 2.0 API - r=gregtatum
Differential Revision: https://phabricator.services.mozilla.com/D96053
2020-11-18 21:55:51 +00:00
Razvan Maries
4c8d4ec411 Backed out 23 changesets (bug 1675409) for build bustages on Preferences.cpp. CLOSED TREE
Backed out changeset c1a131a55767 (bug 1675409)
Backed out changeset 47d210802a5d (bug 1675409)
Backed out changeset e8ebb1c58d30 (bug 1675409)
Backed out changeset 69a1e9aeff2a (bug 1675409)
Backed out changeset 68f330b387a8 (bug 1675409)
Backed out changeset e4750d9ef5a1 (bug 1675409)
Backed out changeset bb6bb71e5ab3 (bug 1675409)
Backed out changeset 988d7f4716df (bug 1675409)
Backed out changeset ca41382e891c (bug 1675409)
Backed out changeset 90f3fbbbbeda (bug 1675409)
Backed out changeset 9b109d61a6f6 (bug 1675409)
Backed out changeset 3dd66abfdaa2 (bug 1675409)
Backed out changeset 44181df5f0db (bug 1675409)
Backed out changeset bb2603d947fc (bug 1675409)
Backed out changeset 97055cf20a56 (bug 1675409)
Backed out changeset f88fcf09de0d (bug 1675409)
Backed out changeset 7963e1c49786 (bug 1675409)
Backed out changeset 4c379c1061c3 (bug 1675409)
Backed out changeset b8be8ae7da63 (bug 1675409)
Backed out changeset 0b90aa89421e (bug 1675409)
Backed out changeset c10fb46467c9 (bug 1675409)
Backed out changeset 894ac233b290 (bug 1675409)
Backed out changeset 075d1d8e34c2 (bug 1675409)
2020-11-18 20:06:28 +02:00
Gerald Squelart
d1fe64af1f Bug 1675409 - Migrated TracingMarkerPayload to Markers 2.0 API - r=gregtatum
Differential Revision: https://phabricator.services.mozilla.com/D96053
2020-11-17 22:25:06 +00:00
Mihai Alexandru Michis
58bfb63636 Backed out 24 changesets (bug 1666566, bug 1675409) for causing hazard failures in profiler/core/platform.cpp
CLOSED TREE

Backed out changeset 4d8af8533fd4 (bug 1666566)
Backed out changeset f031a3a8a20f (bug 1675409)
Backed out changeset 2b7e1a031921 (bug 1675409)
Backed out changeset bda5a24b2d0a (bug 1675409)
Backed out changeset 4282e2284314 (bug 1675409)
Backed out changeset 0637f1b26e9f (bug 1675409)
Backed out changeset 67ae04c8f607 (bug 1675409)
Backed out changeset 6c7b3f3618ef (bug 1675409)
Backed out changeset 2f325c22d169 (bug 1675409)
Backed out changeset 1e48ff70ad8f (bug 1675409)
Backed out changeset 1dfc32d6871d (bug 1675409)
Backed out changeset 4f1f218a777b (bug 1675409)
Backed out changeset e6ac8722b38e (bug 1675409)
Backed out changeset cf132e15fb57 (bug 1675409)
Backed out changeset a126e6b00ba9 (bug 1675409)
Backed out changeset fbc7fbb04f33 (bug 1675409)
Backed out changeset 554c69681474 (bug 1675409)
Backed out changeset 44d0521c701f (bug 1675409)
Backed out changeset 04653dfe4720 (bug 1675409)
Backed out changeset 41ca2c043a00 (bug 1675409)
Backed out changeset 264ae4c805d4 (bug 1675409)
Backed out changeset 5f3bbdac0d52 (bug 1675409)
Backed out changeset 11311c11a6e8 (bug 1675409)
Backed out changeset 0355fbc44baf (bug 1675409)
2020-11-17 19:31:28 +02:00
Gerald Squelart
3c87e99333 Bug 1675409 - Migrated TracingMarkerPayload to Markers 2.0 API - r=gregtatum
Differential Revision: https://phabricator.services.mozilla.com/D96053
2020-11-17 11:39:42 +00:00
Emilio Cobos Álvarez
b61d6ee725 Bug 1673524 - When passing a null abspos containing block, also make fixed pos respect it. r=TYLin
Otherwise fixed-pos elements still escape the container chain, which is
what the null-abspos container hack (currently used by mathml) is
supposed to prevent.

Differential Revision: https://phabricator.services.mozilla.com/D96779
2020-11-13 13:16:40 +00:00
Bogdan Tara
6c9e271a2d Backed out changeset 71d9d66a6a7f (bug 1673524) for mathml failures CLOSED TREE 2020-11-13 06:04:24 +02:00
Emilio Cobos Álvarez
ed114b2187 Bug 1673524 - When passing a null abspos containing block, also make fixed pos respect it. r=TYLin
Otherwise fixed-pos elements still escape the container chain, which is
what the null-abspos container hack (currently used by mathml) is
supposed to prevent.

Differential Revision: https://phabricator.services.mozilla.com/D96779
2020-11-12 22:41:04 +00:00
Mats Palmgren
a1fb390358 Bug 1674594 - Remove the obsolete nsMathMLmfencedFrame and associated pref and tests. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D95451
2020-11-05 22:36:43 +00:00
Tim Nguyen
cc9dfc8985 Bug 1675400 - Remove menubutton support. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D95948
2020-11-05 00:14:58 +00:00
Tim Nguyen
d45e457f16 Bug 1610404 - Remove leftover NS_NewGroupBoxFrame forward-declaration. r=emilio DONTBUILD
Differential Revision: https://phabricator.services.mozilla.com/D95949
2020-11-05 00:04:19 +00:00
Emilio Cobos Álvarez
537d5b5708 Bug 1665476 - Handle XUL root frame backgrounds explicitly in AppendBackgroundItemsToTop. r=mats
My previous patch somehow causes WR to crash and fall back to d2d on Windows,
see bug 1671591.

While I figure that out let's fix TB by restoring the previous behavior
for XUL.

Rename the Root frame type because it's super-confusing that IsRootFrame
is not equivalent to !GetParent().

Differential Revision: https://phabricator.services.mozilla.com/D94105
2020-10-20 16:42:53 +00:00
Ting-Yu Lin
2a4025876e Bug 1660122 Part 6 - Move static function IsXULDisplayType() into nsStyleDisplay. r=emilio
Also rename it to IsXULDisplayStyle() because nsStyleDisplay often has
"Style"-suffix for related helpers.

(Note: IsXULDisplayType() is not used in GetAspectRatio() in the final
revision, but this part is still a good simplification.)

Differential Revision: https://phabricator.services.mozilla.com/D91228
2020-09-29 22:32:57 +00:00
Simon Giesecke
ab6f0a7137 Bug 1650145 - Replace all value uses of Empty[C]String by 0-length _ns literals. r=froydnj,geckoview-reviewers,agi
Differential Revision: https://phabricator.services.mozilla.com/D82325
2020-09-23 15:17:15 +00:00
Emilio Cobos Álvarez
7776a113e4 Bug 1664156 - Remove -moz-suppressed. r=edgar
Per spec we shouldn't behave differently depending on how we blocked the
image/object/etc.

This may have made sense in the past when ad blockers were implemented
via nsIContentPolicy, but I think nowadays it doesn't make sense, and
showing fallback is preferred.

There's a couple extra cleanups we can do after this lands, like
removing HTMLImageElement.imageBlockingStatus and simplifying a bit that
code. But I'll do that in a separate bug.

Differential Revision: https://phabricator.services.mozilla.com/D89912
2020-09-13 11:33:13 +00:00
Noemi Erli
925a3eabd4 Backed out changeset 64eb902728bc (bug 1664156) for causing mochitest failures in test_meta_csp_self.html CLOSED TREE 2020-09-12 22:56:18 +03:00
Emilio Cobos Álvarez
c8930007e1 Bug 1664156 - Remove -moz-suppressed. r=edgar
Per spec we shouldn't behave differently depending on how we blocked the
image/object/etc.

This may have made sense in the past when ad blockers were implemented
via nsIContentPolicy, but I think nowadays it doesn't make sense, and
showing fallback is preferred.

There's a couple extra cleanups we can do after this lands, like
removing HTMLImageElement.imageBlockingStatus and simplifying a bit that
code. But I'll do that in a separate bug.

Differential Revision: https://phabricator.services.mozilla.com/D89912
2020-09-12 17:39:18 +00:00
Emilio Cobos Álvarez
fe8e2251a1 Bug 1664432 - Remove -moz-user-disabled. r=edgar
We treat it exactly the same as -moz-broken. The pseudo-class is not
exposed to content, so I don't think we have a reason to keep it around.

Differential Revision: https://phabricator.services.mozilla.com/D89904
2020-09-11 19:26:40 +00:00
Narcis Beleuzu
fbf78b38f3 Backed out 3 changesets (bug 1308104) for bustages on nsHttp.cpp . CLOSED TREE
Backed out changeset e78791b93526 (bug 1308104)
Backed out changeset b5c1875c11c7 (bug 1308104)
Backed out changeset 9c8433be706e (bug 1308104)
2020-09-10 22:43:25 +03:00
Nicklas Boman
914bd8a6e3 Bug 1308104 - Replace PL_strchr with a safer Gecko string class or function layout/ r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D89327
2020-09-10 17:38:55 +00:00
Nathan Froyd
55437f2e0c Bug 1662251 - stop assigning from NS_Convert* values, mostly; r=sg
This patch was generated by running:

```
perl -p -i \
     -e 's/^(\s+)([a-zA-Z0-9.]+) = NS_ConvertUTF8toUTF16\((.*)\);/\1CopyUTF8toUTF16(\3, \2);/;' \
     -e 's/^(\s+)([a-zA-Z0-9.]+) = NS_ConvertUTF16toUTF8\((.*)\);/\1CopyUTF16toUTF8(\3, \2);/;' \
     $FILE
```

against every .cpp and .h in mozilla-central, and then fixing up the
inevitable errors that happen as a result of matching C++ expressions with
regexes.  The errors fell into three categories:

1. Calling the convert functions with `std::string::c_str()`; these were
   changed to simply pass the string instead, relying on implicit conversion
   to `mozilla::Span`.
2. Calling the convert functions with raw pointers, which is not permitted
   with the copy functions; these were changed to invoke `MakeStringSpan` first.
3. Other miscellaneous errors resulting from over-eager regexes and/or the
   replacement not being type-aware.  These changes were reverted.

Differential Revision: https://phabricator.services.mozilla.com/D88903
2020-09-02 09:54:37 +00:00
longsonr
39b4bba787 Bug 1658455 - Remove eANIMATION and eFILTER from IsNodeOfType r=dholbert
- eANIMATION is the same as testing for SVGAnimationElement
- eFILTER is the same as testing for SVGFE

Differential Revision: https://phabricator.services.mozilla.com/D86695
2020-08-15 10:38:17 +00:00
Daniel Holbert
fafdaef2c0 Bug 1652278 part 2: Flesh out PrintedSheetFrame implementation so that it serves as the container for nsPageFrame. r=TYLin
This patch:
- Creates an anon-box pseudo-style for PrintedSheetFrame, in part so that it
  can co-opt the styles that we formerly gave to page-frames in ua.css, to draw
  the sheet of paper and the shadow in Print Preview.
- Adjusts nsCSSFrameConstructor to create a PrintedSheetFrame as the parent of
  nsPageFrame (inserting between it and its nsPageSequenceFrame container, in
  the frame tree).
- Fleshes out out a simple BuildDisplayList() implementation for
  PrintedSheetFrame (taking the responsibility for "paper"-drawing from
  nsPageFrame).
- Fleshes out a simple Reflow implementation for PrintedSheetFrame, just
  placing the child page (assuming there's only one for now) at the origin.
- Adjusts nsPageFrame and nsPageSequenceFrame to account for the fact that
  there's another layer between them now.

Note that PrintedSheetFrame needs to implement AppendDirectlyOwnedAnonBoxes()
(just as nsSimplePageSequence and nsPageFrame do), since it owns anonymous
nsPageFrame instances. This implementation only needs to append the first
child, as explained in the code-comment and in
https://bugzilla.mozilla.org/show_bug.cgi?id=1374761#c9 (and of course, for
now, PrintedSheetFrame only has one child at a time anyway.)

Differential Revision: https://phabricator.services.mozilla.com/D83457
2020-08-05 03:28:32 +00:00
Tim Nguyen
32742ae85a Bug 558594 - Implement layout for <input type='search'>. r=emilio,masayuki
Differential Revision: https://phabricator.services.mozilla.com/D56302
2020-07-27 12:09:40 +00:00
longsonr
2762063acc Bug 1653848 - Make SVGPaintServer and SVGGradientFrames queryable r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D84102
2020-07-20 18:02:25 +00:00
longsonr
6299f4eaf7 Bug 1652194 - Remove SVGGenericContainerFrame r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D83257
2020-07-16 20:53:36 +00:00
Ting-Yu Lin
f630bc305b Bug 1422908 - Use fieldset frame itself as the aPositionedFrame argument on PushAbsoluteContainingBlock. r=mats
Per documentation, `aPositionedFrame` (the second argument) of
`PushAbsoluteContainingBlock` should be the frame whose style actually
makes the new absolute containing block a containing block, so it should
be the fieldset frame itself, not fieldset's inner frame.

Co-authored-by: Mats Palmgren <mats@mozilla.com>

Differential Revision: https://phabricator.services.mozilla.com/D82651
2020-07-14 17:49:05 +00:00
longsonr
ba1943ecf8 Bug 1259861 - Move everything else into the mozilla namespace in layout/svg r=dholbert
Also: adjust include paths to be consistent for usages of various SVG headers,
and remove unused SVG includes (mostly for "utils" classes),
and drop stray "ns" from already-renamed SVG classes in various code comments.

Differential Revision: https://phabricator.services.mozilla.com/D83140
2020-07-11 02:20:20 +00:00
Kagami Sascha Rosylight
93741338a8 Bug 1630704 - Part 27: Remove nsFrame from inheritance chain r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81864
2020-07-06 22:29:42 +00:00
Simon Giesecke
a69d79b6db Bug 1648010 - Replace uses of NS_LITERAL_STRING/NS_LITERAL_CSTRING macros by _ns literals. r=geckoview-reviewers,jgilbert,agi,hsivonen,froydnj
Differential Revision: https://phabricator.services.mozilla.com/D80860
2020-07-01 08:29:29 +00:00
Kagami Sascha Rosylight
0a3a447bbb Bug 1647525 - Use HasAnyStateBits() in remaining layout files r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81230
2020-06-28 01:00:19 +00:00
Kagami Sascha Rosylight
e59ebb4a53 Bug 1647525 - Use HasAnyStateBits() in nsCSSFrameConstructor r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D81093
2020-06-25 14:23:35 +00:00
Ting-Yu Lin
9b94f53e72 Bug 1644819 Part 2 - Prevent a split frame from being a dynamic reflow root. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D79585
2020-06-13 04:04:13 +00:00
Emilio Cobos Álvarez
6350eead9d Bug 1640917 - Remove XBL mentions in layout. r=mats
Differential Revision: https://phabricator.services.mozilla.com/D76846
2020-05-26 16:16:32 +00:00
Emilio Cobos Álvarez
b9fa2ce48d Bug 1640601 - Also reframe the closest non-anonymous root when switching anonymous content from display: none to something else. r=mats
We were dealing with it correctly when switching display from e.g. block
to inline, or such. But we were not dealing with it when the node was
undisplayed.

Handle it properly, and free one frame bit while at it. We can't really
do this for ManualNAC (the editor resizers) because they request a
reframe explicitly.

Differential Revision: https://phabricator.services.mozilla.com/D76679
2020-05-25 23:54:10 +00:00
Emilio Cobos Álvarez
b1fc84a629 Bug 1640605 - Remove IsInAnonymousSubtree / IsRootOfAnonymousSubtree. r=edgar
In favor of the NativeAnonymous versions which they forward to.

Done automatically with:

  rg -l 'IsInAnonymousSubtree' | xargs sed -i 's/IsInAnonymousSubtree/IsInNativeAnonymousSubtree/g'

And removing the function definitions afterwards.

Differential Revision: https://phabricator.services.mozilla.com/D76681
2020-05-25 11:43:51 +00:00
Emilio Cobos Álvarez
d052acd76c Bug 1640165 - Address TYLin's and clang-format's comments.
Differential Revision: https://phabricator.services.mozilla.com/D76556
2020-05-22 21:55:10 +00:00
Emilio Cobos Álvarez
6c2f6d5168 Bug 1640165 - Use EnumSet for frame construction item flags. r=mats
And remove the XBL_BASE flag because it's unused.

Differential Revision: https://phabricator.services.mozilla.com/D76474
2020-05-22 18:07:48 +00:00
Ting-Yu Lin
7bcfe0c60a Bug 1584890 Part 1 - Use nsFrameConstructorState::AddChild() to construct out-of-flow flex or grid container as the root element. r=dholbert
If `contentFrame` is out-of-flow, nsFrameConstructorState::AddChild() can
construct a placeholder frame for `contentFrame` and put the placeholder in
`frameList`.

Also, we need to use nsFrameConstructorState::GetGeometricParent() to
get the correct parent when calling InitAndRestoreFrame() for an
out-of-flow `contentFrame`. For example, if `contentFrame` has
position:fixed, its parent should be ViewportFrame, not
CanvasFrame (which is mDocElementContainingBlock).

This patch also adds reftests for position:absolute flex & grid root
element. Reftests for position:fixed root element are in the next part.

Differential Revision: https://phabricator.services.mozilla.com/D76205
2020-05-21 23:11:07 +00:00
Cosmin Sabou
ef60a1f745 Backed out 2 changesets (bug 1584890) for crashtest failures on 1608851.html. CLOSED TREE
Backed out changeset 3265c120177f (bug 1584890)
Backed out changeset 057922187f3d (bug 1584890)
2020-05-22 00:49:26 +03:00
Ting-Yu Lin
6e00825ced Bug 1584890 Part 1 - Use nsFrameConstructorState::AddChild() to construct out-of-flow flex or grid container as the root element. r=dholbert
If `contentFrame` is out-of-flow, nsFrameConstructorState::AddChild() can
construct a placeholder frame for `contentFrame` and put the placeholder in
`frameList`.

Also, we need to use nsFrameConstructorState::GetGeometricParent() to
get the correct parent when calling InitAndRestoreFrame() for an
out-of-flow `contentFrame`. For example, if `contentFrame` has
position:fixed, its parent should be ViewportFrame, not
CanvasFrame (which is mDocElementContainingBlock).

This patch also adds reftests for position:absolute flex & grid root
element. Reftests for position:fixed root element are in the next part.

Disable crashtest 1608851.html on Android because it causes OOM crash
after landing this patch.

Differential Revision: https://phabricator.services.mozilla.com/D76205
2020-05-21 18:38:59 +00:00
Csoregi Natalia
e4d0eeb5ff Backed out 2 changesets (bug 1584890) for crashtest failures on 1608851.html. CLOSED TREE
Backed out changeset 1da2faea06e8 (bug 1584890)
Backed out changeset 84d138356c76 (bug 1584890)
2020-05-21 04:05:52 +03:00
Ting-Yu Lin
f4a92243a1 Bug 1584890 Part 1 - Use nsFrameConstructorState::AddChild() to construct out-of-flow flex or grid container as the root element. r=dholbert
If `contentFrame` is out-of-flow, nsFrameConstructorState::AddChild() can
construct a placeholder frame for `contentFrame` and put the placeholder in
`frameList`.

Also, we need to use nsFrameConstructorState::GetGeometricParent() to
get the correct parent when calling InitAndRestoreFrame() for an
out-of-flow `contentFrame`. For example, if `contentFrame` has
position:fixed, its parent should be ViewportFrame, not
CanvasFrame (which is mDocElementContainingBlock).

This patch also adds reftests for position:absolute flex & grid root
element. Reftests for position:fixed root element are in the next part.

Differential Revision: https://phabricator.services.mozilla.com/D76205
2020-05-20 22:32:06 +00:00
Emilio Cobos Álvarez
73fd281e70 Bug 1584935 - Clean up a tiny bit more now that lazyfc is infallible. r=tnikkel
Fairly minor clean-up.

Differential Revision: https://phabricator.services.mozilla.com/D74751
2020-05-13 18:02:53 +00:00
Emilio Cobos Álvarez
fdb31fc148 Bug 1584935 - Enable lazy frame construction everywhere. r=tnikkel
This is only the minimal change, there's cleanup coming afterwards in
follow-up bugs.

Differential Revision: https://phabricator.services.mozilla.com/D74749
2020-05-13 18:02:52 +00:00
Csoregi Natalia
0b1a300610 Backed out 2 changesets (bug 1584935) for accessibility failures on e.g. accessible/tests/mochitest/tree/test_tabbrowser.xhtml CLOSED TREE
Backed out changeset 91e7137acba3 (bug 1584935)
Backed out changeset 28e2781f3026 (bug 1584935)
2020-05-13 09:41:36 +03:00
Emilio Cobos Álvarez
9a967f7bf1 Bug 1584935 - Clean up a tiny bit more now that lazyfc is infallible. r=tnikkel
Fairly minor clean-up.

Differential Revision: https://phabricator.services.mozilla.com/D74751
2020-05-12 22:41:55 +00:00