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
3// found in the LICENSE file.
4
5#include "chrome/browser/ui/website_settings/website_settings_infobar_delegate.h"
6
7#include "base/logging.h"
8#include "base/strings/utf_string_conversions.h"
9#include "chrome/browser/infobars/infobar_service.h"
10#include "chrome/grit/generated_resources.h"
11#include "components/infobars/core/infobar.h"
12#include "content/public/browser/web_contents.h"
13#include "grit/theme_resources.h"
14#include "ui/base/l10n/l10n_util.h"
15
16
17// static
18void WebsiteSettingsInfoBarDelegate::Create(InfoBarService* infobar_service) {
19  infobar_service->AddInfoBar(ConfirmInfoBarDelegate::CreateInfoBar(
20      scoped_ptr<ConfirmInfoBarDelegate>(
21          new WebsiteSettingsInfoBarDelegate())));
22}
23
24WebsiteSettingsInfoBarDelegate::WebsiteSettingsInfoBarDelegate()
25    : ConfirmInfoBarDelegate() {
26}
27
28WebsiteSettingsInfoBarDelegate::~WebsiteSettingsInfoBarDelegate() {
29}
30
31int WebsiteSettingsInfoBarDelegate::GetIconID() const {
32  return IDR_INFOBAR_ALT_NAV_URL;
33}
34
35infobars::InfoBarDelegate::Type WebsiteSettingsInfoBarDelegate::GetInfoBarType()
36    const {
37  return PAGE_ACTION_TYPE;
38}
39
40base::string16 WebsiteSettingsInfoBarDelegate::GetMessageText() const {
41  return l10n_util::GetStringUTF16(IDS_WEBSITE_SETTINGS_INFOBAR_TEXT);
42}
43
44int WebsiteSettingsInfoBarDelegate::GetButtons() const {
45  return BUTTON_OK;
46}
47
48base::string16 WebsiteSettingsInfoBarDelegate::GetButtonLabel(
49    InfoBarButton button) const {
50  DCHECK_EQ(BUTTON_OK, button);
51  return l10n_util::GetStringUTF16(IDS_WEBSITE_SETTINGS_INFOBAR_BUTTON);
52}
53
54bool WebsiteSettingsInfoBarDelegate::Accept() {
55  content::WebContents* web_contents =
56      InfoBarService::WebContentsFromInfoBar(infobar());
57  web_contents->GetController().Reload(true);
58  return true;
59}
60