Bug 764299 (Part 1) - Add hashing to SVGImageContext. r=dholbert

This commit is contained in:
Seth Fowler 2013-10-21 18:10:40 +02:00
parent faaab77a79
commit c10fe9ad6f
2 changed files with 16 additions and 2 deletions

View File

@ -3,8 +3,10 @@
* 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/. */
#pragma once
#ifndef MOZILLA_CONTENT_SVGPRESERVEASPECTRATIO_H_
#define MOZILLA_CONTENT_SVGPRESERVEASPECTRATIO_H_
#include "mozilla/HashFunctions.h" // for HashGeneric
#include "mozilla/TypedEnum.h"
#include "nsWrapperCache.h"
@ -98,6 +100,10 @@ public:
return mDefer;
}
uint32_t Hash() const {
return HashGeneric(mAlign, mMeetOrSlice, mDefer);
}
private:
// We can't use enum types here because some compilers fail to pack them.
uint8_t mAlign;
@ -141,3 +147,5 @@ protected:
} //namespace dom
} //namespace mozilla
#endif // MOZILLA_CONTENT_SVGPRESERVEASPECTRATIO_H_

View File

@ -16,6 +16,8 @@ namespace mozilla {
class SVGImageContext
{
public:
SVGImageContext() { }
SVGImageContext(SVGPreserveAspectRatio aPreserveAspectRatio)
: mPreserveAspectRatio(aPreserveAspectRatio)
{ }
@ -32,8 +34,12 @@ public:
return !(*this == aOther);
}
uint32_t Hash() const {
return mPreserveAspectRatio.Hash();
}
private:
const SVGPreserveAspectRatio mPreserveAspectRatio;
SVGPreserveAspectRatio mPreserveAspectRatio;
};
} // namespace mozilla