Overview
rdkbrowser2 is the browser application based on WPE, it is integrated with following components which enables it with new features compared with legacy rdkbrowser.
- injectedBundle : Provides integration Layer for Service manager and Player inside WPE, adds ability to send messages between JavaScript & other application.
- pxcore-libnode : pxcore - Provides a lightweight Frame-buffer library, pxscene - 2D scene graph API library.
- wpe-webkit : WebKit porting which is used with Wayland.
- rdk-logger : Provides console and file level message logging feature to RDK component.
- westeros : Wayland compositor library that allows applications to create their own Wayland displays, which allows nesting and embedding of third party application
How to Launch rdkbrowser2 ?
rdkbrowser2 can be launched in two different ways:
Server Mode: --server - Launch the browser in a server(“tab”) mode
It could be directly launched as:
/usr/bin/rdkbrowser2 --server
Also can launch _rdkbrowser2_server.sh, script file to run rdkbrowser2 as a server.
Standalone mode: --url <url> - Launch opening a specific URL
web pages could be launched using rdkbrowser2 by passing the URL.
/usr/bin/rdkbrowser2 --url http://www.google.com
Architecture Diagram
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IlotWW9nb21heWEgTWFoYXJhbmEiLCJvdXRwdXRUeXBlIjoiYmxvY2siLCJsYXN0TW9kaWZpZXJOYW1lIjoiWi1Zb2dvbWF5YSBNYWhhcmFuYSIsImxhbmd1YWdlIjoiZW4iLCJkaWFncmFtRGlzcGxheU5hbWUiOiIiLCJzRmlsZUlkIjoiIiwiYXR0SWQiOiIxNDQ5MDA2NTgiLCJkaWFncmFtTmFtZSI6InJka2Jyb3dzZXIyX2FyY2hpdGVjdHVyZS5kcmF3aW8iLCJhc3BlY3QiOiIiLCJsaW5rcyI6ImF1dG8iLCJjZW9OYW1lIjoicmRrYnJvd3NlcjIiLCJ0YnN0eWxlIjoidG9wIiwiY2FuQ29tbWVudCI6ZmFsc2UsImRpYWdyYW1VcmwiOiIiLCJjc3ZGaWxlVXJsIjoiIiwiYm9yZGVyIjp0cnVlLCJtYXhTY2FsZSI6IjEiLCJvd25pbmdQYWdlSWQiOjcxMDE0MjE1LCJlZGl0YWJsZSI6ZmFsc2UsImNlb0lkIjo3MTAxNDIxNSwicGFnZUlkIjoiIiwibGJveCI6dHJ1ZSwic2VydmVyQ29uZmlnIjp7ImVtYWlscHJldmlldyI6IjEifSwib2RyaXZlSWQiOiIiLCJyZXZpc2lvbiI6MSwibWFjcm9JZCI6IjYxZmZkOGU4LWJhNzUtNGIyZC05MTNlLWJhMDU4MzJkMDVlNiIsInByZXZpZXdOYW1lIjoicmRrYnJvd3NlcjJfYXJjaGl0ZWN0dXJlLmRyYXdpby5wbmciLCJsaWNlbnNlU3RhdHVzIjoiT0siLCJzZXJ2aWNlIjoiIiwiaXNUZW1wbGF0ZSI6IiIsIndpZHRoIjoibnVsbCIsInNpbXBsZVZpZXdlciI6ZmFsc2UsImxhc3RNb2RpZmllZCI6MTYxNDY5NDU0MDAwMCwiZXhjZWVkUGFnZVdpZHRoIjpmYWxzZSwib0NsaWVudElkIjoiIn0=
Webkit : Thin layer to link against from the applications .
WebCore : Provides rendering, layout, network access, multimedia, accessibility support etc.
JavaScript Core : Javascript engine.
Platform : Provides platform-specific hooks to implement generic algorithms.
rdkbrowser2 Controls
rdkbrowser2-control is an app for discovering RDKBrowser2 RtRemote Server Object and invoking its RtRemote based API.
Only works in conjunction with /usr/bin/rdkbrowser2.sh
Usage:
start rdkbrowser2: /usr/bin/rdkbrowser2.sh 'about:blank'
start /usr/bin/rdkbrowser2-control in a separate shell
Sample control sequence:
rdkbrowser2tab = rt.locate()
rdkbrowser2tab.transparentBackground = false
rdkbrowser2tab.proxies = [ { "pattern" : "*" , "useproxy" : "http://<ip>:<port>" }]
rdkbrowser2tab.url = "https://www.google.com/"
rdkbrowser2tab.evaluateJavaScript( "startTest()" )
|