OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 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 "chrome/browser/ui/permission_bubble/mock_permission_prompt.h" | 5 #include "chrome/browser/ui/permission_bubble/mock_permission_prompt.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/run_loop.h" | 8 #include "base/run_loop.h" |
9 #include "chrome/browser/permissions/permission_request_manager.h" | 9 #include "chrome/browser/permissions/permission_request_manager.h" |
10 #include "chrome/browser/ui/permission_bubble/mock_permission_prompt_factory.h" | 10 #include "chrome/browser/ui/permission_bubble/mock_permission_prompt_factory.h" |
11 | 11 |
12 MockPermissionPrompt::~MockPermissionPrompt() { | 12 MockPermissionPrompt::~MockPermissionPrompt() { |
13 Hide(); | 13 Hide(); |
14 } | 14 } |
15 | 15 |
16 void MockPermissionPrompt::Show(const std::vector<PermissionRequest*>& requests, | 16 void MockPermissionPrompt::Show(const std::vector<PermissionRequest*>& requests, |
17 const std::vector<bool>& accept_state) { | 17 const std::vector<bool>& accept_state) { |
| 18 if (IsVisible()) |
| 19 return; |
18 factory_->ShowView(this); | 20 factory_->ShowView(this); |
19 factory_->show_count_++; | 21 factory_->show_count_++; |
20 factory_->requests_count_ = manager_->requests_.size(); | 22 factory_->requests_count_ = manager_->requests_.size(); |
21 factory_->total_requests_count_ += manager_->requests_.size(); | 23 factory_->total_requests_count_ += manager_->requests_.size(); |
22 factory_->UpdateResponseType(); | 24 factory_->UpdateResponseType(); |
23 is_visible_ = true; | 25 is_visible_ = true; |
24 } | 26 } |
25 | 27 |
26 bool MockPermissionPrompt::CanAcceptRequestUpdate() { | 28 bool MockPermissionPrompt::MaybeCancelRequest() { |
| 29 if (can_update_ui_) |
| 30 Hide(); |
27 return can_update_ui_; | 31 return can_update_ui_; |
28 } | 32 } |
29 | 33 |
30 bool MockPermissionPrompt::HidesAutomatically() { | 34 bool MockPermissionPrompt::HidesAutomatically() { |
31 return false; | 35 return false; |
32 } | 36 } |
33 | 37 |
34 void MockPermissionPrompt::Hide() { | 38 void MockPermissionPrompt::Hide() { |
35 if (is_visible_ && factory_) | 39 if (is_visible_ && factory_) |
36 factory_->HideView(this); | 40 factory_->HideView(this); |
(...skipping 11 matching lines...) Expand all Loading... |
48 NOTREACHED(); | 52 NOTREACHED(); |
49 return nullptr; | 53 return nullptr; |
50 } | 54 } |
51 | 55 |
52 MockPermissionPrompt::MockPermissionPrompt(MockPermissionPromptFactory* factory, | 56 MockPermissionPrompt::MockPermissionPrompt(MockPermissionPromptFactory* factory, |
53 PermissionRequestManager* manager) | 57 PermissionRequestManager* manager) |
54 : factory_(factory), | 58 : factory_(factory), |
55 manager_(manager), | 59 manager_(manager), |
56 can_update_ui_(true), | 60 can_update_ui_(true), |
57 is_visible_(false) {} | 61 is_visible_(false) {} |
OLD | NEW |