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

Issue 2210443002: [WebRTC] Implement Windows ScreenDrawer to test ScreenCapturer* (Closed)

Created:
4 years, 4 months ago by Hzj_jie
Modified:
4 years, 4 months ago
Reviewers:
Sergey Ulanov
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, Jamie
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Currently there is not way to programmically test whether a ScreenCapturer implementation can accurately capture updated regions. Especially in ScreenCapturerWinDirectx, which has a specific updated region spreading logic and cannot be tested through regular code path. So we need a controllable ScreenDrawer to draw some basic shapes on the screen. And a platform independent test case can use the ScreenDrawer to test a ScreenCapturer. So this change addes a ScreenDrawer virtual class, and its Windows implementation ScreenDrawerWin. A disabled gtest ScreenDrawerTest.DrawRectangles is also added to manually test whether ScreenDrawer can work on a certain platform. BUG=314516 TBR=kjellander@webrtc.org Committed: https://crrev.com/49c01d7f34aff7f80f647994be6198e80b73a787 Cr-Commit-Position: refs/heads/master@{#13788}

Patch Set 1 #

Patch Set 2 : Implement ScreenDrawer for X11 #

Total comments: 34

Patch Set 3 : Resolve review comments #

Patch Set 4 : Move ScreenDrawer::Clear to cc file #

Total comments: 2

Patch Set 5 : Resolve review comments #

Patch Set 6 : Remove XErrorHandler #

Patch Set 7 : Lint error, inconsistent local / online lint results #

Unified diffs Side-by-side diffs Delta from patch set Stats (+321 lines, -4 lines) Patch
M webrtc/modules/BUILD.gn View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
A webrtc/modules/desktop_capture/screen_drawer.h View 1 2 3 4 5 6 1 chunk +46 lines, -0 lines 0 comments Download
A webrtc/modules/desktop_capture/screen_drawer_linux.cc View 1 2 3 4 5 1 chunk +106 lines, -0 lines 0 comments Download
A + webrtc/modules/desktop_capture/screen_drawer_mac.cc View 1 2 1 chunk +7 lines, -4 lines 0 comments Download
A webrtc/modules/desktop_capture/screen_drawer_unittest.cc View 1 2 3 4 1 chunk +55 lines, -0 lines 0 comments Download
A webrtc/modules/desktop_capture/screen_drawer_win.cc View 1 2 3 4 1 chunk +97 lines, -0 lines 0 comments Download
M webrtc/modules/modules.gyp View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download

Messages

Total messages: 41 (18 generated)
Hzj_jie
4 years, 4 months ago (2016-08-03 04:21:09 UTC) #3
Sergey Ulanov
https://codereview.chromium.org/2210443002/diff/20001/webrtc/modules/desktop_capture/screen_drawer.cc File webrtc/modules/desktop_capture/screen_drawer.cc (right): https://codereview.chromium.org/2210443002/diff/20001/webrtc/modules/desktop_capture/screen_drawer.cc#newcode16 webrtc/modules/desktop_capture/screen_drawer.cc:16: ScreenDrawer::~ScreenDrawer() = default; these can be in the header, ...
4 years, 4 months ago (2016-08-09 17:43:02 UTC) #4
Sergey Ulanov
BTW, thanks for working on these tests - it's great that we will have proper ...
4 years, 4 months ago (2016-08-09 17:44:17 UTC) #5
Hzj_jie
https://codereview.chromium.org/2210443002/diff/20001/webrtc/modules/desktop_capture/screen_drawer.cc File webrtc/modules/desktop_capture/screen_drawer.cc (right): https://codereview.chromium.org/2210443002/diff/20001/webrtc/modules/desktop_capture/screen_drawer.cc#newcode16 webrtc/modules/desktop_capture/screen_drawer.cc:16: ScreenDrawer::~ScreenDrawer() = default; On 2016/08/09 17:43:00, Sergey Ulanov wrote: ...
4 years, 4 months ago (2016-08-11 18:42:04 UTC) #7
Sergey Ulanov
https://codereview.chromium.org/2210443002/diff/20001/webrtc/modules/desktop_capture/screen_drawer.h File webrtc/modules/desktop_capture/screen_drawer.h (right): https://codereview.chromium.org/2210443002/diff/20001/webrtc/modules/desktop_capture/screen_drawer.h#newcode42 webrtc/modules/desktop_capture/screen_drawer.h:42: void Clear() { DrawRectangle(DrawableRegion(), 0); } On 2016/08/11 18:42:03, ...
4 years, 4 months ago (2016-08-12 05:49:23 UTC) #8
Hzj_jie
On 2016/08/12 05:49:23, Sergey Ulanov wrote: > https://codereview.chromium.org/2210443002/diff/20001/webrtc/modules/desktop_capture/screen_drawer.h > File webrtc/modules/desktop_capture/screen_drawer.h (right): > > https://codereview.chromium.org/2210443002/diff/20001/webrtc/modules/desktop_capture/screen_drawer.h#newcode42 ...
4 years, 4 months ago (2016-08-12 19:17:22 UTC) #9
Sergey Ulanov
On 2016/08/12 19:17:22, Hzj_jie wrote: > On 2016/08/12 05:49:23, Sergey Ulanov wrote: > > > ...
4 years, 4 months ago (2016-08-12 20:41:46 UTC) #10
Hzj_jie
On 2016/08/12 20:41:46, Sergey Ulanov wrote: > On 2016/08/12 19:17:22, Hzj_jie wrote: > > On ...
4 years, 4 months ago (2016-08-15 00:37:38 UTC) #12
Hzj_jie
https://codereview.chromium.org/2210443002/diff/20001/webrtc/modules/desktop_capture/screen_drawer_unittest.cc File webrtc/modules/desktop_capture/screen_drawer_unittest.cc (right): https://codereview.chromium.org/2210443002/diff/20001/webrtc/modules/desktop_capture/screen_drawer_unittest.cc#newcode29 webrtc/modules/desktop_capture/screen_drawer_unittest.cc:29: TEST(ScreenDrawerTest, DISABLED_DrawRectangles) { On 2016/08/11 18:42:04, Hzj_jie wrote: > ...
4 years, 4 months ago (2016-08-15 00:37:47 UTC) #13
Hzj_jie
4 years, 4 months ago (2016-08-15 00:37:50 UTC) #14
Sergey Ulanov
lgtm when my comment is addressed https://codereview.chromium.org/2210443002/diff/80001/webrtc/modules/desktop_capture/screen_drawer_linux.cc File webrtc/modules/desktop_capture/screen_drawer_linux.cc (right): https://codereview.chromium.org/2210443002/diff/80001/webrtc/modules/desktop_capture/screen_drawer_linux.cc#newcode51 webrtc/modules/desktop_capture/screen_drawer_linux.cc:51: XSetIOErrorHandler(&XIOErrorHandler); I don't ...
4 years, 4 months ago (2016-08-15 21:41:09 UTC) #15
Hzj_jie
https://codereview.chromium.org/2210443002/diff/80001/webrtc/modules/desktop_capture/screen_drawer_linux.cc File webrtc/modules/desktop_capture/screen_drawer_linux.cc (right): https://codereview.chromium.org/2210443002/diff/80001/webrtc/modules/desktop_capture/screen_drawer_linux.cc#newcode51 webrtc/modules/desktop_capture/screen_drawer_linux.cc:51: XSetIOErrorHandler(&XIOErrorHandler); On 2016/08/15 21:41:09, Sergey Ulanov wrote: > I ...
4 years, 4 months ago (2016-08-15 23:47:19 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2210443002/140001
4 years, 4 months ago (2016-08-15 23:47:32 UTC) #19
commit-bot: I haz the power
Try jobs failed on following builders: presubmit on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/7438)
4 years, 4 months ago (2016-08-16 00:03:39 UTC) #21
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2210443002/160001
4 years, 4 months ago (2016-08-16 20:22:16 UTC) #24
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_rel on master.tryserver.webrtc (JOB_TIMED_OUT, no build URL)
4 years, 4 months ago (2016-08-16 20:31:46 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2210443002/160001
4 years, 4 months ago (2016-08-16 21:42:19 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: presubmit on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/7475)
4 years, 4 months ago (2016-08-16 21:51:15 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2210443002/160001
4 years, 4 months ago (2016-08-16 23:42:36 UTC) #32
commit-bot: I haz the power
Try jobs failed on following builders: presubmit on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/7479)
4 years, 4 months ago (2016-08-16 23:52:46 UTC) #34
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/2210443002/160001
4 years, 4 months ago (2016-08-17 00:03:22 UTC) #37
commit-bot: I haz the power
Committed patchset #7 (id:160001)
4 years, 4 months ago (2016-08-17 00:34:00 UTC) #39
commit-bot: I haz the power
4 years, 4 months ago (2016-08-17 00:34:08 UTC) #41
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/49c01d7f34aff7f80f647994be6198e80b73a787
Cr-Commit-Position: refs/heads/master@{#13788}

Powered by Google App Engine
This is Rietveld 408576698