/* 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 nsIHttpChannel; /** * nsIHttpPushListener * * Used for triggering when a HTTP/2 push is received. * */ [scriptable, uuid(0d6ce59c-ad5d-4520-b4d3-09664868f279)] interface nsIHttpPushListener : nsISupports { /** * When provided as a notificationCallback to an httpChannel, this.onPush() * will be invoked when there is a >= Http2 push to that * channel. The push may be in progress. * * The consumer must start the new channel in the usual way by calling * pushChannel.AsyncOpen with a nsIStreamListener object that * will receive the normal sequence of OnStartRequest(), * 0 to N OnDataAvailable(), and onStopRequest(). * * The new channel can be canceled after the AsyncOpen if it is not wanted. * * @param associatedChannel * the monitor channel that was recieved on * @param pushChannel * a channel to the resource which is being pushed */ void onPush(in nsIHttpChannel associatedChannel, in nsIHttpChannel pushChannel); };