/* 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/. */

/**
 * This interface is used to cache associated (sub) content security
 * state. That is determined asynchronously based on callback notification
 * while loading the content and its sub content particles. 
 *
 * Some optimizations like bfcaching removes these callback notifications
 * and therefor the subcontent state could not be determined. In such
 * a case it is loaded from this object stored in nsIChannel.securityInfo.
 */

#include "nsISupports.idl"

[scriptable, uuid(a8285dae-f125-454f-9d1b-089e3f01b2c4)]
interface nsIAssociatedContentSecurity : nsISupports
{
  attribute long countSubRequestsBrokenSecurity;
  attribute long countSubRequestsNoSecurity;
  void flush();
};