diff options
author | hashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-06 10:19:48 +0000 |
---|---|---|
committer | hashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-06 10:19:48 +0000 |
commit | f22d143d405ded11ed23411d26a816bfaffe4d20 (patch) | |
tree | 2fbc4dc5c5071b0b5a2b4d93835fa1c1fc5c7b32 /content/browser/fileapi | |
parent | 9adee314749e04bc68c6c53e093d5e5f7660fc9b (diff) | |
download | chromium_src-f22d143d405ded11ed23411d26a816bfaffe4d20.zip chromium_src-f22d143d405ded11ed23411d26a816bfaffe4d20.tar.gz chromium_src-f22d143d405ded11ed23411d26a816bfaffe4d20.tar.bz2 |
Keep IPC related state as long as readDirectory returns has_more==true
BUG=347900
TEST=run_webkit_tests.sh http/tests/filesystem/\*
TEST=run_webkit_tests.sh http/tests/inspector/filesystem/\*
Review URL: https://codereview.chromium.org/187393004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@255287 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/fileapi')
-rw-r--r-- | content/browser/fileapi/fileapi_message_filter.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/content/browser/fileapi/fileapi_message_filter.cc b/content/browser/fileapi/fileapi_message_filter.cc index 97cd949..eaf5fa1 100644 --- a/content/browser/fileapi/fileapi_message_filter.cc +++ b/content/browser/fileapi/fileapi_message_filter.cc @@ -732,11 +732,14 @@ void FileAPIMessageFilter::DidReadDirectory( base::File::Error result, const std::vector<fileapi::DirectoryEntry>& entries, bool has_more) { - if (result == base::File::FILE_OK) + if (result == base::File::FILE_OK) { Send(new FileSystemMsg_DidReadDirectory(request_id, entries, has_more)); - else + } else { + DCHECK(!has_more); Send(new FileSystemMsg_DidFail(request_id, result)); - operations_.erase(request_id); + } + if (!has_more) + operations_.erase(request_id); } void FileAPIMessageFilter::DidWrite(int request_id, |