DemoExpress is a central place to collect web feature samples that demonstrate use of W3C standard APIs, embedding APIs, and web runtime features. The following samples are published in DemoExpress.
- Embedding API (Java):
- XwalkView Basic:
LayoutActivity,MultiInstanceActivity,OnHideOnShow,VersionAndAPIVersion,MultiSurfaceViews,MultiTextureViews,SetZOrderOnTop,ClearCache,ClearCacheForSingleFile,ZoomInAndOut,SaveState,SetLanguage,Transparent,SetInitialScale,EncodingDisplay,MultiInstanceOverlay,WindowSecure - XwalkView Extened:
InputConnection,DispatchKeyEvent,DispatchDraw,OnTouchEvent,FocusChanged,ScrollChanged,SizeChanged,VisibilityChanged,WindowFocusChanged,ClearFormData,WindowsVisibilityChanged,DisableLongClick,.extended.BlankWindowForVisibilityTesting,LongClick,RequestFocus,NetworkAvailable - XwalkUIClient & XwalkResourceClient:
ResourceAndUIClient,OnIconAvailableOnReceivedIcon,OnCreateWindowRequested,ShouldOverrideUrlLoading,Redirection,BlockAndErrorRedirection,OnReceivedLoadError,ClientOnRequestFocus,ConsoleLog,ReceivedTitle,ClientKeyEvent,ClientReceivedSSLError,OnUnhandledKeyEvent,OpenFileChooser,OnJavascriptModalDialog,OnJavascriptCloseWindow - MISC:
Preferences,EchoExtension,DownloadListenerActivity,CookieManagerTest,AcceptFileSchemeCookiesLoadMultiPages,XWalkViewHideAndShow,XwalkExtension,MultipleSurfaceViews,MultipleTextureViews
- XwalkView Basic:
- Web API & Feature:
- Runtime & Packaging:
App URI - Multimedia & Graphics:
Animation Transform,Audio Play,Canvas,CSS Animation,CSS Style,CSS Style Attribute,Flexible Box,Media Queries,SVG Transformation,Transitions,Video Play,WebRTC - Networking & Storage:
FileReader,IndexedDB,Session History,Web Database,Web Messaging,Web Speech,Web Storage - Performance & Optimization:
Animation Timing,High Resolution Time,Navigation Timing,Performance Timeline,Resource Timing,Selectors,Typed Array,User Timing,Workers - Device & Hardware:
Accelerometer,Browser State,Camera via UserMedia,Full Screen,Forms,HTML Template,Input,Notifications,Screen Orientation,Touch,WebAudio,WebGL - Experimental:
Device Capabilities,Presentation,SIMD,FingerPrint - Security:
Sandbox - UI:
Clipboard - Android specific:
- Device & Hardware:
Battery Status,Camera,GamePad,Geolocation,Vibration - Performance & Optimization:
Page Visibility - Third Party Framework:
PDFjs - Scheme:
SchemeContent,SchemesCheck - Manifest:
ManifestDemo1,ManifestDemo2,ManifestDemo3,ManifestDemo4,ManifestDemo5 - Cordova:
CordovaInfo,CordovaAccelerometer,CordovaContacts,CordovaLazyLoadJS,CordovaNetwork,CordovaInAppBrowser,CordovaNotification,CordovaAdMob
- Device & Hardware:
- Runtime & Packaging:
The DemoExpress would be built out to 3 Apps:
- webapi_demo: Web API Demo App, include webapi and web runtime feature samples.
- webapi_cordova_demo: Web API Cordova Demo App, include web api and web runtime feature samples which packed with Crosswalk-cordova, also include cordova specific features.
- embeddingapi_demo: Embedding API Demo App, include embedding api samples.
Here is the buiding steps:
-
Pack the webapi_demo based on Crosswalk Android binary:
-
Download Crosswalk binary from Crosswalk release.
-
Unzip Crosswalk binary:
$ mkdir -p /[userdir]/tools/crosswalk/$ unzip crosswalk-<version\>.zip -d /[userdir]/tools/$ cd /[userdir]/tools/$ mv crosswalk-<version\>\* crosswalk/ -
The webapi_demo include the FingerPrint example by default, you need to get the FingerPrint extension from fingerprint extension
$ unzip fingerprint.zip -d </path/to/samples/FingerPrint/fingerprint>If you want to authenticate with fingerprint, you need an Android device with touch id sensor and shipped with Android 6.0+ system.
-
Goto DemoExpress folder to pack demoexpress package:
$ ./tools/pack.py -t apk -m shared|embedded -a x86|arm --tools='/[userdir]/tools/'
-
-
Pack cordova webapi_cordova_demo Crosswalk Android binary,
-
Create "cordova_plugins" directory in /[userdir]/tools/:
$ mkdir -p /[userdir]/tools/cordova_plugins -
Git clone cordova-plugin-crosswalk-webview from https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview.git
$ cd /[userdir]/tools/cordova_plugins/$ git clone https://github.com/crosswalk-project/cordova-plugin-crosswalk-webview.git -
Create "extra_plugins" directory in /[userdir]/demo-express:
$ mkdir -p /[userdir]/demo-express/crosswalk/extra_plugins/ -
Git clone cordova-admob-pro from https://github.com/floatinghotpot/cordova-admob-pro
$ cd /[userdir]/demo-express/crosswalk/extra_plugins/$ git clone https://github.com/floatinghotpot/cordova-admob-pro -
Rename cordova-admob-pro to cordova-admob:
$ mv cordova-admob-pro cordova-admob -
Configure the main-version(Crosswalk Version) and the crosswalk-branch(stable/beta) in the /[userdir]/demo-express/tools/VERSION file
-
Goto DemoExpress folder to Pack webapi_cordova_demo package:
$ ./tools/pack.py -t cordova -m shared|embedded -a x86|arm --tools='/[userdir]/tools/'
-
-
Pack embeddingapi_demo Crosswalk Android binary,
-
Ensure that you have set up your host environment for Android development.
-
Set up an Android target to deploy the application to, as described on the Android target setup page.
-
Ensure that you have installed the necessary ADT components for your host.
-
Download the Crosswalk WebView binary from Crosswalk release
-
Unzip the Crosswalk WebView binary:
$ mkdir -p /[userdir]/tools/crosswalk-webview/$ unzip crosswalk-webview-<version\>-<arch\>.zip -d /[userdir]/tools/$ cd /[userdir]/tools/$ mv crosswalk-webview-<version\>\* crosswalk-webview/ -
Go back to DemoExpress folder to create the embeddingapi_demo package:
$ ./tools/pack.py -t embeddingapi --tools='/[userdir]/tools/'
-
-
The pack.py script calls the pack command from Android (for Crosswalk-Cordova apps and regular Crosswalk apps)
-
[Develop Crosswalk Cordova App] (https://crosswalk-project.org/documentation/cordova.html)
-
[Embedding Crosswalk] (https://crosswalk-project.org/documentation/android/embedding_crosswalk.html)
- If you build a package using the shared Crosswalk runtime (
--mode=sharedbuild option), you must ensure that the Crosswalk runtime library is installed on the target device before running DemoExpress. The library can be found at https://download.01.org/crosswalk/releases/crosswalk/android/canary/<version>/<arch>/crosswalk-apks-<version>-<arch>.zip - Install and run DemoExpress on the target device
-
File 'tests.xml' is provided to customize the samples in DemoExpress. Feel free to disable/enable the samples before packing the package.
-
Two sample lists tests.android.xml, tests.embedding.xml are released for Android. The Cordova samples are disabled in
tests.android.xmlby default.
Except as noted in COPYING and/or NOTICE files, or in files with a license in the file header, test suite source code uses a BSD-3-Clause license described in the
LICENSE file.