summaryrefslogtreecommitdiffstats
path: root/netwerk/base/nsIURIClassifier.idl
diff options
context:
space:
mode:
Diffstat (limited to 'netwerk/base/nsIURIClassifier.idl')
-rw-r--r--netwerk/base/nsIURIClassifier.idl65
1 files changed, 65 insertions, 0 deletions
diff --git a/netwerk/base/nsIURIClassifier.idl b/netwerk/base/nsIURIClassifier.idl
new file mode 100644
index 000000000..a8f6098a7
--- /dev/null
+++ b/netwerk/base/nsIURIClassifier.idl
@@ -0,0 +1,65 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+#include "nsISupports.idl"
+
+interface nsIChannel;
+interface nsIPrincipal;
+interface nsIURI;
+
+/**
+ * Callback function for nsIURIClassifier lookups.
+ */
+[scriptable, function, uuid(8face46e-0c96-470f-af40-0037dcd797bd)]
+interface nsIURIClassifierCallback : nsISupports
+{
+ /**
+ * Called by the URI classifier service when it is done checking a URI.
+ *
+ * Clients are responsible for associating callback objects with classify()
+ * calls.
+ *
+ * @param aErrorCode
+ * The error code with which the channel should be cancelled, or
+ * NS_OK if the load should continue normally.
+ */
+ void onClassifyComplete(in nsresult aErrorCode);
+};
+
+/**
+ * The URI classifier service checks a URI against lists of phishing
+ * and malware sites.
+ */
+[scriptable, uuid(596620cc-76e3-4133-9d90-360e59a794cf)]
+interface nsIURIClassifier : nsISupports
+{
+ /**
+ * Classify a Principal using its URI.
+ *
+ * @param aPrincipal
+ * The principal that should be checked by the URI classifier.
+ * @param aTrackingProtectionEnabled
+ * Whether or not to classify the given URI against tracking
+ * protection lists
+ *
+ * @param aCallback
+ * The URI classifier will call this callback when the URI has been
+ * classified.
+ *
+ * @return <code>false</code> if classification is not necessary. The
+ * callback will not be called.
+ * <code>true</code> if classification will be performed. The
+ * callback will be called.
+ */
+ boolean classify(in nsIPrincipal aPrincipal,
+ in boolean aTrackingProtectionEnabled,
+ in nsIURIClassifierCallback aCallback);
+
+ /**
+ * Synchronously classify a URI with a comma-separated string
+ * containing the given tables. This does not make network requests.
+ * The result is a comma-separated string of tables that match.
+ */
+ ACString classifyLocalWithTables(in nsIURI aURI, in ACString aTables);
+};