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

Side by Side Diff: chrome/browser/chromeos/camera_detector.cc

Issue 1036723003: favor DCHECK_CURRENTLY_ON for better logs in chrome/browser/chromeos/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/camera_detector.h" 5 #include "chrome/browser/chromeos/camera_detector.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/files/file_enumerator.h" 8 #include "base/files/file_enumerator.h"
9 #include "base/files/file_util.h" 9 #include "base/files/file_util.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 23 matching lines...) Expand all
34 34
35 // static 35 // static
36 CameraDetector::CameraPresence CameraDetector::camera_presence_ = 36 CameraDetector::CameraPresence CameraDetector::camera_presence_ =
37 CameraDetector::kCameraPresenceUnknown; 37 CameraDetector::kCameraPresenceUnknown;
38 38
39 // static 39 // static
40 bool CameraDetector::presence_check_in_progress_ = false; 40 bool CameraDetector::presence_check_in_progress_ = false;
41 41
42 // static 42 // static
43 void CameraDetector::StartPresenceCheck(const base::Closure& callback) { 43 void CameraDetector::StartPresenceCheck(const base::Closure& callback) {
44 DCHECK(BrowserThread::CurrentlyOn(content::BrowserThread::UI)); 44 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
45 if (presence_check_in_progress_) 45 if (presence_check_in_progress_)
46 return; 46 return;
47 DVLOG(1) << "Starting camera presence check"; 47 DVLOG(1) << "Starting camera presence check";
48 presence_check_in_progress_ = true; 48 presence_check_in_progress_ = true;
49 base::PostTaskAndReplyWithResult( 49 base::PostTaskAndReplyWithResult(
50 BrowserThread::GetBlockingPool()->GetTaskRunnerWithShutdownBehavior( 50 BrowserThread::GetBlockingPool()->GetTaskRunnerWithShutdownBehavior(
51 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN).get(), 51 base::SequencedWorkerPool::SKIP_ON_SHUTDOWN).get(),
52 FROM_HERE, 52 FROM_HERE,
53 base::Bind(&CameraDetector::CheckPresence), 53 base::Bind(&CameraDetector::CheckPresence),
54 base::Bind(&CameraDetector::OnPresenceCheckDone, callback)); 54 base::Bind(&CameraDetector::OnPresenceCheckDone, callback));
55 } 55 }
56 56
57 // static 57 // static
58 void CameraDetector::OnPresenceCheckDone(const base::Closure& callback, 58 void CameraDetector::OnPresenceCheckDone(const base::Closure& callback,
59 bool present) { 59 bool present) {
60 DCHECK(BrowserThread::CurrentlyOn(content::BrowserThread::UI)); 60 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
61 camera_presence_ = present ? kCameraPresent : kCameraAbsent; 61 camera_presence_ = present ? kCameraPresent : kCameraAbsent;
62 presence_check_in_progress_ = false; 62 presence_check_in_progress_ = false;
63 callback.Run(); 63 callback.Run();
64 } 64 }
65 65
66 // static 66 // static
67 bool CameraDetector::CheckPresence() { 67 bool CameraDetector::CheckPresence() {
68 // We do a quick check using udev database because opening each /dev/videoX 68 // We do a quick check using udev database because opening each /dev/videoX
69 // device may trigger costly device initialization. 69 // device may trigger costly device initialization.
70 base::FileEnumerator file_enum( 70 base::FileEnumerator file_enum(
71 base::FilePath(kV4LSubsystemDir), false /* not recursive */, 71 base::FilePath(kV4LSubsystemDir), false /* not recursive */,
72 base::FileEnumerator::FILES | base::FileEnumerator::SHOW_SYM_LINKS); 72 base::FileEnumerator::FILES | base::FileEnumerator::SHOW_SYM_LINKS);
73 for (base::FilePath path = file_enum.Next(); !path.empty(); 73 for (base::FilePath path = file_enum.Next(); !path.empty();
74 path = file_enum.Next()) { 74 path = file_enum.Next()) {
75 std::string v4l_capabilities; 75 std::string v4l_capabilities;
76 if (storage_monitor::GetUdevDevicePropertyValueByPath( 76 if (storage_monitor::GetUdevDevicePropertyValueByPath(
77 path, kV4LCapabilities, &v4l_capabilities)) { 77 path, kV4LCapabilities, &v4l_capabilities)) {
78 std::vector<std::string> caps; 78 std::vector<std::string> caps;
79 base::SplitString(v4l_capabilities, kV4LCapabilitiesDelim, &caps); 79 base::SplitString(v4l_capabilities, kV4LCapabilitiesDelim, &caps);
80 if (find(caps.begin(), caps.end(), kV4LCaptureCapability) != caps.end()) { 80 if (find(caps.begin(), caps.end(), kV4LCaptureCapability) != caps.end()) {
81 return true; 81 return true;
82 } 82 }
83 } 83 }
84 } 84 }
85 return false; 85 return false;
86 } 86 }
87 87
88 } // namespace chromeos 88 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/boot_times_recorder.cc ('k') | chrome/browser/chromeos/customization/customization_document.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698