1// Copyright 2014 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 "base/logging.h"
6#include "base/memory/scoped_ptr.h"
7#include "components/infobars/core/confirm_infobar_delegate.h"
8#include "components/infobars/core/infobar.h"
9
10// Provides definitions of static variables and functions that are declared in
11// the component but defined in the embedder.
12// TODO(blundell): The component shouldn't be declaring statics that it's not
13// defining; instead, this information should be obtained via a client,
14// which can have a test implementation. crbug.com/386171
15
16// On Android, these variables are defined in ../core/infobar_android.cc.
17#if !defined(OS_ANDROID)
18const int infobars::InfoBar::kSeparatorLineHeight = 1;
19const int infobars::InfoBar::kDefaultArrowTargetHeight = 9;
20const int infobars::InfoBar::kMaximumArrowTargetHeight = 24;
21const int infobars::InfoBar::kDefaultArrowTargetHalfWidth =
22    kDefaultArrowTargetHeight;
23const int infobars::InfoBar::kMaximumArrowTargetHalfWidth = 14;
24const int infobars::InfoBar::kDefaultBarTargetHeight = 36;
25#endif
26
27// Some components' unittests exercise code that requires that
28// ConfirmInfoBarDelegate::CreateInfoBar() return a non-NULL infobar.
29scoped_ptr<infobars::InfoBar> ConfirmInfoBarDelegate::CreateInfoBar(
30    scoped_ptr<ConfirmInfoBarDelegate> delegate) {
31  return scoped_ptr<infobars::InfoBar>(new infobars::InfoBar(
32      delegate.PassAs<infobars::InfoBarDelegate>()));
33}
34