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

Reply via email to