CB-8467
Added support for hiding the web view container. This maintains the browser session without closing it. The browser window can be repeatedly hidden and shown. ** This has only been tested on android and ios ** amazon/android: An additional `hide` action was added to `InAppBrowser#execute`. It is identical to `show`, except that it calls `dialog.hide()` instead. blackberry10: no changes firefoxos: Added a `hide` method that is identical to `show`, indicating it is not supported. ios: Added a `hide` method that is identical to `show`, except that it uses `dismissViewControllerAnimated`. It checks the value of `_previousStatusBarStyle`. If it is `-1`, the method returns with no action performed. If it is not, it is set to `-1.` ubuntu: Added a `hide` method that sets `CordovaWrapper.global.inappbrowser.visible` to `false`. windows: Added a `hide` method that sets `browserWrap.style.display` to `none`. wp: Added a `hide` method that is identical to `show`, except that it sets `browser.Visibility` to `Visibility.Collapsed` and sets `AppBar.IsVisible` to `false`.
This commit is contained in:
@@ -243,6 +243,54 @@
|
||||
});
|
||||
}
|
||||
|
||||
- (void)hide:(CDVInvokedUrlCommand*)command
|
||||
{
|
||||
if (self.inAppBrowserViewController == nil) {
|
||||
NSLog(@"Tried to hide IAB after it was closed.");
|
||||
return;
|
||||
|
||||
|
||||
}
|
||||
if (_previousStatusBarStyle == -1) {
|
||||
NSLog(@"Tried to hide IAB while already hidden");
|
||||
return;
|
||||
}
|
||||
|
||||
_previousStatusBarStyle = [UIApplication sharedApplication].statusBarStyle;
|
||||
|
||||
// Run later to avoid the "took a long time" log message.
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
if (self.inAppBrowserViewController != nil) {
|
||||
_previousStatusBarStyle = -1;
|
||||
[self.viewController dismissViewControllerAnimated:YES completion:nil];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
- (void)hide:(CDVInvokedUrlCommand*)command
|
||||
{
|
||||
if (self.inAppBrowserViewController == nil) {
|
||||
NSLog(@"Tried to hide IAB after it was closed.");
|
||||
return;
|
||||
|
||||
|
||||
}
|
||||
if (_previousStatusBarStyle == -1) {
|
||||
NSLog(@"Tried to hide IAB while already hidden");
|
||||
return;
|
||||
}
|
||||
|
||||
_previousStatusBarStyle = [UIApplication sharedApplication].statusBarStyle;
|
||||
|
||||
// Run later to avoid the "took a long time" log message.
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
if (self.inAppBrowserViewController != nil) {
|
||||
_previousStatusBarStyle = -1;
|
||||
[self.viewController dismissViewControllerAnimated:YES completion:nil];
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
- (void)openInCordovaWebView:(NSURL*)url withOptions:(NSString*)options
|
||||
{
|
||||
NSURLRequest* request = [NSURLRequest requestWithURL:url];
|
||||
|
||||
Reference in New Issue
Block a user