diff options
author | PriyankaGaikwad <priyanka.gaikwad@synerzip.com> | 2014-06-26 18:07:26 +0530 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2014-07-02 08:20:07 +0000 |
commit | f11d6421e4e61ce6f557ebd8272485f79968224e (patch) | |
tree | c833a8749e692988cb10cec505ff1818df5eccb0 /sw | |
parent | dbf99dfb980f772250e8ec4792c1bf5a1458629b (diff) |
fdo#80522 & fdo#80523:Embedded Macro-Enabled objects are not preserved
Description :
fdo#80522
- DOCX contain embedded word Macro-Enabled document.
- Embedded word Macro-Enabled object is not preserved.
- .docm preserved as .bin so word Macro-Enabled document is converted to picture.
fdo#80523
1) Embedded PowerPoint Macro-Enabled Slide
- DOCX contain embedded PowerPoint Macro-Enabled Slide
- Embedded PowerPoint Macro-Enabled Slide is not preserved.
- .sldm preserved as .bin so powerpoint Macro-Enabled slide is converted to picture.
2) Embedded PowerPoint Macro-Enabled Presentation
- same case with embedded PowerPoint Macro-Enabled Presentation
- Embedded PowerPoint Macro-Enabled presentation is not preserved.
- .pptm preserved as .pptx so powerpoint Macro-Enabled presentation is converted to picture .
Implementation :
Added sMediaType, sRelationType & sFileExtension for these embedded objects.
Change-Id: Ia58662ba921f3d940e8ead04a7f7ae83689a3b35
Reviewed-on: https://gerrit.libreoffice.org/9917
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Tested-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'sw')
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/fdo80522.docx | bin | 0 -> 31344 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/fdo80523_pptm.docx | bin | 0 -> 50693 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/data/fdo80523_sldm.docx | bin | 0 -> 50663 bytes | |||
-rw-r--r-- | sw/qa/extras/ooxmlexport/ooxmlexport.cxx | 39 | ||||
-rw-r--r-- | sw/source/filter/ww8/docxattributeoutput.cxx | 18 |
5 files changed, 57 insertions, 0 deletions
diff --git a/sw/qa/extras/ooxmlexport/data/fdo80522.docx b/sw/qa/extras/ooxmlexport/data/fdo80522.docx Binary files differnew file mode 100644 index 000000000000..9445b733f584 --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/fdo80522.docx diff --git a/sw/qa/extras/ooxmlexport/data/fdo80523_pptm.docx b/sw/qa/extras/ooxmlexport/data/fdo80523_pptm.docx Binary files differnew file mode 100644 index 000000000000..3140f3b6d6bd --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/fdo80523_pptm.docx diff --git a/sw/qa/extras/ooxmlexport/data/fdo80523_sldm.docx b/sw/qa/extras/ooxmlexport/data/fdo80523_sldm.docx Binary files differnew file mode 100644 index 000000000000..e50cda1a5109 --- /dev/null +++ b/sw/qa/extras/ooxmlexport/data/fdo80523_sldm.docx diff --git a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx index 8683d56d6144..0d03eb40693e 100644 --- a/sw/qa/extras/ooxmlexport/ooxmlexport.cxx +++ b/sw/qa/extras/ooxmlexport/ooxmlexport.cxx @@ -3680,6 +3680,45 @@ DECLARE_OOXMLEXPORT_TEST(testfdo79969_xlsm, "fdo79969_xlsm.docx") "/word/embeddings/oleObject1.xlsm"); } +DECLARE_OOXMLEXPORT_TEST(testfdo80522,"fdo80522.docx") +{ + xmlDocPtr pXmlDoc = parseExport("[Content_Types].xml"); + + if (!pXmlDoc) + return; + + assertXPath(pXmlDoc, + "/ContentType:Types/ContentType:Override[@ContentType='application/vnd.ms-word.document.macroEnabled.12']", + "PartName", + "/word/embeddings/oleObject1.docm"); +} + +DECLARE_OOXMLEXPORT_TEST(testfdo80523_pptm,"fdo80523_pptm.docx") +{ + xmlDocPtr pXmlDoc = parseExport("[Content_Types].xml"); + + if (!pXmlDoc) + return; + + assertXPath(pXmlDoc, + "/ContentType:Types/ContentType:Override[@ContentType='application/vnd.ms-powerpoint.presentation.macroEnabled.12']", + "PartName", + "/word/embeddings/oleObject1.pptm"); +} + +DECLARE_OOXMLEXPORT_TEST(testfdo80523_sldm,"fdo80523_sldm.docx") +{ + xmlDocPtr pXmlDoc = parseExport("[Content_Types].xml"); + + if (!pXmlDoc) + return; + + assertXPath(pXmlDoc, + "/ContentType:Types/ContentType:Override[@ContentType='application/vnd.ms-powerpoint.slide.macroEnabled.12']", + "PartName", + "/word/embeddings/oleObject1.sldm"); +} + CPPUNIT_PLUGIN_IMPLEMENT(); /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/sw/source/filter/ww8/docxattributeoutput.cxx b/sw/source/filter/ww8/docxattributeoutput.cxx index fcd579499f14..1ff9d848fc36 100644 --- a/sw/source/filter/ww8/docxattributeoutput.cxx +++ b/sw/source/filter/ww8/docxattributeoutput.cxx @@ -4357,6 +4357,12 @@ void DocxAttributeOutput::WriteOLE( SwOLENode& rNode, const Size& rSize, const S sRelationType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/package"; sFileExtension = "pptx"; } + else if(sProgID == "PowerPoint.ShowMacroEnabled.12") + { + sMediaType = "application/vnd.ms-powerpoint.presentation.macroEnabled.12"; + sRelationType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/package"; + sFileExtension = "pptm"; + } else if( sProgID.startsWith("PowerPoint.Show") ) { sMediaType = "application/vnd.ms-powerpoint"; @@ -4369,6 +4375,18 @@ void DocxAttributeOutput::WriteOLE( SwOLENode& rNode, const Size& rSize, const S sRelationType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/package"; sFileExtension = "sldx"; } + else if( sProgID == "PowerPoint.SlideMacroEnabled.12" ) + { + sMediaType = "application/vnd.ms-powerpoint.slide.macroEnabled.12"; + sRelationType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/package"; + sFileExtension = "sldm"; + } + else if( sProgID == "Word.DocumentMacroEnabled.12" ) + { + sMediaType = "application/vnd.ms-word.document.macroEnabled.12"; + sRelationType = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/package"; + sFileExtension = "docm"; + } else { sMediaType = "application/vnd.openxmlformats-officedocument.oleObject"; |