diff options
Diffstat (limited to 'plugins/cordova-plugin-whitelist/src/ios')
| -rw-r--r-- | plugins/cordova-plugin-whitelist/src/ios/CDVNavigationWhitelistPlugin.h | 31 | ||||
| -rw-r--r-- | plugins/cordova-plugin-whitelist/src/ios/CDVNavigationWhitelistPlugin.m | 89 |
2 files changed, 0 insertions, 120 deletions
diff --git a/plugins/cordova-plugin-whitelist/src/ios/CDVNavigationWhitelistPlugin.h b/plugins/cordova-plugin-whitelist/src/ios/CDVNavigationWhitelistPlugin.h deleted file mode 100644 index d0b93654..00000000 --- a/plugins/cordova-plugin-whitelist/src/ios/CDVNavigationWhitelistPlugin.h +++ /dev/null @@ -1,31 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - */ - -#import <UIKit/UIKit.h> -#import <Cordova/CDVPlugin.h> -#import <Cordova/CDVWhitelist.h> - -@interface CDVNavigationWhitelistPlugin : CDVPlugin {} - -@property (nonatomic, readonly, strong) CDVWhitelist* whitelist; // readonly for public - -- (BOOL)shouldAllowNavigationToURL:(NSURL *)url; -- (BOOL)shouldAllowRequestForURL:(NSURL *)url; - -@end diff --git a/plugins/cordova-plugin-whitelist/src/ios/CDVNavigationWhitelistPlugin.m b/plugins/cordova-plugin-whitelist/src/ios/CDVNavigationWhitelistPlugin.m deleted file mode 100644 index 5895e89b..00000000 --- a/plugins/cordova-plugin-whitelist/src/ios/CDVNavigationWhitelistPlugin.m +++ /dev/null @@ -1,89 +0,0 @@ -/* - Licensed to the Apache Software Foundation (ASF) under one - or more contributor license agreements. See the NOTICE file - distributed with this work for additional information - regarding copyright ownership. The ASF licenses this file - to you under the Apache License, Version 2.0 (the - "License"); you may not use this file except in compliance - with the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, - software distributed under the License is distributed on an - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - KIND, either express or implied. See the License for the - specific language governing permissions and limitations - under the License. - */ - -#import "CDVNavigationWhitelistPlugin.h" -#import <Cordova/CDVViewController.h> - -#pragma mark CDVNavigationWhitelistConfigParser - -@interface CDVNavigationWhitelistConfigParser : NSObject <NSXMLParserDelegate> {} - -@property (nonatomic, strong) NSMutableArray* whitelistHosts; - -@end - -@implementation CDVNavigationWhitelistConfigParser - -@synthesize whitelistHosts; - -- (id)init -{ - self = [super init]; - if (self != nil) { - self.whitelistHosts = [[NSMutableArray alloc] initWithCapacity:30]; - [self.whitelistHosts addObject:@"file:///*"]; - [self.whitelistHosts addObject:@"content:///*"]; - [self.whitelistHosts addObject:@"data:///*"]; - } - return self; -} - -- (void)parser:(NSXMLParser*)parser didStartElement:(NSString*)elementName namespaceURI:(NSString*)namespaceURI qualifiedName:(NSString*)qualifiedName attributes:(NSDictionary*)attributeDict -{ - if ([elementName isEqualToString:@"allow-navigation"]) { - [whitelistHosts addObject:attributeDict[@"href"]]; - } -} - -- (void)parser:(NSXMLParser*)parser didEndElement:(NSString*)elementName namespaceURI:(NSString*)namespaceURI qualifiedName:(NSString*)qualifiedName -{ -} - -- (void)parser:(NSXMLParser*)parser parseErrorOccurred:(NSError*)parseError -{ - NSAssert(NO, @"config.xml parse error line %ld col %ld", (long)[parser lineNumber], (long)[parser columnNumber]); -} - - -@end - -#pragma mark CDVNavigationWhitelistPlugin - -@interface CDVNavigationWhitelistPlugin () {} -@property (nonatomic, strong) CDVWhitelist* whitelist; -@end - -@implementation CDVNavigationWhitelistPlugin - -@synthesize whitelist; - -- (void)setViewController:(UIViewController *)viewController -{ - if ([viewController isKindOfClass:[CDVViewController class]]) { - CDVWhitelistConfigParser *whitelistConfigParser = [[CDVWhitelistConfigParser alloc] init]; - [(CDVViewController *)viewController parseSettingsWithParser:whitelistConfigParser]; - self.whitelist = [[CDVWhitelist alloc] initWithArray:whitelistConfigParser.whitelistHosts]; - } -} - -- (BOOL)shouldAllowNavigationToURL:(NSURL *)url -{ - return [self.whitelist URLIsAllowed:url]; -} -@end |
