# Support notes

1. Introduction
2. General notes
3. Features
4. config.xml
   1. widget element
5. JavaScript APIs
   1. widget object
   2. window object
   3. Events

## Introduction

This article describes which parts of the features of Opera Widgets are supported on different devices. The features are compared to their status in the W3C standardization process. Note that this document is not meant to be a complete set of comparisons. Different devices use different versions of the Opera browser, although most of the functionality is the same across all of them.

## General notes

Anything present but marked as X for all platforms is currently not available in any public builds of Opera.

The following W3C documents are used:

- Public working draft (Working Draft)
- Widgets 1.0 Packaging and Configuration (Editor’s Draft)
- Widgets 1.0 APIs and Events (Editor’s Draft)

In case of conflicts, the Editors Drafts are used as reference.

Note that neither of these are yet recommendations, and may be subject to change. Opera Software is committed to delivering a W3C compliant widget implementation.

## Features

Feature | 9.27 | 9.5 beta 2 | 9.5 for UIQ | W3C
--- | --- | --- | --- | ---
widget URL protocol | X | X | X | V
widget mode | V | V | V1 | V
docked mode | X | X | V | V
fullscreen mode | X | X | X1 | V
application mode | X | X | X | V

1 widget mode is effectively fullscreen on mobile. This will probably change to fullscreen becoming default on mobile.

## config.xml

### widget element

Feature | 9.27 | 9.5 beta 2 | 9.5 for UIQ | W3C
--- | --- | --- | --- | ---
defaultMode | X | X | V | V
dockable | X | X | V | V
transparent | X | X | X | V

## JavaScript APIs

### widget object

Feature | 9.27 | 9.5 beta 2 | 9.5 for UIQ | W3C
--- | --- | --- | --- | ---
widgetMode | X | V | V | V
identifier | X | V | X | V
originURL | X | V | X | V
openURL() | V | V | V | V
preferenceForKey()2 | V | V | V | X
setPreferenceForKey()2 | V | V | V | X
getPreference()2 | X | X | X | V
setPreference()2 | X | X | X | V
showNotification() | X | V | X | V
getAttention() | X | V | X | V
onhide | X | V | X | V
onshow | X | V | X | V
show() | X | V | X | V
hide() | X | V | X | V

2 The `preferenceForKey()` and `setPreferenceForKey()` methods were previously part of the W3C working draft. In recent drafts, they have been changed to `setPreference()` and `getPreference()`. Opera plans to follow this change, but retain the old methods for backwards compatibility.

### window object

Feature | 9.27 | 9.5 beta 2 | 9.5 for UIQ | W3C
--- | --- | --- | --- | ---
defaultStatus | X | V3 | X | V
status | X | V3 | X | V
resizeTo() | V | V | V4 | V
resizeBy() | V | V | V4 | V
moveTo() | V | V | V4 | V
moveBy() | V | V | V4 | V

3 Settable, but ignored.

4 Note that calling resizeTo(), resizeBy(), moveTo() and moveBy() has no effect when in a fullscreen mode or on mobile.

### Events

Feature | 9.27 | 9.5 beta 2 | 9.5 for UIQ | W3C
--- | --- | --- | --- | ---
resolution | X | X | V | V
widgetmodechange | X | X | V | V