Web Browser

From PS3 Developer wiki
Revision as of 16:45, 21 October 2018 by Sandungas (talk | contribs)
Jump to navigation Jump to search

Description

Managed with plugins: webbrowser_plugin.sprx, webbrowser_service.sprx, webrender_plugin.sprx, wboard_plugin.sprx

And more plugins: silk.sprx, silk_base.sprx, silk_mrcommon.sprx, silk_mrserver.sprx, silk_nas.sprx, silk_npflashplayer9.sprx, silk_npflashplayer.sprx, silk_webkit.sprx, silk_wk.sprx

There are 3 versions of the web browser, from older to newer loaded from dev_flash/vsh/resource/silk, dev_flash/vsh/resource/silk_nas, and dev_flash/vsh/resource/silk_webkit

  • Shockwave Flash 9.0 r159
  • Actionscript2 + 3

The browsers are derivated from open source code. See Licensing and Online Connections

When started from the XMB Internet browser shortcut in the Network column, the browser system plugin launched is webrender_plugin.sprx. When started from XML Link , the plugin used to start Silk is webbrowser_plugin.sprx. Curiously the list of associated plugins loaded at the same time as the browser varies with webbrowser & webrender even though in practice there doesn't seem to be any major difference between the 2.


Web Content Guidelines

Versions

Web Browser Core Engine Notes/Speculation

  • Silk (doesnt supports Java script), used in:
    • LINK.XML
    • In-game Web browser in PS3 Games. After closing browser it can return to the same point in the game
  • WebKit (supports Java script), used in:
    • Internet Search, or XMB options on Game column when a game is unlighted (using parameter TITLE) ?
    • "what's news" (message: "You are launching an internet website")
  • Both, used in:
    • Online Instruction Manuals and Internet Browser
Webbrowser engine selector

Silk

Silk nas

Silk webkit

Languages

PlayStation Languages
Code Name Support
2-digits 2-letters Localised English PS1 PS2 PSP PS3 PSV PS4 PS5
00 ja 日本語 Japanese ALL ALL 1.00 1.00 1.00 1.00 1.00
01 en English (United States) English (United States)
02 fr Français French No 1.50
03 es Español (España) Spanish (Spain)
04 de Deutsch German
05 it Italiano Italian
06 nl Nederlands Dutch
07 pt Português (Portugal) Portuguese (Portugal)
08 ru Русский Russian EXT
09 ko 한국어 Korean 2.00 1.50
10 ch 繁體中文 Chinese (Traditional) 2.70 1.60
11 zh 简体中文 Chinese (Simplified)
12 fi Suomi Finnish No No
13 sv Svenska Swedish
14 da Dansk Danish
15 no Norsk Norwegian
16 pl Polski Polish 3.10
17 br Português (Brasil) Portuguese (Brazil) 4.00
18 gb English (United Kingdom) English (United Kingdom)
19 tr Türkçe Turkish 4.30 2.00
20 la Español (América Latina) Spanish (Latin America) No No
21 ar العربية Arabic 2.00
22 ca Français (Canada) French (Canada) 2.50
23 cs Čeština Czech 5.00
24 hu Magyar Hungarian
25 el Ελληνικά Greek
26 ro Română Romanian
27 th ไทย Thai
28 vi Tiếng Việt Vietnamese
29 in Indonesia Indonesian
30 uk Українська Ukrainian 9.50 3.00
  • Notes:
    • Firmware 2.70: Polish, Greek, Czech, Slovak, and Turkish added to Web Browser

Interfacing with webbrowser

From plugins

From LINK.XML

Code Sample
  • <link ver>
    • Other version values doesnt seems to have any effect
  • <url>
    • Malformed or missing url starts the browser with an about: blank page

Used in PARAM.SFO category WT (and all BOOTABLE content installed in HDD ?) to create a XMB link with a url that will be launched using the Silk core (silk.sprx?) of the Web Browser (webbrowser_plugin.sprx?)

The file LINK.XML is placed in the same path than the PARAM.SFO next to it at dev_hdd0/game/<TITLE_ID>/. There is no USRDIR folder and there is no EBOOT.BIN but the PARAM.SFO needs to be marked as "BOOTABLE" (it boots the web browser using the url as parameter)

It seems is not posible to create a folder containing 2 bootable items (EBOOT.BIN, and LINK.XML)...when trying to boot it the XMB displays the error message: this service has ended

Debugging

By enabling xRegistry.sys/setting/browser/debugMenu the webbrowser creates a log at path dev_usb0/webbrowser.txt. see http://www.psx-place.com/threads/ps3-browser-debugmenu.15134/

Example:
webrender_plugin_init: start
webrender_plugin_init: spu_task::init 
webrender_plugin_init: ProvideDefaultTexture
webrender_plugin_init: SetInterface
webrender_plugin_init: end
webrender_plugin_start: begin
webrender_plugin_start: DOMEntryUtility::initialize()
webrender_plugin_start: SetOskCallback
webrender_plugin_start: UIManager::initialize
webrender_plugin_start: loading_->Start
webrender_plugin_start: end 
Warning: rename original to .bak failed: 80010006
PluginWakeupWithUrlString: url= 
Warning: after-unlink .bak failed : 80010006
Write status : 1 - /dev_hdd0/home/00000001/webbrowser/setting.xml
Warning: rename original to .bak failed: 80010006
Warning: after-unlink .bak failed : 80010006
Write status : 1 - /dev_hdd0/home/00000001/webbrowser/history.xml
Write status : 1 - /dev_hdd0/home/00000001/webbrowser/history.xml
webrender_plugin_init: start
webrender_plugin_init: spu_task::init 
webrender_plugin_init: ProvideDefaultTexture
webrender_plugin_init: SetInterface
webrender_plugin_init: end
webrender_plugin_start: begin
webrender_plugin_start: DOMEntryUtility::initialize()
webrender_plugin_start: SetOskCallback
webrender_plugin_start: UIManager::initialize
webrender_plugin_start: loading_->Start
webrender_plugin_start: end 
PluginWakeupWithUrlString: url= 
Write status : 1 - /dev_hdd0/home/00000001/webbrowser/history.xml
PluginWakeupWithUrlString: url= 
webrender_plugin_init: start
webrender_plugin_init: spu_task::init 
webrender_plugin_init: ProvideDefaultTexture
webrender_plugin_init: SetInterface
webrender_plugin_init: end
webrender_plugin_start: begin
webrender_plugin_start: DOMEntryUtility::initialize()
webrender_plugin_start: SetOskCallback
webrender_plugin_start: UIManager::initialize
webrender_plugin_start: loading_->Start
webrender_plugin_start: end 
PluginWakeupWithUrlString: url=http://manuals.playstation.net/document/en/ps3/current/index.html 
Write status : 1 - /dev_hdd0/home/00000001/webbrowser/history.xml
Write status : 1 - /dev_hdd0/home/00000001/webbrowser/history.xml
Write status : 1 - /dev_hdd0/home/00000001/webbrowser/history.xml
webrender_plugin_init: start
webrender_plugin_init: spu_task::init 
webrender_plugin_init: ProvideDefaultTexture
webrender_plugin_init: SetInterface
webrender_plugin_init: end
webrender_plugin_start: begin
webrender_plugin_start: DOMEntryUtility::initialize()
webrender_plugin_start: SetOskCallback
webrender_plugin_start: UIManager::initialize
webrender_plugin_start: loading_->Start
webrender_plugin_start: end 
PluginWakeupWithUrlString: url= 
Write status : 1 - /dev_hdd0/home/00000001/webbrowser/history.xml
Write status : 1 - /dev_hdd0/home/00000001/webbrowser/history.xml
Write status : 1 - /dev_hdd0/home/00000001/webbrowser/history.xml
Write status : 1 - /dev_hdd0/home/00000001/webbrowser/history.xml
Write status : 1 - /dev_hdd0/home/00000001/webbrowser/history.xml

Etc...

MIMEtypes

http://en.wikipedia.org/wiki/Internet_media_type

  • Examples
    • x-ps3-theme. See Themes
    • x-psp-theme
    • x-ps3-update
    • x-psp-update
    • octet-stream
    • vnd.sony.dstartup
    • x-sony-mgm
    • x-host/package widget directory theme-content. See XMB Host Functions
    • x-www-form-urlencoded (inside game_ext_plugin.sprx secure url for account/purchase management). Is an standard, not PS3 specific

Links