summaryrefslogtreecommitdiff
path: root/xmloff/source
diff options
context:
space:
mode:
authorArmin Le Grand (Allotropia) <Armin.Le.Grand@me.com>2021-04-30 17:26:41 +0200
committerJan-Marek Glogowski <glogow@fbihome.de>2022-01-20 12:28:54 +0100
commit02140554ee1d70b219a42546191e2219d58be4b0 (patch)
tree3dd419dbdd0c23676c7f749bd8a83d09ad26c8bd /xmloff/source
parent02634fb7c7e8dc613ffc3717bb244f85cf81a7c6 (diff)
WASM --enable-wasm-strip now skips lots of LO code
... resulting in a stripped-down, Writer-only build to decrease the resulting WASM bytecode size. It removes the following code from the build: * All other major modules: Base, Calc, Chart, Draw, Impress and Math and related writerperfect filters * The premultiply tables * The (auto-)recovery functionality * All accessibility (but not the accessibility document checker) * The LanguageGuess component * EPUB support * The start center / BackingWindow * The TipOfTheDay functionality * The splash screen communication Currently crashs with anything different then soffice --writer. Closing the document also still crashes. FYI: many of these features are now behind ENABLE_WASM_STRIP_* defines, but they normally don't work on their own, globally! That's because we started with stripping the main components. Change-Id: Ib9c0f9452815910c0a2aceaf142ba1ad4a9cb0d7 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/126182 Tested-by: Jenkins Reviewed-by: Jan-Marek Glogowski <glogow@fbihome.de>
Diffstat (limited to 'xmloff/source')
-rw-r--r--xmloff/source/core/xmlexp.cxx9
-rw-r--r--xmloff/source/core/xmlimp.cxx13
-rw-r--r--xmloff/source/draw/shapeexport.cxx9
-rw-r--r--xmloff/source/draw/ximpshap.cxx8
-rw-r--r--xmloff/source/style/xmlstyle.cxx9
-rw-r--r--xmloff/source/transform/OOo2Oasis.cxx8
-rw-r--r--xmloff/source/transform/xof.component5
-rw-r--r--xmloff/source/transform/xof.component.chart11
8 files changed, 69 insertions, 3 deletions
diff --git a/xmloff/source/core/xmlexp.cxx b/xmloff/source/core/xmlexp.cxx
index fc18a3de0370..e0110892a6f3 100644
--- a/xmloff/source/core/xmlexp.cxx
+++ b/xmloff/source/core/xmlexp.cxx
@@ -17,6 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <config_wasm_strip.h>
+
#include <memory>
#include <sal/config.h>
#include <sal/log.hxx>
@@ -1693,7 +1695,14 @@ XMLPageExport* SvXMLExport::CreatePageExport()
SchXMLExportHelper* SvXMLExport::CreateChartExport()
{
+// WASM_CHART change
+// TODO: With Chart extracted this cannot really happen since
+// no Chart could've been added at all
+#if !ENABLE_WASM_STRIP_CHART
return new SchXMLExportHelper(*this, *GetAutoStylePool());
+#else
+ return nullptr;
+#endif
}
XMLFontAutoStylePool* SvXMLExport::CreateFontAutoStylePool()
diff --git a/xmloff/source/core/xmlimp.cxx b/xmloff/source/core/xmlimp.cxx
index 5b4d006211ba..d3ec1c31a3c4 100644
--- a/xmloff/source/core/xmlimp.cxx
+++ b/xmloff/source/core/xmlimp.cxx
@@ -17,6 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <config_wasm_strip.h>
+
#include <memory>
#include <optional>
@@ -1073,7 +1075,16 @@ XMLShapeImportHelper* SvXMLImport::CreateShapeImport()
SchXMLImportHelper* SvXMLImport::CreateChartImport()
{
+// WASM_CHART change
+// TODO: Instead of importing the ChartModel an alternative may be
+// added to convert not to Chart/OLE SdrObejct, but to GraphicObject
+// with the Chart visualization. There should be a preiew available
+// in the imported chart data
+#if !ENABLE_WASM_STRIP_CHART
return new SchXMLImportHelper();
+#else
+ return nullptr;
+#endif
}
::xmloff::OFormLayerXMLImport* SvXMLImport::CreateFormImport()
@@ -1556,7 +1567,9 @@ void SvXMLImport::SetAutoStyles( SvXMLStylesContext *pAutoStyles )
mxAutoStyles = pAutoStyles;
GetTextImport()->SetAutoStyles( pAutoStyles );
GetShapeImport()->SetAutoStylesContext( pAutoStyles );
+#if !ENABLE_WASM_STRIP_CHART
GetChartImport()->SetAutoStylesContext( pAutoStyles );
+#endif
GetFormImport()->setAutoStyleContext( pAutoStyles );
}
diff --git a/xmloff/source/draw/shapeexport.cxx b/xmloff/source/draw/shapeexport.cxx
index d47ea15b2758..f1c23d3ed0b2 100644
--- a/xmloff/source/draw/shapeexport.cxx
+++ b/xmloff/source/draw/shapeexport.cxx
@@ -17,6 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <config_wasm_strip.h>
+
#include <basegfx/matrix/b2dhommatrix.hxx>
#include <basegfx/matrix/b3dhommatrix.hxx>
#include <basegfx/polygon/b2dpolypolygon.hxx>
@@ -1193,7 +1195,14 @@ void XMLShapeExport::ImpCalcShapeType(const uno::Reference< drawing::XShape >& x
OUString sCLSID;
if(xPropSet->getPropertyValue("CLSID") >>= sCLSID)
{
+#if !ENABLE_WASM_STRIP_CHART
+ // WASM_CHART change
+ // TODO: With Chart extracted this cannot really happen since
+ // no Chart could've been added at all
if (sCLSID == mrExport.GetChartExport()->getChartCLSID() ||
+#else
+ if(
+#endif
sCLSID == SvGlobalName( SO3_RPTCH_CLASSID ).GetHexName() )
{
eShapeType = XmlShapeTypeDrawChartShape;
diff --git a/xmloff/source/draw/ximpshap.cxx b/xmloff/source/draw/ximpshap.cxx
index a19a6c19d936..e4425c10f722 100644
--- a/xmloff/source/draw/ximpshap.cxx
+++ b/xmloff/source/draw/ximpshap.cxx
@@ -17,6 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <config_wasm_strip.h>
+
#include <cassert>
#include <sal/log.hxx>
@@ -2470,7 +2472,13 @@ void SdXMLChartShapeContext::startFastElement (sal_Int32 nElement,
uno::Reference< frame::XModel > xChartModel;
if( aAny >>= xChartModel )
{
+#if !ENABLE_WASM_STRIP_CHART
+ // WASM_CHART change
+ // TODO: Maybe use SdXMLGraphicObjectShapeContext completely instead
+ // or try to create as mbIsPlaceholder object adding a Chart visuailzation
+ // that should be available somehow
mxChartContext.set( GetImport().GetChartImport()->CreateChartContext( GetImport(), xChartModel ) );
+#endif
}
}
}
diff --git a/xmloff/source/style/xmlstyle.cxx b/xmloff/source/style/xmlstyle.cxx
index 00afedf82a39..d46365008f5e 100644
--- a/xmloff/source/style/xmlstyle.cxx
+++ b/xmloff/source/style/xmlstyle.cxx
@@ -17,6 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <config_wasm_strip.h>
+
#include <sal/config.h>
#include <com/sun/star/frame/XModel.hpp>
@@ -426,10 +428,12 @@ SvXMLStyleContext *SvXMLStylesContext::CreateStyleStyleChildContext(
case XmlStyleFamily::TEXT_RUBY:
pStyle = new XMLPropStyleContext( GetImport(), *this, nFamily );
break;
+#if !ENABLE_WASM_STRIP_CHART
+ // WASM_CHART change
case XmlStyleFamily::SCH_CHART_ID:
pStyle = new XMLChartStyleContext( GetImport(), *this, nFamily );
break;
-
+#endif
case XmlStyleFamily::SD_GRAPHICS_ID:
case XmlStyleFamily::SD_PRESENTATION_ID:
case XmlStyleFamily::SD_POOL_ID:
@@ -565,6 +569,8 @@ rtl::Reference < SvXMLImportPropertyMapper > SvXMLStylesContext::GetImportProper
}
xMapper = mxShapeImpPropMapper;
break;
+#if !ENABLE_WASM_STRIP_CHART
+ // WASM_CHART change
case XmlStyleFamily::SCH_CHART_ID:
if( ! mxChartImpPropMapper.is() )
{
@@ -573,6 +579,7 @@ rtl::Reference < SvXMLImportPropertyMapper > SvXMLStylesContext::GetImportProper
}
xMapper = mxChartImpPropMapper;
break;
+#endif
case XmlStyleFamily::PAGE_MASTER:
if( ! mxPageImpPropMapper.is() )
{
diff --git a/xmloff/source/transform/OOo2Oasis.cxx b/xmloff/source/transform/OOo2Oasis.cxx
index 2433d1ed8d54..e6b5cff99c0b 100644
--- a/xmloff/source/transform/OOo2Oasis.cxx
+++ b/xmloff/source/transform/OOo2Oasis.cxx
@@ -17,6 +17,8 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
+#include <config_wasm_strip.h>
+
#include <osl/diagnose.h>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
@@ -1552,14 +1554,16 @@ XMLTransformerContext *OOo2OasisTransformer::CreateUserDefinedContext(
return new XMLControlOOoTransformerContext( *this, rQName );
case XML_ETACTION_FORM_PROPERTY:
return new XMLFormPropOOoTransformerContext( *this, rQName );
+#if !ENABLE_WASM_STRIP_CHART
case XML_ETACTION_CHART:
return new XMLChartOOoTransformerContext( *this, rQName );
+ case XML_ETACTION_CHART_PLOT_AREA:
+ return new XMLChartPlotAreaOOoTContext( *this, rQName );
+#endif
case XML_ETACTION_TRACKED_CHANGES:
return new XMLTrackedChangesOOoTContext_Impl( *this, rQName,
rAction.GetQNamePrefixFromParam1(),
rAction.GetQNameTokenFromParam1() );
- case XML_ETACTION_CHART_PLOT_AREA:
- return new XMLChartPlotAreaOOoTContext( *this, rQName );
case XML_ETACTION_TABLE:
return new XMLTableOOoTransformerContext_Impl( *this, rQName );
default:
diff --git a/xmloff/source/transform/xof.component b/xmloff/source/transform/xof.component
index b7c5d3f5ebcb..5039731f5492 100644
--- a/xmloff/source/transform/xof.component
+++ b/xmloff/source/transform/xof.component
@@ -42,14 +42,17 @@
<implementation name="com.sun.star.comp.Chart.XMLContentImporter"
constructor="xmloff_XMLChartContentImportOOO_get_implementation">
<service name="com.sun.star.comp.Chart.XMLContentImporter"/>
+ <optional/>
</implementation>
<implementation name="com.sun.star.comp.Chart.XMLImporter"
constructor="xmloff_XMLChartImportOOO_get_implementation">
<service name="com.sun.star.comp.Chart.XMLImporter"/>
+ <optional/>
</implementation>
<implementation name="com.sun.star.comp.Chart.XMLStylesImporter"
constructor="xmloff_XMLChartStylesImportOOO_get_implementation">
<service name="com.sun.star.comp.Chart.XMLStylesImporter"/>
+ <optional/>
</implementation>
<implementation name="com.sun.star.comp.Draw.XMLContentImporter"
constructor="xmloff_XMLDrawContentImportOOO_get_implementation">
@@ -102,10 +105,12 @@
<implementation name="com.sun.star.comp.OOo2OasisTransformer"
constructor="xmloff_OOo2OasisTransformer_get_implementation">
<service name="com.sun.star.comp.OOo2OasisTransformer"/>
+ <optional/>
</implementation>
<implementation name="com.sun.star.comp.Oasis2OOoTransformer"
constructor="xmloff_Oasis2OOoTransformer_get_implementation">
<service name="com.sun.star.comp.Oasis2OOoTransformer"/>
+ <optional/>
</implementation>
<implementation name="com.sun.star.comp.Writer.XMLAutotextEventsImporter"
constructor="xmloff_XMLAutoTextEventImportOOO_get_implementation">
diff --git a/xmloff/source/transform/xof.component.chart b/xmloff/source/transform/xof.component.chart
new file mode 100644
index 000000000000..77713a8b7a90
--- /dev/null
+++ b/xmloff/source/transform/xof.component.chart
@@ -0,0 +1,11 @@
+# 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/.
+
+com.sun.star.comp.Chart.XMLContentImporter
+com.sun.star.comp.Chart.XMLImporter
+com.sun.star.comp.Chart.XMLStylesImporter
+com.sun.star.comp.Oasis2OOoTransformer
+com.sun.star.comp.OOo2OasisTransformer