* [ASCollectionView] Fix index space translation of Flow Layout Delegate methods.
This includes a few other cleanups, including overflow of signed integer indices.
* [ASCollectionView] Improve code sharing of UIKit size method calls; ensure delegate invalidation re-fetches supplementary sizes too.
* [ASCollectionView] Final method ordering and doc-comment for new _sizeForUIKitCellWithKind:atIndexPath: method.
* [PINCache] Set a default .byteLimit to reduce disk usage & startup time.
This default is fairly low - only 20MB - but for most apps with images
in the size range of 10-50KB, this is still 400-1000 images.
Once some optimizations land to PINCache, we'll match the PINCache
default of 50MB to ensure the default better serves users with larger
objects in the cache.
Apps should preferably set their own byteLimit to an optimal value.
@garrettmoon - one interesting question for us is the best place to
set .byteLimit as an app. Digging into the ASPINRemoteImageDownloader
and doing this type cast is a bit complicated, so a passthrough API
to get the PIN* objects directly might be worthwhile.
* [PINCache] Declare necessary APIs to avoid a direct dependency.
* Clear ivar after scheduling for main thread deallocation
After scheduling the ivar for main thread deallocation we have clear out the ivar, otherwise we can run into a race condition where the main queue is drained earlier than this node is deallocated and the ivar is still deallocated on a background thread
* First clear and than schedule
* Rolling back CI to known version for now
* Fix availability in tests
* Commenting out for now to see if it builds
* Fix up the Swift framework test
* Fix availability
* Fix crashes caused by failing to unlock or destroy a static mutex while the app is being terminated
* Allocate static mutexes on the heap memory to avoid destruction at app exit
* ASThread to use ASDisplayNodeCAssert() instead of assert()
* Added attributed versions of accessibilityLabel, accessibilityHint and accessibilityValue
* Follow conventions for property types
* Use curly braces
* Update changelog
* Follow conventions for property types in UIView+ASConvenience.h
* Add compatibility for Xcode 8
* Use isEqualToString instead of pointer comparison
* Only allocate attributed strings once. Use _setAttributedAccessibilityToViewAndProperty only for attributed properties.
* [ASCornerRounding] Initial (untested) implementation of ASCornerRounding features.
* [ASCornerRounding] Working version of both clip corners and precomposited corners.
* [ASCornerRounding] Improve factoring and documentation of corner rounding features.
* [ASCornerRounding] Some final fixups.
* Add entry to changelog for .cornerRoundingType
* [Yoga] Add insertYogaNode:atIndex: method. Improve handling of relayouts.
* Add new "version" parameter to Yoga initialization of ASDisplayNodeLayout C++ struct.
* Mark ASRunLoopQueue as drained if it contains only NULLs
* Update CHANGELOG.md
* Cover ASRunLoopQueue with tests
* Include PR link in CHANGELOG.md
* Replace license header of ASRunLoopQueueTests.m with correct one
* Insert a nil in _internalQueue to ensure compaction, instead of maintaining a state for _isQueueDrained
* Add support for downloading a set of URLs on ASNetworkImageNode
* Should be building now;
* Remove old unused code
* Add a changelog message
* Bump PINRemoteImage
* Huy's comments
* Notify rasterized subsides that render pass has completed
* Traverse entire subnode tree notifying all subnodes
* Add entry in changelog
* Retrieve rasterizesSubtree flag while holding instance lock
* Balance display delegate calls for rasterized subnodes
* [ASCollectionNode] Add -isProcessingUpdates and -onDidFinishProcessingUpdates: APIs.
Over time, there have actually been a lot of legitimate uses for an API like this.
In fact, I'm not quite sure what has held us back from adding one!
I believe that at least some portion of -wait calls (even if less than 50%) could be
replaced with -onDidFinishProcessingUpdates:, which could potentially improve the
performance of applications using -wait by a significant amount.
Please take a close look at implementation correctness. Although I'm in a bit of a
rush, I'm aiming to make this properly documented and added a basic test -- but it
could certainly use some more detailed testing as a followup.
* [ASCollectionNode] Improvements to the implementation of -isProcessingUpdates and -onDidFinishProcessingUpdates:
* Add lock to ASMainSerialQueue count method.
* [ASTableNode] Implement -isProcessingUpdates and -onDidFinishProcessingUpdates:. Rename -waitUntil to consistent naming.