[Youtube Video] Making Code Changes to a Tizen TV App
Once you have a basic Tizen TV project up and running, the next step is to make real code changes and see them reflected live in the emulator. This tutorial walks through adding an iframe component to a Tizen TV web application and configuring the necessary privileges and policies in config.xml.
Starting Point: The Default Tizen TV Project
The tutorial picks up from the default Tizen TV project created by the project wizard — a basic JavaScript/HTML5 application. The starting point is index.html, the landing page of the application. All of the existing content inside the <body> tag is removed to make room for the new component being introduced.
Adding an iframe Component
An <iframe> element is added to index.html to load an external website inside the Tizen TV application. Key attributes set on the iframe include:
- src — the URL of the external page to load
- width / height — initially set to percentage values, later adjusted to a fixed pixel height (e.g. 800px) to avoid layout issues inside the emulator
- sandbox — an important security attribute that restricts what the loaded page can do
When the sandbox attribute is set to an empty string, the browser applies a default set of restrictions to the loaded page: no plugins, no pop-ups, no script execution, no navigation, and no form submissions. This is a sensible default for a demo where you only need to display content without any interaction.
Configuring Privileges in config.xml
Loading external content requires granting your application permission to access the network. This is done through the privileges section of config.xml. Privileges are permissions that tell the Tizen TV platform what capabilities your application needs. For internet access, two options are available:
- Samsung privilege —
network.publicallows the application to use a public network - Tizen privilege — a custom privilege URL specific to Tizen for internet access
Either the Samsung or the Tizen privilege can be used; the tutorial demonstrates adding the Tizen privilege. A link to the full list of Tizen privileges is provided in the video description.
Setting a Network Access Policy
Beyond granting broad internet access, config.xml also supports a policy tab where you can whitelist specific URLs your application is allowed to reach. This gives developers fine-grained control over the application’s network security — you can restrict the app to only communicate with the domains it genuinely needs, preventing it from making unintended external requests. The allow subdomains flag controls whether subdomain content within the specified domain is also permitted.
Running and Viewing the Result in the Emulator
After saving both index.html and config.xml, the application is run via right-click on the project folder > Run As > Tizen Web Application. The emulator loads and displays the external website inside the iframe. If layout issues appear (such as the iframe not filling the screen correctly), adjusting the height from a percentage to a fixed pixel value in index.html and re-running the app resolves the problem. The emulator reloads the application immediately after each save-and-run cycle, making iteration straightforward.
Key Takeaways
This tutorial highlights two important concepts every Tizen TV developer needs to understand: the sandbox attribute on iframes for security control, and the privileges and policies in config.xml that govern what your application is allowed to do at the platform level. Watch the full video to see each configuration step performed live in Tizen Studio and the final result running in the emulator.