[
  {
    "consts": [
      {
        "name": "TRACKING_PROTECTION",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 0
      },
      {
        "name": "SOCIAL_TRACKING_PROTECTION",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "FINGERPRINTING_PROTECTION",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "CRYPTOMINING_PROTECTION",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "reason",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "tables",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "url",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "tabId",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "channelId",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isPrivateBrowsing",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "topLevelUrl",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_ASTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "browserId",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "channel",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIChannel",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "replace",
        "params": []
      },
      {
        "flags": [],
        "name": "allow",
        "params": []
      }
    ],
    "name": "nsIUrlClassifierBlockedChannel",
    "needs_scriptable": [
      "nsIChannel"
    ],
    "parent": "nsISupports",
    "uuid": "9b0353a7-ab46-4914-9178-2215ee221e4e"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "addListener",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "removeListener",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIChannelClassifierService",
    "needs_scriptable": [
      "nsIObserver"
    ],
    "parent": "nsISupports",
    "uuid": "9411409c-5dac-40b9-ba36-2738a7237a4c"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [],
        "name": "onClassifyComplete",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      }
    ],
    "name": "nsIURIClassifierCallback",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "8face46e-0c96-470f-af40-0037dcd797bd"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "classify",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURIClassifierCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "asyncClassifyLocalWithFeatures",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "name": "nsIUrlClassifierFeature",
                "tag": "TD_INTERFACE_TYPE"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierFeatureCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in",
              "optional"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "asyncClassifyLocalWithFeatureNames",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierFeatureCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getFeatureByName",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIUrlClassifierFeature",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getFeatureNames",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "createFeatureWithTables",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIUrlClassifierFeature",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "sendThreatHitReport",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIChannel",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      }
    ],
    "name": "nsIURIClassifier",
    "needs_scriptable": [
      "nsIChannel",
      "nsIPrincipal"
    ],
    "parent": "nsISupports",
    "uuid": "596620cc-76e3-4133-9d90-360e59a794cf"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "init",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "addEntry",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierExceptionListEntry",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "matches",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "testGetEntries",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "element": {
                "name": "nsIUrlClassifierExceptionListEntry",
                "tag": "TD_INTERFACE_TYPE"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierExceptionList",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "807535bf-018e-4300-b8d3-4a6405fb9f65"
  },
  {
    "consts": [
      {
        "name": "CATEGORY_INTERNAL_PREF",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 0
      },
      {
        "name": "CATEGORY_BASELINE",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 1
      },
      {
        "name": "CATEGORY_CONVENIENCE",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 2
      }
    ],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "init",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "matches",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "category",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "urlPattern",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "topLevelUrlPattern",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "isPrivateBrowsingOnly",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "filterContentBlockingCategories",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "classifierFeatures",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden",
          "hasretval"
        ],
        "name": "describe",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierExceptionListEntry",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "8753a413-3ed6-4a61-a1dc-b31a7e69b796"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [],
        "name": "onExceptionListUpdate",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierExceptionList",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierExceptionListObserver",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "f7c918e5-94bf-4b6e-9758-ef7bdab6af7e"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "registerAndRunExceptionListObserver",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierExceptionListObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "unregisterExceptionListObserver",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierExceptionListObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "clear",
        "params": []
      },
      {
        "flags": [],
        "name": "maybeMigrateCategoryPrefs",
        "params": []
      }
    ],
    "name": "nsIUrlClassifierExceptionListService",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "75c3d1a3-e977-4079-9e27-b3b56bdb76ea"
  },
  {
    "consts": [
      {
        "name": "blocklist",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 0
      },
      {
        "name": "entitylist",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 1
      },
      {
        "name": "blocklistURI",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 0
      },
      {
        "name": "entitylistURI",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 1
      },
      {
        "name": "pairwiseEntitylistURI",
        "type": {
          "tag": "TD_UINT8"
        },
        "value": 2
      }
    ],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "name",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden",
          "hasretval"
        ],
        "name": "getTables",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden",
          "hasretval"
        ],
        "name": "hasTable",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden",
          "hasretval"
        ],
        "name": "hasHostInPreferences",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "exceptionList",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIUrlClassifierExceptionList",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden",
          "hasretval"
        ],
        "name": "processChannel",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIChannel",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_VOID"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hidden",
          "hasretval"
        ],
        "name": "getURIByListType",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIChannel",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT8"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierFeature",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "a6c9b24e-b4f1-426e-af58-2c976c3943a8"
  },
  {
    "consts": [],
    "flags": [
      "builtinclass"
    ],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "uri",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "feature",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIUrlClassifierFeature",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "list",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierFeatureResult",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "ccb88140-5d66-4873-9815-a1b98d6cdc92"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [],
        "name": "onClassifyComplete",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "name": "nsIUrlClassifierFeatureResult",
                "tag": "TD_INTERFACE_TYPE"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierFeatureCallback",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "2ea83c26-dfc9-44ed-9cfc-171d4753d78e"
  },
  {
    "consts": [
      {
        "name": "WARNING_MALWARE_PAGE_TOP",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 1
      },
      {
        "name": "WARNING_MALWARE_PAGE_TOP_WHY_BLOCKED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 2
      },
      {
        "name": "WARNING_MALWARE_PAGE_TOP_GET_ME_OUT_OF_HERE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 3
      },
      {
        "name": "WARNING_MALWARE_PAGE_TOP_IGNORE_WARNING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 4
      },
      {
        "name": "WARNING_MALWARE_PAGE_FRAME",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 5
      },
      {
        "name": "WARNING_MALWARE_PAGE_FRAME_WHY_BLOCKED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 6
      },
      {
        "name": "WARNING_MALWARE_PAGE_FRAME_GET_ME_OUT_OF_HERE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 7
      },
      {
        "name": "WARNING_MALWARE_PAGE_FRAME_IGNORE_WARNING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 8
      },
      {
        "name": "WARNING_PHISHING_PAGE_TOP",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 9
      },
      {
        "name": "WARNING_PHISHING_PAGE_TOP_WHY_BLOCKED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 10
      },
      {
        "name": "WARNING_PHISHING_PAGE_TOP_GET_ME_OUT_OF_HERE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 11
      },
      {
        "name": "WARNING_PHISHING_PAGE_TOP_IGNORE_WARNING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 12
      },
      {
        "name": "WARNING_PHISHING_PAGE_FRAME",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 13
      },
      {
        "name": "WARNING_PHISHING_PAGE_FRAME_WHY_BLOCKED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 14
      },
      {
        "name": "WARNING_PHISHING_PAGE_FRAME_GET_ME_OUT_OF_HERE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 15
      },
      {
        "name": "WARNING_PHISHING_PAGE_FRAME_IGNORE_WARNING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 16
      },
      {
        "name": "WARNING_UNWANTED_PAGE_TOP",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 17
      },
      {
        "name": "WARNING_UNWANTED_PAGE_TOP_WHY_BLOCKED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 18
      },
      {
        "name": "WARNING_UNWANTED_PAGE_TOP_GET_ME_OUT_OF_HERE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 19
      },
      {
        "name": "WARNING_UNWANTED_PAGE_TOP_IGNORE_WARNING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 20
      },
      {
        "name": "WARNING_UNWANTED_PAGE_FRAME",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 21
      },
      {
        "name": "WARNING_UNWANTED_PAGE_FRAME_WHY_BLOCKED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 22
      },
      {
        "name": "WARNING_UNWANTED_PAGE_FRAME_GET_ME_OUT_OF_HERE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 23
      },
      {
        "name": "WARNING_UNWANTED_PAGE_FRAME_IGNORE_WARNING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 24
      },
      {
        "name": "WARNING_HARMFUL_PAGE_TOP",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 25
      },
      {
        "name": "WARNING_HARMFUL_PAGE_TOP_WHY_BLOCKED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 26
      },
      {
        "name": "WARNING_HARMFUL_PAGE_TOP_GET_ME_OUT_OF_HERE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 27
      },
      {
        "name": "WARNING_HARMFUL_PAGE_TOP_IGNORE_WARNING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 28
      },
      {
        "name": "WARNING_HARMFUL_PAGE_FRAME",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 29
      },
      {
        "name": "WARNING_HARMFUL_PAGE_FRAME_WHY_BLOCKED",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 30
      },
      {
        "name": "WARNING_HARMFUL_PAGE_FRAME_GET_ME_OUT_OF_HERE",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 31
      },
      {
        "name": "WARNING_HARMFUL_PAGE_FRAME_IGNORE_WARNING",
        "type": {
          "tag": "TD_UINT32"
        },
        "value": 32
      }
    ],
    "flags": [],
    "methods": [],
    "name": "IUrlClassifierUITelemetry",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "a6c62ce5-3a95-41bb-b0f1-8cd4f4ca00e3"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [],
        "name": "handleEvent",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierCallback",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "4ca27b6b-a674-4b3d-ab30-d21e2da2dffb"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "updateUrlRequested",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "streamFinished",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "updateError",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "updateSuccess",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_UINT32"
              },
              "tag": "TD_ARRAY"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierUpdateObserver",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "9fa11561-5816-4e1b-bcc9-b629ca05cce6"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "lookup",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIPrincipal",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "getTables",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setHashCompleter",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierHashCompleter",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "clearLastResults",
        "params": []
      },
      {
        "flags": [],
        "name": "beginUpdate",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierUpdateObserver",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "beginStream",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "updateStream",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "finishStream",
        "params": []
      },
      {
        "flags": [],
        "name": "finishUpdate",
        "params": []
      },
      {
        "flags": [],
        "name": "cancelUpdate",
        "params": []
      },
      {
        "flags": [],
        "name": "resetDatabase",
        "params": []
      },
      {
        "flags": [],
        "name": "reloadDatabase",
        "params": []
      },
      {
        "flags": [],
        "name": "clearCache",
        "params": []
      },
      {
        "flags": [],
        "name": "cleanRealTimeSimulatorCache",
        "params": []
      },
      {
        "flags": [],
        "name": "expireRealTimeSimulatorCache",
        "params": []
      }
    ],
    "name": "nsIUrlClassifierDBService",
    "needs_scriptable": [
      "nsIPrincipal",
      "nsIUrlClassifierHashCompleter"
    ],
    "parent": "nsISupports",
    "uuid": "7a258022-6765-11e5-b379-b37b1f2354be"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "tableName",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "fullHash",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "cacheDuration",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsIFullHashMatch",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "aabeb50e-d9f7-418e-9469-2cd9608958c0"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "completionV2",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "completionV4",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIArray",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "completionFinished",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierHashCompleterCallback",
    "needs_scriptable": [
      "nsIArray"
    ],
    "parent": "nsISupports",
    "uuid": "da16de40-df26-414d-bde7-c4faf4504868"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "complete",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierHashCompleterCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierHashCompleter",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "231fb2ad-ea8a-4e63-a331-eafc3b434811"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "fullhash",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "expiry",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierPositiveCacheEntry",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "b3c27f8c-7db8-4f3f-97a5-5a94d781e565"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "prefix",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "expiry",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_INT64"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "matches",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIArray",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierCacheEntry",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "d6297907-8236-4126-adaf-c3aa239a0d40"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "table",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "getter",
          "hasretval"
        ],
        "name": "entries",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "name": "nsIArray",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierCacheInfo",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "69384f24-d9c5-4462-b24e-351c69e3b46a"
  },
  {
    "consts": [],
    "flags": [
      "function"
    ],
    "methods": [
      {
        "flags": [],
        "name": "onGetCacheComplete",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierCacheInfo",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierGetCacheCallback",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "26e12ea4-14ff-4c77-858f-6745998b7659"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "getCacheInfo",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierGetCacheCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierInfo",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "411bbff4-1b88-4687-aa36-e2bbdd93f6e8"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "init",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "setPrefixes",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_UINT32"
              },
              "size_is": 1,
              "tag": "TD_LEGACY_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getPrefixes",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "element": {
                "tag": "TD_UINT32"
              },
              "size_is": 0,
              "tag": "TD_LEGACY_ARRAY"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "contains",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "isEmpty",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierPrefixSet",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "3d8579f0-75fa-4e00-ba41-38661d5b5d17"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "fetchList",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIStreamListener",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "clear",
        "params": []
      }
    ],
    "name": "nsIUrlClassifierRemoteSettingsService",
    "needs_scriptable": [
      "nsIStreamListener"
    ],
    "parent": "nsISupports",
    "uuid": "26a445a4-0d00-4b20-ba5f-1297d3344a25"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "downloadUpdates",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierStreamUpdater",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "e1797597-f4d6-4dd3-a1e1-745ad352cd80"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "makeUpdateResponseV5",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "makeUpdateResponseV5_32b",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "makeUpdateResponseV5WithWaitDurations",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_UINT32"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "makeFindFullHashResponseV5",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "generateLookupHash",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "generateFullHash",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "generateFullHashRaw",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierTestUtils",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "d63d6302-05fe-4b0e-aff9-f6b118f91ada"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [],
        "name": "onCompleteHashFound",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "onResponseParsed",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierParseFindFullHashCallback",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "fbb9684a-a0aa-11e6-88b0-08606e456b8a"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "getKeyForURI",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIURI",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getProvider",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getTelemetryProvider",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getProtocolVersion",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "convertThreatTypeToListNames",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "convertListNameToThreatType",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "convertServerListNameToLocalListNameV5",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "convertLocalListNameToServerListNameV5",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "convertThreatTypeToListNamesV5",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_UINT32"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "makeUpdateRequestV4",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "makeUpdateRequestV5",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "makeFindFullHashRequestV4",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "makeFindFullHashRequestV5",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "element": {
                "tag": "TD_CSTRING"
              },
              "tag": "TD_ARRAY"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "makeThreatHitReport",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIChannel",
              "tag": "TD_INTERFACE_TYPE"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "parseFindFullHashResponseV4",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierParseFindFullHashCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "parseFindFullHashResponseV5",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "name": "nsIUrlClassifierParseFindFullHashCallback",
              "tag": "TD_INTERFACE_TYPE"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlClassifierUtils",
    "needs_scriptable": [
      "nsIChannel",
      "nsIURI"
    ],
    "parent": "nsISupports",
    "uuid": "e4f0e59c-b922-48b0-a7b6-1735c1f96fed"
  },
  {
    "consts": [],
    "flags": [],
    "methods": [
      {
        "flags": [
          "hasretval"
        ],
        "name": "getGethashUrl",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getUpdateUrl",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "registerTable",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "unregisterTable",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "enableUpdate",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "disableAllUpdates",
        "params": []
      },
      {
        "flags": [],
        "name": "disableUpdate",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          }
        ]
      },
      {
        "flags": [],
        "name": "maybeToggleUpdateChecking",
        "params": []
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "checkForUpdates",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "forceUpdates",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "getBackOffTime",
        "params": [
          {
            "flags": [
              "in"
            ],
            "type": {
              "tag": "TD_CSTRING"
            }
          },
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_UINT64"
            }
          }
        ]
      },
      {
        "flags": [
          "hasretval"
        ],
        "name": "isRegistered",
        "params": [
          {
            "flags": [
              "out"
            ],
            "type": {
              "tag": "TD_BOOL"
            }
          }
        ]
      }
    ],
    "name": "nsIUrlListManager",
    "needs_scriptable": [],
    "parent": "nsISupports",
    "uuid": "d60a08ee-5c83-4eb6-bdfb-79fd0716501e"
  }
]