Commit Graph
4622 Commits
Author SHA1 Message Date
appleguy 16b0bd94fa Merge pull request #957 from facebook/HierarchyAndInterfaceStateSync
Ensure that .hierarchyState is propogated to new subnodes early enough for us to reference it as the views are added.
2015-12-18 20:26:35 -08:00
Scott Goodson 32a99e3d41 Ensure that .hierarchyState is propogated to new subnodes early enough for us to reference it as the views are added. 2015-12-18 19:52:47 -08:00
appleguy 834cf79c4e Merge pull request #905 from facebook/RemoveWorkingWindow
[ASRangeController] Implement #if that controls removal of the offscreen UIWindow used for render-ahead.  Leave enabled for now.
2015-12-18 19:43:02 -08:00
Scott Goodson 578d0f4f78 Final cleanup for initial version of removing the UIWindow-based render range.
The UIWindow mode remains enabled by default, but rendering and the test suite works correctly both enabled and disabled.
2015-12-18 18:47:08 -08:00
Scott Goodson c6759671e6 Merge branch 'master' into RemoveWorkingWindow 2015-12-18 18:25:14 -08:00
appleguy e15a7db773 Merge pull request #925 from levi/levi/pager-node
[ASPagerNode] Initial implementation of a paging-specific ASCollectionNode subclass.
2015-12-18 18:20:25 -08:00
Luke Parham 002b3b3805 renamed example app 2015-12-18 19:40:12 -06:00
appleguy 8a216dd595 Merge pull request #956 from facebook/ASDisplayNodeName
Remove CALayer and UIView implementations of "name" property.
2015-12-18 17:34:18 -08:00
Scott Goodson ee152eadf1 Remove CALayer and UIView implementations of "name" property.
This avoids CoreAnimation from capturing the name from a background thread deep within the internals
of AVPlayerLayer, which commits transactions off the main thread.  If the main thread is also accessing
properties that require the lock, in very specific app architectures relying on AVPlayerLayer, this
can cause a deadlock.

The "name" property is primarily used by ASDK's unit test infrastructure, so I'm leaving it in place for
that purpose - and it may still be used for debugging, if someone wants to set it.  It will remain
possible to get the node from a layer or view with asyncdisplaykit_node, and access name from there.
2015-12-18 16:01:19 -08:00
Luke Parham 901a8fbd98 fixed video tests 2015-12-18 04:47:26 -06:00
Luke Parham 42efde3821 Merge branch 'master' into ASVideoNode 2015-12-18 03:57:50 -06:00
Luke Parham 9b4226d649 creating player on init seems to improve performance 2015-12-18 03:56:32 -06:00
Luke Parham 616e9ffbcb fixed problem with fetchData problem and updated nic cage example 2015-12-18 03:41:53 -06:00
Luke Parham a75871055f added video sample app with tableview and simple one with 3 video examples 2015-12-18 02:22:33 -06:00
appleguy ca11efb187 Merge pull request #951 from facebook/ASTextNodeRendererInvalidationEfficiency
[ASTextNode] Renderer should not be invalidated if bounds size matches calculatedSize, even if it doesn't match constrainedSize.
2015-12-17 22:27:52 -08:00
Scott Goodson 1872ac07aa [ASTextNode] Renderer should not be invalidated if bounds size matches calculatedSize, even if it doesn't match constrainedSize. 2015-12-17 22:12:29 -08:00
appleguy ed1c71d588 Merge pull request #924 from aaronschubert0/ASMapNode
Improve ASMapNode to get ready for 2.0
2015-12-17 19:34:50 -08:00
appleguy 3b5fb17f81 Merge pull request #942 from bsmith11/ASTextKitCoreTextAttributesBug
ASTextKit CoreText attributes cleansing should not remove NSParagraphStyle attributes
2015-12-17 19:18:43 -08:00
appleguy d56a53d9aa Merge pull request #941 from samhsiung/fix_truncation
Fix ASTextNode truncated size calculation ignoring attributes in the last line, by syncing the truncationString's attributes with the primary attributedString.
2015-12-17 18:17:48 -08:00
appleguy bc6e5fee1a Merge pull request #949 from rcancro/roundMin
Do not round when resolving relative dimensions
2015-12-17 15:34:12 -08:00
rcancro c6f4aff4ef Do not round when resolving relative dimensions
When laying out a node I got to a point where the constrained width was min 132.22222pts and max width was 100%. When resolving the relative size to pts it rounded to 132pt. This caused an assert in ASSizeRangeMake because the min width (132.222pt) was bigger than the max width (132pt)
2015-12-17 15:20:40 -08:00
Luke Parham 6cbc51dc61 cleaned up comments 2015-12-16 23:44:17 -06:00
Luke Parham b5c1076921 wip, adding play button functionality 2015-12-16 23:02:39 -06:00
Levi McCallum 669fd38dd4 Fix project includes for ASPagerNode 2015-12-16 17:53:21 -08:00
Levi McCallum 1b5ac3615e Add ASPagerNode to framework header 2015-12-16 17:53:21 -08:00
Levi McCallum 473085db47 Move position of ASPagerNodeDataSource to support Travis builds 2015-12-16 17:53:21 -08:00
Levi McCallum aea5a3318e Implement simple horizontal paging node 2015-12-16 17:53:21 -08:00
appleguy 8349be288b Merge pull request #945 from rcancro/aslayoutPixelBounds
Enforce pixels bounds for ASLayout size/position, while also protecting against underspecified layouts setting NaN or Inf on CALayer.
2015-12-16 17:40:50 -08:00
appleguy 3d48637974 Merge pull request #946 from facebook/ASTextNodeLongPress
ASTextNode shouldn't create a long press gesture recognizer unless the delegate cares about the callback.
2015-12-16 17:38:26 -08:00
Scott Goodson f44c829564 ASTextNode shouldn't create a long press gesture recognizer unless the delegate cares about the callback. 2015-12-16 17:20:08 -08:00
rcancro 2e6e81e66b Don't allow unitialized or under constrained layouts cause a crash.
Should I move the pixel bounds rounding to here instead of leaving it in ASLayout?
2015-12-16 15:34:30 -08:00
rcancro 71c44843c8 enforce pixels bounds for ASLayout size/position 2015-12-16 13:14:33 -08:00
Aaron Schubert 4ceab33038 Further clean up for ASDK 2.0 2015-12-16 10:20:13 +00:00
Luke Parham fe5a58087d Merge branch 'master' into cells-with-view-controllers 2015-12-15 15:31:13 -06:00
Luke Parham 17c985da38 commented some stuff out 2015-12-15 15:30:27 -06:00
Bradley Smith e64965c1ca Fixed ASTextKit CoreText attributes bug which was incorrectly reading a NSParagraphStyle as CTParagraphStyleRef 2015-12-15 14:41:37 -05:00
Samuel Hsiung f9d476e170 Fix ASTextNode truncated size calculation ignoring attributes in the last line 2015-12-15 10:09:03 -08:00
Aaron Schubert 50f652a5b3 Fix indendation 2015-12-14 10:22:37 +00:00
Adlai Holler e202b18db9 Annotate some new stuff 2015-12-13 10:07:14 -08:00
Adlai Holler 7079a9cc79 Merge branch 'master' into update-objc
Conflicts:
	AsyncDisplayKit/ASDisplayNode+Subclasses.h
2015-12-13 10:05:03 -08:00
appleguy 0cc229d38d Merge pull request #935 from samhsiung/clip_yes
Re-enable clipsToBounds on ASEditableTextNode's textView to fix iOS 9 style overflowing
2015-12-12 18:00:52 -08:00
Scott Goodson 6ad1503556 Merge branch 'master' into RemoveWorkingWindow 2015-12-11 22:42:13 -08:00
Scott Goodson 872b3588d8 Complete merge of working window removal with ASHierarchyState changes in master. 2015-12-11 22:15:13 -08:00
Scott Goodson 00fe336ae7 Merge branch 'master' into RemoveWorkingWindow 2015-12-11 21:34:45 -08:00
Samuel Hsiung e4ca0e3ccf make ASEditableTextNode's textView clip to bounds 2015-12-11 18:53:10 -08:00
appleguy 7380296e27 Merge pull request #877 from soniccat/master
[ASTextNode] Possible layout fix (fixes a case with Interface Builder initialization ordering)
2015-12-11 12:23:56 -08:00
appleguy 745f724fae Merge pull request #933 from garrettmoon/fixCrashRelatedToOutOfOrderMainQueueBlocks
Fixes an issue where reloadDataImmediately interleaves with asynchronous loading in ASDataController.
2015-12-11 11:08:05 -08:00
Garrett Moon 941a732fd6 Rename and move ASMainSerialQueue to its own class 2015-12-11 10:53:06 -08:00
Garrett Moon 066596314e Fix deadlock when an editing transaction needs to perform its work on the main thread, and then elsewhere, on the main thread, we block waiting for all editing transactions to finish 2015-12-11 10:45:23 -08:00
Garrett Moon f94229796c Fixes out of order blocks running on main queue in ASDataController
ASDataController’s completedNodes is accessed by treating the main thread as a serial queue. The ​*problem*​ is, operations can cut in line by being added while on the main thread. I.e. it just calls the block instead of dispatch_async’ing to the main thread. This results in data inconsistency.

To address this, I've added a queue of operations which get run serially (not to be confused with a serial dispatch queue). Instead of running blocks directly on the main thread, if it’s called while not on the main thread, it dispatch_asyncs to the main thread and runs any blocks in the queue. If it ​*is*​ on the main thread, it runs any blocks already in the queue and then runs the block.
2015-12-11 10:45:22 -08:00