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/permissions/permission_bubble_request_impl.h" | 5 #include "chrome/browser/permissions/permission_bubble_request_impl.h" |
6 | 6 |
7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
8 #include "chrome/browser/permissions/permission_context_base.h" | 8 #include "chrome/browser/permissions/permission_context_base.h" |
9 #include "chrome/browser/permissions/permission_uma_util.h" | 9 #include "chrome/browser/permissions/permission_uma_util.h" |
10 #include "chrome/grit/generated_resources.h" | 10 #include "chrome/grit/generated_resources.h" |
11 #include "components/url_formatter/elide_url.h" | 11 #include "components/url_formatter/elide_url.h" |
12 #include "grit/theme_resources.h" | 12 #include "grit/theme_resources.h" |
13 #include "net/base/escape.h" | 13 #include "net/base/escape.h" |
14 #include "ui/base/l10n/l10n_util.h" | 14 #include "ui/base/l10n/l10n_util.h" |
15 #include "ui/gfx/vector_icons_public.h" | 15 #include "ui/gfx/vector_icons_public.h" |
16 | 16 |
17 PermissionBubbleRequestImpl::PermissionBubbleRequestImpl( | 17 PermissionBubbleRequestImpl::PermissionBubbleRequestImpl( |
18 const GURL& request_origin, | 18 const GURL& request_origin, |
19 content::PermissionType permission_type, | 19 content::PermissionType permission_type, |
20 const std::string& display_languages, | |
21 const PermissionDecidedCallback& permission_decided_callback, | 20 const PermissionDecidedCallback& permission_decided_callback, |
22 const base::Closure delete_callback) | 21 const base::Closure delete_callback) |
23 : request_origin_(request_origin), | 22 : request_origin_(request_origin), |
24 permission_type_(permission_type), | 23 permission_type_(permission_type), |
25 display_languages_(display_languages), | |
26 permission_decided_callback_(permission_decided_callback), | 24 permission_decided_callback_(permission_decided_callback), |
27 delete_callback_(delete_callback), | 25 delete_callback_(delete_callback), |
28 is_finished_(false), | 26 is_finished_(false), |
29 action_taken_(false) {} | 27 action_taken_(false) {} |
30 | 28 |
31 PermissionBubbleRequestImpl::~PermissionBubbleRequestImpl() { | 29 PermissionBubbleRequestImpl::~PermissionBubbleRequestImpl() { |
32 DCHECK(is_finished_); | 30 DCHECK(is_finished_); |
33 if (!action_taken_) | 31 if (!action_taken_) |
34 PermissionUmaUtil::PermissionIgnored(permission_type_, request_origin_); | 32 PermissionUmaUtil::PermissionIgnored(permission_type_, request_origin_); |
35 } | 33 } |
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
100 break; | 98 break; |
101 #if defined(OS_CHROMEOS) | 99 #if defined(OS_CHROMEOS) |
102 case content::PermissionType::PROTECTED_MEDIA_IDENTIFIER: | 100 case content::PermissionType::PROTECTED_MEDIA_IDENTIFIER: |
103 message_id = IDS_PROTECTED_MEDIA_IDENTIFIER_INFOBAR_QUESTION; | 101 message_id = IDS_PROTECTED_MEDIA_IDENTIFIER_INFOBAR_QUESTION; |
104 break; | 102 break; |
105 #endif | 103 #endif |
106 default: | 104 default: |
107 NOTREACHED(); | 105 NOTREACHED(); |
108 return base::string16(); | 106 return base::string16(); |
109 } | 107 } |
110 return l10n_util::GetStringFUTF16(message_id, | 108 return l10n_util::GetStringFUTF16( |
111 url_formatter::FormatUrlForSecurityDisplay( | 109 message_id, url_formatter::FormatUrlForSecurityDisplay(request_origin_)); |
112 request_origin_, display_languages_)); | |
113 } | 110 } |
114 | 111 |
115 base::string16 PermissionBubbleRequestImpl::GetMessageTextFragment() const { | 112 base::string16 PermissionBubbleRequestImpl::GetMessageTextFragment() const { |
116 int message_id; | 113 int message_id; |
117 switch (permission_type_) { | 114 switch (permission_type_) { |
118 case content::PermissionType::GEOLOCATION: | 115 case content::PermissionType::GEOLOCATION: |
119 message_id = IDS_GEOLOCATION_INFOBAR_PERMISSION_FRAGMENT; | 116 message_id = IDS_GEOLOCATION_INFOBAR_PERMISSION_FRAGMENT; |
120 break; | 117 break; |
121 #if defined(ENABLE_NOTIFICATIONS) | 118 #if defined(ENABLE_NOTIFICATIONS) |
122 case content::PermissionType::NOTIFICATIONS: | 119 case content::PermissionType::NOTIFICATIONS: |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 | 154 |
158 void PermissionBubbleRequestImpl::Cancelled() { | 155 void PermissionBubbleRequestImpl::Cancelled() { |
159 RegisterActionTaken(); | 156 RegisterActionTaken(); |
160 permission_decided_callback_.Run(false, CONTENT_SETTING_DEFAULT); | 157 permission_decided_callback_.Run(false, CONTENT_SETTING_DEFAULT); |
161 } | 158 } |
162 | 159 |
163 void PermissionBubbleRequestImpl::RequestFinished() { | 160 void PermissionBubbleRequestImpl::RequestFinished() { |
164 is_finished_ = true; | 161 is_finished_ = true; |
165 delete_callback_.Run(); | 162 delete_callback_.Run(); |
166 } | 163 } |
OLD | NEW |