mirror of
https://github.com/purplecabbage/phonegap-plugins.git
synced 2026-04-24 03:00:11 -04:00
ChildBrowser with Cordova only support. Intended to eliminate dual PhoneGap/Cordova naming moving forward.
78 lines
2.0 KiB
Objective-C
78 lines
2.0 KiB
Objective-C
// Created by Jesse MacFadyen on 10-05-29.
|
|
// Copyright 2010 Nitobi. All rights reserved.
|
|
// Copyright 2012, Randy McMillan
|
|
|
|
#import "ChildBrowserCommand.h"
|
|
|
|
#ifdef CORDOVA_FRAMEWORK
|
|
#import <Cordova/CDVViewController.h>
|
|
#else
|
|
#import "Cordova/CDVViewController.h"
|
|
#endif
|
|
|
|
|
|
@implementation ChildBrowserCommand
|
|
|
|
@synthesize childBrowser;
|
|
|
|
- (void) showWebPage:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // args: url
|
|
{
|
|
if(childBrowser == NULL)
|
|
{
|
|
childBrowser = [[ ChildBrowserViewController alloc ] initWithScale:FALSE ];
|
|
childBrowser.delegate = self;
|
|
}
|
|
|
|
/* // TODO: Work in progress
|
|
NSString* strOrientations = [ options objectForKey:@"supportedOrientations"];
|
|
NSArray* supportedOrientations = [strOrientations componentsSeparatedByString:@","];
|
|
*/
|
|
|
|
#ifdef CORDOVA_FRAMEWORK
|
|
CDVViewController* cont = (CDVViewController*)[ super viewController ];
|
|
childBrowser.supportedOrientations = cont.supportedOrientations;
|
|
[ cont presentModalViewController:childBrowser animated:YES ];
|
|
#endif
|
|
|
|
NSString *url = (NSString*) [arguments objectAtIndex:0];
|
|
|
|
|
|
[childBrowser loadURL:url ];
|
|
|
|
}
|
|
|
|
-(void) close:(NSMutableArray*)arguments withDict:(NSMutableDictionary*)options // args: url
|
|
{
|
|
[ childBrowser closeBrowser];
|
|
|
|
}
|
|
|
|
-(void) onClose
|
|
{
|
|
NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onClose();",@""];
|
|
[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
|
|
}
|
|
|
|
-(void) onOpenInSafari
|
|
{
|
|
NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onOpenExternal();",@""];
|
|
[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
|
|
}
|
|
|
|
|
|
-(void) onChildLocationChange:(NSString*)newLoc
|
|
{
|
|
|
|
NSString* tempLoc = [NSString stringWithFormat:@"%@",newLoc];
|
|
NSString* encUrl = [tempLoc stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
|
|
|
|
NSString* jsCallback = [NSString stringWithFormat:@"ChildBrowser._onLocationChange('%@');",encUrl];
|
|
[self.webView stringByEvaluatingJavaScriptFromString:jsCallback];
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@end
|