HTML Portal Application
Introduction
The HTML Portal Application (also called "Webkit") is a new feature since
KreaTV 3.8.1. Since KreaTV 4.0, it has completely replaced the Mozilla portal
application (below called "Mozilla").
Backwards Compatibility with Mozilla
HTML Portal Application is designed to be fully backwards
compatible with Mozilla, with the following exceptions:
- HTML Portal Application only supports TOI/JS version 2. (Mozilla supported TOI/JS
versions 1 and 0.)
- In order to get TOI/JS support in HTML Portal App, the following steps must be
taken:
- The kreatv-option-toi2 IIP must be included in the HTML Portal Applications
boot image
- The TOI plugin needs to be loaded in the HTML page. See
TOI/JS version 2 in Webkit.
- The HTML Portal App handles fewer keys than Mozilla. For example, it does not
handle the BACK button which means there is no history handling by
default. For more information about key handling, see
handling input.
- ToiInput and ToiKeyEvent are not supported in the HTML Portal Application. Portals are instead
supposed to use the standard DOM events for key input. It is also assumed
that portals do not need to override the key handling built-in into the HTML Portal Application.
Features in the HTML Portal Applicatioin
The KreaTV the HTML Portal Application is based on Webkit 531.
The major feature set of this port includes:
- HTML 4.01
- HTML 5 subset
- CSS 1
- CSS 2.1
- CSS 3 subset
- Webkit specific CSS properties (most features in these categories are
supported, but not all)
- -webkit-auto
- -webkit-background
- -webkit-baseline-middle
- -webkit-border
- -webkit-box
- -webkit-center
- -webkit-column
- -webkit-left
- -webkit-margin
- -webkit-marquee
- -webkit-padding
- -webkit-right
- -webkit-text
- -webkit-transition
- -webkit-transform
- DOM level 1
- DOM level 2
- DOM level 3 subset
- XML 1.0, 1.1
- XHTML 1.0, 1.1
- XSL 1
- JavaScript 1.6
- Persistent and session cookies
- HTTP 1.1 caching
- Custom TrueType (ttf) and OpenType (otf) fonts
Limitations
Current limitations of the HTML Portal Application include:
-
Drop-down list input elements
The <select> element (a drop-down list in a form element) is not
supported.
Configuring the HTML Portal Application
For STBs using a HTML environment, the HTML Portal Application is
normally started in front when the STB boots and restarted if ever the
application should exit or be killed. There are a number of configuration
objects that are used to control the behavior of the app. These
configuration objects are described in the
application configuration section
.
HTML Portal Application IIP options
The HTML Portal App IIP (kreatv-app-webkit-portal) supports the following options:
- startinfront
This standard application option
registers the application for activation on boot, which usually is
desirable.
- cache=<size>
Sets the cache size in kB. Setting
cache=0 is usually a good choice, since the HTML Portal Application currently
seems to exceed this limit with a few megabytes anyway.
- font=<family>
Sets the name of the default
font family.
- url=<url>
Sets the location of the start
page. This will override the normal start page, which is the first entry in
cfg.portal.whitelisturls. This is intended for development only.
- KreaTV-Gfx specific settings
The settings below shall be used
in the KreaTV-Gfx version of the HTML Portal Application. They are not supported in the TDI version.
- prop(GfxMemory)
Sets the maximum amount of graphics memory
the HTML Portal Application shall use. This is the sum of all rendering and display buffers (see below)
and an optional amount of additional pixmap memory. If the sum of the buffers below
is greater than the total amount specified in GfxMemory the build will abort with an
error.
- prop(DoubleBufferingEnabled)
If set to 'true' two HD and two SD
display buffers will be used resulting in better animation quality.
- prop(ShareOutputBufferEnabled)
If set to 'true' the SD output will use
the HD display buffer and the parameters SdDiplayBufferMax... is ignored.
- prop(RenderingBufferMaxWidth)
The maximum width of the rendering buffer.
- prop(RenderingBufferMaxHeight)
The maximum height of the rendering buffer.
- prop(HdDisplayBufferMaxWidth)
The maximum width of the HD display buffer.
- prop(HdDisplayBufferMaxHeight)
The maximum height of the HD diplay buffer.
- prop(SdDisplayBufferMaxWidth)
The maximum width of the SD display buffer.
- prop(SdDisplayBufferMaxHeight)
The maximum height of the SD diplay buffer.
HTML Portal Application configuration example
A typical boot image configuration file might look like this:
kreatv-app-webkit-portal::startinfront
kreatv-app-webkit-portal::cache=0
kreatv-app-webkit-portal::font=kreativ
kreatv-app-webkit-portal::prop(GfxMemory)=27540
kreatv-app-webkit-portal::prop(DoubleBufferingEnabled)=true
kreatv-app-webkit-portal::prop(ShareOutputBufferEnabled)=false
kreatv-app-webkit-portal::prop(RenderingBufferMaxWidth)=1920
kreatv-app-webkit-portal::prop(RenderingBufferMaxHeight)=1080
kreatv-app-webkit-portal::prop(HdDisplayBufferMaxWidth)=1920
kreatv-app-webkit-portal::prop(HdDisplayBufferMaxHeight)=1080
kreatv-app-webkit-portal::prop(SdDisplayBufferMaxWidth)=720
kreatv-app-webkit-portal::prop(SdDisplayBufferMaxHeight)=576
kreatv-option-toi2
kreatv-font-kreativ