Pierre-Yves Gérardy
2469505b1b
Move xlink:href test to the proper file
2018-06-01 21:27:02 +02:00
Pierre-Yves Gerardy
5b51b682ee
Improve attrs removal, fix #1804
2018-06-01 21:27:02 +02:00
Pierre-Yves Gerardy
dc15acd791
Improve attrs setting performance
...
before:
> mutate styles/properties x 7,999 ops/sec ±10.87% (46 runs sampled)
after:
> mutate styles/properties x 16,104 ops/sec ±4.36% (66 runs sampled)
2018-06-01 21:27:02 +02:00
Pierre-Yves Gerardy
4197cf0ae1
Enable the tests for #1804
2018-06-01 21:27:02 +02:00
Pierre-Yves Gérardy
285cb5382f
[render] cleanup and comments
2018-05-29 23:50:29 +02:00
Pierre-Yves Gérardy
144ce68192
[render/render] get rid of vnode.skip
2018-05-29 23:50:29 +02:00
Pierre-Yves Gérardy
2cfc68359d
[render/render] Introduce longest increasing subsequence-based node moves in keyed diff, fix #1791 , fix #2026
2018-05-29 23:50:29 +02:00
Pierre-Yves Gérardy
95ec3d28aa
test for the LIS-based diff
2018-05-29 23:50:29 +02:00
Barney Carroll
1579fe8430
Do not normalise component children on ingestion ( #2155 )
...
* Do not normalise component children on ingestion
* Don't normalise vnode children
* Component hyperscript tests: children aren't normalised
* test, not text
* Update change log: #2155 & #2064
2018-05-29 10:53:16 +01:00
magikstm
6097cfb2e9
Small optimization in render hyperscript.js ( #2064 )
...
* Small optimization in render hyperscript.js
* Remove temporary variable
* Small optimization in render hyperscript.js
Squashed commits:
[5b103291] Small optimization in render hyperscript.js
* Remove sloppy mode comment
2018-05-18 20:48:56 +02:00
Pierre-Yves Gérardy
44e165a357
[render/render] Misc comment fixes
2018-04-23 13:52:03 +02:00
Pierre-Yves Gérardy
f7a95d8c12
Cleanup, comments, and optimize getKeyMap
2018-04-23 13:52:03 +02:00
Pierre-Yves Gérardy
801bde219e
[render/render] move keyed cached nodes when needed, fix diff semantics for cached nodes, fix #2132
2018-04-23 13:52:03 +02:00
Pierre-Yves Gérardy
878e4958dc
tests for #2132
2018-04-23 13:52:03 +02:00
Pierre-Yves Gérardy
9490950c30
[render/render] Simplify updateNodes, fix #2128
2018-04-23 13:52:03 +02:00
Pierre-Yves Gérardy
dd6ceca31d
tests for #2128
2018-04-23 13:52:03 +02:00
Pierre-Yves Gérardy
c6693aa361
Disentangle keyed and unkeyed diff
2018-04-23 13:52:03 +02:00
Pierre-Yves Gérardy
203df39c30
Remove the DOM nodes recycling pool ( fix #1653 , fix #2023 )
2018-04-16 09:45:45 +02:00
Pierre-Yves Gérardy
d21ba5ee6a
Document the reason for the possibleParents map
2018-03-06 02:13:15 +01:00
Pierre-Yves Gérardy
ad46a21a7d
[render] add support for SVG in m.trust() strings
2018-03-06 01:12:32 +01:00
Fabiano Taioli
83884bdc90
element value is not cleared when value valor change to undefined
2018-02-09 00:47:59 +01:00
Pierre-Yves Gérardy
1782fa8b63
render: fix perf regression introduced by #1918
2017-12-08 21:37:08 +01:00
Pierre-Yves Gérardy
9f09ac069c
Address #2021 review comments
2017-12-04 14:38:39 +01:00
Pierre-Yves Gérardy
3f37d3d7c0
#2021 change log and docs
2017-12-04 14:38:39 +01:00
Pierre-Yves Gérardy
02aab654f0
render: remove check that may hide bugs
2017-12-04 14:38:39 +01:00
Pierre-Yves Gérardy
fc0240da0f
Tests for #1990 , #1991 and #2003
2017-12-04 14:38:39 +01:00
Pierre-Yves Gérardy
9c835f4eac
render/updateNodes: call toFragment on the new vnodes, solves issues with actual fragments ( fix #1991 partim 2)
2017-12-04 14:38:39 +01:00
Pierre-Yves Gérardy
39ff8d7217
render: make removeNode aware that it is removing children from an object that's brought back from the pool
2017-12-04 14:38:39 +01:00
Pierre-Yves Gérardy
98c053e12b
render/updateNodes: revamp unkeyed list detection, don't skip null nodes in unkeyed lists when old and vnodes don't have the same length
...
Fix #2003 partim 2
2017-12-04 14:38:39 +01:00
Pierre-Yves Gérardy
e839c9e80a
render/updateNodes: Don't fetch the next sibling from the pool
2017-12-04 14:38:39 +01:00
Pierre-Yves Gérardy
eaa9f589af
render/updateNodes: recycling, clarify terminology, fix logic
...
fix #2003 partim 1
fix #1991 partim 1
2017-12-04 14:38:39 +01:00
Pierre-Yves Gérardy
8950760e85
render: extract pool addtition logic, don't run onremove on nodes that move from pool to pool ( fix #1990 )
2017-12-04 14:38:39 +01:00
robinchew
db2a12dec9
Trying to fix #1916 ( #1918 )
...
* Trying to fix #1916
* Remove test for rendering select options. Add back after resolving issue #1978 .
* Add #1916 fix to change log.
* Revert "Remove test for rendering select options. Add back after resolving issue #1978."
This reverts commit d4c1be7c2319adf744f78ca787485f52be869208.
* Comment on why failing test for #1916 is commented out.
2017-10-31 20:37:51 +01:00
valtron
622e009811
recycling => shouldRecycle, Fix #1992 ( #1993 )
...
* Fix #1992
* doc in changelog
* add test for #1992
2017-10-16 08:38:44 +02:00
Mateusz Jaworski
8b56c70911
fix: Allow for changing focus in lifecycle hooks ( #1988 )
2017-10-13 22:31:03 -07:00
Isiah Meadows
ae27c0ff18
Merge pull request #1977 from isiahmeadows/remove-legacy-state
...
Remove support for `vnode.state = ...`
2017-10-04 18:00:16 -04:00
Isiah Meadows
19d2ba316c
Remove support for vnode.state = ...
...
- Remove docs for it
- Remove tests for it
- Add runtime check for unexpected reassignment, since we can't freeze
the property (we internally have to be able to modify it)
2017-10-02 19:57:48 -04:00
Isiah Meadows
348bed0a7e
Allow xlink:href to get removed, fix option.value in mock
2017-10-01 19:34:12 -04:00
Isiah Meadows
a1a7038e55
Rework event diffing for better optimizability
...
Re-ordered the type checks so that I can avoid polymorphic property
lookups in event updates. (It improved the common case of no change by
a little over ~40%.)
2017-09-01 17:06:19 -04:00
Isiah Meadows
5209071011
Merge next into optimize-events
2017-08-31 05:43:39 -04:00
Jackson Nowotny
5303e70fde
fixing merge conflicts
2017-08-29 10:30:45 -05:00
Jackson Nowotny
aaa448ac4e
adding comment specifying bug
2017-08-29 10:28:00 -05:00
Jackson Nowotny
849e862413
Fixing IE bug causing active element to be null causing render function to throw error
2017-08-29 10:27:58 -05:00
Ilya Sarantsev
106fd75145
Performance optimization for #1941 per @isiahmeadows suggestion
2017-08-26 22:42:29 +03:00
Isiah Meadows
2c92d84058
Add support for object event handlers (using handleEvent)
...
- `handleEvent` is checked on dispatch, like in the DOM.
- Had to reorder attribute key checking so `undefined` events still got
removed.
- Drive-by: Optimize the initial attribute key checking a little.
- Drive-by: Fix changelog v2.0.0 link in TOC.
2017-08-25 06:06:46 -04:00
Isiah Meadows
dbbdb0664a
Reduce memory allocation/usage across multiple event handlers
...
- `handleEvent` is a very useful tool.
- Always use `addEventListener`/`removeEventListener`, since it's
required for this optimization.
- Change log updated.
- Drive-by: make DOM mock work with both event listener types.
- Drive-by: eliminate possibility of `Object.prototype` interference.
2017-08-25 05:19:30 -04:00
Ilya Sarantsev
9e6b175519
Handle shared attributes object in hyperscript ( #1941 )
2017-08-23 16:36:14 +03:00
spacejack
ae0b791530
Eleminate now-redundant if block. Add change-log notes.
2017-08-15 15:53:23 -04:00
spacejack
1e56f7763e
More accurate style object diffs
2017-08-13 18:32:32 -04:00
Pierre-Yves Gérardy
c96e085799
core: don't call onremove on the children passed to components that return from their view, fix #1921
2017-07-31 11:48:15 +02:00