On Thu, Dec 15, 2016 at 03:53:28PM +0100, Raphael Kubo da Costa wrote:
> Sorry for the delay; you are correct, we do build the official packages
> without bundled extensions, though I don't recall what sort of
> permission management was being alluded to in that JIRA ticket.
>
> The "easiest" (not quickest) solution is to just rebuild Crosswalk
> yourself with the right build options, otherwise I think someone will
> need to write a patch to turn that build-time configuration into a
> runtime one.
I was trying to avoid going through the build process (the build
instructions completely scared me).
BTW, my understanding from the source code is that there already is
kind of a runtime option to enable/disable these features, it's just
that that part of the code is completely disabled in the build
configuration.
So if it was me I would just mark those features as experimental (when
building with DISABLE_BUNDLED_EXTENSIONS) which I guess would disable
those features by default with the possibility of enabling the
features via a command line option.
I am attaching a completely untested patch that should do that... Does
that look reasonable?
Christof
--
http://cmeerw.org sip:cmeerw at cmeerw.org
mailto:cmeerw at cmeerw.org xmpp:cmeerw at cmeerw.org
Index: runtime/common/xwalk_runtime_features.cc
===================================================================
--- runtime/common/xwalk_runtime_features.cc (revision 15064)
+++ runtime/common/xwalk_runtime_features.cc (working copy)
@@ -54,6 +54,12 @@
experimental_features_enabled_ = false;
#if !defined(DISABLE_BUNDLED_EXTENSIONS)
+ const Status default_status = Feature::Stable;
+#else
+ // mark all features as experimental so they are disabled by default
+ const Status default_status = Feature::Experimental;
+#endif
+
#if defined(OS_ANDROID)
// FIXME(cmarcelo): The application extensions are currently not fully working
// for Android, so disable them. See
@@ -61,28 +67,27 @@
// Android uses a Java extension for device capabilities, so disable the one
// from sysapps/.
AddFeature("SysApps", "sysapps",
- "Master switch for the SysApps category of APIs", Feature::Stable);
+ "Master switch for the SysApps category of APIs", default_status);
AddFeature("RawSocketsAPI", "raw-sockets",
- "JavaScript support for using TCP and UDP sockets", Feature::Stable);
+ "JavaScript support for using TCP and UDP sockets", default_status);
AddFeature("StorageAPI", "storage",
- "JavaScript support to file system beyond W3C spec", Feature::Stable);
+ "JavaScript support to file system beyond W3C spec", default_status);
AddFeature("DialogAPI", "dialog-api",
"JavaScript support for dialog APIs", Feature::Experimental);
#else
AddFeature("SysApps", "sysapps",
- "Master switch for the SysApps category of APIs", Feature::Stable);
+ "Master switch for the SysApps category of APIs", default_status);
AddFeature("RawSocketsAPI", "raw-sockets",
- "JavaScript support for using TCP and UDP sockets", Feature::Stable);
+ "JavaScript support for using TCP and UDP sockets", default_status);
AddFeature("StorageAPI", "storage",
- "JavaScript support to file system beyond W3C spec", Feature::Stable);
+ "JavaScript support to file system beyond W3C spec", default_status);
AddFeature("ApplicationAPI", "application-api",
- "JavaScript support for Widget and Manifest APIs", Feature::Stable);
+ "JavaScript support for Widget and Manifest APIs", default_status);
AddFeature("DialogAPI", "dialog-api",
"JavaScript support for dialog APIs", Feature::Experimental);
AddFeature("WiFiDirectAPI", "wifidirect-api",
"JavaScript support for WiFiDirect", Feature::Experimental);
#endif
-#endif
}
XWalkRuntimeFeatures::~XWalkRuntimeFeatures() {}
_______________________________________________
Crosswalk-help mailing list
[email protected]
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-help