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
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