[API CHANGE] Adapt css.uri UNOIDL entities to RFC 3986

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread 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.)

_______________________________________________
LibreOffice mailing list
LibreOffice@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/libreoffice




[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux