From b34e8d78de20ea11b2b07a24df3b12d2936d1a5e Mon Sep 17 00:00:00 2001 From: Garrett Moon Date: Thu, 12 May 2016 13:16:39 -0700 Subject: [PATCH] ASViewController.m -> ASViewController.mm upstream --- AsyncDisplayKit/ASViewController.mm | 92 +---------------------------- 1 file changed, 1 insertion(+), 91 deletions(-) diff --git a/AsyncDisplayKit/ASViewController.mm b/AsyncDisplayKit/ASViewController.mm index af76607cc9..db5b1e5b4d 100644 --- a/AsyncDisplayKit/ASViewController.mm +++ b/AsyncDisplayKit/ASViewController.mm @@ -9,11 +9,8 @@ #import "ASViewController.h" #import "ASAssert.h" #import "ASDimension.h" -#import "ASDisplayNodeInternal.h" #import "ASDisplayNode+FrameworkPrivate.h" #import "ASDisplayNode+Beta.h" -#import "ASTraitCollection.h" -#import "ASEnvironmentInternal.h" #import "ASRangeControllerUpdateRangeProtocol+Beta.h" @implementation ASViewController @@ -45,21 +42,10 @@ _node = node; _automaticallyAdjustRangeModeBasedOnViewEvents = NO; - + return self; } -- (void)dealloc -{ - if (_traitColectionContext != nil) { - // The setter will iterate through the VC's subnodes and replace the traitCollectionContext in their ASEnvironmentTraitCollection with nil. - // Since the VC holds the only strong reference to this context and we are in the process of destroying - // the VC, all the references in the subnodes will be unsafe unless we nil them out. More than likely all the subnodes will be dealloc'ed - // as part of the VC being dealloc'ed, but this is just to make extra sure. - self.traitColectionContext = nil; - } -} - - (void)loadView { ASDisplayNodeAssertTrue(!_node.layerBacked); @@ -146,80 +132,4 @@ return _node.interfaceState; } -#pragma mark - ASEnvironmentTraitCollection - -- (void)setTraitColectionContext:(id)traitColectionContext -{ - if (_traitColectionContext != traitColectionContext) { - // propagate first so that nodes aren't hanging around with a dealloc'ed pointer - ASEnvironmentTraitCollectionUpdateDisplayContext(self.node, traitColectionContext); - - _traitColectionContext = traitColectionContext; - } -} - -- (ASEnvironmentTraitCollection)displayTraitsForTraitCollection:(UITraitCollection *)traitCollection -{ - if (self.overrideDisplayTraitsWithTraitCollection) { - ASTraitCollection *asyncTraitCollection = self.overrideDisplayTraitsWithTraitCollection(traitCollection); - self.traitColectionContext = asyncTraitCollection.traitCollectionContext; - return [asyncTraitCollection environmentTraitCollection]; - } - - ASEnvironmentTraitCollection asyncTraitCollection = ASEnvironmentTraitCollectionFromUITraitCollection(traitCollection); - asyncTraitCollection.displayContext = self.traitColectionContext; - return asyncTraitCollection; -} - -- (ASEnvironmentTraitCollection)displayTraitsForWindowSize:(CGSize)windowSize -{ - if (self.overrideDisplayTraitsWithWindowSize) { - ASTraitCollection *traitCollection = self.overrideDisplayTraitsWithWindowSize(windowSize); - self.traitColectionContext = traitCollection.traitCollectionContext; - return [traitCollection environmentTraitCollection]; - } - return self.node.environmentTraitCollection; -} - -- (void)progagateNewDisplayTraits:(ASEnvironmentTraitCollection)traitCollection -{ - ASEnvironmentState environmentState = self.node.environmentState; - ASEnvironmentTraitCollection oldTraitCollection = environmentState.traitCollection; - - if (ASEnvironmentTraitCollectionIsEqualToASEnvironmentTraitCollection(traitCollection, oldTraitCollection) == NO) { - environmentState.traitCollection = traitCollection; - self.node.environmentState = environmentState; - [self.node setNeedsLayout]; - - NSArray> *children = [self.node children]; - for (id child in children) { - ASEnvironmentStatePropagateDown(child, environmentState.traitCollection); - } - } -} - -- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection -{ - [super traitCollectionDidChange:previousTraitCollection]; - - ASEnvironmentTraitCollection traitCollection = [self displayTraitsForTraitCollection:self.traitCollection]; - [self progagateNewDisplayTraits:traitCollection]; -} - -- (void)willTransitionToTraitCollection:(UITraitCollection *)newCollection withTransitionCoordinator:(id)coordinator -{ - [super willTransitionToTraitCollection:newCollection withTransitionCoordinator:coordinator]; - - ASEnvironmentTraitCollection traitCollection = [self displayTraitsForTraitCollection:newCollection]; - [self progagateNewDisplayTraits:traitCollection]; -} - -- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id)coordinator -{ - [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator]; - - ASEnvironmentTraitCollection traitCollection = [self displayTraitsForWindowSize:size]; - [self progagateNewDisplayTraits:traitCollection]; -} - @end