[
  {
    "consts": [
      {
        "name": "PERSIST_FLAGS_NONE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "PERSIST_FLAGS_FROM_CACHE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "PERSIST_FLAGS_BYPASS_CACHE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "PERSIST_FLAGS_IGNORE_REDIRECTED_DATA",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "PERSIST_FLAGS_IGNORE_IFRAMES",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      },
      {
        "name": "PERSIST_FLAGS_NO_CONVERSION",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16
      },
      {
        "name": "PERSIST_FLAGS_REPLACE_EXISTING_FILES",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 32
      },
      {
        "name": "PERSIST_FLAGS_NO_BASE_TAG_MODIFICATIONS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 64
      },
      {
        "name": "PERSIST_FLAGS_FIXUP_ORIGINAL_DOM",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 128
      },
      {
        "name": "PERSIST_FLAGS_FIXUP_LINKS_TO_DESTINATION",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 256
      },
      {
        "name": "PERSIST_FLAGS_DONT_FIXUP_LINKS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 512
      },
      {
        "name": "PERSIST_FLAGS_SERIALIZE_OUTPUT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1024
      },
      {
        "name": "PERSIST_FLAGS_DONT_CHANGE_FILENAMES",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2048
      },
      {
        "name": "PERSIST_FLAGS_FAIL_ON_BROKEN_LINKS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4096
      },
      {
        "name": "PERSIST_FLAGS_CLEANUP_ON_FAILURE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8192
      },
      {
        "name": "PERSIST_FLAGS_AUTODETECT_APPLY_CONVERSION",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16384
      },
      {
        "name": "PERSIST_FLAGS_APPEND_TO_FILE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 32768
      },
      {
        "name": "PERSIST_FLAGS_DISABLE_HTTPS_ONLY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 65536
      },
      {
        "name": "PERSIST_STATE_READY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "PERSIST_STATE_SAVING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "PERSIST_STATE_FINISHED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3
      },
      {
        "name": "ENCODE_FLAGS_SELECTION_ONLY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "ENCODE_FLAGS_FORMATTED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "ENCODE_FLAGS_RAW",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "ENCODE_FLAGS_BODY_ONLY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      },
      {
        "name": "ENCODE_FLAGS_PREFORMATTED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16
      },
      {
        "name": "ENCODE_FLAGS_WRAP",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 32
      },
      {
        "name": "ENCODE_FLAGS_FORMAT_FLOWED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 64
      },
      {
        "name": "ENCODE_FLAGS_ABSOLUTE_LINKS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 128
      },
      {
        "name": "ENCODE_FLAGS_CR_LINEBREAKS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 512
      },
      {
        "name": "ENCODE_FLAGS_LF_LINEBREAKS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1024
      },
      {
        "name": "ENCODE_FLAGS_NOSCRIPT_CONTENT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2048
      },
      {
        "name": "ENCODE_FLAGS_NOFRAMES_CONTENT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4096
      },
      {
        "name": "ENCODE_FLAGS_ENCODE_BASIC_ENTITIES",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8192
      },
      {
        "name": "ENCODE_FLAGS_DISALLOW_LINE_BREAKING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16384
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "persistFlags",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "persistFlags",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "currentState",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "result",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "progressListener",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIWebProgressListener",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "progressListener",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIWebProgressListener",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "saveURI",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIReferrerInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsICookieJarSettings",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIInputStream",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsISupports",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "saveChannel",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIChannel",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsISupports",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "saveDocument",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsISupports",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsISupports",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsISupports",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "cancelSave",
        "params": []
      }
    ],
    "name": "nsIWebBrowserPersist",
    "needs_scriptable": [
      "nsIChannel",
      "nsICookieJarSettings",
      "nsIInputStream",
      "nsIPrincipal",
      "nsIReferrerInfo",
      "nsIURI",
      "nsIWebProgressListener"
    ],
    "parent": "nsICancelable",
    "uuid": "8cd752a4-60b1-42c3-a819-65c7a1138a28"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "numMappedURIs",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getURIMapping",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UTF8STRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UTF8STRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "targetBaseURI",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UTF8STRING"
            }
          }
        ]
      }
    ],
    "name": "nsIWebBrowserPersistURIMap",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "d52e8b93-2771-45e8-a5b0-6e12b667046b"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isClosed",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "close",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isPrivate",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "documentURI",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UTF8STRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "baseURI",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UTF8STRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "contentType",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "characterSet",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "title",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "referrerInfo",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIReferrerInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "cookieJarSettings",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsICookieJarSettings",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "contentDisposition",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "postData",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIInputStream",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "principal",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "cacheKey",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "persistFlags",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "persistFlags",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "readResources",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIWebBrowserPersistResourceVisitor",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "writeContent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIOutputStream",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIWebBrowserPersistURIMap",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIWebBrowserPersistWriteCompletion",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIWebBrowserPersistDocument",
    "needs_scriptable": [
      "nsICookieJarSettings",
      "nsIInputStream",
      "nsIOutputStream",
      "nsIPrincipal",
      "nsIReferrerInfo"
    ],
    "parent": "nsISupports",
    "uuid": "74aa4918-5d15-46b6-9ccf-74f9696d721d"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "visitResource",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIWebBrowserPersistDocument",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UTF8STRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "visitDocument",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIWebBrowserPersistDocument",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIWebBrowserPersistDocument",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "visitBrowsingContext",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIWebBrowserPersistDocument",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "headerFile": "mozilla/dom/BrowsingContext.h",
              "name": "BrowsingContext",
              "native": "mozilla::dom::BrowsingContext",
              "tag": "TD_DOMOBJECT"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "endVisit",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIWebBrowserPersistDocument",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsIWebBrowserPersistResourceVisitor",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "8ce37706-b7d3-481a-be68-54f174fc0d0a"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [],
        "name": "onFinish",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIWebBrowserPersistDocument",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIOutputStream",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsIWebBrowserPersistWriteCompletion",
    "needs_scriptable": [
      "nsIOutputStream"
    ],
    "parent": "nsISupports",
    "uuid": "a07e6892-38ae-4207-8340-7fa6ec446ed6"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "onDocumentReady",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIWebBrowserPersistDocument",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "onError",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsIWebBrowserPersistDocumentReceiver",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "321e3174-594f-4036-b7be-791b821bd376"
  }
]