Title: [173946] trunk/Source/WebKit/ios
Revision
173946
Author
[email protected]
Date
2014-09-24 21:30:56 -0700 (Wed, 24 Sep 2014)

Log Message

[iOS] Another iOS build fix; workaround for CoreLocation
https://bugs.webkit.org/show_bug.cgi?id=137104
<rdar://problem/18450785>

Rubber-stamped by Benjamin Poulain.

Workaround CoreLocation issue by adding a default statement in -[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]
and -[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:].
We'll remove these default statements once we have the fix for <rdar://problem/18448331>.

* Misc/WebGeolocationCoreLocationProvider.mm:
(-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]):
(-[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:]):

Modified Paths

Diff

Modified: trunk/Source/WebKit/ios/ChangeLog (173945 => 173946)


--- trunk/Source/WebKit/ios/ChangeLog	2014-09-25 04:02:03 UTC (rev 173945)
+++ trunk/Source/WebKit/ios/ChangeLog	2014-09-25 04:30:56 UTC (rev 173946)
@@ -1,5 +1,21 @@
 2014-09-24  Daniel Bates  <[email protected]>
 
+        [iOS] Another iOS build fix; workaround for CoreLocation
+        https://bugs.webkit.org/show_bug.cgi?id=137104
+        <rdar://problem/18450785>
+
+        Rubber-stamped by Benjamin Poulain.
+
+        Workaround CoreLocation issue by adding a default statement in -[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]
+        and -[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:].
+        We'll remove these default statements once we have the fix for <rdar://problem/18448331>.
+
+        * Misc/WebGeolocationCoreLocationProvider.mm:
+        (-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]):
+        (-[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:]):
+
+2014-09-24  Daniel Bates  <[email protected]>
+
         [iOS] Fix the iOS build; add case statements for kCLAuthorizationStatusAuthorized
         https://bugs.webkit.org/show_bug.cgi?id=137101
         <rdar://problem/18449815>

Modified: trunk/Source/WebKit/ios/Misc/WebGeolocationCoreLocationProvider.mm (173945 => 173946)


--- trunk/Source/WebKit/ios/Misc/WebGeolocationCoreLocationProvider.mm	2014-09-25 04:02:03 UTC (rev 173945)
+++ trunk/Source/WebKit/ios/Misc/WebGeolocationCoreLocationProvider.mm	2014-09-25 04:30:56 UTC (rev 173946)
@@ -101,7 +101,8 @@
         return;
     }
 
-    switch ([getCLLocationManagerClass() authorizationStatus]) {
+    CLAuthorizationStatus authorizationStatus = [getCLLocationManagerClass() authorizationStatus];
+    switch (authorizationStatus) {
     case kCLAuthorizationStatusNotDetermined: {
         if (!_isWaitingForAuthorization) {
             _isWaitingForAuthorization = YES;
@@ -109,10 +110,6 @@
         }
         break;
     }
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-    case kCLAuthorizationStatusAuthorized:
-#pragma clang diagnostic pop
     case kCLAuthorizationStatusAuthorizedAlways:
     case kCLAuthorizationStatusAuthorizedWhenInUse: {
         [_positionListener geolocationAuthorizationGranted];
@@ -122,6 +119,16 @@
     case kCLAuthorizationStatusDenied:
         [_positionListener geolocationAuthorizationDenied];
         break;
+    default: // FIXME: Remove this default statement once we have the fix for <rdar://problem/18448331>.
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+        if (authorizationStatus == kCLAuthorizationStatusAuthorized) {
+            [_positionListener geolocationAuthorizationGranted];
+            break;
+        }
+        ASSERT_NOT_REACHED();
+        break;
+#pragma clang diagnostic pop
     }
 }
 
@@ -162,15 +169,22 @@
             _isWaitingForAuthorization = NO;
             [_positionListener geolocationAuthorizationDenied];
             break;
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-        case kCLAuthorizationStatusAuthorized:
-#pragma clang diagnostic pop
         case kCLAuthorizationStatusAuthorizedAlways:
         case kCLAuthorizationStatusAuthorizedWhenInUse:
             _isWaitingForAuthorization = NO;
             [_positionListener geolocationAuthorizationGranted];
             break;
+        default: // FIXME: Remove this default statement once we have the fix for <rdar://problem/18448331>.
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wdeprecated-declarations"
+            if (status == kCLAuthorizationStatusAuthorized) {
+                _isWaitingForAuthorization = NO;
+                [_positionListener geolocationAuthorizationGranted];
+                break;
+            }
+            ASSERT_NOT_REACHED();
+            break;
+#pragma clang diagnostic pop
         }
     } else {
         if (!(isAuthorizationGranted(_lastAuthorizationStatus) && isAuthorizationGranted(status))) {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to