[ 
https://issues.apache.org/jira/browse/CB-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14216291#comment-14216291
 ] 

Ian Clelland commented on CB-8032:
----------------------------------

Is a category the best way to do this? I'm normally all for categories, but it 
seems like a code smell if we have to add explicit support for them in the base 
class. At the very least, it means that only one plugin like this can be added 
to any given project, so that there is no name collision. It also might be 
problematic if there are two webviews in an application, if *all* CDVFile 
objects are overridden.

It may very well be that this is the best solution. I'm just wondering if there 
are other options that would also work: subclassing CDVLocalFileSystem, or 
providing a new filesystem class in addition to, or in place of the existing 
ones, or having CDVFileSystem plugin ask the webview it's registered with what 
to do, for instance. 

> Add nativeURL external method support for 
> CDVFileSystem->makeEntryForPath:isDirectory:
> --------------------------------------------------------------------------------------
>
>                 Key: CB-8032
>                 URL: https://issues.apache.org/jira/browse/CB-8032
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: Plugin File
>         Environment: iOS
>            Reporter: Shazron Abdullah
>
> Right now in CDVFileSystem->makeEntryForPath:isDirectory:, in the 
> NSDictionary that is returned, for the key "nativeURL" the format is fixed 
> (file:// protocol for a local filesystem reference, and assets-library:/ for 
> a assets library filesystem reference.)
> When calculating the nativeURL, allow this to be specified externally, check 
> for a selector "nativeURL" and call that if available.
> This is for example declared in a Category in this plugin: 
> https://github.com/apache/cordova-plugins/blob/5d8ef21dcbde1f99d60e1b52ae3a3800e4c185d9/local-webserver/src/ios/CDVLocalFileSystem%2BNativeURL.m
> ... which when linked will have the selector available for the File plugin to 
> call.
> This code is part of the local webserver plugin - and it needs the File 
> references to be proxied through a local webserver.
> For example if the FileEntry is to:
>     
>     file://my/package/folder/Documents/foo.txt
> .. the nativeURL would be, with this new category method, and the local 
> webserver listening to http://localhost:8080:
>     http://localhost:8080/local-filesystem/my/package/folder/Documents/foo.txt



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to