Bug 1600244 - Don't store favicons added after the initial page load. r=mossop a=jcristau
Icons added after the initial parsing are likely randomly generated to show badges,
thus they are not good for permanent storage, because they are transient and can
potentially flood the store.
Differential Revision:
https://phabricator.services.mozilla.com/D55310
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
/* 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 mozilla_dom_SVGFEColorMatrixElement_h
#define mozilla_dom_SVGFEColorMatrixElement_h
#include "SVGAnimatedNumberList.h"
#include "SVGAnimatedEnumeration.h"
#include "SVGFilters.h"
nsresult NS_NewSVGFEColorMatrixElement(
nsIContent** aResult, already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo);
namespace mozilla {
namespace dom {
class DOMSVGAnimatedNumberList;
typedef SVGFE SVGFEColorMatrixElementBase;
class SVGFEColorMatrixElement : public SVGFEColorMatrixElementBase {
friend nsresult(::NS_NewSVGFEColorMatrixElement(
nsIContent** aResult,
already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo));
protected:
explicit SVGFEColorMatrixElement(
already_AddRefed<mozilla::dom::NodeInfo>&& aNodeInfo)
: SVGFEColorMatrixElementBase(std::move(aNodeInfo)) {}
virtual JSObject* WrapNode(JSContext* aCx,
JS::Handle<JSObject*> aGivenProto) override;
public:
virtual FilterPrimitiveDescription GetPrimitiveDescription(
nsSVGFilterInstance* aInstance, const IntRect& aFilterSubregion,
const nsTArray<bool>& aInputsAreTainted,
nsTArray<RefPtr<SourceSurface>>& aInputImages) override;
virtual bool AttributeAffectsRendering(int32_t aNameSpaceID,
nsAtom* aAttribute) const override;
virtual SVGAnimatedString& GetResultImageName() override {
return mStringAttributes[RESULT];
}
virtual void GetSourceImageNames(nsTArray<SVGStringInfo>& aSources) override;
virtual nsresult Clone(dom::NodeInfo*, nsINode** aResult) const override;
// WebIDL
already_AddRefed<DOMSVGAnimatedString> In1();
already_AddRefed<DOMSVGAnimatedEnumeration> Type();
already_AddRefed<DOMSVGAnimatedNumberList> Values();
protected:
virtual EnumAttributesInfo GetEnumInfo() override;
virtual StringAttributesInfo GetStringInfo() override;
virtual NumberListAttributesInfo GetNumberListInfo() override;
enum { TYPE };
SVGAnimatedEnumeration mEnumAttributes[1];
static SVGEnumMapping sTypeMap[];
static EnumInfo sEnumInfo[1];
enum { RESULT, IN1 };
SVGAnimatedString mStringAttributes[2];
static StringInfo sStringInfo[2];
enum { VALUES };
SVGAnimatedNumberList mNumberListAttributes[1];
static NumberListInfo sNumberListInfo[1];
};
} // namespace dom
} // namespace mozilla
#endif // mozilla_dom_SVGFEColorMatrixElement_h