ImportantDue to NaCl deprecation by the Chromium project, Tizen TV will continue its support for NaCl only until 2021-year products. Meanwhile, Tizen TV will start focusing on high-performance, cross-browser WebAssembly from 2020-year products.
This topic describes how to add Tizen privileges and PPAPI permissions to a Native Client project in the Tizen Studio, and lists the Tizen privileges corresponding to PPAPI permissions.
Some Samsung Product and Tizen API modules can perform security-sensitive operations which, if not used correctly, can harm user privacy and system stability. Applications that use these sensitive APIs must declare the required privileges in the "config.xml" file. Privileges are categorized into public, partner, and platform levels:
The public level is the minimum privilege level, which means that any application developed using the Tizen Studio can use these privileges.
The partner level privileges require at least a partner-signed certificate, which is granted to developers who have a business relationship with the vendor.
The platform level is the highest privilege level, and an application that needs these privileges requires at least a platform-signed certificate, which is granted to vendor developers.
In Tizen applications, Native Client (NaCl) modules using security-sensitive PPAPI interfaces must also declare permissions in its ".nmf" manifest file. Some PPAPI permissions correspond to Tizen privileges, since they grant access to the same resources. Consequently, both the PPAPI permissions and the corresponding Tizen privileges must be declared.
Adding Privileges
When you build a NaCl project in the Tizen Studio, the "config.xml" and <projectname>.nmf configuration files are generated automatically. The Tizen Studio detects and adds privileges based on the included interface headers in the source code. It maps the privileges to PPAPI permissions, and includes them in the generated <projectname>.nmf configuration file.
However, privileges required by header files outside the project must be added separately. When you add Tizen privileges to the project in the Tizen Studio, the equivalent PPAPI permissions are automatically added to the <projectname>.nmf configuration file.
WarningBe careful when modifying the "config.xml" and <projectname>.nmf files directly.
To add Tizen privileges to the project:
In the "Project Explorer" view, right-click the project name, and select "Properties".
In the side menu, select "Tizen Studio > Tizen privileges".
Select the desired privileges from the list, and click "Apply".
To close the dialog, click "Apply and Close".
The project automatically rebuilds.
To verify that the PPAPI permissions were added, open the CurrentBin/<projectname>.nmf file.
For example, if you added the "http://tizen.org/privilege/filesystem.write" privilege, the output ".nmf" file contains the following PPAPI permissions:
Tizen Privileges Corresponding to PPAPI Permissions
The following table maps PPAPI permissions to the Tizen privileges that must be added in the Tizen Studio. The PPAPI permission name is the same as the interface using it. Interfaces that do not require permissions are not listed.
NoteIf a PPAPI permission corresponds to more than 1 Tizen privilege, you must add all the corresponding privileges.
Table 1. PPAPI permissions and corresponding Tizen privileges
Other Useful Tizen Privileges
The following table lists other application features that require Tizen privileges. The listed privileges are supported since Tizen 2.2.1.
Feature
Tizen Privilege
Privilege Level
DRM information retrieval
http://developer.samsung.com/privilege/drminfo
Partner
DRM-protected content playback
http://developer.samsung.com/privilege/drmplay
Public
Filesystem access
http://tizen.org/privilege/unlimitedstorage
Internet access
http://tizen.org/privilege/internet
Remote control
http://tizen.org/privilege/tv.inputdevice
Table 2. Useful Tizen privileges
Manage Your Cookies
We use cookies to improve your experience on our website and to show you relevant
advertising. Manage you settings for our cookies below.
Essential Cookies
These cookies are essential as they enable you to move around the website. This
category cannot be disabled.
Company
Domain
Samsung Electronics
.samsungdeveloperconference.com
Analytical/Performance Cookies
These cookies collect information about how you use our website. for example which
pages you visit most often. All information these cookies collect is used to improve
how the website works.
Company
Domain
LinkedIn
.linkedin.com
Meta (formerly Facebook)
.samsungdeveloperconference.com
Google Inc.
.samsungdeveloperconference.com
Functionality Cookies
These cookies allow our website to remember choices you make (such as your user name, language or the region your are in) and
tailor the website to provide enhanced features and content for you.
Company
Domain
LinkedIn
.ads.linkedin.com, .linkedin.com
Advertising Cookies
These cookies gather information about your browser habits. They remember that
you've visited our website and share this information with other organizations such
as advertisers.
Company
Domain
LinkedIn
.linkedin.com
Meta (formerly Facebook)
.samsungdeveloperconference.com
Google Inc.
.samsungdeveloperconference.com
Preferences Submitted
You have successfully updated your cookie preferences.