anchor.diff:    (gtk:gtk-container-remove (box-layout window) (gtk-object (active-buffer window)))
     (window-delete window))
   
  -(serapeum:export-always 'ffi-window-delete)
   (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)))
  
positive.code:         ((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)))
  
negative.code:   (setf (active-buffer window) buffer)
    buffer)
  
  (defmethod ffi-window-set-minibuffer-height ((window gtk-window) height)
    (setf (gtk:gtk-widget-size-request (minibuffer-container window))
          (list -1 height)))
  
  (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)))))
  
  (defmethod ffi-buffer-delete ((buffer gtk-buffer))
    (gtk:gtk-widget-destroy (gtk-object buffer)))
  
  (defmethod ffi-buffer-load ((buffer gtk-buffer) uri)
    (webkit:webkit-web-view-load-uri (gtk-object buffer) uri))
  
  (defmethod ffi-buffer-evaluate-javascript ((buffer gtk-buffer) javascript &key callback)
    (webkit2:webkit-web-view-evaluate-javascript (gtk-object buffer) javascript callback))
  
  (defmethod ffi-minibuffer-evaluate-javascript ((window gtk-window) javascript &key callback)
    (webkit2:webkit-web-view-evaluate-javascript (minibuffer-view window) javascript callback))
  
  (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))
  
  (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))
  
  (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.
  