1 // Copyright 2013 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/startup/google_api_keys_infobar_delegate.h" 6 7 #include "chrome/browser/infobars/infobar_service.h" 8 #include "content/public/browser/web_contents.h" 9 #include "google_apis/google_api_keys.h" 10 #include "grit/chromium_strings.h" 11 #include "grit/generated_resources.h" 12 #include "ui/base/l10n/l10n_util.h" 13 14 15 // static 16 void GoogleApiKeysInfoBarDelegate::Create(InfoBarService* infobar_service) { 17 if (google_apis::HasKeysConfigured()) 18 return; 19 20 infobar_service->AddInfoBar(scoped_ptr<InfoBarDelegate>( 21 new GoogleApiKeysInfoBarDelegate(infobar_service))); 22 } 23 24 GoogleApiKeysInfoBarDelegate::GoogleApiKeysInfoBarDelegate( 25 InfoBarService* infobar_service) 26 : ConfirmInfoBarDelegate(infobar_service) { 27 } 28 29 GoogleApiKeysInfoBarDelegate::~GoogleApiKeysInfoBarDelegate() { 30 } 31 32 string16 GoogleApiKeysInfoBarDelegate::GetMessageText() const { 33 return l10n_util::GetStringUTF16(IDS_MISSING_GOOGLE_API_KEYS); 34 } 35 36 int GoogleApiKeysInfoBarDelegate::GetButtons() const { 37 return BUTTON_NONE; 38 } 39 40 string16 GoogleApiKeysInfoBarDelegate::GetLinkText() const { 41 return l10n_util::GetStringUTF16(IDS_LEARN_MORE); 42 } 43 44 bool GoogleApiKeysInfoBarDelegate::LinkClicked( 45 WindowOpenDisposition disposition) { 46 web_contents()->OpenURL(content::OpenURLParams( 47 GURL("http://www.chromium.org/developers/how-tos/api-keys"), 48 content::Referrer(), 49 (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition, 50 content::PAGE_TRANSITION_LINK, false)); 51 return false; 52 } 53