Launches switching ASNetworkImageNode callbacks to global queue. (#1369)

* Launches switching ASNetworkImageNode callbacks to global queue.

* Good catch configuration tests!
This commit is contained in:
Garrett Moon 2019-03-07 09:47:56 -08:00 committed by GitHub
parent 4c370a899c
commit fce6f23b97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 9 additions and 24 deletions

View File

@ -18,7 +18,6 @@
"exp_interface_state_coalesce", "exp_interface_state_coalesce",
"exp_unfair_lock", "exp_unfair_lock",
"exp_infer_layer_defaults", "exp_infer_layer_defaults",
"exp_network_image_queue",
"exp_collection_teardown", "exp_collection_teardown",
"exp_framesetter_cache", "exp_framesetter_cache",
"exp_skip_clear_data", "exp_skip_clear_data",

View File

@ -23,15 +23,14 @@ typedef NS_OPTIONS(NSUInteger, ASExperimentalFeatures) {
ASExperimentalInterfaceStateCoalescing = 1 << 2, // exp_interface_state_coalesce ASExperimentalInterfaceStateCoalescing = 1 << 2, // exp_interface_state_coalesce
ASExperimentalUnfairLock = 1 << 3, // exp_unfair_lock ASExperimentalUnfairLock = 1 << 3, // exp_unfair_lock
ASExperimentalLayerDefaults = 1 << 4, // exp_infer_layer_defaults ASExperimentalLayerDefaults = 1 << 4, // exp_infer_layer_defaults
ASExperimentalNetworkImageQueue = 1 << 5, // exp_network_image_queue ASExperimentalCollectionTeardown = 1 << 5, // exp_collection_teardown
ASExperimentalCollectionTeardown = 1 << 6, // exp_collection_teardown ASExperimentalFramesetterCache = 1 << 6, // exp_framesetter_cache
ASExperimentalFramesetterCache = 1 << 7, // exp_framesetter_cache ASExperimentalSkipClearData = 1 << 7, // exp_skip_clear_data
ASExperimentalSkipClearData = 1 << 8, // exp_skip_clear_data ASExperimentalDidEnterPreloadSkipASMLayout = 1 << 8, // exp_did_enter_preload_skip_asm_layout
ASExperimentalDidEnterPreloadSkipASMLayout = 1 << 9, // exp_did_enter_preload_skip_asm_layout ASExperimentalDisableAccessibilityCache = 1 << 9, // exp_disable_a11y_cache
ASExperimentalDisableAccessibilityCache = 1 << 10, // exp_disable_a11y_cache ASExperimentalSkipAccessibilityWait = 1 << 10, // exp_skip_a11y_wait
ASExperimentalSkipAccessibilityWait = 1 << 11, // exp_skip_a11y_wait ASExperimentalNewDefaultCellLayoutMode = 1 << 11, // exp_new_default_cell_layout_mode
ASExperimentalNewDefaultCellLayoutMode = 1 << 12, // exp_new_default_cell_layout_mode ASExperimentalDispatchApply = 1 << 12, // exp_dispatch_apply
ASExperimentalDispatchApply = 1 << 13, // exp_dispatch_apply
ASExperimentalFeatureAll = 0xFFFFFFFF ASExperimentalFeatureAll = 0xFFFFFFFF
}; };

View File

@ -17,7 +17,6 @@ NSArray<NSString *> *ASExperimentalFeaturesGetNames(ASExperimentalFeatures flags
@"exp_interface_state_coalesce", @"exp_interface_state_coalesce",
@"exp_unfair_lock", @"exp_unfair_lock",
@"exp_infer_layer_defaults", @"exp_infer_layer_defaults",
@"exp_network_image_queue",
@"exp_collection_teardown", @"exp_collection_teardown",
@"exp_framesetter_cache", @"exp_framesetter_cache",
@"exp_skip_clear_data", @"exp_skip_clear_data",

View File

@ -125,16 +125,7 @@ static std::atomic_bool _useMainThreadDelegateCallbacks(true);
- (dispatch_queue_t)callbackQueue - (dispatch_queue_t)callbackQueue
{ {
static dispatch_once_t onceToken; return dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
static dispatch_queue_t callbackQueue;
dispatch_once(&onceToken, ^{
if (ASActivateExperimentalFeature(ASExperimentalNetworkImageQueue)) {
callbackQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
} else {
callbackQueue = dispatch_get_main_queue();
}
});
return callbackQueue;
} }
#pragma mark - Public methods -- must lock #pragma mark - Public methods -- must lock

View File

@ -23,7 +23,6 @@ static ASExperimentalFeatures features[] = {
ASExperimentalInterfaceStateCoalescing, ASExperimentalInterfaceStateCoalescing,
ASExperimentalUnfairLock, ASExperimentalUnfairLock,
ASExperimentalLayerDefaults, ASExperimentalLayerDefaults,
ASExperimentalNetworkImageQueue,
ASExperimentalCollectionTeardown, ASExperimentalCollectionTeardown,
ASExperimentalFramesetterCache, ASExperimentalFramesetterCache,
ASExperimentalSkipClearData, ASExperimentalSkipClearData,
@ -49,7 +48,6 @@ static ASExperimentalFeatures features[] = {
@"exp_interface_state_coalesce", @"exp_interface_state_coalesce",
@"exp_unfair_lock", @"exp_unfair_lock",
@"exp_infer_layer_defaults", @"exp_infer_layer_defaults",
@"exp_network_image_queue",
@"exp_collection_teardown", @"exp_collection_teardown",
@"exp_framesetter_cache", @"exp_framesetter_cache",
@"exp_skip_clear_data", @"exp_skip_clear_data",

View File

@ -109,7 +109,6 @@
- (void)cachedImageWithURL:(NSURL *)URL callbackQueue:(dispatch_queue_t)callbackQueue completion:(ASImageCacherCompletion)completion - (void)cachedImageWithURL:(NSURL *)URL callbackQueue:(dispatch_queue_t)callbackQueue completion:(ASImageCacherCompletion)completion
{ {
ASDisplayNodeAssert(callbackQueue == dispatch_get_main_queue(), @"ASTestImageCache expects main queue for callback.");
completion(nil); completion(nil);
} }