/* 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(6AC9A699-D12A-45dc-9B02-9E5E0DD831B9)]
interface nsIAssociatedContentSecurity : nsISupports
{
  attribute long countSubRequestsHighSecurity;
  attribute long countSubRequestsLowSecurity;
  attribute long countSubRequestsBrokenSecurity;
  attribute long countSubRequestsNoSecurity;
  void flush();
};
