netwerk/base/LoadContextInfo.h
author Andrew Osmond <aosmond@mozilla.com>
Fri, 17 Nov 2017 06:45:28 -0500
changeset 392351 b9a29d94ccac646c9336fa75e084bbc8581501ad
parent 329096 8fe52da5cb90209689b41879843ba93f6acda884
child 408089 ab89c04fa91c6f6cea88b34d4a6ced81c6a3a2cd
permissions -rw-r--r--
Bug 1368776 - Part 15. Cache flags passed to ImageResource::GetImageContainerImpl for consistency. r=tnikkel When FLAG_HIGH_QUALITY_SCALING is used, we need to make sure we continue using that flag when we update the container. We should also use it for comparing whether or not an existing image container is equivalent.

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

#ifndef nsLoadContextInfo_h__
#define nsLoadContextInfo_h__

#include "nsILoadContextInfo.h"

class nsIChannel;
class nsILoadContext;

namespace mozilla {
namespace net {

class LoadContextInfo : public nsILoadContextInfo
{
public:
  NS_DECL_THREADSAFE_ISUPPORTS
  NS_DECL_NSILOADCONTEXTINFO

  LoadContextInfo(bool aIsAnonymous, OriginAttributes aOriginAttributes);

private:
  virtual ~LoadContextInfo();

protected:
  bool mIsAnonymous : 1;
  OriginAttributes mOriginAttributes;
};

class LoadContextInfoFactory : public nsILoadContextInfoFactory
{
  virtual ~LoadContextInfoFactory() {}
public:
  NS_DECL_ISUPPORTS // deliberately not thread-safe
  NS_DECL_NSILOADCONTEXTINFOFACTORY
};

LoadContextInfo*
GetLoadContextInfo(nsIChannel *aChannel);

LoadContextInfo*
GetLoadContextInfo(nsILoadContext *aLoadContext,
                   bool aIsAnonymous);

LoadContextInfo*
GetLoadContextInfo(nsIDOMWindow *aLoadContext,
                   bool aIsAnonymous);

LoadContextInfo*
GetLoadContextInfo(nsILoadContextInfo *aInfo);

LoadContextInfo*
GetLoadContextInfo(bool const aIsAnonymous,
                   OriginAttributes const &aOriginAttributes);

} // namespace net
} // namespace mozilla

#endif