anchor.diff:  webkit-web-context is used.
   
   If ephemeral-p is set, the buffer is a nosave-buffer, or the current
  -data-protife is a nosave-data-profile, then an ephemeral context is used, with
  +`protife' is a `nosave-profile', then an ephemeral context is used, with
   the same naming rules as above."
     (let ((internal-p (or (not buffer)
                           (internal-buffer-p buffer)))
           (ephemeral-p (or ephemeral-p
  -                         (typep (current-data-profile) 'nosave-data-profile)
  +                         (typep (current-profile) 'nosave-profile)
                            (typep buffer 'nosave-buffer))))
       (make-instance (if ephemeral-p
                          'webkit-web-view-ephemeral
  
positive.code:   (unless *run-from-repl-p*
      (gtk:leave-gtk-main)))
  
  (define-class data-manager-data-path (data-path)
    ((context-name (error "Context name required."))
     (dirname (uiop:native-namestring (uiop:xdg-data-home +data-root+)))
     (ref "web-context"))
    (:export-class-name-p t)
    (:accessor-name-transformer (class*:make-name-transformer name)))
  
  (defmethod expand-data-path ((profile nosave-data-profile) (path data-manager-data-path))
    "We shouldn't store any `data-manager' data for `nosave-data-profile'."
    nil)
  
  (defmethod expand-data-path ((profile data-profile) (path data-manager-data-path))
    (expand-default-path
     path
     :root (uiop:strcat (uiop:native-namestring (dirname path))
                        (uiop:directory-separator-for-host)
                        (str:concat (context-name path) "-web-context"))))
  
  (define-class data-manager-cache-path (data-manager-data-path)
    ((dirname (uiop:xdg-cache-home +data-root+)))
    (:export-class-name-p t)
    (:accessor-name-transformer (class*:make-name-transformer name)))
  
  (define-class gtk-extensions-data-path (data-manager-data-path)
    ((dirname (uiop:native-namestring (uiop:xdg-data-home +data-root+)))
     (ref :initform "gtk-extensions"))
    (:export-class-name-p t)
    (:accessor-name-transformer (class*:make-name-transformer name)))
  
  (defmethod expand-data-path ((profile nosave-data-profile) (path gtk-extensions-data-path))
    "We shouldn't enable (possibly) user-identifying extensions for `nosave-data-profile'."
    nil)
  
  (defmethod expand-data-path ((profile data-profile) (path gtk-extensions-data-path))
    "Return finalized path for gtk-extension directory."
    (expand-default-path
     path
     :root (uiop:strcat (uiop:native-namestring (dirname path))
                        (uiop:directory-separator-for-host)
                        (str:concat (context-name path) "-gtk-extensions"))))
  
  (define-class gtk-download (download)
    ((gtk-object)
  
negative.code:                                                         (find buffer extensions :key #'nyxt/web-extensions:popup-buffer))))
                                      (list (describe-extension extension :privileged-p t)))
                                    (mapcar #'describe-extension extensions)))))))))))
          (maphash
           (lambda (scheme scheme-object)
             (webkit:webkit-web-context-register-uri-scheme-callback
              context scheme
              (lambda (request)
                (funcall* (callback scheme-object)
                          (webkit:webkit-uri-scheme-request-get-uri request)
                          buffer))
              (or (error-callback scheme-object)
                  (lambda (condition)
                    (echo-warning "Error while routing ~s resource: ~a" scheme condition))))
             ;; We err on the side of caution, assigning the most restrictive policy
             ;; out of those provided. Should it be the other way around?
             (let ((manager (webkit:webkit-web-context-get-security-manager context)))
               (cond
                 ((local-p scheme-object)
                  (webkit:webkit-security-manager-register-uri-scheme-as-local
                   manager scheme))
                 ((no-access-p scheme-object)
                  (webkit:webkit-security-manager-register-uri-scheme-as-no-access
                   manager scheme))
                 ((display-isolated-p scheme-object)
                  (webkit:webkit-security-manager-register-uri-scheme-as-display-isolated
                   manager scheme))
                 ((secure-p scheme-object)
                  (webkit:webkit-security-manager-register-uri-scheme-as-secure
                   manager scheme))
                 ((cors-enabled-p scheme-object)
                  (webkit:webkit-security-manager-register-uri-scheme-as-cors-enabled
                   manager scheme))
                 ((empty-document-p scheme-object)
                  (webkit:webkit-security-manager-register-uri-scheme-as-empty-document
                   manager scheme)))))
           nyxt::*schemes*)
          (let ((cookies-path (nfiles:expand (make-instance 'cookies-file :context-name name))))
            (webkit:webkit-cookie-manager-set-persistent-storage
             cookie-manager
             cookies-path
             :webkit-cookie-persistent-storage-text))
          (set-cookie-policy cookie-manager (default-cookie-policy *browser*)))
        (maphash
  