Commit Graph

247 Commits

Author SHA1 Message Date
Matt A. Tobin 1bc8205ee1 Issue #80 - De-unify layout/mathml 2020-04-18 13:31:59 -04:00
Matt A. Tobin e43694dedb Issue #80 - De-unify layout/forms 2020-04-18 13:10:09 -04:00
Matt A. Tobin aab8d83f00 Issue #80 - De-unify /layout/inspector 2020-04-18 00:25:59 -04:00
Matt A. Tobin 4187fbb2e8 Issue #80 - De-unify /layout/tools/layout-debug/src 2020-04-18 00:21:30 -04:00
Matt A. Tobin 46e31c3d9f Issue #80 - De-unify /layout/ipc 2020-04-18 00:19:33 -04:00
Matt A. Tobin 565339e035 Issue #80 - De-unify /layout/build 2020-04-18 00:15:56 -04:00
Matt A. Tobin 80c0247799 Issue #1375 - Fix IsWebComponentsEnabled checks 2020-04-17 07:43:40 -04:00
Matt A. Tobin 9e5e58c0f6 Bug 1425769 - Base class for ShadowRoot and Document to manage style state
Tag #1375
2020-04-17 07:42:07 -04:00
Matt A. Tobin 16dba9a30b Issue #80 - De-unify dom/base
Tag #1375
2020-04-17 07:40:32 -04:00
Matt A. Tobin f6221f440e Bug 1322661 - Expose (non-XBL) style sheets to devtools
Tag #1375
2020-04-17 07:39:36 -04:00
Matt A. Tobin f605c68f13 Bug 1417829 - Remove unresolved pseudoclass
Tag #1375
2020-04-17 07:38:16 -04:00
Matt A. Tobin b93fb57514 Bug 1426536 - Remove nsContentUtils::IsContentInsertionPoint
Tag #1375
2020-04-17 07:36:25 -04: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 38056aa9c9 Bug 1419762 - Return the inline continuation of an IB split when appending
Tag #1375
2020-04-17 07:29:19 -04:00
Matt A. Tobin 003e537dcb Bug 1419964 - Remove AdjustParentFrameForAfterContent
Tag #1375
2020-04-17 07:22:58 -04:00
Matt A. Tobin a2cdb9f91a Bug 1415843 - Remove an unneeded call to AdjustAppendParentForAfterContent
Tag #1375
2020-04-17 07:22:26 -04:00
Matt A. Tobin e5ca4ada99 Bug 1415538 - Remove dead frame construction code (InsertFirstLineFrames)
Tag #1375
2020-04-17 07:21:26 -04:00
Matt A. Tobin 03a898fca7 Bug 1415152 - No need for AdjustAppendForAfter, since ::after is handled in FindNextSibling
Tag #1375
2020-04-17 07:20:50 -04:00
Matt A. Tobin ee4857f209 Bug 1413619 - Fix insertion point computation when display: contents pseudos are involved.
Tag #1375
2020-04-17 07:20:06 -04:00
Matt A. Tobin 352fe83985 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-17 07:19:16 -04:00
Matt A. Tobin 14bb98e175 Bug 1380749 - Retry AdjustAppendParentForAfterContent in case |parentAfterFrame| was a :first-letter frame that we deleted
Tag #1375
2020-04-17 07:17:52 -04:00
Matt A. Tobin e31ed5b074 Bug 1409975 - Implement node distribution for shadow tree slots
* Implementation for assignedNodes
* Include slots in the flat tree
* Fix event get-the-parent algorithm for a node
* Update and add reftests for Shadow DOM v1
* Update web platform tests expectations

Tag #1375
2020-04-17 07:10:54 -04:00
Matt A. Tobin 8beb65dd50 Bug 1418002 - Remove HTMLContentElement
Tag #1375
2020-04-17 07:08:22 -04:00
Matt A. Tobin 5524318fe7 Bug 1416999 - Remove document.registerElement
Tag #1375
2020-04-17 07:07:09 -04:00
Matt A. Tobin 96dfc63bc5 Bug 1411754 - Rename PresShell::DestroyFramesFor to DestroyFramesForAndRestyle
Tag #1375
2020-04-17 06:41:41 -04:00
Matt A. Tobin ed7faf3fde 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-17 06:41:00 -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 5f12940329 Bug 1396584 - Remove support for multiple ShadowRoots
Tag #1375
2020-04-17 06:34:38 -04:00
Matt A. Tobin e482e335bb Bug 1389743 - Only reconstruct frames synchronously from ContentRemoved when called from frame construction
Tag #1375
2020-04-17 06:14:10 -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 2bcd8923f7 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-17 06:03:18 -04:00
Matt A. Tobin 4d1d777e70 Bug 1373798 - Move HTML dir attribute state into event state flags
* Stop calling SetHasDirAuto/ClearHasDirAuto in input element code
* Introduce event state flags that track the state of an element's dir attribute
* Rewrite our existing checks for the state of the dir attr on top of the new event state flags
* Add pseudo-classes for matching on the dir attribute states
* Use the new dir attribute pseudoclasses in html.css

Tag #1375
2020-04-17 05:50:47 -04:00
Matt A. Tobin 2e2190a504 Bug 1332353 - Make it clearer when a stylesheet is really owned by its mDocument
Tag #1375
2020-04-17 05:46:23 -04:00
Matt A. Tobin 940d191ef8 Bug 1367683 - Optimize initializing nsRange
Tag #1375
2020-04-17 05:28:43 -04:00
Matt A. Tobin 0f5dcf963a Bug 1361086 - Simplify UndisplayedMap::GetListFor/GetOrCreateListFor to take nsIContent* rather than nsIContent**
Tag #1375
2020-04-17 05:26:13 -04:00
Matt A. Tobin 34e2c4054f Bug 1360157 - Assert that a display: contents child always has a parent
Tag #1375
2020-04-17 05:25:20 -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 9f6cb6874e Bug 1296516 - Cleanup a bit of code in layout/base
* Tidy RestyleManager::ContentStateChanged
* Convert UndisplayedMap to a typed hashtable
* Cleanup infallible or unchecked nsCSSFrameConstructor methods

Tag #1375
2020-04-17 05:04:10 -04:00
Matt A. Tobin 0d362ca503 Bug 1330843 - Allow JS to create NAC pseudo-elements
Tag #1375
2020-04-17 05:01:17 -04:00
Matt A. Tobin de45820b64 Bug 1346623 - Allow anonymous content created with nsIDocument::InsertAnonymousContent can change from non-native to native AC
* Prevent canvas custom content from becoming NAC when reframing the root element
* Add an API to get computed style values through an AnonymousContent object

Tag #1375
2020-04-16 20:19:06 -04:00
Matt A. Tobin 4630e4abb5 Bug 1343879 - Be consistent about the parent style context the document-level anonymous content container should get: it should get no parent style context.
Tag #1375
2020-04-16 17:54:38 -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 b356448d14 Issue #1375 - Fix unified sources 2020-04-14 21:55:36 -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