#include "chrome/browser/ui/views/side_panel/customize_chrome/side_panel_controller_views.h"
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "chrome/app/vector_icons/vector_icons.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/search/background/ntp_custom_background_service_factory.h"
#include "chrome/browser/ui/browser_element_identifiers.h"
#include "chrome/browser/ui/browser_window/public/browser_window_features.h"
#include "chrome/browser/ui/tabs/public/tab_features.h"
#include "chrome/browser/ui/ui_features.h"
#include "chrome/browser/ui/views/chrome_layout_provider.h"
#include "chrome/browser/ui/views/side_panel/side_panel_coordinator.h"
#include "chrome/browser/ui/views/side_panel/side_panel_registry_observer.h"
#include "chrome/browser/ui/views/side_panel/side_panel_web_ui_view.h"
#include "chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h"
#include "chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_page_handler.h"
#include "chrome/browser/ui/webui/side_panel/customize_chrome/customize_chrome_ui.h"
#include "chrome/common/webui_url_constants.h"
#include "chrome/grit/generated_resources.h"
#include "components/vector_icons/vector_icons.h"
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/navigation_handle.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/metadata/metadata_impl_macros.h"
#include "ui/base/ui_base_features.h"
#include "ui/views/view_class_properties.h"
SidePanelWebUIViewT_CustomizeChromeUI;
BEGIN_TEMPLATE_METADATA(…)
namespace {
constexpr SidePanelEntry::Id kSidePanelEntryId = …;
}
namespace customize_chrome {
SidePanelControllerViews::SidePanelControllerViews(tabs::TabInterface& tab)
: … { … }
SidePanelControllerViews::~SidePanelControllerViews() = default;
bool SidePanelControllerViews::IsCustomizeChromeEntryShowing() const { … }
bool SidePanelControllerViews::IsCustomizeChromeEntryAvailable() const { … }
void SidePanelControllerViews::OnEntryShown(SidePanelEntry* entry) { … }
void SidePanelControllerViews::OnEntryHidden(SidePanelEntry* entry) { … }
bool SidePanelControllerViews::CanShowOnURL(const GURL& url) const { … }
void SidePanelControllerViews::DidFinishNavigation(
content::NavigationHandle* navigation_handle) { … }
void SidePanelControllerViews::CreateAndRegisterEntry() { … }
void SidePanelControllerViews::DeregisterEntry() { … }
void SidePanelControllerViews::OpenSidePanel(
SidePanelOpenTrigger trigger,
std::optional<CustomizeChromeSection> section) { … }
void SidePanelControllerViews::CloseSidePanel() { … }
std::unique_ptr<views::View>
SidePanelControllerViews::CreateCustomizeChromeWebView() { … }
SidePanelUI* SidePanelControllerViews::GetSidePanelUI() const { … }
void SidePanelControllerViews::SetEntryChangedCallback(
StateChangedCallBack callback) { … }
void SidePanelControllerViews::WillDiscardContents(
tabs::TabInterface* tab,
content::WebContents* previous_contents,
content::WebContents* new_contents) { … }
}