anchor.diff:    (%within-renderer-thread-async
      (lambda ()
        (with-slots (gtk-object) buffer
  -       (setf gtk-object (make-web-view :buffer buffer))
  +       (setf gtk-object (make-web-view (profile buffer) buffer))
          (connect-signal-function
           buffer "decide-policy"
           (make-decide-policy-handler buffer))))))
  
positive.code: (define-ffi-method ffi-buffer-make ((buffer gtk-buffer))
    "Initialize BUFFER's GTK web view."
    (unless (gtk-object buffer) ; Buffer may already have a view, e.g. the prompt-buffer.
      (setf (gtk-object buffer) (make-web-view :buffer buffer)))
    (when (navigable-buffer-p buffer)
      (if (smooth-scrolling buffer)
          (ffi-buffer-enable-smooth-scrolling buffer t)
  
negative.code:     (error 'nyxt-web-context-condition :context web-context
                                         :message "Tried to make an ephemeral web-view in a non-ephemeral context")))
  
  (defmethod make-web-view ((profile nyxt-profile) (buffer t))
    "Return an ephemeral web view instance for basic buffers."
    (declare (ignorable profile buffer))
    (make-instance 'webkit-web-view-ephemeral
                   :web-context (get-context *browser* +internal+
                                             :ephemeral-p t)))
  
  (defmethod make-web-view ((profile nyxt-profile) (buffer focusable-buffer))
    "Return a regular web view instance for buffers with context."
    (declare (ignorable profile))
    (make-instance 'webkit:webkit-web-view
                   :web-context (get-context *browser* (context-name buffer)
                                             :ephemeral-p nil)))
  
  (defmethod make-web-view ((profile nyxt-profile) (buffer nosave-buffer))
    "Return an ephemeral web view instance for nosave buffers."
    (declare (ignorable profile))
    (make-instance 'webkit-web-view-ephemeral
                   :web-context (get-context *browser* (context-name buffer)
                                             :ephemeral-p t)))
  
  (defmethod make-web-view ((profile nosave-profile) (buffer buffer))
    "Return an ephemeral web view instance for nosave profiles."
    (declare (ignorable profile))
    (make-instance 'webkit-web-view-ephemeral
                   :web-context (get-context *browser* (context-name buffer)
                                             :ephemeral-p t)))
  
  (defun make-decide-policy-handler (buffer)
    (lambda (web-view response-policy-decision policy-decision-type-response)
  