#ifndef CHROME_TEST_INTERACTION_TRACKED_ELEMENT_WEBCONTENTS_H_
#define CHROME_TEST_INTERACTION_TRACKED_ELEMENT_WEBCONTENTS_H_
#include "base/memory/raw_ptr.h"
#include "ui/base/interaction/element_identifier.h"
#include "ui/base/interaction/element_tracker.h"
#include "ui/base/interaction/framework_specific_implementation.h"
class WebContentsInteractionTestUtil;
class TrackedElementWebContents : public ui::TrackedElement {
public:
TrackedElementWebContents(ui::ElementIdentifier identifier,
ui::ElementContext context,
WebContentsInteractionTestUtil* owner);
~TrackedElementWebContents() override;
DECLARE_FRAMEWORK_SPECIFIC_METADATA()
DECLARE_CLASS_CUSTOM_ELEMENT_EVENT_TYPE(kFirstNonEmptyPaint);
gfx::Rect GetScreenBounds() const override;
std::string ToString() const override;
WebContentsInteractionTestUtil* owner() { return owner_; }
const WebContentsInteractionTestUtil* owner() const { return owner_; }
private:
friend WebContentsInteractionTestUtil;
void Init();
const raw_ptr<WebContentsInteractionTestUtil> owner_;
};
#endif