diff options
author | Caolán McNamara <caolanm@redhat.com> | 2018-05-01 12:57:02 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2018-05-04 14:54:38 +0200 |
commit | 1bb74bc5410af8773c9ba815fc30252bc99c6791 (patch) | |
tree | b8a0cf6fed7dc677d9832b889526156eeba185b3 /sw | |
parent | 081342c52cd6b6686be91f1ea3b4b7003620a8da (diff) |
set Referer on link mediadescriptor
to allow determining if the source document is from a trusted/untrusted
location
Reviewed-on: https://gerrit.libreoffice.org/53693
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
(cherry picked from commit cd25a97bbadc0a5c1fd6b0e8603c8b6ebd051926)
Reviewed-on: https://gerrit.libreoffice.org/53803
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Tested-by: Mike Kaganski <mike.kaganski@collabora.com>
(cherry picked from commit 2d87c267267530077a94c894bc619831b01d1c04)
Change-Id: I780568652d2ef0cc8543c27ba26289277b5d9d0c
Diffstat (limited to 'sw')
-rw-r--r-- | sw/source/filter/xml/xmltexti.cxx | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sw/source/filter/xml/xmltexti.cxx b/sw/source/filter/xml/xmltexti.cxx index 06a6bbe6aeb3..aa2c7fd5fe79 100644 --- a/sw/source/filter/xml/xmltexti.cxx +++ b/sw/source/filter/xml/xmltexti.cxx @@ -575,17 +575,22 @@ uno::Reference< XPropertySet > SwXMLTextImportHelper::createAndInsertOOoLink( uno::Sequence< beans::PropertyValue > aMediaDescriptor( 1 ); aMediaDescriptor[0].Name = "URL"; - aMediaDescriptor[0].Value <<= OUString( aURLObj.GetMainURL( INetURLObject::NO_DECODE ) ); - if ( pDoc->GetDocShell() && pDoc->GetDocShell()->GetMedium() ) + aMediaDescriptor[0].Value <<= aURLObj.GetMainURL( INetURLObject::NO_DECODE ) + + if (SfxMedium* pMedium = pDoc->GetDocShell() ? pDoc->GetDocShell()->GetMedium() : nullptr) { - uno::Reference< task::XInteractionHandler > xInteraction = - pDoc->GetDocShell()->GetMedium()->GetInteractionHandler(); + uno::Reference< task::XInteractionHandler > xInteraction = pMedium->GetInteractionHandler(); if ( xInteraction.is() ) { aMediaDescriptor.realloc( 2 ); aMediaDescriptor[1].Name = "InteractionHandler"; aMediaDescriptor[1].Value <<= xInteraction; } + + const auto nLen = aMediaDescriptor.getLength() + 1; + aMediaDescriptor.realloc(nLen); + aMediaDescriptor[nLen - 1].Name = "Referer"; + aMediaDescriptor[nLen - 1].Value <<= pMedium->GetName(); } uno::Reference < embed::XEmbeddedObject > xObj( |