WebAPI/WidgetAPI: Difference between revisions
< WebAPI
Jump to navigation
Jump to search
Line 29: | Line 29: | ||
==Issues under discussion== | ==Issues under discussion== | ||
===[https://developer.mozilla.org/zh-TW/docs/WebAPI/Browser#.E5.AD.98.E5.8F.96_%28Navigation%29_.E5.87.BD.E5.BC.8F Browser API]=== | |||
** | ==== Safe ==== | ||
** | *Performance methods | ||
** | **setVisible() | ||
** | **getVisible() | ||
** | **purgeHistory() | ||
** | *Navigation methods | ||
**reload() | |||
**stop() | |||
*Event methods | |||
**sendMouseEvent() | |||
**sendTouchEvent() | |||
**addNextPaintListener() | |||
**removeNextPaintListener() | |||
*Events | |||
**mozbrowserasyncscroll | |||
**mozbrowserclose | |||
**mozbrowsererror | |||
**mozbrowsericonchange | |||
**mozbrowserloadend | |||
**mozbrowserloadstart | |||
**mozbrowserlocationchange | |||
**mozbrowsertitlechange | |||
**mozbrowseropensearch | |||
==== Unsafe ==== | |||
*Screenshots | |||
*Navigation methods | |||
**getCanGoBack() | |||
**goBack() | |||
**getCanGoForward() | |||
**goForward() | |||
*Events | |||
**mozbrowserusernameandpasswordrequired | |||
**mozbrowseropenwindow (i.e. window.open) | |||
**mozbrowsershowmodalprompt (i.e. alert(), confirm(), prompt()) | |||
**mozbrowsercontextmenu | |||
**mozbrowsersecuritychange | |||
==Bugs== | ==Bugs== |
Revision as of 08:57, 21 May 2014
Goals
The widget API allows privileged APPs have ability to embed APPs in their own iframe, i.e. homescreen, lockscreen ....etc.
Use case
Proposal
embed-widgets bug 1005818
In order to expose to privileged APPs and consider security issue.
- "embed-widgets" is a new permission for "mozapp" attribute, it comes from 'embed-apps' but is more restricted.Disallow some of Browser API that embedder can not receive events and use those.
- Set manifest entry in "widget" attribute.
<iframe mozapp="manifesturl" widget="mywidget1">
extend manifest.webapp
Declare details of widget in mainfest.
{ name: "MyApp2000", ... widgets: { "mywidget1": { href: "widget.html" positions: ["homescreen", "lockscreen"] description: "This is my cool widget" }, "myotherwidget": { ... } } }
Restriction
Issues under discussion
Browser API
Safe
- Performance methods
- setVisible()
- getVisible()
- purgeHistory()
- Navigation methods
- reload()
- stop()
- Event methods
- sendMouseEvent()
- sendTouchEvent()
- addNextPaintListener()
- removeNextPaintListener()
- Events
- mozbrowserasyncscroll
- mozbrowserclose
- mozbrowsererror
- mozbrowsericonchange
- mozbrowserloadend
- mozbrowserloadstart
- mozbrowserlocationchange
- mozbrowsertitlechange
- mozbrowseropensearch
Unsafe
- Screenshots
- Navigation methods
- getCanGoBack()
- goBack()
- getCanGoForward()
- goForward()
- Events
- mozbrowserusernameandpasswordrequired
- mozbrowseropenwindow (i.e. window.open)
- mozbrowsershowmodalprompt (i.e. alert(), confirm(), prompt())
- mozbrowsercontextmenu
- mozbrowsersecuritychange