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

Side by Side Diff: chrome/browser/chromeos/extensions/file_manager/event_router.cc

Issue 1194783002: Add fileManagerPrivate.onCopyError event. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove const and rename enum. Created 5 years, 6 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/extensions/file_manager/private_api_file_system.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/chromeos/extensions/file_manager/event_router.h" 5 #include "chrome/browser/chromeos/extensions/file_manager/event_router.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/files/file_util.h" 9 #include "base/files/file_util.h"
10 #include "base/prefs/pref_change_registrar.h" 10 #include "base/prefs/pref_change_registrar.h"
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
173 file_manager_private::CopyProgressStatusType 173 file_manager_private::CopyProgressStatusType
174 CopyProgressTypeToCopyProgressStatusType( 174 CopyProgressTypeToCopyProgressStatusType(
175 storage::FileSystemOperation::CopyProgressType type) { 175 storage::FileSystemOperation::CopyProgressType type) {
176 switch (type) { 176 switch (type) {
177 case storage::FileSystemOperation::BEGIN_COPY_ENTRY: 177 case storage::FileSystemOperation::BEGIN_COPY_ENTRY:
178 return file_manager_private::COPY_PROGRESS_STATUS_TYPE_BEGIN_COPY_ENTRY; 178 return file_manager_private::COPY_PROGRESS_STATUS_TYPE_BEGIN_COPY_ENTRY;
179 case storage::FileSystemOperation::END_COPY_ENTRY: 179 case storage::FileSystemOperation::END_COPY_ENTRY:
180 return file_manager_private::COPY_PROGRESS_STATUS_TYPE_END_COPY_ENTRY; 180 return file_manager_private::COPY_PROGRESS_STATUS_TYPE_END_COPY_ENTRY;
181 case storage::FileSystemOperation::PROGRESS: 181 case storage::FileSystemOperation::PROGRESS:
182 return file_manager_private::COPY_PROGRESS_STATUS_TYPE_PROGRESS; 182 return file_manager_private::COPY_PROGRESS_STATUS_TYPE_PROGRESS;
183 case storage::FileSystemOperation::ERROR_COPY_ENTRY:
184 return file_manager_private::COPY_PROGRESS_STATUS_TYPE_ERROR;
183 } 185 }
184 NOTREACHED(); 186 NOTREACHED();
185 return file_manager_private::COPY_PROGRESS_STATUS_TYPE_NONE; 187 return file_manager_private::COPY_PROGRESS_STATUS_TYPE_NONE;
186 } 188 }
187 189
188 file_manager_private::ChangeType ConvertChangeTypeFromDriveToApi( 190 file_manager_private::ChangeType ConvertChangeTypeFromDriveToApi(
189 drive::FileChange::ChangeType type) { 191 drive::FileChange::ChangeType type) {
190 switch (type) { 192 switch (type) {
191 case drive::FileChange::CHANGE_TYPE_ADD_OR_UPDATE: 193 case drive::FileChange::CHANGE_TYPE_ADD_OR_UPDATE:
192 return file_manager_private::CHANGE_TYPE_ADD_OR_UPDATE; 194 return file_manager_private::CHANGE_TYPE_ADD_OR_UPDATE;
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 int copy_id, 539 int copy_id,
538 storage::FileSystemOperation::CopyProgressType type, 540 storage::FileSystemOperation::CopyProgressType type,
539 const GURL& source_url, 541 const GURL& source_url,
540 const GURL& destination_url, 542 const GURL& destination_url,
541 int64 size) { 543 int64 size) {
542 DCHECK_CURRENTLY_ON(BrowserThread::UI); 544 DCHECK_CURRENTLY_ON(BrowserThread::UI);
543 545
544 file_manager_private::CopyProgressStatus status; 546 file_manager_private::CopyProgressStatus status;
545 status.type = CopyProgressTypeToCopyProgressStatusType(type); 547 status.type = CopyProgressTypeToCopyProgressStatusType(type);
546 status.source_url.reset(new std::string(source_url.spec())); 548 status.source_url.reset(new std::string(source_url.spec()));
547 if (type == storage::FileSystemOperation::END_COPY_ENTRY) 549 if (type == storage::FileSystemOperation::END_COPY_ENTRY ||
550 type == storage::FileSystemOperation::ERROR_COPY_ENTRY)
548 status.destination_url.reset(new std::string(destination_url.spec())); 551 status.destination_url.reset(new std::string(destination_url.spec()));
552 if (type == storage::FileSystemOperation::ERROR_COPY_ENTRY)
553 status.error.reset(
554 new std::string(FileErrorToErrorName(base::File::FILE_ERROR_FAILED)));
549 if (type == storage::FileSystemOperation::PROGRESS) 555 if (type == storage::FileSystemOperation::PROGRESS)
550 status.size.reset(new double(size)); 556 status.size.reset(new double(size));
551 557
558 // Discard error progress since current JS code cannot handle this properly.
559 // TODO(yawano): Remove this after JS side is implemented correctly.
560 if (type == storage::FileSystemOperation::ERROR_COPY_ENTRY)
561 return;
562
552 // Should not skip events other than TYPE_PROGRESS. 563 // Should not skip events other than TYPE_PROGRESS.
553 const bool always = 564 const bool always =
554 status.type != file_manager_private::COPY_PROGRESS_STATUS_TYPE_PROGRESS; 565 status.type != file_manager_private::COPY_PROGRESS_STATUS_TYPE_PROGRESS;
555 if (!ShouldSendProgressEvent(always, &last_copy_progress_event_)) 566 if (!ShouldSendProgressEvent(always, &last_copy_progress_event_))
556 return; 567 return;
557 568
558 BroadcastEvent( 569 BroadcastEvent(
559 profile_, 570 profile_,
560 file_manager_private::OnCopyProgress::kEventName, 571 file_manager_private::OnCopyProgress::kEventName,
561 file_manager_private::OnCopyProgress::Create(copy_id, status)); 572 file_manager_private::OnCopyProgress::Create(copy_id, status));
(...skipping 356 matching lines...) Expand 10 before | Expand all | Expand 10 after
918 void EventRouter::SetDispatchDirectoryChangeEventImplForTesting( 929 void EventRouter::SetDispatchDirectoryChangeEventImplForTesting(
919 const DispatchDirectoryChangeEventImplCallback& callback) { 930 const DispatchDirectoryChangeEventImplCallback& callback) {
920 dispatch_directory_change_event_impl_ = callback; 931 dispatch_directory_change_event_impl_ = callback;
921 } 932 }
922 933
923 base::WeakPtr<EventRouter> EventRouter::GetWeakPtr() { 934 base::WeakPtr<EventRouter> EventRouter::GetWeakPtr() {
924 return weak_factory_.GetWeakPtr(); 935 return weak_factory_.GetWeakPtr();
925 } 936 }
926 937
927 } // namespace file_manager 938 } // namespace file_manager
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/extensions/file_manager/private_api_file_system.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698