1 69 Tizen v 2 3 Web Framework
1 69 Tizen v 2. 3 Web Framework Embedded Software Lab. @ SKKU
Contents 2 69 • Web Runtime – Internal Blocks – Feature and Lifecycle • Tizen Web API • Web Device API, Tizen API, Application API, Communication API, Content API, Input/Output API, Social API, System API, User Interface API Embedded Software Lab. @ SKKU
Web Application 3 69 • Web application – Using web based technologies – Accessing local device / platform resources – Can be installed on the device Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime. Tizen Developer Conference 2012.
Web app on the Web framework 4 69 • Web framework – aggregates the Web Runtime along with the W 3 C API, Device API, and a UI framework containing widgets derived from j. Query Mobile Embedded Software Lab. @ SKKU Source: Jaesik Chang , Tizen Webkit For Wearable Devices. Tizen Developer Conference 2014.
Web framework 5 69 • Provides: – Best Web experience with Browser and packaged Web Apps • Focusing on functionality(HTML 5), performance (UI Responsiveness, 2 D/3 D Acceleration, JS Engine), Standard Compliance(W 3 C) • More device feature accessibility through Tizen Device API • j. Query Mobile based Tizen Web UI FW enables easy Web App development • Consists of: – Web Runtime: Execution environment for packaged Web App – Web. View (Web. Kit 2/EFL): Java. Script. Core, Web. Core(HTML 5/W 3 C API implementation), Web. Kit API Embedded Software Lab. @ SKKU Source: Sunil Saxena , Tizen Architecture. Tizen Developer Conference 2012.
Web UI Framework Launching Flow Embedded Software Lab. @ SKKU 6 69
Web UI Framework Launching Flow Embedded Software Lab. @ SKKU 7 69
8 69 Web Runtime: Internal Blocks Embedded Software Lab. @ SKKU
Web Runtime on Tizen v 2. 3 9 69 • Web Runtime – – – Environment within which all web applications run on Tizen Package management (installation, update, etc. ) Execution and lifecycle (launching, pause, resume, etc. ) Runtime security (API/network access, sandboxing, etc. ) Device and platform integration (access local device and platform resources) Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Tizen Web Runtime Internal Blocks Embedded Software Lab. @ SKKU 10 69 Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Web Runtime web wrt src 11 69 view_module. cpp IVew. Module class pointing to View. Logic Injectedbundle webkit Injected-bundle. cpp Load libraries to Webprocess dynamically view_logic. cpp View. Logic(), create. Web. View(), prepare. View(), show. Widget(), hide. Widget() api_new Core. Module: : Init(), Terminate() core_module. cpp Show(), Hide(), Suspend(), Resume(), Prepareview() runnable_widget_object. cpp web-client wrt-common wrt-installer wrt-security weblauncher weblaunchpaddaemon wrt-security wrt-client. cpp Wrt. Client: : Wrt. Client(), On. Stop(), On. Create(), On. Reset() wrt-launcher. cpp Display_widget_info(), Attach. DB() launchpad_sr c ace. _client. cpp launchpad. c check. Function. Call() Embedded Software Lab. @ SKKU __real_launch() __normal_fork_exec() __fake_launch_app() __prepare_exec()
Tizen Web Runtime Internal Blocks 12 69 • WRT Installer – – – After download is finished, install the resources to the appropriate directories Register app to WRT database Extract content of the package file Check configuration file Generate manifest file for interacting with native application Update SMACK (Simplified Mandatory Access Control Kernel) policy based on requested privileges Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Tizen Web Runtime Internal Blocks 13 69 • WRT Client – Callback related to the life-cycle (launch, resume, pause, terminate) – When new web application is launched, the system spawns two processes • UI process; manage the life cycle of an app • Web process; responsible for rendering the web content Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Tizen Web Runtime Internal Blocks • 14 69 WRT Core – Core module • Initialize the database, prepare information for launching, check network access – View module • Creation / deletion web view which contain a web application’s content • Control view layer including the capability of show, hide, suspend • Use Web. Kit and EFL Evas canvas library for view layer – Resource loading, creation of new web view • Add custom JS objects to Web. Kit view to access Tizen device APIs Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Web core 15 69 • Runnable. Widget. Object – Handle or launch web application at window – Call proper methods at every state changes – Definition of IRunnable. Widget. Object interface • web/wrt/src/api_new/i_runnable_widget_object. h – Implementation of Runnable. Widget. Object • web/wrt/src/api_new/runnable_widget_object. cpp • View. Logic – With Webkit and Evas library, geolocation, notification, plugin function is available Embedded Software Lab. @ SKKU
Web core 16 69 • IView. Module Embedded Software Lab. @ SKKU
17 69 • View. Logic Embedded Software Lab. @ SKKU
18 69 • create. Web. View() Embedded Software Lab. @ SKKU
Tizen Web Runtime Internal Blocks 19 69 • Injected Bundle – Build a process management mechanism inside the Web. Kit API layer – Support additional function to Web Process by loading library dynamically at startup time like plugin – Unlike plugin, only one shared library can be loaded Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Tizen Web Runtime Internal Blocks 20 69 • WRT Security – Provide sandbox environment – Enforce SMACK rules • Cannot access the files of another application, system files or features unless it has been granted permission Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Tizen Web Runtime Internal Blocks 21 69 • WRT Launchpad – Preload Web. Kit and WRT libraries (such as libewebkit 2. so, wrt-client) – Fork a new process (UI process) Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Launchpad 22 69 • Two key daemons to spawn new process(app) in TIZEN – AMD (application management daemon) and launchpad daemon. – AMD receives the launch request and forwards it to the launchpad (launchpad_preloading_preinitializing_daemon) – launchpad is the parent process of all TIZEN apps. • There are three launchpad daemons; – launchpad, wrt_launchpad and debug_launchpad – AMD chooses the proper launchpad daemon w. r. t. launch request. – debug_launchpad itself is launched by sdbd (sdb daemon) only for debugging purpose. Embedded Software Lab. @ SKKU
23 69 Web Runtime: Features and Lifecycle Embedded Software Lab. @ SKKU
Web Runtime on Tizen 24 69 • Since Tizen 2. 0 – – – – – Hosted web app support Installation / Update flow improvement Web. Kit 2/EFL Improvement of launching Resources encryption / decryption Web dynamic box support Support system language change Privilege-based API security Process sandboxing Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Hosted Web App Support 25 69 • Hosted web app – A Web app with all of its resources located on a remote server – For now, it needs to be packaged with minimal resources: config. xml, signature(s) • Restrictions – – Start page should be specified in <tizen: content> extension All of rendered pages are remote pages Only W 3 C/HTML APIs are allowed in remote pages Created browsing context has the same origin as remote server origin Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Installation/Update flow improvement • • 26 69 Installation Flow – New verification steps introduced • Higher-level privilege declaration is not allowed • Invalid signature is not allowed – New installation steps introduced • Resource encryption (if necessary) • Smack rules population Update Flow – Update criteria • Must have the same Tizen app ID • Must have the same author signature – Update triggering point • At installation request time, if the request satisfies the “update criteria” – Update result • Web app data (settings, cookies, local storage etc. ) must be preserved Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Installation/Update flow Embedded Software Lab. @ SKKU 27 69 Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Based on Web. Kit 2/EFL 28 69 • Web App Process Model – Each Web app has 1 UI process and 1 web process • UI process manages lifecycle, and Web process is responsible for rendering – NPAPI plugins (if any) will run in separate processes Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Launching procedure 29 69 • wrt-launchpad – to preload Web. Kit and WRT libraries Ewk: EFL Webkit Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
WRT – Lifecycle 30 69 Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime. Tizen Developer Conference 2012.
WRT – Lifecycle 31 69 • Suspend / Resume – By default, webviews will be suspended by WRT when the Web App goes to background, unless the developer explicitly enables it via <tizen: setting> • Suspended activities include: Java. Script executions, timers, animations • Even if a webview is not suspended in background, the painting operations will not happen in background and the backing store will be purged – When switched to foreground, the suspended webviews will be resumed Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Support system language change 32 69 • Folder-based localization – Web App contents can be localized in file unit according to W 3 C Widget P&C specification – The localization requires page reloading, and the localized contents will only be reflected at next launching time • Element-based localization – Configuration document can be localized with xml: lang attribute • Content-based localization – System locale change event can be listened with Tizen System Info API – L 10 n routine needs to be implemented in locale change event handler Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Resource Encryption / Decryption 33 69 • Resources are encrypted during installation / update – Enabled with <tizen: setting encryption=“enable”/> in config. xml – Web App directory is scanned recursively – Only resources with predefined extensions (html / js / css) are encrypted – Information about encrypted resources are stored in WRT DB • Resources are decrypted at runtime – UI Process informs Bundle (Web. Process) about the decryption necessity – Resources are decrypted to base 64 string and read by Web. Kit Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Resource Encryption / Decryption 34 69 • Resource Encryption at Install / Update Time Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Resource Encryption / Decryption 35 69 • Resource Decryption at Loading Time Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Web Dynamic box support 36 69 • WRT install WDB at the time when its Web app is installed (WDB resources are packaged with its Web app) • On uninstallation, WDB resources are removed with its Web app – Supported sizes: 1 x 1, 2 x 2 – Supports periodic update Embedded Lab. SKKU Source: Software Ming Jin , Tizen Web @ Runtime Update. Tizen Developer Conference 2013. https: //developer. tizen. org/ko/documentation/ux-guide/basic-interactions/dynamic-box
Process sandboxing 37 69 • Web app (UI/Web process) sandboxing – – – UID: “app” GUID: “app” Process smack label: {Pkg. ID} Resource smack label: {Pkg. ID} Smack rules: basic application rules + privilege specific rules • Web app private data (e. g. , localstorage, indexed db, cookie, etc. ) is protected from the rest of system after sandboxing [subject. Label] [object. Label] [access(rwxa)] Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Privilege-based API security 38 69 • Privilege – A predefined collection of privileged APIs that can be assigned to the application to allow it to call the privileged APIs – Ex. http: //tizen. org/privilege/account. read • Privilege level – A defined access level for the APIs, based on their influence – Public • Alarm, application, bluetooth, calendar, call history, contact, file system, message port, messaging, power, push, setting, system, etc. – Partner • App manager, secure element, system manager, etc. – Platform • Bluetooth manager, lock manager, package manager, setting manager, etc. Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime Update. Tizen Developer Conference 2013.
Privileges 39 69 Embedded Software Lab. @ SKKU
Privilege-based API security 40 69 • Access Control enforcements – Tizen WRT supports Tizen Web. Apps and multiple APIs: W 3 C APIs, and non-W 3 C APIs like Web. GL and Tizen Web API – WRT has a multi-process model • Web. Kit based • Widget instances are executed in separate processes • Provides runtime isolation and allows the system to enforce custom process-level containment (sandbox) on each instance – Two levels of access control enforcements • WRT Access Control Engine(ACE): Fine-grained access control on JS APIs • Application Sandbox via SMACK: Process-level containment by the kernel on system calls Embedded Software Lab. @ SKKU Source: Onur Aciicmez , Understanding the Permission and Access Control Model for Tizen Application Sandboxing. Tizen Developer Conference 2012.
Privilege-based API security 41 69 • Access control model – A subset of the Java. Script APIs supported in Tizen are considered restricted • Restricted refers to any JS function that can access the private data on a device such as location, contacts, calendar, etc. – Widgets need authorization to invoke restricted APIs – Permission declarations and authorization: • Declaration in manifest file: – <feature> element for device APIs – <access> element for network resources – Authorization: • prompt type decision according to WRT ACE policy user confirmations Embedded Software Lab. @ SKKU Source: Onur Aciicmez , Understanding the Permission and Access Control Model for Tizen Application Sandboxing. Tizen Developer Conference 2012.
Privilege-based API security 42 69 • Access Control Engine – Component responsible for Tizen policy management – Evaluates policy per single request – Manages policy and prompt verdict cache <feature name=http: //tizen. org/api/filesystem required=“true”/> Embedded Software Lab. @ SKKU Source: Ming Jin , Tizen Web Runtime. Tizen Developer Conference 2012.
Access Control Enforcements 43 69 • ACE policy Evaluation PEP (Policy Enforcement Point) : ACE interface for WRT PIP (Policy Information Point): Responsible for obtaining attribute values from WRT, Resource Information and OS PDP (Policy Decision Point): evaluates policies; Interacts with the user if necessary Policy Translator: Parses policies (XML) Verdict Manager: Responsible for caching the verdicts Embedded Software Lab. @ SKKU Source: Onur Aciicmez , Understanding the Permission and Access Control Model for Tizen Application Sandboxing. Tizen Developer Conference 2012.
Access Control Enforcements 44 69 • Process Sandbox via SMACK – The SMACK Policy File is updated with the appropriate rules during the install, update, or uninstall operations, as well as at run-time – Rules are based on device features (manifest file), user confirmations, and security files (label, permissions for each feature) Access is made to a device feature Widget requests access to a device feature ACE System Linux Kernel SMACK LSM Check access rights in the SMACK Policy File Return result to WRT Embedded Software Lab. @ SKKU Source: Onur Aciicmez , Understanding the Permission and Access Control Model for Tizen Application Sandboxing. Tizen Developer Conference 2012.
45 69 Tizen Web API Embedded Software Lab. @ SKKU
Web API support 46 69 • W 3 C API – implements web standards relating to DOM, styles, device, graphics, media, communication, storage, security, UI, performance, location, and widget • The Device API – provides advanced logic employing sensors, file I/O, capturing, telephony, FM radio, speech recognition, HDMI output, and more Embedded Software Lab. @ SKKU Source: Tizen Overview and Architecture, Seokjae Jeong, Korea Linux Forum 2012.
Why Tizen Web Device APIs? 47 69 • Limitations of standard specifications – Most of them are still working drafts – No full support for the Tizen characteristic features • Tizen Web device APIs – Device APIs give the characteristic features of the Tizen platform – Device APIs have been updated agilely Embedded Software Lab. @ SKKU Source: Tizen – Universal Device Platform, Wonseok Lee, Samsung Electronics.
Tizen Web Device APIs Design 48 69 • Follows W 3 C specification API style – Numerical constants avoided but string enumerations used – Most methods are asynchronous – Success and error callback, and constructors used • Based on standard technologies – Tizen Web device API specifications are written in Web. IDL – Implementation follows the fundamental rule of ECMAScript 5. 1 and W 3 C Web. IDLrecommendation (for example, type conversion) • Definedtizen namespace – All Tizen device APIs exist in the tizen namespace – tizen is the global object to which all Tizen device APIs are bound Embedded Software Lab. @ SKKU Source: Tizen – Universal Device Platform, Wonseok Lee, Samsung Electronics.
Tizen Web Device APIs Design 49 69 • Definedtizen namespace Embedded Software Lab. @ SKKU Source: Tizen – Universal Device Platform, Wonseok Lee, Samsung Electronics.
Tizen Web Device API Modules 50 69 https: //developer. tizen. org/devguide/2. 3. 0/org. tizen. web. apireference/html/web_api_reference. htm Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
Tizen APIs (1/2) 51 69 • Tizen – Provides Tizen’s common functionalities • Contains object interfaces that are commonly used throughout the other modules – The tizen object is the topmost object providing the foundations for accessing Tizen device features Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
Tizen APIs (2/2) 52 69 • Tizen’s common object interfaces – Generic asynchronous callback handling • Success callback for methods that do not require a return value • Error callback for methods that require an error as input parameter • Generic error and exception handling – Tizen APIs throw a Web. APIException object and returns a Web. APIError object through error callbacks – These follow the style and types of error of DOM 4 specification. • Filters and sort modes – Filters are used to limit query results and compose complex queries – Generally, filters are used with the find() method in Calendar, Call History, Contact, Content, and Messaging modules // Create an attribute filter based on first name: "First name should contain 'Chris' (case insensitive)" var filter = new tizen. Attribute. Filter("name. first. Name", "CONTAINS", "Chris"); // Sort by first name, ascending var sort. Mode = new tizen. Sort. Mode("name. first. Name", "ASC"); // Send request on contact address book. tizen. contact. get. Default. Address. Book(). find(success. Callback, error. Callback, filter, sort. Mode); Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
Application APIs (1/2) 53 69 • Alarm – Schedules an application to be launched at a specific time /* Alarm is triggered at 8: 00 on April 4, 2012 */ var date = new Date(2012, 3, 4, 8, 0); var alarm 1 = new tizen. Alarm. Absolute(date); /* Alarm is triggered in 3 hours */ var alarm 2 = new tizen. Alarm. Relative(3 * tizen. alarm. PERIOD_HOUR); • Application – Manages current application (this application) – Manages other applications • Retrieves information of applications – Launches other applications • Application control var app. Control = new tizen. Application. Control("http: //tizen. org/appcontrol/operation/pick", null, "image/*", null); tizen. application. launch. App. Control(app. Control, null, success. Cb, err. Cb, null); Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
Application APIs (2/2) 54 69 • Package – – Retrieves information of installed packages Checks the updates of the installed package list Installs or uninstalls packages partner privileged • Data Control – Exchanges specific data with the data control provider application • Data control provider application can be implemented as a native application – Data control types: • Sql. Data. Control – SQL-type data control – data consists of rows and columns • Map. Data. Control – key-value-type data control – partner privileged Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
Communication APIs (1/2) 55 69 • Bluetooth – Manages Bluetooth devices – Discovers nearby devices, and bonds or pairs with found devices – Connects to devices to exchange data with them • NFC var nfc. Adapter = tizen. nfc. get. Default. Adapter(); nfc. Adapter. set. Powered(true, on. Power. On. Fails); – Manages NFC devices – Detects NFC tag and peer – Exchanges NDEF data • Messaging – Sends or receives SMS, MMS, or email messages – Retrieves the message storage Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
Communication APIs (2/2) 56 69 • Network Bearer Selection – Sets a network bearer for a specific IP address or domain name – partner privileged • Secure Element – Provides functionality to communicate with applications in several secure elements, such as UICC/SIM, embedded Secure Element, or Secure SD card – partner privileged • Push – Receives push notifications from the Tizen push server Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
Content APIs (1/2) 57 69 • Content – Discovers and manages images, video, music, and other files – Scans content or directory metadata in the device and updates the content database – Retrieves content from content database using filters – Browses content by getting a list of content directories – Views and edits content item details Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
Content APIs (2/2) 58 69 • Download – Downloads files from a specific URL – Enables applications to manage download operation details • • Sets the stored location of a downloaded file Sets the network type: cellular, Wi-Fi, or default Get operation status: current received size and events Gets the file MIME type Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
Input/Output APIs 59 69 • Filesystem – Accesses the file system virtual root locations • Documents, downloads, images, music, videos, ringtones, wgt-package, wgt-private, and wgt-private-tmp – Manages file storage • Internal and external • Mounted, removed, or unmountable – Accesses files and directories – Creates, reads, edits or deletes files and directories Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
Input/Output APIs 60 • Message Port – Communicates with other applications: IPC based on application ID Embedded Software Lab. @ SKKU 69
Social APIs (1/3) 61 69 • Contact – Manages contacts in device address books • Including adding, searching, updating, and deleting – Manages persons • Person is the aggregation of one or more contacts that are the information of the same person – Supports v. Card 3. 0 Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
Social APIs (2/3) 62 69 • Calendar – Manages events and tasks • Including adding, searching, updating, and deleting • Each event or task has a series of attributes, such as purpose, starting time, and duration – Monitors the changes in events and tasks – Supports i. Calendar v 2. 0, based on RFC 5545 • Call History – Browses the call history of a device – Removes call history entries – Monitors changes Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
Social APIs (3/3) 63 69 • Bookmark – Manages bookmarks and bookmark folders – Browses bookmark folders – platform privileged • Data Synchronization – Synchronizes device data to the server using the OMA DS(Data Synchronization) 1. 2 protocol • Contact data or calendar data – Manages the OMS DS profile slots • Tizen platform sets a limitation on the number of supported profiles • Adds, updates and removes profiles Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
System APIs (1/2) 64 69 • Time – Provides TZDate type that is an extended type of ECMAScript date • It contains the time zone information as well as time information – Provides utility functions for managing system time and duration • Methods for getting local time or time zone • Methods for calculating time duration • System Information – Enables access various properties of the system • Bluetooth, NFC, Wi-Fi, Front/back Camera, Flash, GPS, Sensors, Platform and API version, USB host/accessory – Monitors the change of system information Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
System APIs (2/2) 65 69 • System Setting – Sets or gets the system setting values • • HOME_SCREEN: Home screen background image LOCK_SCREEN: Lock screen background image INCOMING_CALL: incoming call ringtone NOTIFICATION_EMAIL: email notification alert tone • Power – Manages the power state for the screen resource • Sets or gets the state of the screen: off, dim, normal, or bright • Monitors the changes in the state of the screen – Sets the CPU not to sleep Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
User Interface APIs 66 69 • Notification – Posts UI notifications about application events Embedded Software Lab. @ SKKU Source: Kisub Song , Tizen Web Device API. Tizen Developer Conference 2013.
Crosswalk 67 69 • New Web Runtime (tizen 3. 0) – Web, Multimedia, Device APIs • https: //crosswalk-project. org/ • open source, released under a BSD licence. – founded by Intel's Open Source Technology Center. • • Blink rendering and layout engine Designed for Tizen but also for Android Backwards compatible with Tizen 2. x WRT Cordova Device APIs Embedded Software Lab. @ SKKU
Crosswalk Architecture - Modules Embedded Software Lab. @ SKKU 68 69
Crosswalk Architecture - Runtime 69 • Shared process model • BP is shared with all Web. Apps • Web. App contains EP and RP • RP is sandboxed and can’t do OS calls • RP delegates OS calls to BP via IPC • EP is not sandboxed and can do OS calls Embedded Software Lab. @ SKKU 69
- Slides: 69