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];
