Commit Graph

9 Commits

Author SHA1 Message Date
Rom Walton 1e5dc8b61b HTMLGFX: Completed the move of all platform independent code to source files that will be shared between platforms.
All that should be required for new platforms is to implement a 'run' function that creates a window that hosts an HTML control and queries determine_state_url() and determine_exit_state() once a second.
2015-01-17 17:05:09 -05:00
Rom Walton 8bdf177e4e HTMLGFX: Checkpoint (Continuation of previous commit.)
* Custom IE Javascript interface is gone, it was replaced with a cross-browser Web RPC.
In the HTML doc you can add:
<script type='text/javascript' src='/api/static/boinc.js'></script>

In the JavaScript code you can:
var boinc = new BOINC();

From there you can get the username like:
var userName = boinc.getUserName();

* Default resources are embedded within the executable in much the same way XPM images are embedded in the manager.
  /api/static/index.html
  /api/static/boinc.png
  /api/static/boinc.js
2015-01-16 00:49:17 -05:00
Rom Walton 38af455fa7 HTMLGFX: Remove the secret handling stuff, it would prevent loading static images and other resources from the slot directory. 2015-01-06 11:03:41 -05:00
Rom Walton ed431ced86 HTMLGFX: Implement a simple authentication scheme.
Using the formal HTTP authentication scheme was too cumbersome and I couldn't pre-fill out that information as part of the request.  IE11 emulation ignores any credentials as part of the URI.  The web browser control insists on displaying a credentials dialog when challenged.

So for now, look for a 'secret' header which just contains a thread identifier.

Authentication is skipped if the app was started with the --debug command line argument.  You'll be able to attach and debug your HTML application via the port number written in the Window title.
2014-12-30 23:20:48 -05:00
Rom Walton 2f3a8cb3ec HTMLGFX: Fix a bunch of potential cross-site scripting issues.
* Implement a mini HTTP server to service file requests from the slot
directory.  Have the browser control download the file(s) via the
HTTP protocol instead of the FILE protocol.

TODO: Lock down the authentication mechanism so that it is reasonably
protected even though it is only bound to the loopback adapter.

* Configure the browser emulation level for the executable to
Internet Explorer 11.
2014-12-30 18:03:12 -05:00
Rom Walton c47052fa92 HTMLGFX: parse a boinc_graphics.xml file for a list of optional urls the htmlgfx can use for various states (running, suspended, network suspended, exiting).
HTMLGFX: look for and use various vboxwrapper state files for extracting the remote desktop port number and the webapi port number.
2014-12-27 01:25:10 -05:00
Rom Walton 24c5e2bdff HTMLGFX: Add some more infrastructure for passing APP_INIT_DATA stuff to the HTML web page via the DOM. 2014-12-24 20:30:19 -05:00
Rom Walton 58c5dd9676 HTMLGFX: Reintroduce the HTML DOM Extension, embed the typelib in the executable.
Force the COM libraries to look within the executable instead of going out to the registry for the typelib information.
2014-12-24 14:01:35 -05:00
Rom Walton 0c717ac635 VBOX: Decoupled the HTML Graphics application from vboxwrapper. 2014-12-23 16:54:03 -05:00