OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2011, 2012 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 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 } | 157 } |
158 | 158 |
159 KURL rootURL = DOMFileSystemBase::createFileSystemRootURL(executionContext->
securityOrigin()->toString(), type); | 159 KURL rootURL = DOMFileSystemBase::createFileSystemRootURL(executionContext->
securityOrigin()->toString(), type); |
160 if (!rootURL.isValid()) { | 160 if (!rootURL.isValid()) { |
161 errorCallback->handleEvent(FileError::create(FileError::SYNTAX_ERR).get(
)); | 161 errorCallback->handleEvent(FileError::create(FileError::SYNTAX_ERR).get(
)); |
162 return; | 162 return; |
163 } | 163 } |
164 | 164 |
165 OwnPtr<EntryCallback> successCallback = CallbackDispatcherFactory<EntryCallb
ack>::create(this, &FileSystemRootRequest::didGetEntry); | 165 OwnPtr<EntryCallback> successCallback = CallbackDispatcherFactory<EntryCallb
ack>::create(this, &FileSystemRootRequest::didGetEntry); |
166 OwnPtr<AsyncFileSystemCallbacks> fileSystemCallbacks = ResolveURICallbacks::
create(successCallback.release(), errorCallback.release(), executionContext); | 166 OwnPtr<AsyncFileSystemCallbacks> fileSystemCallbacks = ResolveURICallbacks::
create(successCallback.release(), errorCallback.release(), executionContext); |
167 LocalFileSystem::from(executionContext)->resolveURL(executionContext, rootUR
L, fileSystemCallbacks.release()); | 167 LocalFileSystem::from(*executionContext)->resolveURL(executionContext, rootU
RL, fileSystemCallbacks.release()); |
168 } | 168 } |
169 | 169 |
170 bool FileSystemRootRequest::didGetEntry(Entry* entry) | 170 bool FileSystemRootRequest::didGetEntry(Entry* entry) |
171 { | 171 { |
172 RefPtr<TypeBuilder::FileSystem::Entry> result = TypeBuilder::FileSystem::Ent
ry::create() | 172 RefPtr<TypeBuilder::FileSystem::Entry> result = TypeBuilder::FileSystem::Ent
ry::create() |
173 .setUrl(entry->toURL()) | 173 .setUrl(entry->toURL()) |
174 .setName("/") | 174 .setName("/") |
175 .setIsDirectory(true); | 175 .setIsDirectory(true); |
176 reportResult(static_cast<FileError::ErrorCode>(0), result); | 176 reportResult(static_cast<FileError::ErrorCode>(0), result); |
177 return true; | 177 return true; |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
221 | 221 |
222 void DirectoryContentRequest::start(ExecutionContext* executionContext) | 222 void DirectoryContentRequest::start(ExecutionContext* executionContext) |
223 { | 223 { |
224 ASSERT(executionContext); | 224 ASSERT(executionContext); |
225 | 225 |
226 OwnPtr<ErrorCallback> errorCallback = CallbackDispatcherFactory<ErrorCallbac
k>::create(this, &DirectoryContentRequest::didHitError); | 226 OwnPtr<ErrorCallback> errorCallback = CallbackDispatcherFactory<ErrorCallbac
k>::create(this, &DirectoryContentRequest::didHitError); |
227 OwnPtr<EntryCallback> successCallback = CallbackDispatcherFactory<EntryCallb
ack>::create(this, &DirectoryContentRequest::didGetEntry); | 227 OwnPtr<EntryCallback> successCallback = CallbackDispatcherFactory<EntryCallb
ack>::create(this, &DirectoryContentRequest::didGetEntry); |
228 | 228 |
229 OwnPtr<AsyncFileSystemCallbacks> fileSystemCallbacks = ResolveURICallbacks::
create(successCallback.release(), errorCallback.release(), executionContext); | 229 OwnPtr<AsyncFileSystemCallbacks> fileSystemCallbacks = ResolveURICallbacks::
create(successCallback.release(), errorCallback.release(), executionContext); |
230 | 230 |
231 LocalFileSystem::from(executionContext)->resolveURL(executionContext, m_url,
fileSystemCallbacks.release()); | 231 LocalFileSystem::from(*executionContext)->resolveURL(executionContext, m_url
, fileSystemCallbacks.release()); |
232 } | 232 } |
233 | 233 |
234 bool DirectoryContentRequest::didGetEntry(Entry* entry) | 234 bool DirectoryContentRequest::didGetEntry(Entry* entry) |
235 { | 235 { |
236 if (!entry->isDirectory()) { | 236 if (!entry->isDirectory()) { |
237 reportResult(FileError::TYPE_MISMATCH_ERR); | 237 reportResult(FileError::TYPE_MISMATCH_ERR); |
238 return true; | 238 return true; |
239 } | 239 } |
240 | 240 |
241 m_directoryReader = toDirectoryEntry(entry)->createReader(); | 241 m_directoryReader = toDirectoryEntry(entry)->createReader(); |
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
337 bool m_isDirectory; | 337 bool m_isDirectory; |
338 }; | 338 }; |
339 | 339 |
340 void MetadataRequest::start(ExecutionContext* executionContext) | 340 void MetadataRequest::start(ExecutionContext* executionContext) |
341 { | 341 { |
342 ASSERT(executionContext); | 342 ASSERT(executionContext); |
343 | 343 |
344 OwnPtr<ErrorCallback> errorCallback = CallbackDispatcherFactory<ErrorCallbac
k>::create(this, &MetadataRequest::didHitError); | 344 OwnPtr<ErrorCallback> errorCallback = CallbackDispatcherFactory<ErrorCallbac
k>::create(this, &MetadataRequest::didHitError); |
345 OwnPtr<EntryCallback> successCallback = CallbackDispatcherFactory<EntryCallb
ack>::create(this, &MetadataRequest::didGetEntry); | 345 OwnPtr<EntryCallback> successCallback = CallbackDispatcherFactory<EntryCallb
ack>::create(this, &MetadataRequest::didGetEntry); |
346 OwnPtr<AsyncFileSystemCallbacks> fileSystemCallbacks = ResolveURICallbacks::
create(successCallback.release(), errorCallback.release(), executionContext); | 346 OwnPtr<AsyncFileSystemCallbacks> fileSystemCallbacks = ResolveURICallbacks::
create(successCallback.release(), errorCallback.release(), executionContext); |
347 LocalFileSystem::from(executionContext)->resolveURL(executionContext, m_url,
fileSystemCallbacks.release()); | 347 LocalFileSystem::from(*executionContext)->resolveURL(executionContext, m_url
, fileSystemCallbacks.release()); |
348 } | 348 } |
349 | 349 |
350 bool MetadataRequest::didGetEntry(Entry* entry) | 350 bool MetadataRequest::didGetEntry(Entry* entry) |
351 { | 351 { |
352 if (!entry->filesystem()->executionContext()) { | 352 if (!entry->filesystem()->executionContext()) { |
353 reportResult(FileError::ABORT_ERR); | 353 reportResult(FileError::ABORT_ERR); |
354 return true; | 354 return true; |
355 } | 355 } |
356 | 356 |
357 OwnPtr<MetadataCallback> successCallback = CallbackDispatcherFactory<Metadat
aCallback>::create(this, &MetadataRequest::didGetMetadata); | 357 OwnPtr<MetadataCallback> successCallback = CallbackDispatcherFactory<Metadat
aCallback>::create(this, &MetadataRequest::didGetMetadata); |
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
436 }; | 436 }; |
437 | 437 |
438 void FileContentRequest::start(ExecutionContext* executionContext) | 438 void FileContentRequest::start(ExecutionContext* executionContext) |
439 { | 439 { |
440 ASSERT(executionContext); | 440 ASSERT(executionContext); |
441 | 441 |
442 OwnPtr<ErrorCallback> errorCallback = CallbackDispatcherFactory<ErrorCallbac
k>::create(this, &FileContentRequest::didHitError); | 442 OwnPtr<ErrorCallback> errorCallback = CallbackDispatcherFactory<ErrorCallbac
k>::create(this, &FileContentRequest::didHitError); |
443 OwnPtr<EntryCallback> successCallback = CallbackDispatcherFactory<EntryCallb
ack>::create(this, &FileContentRequest::didGetEntry); | 443 OwnPtr<EntryCallback> successCallback = CallbackDispatcherFactory<EntryCallb
ack>::create(this, &FileContentRequest::didGetEntry); |
444 | 444 |
445 OwnPtr<AsyncFileSystemCallbacks> fileSystemCallbacks = ResolveURICallbacks::
create(successCallback.release(), errorCallback.release(), executionContext); | 445 OwnPtr<AsyncFileSystemCallbacks> fileSystemCallbacks = ResolveURICallbacks::
create(successCallback.release(), errorCallback.release(), executionContext); |
446 LocalFileSystem::from(executionContext)->resolveURL(executionContext, m_url,
fileSystemCallbacks.release()); | 446 LocalFileSystem::from(*executionContext)->resolveURL(executionContext, m_url
, fileSystemCallbacks.release()); |
447 } | 447 } |
448 | 448 |
449 bool FileContentRequest::didGetEntry(Entry* entry) | 449 bool FileContentRequest::didGetEntry(Entry* entry) |
450 { | 450 { |
451 if (entry->isDirectory()) { | 451 if (entry->isDirectory()) { |
452 reportResult(FileError::TYPE_MISMATCH_ERR); | 452 reportResult(FileError::TYPE_MISMATCH_ERR); |
453 return true; | 453 return true; |
454 } | 454 } |
455 | 455 |
456 if (!entry->filesystem()->executionContext()) { | 456 if (!entry->filesystem()->executionContext()) { |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
558 FileSystemType type; | 558 FileSystemType type; |
559 String path; | 559 String path; |
560 if (!DOMFileSystemBase::crackFileSystemURL(m_url, type, path)) { | 560 if (!DOMFileSystemBase::crackFileSystemURL(m_url, type, path)) { |
561 errorCallback->handleEvent(FileError::create(FileError::SYNTAX_ERR).get(
)); | 561 errorCallback->handleEvent(FileError::create(FileError::SYNTAX_ERR).get(
)); |
562 return; | 562 return; |
563 } | 563 } |
564 | 564 |
565 if (path == "/") { | 565 if (path == "/") { |
566 OwnPtr<VoidCallback> successCallback = adoptPtr(new VoidCallbackImpl(thi
s)); | 566 OwnPtr<VoidCallback> successCallback = adoptPtr(new VoidCallbackImpl(thi
s)); |
567 OwnPtr<AsyncFileSystemCallbacks> fileSystemCallbacks = VoidCallbacks::cr
eate(successCallback.release(), errorCallback.release(), 0); | 567 OwnPtr<AsyncFileSystemCallbacks> fileSystemCallbacks = VoidCallbacks::cr
eate(successCallback.release(), errorCallback.release(), 0); |
568 LocalFileSystem::from(executionContext)->deleteFileSystem(executionConte
xt, type, fileSystemCallbacks.release()); | 568 LocalFileSystem::from(*executionContext)->deleteFileSystem(executionCont
ext, type, fileSystemCallbacks.release()); |
569 } else { | 569 } else { |
570 OwnPtr<EntryCallback> successCallback = CallbackDispatcherFactory<EntryC
allback>::create(this, &DeleteEntryRequest::didGetEntry); | 570 OwnPtr<EntryCallback> successCallback = CallbackDispatcherFactory<EntryC
allback>::create(this, &DeleteEntryRequest::didGetEntry); |
571 OwnPtr<AsyncFileSystemCallbacks> fileSystemCallbacks = ResolveURICallbac
ks::create(successCallback.release(), errorCallback.release(), executionContext)
; | 571 OwnPtr<AsyncFileSystemCallbacks> fileSystemCallbacks = ResolveURICallbac
ks::create(successCallback.release(), errorCallback.release(), executionContext)
; |
572 LocalFileSystem::from(executionContext)->resolveURL(executionContext, m_
url, fileSystemCallbacks.release()); | 572 LocalFileSystem::from(*executionContext)->resolveURL(executionContext, m
_url, fileSystemCallbacks.release()); |
573 } | 573 } |
574 } | 574 } |
575 | 575 |
576 bool DeleteEntryRequest::didGetEntry(Entry* entry) | 576 bool DeleteEntryRequest::didGetEntry(Entry* entry) |
577 { | 577 { |
578 OwnPtr<VoidCallback> successCallback = adoptPtr(new VoidCallbackImpl(this)); | 578 OwnPtr<VoidCallback> successCallback = adoptPtr(new VoidCallbackImpl(this)); |
579 OwnPtr<ErrorCallback> errorCallback = CallbackDispatcherFactory<ErrorCallbac
k>::create(this, &DeleteEntryRequest::didHitError); | 579 OwnPtr<ErrorCallback> errorCallback = CallbackDispatcherFactory<ErrorCallbac
k>::create(this, &DeleteEntryRequest::didHitError); |
580 if (entry->isDirectory()) { | 580 if (entry->isDirectory()) { |
581 DirectoryEntry* directoryEntry = toDirectoryEntry(entry); | 581 DirectoryEntry* directoryEntry = toDirectoryEntry(entry); |
582 directoryEntry->removeRecursively(successCallback.release(), errorCallba
ck.release()); | 582 directoryEntry->removeRecursively(successCallback.release(), errorCallba
ck.release()); |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
717 for (Frame* frame = m_page->mainFrame(); frame; frame = frame->tree().traver
seNext()) { | 717 for (Frame* frame = m_page->mainFrame(); frame; frame = frame->tree().traver
seNext()) { |
718 if (frame->document() && frame->document()->securityOrigin()->isSameSche
meHostPort(origin)) | 718 if (frame->document() && frame->document()->securityOrigin()->isSameSche
meHostPort(origin)) |
719 return frame->document(); | 719 return frame->document(); |
720 } | 720 } |
721 | 721 |
722 *error = "No frame is available for the request"; | 722 *error = "No frame is available for the request"; |
723 return 0; | 723 return 0; |
724 } | 724 } |
725 | 725 |
726 } // namespace WebCore | 726 } // namespace WebCore |
OLD | NEW |