Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(240)

Side by Side Diff: src/core/SkSecureReadBuffer.h

Issue 23021015: Initial error handling code (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: New SkSecureReadBuffer class Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1
2 /* 1 /*
sugoi1 2013/08/29 18:55:53 In case you you're curious, I didn't actually repl
3 * Copyright 2011 Google Inc. 2 * Copyright 2013 Google Inc.
4 * 3 *
5 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file. 5 * found in the LICENSE file.
7 */ 6 */
8 7
9 #ifndef SkOrderedReadBuffer_DEFINED 8 #ifndef SkSecureReadBuffer_DEFINED
10 #define SkOrderedReadBuffer_DEFINED 9 #define SkSecureReadBuffer_DEFINED
11 10
12 #include "SkRefCnt.h" 11 #include "SkRefCnt.h"
13 #include "SkBitmapHeap.h" 12 #include "SkBitmapHeap.h"
14 #include "SkFlattenableBuffers.h" 13 #include "SkFlattenableBuffers.h"
15 #include "SkPath.h" 14 #include "SkPath.h"
16 #include "SkPicture.h" 15 #include "SkPicture.h"
17 #include "SkReader32.h" 16 #include "SkSecureReader32.h"
18 17
19 class SkBitmap; 18 class SkBitmap;
20 19
21 #if defined(SK_DEBUG) && defined(SK_BUILD_FOR_MAC) 20 #if defined(SK_DEBUG) && defined(SK_BUILD_FOR_MAC)
22 #define DEBUG_NON_DETERMINISTIC_ASSERT 21 #define DEBUG_NON_DETERMINISTIC_ASSERT
23 #endif 22 #endif
24 23
25 class SkOrderedReadBuffer : public SkFlattenableReadBuffer { 24 class SkSecureReadBuffer : public SkFlattenableReadBuffer {
26 public: 25 public:
27 SkOrderedReadBuffer(); 26 SkSecureReadBuffer();
28 SkOrderedReadBuffer(const void* data, size_t size); 27 SkSecureReadBuffer(const void* data, size_t size);
29 SkOrderedReadBuffer(SkStream* stream); 28 SkSecureReadBuffer(SkStream* stream);
30 virtual ~SkOrderedReadBuffer(); 29 virtual ~SkSecureReadBuffer();
31 30
32 virtual SkOrderedReadBuffer* getOrderedBinaryBuffer() SK_OVERRIDE { return t his; } 31 SkSecureReader32* getReader32() { return &fReader; }
33
34 SkReader32* getReader32() { return &fReader; }
35 32
36 uint32_t size() { return fReader.size(); } 33 uint32_t size() { return fReader.size(); }
37 uint32_t offset() { return fReader.offset(); } 34 uint32_t offset() { return fReader.offset(); }
38 bool eof() { return fReader.eof(); } 35 bool eof() { return fReader.eof(); }
39 const void* skip(size_t size) { return fReader.skip(size); } 36 const void* skip(size_t size) { return fReader.skip(size); }
40 37
41 // primitives 38 // primitives
42 virtual bool readBool() SK_OVERRIDE; 39 virtual bool readBool() SK_OVERRIDE;
43 virtual SkColor readColor() SK_OVERRIDE; 40 virtual SkColor readColor() SK_OVERRIDE;
44 virtual SkFixed readFixed() SK_OVERRIDE; 41 virtual SkFixed readFixed() SK_OVERRIDE;
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 /** 103 /**
107 * Provide a function to decode an SkBitmap from encoded data. Only used if the writer 104 * Provide a function to decode an SkBitmap from encoded data. Only used if the writer
108 * encoded the SkBitmap. If the proper decoder cannot be used, a red bitmap with the 105 * encoded the SkBitmap. If the proper decoder cannot be used, a red bitmap with the
109 * appropriate size will be used. 106 * appropriate size will be used.
110 */ 107 */
111 void setBitmapDecoder(SkPicture::InstallPixelRefProc bitmapDecoder) { 108 void setBitmapDecoder(SkPicture::InstallPixelRefProc bitmapDecoder) {
112 fBitmapDecoder = bitmapDecoder; 109 fBitmapDecoder = bitmapDecoder;
113 } 110 }
114 111
115 private: 112 private:
116 SkReader32 fReader; 113 SkSecureReader32 fReader;
117 void* fMemoryPtr; 114 void* fMemoryPtr;
118 115
119 SkBitmapHeapReader* fBitmapStorage; 116 SkBitmapHeapReader* fBitmapStorage;
120 SkTypeface** fTFArray; 117 SkTypeface** fTFArray;
121 int fTFCount; 118 int fTFCount;
122 119
123 SkTDArray<SkFlattenable::Factory>* fFactoryTDArray; 120 SkTDArray<SkFlattenable::Factory>* fFactoryTDArray;
124 SkFlattenable::Factory* fFactoryArray; 121 SkFlattenable::Factory* fFactoryArray;
125 int fFactoryCount; 122 int fFactoryCount;
126 123
127 SkPicture::InstallPixelRefProc fBitmapDecoder; 124 SkPicture::InstallPixelRefProc fBitmapDecoder;
128 125
129 #ifdef DEBUG_NON_DETERMINISTIC_ASSERT 126 #ifdef DEBUG_NON_DETERMINISTIC_ASSERT
130 // Debugging counter to keep track of how many bitmaps we 127 // Debugging counter to keep track of how many bitmaps we
131 // have decoded. 128 // have decoded.
132 int fDecodedBitmapIndex; 129 int fDecodedBitmapIndex;
133 #endif // DEBUG_NON_DETERMINISTIC_ASSERT 130 #endif // DEBUG_NON_DETERMINISTIC_ASSERT
134 131
135 typedef SkFlattenableReadBuffer INHERITED; 132 typedef SkFlattenableReadBuffer INHERITED;
136 }; 133 };
137 134
138 #endif // SkOrderedReadBuffer_DEFINED 135 #endif // SkSecureReadBuffer_DEFINED
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698