#include "components/ui_devtools/views/view_element.h"
#include "base/containers/contains.h"
#include "base/ranges/algorithm.h"
#include "base/strings/string_split.h"
#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "components/ui_devtools/protocol.h"
#include "components/ui_devtools/ui_element_delegate.h"
#include "components/ui_devtools/views/devtools_event_util.h"
#include "components/ui_devtools/views/element_utility.h"
#include "ui/base/interaction/element_tracker.h"
#include "ui/base/metadata/metadata_types.h"
#include "ui/gfx/color_utils.h"
#include "ui/views/controls/textfield/textfield.h"
#include "ui/views/interaction/element_tracker_views.h"
#include "ui/views/view_utils.h"
#include "ui/views/widget/widget.h"
namespace ui_devtools {
namespace {
ui::EventType GetMouseEventType(const std::string& type) { … }
int GetButtonFlags(const std::string& button) { … }
int GetMouseWheelXOffset(const std::string& mouse_wheel_direction) { … }
int GetMouseWheelYOffset(const std::string& mouse_wheel_direction) { … }
}
ViewElement::ViewElement(views::View* view,
UIElementDelegate* ui_element_delegate,
UIElement* parent)
: … { … }
ViewElement::~ViewElement() = default;
void ViewElement::OnChildViewRemoved(views::View* parent, views::View* view) { … }
void ViewElement::OnChildViewAdded(views::View* parent, views::View* view) { … }
void ViewElement::OnChildViewReordered(views::View* parent, views::View* view) { … }
void ViewElement::OnViewBoundsChanged(views::View* view) { … }
void ViewElement::GetBounds(gfx::Rect* bounds) const { … }
void ViewElement::SetBounds(const gfx::Rect& bounds) { … }
std::vector<std::string> ViewElement::GetAttributes() const { … }
std::pair<gfx::NativeWindow, gfx::Rect>
ViewElement::GetNodeWindowAndScreenBounds() const { … }
views::View* ViewElement::From(const UIElement* element) { … }
template <>
int UIElement::FindUIElementIdForBackendElement<views::View>(
views::View* element) const { … }
void ViewElement::PaintRect() const { … }
bool ViewElement::FindMatchByElementID(
const ui::ElementIdentifier& identifier) { … }
bool ViewElement::DispatchMouseEvent(protocol::DOM::MouseEvent* event) { … }
bool ViewElement::DispatchKeyEvent(protocol::DOM::KeyEvent* event) { … }
ui::metadata::ClassMetaData* ViewElement::GetClassMetaData() const { … }
void* ViewElement::GetClassInstance() const { … }
ui::Layer* ViewElement::GetLayer() const { … }
void ViewElement::RebuildTree() { … }
}