Updated Branches:
  refs/heads/master 4bde06d20 -> e562ff953

[CB-4104] Made config parameters case-insensitive.


Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/e562ff95
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/e562ff95
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/e562ff95

Branch: refs/heads/master
Commit: e562ff953c5df2bdce005c6ab67ef965d2f86b26
Parents: 4bde06d
Author: Max Woghiren <[email protected]>
Authored: Wed Jul 10 17:28:47 2013 -0400
Committer: Max Woghiren <[email protected]>
Committed: Wed Jul 10 17:28:47 2013 -0400

----------------------------------------------------------------------
 CordovaLib/Classes/CDVConfigParser.m   |  2 +-
 CordovaLib/Classes/CDVViewController.m | 44 ++++++++++++++++++-----------
 2 files changed, 28 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/e562ff95/CordovaLib/Classes/CDVConfigParser.m
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVConfigParser.m 
b/CordovaLib/Classes/CDVConfigParser.m
index 55b25e6..83fe83f 100644
--- a/CordovaLib/Classes/CDVConfigParser.m
+++ b/CordovaLib/Classes/CDVConfigParser.m
@@ -49,7 +49,7 @@
 - (void)parser:(NSXMLParser*)parser didStartElement:(NSString*)elementName 
namespaceURI:(NSString*)namespaceURI qualifiedName:(NSString*)qualifiedName 
attributes:(NSDictionary*)attributeDict
 {
     if ([elementName isEqualToString:@"preference"]) {
-        settings[attributeDict[@"name"]] = attributeDict[@"value"];
+        settings[[attributeDict[@"name"] lowercaseString]] = 
attributeDict[@"value"];
     } else if ([elementName isEqualToString:@"plugin"]) {
         NSString* name = [attributeDict[@"name"] lowercaseString];
         pluginsDict[name] = attributeDict[@"value"];

http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/e562ff95/CordovaLib/Classes/CDVViewController.m
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVViewController.m 
b/CordovaLib/Classes/CDVViewController.m
index f7595f5..5ee5120 100644
--- a/CordovaLib/Classes/CDVViewController.m
+++ b/CordovaLib/Classes/CDVViewController.m
@@ -129,7 +129,7 @@
 
 - (void)keyboardWillShowOrHide:(NSNotification*)notif
 {
-    if (![@"true" isEqualToString : self.settings[@"KeyboardShrinksView"]]) {
+    if (![@"true" isEqualToString :[self 
settingForKey:@"KeyboardShrinksView"]]) {
         return;
     }
     BOOL showEvent = [notif.name 
isEqualToString:UIKeyboardWillShowNotification];
@@ -247,11 +247,11 @@
 
     NSString* backupWebStorageType = @"cloud"; // default value
 
-    id backupWebStorage = self.settings[@"BackupWebStorage"];
+    id backupWebStorage = [self settingForKey:@"BackupWebStorage"];
     if ([backupWebStorage isKindOfClass:[NSString class]]) {
         backupWebStorageType = backupWebStorage;
     }
-    self.settings[@"BackupWebStorage"] = backupWebStorageType;
+    [self setSetting:backupWebStorageType forKey:@"BackupWebStorage"];
 
     if (IsAtLeastiOSVersion(@"5.1")) {
         [CDVLocalStorage 
__fixupDatabaseLocationsWithBackupType:backupWebStorageType];
@@ -263,15 +263,15 @@
 
     // /////////////////
 
-    NSString* enableViewportScale = [self.settings 
objectForKey:@"EnableViewportScale"];
-    NSNumber* allowInlineMediaPlayback = [self.settings 
objectForKey:@"AllowInlineMediaPlayback"];
+    NSString* enableViewportScale = [self 
settingForKey:@"EnableViewportScale"];
+    NSNumber* allowInlineMediaPlayback = [self 
settingForKey:@"AllowInlineMediaPlayback"];
     BOOL mediaPlaybackRequiresUserAction = YES;  // default value
-    if ([self.settings objectForKey:@"MediaPlaybackRequiresUserAction"]) {
-        mediaPlaybackRequiresUserAction = [(NSNumber*)[settings 
objectForKey:@"MediaPlaybackRequiresUserAction"] boolValue];
+    if ([self settingForKey:@"MediaPlaybackRequiresUserAction"]) {
+        mediaPlaybackRequiresUserAction = [(NSNumber*)[self 
settingForKey:@"MediaPlaybackRequiresUserAction"] boolValue];
     }
     BOOL hideKeyboardFormAccessoryBar = NO;  // default value
-    if ([self.settings objectForKey:@"HideKeyboardFormAccessoryBar"]) {
-        hideKeyboardFormAccessoryBar = [(NSNumber*)[settings 
objectForKey:@"HideKeyboardFormAccessoryBar"] boolValue];
+    if ([self settingForKey:@"HideKeyboardFormAccessoryBar"]) {
+        hideKeyboardFormAccessoryBar = [(NSNumber*)[self 
settingForKey:@"HideKeyboardFormAccessoryBar"] boolValue];
     }
 
     self.webView.scalesPageToFit = [enableViewportScale boolValue];
@@ -312,9 +312,9 @@
     // By default, overscroll bouncing is allowed.
     // UIWebViewBounce has been renamed to DisallowOverscroll, but both are 
checked.
     BOOL bounceAllowed = YES;
-    NSNumber* disallowOverscroll = [self.settings 
objectForKey:@"DisallowOverscroll"];
+    NSNumber* disallowOverscroll = [self settingForKey:@"DisallowOverscroll"];
     if (disallowOverscroll == nil) {
-        NSNumber* bouncePreference = [self.settings 
objectForKey:@"UIWebViewBounce"];
+        NSNumber* bouncePreference = [self settingForKey:@"UIWebViewBounce"];
         bounceAllowed = (bouncePreference == nil || [bouncePreference 
boolValue]);
     } else {
         bounceAllowed = ![disallowOverscroll boolValue];
@@ -339,9 +339,9 @@
      */
     if (IsAtLeastiOSVersion(@"6.0")) {
         BOOL keyboardDisplayRequiresUserAction = YES; // 
KeyboardDisplayRequiresUserAction - defaults to YES
-        if ([self.settings objectForKey:@"KeyboardDisplayRequiresUserAction"] 
!= nil) {
-            if ([self.settings 
objectForKey:@"KeyboardDisplayRequiresUserAction"]) {
-                keyboardDisplayRequiresUserAction = [(NSNumber*)[self.settings 
objectForKey:@"KeyboardDisplayRequiresUserAction"] boolValue];
+        if ([self settingForKey:@"KeyboardDisplayRequiresUserAction"] != nil) {
+            if ([self settingForKey:@"KeyboardDisplayRequiresUserAction"]) {
+                keyboardDisplayRequiresUserAction = [(NSNumber*)[self 
settingForKey:@"KeyboardDisplayRequiresUserAction"] boolValue];
             }
         }
 
@@ -351,9 +351,9 @@
         }
 
         BOOL suppressesIncrementalRendering = NO; // 
SuppressesIncrementalRendering - defaults to NO
-        if ([self.settings objectForKey:@"SuppressesIncrementalRendering"] != 
nil) {
-            if ([self.settings 
objectForKey:@"SuppressesIncrementalRendering"]) {
-                suppressesIncrementalRendering = [(NSNumber*)[self.settings 
objectForKey:@"SuppressesIncrementalRendering"] boolValue];
+        if ([self settingForKey:@"SuppressesIncrementalRendering"] != nil) {
+            if ([self settingForKey:@"SuppressesIncrementalRendering"]) {
+                suppressesIncrementalRendering = [(NSNumber*)[self 
settingForKey:@"SuppressesIncrementalRendering"] boolValue];
             }
         }
 
@@ -394,6 +394,16 @@
     }];
 }
 
+- (id)settingForKey:(NSString*)key
+{
+    return [[self settings] objectForKey:[key lowercaseString]];
+}
+
+- (void)setSetting:(id)setting forKey:(NSString*)key
+{
+    [[self settings] setObject:setting forKey:[key lowercaseString]];
+}
+
 - (void)hideKeyboardFormAccessoryBar
 {
     NSArray* windows = [[UIApplication sharedApplication] windows];

Reply via email to