summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPriyankaGaikwad <priyanka.gaikwad@synerzip.com>2014-06-26 18:07:26 +0530
committerMiklos Vajna <vmiklos@collabora.co.uk>2014-07-02 08:20:07 +0000
commitf11d6421e4e61ce6f557ebd8272485f79968224e (patch)
treec833a8749e692988cb10cec505ff1818df5eccb0
parentdbf99dfb980f772250e8ec4792c1bf5a1458629b (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>
-rw-r--r--sw/qa/extras/ooxmlexport/data/fdo80522.docxbin0 -> 31344 bytes
-rw-r--r--sw/qa/extras/ooxmlexport/data/fdo80523_pptm.docxbin0 -> 50693 bytes
-rw-r--r--sw/qa/extras/ooxmlexport/data/fdo80523_sldm.docxbin0 -> 50663 bytes
-rw-r--r--sw/qa/extras/ooxmlexport/ooxmlexport.cxx39
-rw-r--r--sw/source/filter/ww8/docxattributeoutput.cxx18
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
new file mode 100644
index 000000000000..9445b733f584
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/fdo80522.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlexport/data/fdo80523_pptm.docx b/sw/qa/extras/ooxmlexport/data/fdo80523_pptm.docx
new file mode 100644
index 000000000000..3140f3b6d6bd
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/fdo80523_pptm.docx
Binary files differ
diff --git a/sw/qa/extras/ooxmlexport/data/fdo80523_sldm.docx b/sw/qa/extras/ooxmlexport/data/fdo80523_sldm.docx
new file mode 100644
index 000000000000..e50cda1a5109
--- /dev/null
+++ b/sw/qa/extras/ooxmlexport/data/fdo80523_sldm.docx
Binary files differ
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";