diff --git a/Libraries/Image/RCTImageLoader.h b/Libraries/Image/RCTImageLoader.h index 78cf41e467f..f82cdeccc2b 100644 --- a/Libraries/Image/RCTImageLoader.h +++ b/Libraries/Image/RCTImageLoader.h @@ -8,6 +8,7 @@ #import #import +#import #import #import #import @@ -15,6 +16,11 @@ #import #import +RCT_EXTERN BOOL RCTImageLoadingInstrumentationEnabled(void); +RCT_EXTERN BOOL RCTImageLoadingPerfInstrumentationEnabled(void); +RCT_EXTERN void RCTEnableImageLoadingInstrumentation(BOOL enabled); +RCT_EXTERN void RCTEnableImageLoadingPerfInstrumentation(BOOL enabled); + @interface RCTImageLoader : NSObject - (instancetype)init; - (instancetype)initWithRedirectDelegate:(id)redirectDelegate NS_DESIGNATED_INITIALIZER; diff --git a/Libraries/Image/RCTImageLoader.mm b/Libraries/Image/RCTImageLoader.mm index 5bb3b124867..6b82d8283ca 100644 --- a/Libraries/Image/RCTImageLoader.mm +++ b/Libraries/Image/RCTImageLoader.mm @@ -25,6 +25,29 @@ using namespace facebook::react; +static BOOL imageInstrumentationEnabled = NO; +static BOOL imagePerfInstrumentationEnabled = NO; + +BOOL RCTImageLoadingInstrumentationEnabled(void) +{ + return imageInstrumentationEnabled; +} + +BOOL RCTImageLoadingPerfInstrumentationEnabled(void) +{ + return imagePerfInstrumentationEnabled; +} + +void RCTEnableImageLoadingInstrumentation(BOOL enabled) +{ + imageInstrumentationEnabled = enabled; +} + +void RCTEnableImageLoadingPerfInstrumentation(BOOL enabled) +{ + imagePerfInstrumentationEnabled = enabled; +} + static NSInteger RCTImageBytesForImage(UIImage *image) { NSInteger singleImageBytes = image.size.width * image.size.height * image.scale * image.scale * 4;