Chromium Code Reviews| Index: chrome/browser/notifications/incognito_denied_infobar_delegate.cc |
| diff --git a/chrome/browser/notifications/incognito_denied_infobar_delegate.cc b/chrome/browser/notifications/incognito_denied_infobar_delegate.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..938463e92541fa96b90f5ffd58a42405492eda24 |
| --- /dev/null |
| +++ b/chrome/browser/notifications/incognito_denied_infobar_delegate.cc |
| @@ -0,0 +1,67 @@ |
| +// Copyright 2015 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chrome/browser/notifications/incognito_denied_infobar_delegate.h" |
| + |
| +#include "chrome/browser/android/android_theme_resources.h" |
| +#include "chrome/browser/infobars/infobar_service.h" |
| +#include "chrome/grit/generated_resources.h" |
| +#include "components/infobars/core/infobar.h" |
| +#include "components/url_formatter/elide_url.h" |
| +#include "grit/theme_resources.h" |
| +#include "ui/base/l10n/l10n_util.h" |
| + |
| +// static |
| +infobars::InfoBar* IncognitoDeniedInfobarDelegate::Create( |
| + InfoBarService* infobar_service, |
| + const GURL& requesting_frame, |
|
mlamouri (slow - plz ping)
2015/11/28 17:00:54
nit: requesting_origin
johnme
2015/11/30 15:37:20
Done.
|
| + const std::string& display_languages, |
| + const base::Callback<void(bool, bool)>& callback) { |
| + return infobar_service->AddInfoBar(infobar_service->CreateConfirmInfoBar( |
| + scoped_ptr<ConfirmInfoBarDelegate>( |
| + new IncognitoDeniedInfobarDelegate(requesting_frame, |
| + display_languages, callback)))); |
| +} |
| + |
| +IncognitoDeniedInfobarDelegate::~IncognitoDeniedInfobarDelegate() { |
| +} |
| + |
| +IncognitoDeniedInfobarDelegate::IncognitoDeniedInfobarDelegate( |
| + const GURL& requesting_frame, |
| + const std::string& display_languages, |
| + const base::Callback<void(bool, bool)>& callback) |
| + : requesting_frame_(requesting_frame), |
| + display_languages_(display_languages), |
| + callback_(callback) { |
| +} |
| + |
| +infobars::InfoBarDelegate::Type |
| +IncognitoDeniedInfobarDelegate::GetInfoBarType() const { |
| + return PAGE_ACTION_TYPE; |
| +} |
| + |
| +int IncognitoDeniedInfobarDelegate::GetIconId() const { |
| + // Keep this consistent with NotificationPermissionInfobarDelegate::GetIconId. |
| + return IDR_INFOBAR_DESKTOP_NOTIFICATIONS; |
| +} |
| + |
| +base::string16 IncognitoDeniedInfobarDelegate::GetMessageText() const { |
| + return l10n_util::GetStringFUTF16( |
| + IDS_NOTIFICATION_PERMISSIONS_INCOGNITO, |
| + url_formatter::FormatUrlForSecurityDisplay(requesting_frame_.GetOrigin(), |
| + display_languages_)); |
| +} |
| + |
| +int IncognitoDeniedInfobarDelegate::GetButtons() const { |
| + return BUTTON_NONE; |
| +} |
| + |
| +void IncognitoDeniedInfobarDelegate::InfoBarDismissed() { |
| + SetPermission(true, false); |
| +} |
| + |
| +void IncognitoDeniedInfobarDelegate::SetPermission(bool update_content_setting, |
| + bool allowed) { |
|
mlamouri (slow - plz ping)
2015/11/28 17:00:54
Why do you add a ::SetPermission() if the only usa
johnme
2015/11/30 15:37:20
It was to make it clearer. But I've realised I can
|
| + callback_.Run(update_content_setting, allowed); |
| +} |