| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010 Google Inc. All rights reserved. | 2 * Copyright (C) 2010 Google 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 are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 terminate(); | 248 terminate(); |
| 249 } | 249 } |
| 250 | 250 |
| 251 bool FileReader::hasPendingActivity() const | 251 bool FileReader::hasPendingActivity() const |
| 252 { | 252 { |
| 253 return m_state == LOADING; | 253 return m_state == LOADING; |
| 254 } | 254 } |
| 255 | 255 |
| 256 void FileReader::readAsArrayBuffer(Blob* blob, ExceptionState& exceptionState) | 256 void FileReader::readAsArrayBuffer(Blob* blob, ExceptionState& exceptionState) |
| 257 { | 257 { |
| 258 if (!blob) { | 258 ASSERT(blob); |
| 259 exceptionState.throwTypeError("The argument is not a Blob."); | |
| 260 return; | |
| 261 } | |
| 262 | |
| 263 WTF_LOG(FileAPI, "FileReader: reading as array buffer: %s %s\n", utf8BlobUUI
D(blob).data(), utf8FilePath(blob).data()); | 259 WTF_LOG(FileAPI, "FileReader: reading as array buffer: %s %s\n", utf8BlobUUI
D(blob).data(), utf8FilePath(blob).data()); |
| 264 | 260 |
| 265 readInternal(blob, FileReaderLoader::ReadAsArrayBuffer, exceptionState); | 261 readInternal(blob, FileReaderLoader::ReadAsArrayBuffer, exceptionState); |
| 266 } | 262 } |
| 267 | 263 |
| 268 void FileReader::readAsBinaryString(Blob* blob, ExceptionState& exceptionState) | 264 void FileReader::readAsBinaryString(Blob* blob, ExceptionState& exceptionState) |
| 269 { | 265 { |
| 270 if (!blob) { | 266 ASSERT(blob); |
| 271 exceptionState.throwTypeError("The argument is not a Blob."); | |
| 272 return; | |
| 273 } | |
| 274 | |
| 275 WTF_LOG(FileAPI, "FileReader: reading as binary: %s %s\n", utf8BlobUUID(blob
).data(), utf8FilePath(blob).data()); | 267 WTF_LOG(FileAPI, "FileReader: reading as binary: %s %s\n", utf8BlobUUID(blob
).data(), utf8FilePath(blob).data()); |
| 276 | 268 |
| 277 readInternal(blob, FileReaderLoader::ReadAsBinaryString, exceptionState); | 269 readInternal(blob, FileReaderLoader::ReadAsBinaryString, exceptionState); |
| 278 } | 270 } |
| 279 | 271 |
| 280 void FileReader::readAsText(Blob* blob, const String& encoding, ExceptionState&
exceptionState) | 272 void FileReader::readAsText(Blob* blob, const String& encoding, ExceptionState&
exceptionState) |
| 281 { | 273 { |
| 282 if (!blob) { | 274 ASSERT(blob); |
| 283 exceptionState.throwTypeError("The argument is not a Blob."); | |
| 284 return; | |
| 285 } | |
| 286 | |
| 287 WTF_LOG(FileAPI, "FileReader: reading as text: %s %s\n", utf8BlobUUID(blob).
data(), utf8FilePath(blob).data()); | 275 WTF_LOG(FileAPI, "FileReader: reading as text: %s %s\n", utf8BlobUUID(blob).
data(), utf8FilePath(blob).data()); |
| 288 | 276 |
| 289 m_encoding = encoding; | 277 m_encoding = encoding; |
| 290 readInternal(blob, FileReaderLoader::ReadAsText, exceptionState); | 278 readInternal(blob, FileReaderLoader::ReadAsText, exceptionState); |
| 291 } | 279 } |
| 292 | 280 |
| 293 void FileReader::readAsText(Blob* blob, ExceptionState& exceptionState) | 281 void FileReader::readAsText(Blob* blob, ExceptionState& exceptionState) |
| 294 { | 282 { |
| 295 readAsText(blob, String(), exceptionState); | 283 readAsText(blob, String(), exceptionState); |
| 296 } | 284 } |
| 297 | 285 |
| 298 void FileReader::readAsDataURL(Blob* blob, ExceptionState& exceptionState) | 286 void FileReader::readAsDataURL(Blob* blob, ExceptionState& exceptionState) |
| 299 { | 287 { |
| 300 if (!blob) { | 288 ASSERT(blob); |
| 301 exceptionState.throwTypeError("The argument is not a Blob."); | |
| 302 return; | |
| 303 } | |
| 304 | |
| 305 WTF_LOG(FileAPI, "FileReader: reading as data URL: %s %s\n", utf8BlobUUID(bl
ob).data(), utf8FilePath(blob).data()); | 289 WTF_LOG(FileAPI, "FileReader: reading as data URL: %s %s\n", utf8BlobUUID(bl
ob).data(), utf8FilePath(blob).data()); |
| 306 | 290 |
| 307 readInternal(blob, FileReaderLoader::ReadAsDataURL, exceptionState); | 291 readInternal(blob, FileReaderLoader::ReadAsDataURL, exceptionState); |
| 308 } | 292 } |
| 309 | 293 |
| 310 void FileReader::readInternal(Blob* blob, FileReaderLoader::ReadType type, Excep
tionState& exceptionState) | 294 void FileReader::readInternal(Blob* blob, FileReaderLoader::ReadType type, Excep
tionState& exceptionState) |
| 311 { | 295 { |
| 312 // If multiple concurrent read methods are called on the same FileReader, In
validStateError should be thrown when the state is LOADING. | 296 // If multiple concurrent read methods are called on the same FileReader, In
validStateError should be thrown when the state is LOADING. |
| 313 if (m_state == LOADING) { | 297 if (m_state == LOADING) { |
| 314 exceptionState.throwDOMException(InvalidStateError, "The object is alrea
dy busy reading Blobs."); | 298 exceptionState.throwDOMException(InvalidStateError, "The object is alrea
dy busy reading Blobs."); |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 494 return m_loader->stringResult(); | 478 return m_loader->stringResult(); |
| 495 } | 479 } |
| 496 | 480 |
| 497 void FileReader::trace(Visitor* visitor) | 481 void FileReader::trace(Visitor* visitor) |
| 498 { | 482 { |
| 499 visitor->trace(m_error); | 483 visitor->trace(m_error); |
| 500 EventTargetWithInlineData::trace(visitor); | 484 EventTargetWithInlineData::trace(visitor); |
| 501 } | 485 } |
| 502 | 486 |
| 503 } // namespace blink | 487 } // namespace blink |
| OLD | NEW |