anchor.diff:                   (loop for name in (handler-names mode)
                          for hook in (list (buffer-loaded-hook (buffer mode)))
                          do (hooks:remove-hook hook name))
  -                 ;; Destroy the view then there are no more instances of this extension.
  +                 ;; Destroy the view when there are no more instances of this extension.
                    (when (null (sera:filter (alex:rcurry #'typep (type-of mode))
                                             (alex:mappend #'modes (buffer-list))))
  -                   (ffi-extension-delete-background-view mode))))
  +                   (nyxt::buffer-delete (background-buffer mode)))))
      (constructor (lambda (mode)
                     (let ((content-script-name (gensym)))
                       (hooks:add-hook (buffer-loaded-hook (buffer mode))
                                       (make-activate-content-scripts-handler mode content-script-name))
                       (push content-script-name (handler-names mode))
  -                    (ffi-extension-make-background-view mode))))))
  +                    (unless (background-buffer mode)
  +                      ;; Need to set it to something to not trigger this in other instances.
  +                      (setf (background-buffer mode) t)
  +                      (setf (background-buffer mode) (make-background-buffer))))))))
   
   (export-always 'has-permission-p)
   (defmethod has-permission-p ((extension extension) (permission string))
  
positive.code:           (manifest ,manifest-text)
            (id (or (symbol-name (gensym ,(alex:assoc-value json :name))))
                :allocation :class)
            (background-view nil
                             :allocation :class)
            (description ,(alex:assoc-value json :description))
            (extension-directory ,directory)
            (homepage-url ,(alex:assoc-value json :homepage--url))
  
negative.code:        :type (or null string)
         :documentation "A unique ID of the extension.
  Is shared between all the instances of the same extension.")
     (background-buffer nil
                        :documentation "The buffer to host background page of the extension in.
  Is shared between all the instances of the same extension.")
     (description nil
                  :type (or null string))
  