summaryrefslogtreecommitdiffstats
path: root/content/browser/fileapi
diff options
context:
space:
mode:
authorhashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-06 10:19:48 +0000
committerhashimoto@chromium.org <hashimoto@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-03-06 10:19:48 +0000
commitf22d143d405ded11ed23411d26a816bfaffe4d20 (patch)
tree2fbc4dc5c5071b0b5a2b4d93835fa1c1fc5c7b32 /content/browser/fileapi
parent9adee314749e04bc68c6c53e093d5e5f7660fc9b (diff)
downloadchromium_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.cc9
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,