summaryrefslogtreecommitdiff
path: root/layout
Commit message (Collapse)AuthorAge
* Issue #1805 - Improve stack size limits for all targets.Moonchild2022-07-15
| | | | | | | | | | | | | This allows us to use a greater rendering depth for exceedingly-deep DOM trees in layout, better matching what mainstream browsers are capable of. Note that for 32-bit Windows the stack size MUST be set to larger than the default or Bad Things Will Happen™ - we use 1.5 MB for this as a carefully-tuned value. This needs to be capped specifically for JS use because some JavaScript obfuscators deliberately trigger stack overflows and would lock up the browser otherwise as long as there's still stack space to abuse. For web compatibility we therefore limit this to 2MB in JS only (3x for ASAN) while still allowing a greater depth for the layout engine.
* Issue #1916 - Part 3: Sticky/relative position fixes in nsTableWrapperFrame.Job Bautista2022-06-17
| | | | | | Backported from Mozilla bug 1472602. Didn't include the change in StickyScrollContainer.cpp because it breaks linking to libxul.so in the end. It's not important anyway.
* Issue #1916 - Part 2: Add a flag to allow FinishReflowChild to handle ↵Job Bautista2022-06-17
| | | | | | relative positioning, and convert the caller for which this makes sense. Backported from Mozilla bug 1547759.
* Issue #1916 - Part 1: Convert flags passed to ReflowChild, ↵Job Bautista2022-06-17
| | | | | | FinishReflowChild, etc into an enum class. Backported from Mozilla bug 1571250.
* Issue #1914 - Implement white-space: break-spacesMoonchild2022-06-10
| | | | | This also simplifies GetCSSWhitespaceToCompressionMode (FFS with the function names, Mozilla!) to be less fragile.
* Issue #457 - Remove the constructor from gfxShapedText::CompressedGlyph and ↵trav902022-05-28
| | | | | | make it a trivial class Also provide a couple of convenience "factory" methods to create simple and complex glyph values.
* Issue #1860 - Back out the change to vector for DisplayListsMoonchild2022-05-03
| | | | | A safe implementation means significant performance loss, making this change undesirable.
* Issue #1860 - Follow-up: Prevent duplicate display items by checking for its ↵FranklinDM2022-05-03
| | | | | | existence in the vector first before adding items Performance impact unknown, resolves crashes on some sites that encounter this scenario.
* Fix property alias indentationFranklinDM2022-05-03
|
* Issue #1853 - Follow-up: Add missing end of array marker to scrollbar width ↵FranklinDM2022-05-03
| | | | | | keyword table This prevents the parser from accepting values outside the keyword table.
* Merge branch 'master' into 1829Brian Smith2022-04-28
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: No issue - Update README and SECURITY Issue #1885 - Follow-up: Update error message if invalid rootMargin specified. Issue #1879 - Follow-up: Update config/external/nss/target to security/target. Issue #1885 - Allow unitless rootMargin entries for IntersectionObserver. Issue #1879 - Revert changes to cryptox.h Revert "Issue #1879 - spot-fix typo in cryptox.h" Issue #1879 - spot-fix typo in cryptox.h Issue #21 - Change MappedAttrParser to store its nsIPrincipal instead of nsSVGElement Issue #21 - Remove use counters telemetry Issue #1881 - Interpret empty or whitespace root margin string as zero length Issue #1877 - Resolve NIGHTLY_BUILD conditionals. Issue #1880 - Boot Comic Sans out of the font configuration.
| * Merge pull request 'Remove use counters telemetry' (#1883) from ↵Moonchild2022-04-26
| |\ | | | | | | | | | | | | | | | FranklinDM/UXP-contrib:work_telemetry-use-counters-removal into master Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1883
| | * Issue #21 - Remove use counters telemetryFranklinDM2022-04-24
| | | | | | | | | | | | | | | | | | This reverts Bug 968923 - Implement some equivalent of Chrome's use counters (on top of telemetry?) For reference: https://bugzilla.mozilla.org/show_bug.cgi?id=968923
| * | Issue #1885 - Allow unitless rootMargin entries for IntersectionObserver.Moonchild2022-04-24
| | | | | | | | | | | | | | | | | | | | | I could have done this through a CSSLoader to allow all CSS unit quirks but I wasn't planning to start passing around document and element references everywhere, so instead just did it manually by accepting numbers/floats in addition to pixel and percent.
| * | Issue #1881 - Interpret empty or whitespace root margin string as zero lengthFranklinDM2022-04-23
| |/ | | | | | | | | | | | | | | This attempts to get the first non-whitespace token, which if exists, continues with previous behavior of parsing the margin string. Otherwise, if the specified margin string is empty or consists only of whitespace characters, is interpreted as zero length. IntersectionObserver is the only consumer of the `ParseMarginString` method, as far as I can tell, so this should not affect anything else. Note: For some reason, Firefox and Chrome treat the unitless zero length as invalid, while with this change, we do not change existing behavior in that regard and continue to accept that value.
| * Issue #1877 - Resolve NIGHTLY_BUILD conditionals.Moonchild2022-04-22
| |
* | Issue #1829 - Readd code cleanup that is not Mac related that got clobbered ↵Brian Smith2022-04-26
| | | | | | | | by reverting Issue #1751
* | Issue #1829 - Revert "Issue #1751 -- Remove XP_MACOSX conditionals from /layout"Brian Smith2022-04-26
| | | | | | | | This reverts commit aa0fd3d68c856504646e1d7eb499bc890ef44101.
* | Issue #1829 - Revert “Issue #1751 - Remove Mac code behind ↵Brian Smith2022-04-26
|/ | | | | | MOZ_WIDGET_TOOLKIT == 'cocoa’” This reverts commit 1fe9c19305dadf2d5bcaa0e589fcd250389dfa8a.
* Issue #1593 - Part 4: Make :host pass DOM parsing test and basic specificity ↵Jeremy Andrews2022-04-19
| | | | tests.
* Issue #1593 - Part 3: Add selector logic for :host and :host-context.Jeremy Andrews2022-04-19
|
* Issue #1593 - Part 1: Import William Chen's patches w/o selector implementation,Jeremy Andrews2022-04-19
| | | | fixed up.
* Issue #1873 - Part 3: Fix indentationFranklinDM2022-04-18
|
* Issue #1873 - Part 2: Ensure normalized parent is used for UndisplayedMap ↵FranklinDM2022-04-18
| | | | | | | | | | | | | | | | | | handling code We have four entry points that deal with the parents of display:none/ display:contents content. These are the functions for setting, changing, getting and removing a style context. Or more specifically: GetStyleContextInMap called by GetDisplay[None|Contents]StyleFor SetStyleContextInMap called by RegisterDisplay[None|Contents]StyleFor ChangeStyleContextInMap called by ChangeRegisteredDisplay[None|Contents]StyleFor UnregisterDisplay[None|Contents]StyleFor okay, this is actually two functions, but they act as a pair This change makes all these functions call GetApplicableParent up front and act on and pass around the parent that it returns. This is so that throughout the code we are always handling the parent that will be used as the key in the UndisplayedMap entry. This is necessary so that all the code that sets/gets the 'MayHaveChildrenWithLayoutBoxesDisabled' bit on/from an nsIContent object is using the same object, otherwise everything breaks down. Partially based on part 2 of https://bugzilla.mozilla.org/show_bug.cgi?id=1367214
* Issue #1873 - Part 1: Introduce ParentForUndisplayedMap helper methodFranklinDM2022-04-18
| | | | | | This introduces the `ParentForUndisplayedMap` helper method to reduce duplication in terms of getting the parent and asserting parent existence. Partially based on parts of https://bugzilla.mozilla.org/show_bug.cgi?id=1341083
* Issue #1860 - Follow-up: Fix indentation.Moonchild2022-04-18
|
* Issue #1860 - Follow-up: Make sure we don't add duplicate framesMoonchild2022-04-18
| | | | | | Changing to vector makes manipulating display list items more risky. This is to make sure we don't inadvertently end up with duplicates in the list of display items avoiding double-free scenarios.
* Merge branch 'master' into pr-1860win7-72022-04-18
|\
| * Issue #1838 - Follow-up: Prevent grid shorthand from resetting gutter propertiesFranklinDM2022-04-18
| | | | | | | | This also fixes crashing when using the grid shorthand property.
| * Issue #1370 - Follow-up: Give table wrapper boxes a special case during flex ↵FranklinDM2022-04-17
| | | | | | | | | | | | base size resolution, so that percent main-sizes can be respected This is a workaround, based on https://bugzilla.mozilla.org/show_bug.cgi?id=1455976
| * Merge pull request 'Cache the most recent nsGenConNode to speed up future ↵Moonchild2022-04-16
| |\ | | | | | | | | | | | | | | | insertions' (#1867) from win7-7/UXP:pr-1861 into master Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1867
| | * Issue #1861 - Cache the most recent nsGenConNode to speed up future insertions.win7-72022-04-15
| | | | | | | | | | | | Cache the most recent nsGenConNode to speed up future insertions.
| * | Issue #1818 - Part 1: remove a number of old GCC hacks.trav902022-04-15
| |/
* / Issue #1860 - Change LayerManagerData::mDisplayItems to a vector instead of ↵win7-72022-04-15
|/ | | | | | hashtable This should improve cache locality and help speed up layer building.
* Issue #1836 - Implement Selection.setBaseAndExtent()Moonchild2022-04-08
|
* Merge pull request 'Implement 'content' keyword for 'flex-basis' property ↵Moonchild2022-04-08
|\ | | | | | | | | | | and address spec changes' (#1854) from FranklinDM/UXP-contrib:work_css-flex-basis-content into master Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1854
| * Issue #1370 - Part 6: Update testsFranklinDM2022-04-07
| |
| * Issue #1370 - Part 4: Treat `flex-basis: content` as `max-content`FranklinDM2022-04-07
| | | | | | | | | | | | This uses a different approach and builds upon the refactoring made in the 576eb6ee01fb9ee3669cad634b26473c2886cab1. Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1374540
| * Issue #1370 - Part 3: Implement `content` keyword for `flex-basis` propertyFranklinDM2022-04-07
| | | | | | | | Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1105111
| * Issue #1370 - Part 2: Remove redundant special-case code for treating ↵FranklinDM2022-04-07
| | | | | | | | | | | | flex-basis enum values as 'auto' in vertical axis Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1436881
| * Issue #1370 - Part 1: Refactor nsFrame to use a separate function for ↵FranklinDM2022-04-07
| | | | | | | | | | | | handling `flex-basis` This removes the need to keep the `flex-basis` handling code of the ComputeSize* functions in sync since they both call the same function now for this purpose.
* | No Issue - Don't build the layout recorder unless debugMatt A. Tobin2022-04-08
| |
* | Issue #1853 - Follow-up: extend attribution mapping to resize and cornerMoonchild2022-04-08
| | | | | | | | | | | | controls to allow themes to respond to scrollbar-width. Also clean up the comments and whitespace a bit.
* | Issue #953 - Neuter the user-facing controls for e10sMoonchild2022-04-08
| | | | | | | | | | This should prevent people using a massive footgun that would blow off their entire legs. Requires appropriate FE changes.
* | Issue #1853 - Map scrollbar-width to an element attribute.Moonchild2022-04-08
| | | | | | | | | | By mapping this to an attribute, this allows browser themes to respond to the various available scrollbar width settings in CSS.
* | [Docshell] Close ContentViewer properly if initialization fails.Olli Pettay2022-04-07
|/
* Issue #1795 - Extend cairo API with an explicit font_get_hint_metrics function.Moonchild2022-04-05
| | | | | | This extension allows us to get font hint metrics without having to create and destroy cairo font options structs. Since this is used in loops, this will improve performance, especially in documents which have many text segments.
* Revert "Merge pull request 'Update libcubeb to latest version' (#1812) from ↵Moonchild2022-04-05
| | | | | | | athenian200/UXP:libcubeb_final into master" This reverts commit 0bc66e3b04e77af307b62371ae9f4be70b2b19b7, reversing changes made to 6e6b5d89964ea726b264c711bdf6f02fe0c006f5.
* Merge pull request 'Update libcubeb to latest version' (#1812) from ↵athenian2002022-04-05
|\ | | | | | | | | | | athenian200/UXP:libcubeb_final into master Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1812
| * Issue #1806 - Part 6: Make it build on Windows.Jeremy Andrews2021-08-24
| | | | | | | | Without this change, you get an error about external linkage or something. These files are now used outside of WebRTC.