1234567891011121314151617181920212223242526272829303132333435 |
- /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
- /* 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 nsIEventTarget;
- /**
- * nsIThreadRetargetableRequest
- *
- * Should be implemented by requests that support retargeting delivery of
- * data off the main thread.
- */
- [uuid(27b84c48-5a73-4ba4-a8a4-8b5e649a145e)]
- interface nsIThreadRetargetableRequest : nsISupports
- {
- /**
- * Called to retarget delivery of OnDataAvailable to another thread. Should
- * only be called before AsyncOpen for nsIWebsocketChannels, or during
- * OnStartRequest for nsIChannels.
- * Note: For nsIChannels, OnStartRequest and OnStopRequest will still be
- * delivered on the main thread.
- *
- * @param aNewTarget New event target, e.g. thread or threadpool.
- *
- * Note: no return value is given. If the retargeting cannot be handled,
- * normal delivery to the main thread will continue. As such, listeners
- * should be ready to deal with OnDataAvailable on either the main thread or
- * the new target thread.
- */
- void retargetDeliveryTo(in nsIEventTarget aNewTarget);
- };
|