Index: content/browser/media/capture/desktop_capture_device_unittest.cc |
diff --git a/content/browser/media/capture/desktop_capture_device_unittest.cc b/content/browser/media/capture/desktop_capture_device_unittest.cc |
index 738c85d80b493f48694f1f9e1f710a4c6f4c63da..63f655f4b3436c3534cee1c414d8bdfe3b44d16b 100644 |
--- a/content/browser/media/capture/desktop_capture_device_unittest.cc |
+++ b/content/browser/media/capture/desktop_capture_device_unittest.cc |
@@ -111,15 +111,15 @@ class MockDeviceClient : public media::VideoCaptureDevice::Client { |
// Creates a DesktopFrame that has the first pixel bytes set to |
// kFakePixelValueFirst, and the rest of the bytes set to kFakePixelValue, for |
// UnpackedFrame and InvertedFrame verification. |
-webrtc::BasicDesktopFrame* CreateBasicFrame(const webrtc::DesktopSize& size) { |
- webrtc::BasicDesktopFrame* frame = new webrtc::BasicDesktopFrame(size); |
+std::unique_ptr<webrtc::BasicDesktopFrame> CreateBasicFrame( |
+ const webrtc::DesktopSize& size) { |
+ std::unique_ptr<webrtc::BasicDesktopFrame> frame( |
+ new webrtc::BasicDesktopFrame(size)); |
DCHECK_EQ(frame->size().width() * webrtc::DesktopFrame::kBytesPerPixel, |
frame->stride()); |
- memset(frame->data(), |
- kFakePixelValue, |
+ memset(frame->data(), kFakePixelValue, |
frame->stride() * frame->size().height()); |
- memset(frame->data(), |
- kFakePixelValueFirst, |
+ memset(frame->data(), kFakePixelValueFirst, |
webrtc::DesktopFrame::kBytesPerPixel); |
return frame; |
} |
@@ -129,16 +129,16 @@ webrtc::BasicDesktopFrame* CreateBasicFrame(const webrtc::DesktopSize& size) { |
class InvertedDesktopFrame : public webrtc::DesktopFrame { |
public: |
// Takes ownership of |frame|. |
- explicit InvertedDesktopFrame(webrtc::DesktopFrame* frame) |
+ explicit InvertedDesktopFrame(std::unique_ptr<webrtc::DesktopFrame> frame) |
: webrtc::DesktopFrame( |
frame->size(), |
-frame->stride(), |
frame->data() + (frame->size().height() - 1) * frame->stride(), |
- frame->shared_memory()), |
- original_frame_(frame) { |
+ frame->shared_memory()) { |
set_dpi(frame->dpi()); |
set_capture_time_ms(frame->capture_time_ms()); |
mutable_updated_region()->Swap(frame->mutable_updated_region()); |
+ original_frame_ = std::move(frame); |
} |
~InvertedDesktopFrame() override {} |
@@ -152,17 +152,15 @@ class InvertedDesktopFrame : public webrtc::DesktopFrame { |
class UnpackedDesktopFrame : public webrtc::DesktopFrame { |
public: |
// Takes ownership of |frame|. |
- explicit UnpackedDesktopFrame(webrtc::DesktopFrame* frame) |
+ explicit UnpackedDesktopFrame(std::unique_ptr<webrtc::DesktopFrame> frame) |
: webrtc::DesktopFrame( |
frame->size(), |
frame->stride() * 2, |
new uint8_t[frame->stride() * 2 * frame->size().height()], |
- NULL) { |
+ nullptr) { |
memset(data(), kFramePaddingValue, stride() * size().height()); |
- CopyPixelsFrom(*frame, |
- webrtc::DesktopVector(), |
+ CopyPixelsFrom(*frame, webrtc::DesktopVector(), |
webrtc::DesktopRect::MakeSize(size())); |
- delete frame; |
} |
~UnpackedDesktopFrame() override { |
delete[] data_; |
@@ -203,14 +201,15 @@ class FakeScreenCapturer : public webrtc::ScreenCapturer { |
} |
frame_index_++; |
- webrtc::DesktopFrame* frame = CreateBasicFrame(size); |
+ std::unique_ptr<webrtc::DesktopFrame> frame = CreateBasicFrame(size); |
if (generate_inverted_frames_) { |
- frame = new InvertedDesktopFrame(frame); |
+ frame.reset(new InvertedDesktopFrame(std::move(frame))); |
} else if (generate_cropped_frames_) { |
- frame = new UnpackedDesktopFrame(frame); |
+ frame.reset(new UnpackedDesktopFrame(std::move(frame))); |
} |
- callback_->OnCaptureCompleted(frame); |
+ callback_->OnCaptureResult(webrtc::DesktopCapturer::Result::SUCCESS, |
+ std::move(frame)); |
} |
bool GetScreenList(ScreenList* screens) override { return false; } |
@@ -498,8 +497,8 @@ TEST_F(DesktopCaptureDeviceTest, UnpackedFrame) { |
// Verifies that |output_frame_| has the same data as a packed frame of the |
// same size. |
- std::unique_ptr<webrtc::BasicDesktopFrame> expected_frame(CreateBasicFrame( |
- webrtc::DesktopSize(kTestFrameWidth1, kTestFrameHeight1))); |
+ std::unique_ptr<webrtc::BasicDesktopFrame> expected_frame = CreateBasicFrame( |
+ webrtc::DesktopSize(kTestFrameWidth1, kTestFrameHeight1)); |
EXPECT_EQ(output_frame_->stride() * output_frame_->size().height(), |
frame_size); |
EXPECT_EQ( |