OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/media_galleries/fileapi/safe_audio_video_checker.h" | 5 #include "chrome/browser/media_galleries/fileapi/safe_audio_video_checker.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/callback.h" | 8 #include "base/callback.h" |
9 #include "base/location.h" | 9 #include "base/location.h" |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
47 | 47 |
48 void SafeAudioVideoChecker::OnProcessStarted() { | 48 void SafeAudioVideoChecker::OnProcessStarted() { |
49 DCHECK_CURRENTLY_ON(content::BrowserThread::IO); | 49 DCHECK_CURRENTLY_ON(content::BrowserThread::IO); |
50 if (state_ != PINGED_STATE) | 50 if (state_ != PINGED_STATE) |
51 return; | 51 return; |
52 state_ = STARTED_STATE; | 52 state_ = STARTED_STATE; |
53 | 53 |
54 if (utility_process_host_->GetData().handle == base::kNullProcessHandle) | 54 if (utility_process_host_->GetData().handle == base::kNullProcessHandle) |
55 DLOG(ERROR) << "Child process handle is null"; | 55 DLOG(ERROR) << "Child process handle is null"; |
56 IPC::PlatformFileForTransit file_for_transit = | 56 IPC::PlatformFileForTransit file_for_transit = |
57 IPC::TakeFileHandleForProcess(file_.Pass(), | 57 IPC::TakeFileHandleForProcess(file_.Pass(), |
rvargas (doing something else)
2014/08/05 23:40:19
nit: seems better to see if file_.IsValid() instea
Lei Zhang
2014/08/05 23:46:38
We already do that on line 35. I suspect maybe Dup
rvargas (doing something else)
2014/08/06 00:08:03
You are absolutely right!.
| |
58 utility_process_host_->GetData().handle); | 58 utility_process_host_->GetData().handle); |
59 if (file_for_transit == IPC::InvalidPlatformFileForTransit()) { | |
60 OnCheckingFinished(false /* valid? */); | |
61 return; | |
62 } | |
59 const int64 kFileDecodeTimeInMS = 250; | 63 const int64 kFileDecodeTimeInMS = 250; |
60 utility_process_host_->Send(new ChromeUtilityMsg_CheckMediaFile( | 64 utility_process_host_->Send(new ChromeUtilityMsg_CheckMediaFile( |
61 kFileDecodeTimeInMS, file_for_transit)); | 65 kFileDecodeTimeInMS, file_for_transit)); |
62 } | 66 } |
63 | 67 |
64 void SafeAudioVideoChecker::OnCheckingFinished(bool valid) { | 68 void SafeAudioVideoChecker::OnCheckingFinished(bool valid) { |
65 DCHECK_CURRENTLY_ON(content::BrowserThread::IO); | 69 DCHECK_CURRENTLY_ON(content::BrowserThread::IO); |
66 if (state_ != STARTED_STATE) | 70 if (state_ != STARTED_STATE) |
67 return; | 71 return; |
68 state_ = FINISHED_STATE; | 72 state_ = FINISHED_STATE; |
(...skipping 10 matching lines...) Expand all Loading... | |
79 bool handled = true; | 83 bool handled = true; |
80 IPC_BEGIN_MESSAGE_MAP(SafeAudioVideoChecker, message) | 84 IPC_BEGIN_MESSAGE_MAP(SafeAudioVideoChecker, message) |
81 IPC_MESSAGE_HANDLER(ChromeUtilityHostMsg_ProcessStarted, | 85 IPC_MESSAGE_HANDLER(ChromeUtilityHostMsg_ProcessStarted, |
82 OnProcessStarted) | 86 OnProcessStarted) |
83 IPC_MESSAGE_HANDLER(ChromeUtilityHostMsg_CheckMediaFile_Finished, | 87 IPC_MESSAGE_HANDLER(ChromeUtilityHostMsg_CheckMediaFile_Finished, |
84 OnCheckingFinished) | 88 OnCheckingFinished) |
85 IPC_MESSAGE_UNHANDLED(handled = false) | 89 IPC_MESSAGE_UNHANDLED(handled = false) |
86 IPC_END_MESSAGE_MAP() | 90 IPC_END_MESSAGE_MAP() |
87 return handled; | 91 return handled; |
88 } | 92 } |
OLD | NEW |