@@ -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