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

Side by Side Diff: chrome/browser/ui/permission_bubble/mock_permission_prompt_factory.cc

Issue 2835863003: MediaStreamDevicesControllerBrowserTest (Closed)
Patch Set: MediaStreamDevicesControllerBrowserTest Created 3 years, 7 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 | « chrome/browser/ui/permission_bubble/mock_permission_prompt_factory.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "chrome/browser/ui/permission_bubble/mock_permission_prompt_factory.h" 5 #include "chrome/browser/ui/permission_bubble/mock_permission_prompt_factory.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/memory/ptr_util.h" 8 #include "base/memory/ptr_util.h"
9 #include "base/run_loop.h" 9 #include "base/run_loop.h"
10 #include "base/stl_util.h" 10 #include "base/stl_util.h"
11 #include "chrome/browser/permissions/permission_request_manager.h" 11 #include "chrome/browser/permissions/permission_request_manager.h"
12 #include "chrome/browser/ui/permission_bubble/mock_permission_prompt.h" 12 #include "chrome/browser/ui/permission_bubble/mock_permission_prompt.h"
13 #include "content/public/browser/web_contents.h" 13 #include "content/public/browser/web_contents.h"
14 14
15 MockPermissionPromptFactory::MockPermissionPromptFactory( 15 MockPermissionPromptFactory::MockPermissionPromptFactory(
16 PermissionRequestManager* manager) 16 PermissionRequestManager* manager)
17 : can_update_ui_(false), 17 : can_update_ui_(false),
18 show_count_(0), 18 show_count_(0),
19 requests_count_(0), 19 requests_count_(0),
20 total_requests_count_(0),
21 response_type_(PermissionRequestManager::NONE), 20 response_type_(PermissionRequestManager::NONE),
22 manager_(manager) { 21 manager_(manager) {
23 manager->view_factory_ = 22 manager->view_factory_ =
24 base::Bind(&MockPermissionPromptFactory::Create, base::Unretained(this)); 23 base::Bind(&MockPermissionPromptFactory::Create, base::Unretained(this));
25 } 24 }
26 25
27 MockPermissionPromptFactory::~MockPermissionPromptFactory() { 26 MockPermissionPromptFactory::~MockPermissionPromptFactory() {
28 manager_->view_factory_ = 27 manager_->view_factory_ =
29 base::Bind(&MockPermissionPromptFactory::DoNotCreate); 28 base::Bind(&MockPermissionPromptFactory::DoNotCreate);
30 for (auto* prompt : prompts_) 29 for (auto* prompt : prompts_)
(...skipping 10 matching lines...) Expand all
41 40
42 void MockPermissionPromptFactory::SetCanUpdateUi(bool can_update_ui) { 41 void MockPermissionPromptFactory::SetCanUpdateUi(bool can_update_ui) {
43 can_update_ui_ = can_update_ui; 42 can_update_ui_ = can_update_ui;
44 for (auto* prompt : prompts_) 43 for (auto* prompt : prompts_)
45 prompt->can_update_ui_ = can_update_ui_; 44 prompt->can_update_ui_ = can_update_ui_;
46 } 45 }
47 46
48 void MockPermissionPromptFactory::ResetCounts() { 47 void MockPermissionPromptFactory::ResetCounts() {
49 show_count_ = 0; 48 show_count_ = 0;
50 requests_count_ = 0; 49 requests_count_ = 0;
51 total_requests_count_ = 0; 50 request_types_seen_.clear();
52 } 51 }
53 52
54 void MockPermissionPromptFactory::DocumentOnLoadCompletedInMainFrame() { 53 void MockPermissionPromptFactory::DocumentOnLoadCompletedInMainFrame() {
55 manager_->DocumentOnLoadCompletedInMainFrame(); 54 manager_->DocumentOnLoadCompletedInMainFrame();
56 } 55 }
57 56
58 bool MockPermissionPromptFactory::is_visible() { 57 bool MockPermissionPromptFactory::is_visible() {
59 for (auto* prompt : prompts_) { 58 for (auto* prompt : prompts_) {
60 if (prompt->IsVisible()) 59 if (prompt->IsVisible())
61 return true; 60 return true;
62 } 61 }
63 return false; 62 return false;
64 } 63 }
65 64
65 int MockPermissionPromptFactory::TotalRequestCount() {
66 return request_types_seen_.size();
67 }
68
69 bool MockPermissionPromptFactory::RequestTypeSeen(PermissionRequestType type) {
70 return std::find(request_types_seen_.begin(), request_types_seen_.end(),
71 type) != request_types_seen_.end();
72 }
73
66 void MockPermissionPromptFactory::WaitForPermissionBubble() { 74 void MockPermissionPromptFactory::WaitForPermissionBubble() {
67 if (is_visible()) 75 if (is_visible())
68 return; 76 return;
69 DCHECK(show_bubble_quit_closure_.is_null()); 77 DCHECK(show_bubble_quit_closure_.is_null());
70 base::RunLoop loop; 78 base::RunLoop loop;
71 show_bubble_quit_closure_ = loop.QuitClosure(); 79 show_bubble_quit_closure_ = loop.QuitClosure();
72 loop.Run(); 80 loop.Run();
73 show_bubble_quit_closure_ = base::Closure(); 81 show_bubble_quit_closure_ = base::Closure();
74 } 82 }
75 83
(...skipping 15 matching lines...) Expand all
91 99
92 if (!show_bubble_quit_closure_.is_null()) 100 if (!show_bubble_quit_closure_.is_null())
93 show_bubble_quit_closure_.Run(); 101 show_bubble_quit_closure_.Run();
94 } 102 }
95 103
96 void MockPermissionPromptFactory::HideView(MockPermissionPrompt* prompt) { 104 void MockPermissionPromptFactory::HideView(MockPermissionPrompt* prompt) {
97 auto it = std::find(prompts_.begin(), prompts_.end(), prompt); 105 auto it = std::find(prompts_.begin(), prompts_.end(), prompt);
98 if (it != prompts_.end()) 106 if (it != prompts_.end())
99 prompts_.erase(it); 107 prompts_.erase(it);
100 } 108 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/permission_bubble/mock_permission_prompt_factory.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698