[
https://issues.apache.org/jira/browse/CB-5059?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14294702#comment-14294702
]
ASF GitHub Bot commented on CB-5059:
------------------------------------
Github user infil00p commented on a diff in the pull request:
https://github.com/apache/cordova-android/pull/151#discussion_r23665332
--- Diff: framework/src/org/apache/cordova/ICordovaCookieManager.java ---
@@ -0,0 +1,45 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+*/
+
+package org.apache.cordova;
+
+public interface ICordovaCookieManager {
--- End diff --
The problem with using Android APIs and adopting them as our own is that we
have to support stupid crap that isn't universal. I'd rather add an API later
that we needed than have some extra cruft that we have to test. We should work
on having the bare minimum needed for FileTransfer to work, and if a
third-party API uses this, they can then submit a bug or send a pull request to
add something to the API. Adding to an API is an API change, but it's not a
breaking one.
> The android implementation of file transfer plugin should not depend on the
> concrete class android.webkit.CookieManager
> -----------------------------------------------------------------------------------------------------------------------
>
> Key: CB-5059
> URL: https://issues.apache.org/jira/browse/CB-5059
> Project: Apache Cordova
> Issue Type: Improvement
> Components: Plugin File Transfer
> Affects Versions: Master
> Environment: cordova-android, git branch 3.0.x
> Reporter: Junmin
> Fix For: Master
>
>
> The android implementation of file transfer plugin leverages the class
> android.webkit.CookieManager, which depends on the concrete web
> infrastructure android.webkit.WebView. This dependence ruins the portability
> of the plugin. For example, it could not run on a substantial implementation
> of CordovaWebView which based on a android third party component(such as
> chromium for android).
> Following is the crash log when initializing the CookieManager without
> android.webkit.WebView:
> I/dalvikvm(5006): java.lang.IllegalStateException: Call
> CookieSyncManager::createInstance() or create a webview before using this
> class
> I/dalvikvm(5006): at
> android.webkit.JniUtil.checkInitialized(JniUtil.java:44)
> I/dalvikvm(5006): at
> android.webkit.JniUtil.getDatabaseDirectory(JniUtil.java:65)
> I/dalvikvm(5006): at
> android.webkit.CookieManagerClassic.nativeGetCookie(Native Method)
> I/dalvikvm(5006): at
> android.webkit.CookieManagerClassic.getCookie(CookieManagerClassic.java:109)
> I/dalvikvm(5006): at
> android.webkit.CookieManagerClassic.getCookie(CookieManagerClassic.java:96)
> I/dalvikvm(5006): at
> org.apache.cordova.filetransfer.FileTransfer$4.run(FileTransfer.java:747)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]