<!--
Please make sure the checklist boxes are all checked before submitting the PR. The checklist
is intended as a quick reference, for complete details please see our Contributor Guidelines:
http://cordova.apache.org/contribute/contribute_guidelines.html
Thanks!
-->
### Platforms affected
Android
iOS (both UIWebView & WKWebView implementations)
### What does this PR do?
Adds support for [postMessage API](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage) enabling pages loaded into the InappBrowser to post messages back to the parent Webview of the Cordova app.
For example, sending event messages associated with UI interactions such as button clicks from the wrapped page back to the parent app Webview.
### What testing has been done on this change?
Automated tests have been extended to cover the `message` event.
### Checklist
- [x ] Commit message follows the format: "GH-3232: (android) Fix bug with resolving file paths", where CB-xxxx is the JIRA ID & "android" is the platform affected.
- [ x] Added automated test coverage as appropriate for this change.
check for whitelisting custom schemes via a new "AllowedSchemes"
preference configuration item. Allows custom schemes like
"mycoolapp://" or "wevotetwitterscheme://"
In file inappbrowser.js: Added new "customscheme" channel.
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`.