1. 03 Aug, 2010 1 commit
  2. 02 Aug, 2010 2 commits
    • Joel Martin's avatar
      New API. Refactor Canvas and RFB objects. · 8db09746
      Joel Martin authored
      New API:
      
      To use the RFB object, you now must instantiate it (this allows more
      than one instance of it on the same page).
      
          rfb = new RFB(settings);
      
      The 'settings' variable is a namespace that contains initial default
      settings. These can also be set and read using 'rfb.set_FOO()' and
      'rfb.get_FOO()' where FOO is the setting name. The current settings
      are (and defaults) are:
          - target: the DOM Canvas element to use ('VNC_canvas').
          - encrypt: whether to encrypt the connection (false)
          - true_color: true_color or palette (true)
          - b64encode: base64 encode the WebSockets data (true)
          - local_cursor: use local cursor rendering (true if supported)
          - connectTimeout: milliseconds to wait for connect (2000)
          - updateState: callback when RFB state changes (none)
          - clipboardReceive: callback when clipboard data received (none)
      
      The parameters to the updateState callback have also changed. The
      function spec is now updateState(rfb, state, oldstate, msg):
          - rfb: the RFB object that this state change is for.
          - state: the new state
          - oldstate: the previous state
          - msg: a message associate with the state (not always set).
      
      The clipboardReceive spec is clipboardReceive(rfb, text):
          - rfb: the RFB object that this text is from.
          - text: the clipboard text received.
      
      Changes:
      
      - The RFB and Canvas namespaces are now more proper objects. Private
        implementation is no longer exposed and the public API has been made
        explicit. Also, instantiation allows more than one VNC connection
        on the same page (to complete this, DefaultControls will also need
        this same refactoring).
      
      - Added 'none' logging level.
      
      - Removed automatic stylesheet selection workaround in util.js and
        move it to defaultcontrols so that it doesn't interfere with
        intergration.
      
      - Also, some major JSLinting.
      
      - Fix input, canvas, and cursor tests to work with new model.
      8db09746
    • Joel Martin's avatar
      Catch exceptions in cursor detection. · 8171f4d8
      Joel Martin authored
      If cursor Data URI scheme detection threw an exception, it would cause
      canvas initialization to fail. cursor detection exceptions should just
      disable local cursor change support, not cause canvas init to fail.
      8171f4d8
  3. 30 Jul, 2010 1 commit
    • Joel Martin's avatar
      Preliminary scaling code (deactivated). · 125d8bbb
      Joel Martin authored
      Uses the CSS "scale()" operation. The main problem is that the DOM
      container is not rescaled, only the size of the displayed content
      within it so there will need to be some sort of mechanism to handle
      this better so other elements reflow to the new size. Or it might just
      not work and be removed later. The zoom property seems to do the right
      behavior, but it's not widely supported. Worth exploring though.
      125d8bbb
  4. 29 Jul, 2010 2 commits
    • Joel Martin's avatar
      Give other events chance to fire. · 29ad96c5
      Joel Martin authored
      After each complete framebufferUpdate, set a short timer to continue
      processing the receive queue. This gives other events a chance to
      fire. Especially important when noVNC is integrated into another
      website.
      29ad96c5
    • Joel Martin's avatar
      Update TODO. · a867de16
      Joel Martin authored
      a867de16
  5. 26 Jul, 2010 1 commit
  6. 23 Jul, 2010 4 commits
  7. 22 Jul, 2010 6 commits
  8. 20 Jul, 2010 2 commits
    • Joel Martin's avatar
      Fail if initial server connection fails. · f55b6b41
      Joel Martin authored
      f55b6b41
    • Joel Martin's avatar
      Add Cursor pseudo-encoding support (disabled for now). · 2c2b492c
      Joel Martin authored
      To change the appearance of the cursor, we use the CSS cursor style
      and set the url to a data URI scheme. The image data sent via the
      cursor pseudo-encoding has to be encoded to a CUR format file before
      being used in the data URI.
      
      During Canvas initialization we try and set a simple cursor to see if
      the browser has support. Opera is missing support for data URI scheme
      in cursor URLs.
      
      Disabled for now until we have a better way of specifying settings
      overall (too many settings for control bar now).
      2c2b492c
  9. 17 Jul, 2010 2 commits
    • Joel Martin's avatar
      Fix listen_port check. · 1656b1b9
      Joel Martin authored
      Interestingly, the bug depends on compiler behavior. If local
      variables are automatically initialized to 0, then this always caused
      the program to error out indicating a failure to parse the listen
      port. Otherwise, the test was a no-op (except the rare case where the
      memory happened to be zero anyways).
      
      Thanks to Eugen Melnikoff for finding this.
      1656b1b9
    • Joel Martin's avatar
      Issue #11: daemonize after opening listen port. · 31407abc
      Joel Martin authored
      The listen port should be opened before daemonizing otherwise if
      opening the port fails, the user will get no feedback. The only
      complication was that the listen socket needs to not be closed as part
      of daemonizing.
      
      Thanks to http://github.com/rickr for finding it.
      31407abc
  10. 16 Jul, 2010 5 commits
  11. 15 Jul, 2010 1 commit
  12. 14 Jul, 2010 1 commit
  13. 13 Jul, 2010 2 commits
    • Joel Martin's avatar
      Add native base64 test (atob and btoa). · d798572d
      Joel Martin authored
      Interestingly it turns out that using the native base64 routines does
      not improve performance. Likely because the actual time is in
      marshalling/unmarshalling between strings and arrays (and associated
      garbage collection overhead) which has to be done either way.
      d798572d
    • Joel Martin's avatar
      TightPng fixups and thanks to Sentry Data Systems. · 77c7a454
      Joel Martin authored
      - Change tightpng encoding number to -260 (aliguori provided it until
        an official number can be allocated).
      77c7a454
  14. 09 Jul, 2010 4 commits
  15. 07 Jul, 2010 3 commits
  16. 06 Jul, 2010 3 commits
    • Joel Martin's avatar
      Add troubleshooting section. · a095b382
      Joel Martin authored
      a095b382
    • Joel Martin's avatar
      Remove unneeded mootools and FABridge test. · 447cd4ad
      Joel Martin authored
      mootools is no longer needed. The bug that the FABridge test was
      testing has been resolved in web-socket-js so it's no longer needed.
      447cd4ad
    • Joel Martin's avatar
      Refactor console logging code. · 81e5adaf
      Joel Martin authored
      Util.Debug, Util.Info, Util.Warn, Util.Error routines instead of
      direct calls to console.*. Add "logging=XXX" query variable that sets
      the logging level (default is "warn").
      
      Logging values:
          debug: code debug logging (many calls in performance path are also
                 commented for performance reasons).
          info: informative messages including timing information.
          warn: significant events
          error: something has gone wrong
      81e5adaf