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