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

Side by Side Diff: content/browser/media/capture/cursor_renderer_aura_unittest.cc

Issue 2553763002: Fix cursor missing in tabCapture on OSX Sierra (Closed)
Patch Set: rebase Created 3 years, 11 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) 2015 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2015 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 "content/browser/media/capture/cursor_renderer_aura.h" 5 #include "content/browser/media/capture/cursor_renderer_aura.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 8
9 #include <memory> 9 #include <memory>
10 10
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 } 61 }
62 62
63 void SetTickClock(base::SimpleTestTickClock* clock) { 63 void SetTickClock(base::SimpleTestTickClock* clock) {
64 cursor_renderer_->tick_clock_ = clock; 64 cursor_renderer_->tick_clock_ = clock;
65 } 65 }
66 66
67 base::TimeTicks Now() { return cursor_renderer_->tick_clock_->NowTicks(); } 67 base::TimeTicks Now() { return cursor_renderer_->tick_clock_->NowTicks(); }
68 68
69 bool CursorDisplayed() { return cursor_renderer_->cursor_displayed_; } 69 bool CursorDisplayed() { return cursor_renderer_->cursor_displayed_; }
70 70
71 void RenderCursorOnVideoFrame( 71 void RenderCursorOnVideoFrame(media::VideoFrame* target) {
72 const scoped_refptr<media::VideoFrame>& target) {
73 cursor_renderer_->RenderOnVideoFrame(target); 72 cursor_renderer_->RenderOnVideoFrame(target);
74 } 73 }
75 74
76 void SnapshotCursorState(gfx::Rect region_in_frame) { 75 void SnapshotCursorState(gfx::Rect region_in_frame) {
77 cursor_renderer_->SnapshotCursorState(region_in_frame); 76 cursor_renderer_->SnapshotCursorState(region_in_frame);
78 } 77 }
79 78
80 void MoveMouseCursorWithinWindow() { 79 void MoveMouseCursorWithinWindow() {
81 gfx::Point point1(20, 20); 80 gfx::Point point1(20, 20);
82 ui::MouseEvent event1(ui::ET_MOUSE_MOVED, point1, point1, Now(), 0, 0); 81 ui::MouseEvent event1(ui::ET_MOUSE_MOVED, point1, point1, Now(), 0, 0);
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 scoped_refptr<media::VideoFrame> frame = 214 scoped_refptr<media::VideoFrame> frame =
216 media::VideoFrame::CreateZeroInitializedFrame(media::PIXEL_FORMAT_YV12, 215 media::VideoFrame::CreateZeroInitializedFrame(media::PIXEL_FORMAT_YV12,
217 size, gfx::Rect(size), size, 216 size, gfx::Rect(size), size,
218 base::TimeDelta()); 217 base::TimeDelta());
219 218
220 MoveMouseCursorWithinWindow(gfx::Point(60, 60)); 219 MoveMouseCursorWithinWindow(gfx::Point(60, 60));
221 SnapshotCursorState(gfx::Rect(size)); 220 SnapshotCursorState(gfx::Rect(size));
222 EXPECT_TRUE(CursorDisplayed()); 221 EXPECT_TRUE(CursorDisplayed());
223 222
224 EXPECT_FALSE(NonZeroPixelsInRegion(frame, gfx::Rect(50, 50, 70, 70))); 223 EXPECT_FALSE(NonZeroPixelsInRegion(frame, gfx::Rect(50, 50, 70, 70)));
225 RenderCursorOnVideoFrame(frame); 224 RenderCursorOnVideoFrame(frame.get());
226 EXPECT_TRUE(NonZeroPixelsInRegion(frame, gfx::Rect(50, 50, 70, 70))); 225 EXPECT_TRUE(NonZeroPixelsInRegion(frame, gfx::Rect(50, 50, 70, 70)));
227 } 226 }
228 227
229 TEST_F(CursorRendererAuraTest, CursorRenderedOnRootWindow) { 228 TEST_F(CursorRendererAuraTest, CursorRenderedOnRootWindow) {
230 cursor_renderer_.reset(new CursorRendererAura(root_window(), 229 cursor_renderer_.reset(new CursorRendererAura(root_window(),
231 kCursorEnabledOnMouseMovement)); 230 kCursorEnabledOnMouseMovement));
232 EXPECT_FALSE(CursorDisplayed()); 231 EXPECT_FALSE(CursorDisplayed());
233 232
234 // Cursor displayed after mouse movement. 233 // Cursor displayed after mouse movement.
235 MoveMouseCursorWithinWindow(); 234 MoveMouseCursorWithinWindow();
236 EXPECT_TRUE(CursorDisplayed()); 235 EXPECT_TRUE(CursorDisplayed());
237 236
238 // Cursor being displayed even if another window is activated. 237 // Cursor being displayed even if another window is activated.
239 std::unique_ptr<aura::Window> window2(aura::test::CreateTestWindowWithBounds( 238 std::unique_ptr<aura::Window> window2(aura::test::CreateTestWindowWithBounds(
240 gfx::Rect(0, 0, 800, 600), root_window())); 239 gfx::Rect(0, 0, 800, 600), root_window()));
241 wm::ActivateWindow(window2.get()); 240 wm::ActivateWindow(window2.get());
242 SnapshotCursorState(gfx::Rect(0, 0, 800, 600)); 241 SnapshotCursorState(gfx::Rect(0, 0, 800, 600));
243 EXPECT_TRUE(CursorDisplayed()); 242 EXPECT_TRUE(CursorDisplayed());
244 } 243 }
245 244
246 } // namespace content 245 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/media/capture/cursor_renderer_aura.cc ('k') | content/browser/media/capture/cursor_renderer_mac.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698