| 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 <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/metrics/user_metrics_action.h" | 10 #include "base/metrics/user_metrics_action.h" |
| 11 #include "build/build_config.h" | 11 #include "build/build_config.h" |
| 12 #include "chrome/browser/permissions/permission_uma_util.h" | 12 #include "chrome/browser/permissions/permission_uma_util.h" |
| 13 #include "chrome/browser/ui/website_settings/permission_bubble_request.h" | 13 #include "chrome/browser/ui/website_settings/permission_bubble_request.h" |
| 14 #include "chrome/common/chrome_switches.h" | 14 #include "chrome/common/chrome_switches.h" |
| 15 #include "content/public/browser/browser_thread.h" | 15 #include "content/public/browser/browser_thread.h" |
| 16 #include "content/public/browser/navigation_details.h" | 16 #include "content/public/browser/navigation_details.h" |
| 17 #include "content/public/browser/user_metrics.h" | 17 #include "content/public/browser/user_metrics.h" |
| 18 #include "url/origin.h" | 18 #include "url/origin.h" |
| 19 | 19 |
| 20 #if !defined(OS_ANDROID) | 20 #if !defined(OS_ANDROID) |
| 21 #include "chrome/browser/ui/browser_finder.h" | 21 #include "chrome/browser/ui/browser_finder.h" |
| 22 #endif | 22 #endif |
| 23 | 23 |
| 24 namespace { | 24 namespace { |
| 25 | 25 |
| 26 class CancelledRequest : public PermissionBubbleRequest { | 26 class CancelledRequest : public PermissionBubbleRequest { |
| 27 public: | 27 public: |
| 28 explicit CancelledRequest(PermissionBubbleRequest* cancelled) | 28 explicit CancelledRequest(PermissionBubbleRequest* cancelled) |
| 29 : icon_(cancelled->GetIconId()), | 29 : icon_(cancelled->GetIconId()), |
| 30 message_text_(cancelled->GetMessageText()), | |
| 31 message_fragment_(cancelled->GetMessageTextFragment()), | 30 message_fragment_(cancelled->GetMessageTextFragment()), |
| 32 origin_(cancelled->GetOrigin()) {} | 31 origin_(cancelled->GetOrigin()) {} |
| 33 ~CancelledRequest() override {} | 32 ~CancelledRequest() override {} |
| 34 | 33 |
| 35 int GetIconId() const override { return icon_; } | 34 int GetIconId() const override { return icon_; } |
| 36 base::string16 GetMessageText() const override { return message_text_; } | |
| 37 base::string16 GetMessageTextFragment() const override { | 35 base::string16 GetMessageTextFragment() const override { |
| 38 return message_fragment_; | 36 return message_fragment_; |
| 39 } | 37 } |
| 40 GURL GetOrigin() const override { return origin_; } | 38 GURL GetOrigin() const override { return origin_; } |
| 41 | 39 |
| 42 // These are all no-ops since the placeholder is non-forwarding. | 40 // These are all no-ops since the placeholder is non-forwarding. |
| 43 void PermissionGranted() override {} | 41 void PermissionGranted() override {} |
| 44 void PermissionDenied() override {} | 42 void PermissionDenied() override {} |
| 45 void Cancelled() override {} | 43 void Cancelled() override {} |
| 46 | 44 |
| 47 void RequestFinished() override { delete this; } | 45 void RequestFinished() override { delete this; } |
| 48 | 46 |
| 49 private: | 47 private: |
| 50 int icon_; | 48 int icon_; |
| 51 base::string16 message_text_; | |
| 52 base::string16 message_fragment_; | 49 base::string16 message_fragment_; |
| 53 GURL origin_; | 50 GURL origin_; |
| 54 }; | 51 }; |
| 55 | 52 |
| 56 bool IsMessageTextEqual(PermissionBubbleRequest* a, | 53 bool IsMessageTextEqual(PermissionBubbleRequest* a, |
| 57 PermissionBubbleRequest* b) { | 54 PermissionBubbleRequest* b) { |
| 58 if (a == b) | 55 if (a == b) |
| 59 return true; | 56 return true; |
| 60 if (a->GetMessageTextFragment() == b->GetMessageTextFragment() && | 57 if (a->GetMessageTextFragment() == b->GetMessageTextFragment() && |
| 61 a->GetOrigin() == b->GetOrigin()) { | 58 a->GetOrigin() == b->GetOrigin()) { |
| (...skipping 446 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 508 case DENY_ALL: | 505 case DENY_ALL: |
| 509 Deny(); | 506 Deny(); |
| 510 break; | 507 break; |
| 511 case DISMISS: | 508 case DISMISS: |
| 512 Closing(); | 509 Closing(); |
| 513 break; | 510 break; |
| 514 case NONE: | 511 case NONE: |
| 515 NOTREACHED(); | 512 NOTREACHED(); |
| 516 } | 513 } |
| 517 } | 514 } |
| OLD | NEW |