Date: prev next · Thread: first prev next last
2019 Archives by date, by thread · List index


I'd like to draw your attention to the planned URE API change <https://gerrit.libreoffice.org/#/c/77861/> "[API CHANGE] Adapt css.uri UNOIDL entities to RFC 3986". The original implementation of css.uri.UriReferenceFactory et al was based on then-current RFC 2396 (<https://tools.ietf.org/html/rfc2396> "Uniform Resource Identifiers (URI): Generic Syntax"), but which has long since been obsoleted by RFC 3986 (<https://tools.ietf.org/html/rfc3986> "Uniform Resource Identifier (URI): Generic Syntax"). Conformance with the new RFC required some changes in behavior of those UNOIDL entities, mostly around corner cases; for details see the list below, extracted from the commit message.

If there is no objections over the coming days, I'm going to push this to master soon.


* XUriReference.isHierarchical is obsolete and deprecated.

* The behavior of XUriReference.hasAuthority, XUriReference.getAuthority,
  XUriReference.getPath, XUriReference.hasRelativePath,
  XUriReference.getPathSegmentCount, XUriReference.getPathSegment,
  XUriReference.hasQuery, and XUriReference.getQuery has been made consistent
  for all URIs, no matter whether they were considered hierarchical or opaque in
  the past.

* The behavior of XUriReferenceFactory.makeAbsolute and
  XUriReferenceFactory.makeRelative has been changed to match the RFC 3986
  reference resolution specification.  The XUriReferenceFactory.makeAbsolulte
  parameter processSpecialBaseSegments has been renamed to
  processAdditionalSpecialSegments, as per the updated specification it now
  controls treatment of special segments in the given uriReference, in addition
  to special segments in the given baseUriReference.  (Renaming UNOIDL interface
  method parameters is technically an incompatible change, but the benefits of
  improved clarity presumably outweigh any potential drawbacks in this case.)


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.