diff -r 000000000000 -r 6474c204b198 netwerk/protocol/http/nsIHttpEventSink.idl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/netwerk/protocol/http/nsIHttpEventSink.idl Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,37 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* 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 nsIHttpChannel; +interface nsIURI; + +/** + * nsIHttpEventSink + * + * Implement this interface to receive control over various HTTP events. The + * HTTP channel will try to get this interface from its notificationCallbacks + * attribute, and if it doesn't find it there it will look for it from its + * loadGroup's notificationCallbacks attribute. + * + * These methods are called before onStartRequest, and should be handled + * SYNCHRONOUSLY. + * + * @deprecated Newly written code should use nsIChannelEventSink instead of this + * interface. + */ +[scriptable, uuid(9475a6af-6352-4251-90f9-d65b1cd2ea15)] +interface nsIHttpEventSink : nsISupports +{ + /** + * Called when a redirect occurs due to a HTTP response like 302. The + * redirection may be to a non-http channel. + * + * @return failure cancels redirect + */ + void onRedirect(in nsIHttpChannel httpChannel, + in nsIChannel newChannel); +};