#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_INSPECTOR_INSPECTOR_HIGHLIGHT_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_INSPECTOR_INSPECTOR_HIGHLIGHT_H_
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/dom/pseudo_element.h"
#include "third_party/blink/renderer/core/inspector/node_content_visibility_state.h"
#include "third_party/blink/renderer/core/inspector/protocol/dom.h"
#include "third_party/blink/renderer/platform/graphics/color.h"
#include "third_party/blink/renderer/platform/wtf/allocator/allocator.h"
#include "ui/gfx/geometry/quad_f.h"
namespace blink {
class Color;
enum class ColorFormat { … };
enum class ContrastAlgorithm { … };
struct CORE_EXPORT LineStyle { … };
struct CORE_EXPORT BoxStyle { … };
struct CORE_EXPORT InspectorSourceOrderConfig { … };
struct CORE_EXPORT InspectorGridHighlightConfig { … };
struct CORE_EXPORT InspectorFlexContainerHighlightConfig { … };
struct CORE_EXPORT InspectorScrollSnapContainerHighlightConfig { … };
struct CORE_EXPORT InspectorContainerQueryContainerHighlightConfig { … };
struct CORE_EXPORT InspectorFlexItemHighlightConfig { … };
struct CORE_EXPORT InspectorIsolationModeHighlightConfig { … };
struct CORE_EXPORT InspectorHighlightConfig { … };
struct InspectorHighlightContrastInfo { … };
class InspectorHighlightBase { … };
class CORE_EXPORT InspectorSourceOrderHighlight
: public InspectorHighlightBase { … };
class CORE_EXPORT InspectorHighlight : public InspectorHighlightBase { … };
std::unique_ptr<protocol::DictionaryValue> InspectorFlexContainerHighlight(
Node* node,
const InspectorFlexContainerHighlightConfig& config);
std::unique_ptr<protocol::DictionaryValue> InspectorScrollSnapHighlight(
Node* node,
const InspectorScrollSnapContainerHighlightConfig& config);
std::unique_ptr<protocol::DictionaryValue> InspectorContainerQueryHighlight(
Node* node,
const InspectorContainerQueryContainerHighlightConfig& config);
std::unique_ptr<protocol::DictionaryValue> InspectorIsolatedElementHighlight(
Element* element,
const InspectorIsolationModeHighlightConfig& config);
std::unique_ptr<protocol::DictionaryValue> CORE_EXPORT
InspectorGridHighlight(Node*, const InspectorGridHighlightConfig& config);
std::unique_ptr<protocol::DictionaryValue> CORE_EXPORT
BuildSnapContainerInfo(Node* node);
std::unique_ptr<protocol::DictionaryValue> CORE_EXPORT
BuildContainerQueryContainerInfo(
Node* node,
const InspectorContainerQueryContainerHighlightConfig&
container_query_container_highlight_config,
float scale);
std::unique_ptr<protocol::DictionaryValue> CORE_EXPORT
BuildIsolatedElementInfo(Element& element,
const InspectorIsolationModeHighlightConfig& config,
float scale);
void CORE_EXPORT
AppendStyleInfo(Element* element,
protocol::DictionaryValue* element_info,
const InspectorHighlightContrastInfo& node_contrast,
const ContrastAlgorithm& contrast_algorithm);
std::unique_ptr<protocol::DictionaryValue> CORE_EXPORT
BuildElementInfo(Element* element);
}
#endif