Updated Branches: refs/heads/2.9.x bd6181309 -> a57f467bf
[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/a57f467b Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/a57f467b Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/a57f467b Branch: refs/heads/2.9.x Commit: a57f467bfdb42a4c17b22f81f744ac445ef0695a Parents: bd61813 Author: Max Woghiren <[email protected]> Authored: Wed Jul 10 17:28:47 2013 -0400 Committer: Max Woghiren <[email protected]> Committed: Wed Jul 10 17:31:29 2013 -0400 ---------------------------------------------------------------------- CordovaLib/Classes/CDVConfigParser.m | 2 +- CordovaLib/Classes/CDVViewController.m | 46 ++++++++++++++++++----------- 2 files changed, 29 insertions(+), 19 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/a57f467b/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/a57f467b/CordovaLib/Classes/CDVViewController.m ---------------------------------------------------------------------- diff --git a/CordovaLib/Classes/CDVViewController.m b/CordovaLib/Classes/CDVViewController.m index 94f4552..237a4eb 100644 --- a/CordovaLib/Classes/CDVViewController.m +++ b/CordovaLib/Classes/CDVViewController.m @@ -128,7 +128,7 @@ - (void)keyboardWillShowOrHide:(NSNotification*)notif { - if (![@"true" isEqualToString : self.settings[@"KeyboardShrinksView"]]) { + if (![@"true" isEqualToString :[self settingForKey:@"KeyboardShrinksView"]]) { return; } BOOL showEvent = [notif.name isEqualToString:UIKeyboardWillShowNotification]; @@ -246,11 +246,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]; @@ -262,16 +262,16 @@ // ///////////////// - NSNumber* enableLocation = [self.settings objectForKey:@"EnableLocation"]; - NSString* enableViewportScale = [self.settings objectForKey:@"EnableViewportScale"]; - NSNumber* allowInlineMediaPlayback = [self.settings objectForKey:@"AllowInlineMediaPlayback"]; + NSNumber* enableLocation = [self settingForKey:@"EnableLocation"]; + 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]; @@ -317,9 +317,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]; @@ -344,9 +344,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]; } } @@ -356,9 +356,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]; } } @@ -399,6 +399,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];
