Index: chrome/browser/services/gcm/gcm_infobar_delegate.cc |
diff --git a/chrome/browser/services/gcm/gcm_infobar_delegate.cc b/chrome/browser/services/gcm/gcm_infobar_delegate.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1a7bc098eee8e37d1034551b5d1a259299bce7ce |
--- /dev/null |
+++ b/chrome/browser/services/gcm/gcm_infobar_delegate.cc |
@@ -0,0 +1,44 @@ |
+// Copyright 2014 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/services/gcm/gcm_infobar_delegate.h" |
+ |
+#include "components/infobars/core/infobar.h" |
+#include "grit/generated_resources.h" |
+#include "net/base/net_util.h" |
+#include "ui/base/l10n/l10n_util.h" |
+ |
+namespace gcm { |
+ |
+// static |
+infobars::InfoBar* GCMInfoBarDelegate::Create( |
+ InfoBarService* infobar_service, |
+ PermissionQueueController* controller, |
+ const PermissionRequestID& id, |
+ GURL& requesting_frame, |
+ const std::string& display_languages) { |
+ return infobar_service->AddInfoBar(ConfirmInfoBarDelegate::CreateInfoBar( |
fgorski
2014/06/20 14:14:15
are checks for infobar_service != NULL and control
Miguel Garcia
2014/06/20 20:50:11
I added DCHECKS for both since they should always
|
+ scoped_ptr<ConfirmInfoBarDelegate>(new GCMInfoBarDelegate( |
+ controller, id, requesting_frame, display_languages)))); |
+} |
+ |
+GCMInfoBarDelegate::GCMInfoBarDelegate(PermissionQueueController* controller, |
+ const PermissionRequestID& id, |
+ GURL& requesting_frame, |
+ const std::string& display_languages) |
+ : PermissionInfobarDelegate(controller, id, requesting_frame), |
+ requesting_origin_(requesting_frame.GetOrigin()), |
+ display_languages_(display_languages) { |
+} |
+ |
+GCMInfoBarDelegate::~GCMInfoBarDelegate() { |
+} |
+ |
+base::string16 GCMInfoBarDelegate::GetMessageText() const { |
+ return l10n_util::GetStringFUTF16( |
+ IDS_PUSH_MESSAGES_PERMISSION_QUESTION, |
+ net::FormatUrl(requesting_origin_, display_languages_)); |
+} |
+ |
+} // namespace gcm |