From 02140554ee1d70b219a42546191e2219d58be4b0 Mon Sep 17 00:00:00 2001 From: "Armin Le Grand (Allotropia)" Date: Fri, 30 Apr 2021 17:26:41 +0200 Subject: 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 --- xmloff/source/draw/shapeexport.cxx | 9 +++++++++ xmloff/source/draw/ximpshap.cxx | 8 ++++++++ 2 files changed, 17 insertions(+) (limited to 'xmloff/source/draw') 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 + #include #include #include @@ -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 + #include #include @@ -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 } } } -- cgit