The tables contain browser- and user agent-specific information built up from a database of known user agents.
Located in /lib/main/webcore/util/browser.php (line 963)
The algorithm always uses the last non-ignored id as the browser id; this list determines which ids are ignored.
public array[string,boolean] ignored_ids ()
The platform id is a nicely formatted, standardized name for the operating system. This array maps the different user agent platform ids onto these standard ones. (e.g. 'nt 4' and 'nt4' both map onto 'Windows NT 4.x').
public array[string,string] os_ids ()
Each id maps to the rendering technology to record (retrieved later with the 'is' function), a pretty-printed name for the renderer and a level. The level determines which renderers override others if more than one renderer is specified. That is, almost every user-agent on the planet returns mozilla x.x, but that renderer declaration is overridden by any other one that comes along. IE is the next weakest because many user agents spoof as IE as well. If either or both of these are specified, they are recorded, but if any other renderer is specified, that one is used instead.
public array[string,USER_AGENT_RENDERER_INFO] renderer_ids ()
Since there are so many different robot clients, we look for common names in the renderer/browser name to mark unknown browsers as robots.
public array[string,boolean] robot_names ()
public array[string,string] system_ids ()