Chromium Code Reviews| Index: webrtc/modules/desktop_capture/window_capturer_mac.mm |
| diff --git a/webrtc/modules/desktop_capture/window_capturer_mac.mm b/webrtc/modules/desktop_capture/window_capturer_mac.mm |
| index ac5fdb6bc1abd003873b6cee4579816f5e55ff5f..989534acb57b2acd42b94526869ad832d321b67e 100644 |
| --- a/webrtc/modules/desktop_capture/window_capturer_mac.mm |
| +++ b/webrtc/modules/desktop_capture/window_capturer_mac.mm |
| @@ -32,7 +32,7 @@ namespace { |
| // Returns true if the window exists. |
| bool IsWindowValid(CGWindowID id) { |
| CFArrayRef window_id_array = |
| - CFArrayCreate(NULL, reinterpret_cast<const void **>(&id), 1, NULL); |
| + CFArrayCreate(nullptr, reinterpret_cast<const void **>(&id), 1, nullptr); |
| CFArrayRef window_array = |
| CGWindowListCreateDescriptionFromArray(window_id_array); |
| bool valid = window_array && CFArrayGetCount(window_array); |
| @@ -58,10 +58,10 @@ class WindowCapturerMac : public WindowCapturer { |
| void Capture(const DesktopRegion& region) override; |
| private: |
| - Callback* callback_; |
| + Callback* callback_ = nullptr; |
| // The window being captured. |
| - CGWindowID window_id_; |
| + CGWindowID window_id_ = 0; |
| rtc::scoped_refptr<FullScreenChromeWindowDetector> |
| full_screen_chrome_window_detector_; |
| @@ -69,15 +69,12 @@ class WindowCapturerMac : public WindowCapturer { |
| RTC_DISALLOW_COPY_AND_ASSIGN(WindowCapturerMac); |
| }; |
| -WindowCapturerMac::WindowCapturerMac(rtc::scoped_refptr< |
| - FullScreenChromeWindowDetector> full_screen_chrome_window_detector) |
| - : callback_(NULL), |
| - window_id_(0), |
| - full_screen_chrome_window_detector_(full_screen_chrome_window_detector) { |
| -} |
| +WindowCapturerMac::WindowCapturerMac( |
| + rtc::scoped_refptr<FullScreenChromeWindowDetector> |
| + full_screen_chrome_window_detector) |
| + : full_screen_chrome_window_detector_(full_screen_chrome_window_detector) {} |
| -WindowCapturerMac::~WindowCapturerMac() { |
| -} |
| +WindowCapturerMac::~WindowCapturerMac() {} |
| bool WindowCapturerMac::GetWindowList(WindowList* windows) { |
| // Only get on screen, non-desktop windows. |
| @@ -142,11 +139,11 @@ bool WindowCapturerMac::BringSelectedWindowToFront() { |
| CGWindowID ids[1]; |
| ids[0] = window_id_; |
| CFArrayRef window_id_array = |
| - CFArrayCreate(NULL, reinterpret_cast<const void **>(&ids), 1, NULL); |
| + CFArrayCreate(nullptr, reinterpret_cast<const void **>(&ids), 1, nullptr); |
| CFArrayRef window_array = |
| CGWindowListCreateDescriptionFromArray(window_id_array); |
| - if (window_array == NULL || 0 == CFArrayGetCount(window_array)) { |
| + if (!window_array || 0 == CFArrayGetCount(window_array)) { |
| // Could not find the window. It might have been closed. |
| LOG(LS_INFO) << "Window not found"; |
| CFRelease(window_id_array); |
| @@ -181,7 +178,7 @@ void WindowCapturerMac::Start(Callback* callback) { |
| void WindowCapturerMac::Capture(const DesktopRegion& region) { |
| if (!IsWindowValid(window_id_)) { |
| - callback_->OnCaptureCompleted(NULL); |
| + callback_->OnCaptureCompleted(std::unique_ptr<DesktopFrame>()); |
|
Wez
2016/05/18 01:29:51
Why not using nullptr here?
Sergey Ulanov
2016/05/31 12:02:49
because OnCaptureCompleted(nullptr) would call wro
|
| return; |
| } |
| @@ -199,7 +196,7 @@ void WindowCapturerMac::Capture(const DesktopRegion& region) { |
| on_screen_window, kCGWindowImageBoundsIgnoreFraming); |
| if (!window_image) { |
| - callback_->OnCaptureCompleted(NULL); |
| + callback_->OnCaptureCompleted(std::unique_ptr<DesktopFrame>()); |
| return; |
| } |
| @@ -207,7 +204,7 @@ void WindowCapturerMac::Capture(const DesktopRegion& region) { |
| if (bits_per_pixel != 32) { |
| LOG(LS_ERROR) << "Unsupported window image depth: " << bits_per_pixel; |
| CFRelease(window_image); |
| - callback_->OnCaptureCompleted(NULL); |
| + callback_->OnCaptureCompleted(std::unique_ptr<DesktopFrame>()); |
| return; |
| } |
| @@ -215,8 +212,8 @@ void WindowCapturerMac::Capture(const DesktopRegion& region) { |
| int height = CGImageGetHeight(window_image); |
| CGDataProviderRef provider = CGImageGetDataProvider(window_image); |
| CFDataRef cf_data = CGDataProviderCopyData(provider); |
| - DesktopFrame* frame = new BasicDesktopFrame( |
| - DesktopSize(width, height)); |
| + std::unique_ptr<DesktopFrame> frame( |
| + new BasicDesktopFrame(DesktopSize(width, height))); |
| int src_stride = CGImageGetBytesPerRow(window_image); |
| const uint8_t* src_data = CFDataGetBytePtr(cf_data); |
| @@ -231,7 +228,7 @@ void WindowCapturerMac::Capture(const DesktopRegion& region) { |
| frame->mutable_updated_region()->SetRect( |
| DesktopRect::MakeSize(frame->size())); |
| - callback_->OnCaptureCompleted(frame); |
| + callback_->OnCaptureCompleted(std::move(frame)); |
| if (full_screen_chrome_window_detector_) |
| full_screen_chrome_window_detector_->UpdateWindowListIfNeeded(window_id_); |