| Index: include/core/SkFlattenableBuffers.h
|
| diff --git a/include/core/SkFlattenableBuffers.h b/include/core/SkFlattenableBuffers.h
|
| index 03c03f3877e6f8e3f508d29e371d5c7ebd91624e..0b7ae7525abf5594c1de7db1b670f7226349ebef 100644
|
| --- a/include/core/SkFlattenableBuffers.h
|
| +++ b/include/core/SkFlattenableBuffers.h
|
| @@ -41,14 +41,16 @@ public:
|
| kCrossProcess_Flag = 1 << 0,
|
| kScalarIsFloat_Flag = 1 << 1,
|
| kPtrIs64Bit_Flag = 1 << 2,
|
| + kSecure_Flag = 1 << 3,
|
| };
|
|
|
| void setFlags(uint32_t flags) { fFlags = flags; }
|
| uint32_t getFlags() const { return fFlags; }
|
|
|
| - bool isCrossProcess() const { return SkToBool(fFlags & kCrossProcess_Flag); }
|
| + bool isCrossProcess() const { return SkToBool(fFlags & (kCrossProcess_Flag | kSecure_Flag)); }
|
| bool isScalarFloat() const { return SkToBool(fFlags & kScalarIsFloat_Flag); }
|
| bool isPtr64Bit() const { return SkToBool(fFlags & kPtrIs64Bit_Flag); }
|
| + bool isSecure() const { return SkToBool(fFlags & kSecure_Flag); }
|
|
|
| // primitives
|
| virtual bool readBool() = 0;
|
| @@ -102,6 +104,13 @@ public:
|
| return static_cast<T*>(this->readFlattenable());
|
| }
|
|
|
| + void setError() {
|
| + fError = true;
|
| + }
|
| +
|
| +protected:
|
| + bool fError;
|
| +
|
| private:
|
| uint32_t fFlags;
|
| };
|
| @@ -154,13 +163,18 @@ public:
|
|
|
| enum Flags {
|
| kCrossProcess_Flag = 0x01,
|
| + kSecure_Flag = 0x02,
|
| };
|
|
|
| uint32_t getFlags() const { return fFlags; }
|
| void setFlags(uint32_t flags) { fFlags = flags; }
|
|
|
| bool isCrossProcess() const {
|
| - return SkToBool(fFlags & kCrossProcess_Flag);
|
| + return SkToBool(fFlags & (kCrossProcess_Flag | kSecure_Flag));
|
| + }
|
| +
|
| + bool isSecure() const {
|
| + return SkToBool(fFlags & kSecure_Flag);
|
| }
|
|
|
| bool persistTypeface() const { return (fFlags & kCrossProcess_Flag) != 0; }
|
|
|