Commit graph

263 commits

Author SHA1 Message Date
Moonchild
dc12585a82 Issue #1650 - Add null check.
There are situations where nsCSSClipPathinstance->CreateClipPath(dt)
returns null. We need to check for this before trying to use its
functions. If there is no clip path, then always return "no hit".
2020-09-16 21:11:02 +08:00
athenian200
9532970df5 Issue #1641 - Implement CSS flow-root keyword
This is just a clean port of 1322191 and follow-up 1325970. It really seems to add create a new way to access existing code relating to block formatting and floating elements rather than implementing new functionality, and it is mercifully straightforwards.
2020-09-04 22:31:00 +08:00
athenian200
6835425e20 Issue #1629 - Part 2: Implement the Explicitly Enabled flag.
This part of the bug was significantly complicated by the following major refactors:

https://bugzilla.mozilla.org/show_bug.cgi?id=1456435
https://bugzilla.mozilla.org/show_bug.cgi?id=1459498

As best as I can tell, we just need to implement the explicitly enabled
flag on every instance of GetStyleSheetInfo, make sure
aIsExplicitlyEnabled is false in every situation except the one where
the disabled content attribute is removed from a link element, and
enable alternate stylesheets if this flag is set on them. So we take the
explicitly enabled flag as an input to PrepareSheet, and also add it to
LoadStyleLink and LoadInlineStyle. I also decided not to defer loading of
alternate stylesheets that have been explicitly enabled.
2020-08-19 16:21:19 +08:00
Gaming4JC
e3326c56b1 Issue #1620 - Intrinsic Aspect Ratio: Debug Follow up.
Newly introduced aspect-ratio property did not have CSS_PROP_LIST_EXCLUDE_INTERNAL defines, resulting in the following assertion:
\!nsCSSProps::PropHasFlags(p, (1<<28)) (properties defined outside of #ifndef CSS_PROP_LIST_EXCLUDE_INTERNAL sections must not have the CSS_PROPERTY_INTERNAL flag), at ...layout/style/nsCSSProps.cpp:289

This patch resolves the assertion by adding #ifndef around the aspect-ratio property.
2020-08-19 16:20:59 +08:00
Moonchild
07929daad2 [CSS] Alias -webkit-appearance for compatibility reasons
Since this is supported as an alias by Firefox and Edge for the same
reasons and we have websites using this to (attempt to) override the
system-provided styling with their own, leaving out the only supported
keyword we'd otherwise have (with -moz- prefix) but still stating
-webkit-.

TODO: unprefix this completely and make the vendor prefixes aliases.
2020-08-14 08:59:42 +08:00
Andy
c02e424911 Issue #1620 - Remove Development Comments 2020-08-14 08:59:35 +08:00
Andy
be1f68f39e Issue #1620 - Use Intrinsic Aspect Ratio for Images
https://bugzilla.mozilla.org/show_bug.cgi?id=1547231
https://bugzilla.mozilla.org/show_bug.cgi?id=1559094
https://bugzilla.mozilla.org/show_bug.cgi?id=1633434
https://bugzilla.mozilla.org/show_bug.cgi?id=1565690
https://bugzilla.mozilla.org/show_bug.cgi?id=1602047

Make use of Aspect Ratios in Image frames before Images are loaded.
- Check for width and height HTML properties and create a ratio with them.
- Overwrite HTML size values with actual image dimensions on load.
- Collapse any frames with srcless images.

Comments:
dom/html/nsGenericHTMLElement.cpp:1483
layout/generic/nsImageFrame.cpp:289
2020-08-14 08:59:33 +08:00
Andy
f15f44b445 Issue #1619 - Nits Picked 2020-08-06 10:23:13 +08:00
Andy
217374ebf6 Issue #1619 - Add Vertical Writing Testcase
Ensures aspect ratio numerator and denominator aren't swapped in vertical writing modes.
https://bugzilla.mozilla.org/show_bug.cgi?id=1548768
2020-08-06 10:23:11 +08:00
Andy
777b3cc622 Issue #1619 - Missing Dimension Computation
This existed in Firefox before this bug.
I don't know if it came from a previous bug or was removed post-fork.
2020-08-06 10:23:09 +08:00
Andy
3c02d3fc0d Issue #1619 - Convert Intrinsic Ratio to Float
https://bugzilla.mozilla.org/show_bug.cgi?id=1547792

Aspect Ratio handling simplified by using floating point integers:
- Multiplication of value (or inverse value) to a known side for Scaling
- No unequal equal values such as "4/3" vs "8/6" vs "20/15"
- Truly "Empty" aspect ratios, even if one dimension is not 0
2020-08-06 10:23:07 +08:00
Lootyhoof
564f1026d5 Issue MoonchildProductions/UXP#1578 - Add global menubar support for GTK 2020-06-10 21:00:30 +08:00
win7-7
48b7e80724 issue #1575 - Fix the wrong position when we calculate the position for position:absolute child and add reftests
Use |GetUsedBorder| instead of |GetComputedBorder| when we calculate the position for position:absolute child.
2020-06-06 07:21:30 +08:00
wolfbeast
5416b4294b Issue #1564 - Split off nsIdentifierMapEntry in its own header
+ Fix dependency fallout from removing nsDocument.h from ShadowRoot.h
2020-05-30 07:13:02 +08:00
Moonchild
3150645426 [permissions] Fix build bustage with --disable-permissions 2020-05-23 06:57:05 +08:00
Moonchild
a13f638d23 [printing] Fix build bustage with --disable-printing 2020-05-23 06:57:02 +08:00
Moonchild
5f14f0126f Issue #1538 - remove speech recognition engine
This removes speech recognition, pocketsphinx, training models
and the speech automated test interface.
This also re-establishes proper use of MOZ_WEBSPEECH to work
for the speech API (synthesis part only) that was a broken mess
before, with some synth parts being always built, some parts
being built only with it enabled and recognition parts being
dependent on it. I'm pretty sure it'd be totally busted if you'd
ever have tried building without MOZ_WEBPEECH before.

Tested that synthesis still works as-intended.

This resolves #1538
2020-05-23 06:56:16 +08:00
win7-7
edaea616b3 issue #1547 - Correct z-ordering for some table parts and add reftests 2020-05-16 06:49:44 +08:00
win7-7
c399e1938f Issue #1545 - Fix border-radius on table row groups, rows, column groups, or columns
Before issue #146, border-radius on row groups, rows, column groups, or columns don't apply to the background of each cell, yet the border-radius on the cell itself does.

After issue #146, the behaviors changed. In this patch, I tried to revert the behaviors of border-radius on table row groups, rows, column groups, or columns back to what happened before issue #146.

Also: Don't override GetBorderRadii in nsBCTableCellFrame.
2020-05-16 06:49:41 +08:00
Moonchild
4ac82173d9 Issue #1543 - Follow-up: avoid displaying the Alt text if an image is loading.
This prevents the Alt text from briefly being shown before being replaced
with the image.
2020-05-16 06:49:19 +08:00
Moonchild
db14a637c4 Issue #1543 - Align <img> with no src to the updated spec. 2020-05-16 06:49:14 +08:00
win7-7
e87c06beb3 Issue #1355 - Fix the nit, remove nsPoint offset in nsFrame.cpp and change PresShellState member order 2020-05-16 06:48:49 +08:00
win7-7
9c783146b2 Issue #1355 - Better way to create display items for column backgrounds
Part 1: Remove current table item, as it's never set.

Part 2: Get rid of generic table painting code, and handle each class separately.

Part 4: Hoist outline skipping into col(group) frame code.

Part 5: Skip box-shadow for table column and column groups.

Part 6: Store column and column group backgrounds separately, and then append them before the rest of the table contents.

Part 7: Pass rects in display list coordinates to AppendBackgroundItemsToTop.

Part 8: Create column and column group background display items as part of the cell's BuildDisplayList.

Part 9: Used cached values instead of calling nsDisplayListBuilder::ToReferenceFrame when possible, since it can be expensive when the requested frame isn't the builder's current frame.

Part 10: Make sure we build display items for table parts where only the normal position is visible, since we may need to create background items for ancestors at that position.

Part 11: Create an AutoBuildingDisplayList when we create background items for table columns and column groups, so that we initialize the invalidation state correctly.
2020-05-16 06:48:45 +08:00
win7-7
15794686d6 Issue #1355 - SetNeedToCalcHasBCBorders to true when initialize nsTableFrame
In the printing preview, we create continuous table frame if table is too long to containing in a page. But the default value of NeedToCalcHasBCBorders is false which means we don't calculate HasBCBorders for continuous table frame. Thus, the border collapse is not shown when printing preview.
2020-05-16 06:48:43 +08:00
win7-7
da0e3a828b Issue #1355 - Avoid unnecessary work in nsIFrame::BuildDisplayListForStackingContext() and nsIFrame::BuildDisplayListForChild() and Cleanup DescendIntoChild
Bug 1441796 - Part 1: Optimize the (pseudo)-stacking context conditions

Bug 1441796 - Part 3: Reuse the results in nsIFrame::BuildDisplayListForStackingContext() for ChildrenHavePerspective(), IsTransformed(), and Combines3DTransformWithAncestors()

Bug 1512244 - Part 1: Cleanup DescendIntoChild
2020-05-16 06:48:40 +08:00
win7-7
e15b1ba0ec Issue #1355 - Preemptively fix build bustage for 1409114 2020-05-16 06:48:36 +08:00
win7-7
85b85bac28 Issue #1355 - Store the dirty rect on the display list builder rather than passing it as a parameter to BuildDisplayList
Also fix build bustage for De-unified layout/xul in nsRootBoxFrame.cpp
2020-05-16 06:48:33 +08:00
adeshkp
d7d96314fe Issue #80 - Include nsIContentInlines.h in layout/base/PositionedEventTargeting.cpp 2020-05-02 08:28:47 +08:00
Moonchild
f1ea74a049 Issue #80 - Resolve issues with compiling on insane gcc configurations with no optimizations in layout/
(and fix a typo for cs fs)
2020-05-02 08:28:44 +08:00
Moonchild
22a865ad05 Issue #80 - De-unify layout/xul and tree, grid 2020-05-02 08:28:42 +08:00
Moonchild
a892cb0808 Issue #80 - De-unify layout/tables 2020-05-02 08:28:38 +08:00
Moonchild
e68128d9ca Issue #80 - De-unify layout/svg 2020-05-02 08:28:35 +08:00
Moonchild
f7493bacb5 Issue #80 - De-unify layout/style 2020-05-02 08:28:32 +08:00
Moonchild
1b39899185 Issue #80 - De-unify layout/printing 2020-05-02 08:28:29 +08:00
Moonchild
aaa7be1091 Issue #80 - De-unify layout/PITA... I mean layout/generic 2020-05-02 08:28:25 +08:00
Moonchild
118743b970 Issue #80 - De-unify layout/base 2020-05-02 08:28:22 +08:00
Matt A. Tobin
399b79ff71 Issue #80 - De-unify layout/mathml 2020-05-02 08:20:01 +08:00
Matt A. Tobin
241c3b3200 Issue #80 - De-unify layout/forms 2020-05-02 08:19:59 +08:00
Matt A. Tobin
5c75628bdf Issue #80 - De-unify /layout/inspector 2020-05-02 08:19:02 +08:00
Matt A. Tobin
ae6ffa021d Issue #80 - De-unify /layout/tools/layout-debug/src 2020-05-02 08:19:01 +08:00
Matt A. Tobin
a229cbf418 Issue #80 - De-unify /layout/ipc 2020-05-02 08:18:59 +08:00
Matt A. Tobin
c01910dbae Issue #80 - De-unify /layout/build 2020-05-02 08:18:57 +08:00
Matt A. Tobin
ca48752304 Issue #1375 - Fix IsWebComponentsEnabled checks 2020-04-18 07:07:00 +08:00
Matt A. Tobin
b8260c664a Bug 1425769 - Base class for ShadowRoot and Document to manage style state
Tag #1375
2020-04-18 07:06:51 +08:00
Matt A. Tobin
9fdf69e567 Issue #80 - De-unify dom/base
Tag #1375
2020-04-18 07:06:46 +08:00
Matt A. Tobin
93421ff24c Bug 1322661 - Expose (non-XBL) style sheets to devtools
Tag #1375
2020-04-18 07:06:42 +08:00
Matt A. Tobin
6f7c738266 Bug 1417829 - Remove unresolved pseudoclass
Tag #1375
2020-04-18 07:06:35 +08:00
Matt A. Tobin
d9112daf48 Bug 1426536 - Remove nsContentUtils::IsContentInsertionPoint
Tag #1375
2020-04-18 07:06:29 +08:00
Matt A. Tobin
ca09afd0b0 Bug 1422197 - Add fast path to get DocGroup in binding code for [CEReactions]
Tag #1375
2020-04-18 07:06:12 +08:00
Matt A. Tobin
fc8fcfc039 Bug 1419762 - Return the inline continuation of an IB split when appending
Tag #1375
2020-04-18 07:06:09 +08:00