chromium/ui/views/debug/debugger_utils.h

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

#ifndef UI_VIEWS_DEBUG_DEBUGGER_UTILS_H_
#define UI_VIEWS_DEBUG_DEBUGGER_UTILS_H_

#include <optional>
#include <ostream>
#include <string>
#include <tuple>
#include <vector>

#include "base/functional/callback.h"

namespace views::debug {

// This class acts as a "view" over the View class. This has been done to allow
// debugger extensions to remnain resillient to structure and version changes in
// the code base.
// TODO(tluk): Replace use of //ui/views/debug_utils.h with this.
class ViewDebugWrapper {};

void PrintViewHierarchy(std::ostream* out,
                        ViewDebugWrapper* view,
                        bool verbose = false,
                        int depth = -1,
                        size_t column_limit = 240);

}  // namespace views::debug

#endif  // UI_VIEWS_DEBUG_DEBUGGER_UTILS_H_