$Id$
The URL player is a stress testing tool: is used to remotely command Opera to open new windows and load documents into those windows.
The current protocol is a two-way XML-based partly asynchronous protocol.
The service name of the URL player is url-player.
The front end opens a number of windows under control of the URL player by issuing the createwindows command:
<createwindows windows="n"/>
The parameter n signifies the number of windows to open.
The createwindows command generates an immediate response to the client (see section on replies below). A success
reply contains an attribute "windows" which carries the number of windows actually created (on some platforms it may be
less than n).
After opening windows the front end can load a URL into a numbered window by issuing the loadurl command:
<loadurl window="w" href="url"/>
The parameter w signifies the zero-based ordinal of the window into which we want to load url.
The reply for this command is sent asynchronously when the document has been fully loaded into the window, or loading has failed. A reply may contain an attribute "window" which carries the window number that was the target of the command.
Replies take two forms: successes and failures:
<success command="command" attributes/>
<failure reason="text" attributes/>
where command is the command to which this is a response and the exact attributes depend on the command to which this element is a response (see earlier sections). The text is a human-readable string explaining the reason for the failure.
A success message will be sent once loading is complete. A failure message will be sent as soon as the failure is known, which means immediately in case of e.g., parse errors, and later in case it could not connect to the server.
Note that even after a successful loading is signalled the page can continue loading, for example if a script adds inline elements. There is no way for the client to tell if this is happening.