Inspecting a Web App

Attach Chromium DevTools to a web app running on the TV.


This page is a stub.
Contributions to this page are welcome!

DevTools


Web applications on webOS can be inspected using Chromium DevTools, equivalent to the functionality present in modern browsers.

This can be accessed using various methods:

  1. Running ares-inspect APPID with SDK set up
  2. Directly accessing http://TV_IP:9998 from a browser (equivalent to method 1, but does not require SDK)
  3. Adding TV_IP:9998 as a "Remote Target" in chrome://inspect in Chromium-based browsers.

All these methods have some limitations on older webOS versions. For example, using methods 1 and 2 on webOS 3.8:

  • DevTools fails completely when opened in Chromium 96 (only top tab bar is rendered)
  • "Console" is not scrollable and code cannot be injected when running in Firefox 94
  • Works mostly fine in Midori 9.0 (WebKitGTK-based browser on Linux)

Option 3 works fine, but code execution in the "Console" tab does not work and the preview window seems corrupted. This also may sometimes trigger a WAM crash for unknown reasons.

Chromium versions

Some of the issues encountered using DevTools on older webOS versions may be resolved by using an older release of Chromium. Specifically, according to LG's App Debugging documentation, the supported versions are:

  • webOS 1–3: Chrome 38
  • webOS 4–5: Chrome 68
  • webOS 6+: latest version

The LG documentation links to these Chrome builds:

Apps You Did Not Build


Inspecting non-developer apps

Apps installed from the Content Store (generally found under /media/cryptofs) are not inspectable by default. You can make an app inspectable by adding "inspectable":true to its appinfo.json.

Inspecting system apps

It is possible to inspect system apps (i.e., those found in /usr/palm/applications) on port 9999. However, this is not enabled by default. While creating the file /var/luna/preferences/debug_system_apps should enable it, our current method of maintaining root access creates issues that require additional workarounds.