[
  {
    "consts": [
      {
        "name": "CONTENT_TYPE_UNKNOWN",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "CONTENT_TYPE_OTHER",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "CONTENT_TYPE_JAVASCRIPT",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "CONTENT_TYPE_IMAGE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3
      },
      {
        "name": "CONTENT_TYPE_MEDIA",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "CONTENT_TYPE_STYLESHEET",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 5
      },
      {
        "name": "CONTENT_TYPE_WASM",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 6
      },
      {
        "name": "CONTENT_TYPE_DICTIONARY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 7
      },
      {
        "name": "CONTENT_TYPE_LAST",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      },
      {
        "name": "NO_EXPIRATION_TIME",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4294967295
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "key",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "cacheEntryId",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "persistent",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "readyOrRevalidating",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "fetchCount",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "lastFetched",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "lastModified",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "expirationTime",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setExpirationTime",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "onStartTime",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "onStopTime",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setNetworkTimes",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setContentType",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "forceValidFor",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isForcedValid",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "markForcedValidUse",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "openInputStream",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIInputStream",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "openOutputStream",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIOutputStream",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "securityInfo",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsITransportSecurityInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "setter"
        ],
        "name": "securityInfo",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsITransportSecurityInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "storageDataSize",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "asyncDoom",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsICacheEntryDoomCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getMetaDataElement",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_PSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setMetaDataElement",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isEmpty",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "visitMetaData",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsICacheEntryMetaDataVisitor",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "metaDataReady",
        "params": []
      },
      {
        "flags": [],
        "name": "setValid",
        "params": []
      },
      {
        "flags": [],
        "name": "dismiss",
        "params": []
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "diskStorageSizeInKB",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "recreate",
        "params": [
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsICacheEntry",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "dataSize",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "altDataSize",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "altDataType",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "openAlternativeOutputStream",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIAsyncOutputStream",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "openAlternativeInputStream",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIInputStream",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "loadContextInfo",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsILoadContextInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden"
        ],
        "name": "SetDictionary",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setBypassWriterLock",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsICacheEntry",
    "needs_scriptable": [
      "nsIAsyncOutputStream",
      "nsICacheEntryDoomCallback",
      "nsIInputStream",
      "nsILoadContextInfo",
      "nsIOutputStream",
      "nsITransportSecurityInfo"
    ],
    "parent": "nsISupports",
    "uuid": "607c2a2c-0a48-40b9-a956-8cf2bb9857cf"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "onMetaDataElement",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_PSTRING"
            }
          }
        ]
      }
    ],
    "name": "nsICacheEntryMetaDataVisitor",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "fea3e276-6ba5-4ceb-a581-807d1f43f6d0"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "onCacheEntryDoomed",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsICacheEntryDoomCallback",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "2f8896be-232f-4140-afb3-1faffb56f3c6"
  },
  {
    "consts": [
      {
        "name": "ENTRY_WANTED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "RECHECK_AFTER_WRITE_FINISHED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "ENTRY_NEEDS_REVALIDATION",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "ENTRY_NOT_WANTED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "onCacheEntryCheck",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsICacheEntry",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "onCacheEntryAvailable",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsICacheEntry",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsICacheEntryOpenCallback",
    "needs_scriptable": [
      "nsICacheEntry"
    ],
    "parent": "nsISupports",
    "uuid": "1fc9fe11-c6ac-4748-94bd-8555a5a12b94"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "lock",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UTF8STRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "isOtherInstanceRunning",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "unlock",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getLockFile",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UTF8STRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIFile",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsICachePurgeLock",
    "needs_scriptable": [
      "nsIFile"
    ],
    "parent": "nsISupports",
    "uuid": "8abb21e3-c6a0-4b4d-9333-cc0d72f2c23b"
  },
  {
    "consts": [
      {
        "name": "OPEN_NORMALLY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "OPEN_TRUNCATE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "OPEN_READONLY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "OPEN_PRIORITY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "OPEN_BYPASS_IF_BUSY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      },
      {
        "name": "CHECK_MULTITHREADED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16
      },
      {
        "name": "OPEN_SECRETLY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 32
      },
      {
        "name": "OPEN_INTERCEPTED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 64
      },
      {
        "name": "OPEN_COMPLETE_ONLY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 128
      },
      {
        "name": "OPEN_ALWAYS",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 256
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "asyncOpenURI",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsICacheEntryOpenCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "asyncOpenURIString",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsICacheEntryOpenCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "openTruncate",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsICacheEntry",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "exists",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getCacheIndexEntryAttrs",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "asyncDoomURI",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsICacheEntryDoomCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "asyncEvictStorage",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsICacheEntryDoomCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "asyncVisitStorage",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsICacheStorageVisitor",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsICacheStorage",
    "needs_scriptable": [
      "nsICacheEntry",
      "nsICacheEntryDoomCallback",
      "nsICacheEntryOpenCallback",
      "nsICacheStorageVisitor",
      "nsIURI"
    ],
    "parent": "nsISupports",
    "uuid": "35d104a6-d252-4fd4-8a56-3c14657cad3b"
  },
  {
    "consts": [
      {
        "name": "PURGE_DISK_DATA_ONLY",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "PURGE_DISK_ALL",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "PURGE_EVERYTHING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "memoryCacheStorage",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContextInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsICacheStorage",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "diskCacheStorage",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContextInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsICacheStorage",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "pinningCacheStorage",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContextInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsICacheStorage",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "clearOriginsByPrincipal",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "clearBaseDomain",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "clearOriginsByOriginAttributes",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "clear",
        "params": []
      },
      {
        "flags": [],
        "name": "clearOriginDictionary",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "clearAllOriginDictionaries",
        "params": []
      },
      {
        "flags": [],
        "name": "purgeFromMemory",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "ioTarget",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIEventTarget",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "asyncGetDiskConsumption",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsICacheStorageConsumptionObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "asyncVisitAllStorages",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsICacheStorageVisitor",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsICacheStorageService",
    "needs_scriptable": [
      "nsICacheStorage",
      "nsICacheStorageVisitor",
      "nsIEventTarget",
      "nsILoadContextInfo",
      "nsIPrincipal",
      "nsIURI"
    ],
    "parent": "nsISupports",
    "uuid": "ae29c44b-fbc3-4552-afaf-0a157ce771e7"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "onNetworkCacheDiskConsumption",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          }
        ]
      }
    ],
    "name": "nsICacheStorageConsumptionObserver",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "7728ab5b-4c01-4483-a606-32bf5b8136cb"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "onCacheStorageInfo",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIFile",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "onCacheEntryInfo",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsILoadContextInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "onCacheEntryVisitCompleted",
        "params": []
      }
    ],
    "name": "nsICacheStorageVisitor",
    "needs_scriptable": [
      "nsIFile",
      "nsILoadContextInfo",
      "nsIURI"
    ],
    "parent": "nsISupports",
    "uuid": "6cc7c253-93b6-482b-8e9d-1e04d8e9d655"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [],
        "name": "suspendCacheIOThread",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "resumeCacheIOThread",
        "params": []
      },
      {
        "flags": [],
        "name": "flush",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "shutdownCacheForTesting",
        "params": []
      },
      {
        "flags": [],
        "name": "startupCacheForTesting",
        "params": []
      },
      {
        "flags": [],
        "name": "clearDictionaryCacheMemory",
        "params": []
      },
      {
        "flags": [
          "jscontext"
        ],
        "name": "corruptDictionaryHash",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      },
      {
        "flags": [
          "jscontext"
        ],
        "name": "clearDictionaryDataForTesting",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_JSVAL"
            }
          }
        ]
      }
    ],
    "name": "nsICacheTesting",
    "needs_scriptable": [
      "nsIObserver"
    ],
    "parent": "nsISupports",
    "uuid": "4e8ba935-92e1-4a74-944b-b1a2f02a7480"
  }
]