OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/pepper_broker_infobar_delegate.h" | 5 #include "chrome/browser/pepper_broker_infobar_delegate.h" |
6 | 6 |
7 #include "base/prefs/pref_service.h" | 7 #include "base/prefs/pref_service.h" |
8 #include "chrome/browser/content_settings/host_content_settings_map.h" | 8 #include "chrome/browser/content_settings/host_content_settings_map.h" |
9 #include "chrome/browser/content_settings/tab_specific_content_settings.h" | 9 #include "chrome/browser/content_settings/tab_specific_content_settings.h" |
10 #include "chrome/browser/infobars/infobar.h" | 10 #include "chrome/browser/infobars/infobar.h" |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 return true; | 125 return true; |
126 } | 126 } |
127 | 127 |
128 base::string16 PepperBrokerInfoBarDelegate::GetLinkText() const { | 128 base::string16 PepperBrokerInfoBarDelegate::GetLinkText() const { |
129 return l10n_util::GetStringUTF16(IDS_LEARN_MORE); | 129 return l10n_util::GetStringUTF16(IDS_LEARN_MORE); |
130 } | 130 } |
131 | 131 |
132 bool PepperBrokerInfoBarDelegate::LinkClicked( | 132 bool PepperBrokerInfoBarDelegate::LinkClicked( |
133 WindowOpenDisposition disposition) { | 133 WindowOpenDisposition disposition) { |
134 GURL learn_more_url("https://support.google.com/chrome/?p=ib_pepper_broker"); | 134 GURL learn_more_url("https://support.google.com/chrome/?p=ib_pepper_broker"); |
135 web_contents()->OpenURL(content::OpenURLParams( | 135 InfoBarService::WebContentsFromInfoBar(infobar())->OpenURL( |
136 learn_more_url, content::Referrer(), | 136 content::OpenURLParams( |
137 (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition, | 137 learn_more_url, content::Referrer(), |
138 content::PAGE_TRANSITION_LINK, false)); | 138 (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition, |
| 139 content::PAGE_TRANSITION_LINK, false)); |
139 return false; | 140 return false; |
140 } | 141 } |
141 | 142 |
142 void PepperBrokerInfoBarDelegate::DispatchCallback(bool result) { | 143 void PepperBrokerInfoBarDelegate::DispatchCallback(bool result) { |
143 content::RecordAction(result ? | 144 content::RecordAction(result ? |
144 base::UserMetricsAction("PPAPI.BrokerInfobarClickedAllow") : | 145 base::UserMetricsAction("PPAPI.BrokerInfobarClickedAllow") : |
145 base::UserMetricsAction("PPAPI.BrokerInfobarClickedDeny")); | 146 base::UserMetricsAction("PPAPI.BrokerInfobarClickedDeny")); |
146 callback_.Run(result); | 147 callback_.Run(result); |
147 callback_ = base::Callback<void(bool)>(); | 148 callback_ = base::Callback<void(bool)>(); |
148 content_settings_->SetContentSetting( | 149 content_settings_->SetContentSetting( |
149 ContentSettingsPattern::FromURLNoWildcard(url_), | 150 ContentSettingsPattern::FromURLNoWildcard(url_), |
150 ContentSettingsPattern::Wildcard(), | 151 ContentSettingsPattern::Wildcard(), |
151 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, | 152 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, |
152 std::string(), result ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK); | 153 std::string(), result ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK); |
153 tab_content_settings_->SetPepperBrokerAllowed(result); | 154 tab_content_settings_->SetPepperBrokerAllowed(result); |
154 } | 155 } |
OLD | NEW |