Skip to content

Commit 8bca256

Browse files
committed
wrap entire check in camera media type check
1 parent 2903d5b commit 8bca256

File tree

1 file changed

+19
-16
lines changed

1 file changed

+19
-16
lines changed

IdentityCore/src/webview/embeddedWebview/MSIDOAuth2EmbeddedWebviewController.m

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -499,28 +499,31 @@ - (void) webView:(WKWebView *)webView
499499
type:(WKMediaCaptureType)type
500500
decisionHandler:(void (^)(WKPermissionDecision decision))decisionHandler API_AVAILABLE(ios(15.0), macos(12.0))
501501
{
502-
503-
NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:SSO_EXTENSION_USER_DEFAULTS_KEY];
504-
id cameraConsentValue = [userDefaults objectForKey:CAMERA_CONSENT_PROMPT_SUPPRESS_KEY];
505-
id sdmCameraConsentValue = [userDefaults objectForKey:SDM_CAMERA_CONSENT_PROMPT_SUPPRESS_KEY];
506-
507-
if (cameraConsentValue && ([cameraConsentValue isKindOfClass:NSNumber.class] || [cameraConsentValue isKindOfClass:NSString.class]))
502+
// Prompt suppression is only allowed for the camera
503+
if (type == WKMediaCaptureTypeCamera)
508504
{
509-
if ([cameraConsentValue boolValue] && type == WKMediaCaptureTypeCamera)
505+
NSUserDefaults *userDefaults = [[NSUserDefaults alloc] initWithSuiteName:SSO_EXTENSION_USER_DEFAULTS_KEY];
506+
id cameraConsentValue = [userDefaults objectForKey:CAMERA_CONSENT_PROMPT_SUPPRESS_KEY];
507+
id sdmCameraConsentValue = [userDefaults objectForKey:SDM_CAMERA_CONSENT_PROMPT_SUPPRESS_KEY];
508+
509+
if (cameraConsentValue && ([cameraConsentValue isKindOfClass:NSNumber.class] || [cameraConsentValue isKindOfClass:NSString.class]))
510510
{
511-
decisionHandler(WKPermissionDecisionGrant);
512-
return;
511+
if ([cameraConsentValue boolValue])
512+
{
513+
decisionHandler(WKPermissionDecisionGrant);
514+
return;
515+
}
513516
}
514-
}
515-
else if (sdmCameraConsentValue && ([sdmCameraConsentValue isKindOfClass:NSNumber.class] || [sdmCameraConsentValue isKindOfClass:NSString.class]))
516-
{
517-
if ([sdmCameraConsentValue boolValue] && type == WKMediaCaptureTypeCamera)
517+
else if (sdmCameraConsentValue && ([sdmCameraConsentValue isKindOfClass:NSNumber.class] || [sdmCameraConsentValue isKindOfClass:NSString.class]))
518518
{
519-
decisionHandler(WKPermissionDecisionGrant);
520-
return;
519+
if ([sdmCameraConsentValue boolValue])
520+
{
521+
decisionHandler(WKPermissionDecisionGrant);
522+
return;
523+
}
521524
}
522525
}
523-
526+
524527
decisionHandler(WKPermissionDecisionPrompt);
525528
}
526529
#endif

0 commit comments

Comments
 (0)