Commit graph

124 commits

Author SHA1 Message Date
Jeremy Andrews
74698b4560 Issue #3017 - Shadow boundaries not accounted for in nsFrameManager. 2022-03-22 22:32:49 +08:00
roytam1
bf632ce22a Bug 1730120, close ContentViewer properly if initialization fails, r=nika a=RyanVM 2021-12-14 23:10:14 +08:00
Moonchild
a0ee1f3c0d [layout] Ensure we set the primary frame for native anon content where needed. 2021-07-16 09:21:17 +08:00
Moonchild
02c59100a8 Issue #1751 -- Remove XP_MACOSX conditionals from /layout 2021-05-05 10:29:02 +08:00
athenian200
618fa768c8 Issue #1757 - Reinstate "dom.details_element.enabled" preference
The removal of this preference was botched, all other surrounding plumbing changes appear to be working okay. The ability to use prefs to control this stylesheet might be useful in the future, so perhaps this is one of those "if it ain't broke, don't fix it" bugs where leaving well enough alone in the first place would have been the best choice.
2021-04-02 10:33:54 +08:00
Moonchild
1feafdc819 Issue #1053 - Remove mobile-specific graphics "optimizations" (=compromises) 2021-03-11 10:13:55 +08:00
Moonchild
5fb8c296a0 Issue #1515 - Add null check to nsCSSFrameConstructor::IsValidSibling
With the changes to layout for WebComponents, it is now apparently possible to
pass in null for frame tree items to this function, which would cause a null
deref crash if not checked.
2021-02-04 21:36:14 +08:00
Moonchild
21f707390d Issue #1705 - Part 3: Rename ScrollbarStyles to ScrollStyles.
ScrollbarStyles contains values of overflow, (over)scroll-behavior, etc.
The only one which is marginally related to scroll _bars_ is overflow, which can
be used to hide scrollbar (by making an element not scrollable) or enforce the
scrollbar to display.

It makes more sense to be called ScrollStyles as it's mainly concerning behavior
of scrolling, not scrollbars. Also, with the addition of scrollbar width
properties, the current name can be confusing.
2021-01-14 22:19:53 +08:00
Moonchild
e993607a88 Issue #1705 - Part 1: Rename nsChangeHint_CSSOverflowChange to *ScrollbarChange.
Prepare for scrollbar-width which should trigger the same kind of change.
2021-01-14 22:19:49 +08:00
Moonchild
7167c960d0 Issue #1053 - Part 2a: Remove android from /layout (partial)
This removes android code from base, build, forms, generic, inspector, style,
printing, tools and xul.
2021-01-01 10:01:05 +08:00
Moonchild
9305760571 Issue #1656 - Part 9: Single-line-comment style. 2020-09-25 22:07:00 +08:00
Moonchild
d5919942ff Issue #1656 - Part 8: Devtools and misc. 2020-09-25 22:06:55 +08:00
Moonchild
0cd673d720 Issue #1656 - Part 6: Clean up the build files 2020-09-25 22:04:23 +08:00
Moonchild
538b420319 Issue #1656 - Part 4: Manual cleanup 2020-09-25 22:04:20 +08:00
Moonchild
30df895eb2 Issue #1656 - Part 3: Nuke more vim config lines in the tree.
Another S&R run with some smarter matching.
2020-09-25 22:04:17 +08:00
Moonchild
8c395520d9 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-25 22:04:12 +08:00
Moonchild
78bcb176ea Issue #1655: Update MediaQueryList to the current draft spec.
This make MediaQueryList inherit from EventTarget and adds MediaQueryListEvent
as an interface as well as the onchange() method.
This should not affect compatibility with other code; the event object is a
MediaQueryListEvent instance, which is recognized as a MediaListQuery instance.
2020-09-25 22:04:07 +08:00
Moonchild
57d143dc6e Issue #1643 - Part 4: Hook up all the plumbing. 2020-09-18 20:53:16 +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
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
Moonchild
a13f638d23 [printing] Fix build bustage with --disable-printing 2020-05-23 06:57:02 +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
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
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
118743b970 Issue #80 - De-unify layout/base 2020-05-02 08:28:22 +08:00
Matt A. Tobin
d9112daf48 Bug 1426536 - Remove nsContentUtils::IsContentInsertionPoint
Tag #1375
2020-04-18 07:06:29 +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
Matt A. Tobin
eaf0831388 Bug 1419964 - Remove AdjustParentFrameForAfterContent
Tag #1375
2020-04-18 07:05:59 +08:00
Matt A. Tobin
5cef146d97 Bug 1415843 - Remove an unneeded call to AdjustAppendParentForAfterContent
Tag #1375
2020-04-18 07:05:56 +08:00
Matt A. Tobin
b67dd1398d Bug 1415538 - Remove dead frame construction code (InsertFirstLineFrames)
Tag #1375
2020-04-18 07:05:53 +08:00
Matt A. Tobin
40ada5fa00 Bug 1415152 - No need for AdjustAppendForAfter, since ::after is handled in FindNextSibling
Tag #1375
2020-04-18 07:05:50 +08:00
Matt A. Tobin
5b1452e120 Bug 1413619 - Fix insertion point computation when display: contents pseudos are involved.
Tag #1375
2020-04-18 07:05:47 +08:00
Matt A. Tobin
9b5061e795 Bug 979782 - Implement lazy frame construction for display:contents descendants
* Fixup FindFrameForContentSibling to don't duplicate work and trigger assertions for display: contents
* Enable lazy frame construction for display: contents direct descendants

Tag #1375
2020-04-18 07:05:44 +08:00
Matt A. Tobin
7de52e46d3 Bug 1380749 - Retry AdjustAppendParentForAfterContent in case |parentAfterFrame| was a :first-letter frame that we deleted
Tag #1375
2020-04-18 07:05:42 +08:00
Matt A. Tobin
cedff6e214 Bug 1416999 - Remove document.registerElement
Tag #1375
2020-04-18 07:05:32 +08:00
Matt A. Tobin
efb5979ad5 Bug 1411754 - Rename PresShell::DestroyFramesFor to DestroyFramesForAndRestyle
Tag #1375
2020-04-18 07:05:22 +08:00
Matt A. Tobin
1846dde168 Bug 1404789 - Stop reconstructing frames for the whole shadow root each time content is inserted in a shadow tree
* Cleanup a bit the ShadowRoot code
* Privatize ShadowRoot methods
* When the shadow tree distribution changes, post a restyle + reframe
* Simplify ShadowRoot::IsPooledNode
* Be a bit better at detecting distribution changes

Tag #1375
2020-04-18 07:05:19 +08:00
Matt A. Tobin
d3c2a6b6b5 Bug 1381134 - Ensure we're using the correct frame for the :after/:before references
Tag #1375
2020-04-18 07:05:13 +08:00
Matt A. Tobin
f63cd76698 Bug 1389743 - Only reconstruct frames synchronously from ContentRemoved when called from frame construction
Tag #1375
2020-04-18 07:04:47 +08:00
Matt A. Tobin
6ce9cc2a25 Bug 1377978 - Make nsRange use uint32_t to offset
Tag #1375
2020-04-18 07:04:38 +08:00
Matt A. Tobin
84d3b44b86 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-18 07:04:35 +08:00
Matt A. Tobin
9b868f0298 Bug 1368547 - Remove nsFrameManagerBase::mPlaceholderMap and instead store the placeholder on a frame property on the out-of-flow
Tag #1375
2020-04-18 07:04:32 +08:00
Matt A. Tobin
854827bd83 Bug 1368802 - nsFrameIterator::GetPlaceholderFrame should only try to get the placeholder for out-of-flow frames, because in-flow frames never have a placeholder
Tag #1375
2020-04-18 07:04:29 +08:00
Matt A. Tobin
658bd351a0 Bug 1361086 - Simplify UndisplayedMap::GetListFor/GetOrCreateListFor to take nsIContent* rather than nsIContent**
Tag #1375
2020-04-18 07:03:51 +08:00
Matt A. Tobin
34d576d55d Bug 1360157 - Assert that a display: contents child always has a parent
Tag #1375
2020-04-18 07:03:49 +08:00