15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/website_settings/website_settings_infobar_delegate.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/logging.h" 8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/utf_string_conversions.h" 92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/infobars/infobar_service.h" 101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/grit/generated_resources.h" 110529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "components/infobars/core/infobar.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "content/public/browser/web_contents.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "grit/theme_resources.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/base/l10n/l10n_util.h" 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 16ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch 172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)// static 187dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochvoid WebsiteSettingsInfoBarDelegate::Create(InfoBarService* infobar_service) { 19a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) infobar_service->AddInfoBar(ConfirmInfoBarDelegate::CreateInfoBar( 20a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) scoped_ptr<ConfirmInfoBarDelegate>( 21a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) new WebsiteSettingsInfoBarDelegate()))); 222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)} 232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 24a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)WebsiteSettingsInfoBarDelegate::WebsiteSettingsInfoBarDelegate() 25a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles) : ConfirmInfoBarDelegate() { 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 287dbb3d5cf0c15f500944d211057644d6a2f37371Ben MurdochWebsiteSettingsInfoBarDelegate::~WebsiteSettingsInfoBarDelegate() { 297dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch} 307dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdoch 317dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochint WebsiteSettingsInfoBarDelegate::GetIconID() const { 3290dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) return IDR_INFOBAR_ALT_NAV_URL; 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 350529e5d033099cbfc42635f6f6183833b09dff6eBen Murdochinfobars::InfoBarDelegate::Type WebsiteSettingsInfoBarDelegate::GetInfoBarType() 360529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch const { 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return PAGE_ACTION_TYPE; 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::string16 WebsiteSettingsInfoBarDelegate::GetMessageText() const { 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return l10n_util::GetStringUTF16(IDS_WEBSITE_SETTINGS_INFOBAR_TEXT); 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 447dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochint WebsiteSettingsInfoBarDelegate::GetButtons() const { 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return BUTTON_OK; 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::string16 WebsiteSettingsInfoBarDelegate::GetButtonLabel( 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) InfoBarButton button) const { 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DCHECK_EQ(BUTTON_OK, button); 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return l10n_util::GetStringUTF16(IDS_WEBSITE_SETTINGS_INFOBAR_BUTTON); 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 547dbb3d5cf0c15f500944d211057644d6a2f37371Ben Murdochbool WebsiteSettingsInfoBarDelegate::Accept() { 55a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch content::WebContents* web_contents = 56a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch InfoBarService::WebContentsFromInfoBar(infobar()); 57a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch web_contents->GetController().Reload(true); 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 60