Keith Wong
b6a329d479
CB-9949: Fixing menu button event not fired in Android
...
This closes 246
2015-12-16 13:25:19 -08:00
Joe Bowser
70bc7b39b7
CB-9479: Fixing the conditionals again, we should be more vigilant on the gradle versions.
2015-12-07 15:03:02 -08:00
riknoll
f5271431fb
CB-8917: New Plugin API for passing results on resume after Activity destruction
2015-12-02 09:49:49 -08:00
Steve Gill
74a3d2028f
Set VERSION to 5.1.0-dev (via coho)
2015-11-01 23:43:00 -08:00
TyIsI
3abd12aee3
Update CordovaWebViewEngine.java
...
Fixed typo. This closes #234
2015-10-30 05:08:18 -07:00
Joe Bowser
4db1fecba8
You can't easily abstract out this variable because this can crash Cordova due to the plugin design.
2015-10-19 10:31:56 -07:00
Joe Bowser
013ad94af0
Refactor of the Cordova Plugin/Permissions API
2015-10-19 10:31:56 -07:00
Joe Bowser
2ceb8030ee
Manually updating version to 5.0.0-dev for engine tags
2015-10-19 10:31:55 -07:00
Joe Bowser
47ac514835
Working on getting the Geolocation Plugin to work by default with the default WebView. Crosswalk will need to make similar modifications.
2015-10-19 10:31:55 -07:00
Joe Bowser
5e0c9595c3
Got the PoC working with the Contacts plugin, going to work through all the plugins
2015-10-19 10:31:55 -07:00
Joe Bowser
a0747aa960
Refactoring based on feedback from Andrew
2015-10-19 10:31:55 -07:00
Joe Bowser
07912fdecd
Bump up to API level 23
2015-10-19 10:31:54 -07:00
Joe Bowser
9a33943783
Finally got it kinda working, Geolocation is not going to work in browser anymore
2015-10-19 10:31:54 -07:00
Joe Bowser
8981ddb681
Commiting code to handle permissions, and the special case of the Geolocation Plugin
2015-10-19 10:31:54 -07:00
Joe Bowser
9e400911f5
Make Cordova pass the Lint step
2015-08-10 16:43:41 -07:00
Joe Bowser
37309c23c2
CB-8320: Setting up gradle so we can use CordovaLib as a standard Android Library
2015-07-22 13:23:28 -07:00
Nikhil Khandelwal
b770076b7f
Set VERSION to 4.2.0-dev (via coho)
2015-07-20 09:52:14 -07:00
sgrebnov
32b72756f3
CB-9382 [Android] Fix KeepRunning setting when Plugin activity is showed. This closes #200
2015-07-20 16:02:21 +03:00
Simon Pireyn
fab472859d
CB-9343 Split the Content-Type to obtain a clean mimetype
...
This closes #197
2015-07-20 13:28:40 +03:00
Connor Pearson
92caa3a186
CB-9255 Make getUriType case insensitive.
...
This closes #186
2015-07-20 13:14:31 +03:00
Simon MacDonald
6d334c05e9
Update min SDK version to 14
2015-07-07 14:29:45 -07:00
Volker Braun
eb70f05168
CB-9115 android: Grant Lollipop permission req
...
This patch overrides onPermissionRequest so that getUserMedia can be
used inside the browser.
Since a hybrid app has to request permissions anyways via
AndroidManifest.xml, I think it is unnecessary to have any further
configuration for onPermissionRequest. Anything that the app is allowed
to do should be possible from the JS side. Hence all requests are
granted. This enables getUserMedia (and WebRTC) on Android Lollipop,
without resorting to crosswalk.
The docs say that request.grant has to be called from the UI thread, but
don't explicitly spell out whether onPermissionRequest is called from
the UI thread. I think that this is so, the WebChromeClient of course
makes its calls from the UI thread unless otherwise noted. So there is
no need to post a runnable to the UI thread.
This closes 178
https://github.com/apache/cordova-android/pull/178
2015-06-10 11:53:03 -07:00
Joe Bowser
b5a58e6ca0
updating existing test code
2015-05-15 14:13:18 -07:00
Joe Bowser
44aa7464e1
Forgot to remove the method that copied over the intent data
2015-05-15 14:13:18 -07:00
Joe Bowser
4ea684dd7a
Getting around to removing this old Intent code
2015-05-15 14:13:18 -07:00
Bochun Bai
9873106785
CB-3360 Allow setting a custom User-Agent ( close #162 )
2015-05-06 09:59:22 -04:00
Kenneth Chan
d005359f89
CB-8902 Use immersive mode when available when going fullscreen ( close #175 )
2015-05-06 09:46:35 -04:00
Andrew Grieve
1ce52a2845
Make BridgeMode methods public (they were always supposed to be)
2015-04-23 16:07:20 -04:00
Andrew Grieve
7e480d1ff9
Simplify: EncodingUtils.getBytes(str) -> str.getBytes()
2015-04-23 15:58:56 -04:00
Andrew Grieve
bce4283239
CB-8891 Add a note about when the gradle helpers were added
2015-04-22 09:53:13 -04:00
Andrew Grieve
9ff786d021
CB-8891 Add a gradle helper for retrieving config.xml preference values
2015-04-22 09:51:16 -04:00
Andrew Grieve
b6bf5298e6
Set VERSION to 4.1.0-dev (via coho)
2015-04-09 11:05:47 -04:00
Andrew Grieve
09ff81c411
Add some missing license headers
2015-04-09 10:56:33 -04:00
Andrew Grieve
a0293578b1
CB-8829 Set targetSdk to 22
2015-04-08 21:34:15 -04:00
Andrew Grieve
4595403a99
CB-8828 Delete onScrollChanged event
2015-04-08 21:34:15 -04:00
Andrew Grieve
0f73884c8d
CB-8827 Call onResume for plugins on start-up
...
As a result, simplifies CordovaActivity by removing the now unused "activityState" field
2015-04-08 21:06:23 -04:00
Andrew Grieve
2e9cbdcb0d
Remove unused CordovaWebViewImpl parameter, and make pluginManager private
...
It was public by accident - with the final design leaving it public does
not help with backwards-compatibility.
2015-04-08 21:01:50 -04:00
Tony Homer
a652d892ca
CB-8684 Add onStart/onStop hooks for plugins ( close #173 )
2015-04-08 20:33:31 -04:00
Andrew Grieve
581252febc
CB-8814 Deprecate ScrollEvent
2015-04-07 21:15:33 -04:00
Serge Huijben
1aaba440b5
CB-8768 Fix onActivityResult called before plugins are loaded (after MainActivity gets killed)
...
situation: one of the plugins launches startActivityForResult and the Android OS decides to kill our MainActivity.
once the launched activity is fulfilled it comes back to our MainActivity, which has to be recreated first.
unfortunately Android calls onActivityResult before our Activity has fully loaded our installed plugins.
close #171
2015-03-31 13:58:22 -04:00
Serge Huijben
500ccd8e80
CB-8764 Store serviceName instead of class ( close #169 )
2015-03-27 10:15:48 -04:00
Serge Huijben
7cf7311a9d
CB-8764 Save instanceState before calling super
2015-03-27 10:15:41 -04:00
Andrew Grieve
0669edddae
Notify plugins of pause/resume before queing JS event (no-op)
...
This is actually already the order things happen in since JS events are async. Might as well be clearer about it.
2015-03-25 22:07:50 -04:00
Jason Chase
38a8d7742e
CB-8715 Update comments to match whitelist code ( close #166 )
2015-03-25 09:34:13 -04:00
Tim Lancina
32e84d2316
CB-7085 Add onConfigurationChanged hook for plugins ( close #165 )
2015-03-24 13:36:25 -04:00
Andrew Grieve
8d5cb00bec
CB-8702 Add API for plugins to override shouldInterceptRequest
with a stream
2015-03-18 11:02:27 -04:00
Andrew Grieve
15530a4820
Add CordovaPlugin.getServiceName()
2015-03-18 10:47:23 -04:00
Andrew Grieve
f6e56b345d
CB-8699 Fix CordovaResourceApi copyResource creating zero-length files when src=uncompressed asset
2015-03-17 21:36:11 -04:00
Andrew Grieve
56d61eb44f
Delete a couple of unreferenced .java files
2015-03-17 11:58:19 -04:00
Andrew Grieve
2103da7b9d
CB-8693 Delete framework/res
and framework/assets
...
They were being merged into apps unwantingly.
2015-03-17 11:56:02 -04:00
Andrew Grieve
679069729c
CB-7747 When both allow-navigation and allow-external are set, navigate instead of opening external
...
Also: Move shouldOverrideUrlLoading logic into CordovaWebViewEngine.Client
2015-03-13 11:32:54 -04:00
Andrew Grieve
f764448ccc
Tweak PluginManager.setPluginEntries()
to create startup plugins when called post init()
2015-03-12 16:33:55 -04:00
Andrew Grieve
917d0dfc49
XmlPullParserFactory -> XmlPullParser in ConfigXmlParser
...
This allows clients to parse non-resourse XML
2015-03-06 16:16:06 -05:00
Andrew Grieve
316cf057f3
Update project template with new whitelist defaults
2015-03-05 22:31:48 -05:00
Andrew Grieve
55be212594
CB-7747 Update default network whitelist to allow for ChromVox scripts
2015-03-05 21:38:21 -05:00
Andrew Grieve
489e63f8e7
CB-8608 Add blob:
to default shouldAllowRequest policy
2015-03-04 11:09:38 -05:00
Andrew Grieve
62c081dc85
CB-8592 Fix NPE if lifecycle events reach CordovaWebView before init()
has been called
2015-03-03 09:51:39 -05:00
Andrew Grieve
023ad9ddf8
CB-8510 Enforce that CordovaWebViewImpl is instantiated with an Engine
...
No reason to not enforce this.
2015-03-03 09:51:03 -05:00
Andrew Grieve
eccf486162
Add about:blank and data: to default shouldAllowNavigation()
2015-03-02 21:40:28 -05:00
Andrew Grieve
a6da46a00e
CB-8510 Remove shouldOverrideUrlLoading
from CordovaWebViewEngine.Client
.
...
It's logic that's pretty webview-specific, so it doesn't make sense to
share.
2015-03-02 21:04:21 -05:00
Andrew Grieve
747d2c97cd
CB-8588 Add CATEGORY_BROWSABLE to intents from showWebPage openExternal=true
2015-03-02 21:04:20 -05:00
Andrew Grieve
af2969dec5
CB-8587 Don't allow webview navigations within showWebPage that are not whitelisted
2015-03-02 21:04:20 -05:00
Andrew Grieve
53dba8678c
Delete no longer relevant comments about <url-filter>
2015-03-02 20:43:10 -05:00
Andrew Grieve
afdac9b413
Split out shouldAllowBridgeAccess
from shouldAllowNavigation
...
This will allow a plugin to be created that allows iframes to be
navigated to, but disallow them from accessing the bridge.
Note: This isn't a configuration that we're planning on supporting with
the default whitelist plugin, but still does make sense to enable for
the experts in the room
2015-03-02 20:40:08 -05:00
Andrew Grieve
1ad280db98
Add an isSecretEstablished()
getter to CordovaBridge
...
Not being used, but might be of use to an Engine plugin or a Whitelist
plugin.
2015-03-02 20:37:33 -05:00
Andrew Grieve
035c3ad319
Simplify default navigation policy to allow navigations within /app_webview/
...
It's really on XHRs to it that are an issue.
2015-02-27 15:46:17 -05:00
Andrew Grieve
c237a1c0d2
Log a warning when a navigation is blocked by the whitelist
2015-02-27 15:45:37 -05:00
Andrew Grieve
f1d093548e
Make ConfigXmlParser take a Context rather than Activity
2015-02-27 15:45:16 -05:00
Andrew Grieve
3950818030
CB-8545 Don't add a layout as a parent of the WebView
...
Sanity checked mobilespec with --thirdpartyplugins that this doesn't
break any of them.
2015-02-25 12:27:48 -05:00
Andrew Grieve
d6da2ef096
CB-8510 Fix back button not exiting activity in manual tests
2015-02-25 12:27:06 -05:00
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