Tue, 06 Jan 2015 21:39:09 +0100
Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef MOZILLA_SVGCONTEXT_H_
7 #define MOZILLA_SVGCONTEXT_H_
9 #include "SVGPreserveAspectRatio.h"
11 namespace mozilla {
13 // SVG image-specific rendering context. For imgIContainer::Draw.
14 // Used to pass information about overridden attributes from an SVG <image>
15 // element to the image's internal SVG document when it's drawn.
16 class SVGImageContext
17 {
18 public:
19 SVGImageContext() { }
21 SVGImageContext(SVGPreserveAspectRatio aPreserveAspectRatio)
22 : mPreserveAspectRatio(aPreserveAspectRatio)
23 { }
25 const SVGPreserveAspectRatio& GetPreserveAspectRatio() const {
26 return mPreserveAspectRatio;
27 }
29 bool operator==(const SVGImageContext& aOther) const {
30 return mPreserveAspectRatio == aOther.mPreserveAspectRatio;
31 }
33 bool operator!=(const SVGImageContext& aOther) const {
34 return !(*this == aOther);
35 }
37 uint32_t Hash() const {
38 return mPreserveAspectRatio.Hash();
39 }
41 private:
42 SVGPreserveAspectRatio mPreserveAspectRatio;
43 };
45 } // namespace mozilla
47 #endif // MOZILLA_SVGCONTEXT_H_