Description:
Shared mode allows apps/embedders to share xwalk core from anther APK(library 
APK) on Android. Apps/Embedders only needs to package a thin wrapper java layer 
into their own apks. The footprint of an app use shared mode will be very small.
Shared mode is already supported for xwalk runtime API currently for xwalk app 
usage.
This intent is to move the shared layer down to xwalk embedding API 
(https://crosswalk-project.org/#documentation/apis/embedding_api)

Affected component:
XWalk on Android:
       Core
Runtime
Package tool

Related feature
XWALK-1638<https://crosswalk-project.org/jira/browse/XWALK-1638>: Enable shared 
mode for Crosswalk core

Target release:
Crosswalk-8

Implementation details:
The main implementation is planned to be done by three stages:

1.       Split current xwalk core into xwalk core and xwalk core internal

a)         The real implementation will be moved from package org.xwalk.core to 
org.xwalk.core.internal

b)         A thin wrapper will be manually written and placed at org.xwalk.core 
for upper layer to use.

2.       Automatically generate wrapper code in xwalk core which 1) provides 
embedding API to embedders; 2) invoke core internal with java reflection.

a)         The thin wrapper in org.xwalk.core in stage 1 will be removed.

b)         Use script to generate bridge and wrapper class at compile time.

                         i.              Bridge class is in 
org.xwalk.core.internal, inherits internal class and talk with wrapper class 
via reflection.

                       ii.              Wrapper class is the one embedding API 
exposes, talk to bridge class via reflection.

                      iii.              For detail, please refer design 
documentation.

3.       Enable shared mode by provide library apk of xwalk core and create 
both shared and embedded build target.

a)         Remove current reflection layer in runtime layer.

b)         Add target to package xwalk core internal into a library apk for 
shared mode to use.

c)         Adjust xwalk runtime and xwalk core library to support both shared 
and embedded mode.

Detail Documentation:
https://docs.google.com/a/intel.com/document/d/1xrqd6dhQG2Qk0LxVUXs4_MR2CdIMmUlGl7mA_xe0DkA



Thanks,
Shiliu.
_______________________________________________
Crosswalk-dev mailing list
[email protected]
https://lists.crosswalk-project.org/mailman/listinfo/crosswalk-dev

Reply via email to