Commit Graph

1900 Commits

Author SHA1 Message Date
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