Commit Graph

1334 Commits

Author SHA1 Message Date
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
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
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
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
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
appleguy
2d9064dd1e Merge pull request #932 from garrettmoon/exposeRecursivelyEnsureDisplay
Introduce ASDisplayNode+Beta.h - Expose recursivelyEnsureDisplay
2015-12-10 20:17:10 -08:00
Garrett Moon
082dc1cbca Expose recursivelyEnsureDisplay 2015-12-10 19:42:17 -08:00
Alexey Glushkov
ad282132ff merge master 2015-12-08 22:04:34 +03:00
appleguy
c9a0a3d46f Merge pull request #918 from levi/master
Inline supplementary kind iteration in data controller
2015-12-07 12:58:25 -08:00
appleguy
f5d06c5989 Merge pull request #919 from facebook/ASDataControllerVisibleNodes
[ASDataController] Ensure an empty array is returned if visibleNodes is called before any nodes are complete.
1.9.3
2015-12-06 22:01:27 -08:00
Scott Goodson
88b36f58e7 Ensure an empty array is returned if visibleNodes is called before any nodes are complete. 2015-12-06 21:45:46 -08:00
Levi McCallum
223cac1784 Inline supplementary kind iteration in data controller 2015-12-06 21:31:40 -08:00
appleguy
f6cc2067e9 Merge pull request #917 from levi/master
Ensure that newly inserted section supplementary nodes are added to backing store
2015-12-06 21:25:47 -08:00
appleguy
0cf89535d0 Merge pull request #842 from aaronschubert0/ASMapNode
[ASMapNode] Initial implementation.  Some changes planned, including a replacement initializer method.
2015-12-06 21:07:29 -08:00
Scott Goodson
a47a1b8c2a Bump podspec to 1.9.3. Remove Cocoapods-generated workspace files. 2015-12-06 20:32:21 -08:00
Levi McCallum
64da9e7ece Ensure that new section supplementary nodes are inserted into backing store 2015-12-06 20:07:29 -08:00
Scott Goodson
1e9c4563f3 Improve factoring of locking and early returns for -setInterfaceState: and -setHierarchyState: 2015-12-06 19:30:04 -08:00
appleguy
ea144310c8 Merge pull request #915 from facebook/ASHierarchyState
[ASDisplayNode] Introduced ASHierarchyState, eliminating upward traversal and locking.  Fixes rare deadlock.
2015-12-06 19:29:07 -08:00
Scott Goodson
c11d90cd3a Fix an issue with ASHierarchyState when disabling rasterization after having enabled it. 2015-12-06 18:46:29 -08:00
Scott Goodson
271f288a19 Polish ASHierarchyState implementation, fix old comment typos, work on test breakages. 2015-12-06 15:04:47 -08:00
Scott Goodson
67aec97523 Adopt ASHierarchyState to replace manual checking for ASCellNode parent. 2015-12-05 22:41:40 -08:00
Scott Goodson
840884272d Introduced ASHierarchyState. Created ASDisplayNode+FrameworkPrivate.h. Fixed deadlock. 2015-12-05 22:20:16 -08:00
appleguy
29897297c5 Merge pull request #913 from Adlai-Holler/WorkaroundCellContentsLoading
Provide Basic Interface State Support for Nodes Outside of Cells
2015-12-05 17:35:28 -08:00
appleguy
faf9d266c5 Merge pull request #914 from Adlai-Holler/UpdateInterfaceStateBeforeCallout
Minimize critical section in -setInterfaceState:, and move ivar set before subclass hooks are called.
2015-12-05 16:03:57 -08:00
appleguy
6e13368463 Merge pull request #911 from Adlai-Holler/FixTextNodeHighlightingLogic
Reduce Reliance on -textNode:shouldHighlightLinkAttribute:value:atPoint:
2015-12-05 11:01:56 -08:00
Adlai Holler
4284b6e23a Set _interfaceState before calling fetchData et al. 2015-12-05 00:20:44 -08:00
Adlai Holler
34c487de5b Fix test 2015-12-04 13:01:15 -08:00
Adlai Holler
0bfb5a0401 Make new interface state a first-class value 2015-12-04 12:49:38 -08:00
Adlai Holler
9579420cd7 Add static constant ASInterfaceStateInHierarchy which we'll return if the node is not in a cell but its view is in a window 2015-12-04 12:47:36 -08:00
Adlai Holler
05ff0e40ec Add test case for non-cell node interface state 2015-12-04 12:46:34 -08:00
Levi McCallum
8f5b498381 Move data controller classes into separate details group 2015-12-04 11:44:02 -08:00
appleguy
3a04cb7cc8 Merge pull request #898 from Adlai-Holler/OptimizeNodeDidRelayout
Reduce Frequency of beginUpdates/endUpdates Due to Node Relayout
2015-12-03 21:02:22 -08:00
Adlai Holler
835acd6a25 Change assumed value for text node highlighting delegate method to YES and don't consult it unless highlighting. 2015-12-03 20:52:02 -08:00
appleguy
61f2f73b16 Merge pull request #910 from Adlai-Holler/FixMovingLinkTouches
Allow User to Move While Touching Link As Long As They Stay In Range
2015-12-03 10:58:54 -08:00
Adlai Holler
f39105a8f4 Optimize 2015-12-03 09:45:45 -08:00
Adlai Holler
f723452756 Allow link taps to continue if touches move within the same link 2015-12-03 09:25:37 -08:00
Aaron Schubert
e1b50ce77a Fix merge conflicts 2015-12-03 14:23:27 +00:00