officecfg/registry/data/org/openoffice/ucb/Configuration.xcu | 11 +++++++++++ ucb/source/ucp/webdav-neon/webdavcontent.cxx | 8 ++++++++ ucb/source/ucp/webdav-neon/webdavprovider.cxx | 10 +++++++++- ucb/source/ucp/webdav-neon/webdavprovider.hxx | 3 +++ ucb/source/ucp/webdav/webdavcontent.cxx | 8 ++++++++ ucb/source/ucp/webdav/webdavprovider.cxx | 11 +++++++++-- ucb/source/ucp/webdav/webdavprovider.hxx | 3 +++ unotools/source/ucbhelper/ucblockbytes.cxx | 1 + vcl/unx/kde/fpicker/kdefilepicker.cxx | 2 +- 9 files changed, 53 insertions(+), 4 deletions(-)
New commits: commit d3de490437df4c9093f32e97fc185066d64c0f46 Author: Stephan Bergmann <sberg...@redhat.com> Date: Thu Aug 27 11:26:18 2015 +0200 Add vnd.sun.star.webdavs URL scheme ...as https-equivalent to complement vnd.sun.star.webdav scheme. See the mail thread starting at <http://lists.freedesktop.org/archives/libreoffice/2015-August/069929.html> "What autogen.sh for an alternative ContentProvider for dav:// scheme?" for why it is considered beneficial to have the WebDAV UCP support---in addition to the standard pair of http[s] schemes---a non-standard pair of vnd.sun.star.webdav[s] schemes different from the "accidentally supported" non-standard pair of dav[s]. Change-Id: I7032aa1ed599f735969cf0163cd9dc121a1fdcb3 diff --git a/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu b/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu index 9cb2a1a..27d45d5 100644 --- a/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu +++ b/officecfg/registry/data/org/openoffice/ucb/Configuration.xcu @@ -156,6 +156,17 @@ <value/> </prop> </node> + <node oor:name="Provider12a" oor:op="replace" install:module="neon"> + <prop oor:name="ServiceName"> + <value>com.sun.star.ucb.WebDAVContentProvider</value> + </prop> + <prop oor:name="URLTemplate"> + <value>vnd.sun.star.webdavs</value> + </prop> + <prop oor:name="Arguments"> + <value/> + </prop> + </node> <node oor:name="Provider13" oor:op="replace" install:module="neon_gnomevfs"> <prop oor:name="ServiceName"> diff --git a/ucb/source/ucp/webdav-neon/webdavcontent.cxx b/ucb/source/ucp/webdav-neon/webdavcontent.cxx index b815bc1..efe31e8 100644 --- a/ucb/source/ucp/webdav-neon/webdavcontent.cxx +++ b/ucb/source/ucp/webdav-neon/webdavcontent.cxx @@ -2516,6 +2516,11 @@ void Content::transfer( sourceURI.SetScheme( OUString( HTTP_URL_SCHEME ) ); } + else if ( aScheme == WEBDAVS_URL_SCHEME ) + { + sourceURI.SetScheme( + OUString( HTTPS_URL_SCHEME ) ); + } else if ( aScheme == DAV_URL_SCHEME ) { sourceURI.SetScheme( @@ -2544,6 +2549,9 @@ void Content::transfer( if ( aScheme == WEBDAV_URL_SCHEME ) targetURI.SetScheme( OUString( HTTP_URL_SCHEME ) ); + else if ( aScheme == WEBDAVS_URL_SCHEME ) + targetURI.SetScheme( + OUString( HTTPS_URL_SCHEME ) ); else if ( aScheme == DAV_URL_SCHEME ) targetURI.SetScheme( OUString( HTTP_URL_SCHEME ) ); diff --git a/ucb/source/ucp/webdav-neon/webdavprovider.cxx b/ucb/source/ucp/webdav-neon/webdavprovider.cxx index 1a8b91b..1f67114 100644 --- a/ucb/source/ucp/webdav-neon/webdavprovider.cxx +++ b/ucb/source/ucp/webdav-neon/webdavprovider.cxx @@ -137,7 +137,8 @@ ContentProvider::queryContent( const OUString aScheme = Identifier->getContentProviderScheme().toAsciiLowerCase(); - if ( aScheme != HTTP_URL_SCHEME && aScheme != HTTPS_URL_SCHEME && aScheme != WEBDAV_URL_SCHEME + if ( aScheme != HTTP_URL_SCHEME && aScheme != HTTPS_URL_SCHEME + && aScheme != WEBDAV_URL_SCHEME && aScheme != WEBDAVS_URL_SCHEME && aScheme != DAV_URL_SCHEME && aScheme != DAVS_URL_SCHEME && aScheme != FTP_URL_SCHEME ) throw ucb::IllegalIdentifierException(); @@ -161,6 +162,13 @@ ContentProvider::queryContent( OUString( HTTP_URL_SCHEME ) ); bNewId = true; } + else if ( aScheme == WEBDAVS_URL_SCHEME ) + { + aURL = aURL.replaceAt( 0, + WEBDAVS_URL_SCHEME_LENGTH, + OUString( HTTPS_URL_SCHEME ) ); + bNewId = true; + } else if ( aScheme == DAV_URL_SCHEME ) { aURL = aURL.replaceAt( 0, diff --git a/ucb/source/ucp/webdav-neon/webdavprovider.hxx b/ucb/source/ucp/webdav-neon/webdavprovider.hxx index da789cf..dbec74e4 100644 --- a/ucb/source/ucp/webdav-neon/webdavprovider.hxx +++ b/ucb/source/ucp/webdav-neon/webdavprovider.hxx @@ -50,6 +50,9 @@ namespace webdav_ucp { #define WEBDAV_URL_SCHEME "vnd.sun.star.webdav" #define WEBDAV_URL_SCHEME_LENGTH 19 +#define WEBDAVS_URL_SCHEME "vnd.sun.star.webdavs" +#define WEBDAVS_URL_SCHEME_LENGTH 20 + #define HTTP_URL_SCHEME "http" #define HTTPS_URL_SCHEME "https" diff --git a/ucb/source/ucp/webdav/webdavcontent.cxx b/ucb/source/ucp/webdav/webdavcontent.cxx index cf370b7..b69e81e 100644 --- a/ucb/source/ucp/webdav/webdavcontent.cxx +++ b/ucb/source/ucp/webdav/webdavcontent.cxx @@ -2667,6 +2667,11 @@ void Content::transfer( sourceURI.SetScheme( OUString( HTTP_URL_SCHEME ) ); } + else if ( aScheme == WEBDAVS_URL_SCHEME ) + { + sourceURI.SetScheme( + OUString( HTTPS_URL_SCHEME ) ); + } else if ( aScheme == DAV_URL_SCHEME ) { sourceURI.SetScheme( @@ -2695,6 +2700,9 @@ void Content::transfer( if ( aScheme == WEBDAV_URL_SCHEME ) targetURI.SetScheme( OUString( HTTP_URL_SCHEME ) ); + else if ( aScheme == WEBDAVS_URL_SCHEME ) + targetURI.SetScheme( + OUString( HTTPS_URL_SCHEME ) ); else if ( aScheme == DAV_URL_SCHEME ) targetURI.SetScheme( OUString( HTTP_URL_SCHEME ) ); diff --git a/ucb/source/ucp/webdav/webdavprovider.cxx b/ucb/source/ucp/webdav/webdavprovider.cxx index e485d0e..9d1a71b 100644 --- a/ucb/source/ucp/webdav/webdavprovider.cxx +++ b/ucb/source/ucp/webdav/webdavprovider.cxx @@ -123,8 +123,8 @@ ContentProvider::queryContent( const OUString aScheme = Identifier->getContentProviderScheme().toAsciiLowerCase(); if ( aScheme != HTTP_URL_SCHEME && aScheme != HTTPS_URL_SCHEME && - aScheme != WEBDAV_URL_SCHEME && aScheme != DAV_URL_SCHEME && - aScheme != DAVS_URL_SCHEME ) + aScheme != WEBDAV_URL_SCHEME && aScheme != WEBDAVS_URL_SCHEME && + aScheme != DAV_URL_SCHEME && aScheme != DAVS_URL_SCHEME ) throw ucb::IllegalIdentifierException(); // Normalize URL and create new Id, if nessacary. @@ -147,6 +147,13 @@ ContentProvider::queryContent( OUString( HTTP_URL_SCHEME ) ); bNewId = true; } + else if ( aScheme == WEBDAVS_URL_SCHEME ) + { + aURL = aURL.replaceAt( 0, + WEBDAVS_URL_SCHEME_LENGTH, + OUString( HTTPS_URL_SCHEME ) ); + bNewId = true; + } else if ( aScheme == DAV_URL_SCHEME ) { aURL = aURL.replaceAt( 0, diff --git a/ucb/source/ucp/webdav/webdavprovider.hxx b/ucb/source/ucp/webdav/webdavprovider.hxx index 68ea853..776473b 100644 --- a/ucb/source/ucp/webdav/webdavprovider.hxx +++ b/ucb/source/ucp/webdav/webdavprovider.hxx @@ -42,6 +42,9 @@ namespace http_dav_ucp { #define WEBDAV_URL_SCHEME "vnd.sun.star.webdav" #define WEBDAV_URL_SCHEME_LENGTH 19 +#define WEBDAVS_URL_SCHEME "vnd.sun.star.webdavs" +#define WEBDAVS_URL_SCHEME_LENGTH 20 + #define HTTP_URL_SCHEME "http" #define HTTPS_URL_SCHEME "https" diff --git a/unotools/source/ucbhelper/ucblockbytes.cxx b/unotools/source/ucbhelper/ucblockbytes.cxx index 09043b4..4b64723 100644 --- a/unotools/source/ucbhelper/ucblockbytes.cxx +++ b/unotools/source/ucbhelper/ucblockbytes.cxx @@ -744,6 +744,7 @@ static bool UCBOpenContentSync( if( ! aScheme.equalsIgnoreAsciiCase("http") && ! aScheme.equalsIgnoreAsciiCase("https") && ! aScheme.equalsIgnoreAsciiCase("vnd.sun.star.webdav") && + ! aScheme.equalsIgnoreAsciiCase("vnd.sun.star.webdavs") && ! aScheme.equalsIgnoreAsciiCase("ftp")) return _UCBOpenContentSync( xLockBytes,xContent,rArg,xSink,xInteract); diff --git a/vcl/unx/kde/fpicker/kdefilepicker.cxx b/vcl/unx/kde/fpicker/kdefilepicker.cxx index a5c8092..e2baaae 100644 --- a/vcl/unx/kde/fpicker/kdefilepicker.cxx +++ b/vcl/unx/kde/fpicker/kdefilepicker.cxx @@ -95,7 +95,7 @@ bool isSupportedProtocol( const QString &rProtocol ) { // TODO Get this information directly from OOo const char * pOOoProtocols[] = { "", "smb", "ftp", "http", "file", "mailto", - "vnd.sun.star.webdav", "news", "private", "vnd.sun.star.help", + "vnd.sun.star.webdav", "vnd.sun.star.webdavs", "news", "private", "vnd.sun.star.help", "https", "slot", "macro", "javascript", "imap", "pop3", "data", "cid", "out", "vnd.sun.star.hier", "vim", ".uno", ".component", "vnd.sun.star.pkg", "ldap", "db", _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits