| 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 content::WebContents* web_contents = |
| 136 InfoBarService::WebContentsFromInfoBar(infobar()); |
| 137 web_contents->OpenURL(content::OpenURLParams( |
| 136 learn_more_url, content::Referrer(), | 138 learn_more_url, content::Referrer(), |
| 137 (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition, | 139 (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition, |
| 138 content::PAGE_TRANSITION_LINK, false)); | 140 content::PAGE_TRANSITION_LINK, false)); |
| 139 return false; | 141 return false; |
| 140 } | 142 } |
| 141 | 143 |
| 142 void PepperBrokerInfoBarDelegate::DispatchCallback(bool result) { | 144 void PepperBrokerInfoBarDelegate::DispatchCallback(bool result) { |
| 143 content::RecordAction(result ? | 145 content::RecordAction(result ? |
| 144 base::UserMetricsAction("PPAPI.BrokerInfobarClickedAllow") : | 146 base::UserMetricsAction("PPAPI.BrokerInfobarClickedAllow") : |
| 145 base::UserMetricsAction("PPAPI.BrokerInfobarClickedDeny")); | 147 base::UserMetricsAction("PPAPI.BrokerInfobarClickedDeny")); |
| 146 callback_.Run(result); | 148 callback_.Run(result); |
| 147 callback_ = base::Callback<void(bool)>(); | 149 callback_ = base::Callback<void(bool)>(); |
| 148 content_settings_->SetContentSetting( | 150 content_settings_->SetContentSetting( |
| 149 ContentSettingsPattern::FromURLNoWildcard(url_), | 151 ContentSettingsPattern::FromURLNoWildcard(url_), |
| 150 ContentSettingsPattern::Wildcard(), | 152 ContentSettingsPattern::Wildcard(), |
| 151 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, | 153 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, |
| 152 std::string(), result ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK); | 154 std::string(), result ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK); |
| 153 tab_content_settings_->SetPepperBrokerAllowed(result); | 155 tab_content_settings_->SetPepperBrokerAllowed(result); |
| 154 } | 156 } |
| OLD | NEW |