MHTML is a standard format supported by most browsers. It encapsulates in a single file a page and all its resources (CSS files, images..).

Note that for security reasons a MHTML file can only be loaded from the file system and that it can only be loaded in the main frame.

Manifest

You must declare the "pageCapture" permission in the extension manifest to use the pageCapture API. For example:

{
  "name": "My extension",
  ...
  "permissions": [
    "pageCapture"
  ],
  ...
}