Changeset 74994 in webkit
- Timestamp:
- Jan 4, 2011 12:43:52 PM (13 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r74992 r74994 1 2011-01-04 Xianzhu Wang <wangxianzhu@google.com> 2 3 Reviewed by Darin Adler. 4 5 Let DataView.getInt8() and DataView.setInt8() use int8_t instead of 6 ambiguous 'char' to fix fast/canvas/webgl/data-view-test.html failure 7 on ARM. 8 https://bugs.webkit.org/show_bug.cgi?id=51861 9 10 By the way, changed other getIntXX() and setIntXX() methods to use 11 more precise integer types. 12 13 * bindings/js/JSDataViewCustom.cpp: 14 (WebCore::setDataViewMember): 15 * bindings/v8/custom/V8DataViewCustom.cpp: 16 (WebCore::V8DataView::getInt8Callback): 17 (WebCore::V8DataView::setInt8Callback): 18 * html/canvas/DataView.cpp: 19 (WebCore::DataView::getInt8): 20 (WebCore::DataView::setInt8): 21 * html/canvas/DataView.h: 22 * html/canvas/DataView.idl: 23 1 24 2011-01-04 Yong Li <yoli@rim.com> 2 25 -
trunk/WebCore/bindings/js/JSDataViewCustom.cpp
r74760 r74994 137 137 switch (type) { 138 138 case AccessDataViewMemberAsInt8: 139 imp->setInt8(byteOffset, static_cast< char>(value), ec);139 imp->setInt8(byteOffset, static_cast<int8_t>(value), ec); 140 140 break; 141 141 case AccessDataViewMemberAsUint8: 142 imp->setUint8(byteOffset, static_cast<u nsigned char>(value), ec);142 imp->setUint8(byteOffset, static_cast<uint8_t>(value), ec); 143 143 break; 144 144 default: -
trunk/WebCore/bindings/v8/custom/V8DataViewCustom.cpp
r72718 r74994 63 63 ExceptionCode ec = 0; 64 64 EXCEPTION_BLOCK(unsigned, byteOffset, toUInt32(args[0])); 65 charresult = imp->getInt8(byteOffset, ec);65 int8_t result = imp->getInt8(byteOffset, ec); 66 66 if (UNLIKELY(ec)) { 67 67 V8Proxy::setDOMException(ec); … … 80 80 ExceptionCode ec = 0; 81 81 EXCEPTION_BLOCK(unsigned, byteOffset, toUInt32(args[0])); 82 u nsigned charresult = imp->getUint8(byteOffset, ec);82 uint8_t result = imp->getUint8(byteOffset, ec); 83 83 if (UNLIKELY(ec)) { 84 84 V8Proxy::setDOMException(ec); … … 98 98 EXCEPTION_BLOCK(unsigned, byteOffset, toUInt32(args[0])); 99 99 EXCEPTION_BLOCK(int, value, toInt32(args[1])); 100 imp->setInt8(byteOffset, static_cast< char>(value), ec);100 imp->setInt8(byteOffset, static_cast<int8_t>(value), ec); 101 101 if (UNLIKELY(ec)) 102 102 V8Proxy::setDOMException(ec); … … 114 114 EXCEPTION_BLOCK(unsigned, byteOffset, toUInt32(args[0])); 115 115 EXCEPTION_BLOCK(int, value, toInt32(args[1])); 116 imp->setUint8(byteOffset, static_cast<u nsigned char>(value), ec);116 imp->setUint8(byteOffset, static_cast<uint8_t>(value), ec); 117 117 if (UNLIKELY(ec)) 118 118 V8Proxy::setDOMException(ec); -
trunk/WebCore/html/canvas/DataView.cpp
r73208 r74994 151 151 } 152 152 153 charDataView::getInt8(unsigned byteOffset, ExceptionCode& ec)154 { 155 return getData< char>(byteOffset, false, ec);156 } 157 158 u nsigned charDataView::getUint8(unsigned byteOffset, ExceptionCode& ec)159 { 160 return getData<u nsigned char>(byteOffset, false, ec);161 } 162 163 short DataView::getInt16(unsigned byteOffset, bool littleEndian, ExceptionCode& ec)164 { 165 return getData< short>(byteOffset, littleEndian, ec);166 } 167 168 u nsigned short DataView::getUint16(unsigned byteOffset, bool littleEndian, ExceptionCode& ec)169 { 170 return getData<u nsigned short>(byteOffset, littleEndian, ec);171 } 172 173 int DataView::getInt32(unsigned byteOffset, bool littleEndian, ExceptionCode& ec)174 { 175 return getData<int >(byteOffset, littleEndian, ec);176 } 177 178 u nsignedDataView::getUint32(unsigned byteOffset, bool littleEndian, ExceptionCode& ec)179 { 180 return getData<u nsigned>(byteOffset, littleEndian, ec);153 int8_t DataView::getInt8(unsigned byteOffset, ExceptionCode& ec) 154 { 155 return getData<int8_t>(byteOffset, false, ec); 156 } 157 158 uint8_t DataView::getUint8(unsigned byteOffset, ExceptionCode& ec) 159 { 160 return getData<uint8_t>(byteOffset, false, ec); 161 } 162 163 int16_t DataView::getInt16(unsigned byteOffset, bool littleEndian, ExceptionCode& ec) 164 { 165 return getData<int16_t>(byteOffset, littleEndian, ec); 166 } 167 168 uint16_t DataView::getUint16(unsigned byteOffset, bool littleEndian, ExceptionCode& ec) 169 { 170 return getData<uint16_t>(byteOffset, littleEndian, ec); 171 } 172 173 int32_t DataView::getInt32(unsigned byteOffset, bool littleEndian, ExceptionCode& ec) 174 { 175 return getData<int32_t>(byteOffset, littleEndian, ec); 176 } 177 178 uint32_t DataView::getUint32(unsigned byteOffset, bool littleEndian, ExceptionCode& ec) 179 { 180 return getData<uint32_t>(byteOffset, littleEndian, ec); 181 181 } 182 182 … … 191 191 } 192 192 193 void DataView::setInt8(unsigned byteOffset, charvalue, ExceptionCode& ec)194 { 195 setData< char>(byteOffset, value, false, ec);196 } 197 198 void DataView::setUint8(unsigned byteOffset, u nsigned charvalue, ExceptionCode& ec)199 { 200 setData<u nsigned char>(byteOffset, value, false, ec);193 void DataView::setInt8(unsigned byteOffset, int8_t value, ExceptionCode& ec) 194 { 195 setData<int8_t>(byteOffset, value, false, ec); 196 } 197 198 void DataView::setUint8(unsigned byteOffset, uint8_t value, ExceptionCode& ec) 199 { 200 setData<uint8_t>(byteOffset, value, false, ec); 201 201 } 202 202 203 203 void DataView::setInt16(unsigned byteOffset, short value, bool littleEndian, ExceptionCode& ec) 204 204 { 205 setData< short>(byteOffset, value, littleEndian, ec);206 } 207 208 void DataView::setUint16(unsigned byteOffset, u nsigned short value, bool littleEndian, ExceptionCode& ec)209 { 210 setData<u nsigned short>(byteOffset, value, littleEndian, ec);211 } 212 213 void DataView::setInt32(unsigned byteOffset, int value, bool littleEndian, ExceptionCode& ec)214 { 215 setData<int >(byteOffset, value, littleEndian, ec);216 } 217 218 void DataView::setUint32(unsigned byteOffset, u nsignedvalue, bool littleEndian, ExceptionCode& ec)219 { 220 setData<u nsigned>(byteOffset, value, littleEndian, ec);205 setData<int16_t>(byteOffset, value, littleEndian, ec); 206 } 207 208 void DataView::setUint16(unsigned byteOffset, uint16_t value, bool littleEndian, ExceptionCode& ec) 209 { 210 setData<uint16_t>(byteOffset, value, littleEndian, ec); 211 } 212 213 void DataView::setInt32(unsigned byteOffset, int32_t value, bool littleEndian, ExceptionCode& ec) 214 { 215 setData<int32_t>(byteOffset, value, littleEndian, ec); 216 } 217 218 void DataView::setUint32(unsigned byteOffset, uint32_t value, bool littleEndian, ExceptionCode& ec) 219 { 220 setData<uint32_t>(byteOffset, value, littleEndian, ec); 221 221 } 222 222 -
trunk/WebCore/html/canvas/DataView.h
r72718 r74994 42 42 virtual PassRefPtr<ArrayBufferView> slice(int, int) const { return 0; } 43 43 44 chargetInt8(unsigned byteOffset, ExceptionCode&);45 u nsigned chargetUint8(unsigned byteOffset, ExceptionCode&);46 short getInt16(unsigned byteOffset, ExceptionCode& ec) { return getInt16(byteOffset, false, ec); }47 short getInt16(unsigned byteOffset, bool littleEndian, ExceptionCode&);48 u nsigned short getUint16(unsigned byteOffset, ExceptionCode& ec) { return getUint16(byteOffset, false, ec); }49 u nsigned short getUint16(unsigned byteOffset, bool littleEndian, ExceptionCode&);50 int getInt32(unsigned byteOffset, ExceptionCode& ec) { return getInt32(byteOffset, false, ec); }51 int getInt32(unsigned byteOffset, bool littleEndian, ExceptionCode&);52 u nsignedgetUint32(unsigned byteOffset, ExceptionCode& ec) { return getUint32(byteOffset, false, ec); }53 u nsignedgetUint32(unsigned byteOffset, bool littleEndian, ExceptionCode&);44 int8_t getInt8(unsigned byteOffset, ExceptionCode&); 45 uint8_t getUint8(unsigned byteOffset, ExceptionCode&); 46 int16_t getInt16(unsigned byteOffset, ExceptionCode& ec) { return getInt16(byteOffset, false, ec); } 47 int16_t getInt16(unsigned byteOffset, bool littleEndian, ExceptionCode&); 48 uint16_t getUint16(unsigned byteOffset, ExceptionCode& ec) { return getUint16(byteOffset, false, ec); } 49 uint16_t getUint16(unsigned byteOffset, bool littleEndian, ExceptionCode&); 50 int32_t getInt32(unsigned byteOffset, ExceptionCode& ec) { return getInt32(byteOffset, false, ec); } 51 int32_t getInt32(unsigned byteOffset, bool littleEndian, ExceptionCode&); 52 uint32_t getUint32(unsigned byteOffset, ExceptionCode& ec) { return getUint32(byteOffset, false, ec); } 53 uint32_t getUint32(unsigned byteOffset, bool littleEndian, ExceptionCode&); 54 54 float getFloat32(unsigned byteOffset, ExceptionCode& ec) { return getFloat32(byteOffset, false, ec); } 55 55 float getFloat32(unsigned byteOffset, bool littleEndian, ExceptionCode&); … … 57 57 double getFloat64(unsigned byteOffset, bool littleEndian, ExceptionCode&); 58 58 59 void setInt8(unsigned byteOffset, charvalue, ExceptionCode&);60 void setUint8(unsigned byteOffset, u nsigned charvalue, ExceptionCode&);61 void setInt16(unsigned byteOffset, short value, ExceptionCode& ec) { setInt16(byteOffset, value, false, ec); }62 void setInt16(unsigned byteOffset, short value, bool littleEndian, ExceptionCode&);63 void setUint16(unsigned byteOffset, u nsigned short value, ExceptionCode& ec) { setUint16(byteOffset, value, false, ec); }64 void setUint16(unsigned byteOffset, u nsigned short value, bool littleEndian, ExceptionCode&);65 void setInt32(unsigned byteOffset, int value, ExceptionCode& ec) { setInt32(byteOffset, value, false, ec); }66 void setInt32(unsigned byteOffset, int value, bool littleEndian, ExceptionCode&);67 void setUint32(unsigned byteOffset, u nsignedvalue, ExceptionCode& ec) { setUint32(byteOffset, value, false, ec); }68 void setUint32(unsigned byteOffset, u nsignedvalue, bool littleEndian, ExceptionCode&);59 void setInt8(unsigned byteOffset, int8_t value, ExceptionCode&); 60 void setUint8(unsigned byteOffset, uint8_t value, ExceptionCode&); 61 void setInt16(unsigned byteOffset, int16_t value, ExceptionCode& ec) { setInt16(byteOffset, value, false, ec); } 62 void setInt16(unsigned byteOffset, int16_t value, bool littleEndian, ExceptionCode&); 63 void setUint16(unsigned byteOffset, uint16_t value, ExceptionCode& ec) { setUint16(byteOffset, value, false, ec); } 64 void setUint16(unsigned byteOffset, uint16_t value, bool littleEndian, ExceptionCode&); 65 void setInt32(unsigned byteOffset, int32_t value, ExceptionCode& ec) { setInt32(byteOffset, value, false, ec); } 66 void setInt32(unsigned byteOffset, int32_t value, bool littleEndian, ExceptionCode&); 67 void setUint32(unsigned byteOffset, uint32_t value, ExceptionCode& ec) { setUint32(byteOffset, value, false, ec); } 68 void setUint32(unsigned byteOffset, uint32_t value, bool littleEndian, ExceptionCode&); 69 69 void setFloat32(unsigned byteOffset, float value, ExceptionCode& ec) { setFloat32(byteOffset, value, false, ec); } 70 70 void setFloat32(unsigned byteOffset, float value, bool littleEndian, ExceptionCode&); -
trunk/WebCore/html/canvas/DataView.idl
r72718 r74994 36 36 // All these methods raise an exception if they would read or write beyond the end of the view. 37 37 38 // We have to use custom code because our code generator does not support chartype.39 // chargetInt8(in unsigned long byteOffset);40 // u nsigned chargetUint8(in unsigned long byteOffset);38 // We have to use custom code because our code generator does not support int8_t type. 39 // int8_t getInt8(in unsigned long byteOffset); 40 // uint8_t getUint8(in unsigned long byteOffset); 41 41 [Custom] DOMObject getInt8() 42 42 raises (DOMException); … … 59 59 raises (DOMException); 60 60 61 // We have to use custom code because our code generator does not support chartype.62 // void setInt8(in unsigned long byteOffset, in bytevalue);63 // void setUint8(in unsigned long byteOffset, in u nsigned bytevalue);61 // We have to use custom code because our code generator does not support uint8_t type. 62 // void setInt8(in unsigned long byteOffset, in int8_t value); 63 // void setUint8(in unsigned long byteOffset, in uint8_t value); 64 64 [Custom] void setInt8() 65 65 raises (DOMException);
Note: See TracChangeset
for help on using the changeset viewer.