Commit Graph

95 Commits

Author SHA1 Message Date
athenian200 a2c26490b4 Issue #1673 - Part 3: Bring minimum tab advance up to spec.
This provides a clearer rule for the minimum tab advance that brings us to alignment with the spec and both major browsers.
2020-10-28 14:17:16 -05:00
athenian200 7c2bcc48c4 Issue #1673 - Part 2: Make tab-size animatable and fix typos.
There were a few typos in the previous patch and this patch also makes tab-size animatable which didn't really require much of a change at all.
2020-10-28 14:17:02 -05:00
athenian200 49765b53af Issue #1673 - Part 1: Allow tab-size to accept <length>.
Currently -moz-tab-size only accepts <number> values, and both Chrome and Firefox currently support <length> values and have for some time now. So with this you would be able to support sizes in px or em, for instance. This was implemented in Firefox 53 and was trivial to backport.
2020-10-28 14:16:42 -05:00
Moonchild e8ae76d473 Merge branch 'master' of https://github.com/MoonchildProductions/UXP 2020-10-20 09:52:16 +00:00
Moonchild 5072843ee3 Issue #1671 - Unprefix ::-moz-selection
This actually keeps both pseudo-elements for now, since the prefixed version is
still used internally, but we need the unprefixed version for web compat.
Note: while unprefixing a non-spec-compliant pseudo here, it's exactly in line
with what other browsers do. Nobody is following the spec here and at least
we'll be doing what everyone else is with our unprefixed version.
2020-10-20 09:49:51 +00:00
athenian200 95b4e5084b Merge branch 'master' of https://github.com/MoonchildProductions/UXP into caret_color 2020-10-18 10:45:55 -05:00
athenian200 1fc996152b Issue #1668 - Part 2: Visited color and auto support for caret-color property.
Mozilla's original implementation of this failed a couple of tests, but this seems to solve all the problems. Basically, the caret-color wasn't able to be set differently based on whether a link was visited, and the auto value implementation was incomplete. The only test we fail now is the one where you have grey text on a grey background and the caret is supposed to be visible, but I think that may have been removed from the spec. Even if it wasn't, no other browser supports it anyway.
2020-10-18 10:12:53 -05:00
athenian200 8e3832bacb Issue #1668 - Part 1: Implement support for caret-color property.
This CSS property allows input carets (that blinking input cursor you see in text fields), to be given a custom color. This was implemented in Firefox 53, and it was such a minor feature that no one ever missed it, but I don't see any harm in implementing this.

https://bugzilla.mozilla.org/show_bug.cgi?id=1063162
2020-10-18 10:04:12 -05:00
Moonchild dadef50bdc Issue #1666 - Implement overflow-wrap: anywhere
This aligns with the current spec regarding overflow-wrap: break-word and
overflow-wrap: anywhere in if it affects intrinsic sized due to considering
soft-wrap opportunities or not.
See CSS Text Module Level 3, Editor’s Draft, 1 October 2020, Section 5.5
2020-10-03 14:52:47 +00:00
Moonchild 8e18743ab8 Issue #1665 - Take overflow-wrap into account when calculating min-content intrinsic size. 2020-10-03 12:45:27 +00:00
Moonchild d5a2c45aad Issue #1656 - Part 6: Clean up the build files 2020-09-23 15:52:00 +00:00
Moonchild 7523b9ea04 Issue #1656 - Part 4: Manual cleanup 2020-09-23 15:37:46 +00:00
Moonchild 528b88d704 Issue #1656 - Part 3: Nuke more vim config lines in the tree.
Another S&R run with some smarter matching.
2020-09-23 15:14:30 +00:00
Moonchild 5d97621bb9 Issue #1656 - Part 2b: Unmangle one more lost little UTF-8 victim. 2020-09-23 14:57:31 +00:00
Moonchild 7572f37186 Issue #1656 - Part 2: Unmangle some unfortunate UTF-8 victims.
The poor fellows got lost in an ASCII-interpretation of the world.
2020-09-23 14:52:16 +00:00
Moonchild a680bdc637 Issue #1656 - Part 1: Nuke most vim config lines in the tree.
Since these are just interpreted comments, there's 0 impact on actual code.
This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are
a few others scattered around which will be removed manually in a second part.
2020-09-23 13:55:00 +00:00
athenian200 6b2c3b61b1 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-03 18:55:28 -05:00
Andy 644f617e66 Issue #1620 - Remove Development Comments 2020-08-07 14:31:36 -07:00
Andy 3ed884a6ad 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-04 13:56:45 -07:00
Andy a90b8d98e8 Issue #1619 - Nits Picked 2020-08-02 08:01:58 -07:00
Andy ba0a2e796d 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-01 20:54:54 -07:00
Andy 232f987cf4 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-07-31 13:01:18 -07:00
Moonchild fdb918dea1 Merge pull request #1576 from win7-7/1379306-pr
Fix the wrong position when we calculate the position for position:absolute child
2020-06-04 21:34:32 +02:00
win7-7 fb564353f2 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-02 11:55:46 +03:00
Moonchild f828451e5f Issue #1525 - Kill marquee element
* Remove marquee code
* Regenerate HTML Elements/parser code for Removal of Marquee.

Co-authored-by: Gaming4JC <g4jc@hyperbola.info>
2020-06-01 14:16:06 +02:00
athenian200 a965486fcb Revert "Merge pull request #1357 from athenian200/form-disabled-issue"
This reverts commit ed88b99849, reversing
changes made to c4b0715baa.
2020-05-20 23:25:37 -05:00
Moonchild d3b19e64a3 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-12 18:28:25 +00:00
Moonchild 0f590122c5 Issue #1543 - Align <img> with no src to the updated spec. 2020-05-11 23:17:47 +00:00
win7-7 f9047ff63d Issue #1355 - Fix the nit, remove nsPoint offset in nsFrame.cpp and change PresShellState member order 2020-05-10 15:00:08 +03:00
win7-7 64ffe81c55 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-08 15:27:28 +03:00
win7-7 58219fc214 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-08 15:24:02 +03:00
win7-7 130df5da4f Issue #1355 - Preemptively fix build bustage for 1409114 2020-05-08 15:22:22 +03:00
win7-7 f102e7f80d 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-08 15:20:01 +03:00
Moonchild 18b2328bb6 Issue #80 - Resolve issues with compiling on insane gcc configurations with no optimizations in layout/
(and fix a typo for cs fs)
2020-05-01 11:14:26 +00:00
Moonchild 192d2e07c3 Issue #80 - De-unify layout/PITA... I mean layout/generic 2020-04-29 16:55:02 +00:00
Matt A. Tobin 010f37f47b Bug 1422197 - Add fast path to get DocGroup in binding code for [CEReactions]
Tag #1375
2020-04-17 07:29:57 -04:00
Matt A. Tobin 55d83ea6f9 Bug 1381134 - Ensure we're using the correct frame for the :after/:before references
Tag #1375
2020-04-17 06:38:06 -04:00
Matt A. Tobin 70c8ff8e5a Bug 1377978 - Make nsRange use uint32_t to offset
Tag #1375
2020-04-17 06:10:23 -04:00
Matt A. Tobin 53428ad3f0 Bug 1377648 - Fix HTMLSummaryElement::IsSummary() on removing the element
* Use inFlowFrame to check the target frame is summary and its parent is details
* Check summary frame instead of summary element on removing the summary

Tag #1375
2020-04-17 06:09:37 -04:00
Matt A. Tobin 0c99ad16fb Bug 1368547 - Remove nsFrameManagerBase::mPlaceholderMap and instead store the placeholder on a frame property on the out-of-flow
Tag #1375
2020-04-17 06:07:51 -04:00
Matt A. Tobin 940d191ef8 Bug 1367683 - Optimize initializing nsRange
Tag #1375
2020-04-17 05:28:43 -04:00
Matt A. Tobin 7614fdb51b Bug 1355351 - Make pseudo-elements return the correct style via getComputedStyle
* Add a node property to access the ::before and ::after pseudo-elements
* Look for the frame for ::before and ::after pseudos
* Clean up pseudo-element props
* Simplify nsLayoutUtils callers, and make child iterators notice display: contents pseudos

Tag #1375
2020-04-17 05:10:25 -04:00
Matt A. Tobin 1f5c67934f Bug 1343937 - Fix a crash in nsWrapperCache.h
* Implement and use GetInFlowParent
* Exempt scrollbar NAC from the new NAC semantics

Tag #1375
2020-04-16 17:52:30 -04:00
Matt A. Tobin 32c3ee92b8 Bug 1340885 - Null check frame's content when searching for NAC ancestors in GetCorrectedParent
Tag #1375
2020-04-16 16:42:26 -04:00
Matt A. Tobin 4375774c90 Bug 1331322 - Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time
* Stop using a node bit for HasExplicitBaseURI
* Move MAY_HAVE_CLASS to mBoolFlags
* Add a flag to indicate that a node is native anonymous content
* Allow tagging of pseudo-implementing native anonymous content with the pseudo type at creation time, and eliminate explicit style contexts in nsIAnonymousContentCreator::ContentInfo

Tag #1375
2020-04-16 16:37:28 -04:00
Matt A. Tobin 4e2b4b9bc7 Bug 1334358 - Remove nsCSSFrameConstructor::CreateAnonymousFrames
Tag #1375
2020-04-14 23:27:56 -04:00
Matt A. Tobin e215bfbb80 Bug 1334247 - Remove nsIAnonymousContentCreator::CreateFrameFor
Tag #1375
2020-04-14 22:04:32 -04:00
Matt A. Tobin bebec8fcb8 Bug 1321284 - Crash in nsCSSFrameConstructor::GetInsertionPrevSibling when trying to reframe native anonymous content
* Make StyleChildrenIterator skip NAC generated by root element primary frame ancestors.
* Add nsINode::GetFlattenedTreeParentNodeForStyle.
* Add iterator class to find all restyle roots.

NOTE: Parts 1, 2, and "4.2"

Tag #1375
2020-04-14 21:50:13 -04:00
wolfbeast a2bc0e0ec6 Issue #1512 - Improve handling of multiple selections.
IsSelectionEditable should check whether the focus node and anchor node
aren't null before trying to use them.
This also changes the initialization of selections' aOutIndex to the
last range in the selection as a fallback in case we don't add a range
later (in AddItem) which could also end up with a null selection
otherwise if the additional selection nodes are removed.
2020-04-12 12:52:18 +02:00
wolfbeast 552470fb6f [layout] Always move descendants of layout frames if moved.
If we move the frame then we always need to move any descendant views,
not just in case the frame itself has a view.
2020-04-10 21:51:32 +02:00