====== inAppBrowser ====== ===== backbutton ===== With these modifications the hardware back button works within pages in an InAppBrowser. In src/com/org/apache/corodova/inappbrowser/**InAppBrowser.java** change private void goBack() { if (this.inAppWebView.canGoBack()) { this.inAppWebView.goBack(); } } to (public method) public void goBack() { if (this.inAppWebView.canGoBack()) { this.inAppWebView.goBack(); } } public boolean canGoBack() { return this.inAppWebView.canGoBack(); } src/com/org/apache/corodova/inappbrowser/**InAppBrowserDialog.java** change public void onBackPressed () { if (this.inAppBrowser == null) { this.dismiss(); } else { // better to go through the in inAppBrowser // because it does a clean up this.inAppBrowser.closeDialog(); } } to public void onBackPressed () { if (this.inAppBrowser == null) { this.dismiss(); } else { if (this.inAppBrowser.canGoBack()) { this.inAppBrowser.goBack(); } else { this.inAppBrowser.closeDialog(); } } } ===== autoplay ===== Enable video autplay without gestures In file src/com/org/apache/corodova/inappbrowser/**InAppBrowser.java** add (~647 row) inAppWebView.loadUrl(url); inAppWebView.setId(6); inAppWebView.getSettings().setLoadWithOverviewMode(true); inAppWebView.getSettings().setUseWideViewPort(true); + inAppWebView.getSettings().setMediaPlaybackRequiresUserGesture(false); ===== loop ===== Looping mode does not work, add this hack to javascript and add looping="loop" attribute to video tag var videos = jQNew( "video[looping='loop']" ); for (index = 0; index < videos.length; ++index) { videos[index].addEventListener('ended', function (e) {window.location.reload();},false); }