| OLD | NEW | 
|---|
| 1 /* | 1 /* | 
| 2  *  Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2  *  Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 
| 3  * | 3  * | 
| 4  *  Use of this source code is governed by a BSD-style license | 4  *  Use of this source code is governed by a BSD-style license | 
| 5  *  that can be found in the LICENSE file in the root of the source | 5  *  that can be found in the LICENSE file in the root of the source | 
| 6  *  tree. An additional intellectual property rights grant can be found | 6  *  tree. An additional intellectual property rights grant can be found | 
| 7  *  in the file PATENTS.  All contributing project authors may | 7  *  in the file PATENTS.  All contributing project authors may | 
| 8  *  be found in the AUTHORS file in the root of the source tree. | 8  *  be found in the AUTHORS file in the root of the source tree. | 
| 9  */ | 9  */ | 
| 10 | 10 | 
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 67     selected_window_ = id; | 67     selected_window_ = id; | 
| 68     return true; | 68     return true; | 
| 69   } | 69   } | 
| 70   return false; | 70   return false; | 
| 71 } | 71 } | 
| 72 | 72 | 
| 73 bool CroppingWindowCapturer::BringSelectedWindowToFront() { | 73 bool CroppingWindowCapturer::BringSelectedWindowToFront() { | 
| 74   return window_capturer_->BringSelectedWindowToFront(); | 74   return window_capturer_->BringSelectedWindowToFront(); | 
| 75 } | 75 } | 
| 76 | 76 | 
| 77 void CroppingWindowCapturer::OnCaptureCompleted(DesktopFrame* frame) { | 77 void CroppingWindowCapturer::OnCaptureResult( | 
| 78   std::unique_ptr<DesktopFrame> screen_frame(frame); | 78     DesktopCapturer::Result result, | 
| 79 | 79     std::unique_ptr<DesktopFrame> screen_frame) { | 
| 80   if (!ShouldUseScreenCapturer()) { | 80   if (!ShouldUseScreenCapturer()) { | 
| 81     LOG(LS_INFO) << "Window no longer on top when ScreenCapturer finishes"; | 81     LOG(LS_INFO) << "Window no longer on top when ScreenCapturer finishes"; | 
| 82     window_capturer_->Capture(DesktopRegion()); | 82     window_capturer_->Capture(DesktopRegion()); | 
| 83     return; | 83     return; | 
| 84   } | 84   } | 
| 85 | 85 | 
| 86   if (!frame) { | 86   if (result != Result::SUCCESS) { | 
| 87     LOG(LS_WARNING) << "ScreenCapturer failed to capture a frame"; | 87     LOG(LS_WARNING) << "ScreenCapturer failed to capture a frame"; | 
| 88     callback_->OnCaptureCompleted(NULL); | 88     callback_->OnCaptureResult(result, nullptr); | 
| 89     return; | 89     return; | 
| 90   } | 90   } | 
| 91 | 91 | 
| 92   DesktopRect window_rect = GetWindowRectInVirtualScreen(); | 92   DesktopRect window_rect = GetWindowRectInVirtualScreen(); | 
| 93   if (window_rect.is_empty()) { | 93   if (window_rect.is_empty()) { | 
| 94     LOG(LS_WARNING) << "Window rect is empty"; | 94     LOG(LS_WARNING) << "Window rect is empty"; | 
| 95     callback_->OnCaptureCompleted(NULL); | 95     callback_->OnCaptureResult(Result::ERROR_TEMPORARY, nullptr); | 
| 96     return; | 96     return; | 
| 97   } | 97   } | 
| 98 | 98 | 
| 99   std::unique_ptr<DesktopFrame> window_frame( | 99   callback_->OnCaptureResult( | 
| 100       CreateCroppedDesktopFrame(screen_frame.release(), window_rect)); | 100       Result::SUCCESS, | 
| 101   callback_->OnCaptureCompleted(window_frame.release()); | 101       CreateCroppedDesktopFrame(std::move(screen_frame), window_rect)); | 
| 102 } | 102 } | 
| 103 | 103 | 
| 104 #if !defined(WEBRTC_WIN) | 104 #if !defined(WEBRTC_WIN) | 
| 105 // static | 105 // static | 
| 106 WindowCapturer* | 106 WindowCapturer* | 
| 107 CroppingWindowCapturer::Create(const DesktopCaptureOptions& options) { | 107 CroppingWindowCapturer::Create(const DesktopCaptureOptions& options) { | 
| 108   return WindowCapturer::Create(options); | 108   return WindowCapturer::Create(options); | 
| 109 } | 109 } | 
| 110 #endif | 110 #endif | 
| 111 | 111 | 
| 112 }  // namespace webrtc | 112 }  // namespace webrtc | 
| OLD | NEW | 
|---|