| 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_factory.h" | 8 #include "chrome/browser/content_settings/host_content_settings_map_factory.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_service.h" | 10 #include "chrome/browser/infobars/infobar_service.h" |
| (...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 123 | 123 |
| 124 bool PepperBrokerInfoBarDelegate::Cancel() { | 124 bool PepperBrokerInfoBarDelegate::Cancel() { |
| 125 DispatchCallback(false); | 125 DispatchCallback(false); |
| 126 return true; | 126 return true; |
| 127 } | 127 } |
| 128 | 128 |
| 129 base::string16 PepperBrokerInfoBarDelegate::GetLinkText() const { | 129 base::string16 PepperBrokerInfoBarDelegate::GetLinkText() const { |
| 130 return l10n_util::GetStringUTF16(IDS_LEARN_MORE); | 130 return l10n_util::GetStringUTF16(IDS_LEARN_MORE); |
| 131 } | 131 } |
| 132 | 132 |
| 133 GURL PepperBrokerInfoBarDelegate::GetLinkURL() const { |
| 134 return GURL("https://support.google.com/chrome/?p=ib_pepper_broker"); |
| 135 } |
| 136 |
| 133 bool PepperBrokerInfoBarDelegate::LinkClicked( | 137 bool PepperBrokerInfoBarDelegate::LinkClicked( |
| 134 WindowOpenDisposition disposition) { | 138 WindowOpenDisposition disposition) { |
| 135 GURL learn_more_url("https://support.google.com/chrome/?p=ib_pepper_broker"); | |
| 136 InfoBarService::WebContentsFromInfoBar(infobar())->OpenURL( | 139 InfoBarService::WebContentsFromInfoBar(infobar())->OpenURL( |
| 137 content::OpenURLParams( | 140 content::OpenURLParams( |
| 138 learn_more_url, content::Referrer(), | 141 GetLinkURL(), content::Referrer(), |
| 139 (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition, | 142 (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition, |
| 140 ui::PAGE_TRANSITION_LINK, false)); | 143 ui::PAGE_TRANSITION_LINK, false)); |
| 141 return false; | 144 return false; |
| 142 } | 145 } |
| 143 | 146 |
| 144 void PepperBrokerInfoBarDelegate::DispatchCallback(bool result) { | 147 void PepperBrokerInfoBarDelegate::DispatchCallback(bool result) { |
| 145 content::RecordAction(result ? | 148 content::RecordAction(result ? |
| 146 base::UserMetricsAction("PPAPI.BrokerInfobarClickedAllow") : | 149 base::UserMetricsAction("PPAPI.BrokerInfobarClickedAllow") : |
| 147 base::UserMetricsAction("PPAPI.BrokerInfobarClickedDeny")); | 150 base::UserMetricsAction("PPAPI.BrokerInfobarClickedDeny")); |
| 148 callback_.Run(result); | 151 callback_.Run(result); |
| 149 callback_ = base::Callback<void(bool)>(); | 152 callback_ = base::Callback<void(bool)>(); |
| 150 content_settings_->SetContentSetting( | 153 content_settings_->SetContentSetting( |
| 151 ContentSettingsPattern::FromURLNoWildcard(url_), | 154 ContentSettingsPattern::FromURLNoWildcard(url_), |
| 152 ContentSettingsPattern::Wildcard(), | 155 ContentSettingsPattern::Wildcard(), |
| 153 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, | 156 CONTENT_SETTINGS_TYPE_PPAPI_BROKER, |
| 154 std::string(), result ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK); | 157 std::string(), result ? CONTENT_SETTING_ALLOW : CONTENT_SETTING_BLOCK); |
| 155 tab_content_settings_->SetPepperBrokerAllowed(result); | 158 tab_content_settings_->SetPepperBrokerAllowed(result); |
| 156 } | 159 } |
| OLD | NEW |