Andrew Grieve
455298d736
CB-8510 CB-7159 Fix background color manual test page not showing flash of green
2015-02-25 12:26:11 -05:00
Andrew Grieve
d99856c52b
CB-8510 Move requestFocusFromTouch into createViews from init()
...
Makes more sense there since it's view-creation-related
2015-02-25 12:14:39 -05:00
Andrew Grieve
087ec11e6a
CB-8510 Create a new abstraction for sharing common logic of WebView engines
...
Having CordovaWebViewImpl separate from CordovaWebViewEngine is helpful because
now each webview doesn't have to re-implement non-webview-specific
featrues. e.g.:
1. load timeout
2. keyboard events
3. showCustomView
4. lifecycle events
Moved AndroidWebView into its own package to ensure that it doesn't use
any package-private symbols (since plugins cannot use them).
2015-02-19 12:21:30 -05:00
Andrew Grieve
8106981bb6
Extract alert, confirm, prompt Dialog logic into a helper for use by other engines
2015-02-19 10:43:25 -05:00
Andrew Grieve
de4d7cd10d
Deprecate custom view methods in CordovaWebView.
...
They are just helper methods that plugins should just be implementing
for themselves.
2015-02-19 10:33:06 -05:00
Andrew Grieve
804dcac12f
Address TODO: Move requestFocusFromTouch() to CordovaActivity rather than AndroidWebView
2015-02-19 10:32:29 -05:00
Andrew Grieve
fb0987b824
Delete some dead code. Add a license header.
2015-02-19 10:31:44 -05:00
Andrew Grieve
88f50a66ff
Make showWebPage() take a Map instead of a HashMap
2015-02-19 10:30:26 -05:00
Andrew Grieve
7be600d8e9
Make cookieManager a field in AndroidCookieManager rather than using getInstance() every time
2015-02-19 10:28:18 -05:00
Andrew Grieve
11d6b8029f
Remove explicit whitelisting of content: in CordovaBridge
...
It was redundant since we now check if the URL should be allowed to
be navigated to.
2015-02-19 10:06:36 -05:00
Andrew Grieve
f1d4c01190
Merge IceCreamCordovaWebViewClient into AndroidWebViewClient.
...
There was no reason to have it separate.
2015-02-19 10:03:50 -05:00
Andrew Grieve
c12d93e77f
Move newly added should* methods of CordovaUriHelper into PluginManager
...
Doing this so that clients won't mistakenly call the wrong one.
2015-02-19 10:00:56 -05:00
Ian Clelland
a8bec4ec9c
Remove redundant whitelist checks
2015-02-11 16:19:54 -05:00
Ian Clelland
0c3254fd48
Remove whitelist config.xml parsing
2015-02-11 14:01:11 -05:00
Ian Clelland
0faf2f0461
Remove whitelists from WebView classes
2015-02-11 14:01:11 -05:00
Ian Clelland
dd6e42aacc
Remove unused Config methods (Breaking Change)
2015-02-11 14:01:11 -05:00
Ian Clelland
18e5e9dcc5
Refactor ConfigXmlParser to allow subclasses
2015-02-11 14:01:11 -05:00
Ian Clelland
c8f44ab460
Use /app_webview/ rather than app_webview to filter bad requests
2015-02-11 14:01:11 -05:00
Ian Clelland
ac1f9c790a
Defer whitelist decisions to plugins
...
There is a default policy, which is implemented in the case where no plugins override any of the whitelist methods:
* Error URLs must start with file://
* Navigation is allowed to file:// and data: URLs which do not contain "app_webview"
* External URLs do not launch intents
* XHRs are allowed to file:// and data: URLs which do not contain "app_webview"
2015-02-11 14:01:11 -05:00
Ian Clelland
7533996fac
Add hooks in CordovaPlugin and PluginManager for whitelist plugins
...
This adds three hooks to CordovaPlugin objects. In each case, a null
value can be returned to indicate "I don't care". This null value is
the default.
public Boolean shouldAllowRequest(String url)
public Boolean shouldAllowNavigation(String url)
public Boolean shouldOpenExternalUrl(String url)
2015-02-11 10:03:34 -05:00
Andrew Grieve
1721571012
Delete unused field in CordovaActivity
2015-02-10 22:06:07 -05:00
Andrew Grieve
4cb64580fd
Separate the registering of BridgeModes from NativeToJsMessageQueue
...
This makes the class usable no matter how a webview's bridge is
implemented under-the-hood.
This also deletes the PrivateApi bridge mode, which has never been a
good idea to use, and which we should replace with a Lollipop
"evaluateJavascript"-based bridge.
2015-02-06 14:03:10 -05:00
Andrew Grieve
5b2fa128a4
AndroidCookieManager: flush is a level 21 API. Add a missing API level guard
2015-02-06 13:50:03 -05:00
Andrew Grieve
b7abb64661
Make CoreAndroid package-private
...
Since we're renaming it anyways, makes sense to just remove it from the
public API.
2015-02-06 13:49:00 -05:00
Andrew Grieve
66424b7ed5
Update JS snapshot (was missing "CoreAndroid" name change)
2015-02-05 20:45:14 -05:00
Joe Bowser
cea81c2dc1
CB-8382: Fixed type mismatch that caused the build breakage
2015-02-03 17:24:00 -08:00
Joe Bowser
4b1e99ef93
Reverting the change to CordovaActivity.java for now until we fix the init() problem that appeared when fixing 3.7.0 bug
2015-02-03 17:01:04 -08:00
Andrew Grieve
83120a5bea
CB-8382 Make CordovaActivity not implement CordovaInterface
...
Instead, use a CordovaInterfaceImpl class. This also makes it easier
for apps to implement the interface without extending CordovaActivity.
2015-02-03 16:27:16 -05:00
Andrew Grieve
20723896e1
CB-8411 Initialize plugins only after createViews() is called
2015-02-03 16:03:15 -05:00
Andrew Grieve
26ee1c4547
CB-8389 Allow plugins to handle exit and onReceivedError messages before CordovaInterface
...
Also switches to LinkedHashMap for plugins so that activity can insert a
plugin and have it be the first one to receive messages
2015-01-30 11:59:30 -05:00
Andrew Grieve
e3dd6d8c88
CB-8387 Address TODO and have DisallowOverscroll preference set by AndroidWebView instead of CordovaActivity
...
Now the preference will work even when not using CordovaActivity
2015-01-30 11:18:41 -05:00
Andrew Grieve
137fe12c43
CB-8386 Don't fallback on system webview if custom webview fails to construct
2015-01-30 11:03:56 -05:00
Andrew Grieve
37617c67f8
CB-8378 Delete LinearLayoutSoftKeyboardDetect (hidekeyboard and showkeyboard events)
2015-01-29 15:13:58 -05:00
Darryl Pogue
8cf8da5776
CB-5059 Adds CookieManager abstraction for pluggable webviews ( close #151 )
...
Crosswalk and GeckoView implementations of CordovaWebView can provide
their own ICordovaCookieManager implementation for plugins to use.
2015-01-28 10:17:05 -05:00
Andrew Grieve
b59705bed4
CB-7947 Don't force-pauseTimers() for startActivityForResult
2015-01-26 21:26:47 -05:00
Andrew Grieve
8d8b874c20
Merge branch 'master' into 4.0.x (about:blank)
...
Conflicts:
framework/src/org/apache/cordova/CordovaWebView.java
2015-01-20 19:47:48 -05:00
shingotoda
ccceaeaca2
CB-8317 Make it work to load about:blank and to dispatch exit message ( close #149 )
2015-01-20 19:45:43 -05:00
Andrew Grieve
c352b296da
Merge branch 'master' into 4.0.x (gradlify tests)
...
Conflicts:
test/androidTest/src/org/apache/cordova/test/junit/MenuTest.java
2015-01-20 14:55:44 -05:00
Andrew Grieve
a3457d9408
CB-8026 Remove default target value from gradle file
...
Wasn't being used anyways, and it still referenced android-19
This also switches to using a Properties object rather than a RegEx
for parsing project.properties
2015-01-20 11:33:55 -05:00
Andrew Grieve
b69fed18e2
Move cordova.gradle from project template to CordovaLib
...
Make it easier to share with tests project.
Also, one less file in the project template is a good thing.
2015-01-20 11:04:40 -05:00
Andrew Grieve
2964aea447
gradle: Fix incorrect buildTools dependencies in framework's build.gradle
...
(although it didn't seem to hurt anything?)
2015-01-20 10:49:19 -05:00
Andrew Grieve
587488a1b1
Merge branch 'master' into 4.0.x (cert challenges)
...
Conflicts:
framework/src/org/apache/cordova/AndroidWebViewClient.java
2015-01-19 22:22:02 -05:00
Marcus Pridham
623b394c83
CB-8328 Allow plugins to handle certificate challenges ( close #150 )
...
This is a new API for Lollipop
2015-01-19 22:17:39 -05:00
Andrew Grieve
3949d9633c
Merge branch 'master' into 4.0.x (file input, auth dialogs)
...
Conflicts:
framework/src/org/apache/cordova/AndroidChromeClient.java
framework/src/org/apache/cordova/CordovaActivity.java
framework/src/org/apache/cordova/SplashScreenInternal.java
2015-01-19 16:34:06 -05:00
Andrew Grieve
62c1c5f38b
CB-8017 Add support for <input type=file>
for Lollipop
...
Also refactors a bit to remove related special-case code from CordovaActivity
2015-01-19 16:15:25 -05:00
Andrew Grieve
56204c5748
CB-8329 Cancel outstanding ActivityResult requests when a new startActivityForResult occurs
2015-01-19 16:13:48 -05:00
Andrew Grieve
34c163be88
CB-8280 android: Don't apply SplashScreenDelay when .show() is called explicitly
2015-01-19 13:42:11 -05:00
sgrebnov
11002d4a56
CB-8201 Add support for auth dialogs into Cordova Android
2015-01-16 13:06:10 +03:00
Joe Bowser
0e5d72dc5d
Update JS snapshot to version 3.8.0-dev (via coho)
2015-01-12 14:55:49 -08:00
Joe Bowser
4b8069f5ec
Set VERSION to 3.8.0-dev (via coho)
2015-01-12 14:55:48 -08:00
Andrew Grieve
a816a48416
Merge branch 'master' into 4.0.x (delete onDestroy)
...
Conflicts:
framework/assets/www/cordova.js
framework/src/org/apache/cordova/CordovaWebView.java
2015-01-12 10:58:00 -05:00
Jason Chase
5415440829
CB-8210 Remove unused onDestroy channel ( close #146 )
...
- Channel was defined as internal event and fired by javascript eval()
- Rather than change firing of event, simpler to remove as was not used
2015-01-12 10:50:36 -05:00
Joe Bowser
9668272b80
Merge branch 'master' into 4.0.x
...
* Fix CB-8062 on 4.0.x branch
Conflicts:
framework/src/org/apache/cordova/CordovaWebView.java
2015-01-09 13:38:38 -08:00
Joe Bowser
15e19489e3
CB-8026: Bumping up Android Version and setting it up to allow third-party cookies. This might change later.
2015-01-09 11:31:29 -08:00
Andrew Grieve
2083f683ad
Merge branch 'master' into 4.0.x (gradle properties)
...
Conflicts:
bin/templates/cordova/lib/build.js
2015-01-08 15:43:22 -05:00
Andrew Grieve
c3610aa43c
CB-8255 Use properties rather than environment variables for gradle settings
2015-01-08 15:26:24 -05:00
Andrew Grieve
df4fbc272a
CB-8210 Update JS snapshot with 4.0.x-specific platformVersion to fix CoreAndroid vs App plugin name
2015-01-05 22:09:12 -05:00
Andrew Grieve
9698a995fb
Merge branch 'master' into 4.0.x (drop events before startup)
2015-01-05 16:33:05 -05:00
Andrew Grieve
c1ac3aa483
CB-8210 Drop events from native that occur before start-up
2015-01-05 16:32:39 -05:00
Andrew Grieve
311bdbd360
Merge branch 'master' into 4.0.x (loadUrl->sendEvent)
...
Conflicts:
framework/src/org/apache/cordova/CordovaWebView.java
2015-01-05 16:26:58 -05:00
Jason Chase
291f111913
CB-8210 Use PluginResult for various events from native ( close #144 )
...
- Change to send events via plugin message channel: various buttons, pause/resume
2015-01-05 16:15:17 -05:00
Andrew Grieve
61c4bb9888
Merge branch 'master' into 4.0.x (keyboard events via PluginResult)
...
Conflicts:
framework/src/org/apache/cordova/CordovaWebView.java
2014-12-30 23:30:42 -05:00
Jason Chase
3439746645
CB-8210 Use PluginResult instead of sendJavascript() for keyboard events ( close #142 )
...
- Initialize a message channel for native -> Javascript in the core App plugin
- Change keyboard detection to send events via plugin message channel, instead
using eval() (i.e. webView.sendJavascript())
2014-12-30 23:25:56 -05:00
Andrew Grieve
c6b171ba95
CB-6630 Delete bundled (and outdated) copy of OkHttp
...
Those that want to use OkHttp can use a plugin.
2014-12-30 23:00:18 -05:00
Andrew Grieve
5a17d6cd5f
Merge branch 'master' into 4.0.x (gradle - maven and CordovaLib dep)
2014-12-30 22:59:50 -05:00
Andrew Grieve
ecd2e06883
CB-8229 Gradle: Add CordovaLib as a dependency to all plugin sub-projects
2014-12-30 22:56:43 -05:00
Andrew Grieve
f086ef5cad
Merge branch 'master' into 4.0.x (adb CWD & build --unknown-flag)
...
Conflicts:
framework/src/org/apache/cordova/SplashScreenInternal.java
2014-12-11 13:47:07 -05:00
Daniel Toplak
56a3ee5fe6
CB-8079 Use activity class package name, but fallback to application
...
package name when looking for splash screen drawable
Close #136
2014-12-10 21:19:28 -05:00
Andrew Grieve
87cdc5ad1c
Merge branch 'master' into 4.0.x (SplashScreen breakout)
...
Conflicts:
framework/src/org/apache/cordova/CordovaActivity.java
framework/src/org/apache/cordova/CordovaWebView.java
2014-12-10 16:09:22 -05:00
Andrew Grieve
27f1181d53
CB-3679 Move splashscreen logic into splashscreen plugin
...
Tried as hard as possible for this not to be a breaking change (all
symbols were preserved). Planning to remove delegating symbols in 4.0.x
though.
Also for backwards compatability - a copy of the plugin is bundled. It
will likewise be removed in 4.0.x
2014-12-10 15:40:03 -05:00
Andrew Grieve
b1bdf23d9c
Switch default build type to gradle (4.0.x only)
2014-12-03 10:12:31 -05:00
Andrew Grieve
12bf07d560
Merge branch 'master' into 4.0.x (volume stream & setMediaPlaybackRequiresUserGesture)
...
Conflicts:
framework/src/org/apache/cordova/CordovaActivity.java
framework/src/org/apache/cordova/CordovaWebView.java
2014-12-03 10:09:05 -05:00
Andrew Grieve
132650df28
CB-8112 Turn off mediaPlaybackRequiresUserGesture
2014-12-03 10:04:54 -05:00
Andrew Grieve
81a77949fc
CB-6153 Add a preference for controlling hardware button audio stream (DefaultVolumeStream)
...
This, along with the commit to the audio plugin, makes it so that by
default apps control the ringer volume, but when any audio players are
active, the media volume is controlled.
2014-11-27 10:52:19 -05:00
Andrew Grieve
e597f98c62
Merge branch 'master' into 4.0.x (gradle java 6 & PluginManager race fix)
2014-11-26 11:48:08 -05:00
Andrew Grieve
7fbb2b195f
CB-8081 Allow gradle builds to use Java 6 instead of requiring 7
2014-11-26 11:44:49 -05:00
Andrew Grieve
1feaa7fed7
CB-8031 Fix race condition that shows as ConcurrentModificationException
2014-11-17 22:11:21 -08:00
Andrew Grieve
4859f8f759
Merge branch 'master' into 4.0.x (receiver context)
2014-11-06 16:23:49 -05:00
Andrew Grieve
ac284fd39c
CB-7976 Use webView's context rather than Activity's context for intent receiver
2014-11-06 16:23:32 -05:00
Andrew Grieve
fdef0db87c
Merge branch 'master' into 4.0.x (Load timeout, bridge secret, content: URI)
...
Conflicts:
framework/src/org/apache/cordova/CordovaWebView.java
2014-11-06 15:37:30 -05:00
Andrew Grieve
e78db000c6
CB-7974 Cancel timeout timer if view is destroyed
2014-11-06 15:33:10 -05:00
Andrew Grieve
032ea8a8d3
CB-7940 Disable exec bridge if bridgeSecret is wrong
2014-11-04 15:57:51 -05:00
Ian Clelland
fc63f66e89
CB-7758: Allow content-url-hosted pages to access the bridge
...
This allows e.g. jsHybugger to create pages with access to Cordova APIs.
We restrict access to content provider URLs which are at subdomains of the application itself, ie, begin with "content://com.your.package.id."
2014-10-27 15:26:38 -04:00
Andrew Grieve
cc7d352209
Merge branch 'master' into 4.0.x (gradle signing+SecureRandom)
2014-10-21 13:00:07 -04:00
Joe Bowser
53dae45430
Fixed the SecureRandom so it only returns positive values
2014-10-17 15:30:28 -07:00
Joe Bowser
16343ffe70
Undoing change to Math.random() for now, this creates a weird bug
2014-10-17 13:52:33 -07:00
Joe Bowser
b37498d5f6
Replacing Math.random() with something a little more random.
2014-10-14 10:11:09 -07:00
Andrew Grieve
2af8daff1d
Merge branch 'master' into 4.0.x (multipart PluginResult)
2014-10-07 15:18:07 -04:00
Rui Zhao
fbeb379f1b
CB-7707 Added multipart PluginResult ( close #125 )
...
Corresponds to cordova-js commit: a1f866606b3
2014-10-07 15:17:56 -04:00
Andrew Grieve
7f4d5aeb0e
Merge branch 'master' into 4.0.x (move preference activation, alert dialog leak)
...
Conflicts:
framework/src/org/apache/cordova/AndroidChromeClient.java
framework/src/org/apache/cordova/CordovaActivity.java
framework/src/org/apache/cordova/CordovaWebView.java
test/src/org/apache/cordova/test/menus.java
closes #123
2014-10-04 15:30:25 -04:00
Martin Gonzalez
890e12c306
CB-6837 Fix leaked window when hitting back button while alert being rendered
...
Keep track of the last AlertDialog showed.
The last dialog showed that is rendered while hitting back button it
causes a leaked window.
Instead of perform a full track of all dialogs created, only destroy the
last one showed, this fixes the problem.
close #122
2014-10-04 14:44:06 -04:00
Marcel Kinard
c255a84941
CB-7674 move preference activation back into onCreate()
...
The preference creation actually needs to be before
super.onCreate(savedInstance) in order to avoid the exception
"requestFeature() must be called before adding content". Also ran into an
issue in the native tests "Whitelist" and "User WebView/Client/Chrome" where
it would throw an exception that the CordovaWebView appView already had
a parent and needed to be removed from that parent before the invocation
to root.addView(appView). So I conditionally remove the wrong parent.
Also made a change to the native tests so the menus test would work.
I also put super.init() back into the template, though invoking it is optional
as loadUrl will call it automatically if needed.
2014-09-30 19:38:34 -04:00
Steven Gill
cdfa13b265
Update JS snapshot to version 3.7.0-dev (via coho)
2014-09-29 14:59:07 -07:00
Andrew Grieve
363fc8deb5
Merge branch 'master' into 4.0.x (gradle plugin template)
...
Conflicts:
bin/templates/cordova/lib/build.js
framework/build.gradle
2014-09-22 22:28:59 -04:00
Max Woghiren
ddac192c4a
Added gradle distribution URL updating.
...
Conflicts:
bin/templates/cordova/lib/build.js
framework/build.gradle
2014-09-22 22:27:43 -04:00
Andrew Grieve
69a03c2e16
CB-7512 Use a standard build.gradle for all plugins
...
Plugins can extend it by providing a "build-extras.gradle"
2014-09-22 22:27:43 -04:00
Andrew Grieve
2b128b85f7
CB-7512 Make gradle build only a single config for sub-libraries (release vs debug)
2014-09-22 20:54:28 -04:00
Max Woghiren
b09f973231
Added gradle distribution URL updating.
2014-09-22 16:47:01 -04:00
Andrew Grieve
8f27b2ab56
Merge branch 'master' into 4.0.x (gradle fixes)
2014-09-16 13:02:55 -04:00
Andrew Grieve
00f6d30e08
CB-7512 Change gradle android plugins from 0.10 -> 0.12
2014-09-16 13:00:27 -04:00