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
eyJleHRTcnZJbnRlZ1R5cGUiOiIiLCJnQ2xpZW50SWQiOiIiLCJjcmVhdG9yTmFtZSI6IlVua25vd24gVXNlciAoeW1haGFyYW5hKSIsIm91dHB1dFR5cGUiOiJibG9jayIsImxhc3RNb2RpZmllck5hbWUiOiJVbmtub3duIFVzZXIgKHltYWhhcmFuYSkiLCJsYW5ndWFnZSI6ImVuIiwidWlDb25maWciOiJ7fSIsImRpYWdyYW1EaXNwbGF5TmFtZSI6IiIsInNGaWxlSWQiOiIiLCJhdHRJZCI6IjE0NDkwMDY1OCIsImRpYWdyYW1OYW1lIjoicmRrYnJvd3NlcjJfYXJjaGl0ZWN0dXJlLmRyYXdpbyIsImFzcGVjdCI6IiIsImxpbmtzIjoiYXV0byIsImNlb05hbWUiOiJyZGticm93c2VyMiIsInRic3R5bGUiOiJ0b3AiLCJjYW5Db21tZW50IjpmYWxzZSwiZGlhZ3JhbVVybCI6IiIsImNzdkZpbGVVcmwiOiIiLCJib3JkZXIiOnRydWUsIm1heFNjYWxlIjoiMSIsIm93bmluZ1BhZ2VJZCI6NzEwMTQyMTUsImVkaXRhYmxlIjpmYWxzZSwiY2VvSWQiOjcxMDE0MjE1LCJwYWdlSWQiOiIiLCJsYm94Ijp0cnVlLCJzZXJ2ZXJDb25maWciOnsiZW1haWxwcmV2aWV3IjoiMSJ9LCJvZHJpdmVJZCI6IiIsInJldmlzaW9uIjoxLCJtYWNyb0lkIjoiNjFmZmQ4ZTgtYmE3NS00YjJkLTkxM2UtYmEwNTgzMmQwNWU2IiwicHJldmlld05hbWUiOiJyZGticm93c2VyMl9hcmNoaXRlY3R1cmUuZHJhd2lvLnBuZyIsImxpY2Vuc2VTdGF0dXMiOiJPSyIsInNlcnZpY2UiOiIiLCJpc1RlbXBsYXRlIjoiIiwid2lkdGgiOiJudWxsIiwic2ltcGxlVmlld2VyIjpmYWxzZSwibGFzdE1vZGlmaWVkIjoxNjE0Njk0NTQwMDAwLCJleGNlZWRQYWdlV2lkdGgiOmZhbHNlLCJvQ2xpZW50SWQiOiIifQ==
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()" )
|