| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/website_settings/permission_bubble_manager.h" | 5 #include "chrome/browser/ui/website_settings/permission_bubble_manager.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/metrics/user_metrics_action.h" | 8 #include "base/metrics/user_metrics_action.h" |
| 9 #include "chrome/browser/ui/website_settings/permission_bubble_request.h" | 9 #include "chrome/browser/ui/website_settings/permission_bubble_request.h" |
| 10 #include "chrome/common/chrome_switches.h" | 10 #include "chrome/common/chrome_switches.h" |
| 11 #include "content/public/browser/browser_thread.h" | 11 #include "content/public/browser/browser_thread.h" |
| 12 #include "content/public/browser/navigation_details.h" | 12 #include "content/public/browser/navigation_details.h" |
| 13 #include "content/public/browser/user_metrics.h" | 13 #include "content/public/browser/user_metrics.h" |
| 14 | 14 |
| 15 namespace { | 15 namespace { |
| 16 | 16 |
| 17 class CancelledRequest : public PermissionBubbleRequest { | 17 class CancelledRequest : public PermissionBubbleRequest { |
| 18 public: | 18 public: |
| 19 explicit CancelledRequest(PermissionBubbleRequest* cancelled) | 19 explicit CancelledRequest(PermissionBubbleRequest* cancelled) |
| 20 : icon_(cancelled->GetIconID()), | 20 : icon_(cancelled->GetIconID()), |
| 21 message_text_(cancelled->GetMessageText()), | 21 message_text_(cancelled->GetMessageText()), |
| 22 message_fragment_(cancelled->GetMessageTextFragment()), | 22 message_fragment_(cancelled->GetMessageTextFragment()), |
| 23 user_gesture_(cancelled->HasUserGesture()), | 23 user_gesture_(cancelled->HasUserGesture()), |
| 24 hostname_(cancelled->GetRequestingHostname()) {} | 24 hostname_(cancelled->GetRequestingHostname()) {} |
| 25 virtual ~CancelledRequest() {} | 25 virtual ~CancelledRequest() {} |
| 26 | 26 |
| 27 virtual PermissionBubbleRequest::Type GetType() const OVERRIDE { |
| 28 return PermissionBubbleRequest::Type::kOther; |
| 29 } |
| 30 |
| 27 virtual int GetIconID() const OVERRIDE { | 31 virtual int GetIconID() const OVERRIDE { |
| 28 return icon_; | 32 return icon_; |
| 29 } | 33 } |
| 30 virtual base::string16 GetMessageText() const OVERRIDE { | 34 virtual base::string16 GetMessageText() const OVERRIDE { |
| 31 return message_text_; | 35 return message_text_; |
| 32 } | 36 } |
| 33 virtual base::string16 GetMessageTextFragment() const OVERRIDE { | 37 virtual base::string16 GetMessageTextFragment() const OVERRIDE { |
| 34 return message_fragment_; | 38 return message_fragment_; |
| 35 } | 39 } |
| 36 virtual bool HasUserGesture() const OVERRIDE { | 40 virtual bool HasUserGesture() const OVERRIDE { |
| (...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 accept_states_[request_index] = new_value; | 268 accept_states_[request_index] = new_value; |
| 265 } | 269 } |
| 266 | 270 |
| 267 void PermissionBubbleManager::SetCustomizationMode() { | 271 void PermissionBubbleManager::SetCustomizationMode() { |
| 268 customization_mode_ = true; | 272 customization_mode_ = true; |
| 269 if (view_) | 273 if (view_) |
| 270 view_->Show(requests_, accept_states_, customization_mode_); | 274 view_->Show(requests_, accept_states_, customization_mode_); |
| 271 } | 275 } |
| 272 | 276 |
| 273 void PermissionBubbleManager::Accept() { | 277 void PermissionBubbleManager::Accept() { |
| 278 Accept(-1); |
| 279 } |
| 280 |
| 281 void PermissionBubbleManager::Accept(int choice) { |
| 282 // Currently the only call to this is through Geolocation request. |
| 274 std::vector<PermissionBubbleRequest*>::iterator requests_iter; | 283 std::vector<PermissionBubbleRequest*>::iterator requests_iter; |
| 275 std::vector<bool>::iterator accepts_iter = accept_states_.begin(); | 284 std::vector<bool>::iterator accepts_iter = accept_states_.begin(); |
| 276 for (requests_iter = requests_.begin(), accepts_iter = accept_states_.begin(); | 285 for (requests_iter = requests_.begin(), accepts_iter = accept_states_.begin(); |
| 277 requests_iter != requests_.end(); | 286 requests_iter != requests_.end(); |
| 278 requests_iter++, accepts_iter++) { | 287 requests_iter++, accepts_iter++) { |
| 279 if (*accepts_iter) | 288 if (*accepts_iter) |
| 280 (*requests_iter)->PermissionGranted(); | 289 (*requests_iter)->PermissionGranted(choice); |
| 281 else | 290 else |
| 282 (*requests_iter)->PermissionDenied(); | 291 (*requests_iter)->PermissionDenied(); |
| 283 } | 292 } |
| 284 FinalizeBubble(); | 293 FinalizeBubble(); |
| 285 } | 294 } |
| 286 | 295 |
| 287 void PermissionBubbleManager::Deny() { | 296 void PermissionBubbleManager::Deny() { |
| 288 std::vector<PermissionBubbleRequest*>::iterator requests_iter; | 297 std::vector<PermissionBubbleRequest*>::iterator requests_iter; |
| 289 for (requests_iter = requests_.begin(); | 298 for (requests_iter = requests_.begin(); |
| 290 requests_iter != requests_.end(); | 299 requests_iter != requests_.end(); |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 407 bool PermissionBubbleManager::HasUserGestureRequest( | 416 bool PermissionBubbleManager::HasUserGestureRequest( |
| 408 const std::vector<PermissionBubbleRequest*>& queue) { | 417 const std::vector<PermissionBubbleRequest*>& queue) { |
| 409 std::vector<PermissionBubbleRequest*>::const_iterator iter; | 418 std::vector<PermissionBubbleRequest*>::const_iterator iter; |
| 410 for (iter = queue.begin(); iter != queue.end(); iter++) { | 419 for (iter = queue.begin(); iter != queue.end(); iter++) { |
| 411 if ((*iter)->HasUserGesture()) | 420 if ((*iter)->HasUserGesture()) |
| 412 return true; | 421 return true; |
| 413 } | 422 } |
| 414 return false; | 423 return false; |
| 415 } | 424 } |
| 416 | 425 |
| OLD | NEW |