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