mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-04 15:19:42 +00:00
LibWeb: Add PopOverInvokerElement and use it in HTMLButtonElement
The popoverTargetElement seems to be one of the only cases of a reflected Element? attribute in the HTML spec, the behaviour of which is specified in section 2.6.1. Buttons can't actually toggle popovers yet because showing/hiding popovers is not implemented yet.
This commit is contained in:
parent
158acabd21
commit
a276cf2d5e
Notes:
github-actions[bot]
2024-12-12 17:12:26 +00:00
Author: https://github.com/nbvdkamp
Commit: a276cf2d5e
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2542
Reviewed-by: https://github.com/tcl3 ✅
9 changed files with 97 additions and 2 deletions
34
Libraries/LibWeb/HTML/PopoverInvokerElement.h
Normal file
34
Libraries/LibWeb/HTML/PopoverInvokerElement.h
Normal file
|
@ -0,0 +1,34 @@
|
|||
/*
|
||||
* Copyright (c) 2024, Nathan van der Kamp <nbvdkamp@gmail.com>
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-2-Clause
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <LibGC/Ptr.h>
|
||||
#include <LibJS/Heap/Cell.h>
|
||||
#include <LibWeb/Forward.h>
|
||||
|
||||
namespace Web::HTML {
|
||||
|
||||
class PopoverInvokerElement {
|
||||
|
||||
public:
|
||||
PopoverInvokerElement() { }
|
||||
|
||||
GC::Ptr<DOM::Element> get_popover_target_element() { return m_popover_target_element; }
|
||||
|
||||
void set_popover_target_element(GC::Ptr<DOM::Element> value) { m_popover_target_element = value; }
|
||||
|
||||
protected:
|
||||
void visit_edges(JS::Cell::Visitor& visitor)
|
||||
{
|
||||
visitor.visit(m_popover_target_element);
|
||||
}
|
||||
|
||||
private:
|
||||
GC::Ptr<DOM::Element> m_popover_target_element;
|
||||
};
|
||||
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue