Commit Graph
220 Commits
Author SHA1 Message Date
Adlai Holler edf6ee59e8 [ASDisplayNode] Remove RespectThreadAffinityOfNode function 2016-02-20 15:43:00 -08:00
Adlai Holler d9fc11f0f2 [ASDisplayNode] Remove thread affinity assertion in -shouldRasterizeDescendants 2016-02-20 15:43:00 -08:00
Adlai Holler e9712cdfa1 Make the tests sturdier, improve setNeedsLayout/setNeedsDisplay bridging 2016-02-20 15:43:00 -08:00
Adlai Holler 636c8c04f3 Improve bridging of frame property 2016-02-20 15:43:00 -08:00
Adlai Holler 563d0893a3 Beef up the properties, beef up the demo app 2016-02-20 15:43:00 -08:00
Adlai Holler a46bd8e29b More tests, all but 1 passing 2016-02-20 15:40:47 -08:00
Adlai Holler c9d53517fa Lock node's properties while pending view state is applied 2016-02-20 15:40:47 -08:00
Adlai Holler b5b5f9f559 Some clean up 2016-02-20 15:40:47 -08:00
Adlai Holler 99b674c346 Lay some foundation for our new pending state controller 2016-02-20 15:40:47 -08:00
Scott Goodson d899f12f70 [ASCellNode] Layout delegate should not be public as it must not be reset externally.
Do not call layout delegate method before the cell node is loaded.  This can happen if
application code calls -setNeedsLayout on the cell manually, and can confuse UIKit state
because we submit an empty batch update call on the next runloop.
2016-02-20 15:24:44 -08:00
appleguy a4789f3524 Merge pull request #1231 from garrettmoon/reducePlaceholderFadeCost
[Placeholders] Only start a fading animation if we're visible. And a threadsafety fix.
2016-02-16 15:20:24 -08:00
Garrett Moon 74661e27f6 Only start a fading animation if we're visible. And a threadsafety fix. 2016-02-16 13:42:56 -08:00
Scott Goodson fce722b0c8 [ASDisplayNode] Allow display-scheduling method to be called concurrently. 2016-02-13 00:58:56 -08:00
Levi McCallum b267821d4c Wrap implicit node hierarchy management behind feature flag property 2016-02-10 19:21:29 -08:00
Levi McCallum 163ddb1240 Layout only immediate subnodes of a node 2016-02-10 15:13:46 -08:00
Levi McCallum 6f37bb40d9 Allow layouts to be accessible in context 2016-02-10 14:39:46 -08:00
Levi McCallum 870cc405e6 Remove removedSubnodes instead of insertedSubnodes 2016-02-10 11:44:13 -08:00
Levi McCallum 50a41df7b0 Return current layout if pending layout isn't needed 2016-02-10 11:44:13 -08:00
Levi McCallum 499c3331ce Optimize insertion/deletion node calculation & expose inserted/deleted subnodes to transition context 2016-02-10 11:44:13 -08:00
Levi McCallum d669cadcba Use core layoutSublayouts method for layout step 2016-02-10 11:44:13 -08:00
Levi McCallum e57761ffbe Fix pending layout reference causing nil references 2016-02-10 11:44:13 -08:00
Levi McCallum a00e9bb41c Clean up node transition API 2016-02-10 11:44:12 -08:00
Levi McCallum 8737e242f8 Extract measurement and transition into different methods based on feedback 2016-02-10 11:44:12 -08:00
Levi McCallum 5cf5cb8452 Delegate layout frame calculation to sublayout method 2016-02-10 11:44:12 -08:00
Levi McCallum 1513ee8ca5 Expose the layout's immediate sublayouts as the accessing nodes 2016-02-10 11:44:11 -08:00
Levi McCallum d8d76635ff Perform animation transition on measureWithSizeRange instead of separate method 2016-02-10 11:44:11 -08:00
Levi McCallum 8238da8d00 Fix node deletion and flatten identification issues 2016-02-10 11:44:11 -08:00
Levi McCallum 043012718b Remove debug log 2016-02-10 11:44:11 -08:00
Levi McCallum 51977ed162 Identify flattened layouts to allow filtering of non-hierarchy nodes 2016-02-10 11:44:11 -08:00
Levi McCallum 3b1a32c413 Clean up implicit hierarchy management to enable custom animation 2016-02-10 11:44:11 -08:00
Levi McCallum 9dc358196a Basic implementation of transitioning API for layout specs 2016-02-10 11:44:10 -08:00
Scott Goodson a471c19216 [ASDisplayNode] Remove locking in -isNodeLoaded when called on main, as an optimization.
Additionally, this is often needed in threading-critical cases where interaction of sophisticated
3rd-party code with framework internals like ASDataController may cause deadlocks.
2016-02-09 22:35:35 -08:00
Michael Schneider 5d474bcb1a Remove ASDisplayNode -shouldUseNewRenderingRange method and ASRangeControllerStable class 2016-02-07 15:03:23 -08:00
Scott Goodson 9e87813425 Micro-optimizations in ASDisplayNode that help reduce overhead when recursing large hierarchies. 2016-02-05 21:43:14 -08:00
Scott Goodson 454d68516b Remove overly-cautious thread affinity assertions for threadsafe properties. 2016-02-04 19:44:44 -08:00
Huy Nguyen fda9efafa6 Add timestamp to notifications of rendering engine and avoid race conditions in ASRangeControllerBeta
- Accurately remove notification observer
2016-02-04 15:44:44 -08:00
Levi McCallum cd94df1106 Wrap implicit hierarchy management behind beta feature flag 2016-02-03 20:08:30 -08:00
Huy Nguyen 69e674c1c8 Range controller registers to rendering engine and extern to full range if needed 2016-02-02 01:23:04 -08:00
appleguy 191d978154 Merge pull request #1155 from nguyenhuy/range_tuning_params
[ASRangeController] Reduce early creation of views and layers in nested, orthogonal views
2016-02-01 19:15:00 -08:00
Levi McCallum ac3c9d220b Respond to review comments 2016-02-01 18:29:50 -08:00
Levi McCallum d168ec78ce Implement simple, in-order add/remove subnode support when changing layout specs 2016-02-01 17:49:48 -08:00
Levi McCallum 9f25b54f9e Support insertion on first layout of display node 2016-02-01 17:49:48 -08:00
Levi McCallum e852cb612c Simplify usage of diffing API 2016-02-01 17:49:47 -08:00
Levi McCallum 924e72f774 Mark setup placeholder method as private 2016-02-01 17:49:47 -08:00
Levi McCallum 3abe6d9181 Simplify measure call structure 2016-02-01 17:49:47 -08:00
Levi McCallum 29609bfe87 Clean up long lines 2016-02-01 17:49:47 -08:00
Levi McCallum 561ae212d9 Wrap implicit hierarchy management in a class enable bit 2016-02-01 17:49:47 -08:00
Levi McCallum b2843d29c4 Allow any node to be identified in the flattened predicate search 2016-02-01 17:49:47 -08:00
Levi McCallum 184d1fc059 Switch layout flatten to BFS for node ordering 2016-02-01 17:49:47 -08:00
Huy Nguyen b889d81de8 Don't pre-render cell nodes of collection view when it is not visible or not scrolling 2016-01-31 00:53:28 -08:00