office-gobmx/dtrans/Library_mcnttype.mk
Stephan Bergmann b75e3ded1f tdf#120158: Base CMimeContentType on INetMIME::scanContentType
...instead of using yet another local implementation of parsing media types.

CMimeContentType is the implementation of the UNO
css.datatransfer.XMimeContentType interface.  One observable change in behavior
is that type, subtype, and parameter names will now always be reported in lower
case instead of with the casing from the input preserved (but those differences
in casing are functionally equivalent per the media type specification).  Also,
parameter names supplied to the hasParameter and getParameterValue functions are
now also treated case-insensitive.

The upside of this change is that INetMIME::scanContentType (via "The encoding
of rMediaType should be US-ASCII, but any Unicode values in the range U+0080..
U+FFFF are interpreted 'as appropriate.'") already implicitly supports RFC 6532
"Internationalized Email Headers" extensions for media types, allowing quoted-
string parameter values to contain non-ASCII Unicode characters.

That means that tfd#120158 "Impossible to paste special in Writer from Calc in
Libreoffice 6.1.x in some UI languages - the dialogue caption says 'unknown
source'" can be fixed by just allowing non-ASCII typename parameters being
generated in ImplGetParameterString in svtools/source/misc/transfer.cxx, and
reverting the problematic (see the comments there) previous fix
<https://gerrit.libreoffice.org/61601> "tdf#120158: fix ImplGetParameterString
for typename".  (Which will be done in a follow-up commit, to ease potential
backporting, as that previous fix has already been backported to some versions
but not to others.)

Change-Id: I5d4d3586e8046f288a97605b000e262a8db5a4e9
Reviewed-on: https://gerrit.libreoffice.org/61684
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-10-11 20:38:48 +02:00

39 lines
1.3 KiB
Makefile

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This file incorporates work covered by the following license notice:
#
# 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 .
#
$(eval $(call gb_Library_Library,mcnttype))
$(eval $(call gb_Library_set_componentfile,mcnttype,dtrans/util/mcnttype))
$(eval $(call gb_Library_use_sdk_api,mcnttype))
$(eval $(call gb_Library_use_libraries,mcnttype,\
cppu \
cppuhelper \
sal \
tl \
))
$(eval $(call gb_Library_add_exception_objects,mcnttype,\
dtrans/source/cnttype/mcnttfactory \
dtrans/source/cnttype/mcnttype \
dtrans/source/cnttype/mctfentry \
))
# vim: set noet sw=4 ts=4: