Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rework the way DOM parent pointers are handled #283

Merged
merged 14 commits into from
Jul 1, 2020

Conversation

kasperisager
Copy link
Contributor

@kasperisager kasperisager commented Jun 29, 2020

This pull request changes DOM parent pointers to be handled internally, rather than externally, to allow the construction of parent nodes to be separated from the construction of child nodes. As this effectively turns nodes mutable, a new method Node#freeze() has also been introduced to allow callers to turn nodes immutable. See the discussion in #204 for thoughts on the design.

Closes #169.
Closes #204.

@kasperisager kasperisager added the major Backwards-incompatible change that touches public API label Jun 29, 2020
@kasperisager kasperisager self-assigned this Jun 29, 2020
@kasperisager kasperisager requested a review from Jym77 June 30, 2020 08:44
@kasperisager kasperisager marked this pull request as ready for review June 30, 2020 08:44
Copy link
Contributor

@Jym77 Jym77 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That looks good. 👍

@kasperisager kasperisager merged commit 6468f9d into master Jul 1, 2020
@kasperisager kasperisager deleted the dom-parent-pointers branch July 1, 2020 09:21
kasperisager added a commit that referenced this pull request Jul 1, 2020
* master: (21 commits)
  Rework the way DOM parent pointers are handled (#283)
  Create a GitHub release as part of release workflow
  Backtrack on shortcut links
  v0.3.0
  Prepare release
  Update changelog
  Update changelog
  `RoleOptions#allowPresentational` must be optional
  Update SIA R67 (#272)
  Update lockfile
  Correctly resolve important and overridden CSS properties (#282)
  Introduce HyperScript-like DSL for constructing DOM (#281)
  Use dynamic import rather than `require()` for loading formatters (#278)
  Add `Future#get()` and accept thunked promises in `Future.from()` (#279)
  Fix default argument type parameter of several types
  Speedup table building (#276)
  Add initial support for `background` shorthand property (#277)
  Output stack in CLI errors if available
  Chesterton's fence strikes again!
  Correctly pull `.message` from expectations
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
major Backwards-incompatible change that touches public API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Avoid stack overflows when constructing DOM nodes from JSON Rework the user agent style sheet
2 participants