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

Side by Side Diff: third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBuffer.h

Issue 2833123002: Replace ASSERT_NOT_REACHED, and RELEASE_ASSERT in platform/wtf (Closed)
Patch Set: wtf Created 3 years, 8 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 ArrayBufferContents contents(byte_length, 1, ArrayBufferContents::kNotShared, 138 ArrayBufferContents contents(byte_length, 1, ArrayBufferContents::kNotShared,
139 ArrayBufferContents::kDontInitialize); 139 ArrayBufferContents::kDontInitialize);
140 if (UNLIKELY(!contents.Data())) 140 if (UNLIKELY(!contents.Data()))
141 OOM_CRASH(); 141 OOM_CRASH();
142 RefPtr<ArrayBuffer> buffer = AdoptRef(new ArrayBuffer(contents)); 142 RefPtr<ArrayBuffer> buffer = AdoptRef(new ArrayBuffer(contents));
143 memcpy(buffer->Data(), source, byte_length); 143 memcpy(buffer->Data(), source, byte_length);
144 return buffer.Release(); 144 return buffer.Release();
145 } 145 }
146 146
147 PassRefPtr<ArrayBuffer> ArrayBuffer::Create(ArrayBufferContents& contents) { 147 PassRefPtr<ArrayBuffer> ArrayBuffer::Create(ArrayBufferContents& contents) {
148 RELEASE_ASSERT(contents.DataMaybeShared()); 148 CHECK(contents.DataMaybeShared());
149 return AdoptRef(new ArrayBuffer(contents)); 149 return AdoptRef(new ArrayBuffer(contents));
150 } 150 }
151 151
152 PassRefPtr<ArrayBuffer> ArrayBuffer::CreateOrNull(unsigned num_elements, 152 PassRefPtr<ArrayBuffer> ArrayBuffer::CreateOrNull(unsigned num_elements,
153 unsigned element_byte_size) { 153 unsigned element_byte_size) {
154 return CreateOrNull(num_elements, element_byte_size, 154 return CreateOrNull(num_elements, element_byte_size,
155 ArrayBufferContents::kZeroInitialize); 155 ArrayBufferContents::kZeroInitialize);
156 } 156 }
157 157
158 PassRefPtr<ArrayBuffer> ArrayBuffer::CreateUninitializedOrNull( 158 PassRefPtr<ArrayBuffer> ArrayBuffer::CreateUninitializedOrNull(
159 unsigned num_elements, 159 unsigned num_elements,
160 unsigned element_byte_size) { 160 unsigned element_byte_size) {
161 return CreateOrNull(num_elements, element_byte_size, 161 return CreateOrNull(num_elements, element_byte_size,
162 ArrayBufferContents::kDontInitialize); 162 ArrayBufferContents::kDontInitialize);
163 } 163 }
164 164
165 PassRefPtr<ArrayBuffer> ArrayBuffer::Create( 165 PassRefPtr<ArrayBuffer> ArrayBuffer::Create(
166 unsigned num_elements, 166 unsigned num_elements,
167 unsigned element_byte_size, 167 unsigned element_byte_size,
168 ArrayBufferContents::InitializationPolicy policy) { 168 ArrayBufferContents::InitializationPolicy policy) {
169 ArrayBufferContents contents(num_elements, element_byte_size, 169 ArrayBufferContents contents(num_elements, element_byte_size,
170 ArrayBufferContents::kNotShared, policy); 170 ArrayBufferContents::kNotShared, policy);
171 RELEASE_ASSERT(contents.Data()); 171 CHECK(contents.Data());
172 return AdoptRef(new ArrayBuffer(contents)); 172 return AdoptRef(new ArrayBuffer(contents));
173 } 173 }
174 174
175 PassRefPtr<ArrayBuffer> ArrayBuffer::CreateOrNull( 175 PassRefPtr<ArrayBuffer> ArrayBuffer::CreateOrNull(
176 unsigned num_elements, 176 unsigned num_elements,
177 unsigned element_byte_size, 177 unsigned element_byte_size,
178 ArrayBufferContents::InitializationPolicy policy) { 178 ArrayBufferContents::InitializationPolicy policy) {
179 ArrayBufferContents contents(num_elements, element_byte_size, 179 ArrayBufferContents contents(num_elements, element_byte_size,
180 ArrayBufferContents::kNotShared, policy); 180 ArrayBufferContents::kNotShared, policy);
181 if (!contents.Data()) 181 if (!contents.Data())
182 return nullptr; 182 return nullptr;
183 return AdoptRef(new ArrayBuffer(contents)); 183 return AdoptRef(new ArrayBuffer(contents));
184 } 184 }
185 185
186 PassRefPtr<ArrayBuffer> ArrayBuffer::CreateShared(unsigned num_elements, 186 PassRefPtr<ArrayBuffer> ArrayBuffer::CreateShared(unsigned num_elements,
187 unsigned element_byte_size) { 187 unsigned element_byte_size) {
188 return CreateShared(num_elements, element_byte_size, 188 return CreateShared(num_elements, element_byte_size,
189 ArrayBufferContents::kZeroInitialize); 189 ArrayBufferContents::kZeroInitialize);
190 } 190 }
191 191
192 PassRefPtr<ArrayBuffer> ArrayBuffer::CreateShared(const void* source, 192 PassRefPtr<ArrayBuffer> ArrayBuffer::CreateShared(const void* source,
193 unsigned byte_length) { 193 unsigned byte_length) {
194 ArrayBufferContents contents(byte_length, 1, ArrayBufferContents::kShared, 194 ArrayBufferContents contents(byte_length, 1, ArrayBufferContents::kShared,
195 ArrayBufferContents::kDontInitialize); 195 ArrayBufferContents::kDontInitialize);
196 RELEASE_ASSERT(contents.DataShared()); 196 CHECK(contents.DataShared());
197 RefPtr<ArrayBuffer> buffer = AdoptRef(new ArrayBuffer(contents)); 197 RefPtr<ArrayBuffer> buffer = AdoptRef(new ArrayBuffer(contents));
198 memcpy(buffer->DataShared(), source, byte_length); 198 memcpy(buffer->DataShared(), source, byte_length);
199 return buffer.Release(); 199 return buffer.Release();
200 } 200 }
201 201
202 PassRefPtr<ArrayBuffer> ArrayBuffer::CreateShared( 202 PassRefPtr<ArrayBuffer> ArrayBuffer::CreateShared(
203 unsigned num_elements, 203 unsigned num_elements,
204 unsigned element_byte_size, 204 unsigned element_byte_size,
205 ArrayBufferContents::InitializationPolicy policy) { 205 ArrayBufferContents::InitializationPolicy policy) {
206 ArrayBufferContents contents(num_elements, element_byte_size, 206 ArrayBufferContents contents(num_elements, element_byte_size,
207 ArrayBufferContents::kShared, policy); 207 ArrayBufferContents::kShared, policy);
208 RELEASE_ASSERT(contents.DataShared()); 208 CHECK(contents.DataShared());
209 return AdoptRef(new ArrayBuffer(contents)); 209 return AdoptRef(new ArrayBuffer(contents));
210 } 210 }
211 211
212 ArrayBuffer::ArrayBuffer(ArrayBufferContents& contents) 212 ArrayBuffer::ArrayBuffer(ArrayBufferContents& contents)
213 : first_view_(0), is_neutered_(false) { 213 : first_view_(0), is_neutered_(false) {
214 if (contents.IsShared()) 214 if (contents.IsShared())
215 contents.ShareWith(contents_); 215 contents.ShareWith(contents_);
216 else 216 else
217 contents.Transfer(contents_); 217 contents.Transfer(contents_);
218 } 218 }
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 if (index < 0) 264 if (index < 0)
265 index = current_length + index; 265 index = current_length + index;
266 return ClampValue(index, 0, current_length); 266 return ClampValue(index, 0, current_length);
267 } 267 }
268 268
269 } // namespace WTF 269 } // namespace WTF
270 270
271 using WTF::ArrayBuffer; 271 using WTF::ArrayBuffer;
272 272
273 #endif // ArrayBuffer_h 273 #endif // ArrayBuffer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698