1/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2/* vim:set ts=2 sw=2 sts=2 et cindent: */ 3/* This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7#include "nsIProtocolProxyService.idl" 8 9/** 10 * An extension of nsIProtocolProxyService 11 */ 12[scriptable, builtinclass, uuid(b2e5b2c0-e21e-4845-b336-be6d60a38951)] 13interface nsIProtocolProxyService2 : nsIProtocolProxyService 14{ 15 /** 16 * Call this method to cause the PAC file (if any is configured) to be 17 * reloaded. The PAC file is loaded asynchronously. 18 */ 19 void reloadPAC(); 20 21 /** 22 * This method is identical to asyncResolve() except: 23 * - it only accepts an nsIChannel, not an nsIURI; 24 * - it may execute the callback function immediately (i.e from the stack 25 * of asyncResolve2()) if it is immediately ready to run. 26 * The nsICancelable return value will be null in that case. 27 */ 28 nsICancelable asyncResolve2( 29 in nsIChannel aChannel, in unsigned long aFlags, 30 in nsIProtocolProxyCallback aCallback, 31 [optional] in nsISerialEventTarget aMainThreadTarget); 32}; 33