Commit Graph
144 Commits
Author SHA1 Message Date
Frédéric Wang 1b3444926e Bug 1883950 - Remove dead code for MathML invalid markup. r=layout-reviewers,emilio
Differential Revision: https://phabricator.services.mozilla.com/D203788
2024-03-06 19:10:07 +00:00
Emilio Cobos Álvarez 529c9ee321 Bug 1839922 - Remove usage of {Has,Get}Attr(kNameSpaceID_None, ..). r=edgar
We have more readable and faster versions (that just omit the namespace
arg).

Mostly done via sed, with a couple helpers to use the faster lookups
where possible.

Differential Revision: https://phabricator.services.mozilla.com/D181795
2023-06-23 10:01:32 +00:00
sskcvqikf 9a203ce2a6 Bug 1797012 - Change NS_STYLE_MATH_STYLE_* macros to enum StyleMathStyle. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160016
2022-10-24 17:47:34 +00:00
Marian-Vasile Laza b44b3fb628 Backed out changeset f39d284f4db7 (bug 1797012) for causing wpt failures on frac-1.html. CLOSED TREE 2022-10-24 15:46:12 +03:00
sskcvqikf 97899b4a8d Bug 1797012 - Change NS_STYLE_MATH_STYLE_* macros to enum StyleMathStyle. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D160016
2022-10-24 09:29:05 +00:00
Frederic Wang dd28ddbf98 Bug 1783995 - Remove MathML preference deprecated_menclose_notation_radical. r=emilio
- Remove the preference and corresponding tests.
- nsMathMLmencloseFrame continues to implement the radical notation for
  now, since it's still used by nsMathMLmsqrtFrame. Ideally, we should
  refactor our code so that msqrt/mroot share the same implementation.

Differential Revision: https://phabricator.services.mozilla.com/D154194
2022-08-15 08:55:50 +00:00
Daniel Holbert 4a2ce32ff4 Bug 1754295 part 2: Fix non-unified build errors in layout/mathml, and mark it as safe to build in non-unified mode. r=TYLin
Build errors fixed here:

layout/mathml/nsMathMLmpaddedFrame.h:68:14: error: field has incomplete type 'nsCSSValue'

* Fixed by including this type's header.

[various files]: error: use of undeclared identifier 'nsLayoutUtils'

* Fixed by including the nsLayoutUtils header.

[various files]: error: member access into incomplete type 'mozilla::dom::Element'

* These are for calls to [something]->AsElement()->HasAttr() and SetAttr(). Fixed by including Element.h in all affected .cpp files.

[various files]: error: member access into incomplete type 'nsINode::Document' (aka 'mozilla::dom::Document')

* These are for calls to mContent->OwnerDoc()->WarnOnceAbout(). Fixed by including Document.h in all affected files.

Depends on D138202

Differential Revision: https://phabricator.services.mozilla.com/D138203
2022-02-08 23:29:56 +00:00
Miko Mynttinen 8df6649834 Bug 1720804 - Part 1: Move majority of the display list code inside mozilla namespace r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D120041
2021-07-19 11:28:20 +00:00
Alexandru Michis 9b9c5fe24e Backed out 2 changesets (bug 1720804) for causing bustages.
CLOSED TREE

Backed out changeset 5278e88c6d34 (bug 1720804)
Backed out changeset 1acb4ed79b6b (bug 1720804)
2021-07-16 18:10:11 +03:00
Miko Mynttinen 397ffc88e1 Bug 1720804 - Part 1: Move majority of the display list code inside mozilla namespace r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D120041
2021-07-16 14:36:34 +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
Frederic Wang d1307efb2f Bug 1665975 - Implement the math-style property. r=emilio
This patch renames the internal -moz-math-display to math-style and
exposes it under the layout.css.math-style.enabled preference. The
initial value becomes "normal" but that does not affect the default
MathML behavior since the UA style sheet sets the math-style property
explicitly on <math> tags. WPT tests are updated to use the syntax
approved by the CSSWG.

Intent to prototype: https://groups.google.com/forum/#!msg/mozilla.dev.platform/1hQQ7ISudGo/_yLEckEeBQAJ

Differential Revision: https://phabricator.services.mozilla.com/D90731
2020-09-23 13:04:48 +00:00
Narcis Beleuzu 35a6a3358d Backed out changeset 9480237e1e6f (bug 1665975) for xpcshell failure on test_css-properties-db.js. CLOSED TREE 2020-09-23 13:06:21 +03:00
Frederic Wang f64410ed17 Bug 1665975 - Implement the math-style property. r=emilio
This patch renames the internal -moz-math-display to math-style and
exposes it under the layout.css.math-style.enabled preference. The
initial value becomes "normal" but that does not affect the default
MathML behavior since the UA style sheet sets the math-style property
explicitly on <math> tags. WPT tests are updated to use the syntax
approved by the CSSWG.

Intent to prototype: https://groups.google.com/forum/#!msg/mozilla.dev.platform/1hQQ7ISudGo/_yLEckEeBQAJ

Differential Revision: https://phabricator.services.mozilla.com/D90731
2020-09-23 08:14:38 +00:00
Bogdan Tara 927f3a012a Backed out changeset 0da5103ba772 (bug 1665975) for mozglue_static::panic_hook mass crashes CLOSED TREE 2020-09-21 10:07:03 +03:00
Frederic Wang a965428c15 Bug 1665975 - Implement the math-style property. r=emilio
This patch renames the internal -moz-math-display to math-style and
exposes it under the layout.css.math-style.enabled preference. The
initial value becomes "normal" but that does not affect the default
MathML behavior since the UA style sheet sets the math-style property
explicitly on <math> tags. WPT tests are updated to use the syntax
approved by the CSSWG.

Intent to prototype: https://groups.google.com/forum/#!msg/mozilla.dev.platform/1hQQ7ISudGo/_yLEckEeBQAJ

Differential Revision: https://phabricator.services.mozilla.com/D90731
2020-09-21 05:41:51 +00:00
Emilio Cobos Álvarez 17cbdc33b7 Bug 1449401 - Remove moz-math-anonymous ua-only pseudo. r=heycam
We do not expose it nor ever style it. Just use the parent style all the
time. This avoids problematic style resolution calls during reflow.

Differential Revision: https://phabricator.services.mozilla.com/D84358
2020-07-21 22:35:46 +00:00
Miko Mynttinen 67d97b09a7 Bug 1554499 - Part 8: Remove index from nsDisplayMathMLCharForeground, nsDisplayMathMLBar, nsDisplayNotation r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D74087
2020-05-11 16:57:08 +00:00
Simon Giesecke ea268054bd Bug 1628715 - Part 7: Add MOZ_NONNULL_RETURN to infallible nsTArray::AppendElements. r=xpcom-reviewers,necko-reviewers,nika,valentin
Differential Revision: https://phabricator.services.mozilla.com/D70831
2020-04-24 13:31:14 +00:00
Simon Giesecke e613597e90 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in layout. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D66016
2020-03-17 09:38:32 +00:00
Simon Giesecke 459f898390 Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

Differential Revision: https://phabricator.services.mozilla.com/D62604
2020-02-20 11:40:14 +00:00
Dorel Luca ccba316db1 Backed out 2 changesets (bug 1613985) for Build bustage on Windows2012. CLOSED TREE
Backed out changeset fd177b40b561 (bug 1613985)
Backed out changeset fb6d62b7f28d (bug 1613985)
2020-02-19 22:22:41 +02:00
Simon Giesecke 037dd3192f Bug 1613985 - Use MOZ_COUNTED_DEFAULT_CTOR_*/MOZ_COUNTED_DTOR_* macros. r=froydnj
This removes the need for explicit #ifdef NS_BUILD_REFCNT_LOGGING without
introducing user-defined destructors when it is not defined.

Also, some uses of virtual for declaring destructors are replaced by the
appropriate override declaration through these changes.

Differential Revision: https://phabricator.services.mozilla.com/D62604
2020-02-19 18:05:38 +00:00
Emilio Cobos Álvarez 79768ff848 Bug 1611181 - Make direction use an enum class. r=boris
Differential Revision: https://phabricator.services.mozilla.com/D60857
2020-01-24 11:46:14 +00:00
Sebastian Hengst 313684c5ac Backed out 5 changesets (bug 1554499) for frequent crashes, at least on OS X (bug 1594381). a=backout
Backed out changeset 3a49bec95338 (bug 1554499)
Backed out changeset c802ab8cc730 (bug 1554499)
Backed out changeset f60fee484460 (bug 1554499)
Backed out changeset a49d1c9e8b14 (bug 1554499)
Backed out changeset 133cddb65f59 (bug 1554499)
2019-11-06 14:29:12 +01:00
Alexis Beingessner d24d03ca45 Bug 1554499 - Rename PerFrameKey -> PerFrameIndex for most methods r=mattwoodrow
This distinguishes better between the overloaded aspect of the PerFrameKey and the
actual mixed value.

Depends on D37803

Differential Revision: https://phabricator.services.mozilla.com/D37804
2019-11-05 15:09:04 +00:00
Alexis Beingessner 9b2f10ec33 Bug 1554499 - change ComputePerFrameKey to be a static method. r=mattwoodrow
This static method is assumed to have the same signature as the type's constructor,
and so we must have an implementation of ComputePerFrameKey for each constructor
a display item provides that is called by MakeDisplayItem. Notably this excludes
the MakeClone constructor for a lot of items.

There is a default varargs implementation on nsDisplayItem which everyone
inherits by default, so types which previously didn't overload this method
still don't need to.

Providing an implementation of ComputePerFrameKey on some display item type
shadows the varargs implementation, so one doesn't need to worry about overloading
one constructor but forgetting about another -- if you do, the compiler will only
see the overload and complain that the signature doesn't match.

One slightly annoying result of this is that display items which previously
inherited an overloaded implementation from a superclass now must provide
their own manual implementations. Although as far as I could tell, all of
those cases had a trivial implementation of key=0 (the super class supported
custom keys but the subclasses didn't make use of it).

In those cases I just hardcoded key=0, but it's possible that it would be
better to call into the superclass' implementation to be more robust to changes.

Differential Revision: https://phabricator.services.mozilla.com/D37803
2019-11-05 15:08:53 +00:00
Sylvestre Ledru 8f8dfaae6a Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
Please note that it is the first reformat with clang-format 9
I only saw a fix in the .mm file

# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D49056
2019-10-21 14:13:44 +00:00
Frederic Wang d85add20de Bug 1548522 - Remove support for the menclose's "radical" notation. r=emilio
See https://groups.google.com/forum/#!topic/mozilla.dev.platform/vwAkuZIEhnY

* Introduce a new preference option to disable menclose's "radical" notation.
* Disable the notation in Nightly and when running WPT tests.
* Enable the notation in other channels together with a counter and
  deprecation warning.
* Update WPT test legacy-menclose-radical-notation.html
  - Fix test: "radical" should be equivalent to "", which is not the same as
    the default value "longdiv".
    See https://github.com/mathml-refresh/mathml/issues/144
  - Add a test "box radical" which should be equivalent to "box".
  - Remove failure expectation.
* Enable the radical notation for MathML reftests testing it.

Differential Revision: https://phabricator.services.mozilla.com/D46721
2019-10-03 21:37:03 +00:00
Cosmin Sabou 845cff4f4d Backed out changeset d2613eaa1369 (bug 1548522) for reftest failures on legacy-menclose-radical-notation.html. 2019-10-03 23:15:50 +03:00
Frederic Wang 256c3bd66f Bug 1548522 - Remove support for the menclose's "radical" notation. r=emilio
See https://groups.google.com/forum/#!topic/mozilla.dev.platform/vwAkuZIEhnY

* Introduce a new preference option to disable menclose's "radical" notation.
* Disable the notation in Nightly and when running WPT tests.
* Enable the notation in other channels together with a counter and
  deprecation warning.
* Update WPT test legacy-menclose-radical-notation.html
  - Fix test: "radical" should be equivalent to "", which is not the same as
    the default value "longdiv".
    See https://github.com/mathml-refresh/mathml/issues/144
  - Add a test "box radical" which should be equivalent to "box".
  - Remove failure expectation.
* Enable the radical notation for MathML reftests testing it.

Differential Revision: https://phabricator.services.mozilla.com/D46721
2019-10-02 00:01:12 +00:00
Brindusan Cristian 043b003a06 Backed out 2 changesets (bug 1554499) for mochitest failures at test_restyles.html.
Backed out changeset 1a6a6a38c987 (bug 1554499)
Backed out changeset 789e5d3fcf18 (bug 1554499)
2019-07-18 21:36:22 +03:00
Alexis Beingessner 795f9b692e Bug 1554499 - Rename PerFrameKey -> PerFrameIndex for most methods r=mattwoodrow
This distinguishes better between the overloaded aspect of the PerFrameKey and the
actual mixed value.

Differential Revision: https://phabricator.services.mozilla.com/D37804
2019-07-17 20:13:20 +00:00
Alexis Beingessner 5869391b0b Bug 1554499 - change ComputePerFrameKey to be a static method. r=mattwoodrow
This static method is assumed to have the same signature as the type's constructor,
and so we must have an implementation of ComputePerFrameKey for each constructor
a display item provides that is called by MakeDisplayItem. Notably this excludes
the MakeClone constructor for a lot of items.

There is a default varargs implementation on nsDisplayItem which everyone
inherits by default, so types which previously didn't overload this method
still don't need to.

Providing an implementation of ComputePerFrameKey on some display item type
shadows the varargs implementation, so one doesn't need to worry about overloading
one constructor but forgetting about another -- if you do, the compiler will only
see the overload and complain that the signature doesn't match.

One slightly annoying result of this is that display items which previously
inherited an overloaded implementation from a superclass now must provide
their own manual implementations. Although as far as I could tell, all of
those cases had a trivial implementation of key=0 (the super class supported
custom keys but the subclasses didn't make use of it).

In those cases I just hardcoded key=0, but it's possible that it would be
better to call into the superclass' implementation to be more robust to changes.

Differential Revision: https://phabricator.services.mozilla.com/D37803
2019-07-17 20:24:30 +00:00
Miko Mynttinen 5be1561bbc Bug 1549751 - Part 2: Add nsPaintedDisplayItem r=mattwoodrow
Move ApplyOpacity(), CanApplyOpacity(), Paint() and PaintWithClip() methods to nsPaintedDisplayItem

Differential Revision: https://phabricator.services.mozilla.com/D30225
2019-05-08 13:49:56 +00:00
Miko Mynttinen 576eb2d033 Bug 1540785 - Part 2: Devirtualize nsDisplayItemBase::GetPerFrameKey() r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D27580
2019-04-22 19:58:01 +00:00
Masayuki Nakano ad09cbb08f Bug 1544343 - part 2: Make factory methods take mozilla::PresShell instead of nsIPresShell r=emilio
Additionally, this patch makes `nsFrame.h` stop including `nsIPresShell.h`
and makes each users include `mozilla/PresShell.h` instead.  So, this improves
rebuild performance of `nsIPresShell.h` (and `mozilla/PresShell.h` in the
future).

Note that due to `nsIFrame::PresShell()`, `mozilla::` prefix is necessary for
`PresShell` in a lot of classes which are derived from `nsIFrame` even in
`.cpp` files.

Differential Revision: https://phabricator.services.mozilla.com/D27476
2019-04-16 07:24:49 +00:00
Matt Woodrow 5ff5f07450 Bug 1539673 - Support fallible display item construction. r=miko
Differential Revision: https://phabricator.services.mozilla.com/D25167
2019-04-01 16:53:11 +00:00
Ryan Hunt a96492f0f6 Bug 1523969 part 14 - Move method definition inline comments to new line in 'layout/'. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D21115
2019-02-25 16:09:24 -06:00
Emilio Cobos Álvarez df05b5492b 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
Sylvestre Ledru e5a134f73a Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset
2018-11-30 11:46:48 +01:00
Gerald Squelart 2fb29c9da2 Bug 1488684 - Made nsIFrame-derived classes and some others 'final' where possible - r=dbaron
All classes deriving from nsIFrame that did not have any subclasses themselves
(at the time of writing this patch) have been marked with `final`.
Some other Layout classes have also been made final, but this was opportunistic
while working on nsIFrame subclasses, and is definitely not exhaustive, further
patches welcome; refer to bug 1332680.

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

Differential Revision: https://phabricator.services.mozilla.com/D5020
2018-09-06 01:23:14 +00:00
Chris Peterson f7ceeaf5cf Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr
2018-06-17 22:43:11 -07:00
Jonathan Watt baf9ffb02b Bug 1448714 - Fix up comments referring to 'style context' after the rename of nsStyleContext. r=emilio 2018-03-23 13:49:21 +00:00
Emilio Cobos Álvarez 1d4859a89a Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt on a CLOSED TREE
MozReview-Commit-ID: JPopq0LudD
2018-03-22 20:06:24 +01:00
Emilio Cobos Álvarez 97286b35c8 Back out changeset b683bb3f22a1 (Bug 1447483) for not landing with all the files. r=me on a CLOSED TREE
This reverts commit 1808914126bb9f9e4a82d2c3d7ac961885fe7d62.

MozReview-Commit-ID: 5skESBseEvo
2018-03-22 20:05:22 +01:00
Emilio Cobos Álvarez 1f5d8de5cc Bug 1447483: Merge nsStyleContext and ServoStyleContext, rename to ComputedStyle. r=jwatt
MozReview-Commit-ID: JPopq0LudD
2018-03-22 19:48:42 +01:00
Matt Woodrow 6f1864699b Bug 1436904 - Part 1: Add a static constructor function for display items. r=Bas 2018-02-13 13:43:28 +13:00
Dorel Luca 3276af0faa Backed out 3 changesets (bug 1436904) for many crashes see bugs: 1440281, 1440302, 1440303, 1440313. a=backout
Backed out changeset 27f0762d4472 (bug 1436904)
Backed out changeset 27640f52e188 (bug 1436904)
Backed out changeset 2b4d117c27dc (bug 1436904)
2018-02-22 17:28:59 +02:00
Matt Woodrow 2bcbca93c9 Bug 1436904 - Part 1: Add a static constructor function for display items. r=Bas 2018-02-13 13:43:28 +13:00