summaryrefslogtreecommitdiff
path: root/cui
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 /cui
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 'cui')
-rw-r--r--cui/Library_cui.mk14
-rw-r--r--cui/UIConfig_cui.mk7
-rw-r--r--cui/source/factory/dlgfact.cxx27
3 files changed, 43 insertions, 5 deletions
diff --git a/cui/Library_cui.mk b/cui/Library_cui.mk
index 295b8f2eed3f..8f8e73afe6cd 100644
--- a/cui/Library_cui.mk
+++ b/cui/Library_cui.mk
@@ -89,6 +89,18 @@ $(eval $(call gb_Library_add_exception_objects,cui,\
))
endif
+ifneq ($(ENABLE_WASM_STRIP_PINGUSER),TRUE)
+$(eval $(call gb_Library_add_exception_objects,cui,\
+ cui/source/dialogs/tipofthedaydlg \
+))
+endif
+
+ifneq ($(ENABLE_WASM_STRIP_HUNSPELL),TRUE)
+$(eval $(call gb_Library_add_exception_objects,cui,\
+ cui/source/dialogs/hyphen \
+))
+endif
+
$(eval $(call gb_Library_add_exception_objects,cui,\
cui/source/customize/acccfg \
cui/source/customize/cfg \
@@ -122,9 +134,7 @@ $(eval $(call gb_Library_add_exception_objects,cui,\
cui/source/dialogs/hlmailtp \
cui/source/dialogs/hlmarkwn \
cui/source/dialogs/hltpbase \
- cui/source/dialogs/hyphen \
cui/source/dialogs/iconcdlg \
- cui/source/dialogs/tipofthedaydlg \
cui/source/dialogs/insdlg \
cui/source/dialogs/insrc \
cui/source/dialogs/linkdlg \
diff --git a/cui/UIConfig_cui.mk b/cui/UIConfig_cui.mk
index 25fda742ab60..eda70a1dd29c 100644
--- a/cui/UIConfig_cui.mk
+++ b/cui/UIConfig_cui.mk
@@ -15,6 +15,12 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\
))
endif
+ifneq ($(ENABLE_WASM_STRIP_PINGUSER),TRUE)
+$(eval $(call gb_UIConfig_add_uifiles,cui,\
+ cui/uiconfig/ui/tipofthedaydialog \
+))
+endif
+
$(eval $(call gb_UIConfig_add_uifiles,cui,\
cui/uiconfig/ui/aboutdialog \
cui/uiconfig/ui/aboutconfigdialog\
@@ -99,7 +105,6 @@ $(eval $(call gb_UIConfig_add_uifiles,cui,\
cui/uiconfig/ui/hyphenate \
cui/uiconfig/ui/iconchangedialog \
cui/uiconfig/ui/iconselectordialog \
- cui/uiconfig/ui/tipofthedaydialog \
cui/uiconfig/ui/insertfloatingframe \
cui/uiconfig/ui/insertoleobject \
cui/uiconfig/ui/insertrowcolumn \
diff --git a/cui/source/factory/dlgfact.cxx b/cui/source/factory/dlgfact.cxx
index 560548e8066b..7b0a1971d1fe 100644
--- a/cui/source/factory/dlgfact.cxx
+++ b/cui/source/factory/dlgfact.cxx
@@ -18,6 +18,7 @@
*/
#include <config_extensions.h>
+#include <config_wasm_strip.h>
#include <align.hxx>
#include "dlgfact.hxx"
@@ -110,7 +111,6 @@ IMPL_ABSTDLG_CLASS(AbstractFmShowColsDialog)
IMPL_ABSTDLG_CLASS(AbstractGalleryIdDialog)
IMPL_ABSTDLG_CLASS(AbstractGraphicFilterDialog)
IMPL_ABSTDLG_CLASS(AbstractHangulHanjaConversionDialog)
-IMPL_ABSTDLG_CLASS(AbstractHyphenWordDialog)
IMPL_ABSTDLG_CLASS(AbstractInsertObjectDialog)
IMPL_ABSTDLG_CLASS(AbstractLinksDialog)
IMPL_ABSTDLG_CLASS(AbstractPasswordToOpenModifyDialog)
@@ -144,6 +144,15 @@ IMPL_ABSTDLG_CLASS_ASYNC(CuiAbstractTabController,SfxTabDialogController)
IMPL_ABSTDLG_CLASS(CuiAbstractController)
IMPL_ABSTDLG_CLASS(CuiAbstractSingleTabController)
+short AbstractHyphenWordDialog_Impl::Execute()
+{
+#if !ENABLE_WASM_STRIP_HUNSPELL
+ return m_xDlg->run();
+#else
+ return 0;
+#endif
+}
+
const SfxItemSet* AbstractSvxCharacterMapDialog_Impl::GetOutputItemSet() const
{
return m_xDlg->GetOutputItemSet();
@@ -896,7 +905,16 @@ VclPtr<AbstractHyphenWordDialog> AbstractDialogFactory_Impl::CreateHyphenWordDia
css::uno::Reference< css::linguistic2::XHyphenator > &xHyphen,
SvxSpellWrapper* pWrapper)
{
+#if !ENABLE_WASM_STRIP_EXTRA
return VclPtr<AbstractHyphenWordDialog_Impl>::Create(std::make_unique<SvxHyphenWordDialog>(rWord, nLang, pParent, xHyphen, pWrapper));
+#else
+ (void) pParent;
+ (void) rWord;
+ (void) nLang;
+ (void) xHyphen;
+ (void) pWrapper;
+ return nullptr;
+#endif
}
VclPtr<AbstractFmShowColsDialog> AbstractDialogFactory_Impl::CreateFmShowColsDialog(weld::Window* pParent)
@@ -1475,7 +1493,7 @@ VclPtr<AbstractAdditionsDialog> AbstractDialogFactory_Impl::CreateAdditionsDialo
#else
(void) pParent;
(void) sAdditionsTag;
- return VclPtr<AbstractAdditionsDialog>(nullptr);
+ return nullptr;
#endif
}
@@ -1489,8 +1507,13 @@ AbstractDialogFactory_Impl::CreateAboutDialog(weld::Window* pParent)
VclPtr<VclAbstractDialog>
AbstractDialogFactory_Impl::CreateTipOfTheDayDialog(weld::Window* pParent)
{
+#if !ENABLE_WASM_STRIP_PINGUSER
return VclPtr<CuiAbstractControllerAsync_Impl>::Create(
std::make_shared<TipOfTheDayDialog>(pParent));
+#else
+ (void) pParent;
+ return nullptr;
+#endif
}
VclPtr<VclAbstractDialog>