anchor.diff:          ((webkit:webkit-hit-test-result-media-uri hit-test-result)
            (push-url-at-point buffer (webkit:webkit-hit-test-result-media-uri hit-test-result)))))
   
  -(serapeum:export-always 'ffi-window-make)
   (defmethod ffi-window-make ((browser gtk-browser))
     "Make a window."
     (make-instance *window-class*))
   
  -(serapeum:export-always 'ffi-window-to-foreground)
   (defmethod ffi-window-to-foreground ((window gtk-window))
     "Show window in foreground."
     (gtk:gtk-window-present (gtk-object window))
     (setf (slot-value *browser* 'last-active-window) window))
   
  -(serapeum:export-always 'ffi-window-set-title)
   (defmethod ffi-window-set-title ((window gtk-window) title)
     "Set the title for a window."
     (setf (gtk:gtk-window-title (gtk-object window)) title))
   
  -(serapeum:export-always 'ffi-window-active)
   (defmethod ffi-window-active ((browser gtk-browser))
     "Return the window object for the currently active window."
     (setf (slot-value browser 'last-active-window)
           (or (find-if #'gtk:gtk-window-is-active (window-list) :key #'gtk-object)
               (slot-value browser 'last-active-window))))
   
  -(serapeum:export-always 'ffi-window-set-active-buffer)
   (defmethod ffi-window-set-active-buffer ((window gtk-window) (buffer gtk-buffer))
     "Set BROWSER's WINDOW buffer to BUFFER. "
     (gtk:gtk-container-remove (box-layout window) (gtk-object (active-buffer window)))
  
positive.code:   (setf (active-buffer window) buffer)
    buffer)
  
  (serapeum:export-always 'ffi-window-set-minibuffer-height)
  (defmethod ffi-window-set-minibuffer-height ((window gtk-window) height)
    (setf (gtk:gtk-widget-size-request (minibuffer-container window))
          (list -1 height)))
  
  (serapeum:export-always 'ffi-buffer-make)
  (defmethod ffi-buffer-make ((browser gtk-browser) &key title default-modes)
    "Make buffer with title TITLE and modes DEFAULT-MODES."
    (apply #'make-instance *buffer-class*
           (append (when title `(:title ,title))
                   (when default-modes `(:default-modes ,default-modes)))))
  
  (serapeum:export-always 'ffi-buffer-delete)
  (defmethod ffi-buffer-delete ((buffer gtk-buffer))
    (gtk:gtk-widget-destroy (gtk-object buffer)))
  
  (serapeum:export-always 'ffi-buffer-load)
  (defmethod ffi-buffer-load ((buffer gtk-buffer) uri)
    (webkit:webkit-web-view-load-uri (gtk-object buffer) uri))
  
  (serapeum:export-always 'ffi-buffer-evaluate-javascript)
  (defmethod ffi-buffer-evaluate-javascript ((buffer gtk-buffer) javascript &key callback)
    (webkit2:webkit-web-view-evaluate-javascript (gtk-object buffer) javascript callback))
  
  (serapeum:export-always 'ffi-minibuffer-evaluate-javascript)
  (defmethod ffi-minibuffer-evaluate-javascript ((window gtk-window) javascript &key callback)
    (webkit2:webkit-web-view-evaluate-javascript (minibuffer-view window) javascript callback))
  
  (serapeum:export-always 'ffi-buffer-enable-javascript)
  (defmethod ffi-buffer-enable-javascript ((buffer gtk-buffer) value)
    (setf (webkit:webkit-settings-enable-javascript
           (webkit:webkit-web-view-get-settings (gtk-object buffer)))
          value))
  
  (serapeum:export-always 'ffi-buffer-enable-javascript-markup)
  (defmethod ffi-buffer-enable-javascript-markup ((buffer gtk-buffer) value)
    (setf (webkit:webkit-settings-enable-javascript-markup
           (webkit:webkit-web-view-get-settings (gtk-object buffer)))
          value))
  
  (serapeum:export-always 'ffi-buffer-set-proxy)
  (defmethod ffi-buffer-set-proxy ((buffer gtk-buffer) &optional proxy-uri (ignore-hosts (list nil)))
    "Redirect network connections of BUFFER to proxy server PROXY-URI.
     Hosts in IGNORE-HOSTS (a list of strings) ignore the proxy.
  
negative.code:   (gtk:gtk-container-remove (box-layout window) (gtk-object (active-buffer window)))
    (window-delete window))
  
  (defmethod ffi-window-delete ((window gtk-window))
    "Delete a window object and remove it from the hash of windows."
    (gtk:gtk-widget-destroy (gtk-object window)))
  