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

Side by Side Diff: chrome/browser/extensions/api/desktop_capture/desktop_capture_apitest.cc

Issue 1880693002: Desktop Capture Picker New UI: Preliminary Refactor (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Nit Created 4 years, 8 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
« no previous file with comments | « no previous file | chrome/browser/extensions/api/desktop_capture/desktop_capture_base.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 <queue> 5 #include <array>
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/path_service.h" 9 #include "base/path_service.h"
10 #include "base/strings/string_number_conversions.h" 10 #include "base/strings/string_number_conversions.h"
11 #include "base/thread_task_runner_handle.h" 11 #include "base/thread_task_runner_handle.h"
12 #include "build/build_config.h" 12 #include "build/build_config.h"
13 #include "chrome/browser/extensions/api/desktop_capture/desktop_capture_api.h" 13 #include "chrome/browser/extensions/api/desktop_capture/desktop_capture_api.h"
14 #include "chrome/browser/extensions/extension_apitest.h" 14 #include "chrome/browser/extensions/extension_apitest.h"
15 #include "chrome/browser/media/fake_desktop_media_list.h" 15 #include "chrome/browser/media/fake_desktop_media_list.h"
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 expectation_->picker_created = true; 49 expectation_->picker_created = true;
50 } 50 }
51 ~FakeDesktopMediaPicker() override { expectation_->picker_deleted = true; } 51 ~FakeDesktopMediaPicker() override { expectation_->picker_deleted = true; }
52 52
53 // DesktopMediaPicker interface. 53 // DesktopMediaPicker interface.
54 void Show(content::WebContents* web_contents, 54 void Show(content::WebContents* web_contents,
55 gfx::NativeWindow context, 55 gfx::NativeWindow context,
56 gfx::NativeWindow parent, 56 gfx::NativeWindow parent,
57 const base::string16& app_name, 57 const base::string16& app_name,
58 const base::string16& target_name, 58 const base::string16& target_name,
59 std::unique_ptr<DesktopMediaList> model, 59 std::unique_ptr<DesktopMediaList> screen_list,
60 std::unique_ptr<DesktopMediaList> window_list,
61 std::unique_ptr<DesktopMediaList> tab_list,
60 bool request_audio, 62 bool request_audio,
61 const DoneCallback& done_callback) override { 63 const DoneCallback& done_callback) override {
62 if (!expectation_->cancelled) { 64 if (!expectation_->cancelled) {
63 // Post a task to call the callback asynchronously. 65 // Post a task to call the callback asynchronously.
64 base::ThreadTaskRunnerHandle::Get()->PostTask( 66 base::ThreadTaskRunnerHandle::Get()->PostTask(
65 FROM_HERE, 67 FROM_HERE,
66 base::Bind(&FakeDesktopMediaPicker::CallCallback, 68 base::Bind(&FakeDesktopMediaPicker::CallCallback,
67 weak_factory_.GetWeakPtr(), done_callback)); 69 weak_factory_.GetWeakPtr(), done_callback));
68 } else { 70 } else {
69 // If we expect the dialog to be cancelled then store the callback to 71 // If we expect the dialog to be cancelled then store the callback to
(...skipping 21 matching lines...) Expand all
91 FakeDesktopMediaPickerFactory() {} 93 FakeDesktopMediaPickerFactory() {}
92 ~FakeDesktopMediaPickerFactory() override {} 94 ~FakeDesktopMediaPickerFactory() override {}
93 95
94 void SetTestFlags(TestFlags* test_flags, int tests_count) { 96 void SetTestFlags(TestFlags* test_flags, int tests_count) {
95 test_flags_ = test_flags; 97 test_flags_ = test_flags;
96 tests_count_ = tests_count; 98 tests_count_ = tests_count;
97 current_test_ = 0; 99 current_test_ = 0;
98 } 100 }
99 101
100 // DesktopCaptureChooseDesktopMediaFunction::PickerFactory interface. 102 // DesktopCaptureChooseDesktopMediaFunction::PickerFactory interface.
101 std::unique_ptr<DesktopMediaList> CreateModel(bool show_screens, 103 MediaListArray CreateModel(
102 bool show_windows, 104 bool show_screens,
103 bool show_tabs, 105 bool show_windows,
104 bool show_audio) override { 106 bool show_tabs,
107 bool show_audio) override {
105 EXPECT_LE(current_test_, tests_count_); 108 EXPECT_LE(current_test_, tests_count_);
106 if (current_test_ >= tests_count_) 109 MediaListArray media_lists;
107 return std::unique_ptr<DesktopMediaList>(); 110 if (current_test_ >= tests_count_) {
111 return media_lists;
112 }
108 EXPECT_EQ(test_flags_[current_test_].expect_screens, show_screens); 113 EXPECT_EQ(test_flags_[current_test_].expect_screens, show_screens);
109 EXPECT_EQ(test_flags_[current_test_].expect_windows, show_windows); 114 EXPECT_EQ(test_flags_[current_test_].expect_windows, show_windows);
110 EXPECT_EQ(test_flags_[current_test_].expect_tabs, show_tabs); 115 EXPECT_EQ(test_flags_[current_test_].expect_tabs, show_tabs);
111 EXPECT_EQ(test_flags_[current_test_].expect_audio, show_audio); 116 EXPECT_EQ(test_flags_[current_test_].expect_audio, show_audio);
112 return std::unique_ptr<DesktopMediaList>(new FakeDesktopMediaList()); 117
118 media_lists[0] = std::unique_ptr<DesktopMediaList>(
119 show_screens ? new FakeDesktopMediaList() : nullptr);
120 media_lists[1] = std::unique_ptr<DesktopMediaList>(
121 show_windows ? new FakeDesktopMediaList() : nullptr);
122 media_lists[2] = std::unique_ptr<DesktopMediaList>(
123 show_tabs ? new FakeDesktopMediaList() : nullptr);
124 return media_lists;
113 } 125 }
114 126
115 std::unique_ptr<DesktopMediaPicker> CreatePicker() override { 127 std::unique_ptr<DesktopMediaPicker> CreatePicker() override {
116 EXPECT_LE(current_test_, tests_count_); 128 EXPECT_LE(current_test_, tests_count_);
117 if (current_test_ >= tests_count_) 129 if (current_test_ >= tests_count_)
118 return std::unique_ptr<DesktopMediaPicker>(); 130 return std::unique_ptr<DesktopMediaPicker>();
119 ++current_test_; 131 ++current_test_;
120 return std::unique_ptr<DesktopMediaPicker>( 132 return std::unique_ptr<DesktopMediaPicker>(
121 new FakeDesktopMediaPicker(test_flags_ + current_test_ - 1)); 133 new FakeDesktopMediaPicker(test_flags_ + current_test_ - 1));
122 } 134 }
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
272 EXPECT_TRUE(result); 284 EXPECT_TRUE(result);
273 EXPECT_TRUE(test_flags[2].picker_created); 285 EXPECT_TRUE(test_flags[2].picker_created);
274 EXPECT_FALSE(test_flags[2].picker_deleted); 286 EXPECT_FALSE(test_flags[2].picker_deleted);
275 287
276 web_contents->Close(); 288 web_contents->Close();
277 destroyed_watcher.Wait(); 289 destroyed_watcher.Wait();
278 EXPECT_TRUE(test_flags[2].picker_deleted); 290 EXPECT_TRUE(test_flags[2].picker_deleted);
279 } 291 }
280 292
281 } // namespace extensions 293 } // namespace extensions
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/extensions/api/desktop_capture/desktop_capture_base.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698