chromium/chrome/browser/ui/views/controls/site_icon_text_and_origin_view.h

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CHROME_BROWSER_UI_VIEWS_CONTROLS_SITE_ICON_TEXT_AND_ORIGIN_VIEW_H_
#define CHROME_BROWSER_UI_VIEWS_CONTROLS_SITE_ICON_TEXT_AND_ORIGIN_VIEW_H_

#include <string>

#include "base/functional/callback_helpers.h"
#include "base/memory/raw_ptr.h"
#include "ui/views/controls/textfield/textfield.h"
#include "ui/views/controls/textfield/textfield_controller.h"
#include "ui/views/view.h"

namespace content {
class WebContents;
}  // namespace content

namespace gfx {
class ImageSkia;
}  // namespace gfx

// This is a simple reusable view that has an |icon| on the left with an
// empty text field on the right, filled with the |title|. The |url|
// appears under the text field. Used by the DIY web app install dialog, where
// the name of the app is configurable from the view.
// *------------------------------------------------*
// | Image | Text Field                             |
// |________________________________________________|
// |         Url                                    |
// |________________________________________________|
// *-------------------------------------------------*
// Based on current usages of the dialog, an empty text field will disable the
// Ok button, whose behavior is handled here.
class SiteIconTextAndOriginView : public views::View,
                                  public views::TextfieldController {};

#endif  // CHROME_BROWSER_UI_VIEWS_CONTROLS_SITE_ICON_TEXT_AND_ORIGIN_VIEW_H_