Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(194)

Unified Diff: Source/WebCore/dom/Element.h

Issue 359780043: WIP for IO
Patch Set: 22 tests pass Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/WebCore/dom/Document.cpp ('k') | Source/WebCore/dom/Element.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/WebCore/dom/Element.h
diff --git a/Source/WebCore/dom/Element.h b/Source/WebCore/dom/Element.h
index b782db287fdcd76baa3116aaff71b7f98e3bbb96..8680943abf76f337426b69222ede1c211d1bcff2 100644
--- a/Source/WebCore/dom/Element.h
+++ b/Source/WebCore/dom/Element.h
@@ -56,6 +56,11 @@ class RenderTreePosition;
class WebAnimation;
struct ElementStyle;
+#if ENABLE(INTERSECTION_OBSERVER)
+class IntersectionObserver;
+struct IntersectionObserverRegistration;
+#endif
+
enum SpellcheckAttributeState {
SpellcheckAttributeTrue,
SpellcheckAttributeFalse,
@@ -173,15 +178,19 @@ public:
virtual int scrollWidth();
virtual int scrollHeight();
- WEBCORE_EXPORT IntRect boundsInRootViewSpace();
-
- WEBCORE_EXPORT FloatRect boundingClientRect();
-
WEBCORE_EXPORT Ref<DOMRectList> getClientRects();
Ref<DOMRect> getBoundingClientRect();
- // Returns the absolute bounding box translated into client coordinates.
+ // Same web-exposed client coordinate system as getBoundingClientRect, but does not update layout.
+ FloatRect boundingRectInClientCoordinates();
+ WEBCORE_EXPORT FloatRect boundingClientRect(); // FIXME
+
+ // Returns the absolute bounding box translated into root view coordinates. Result affected by top content inset.
+ // Does not update layout.
WEBCORE_EXPORT IntRect clientRect() const;
+ // Similar (idential?) behavior to clientRect(), but updates layout.
+ WEBCORE_EXPORT IntRect boundsInRootViewSpace();
+
// Returns the absolute bounding box translated into screen coordinates.
WEBCORE_EXPORT IntRect screenRect() const;
@@ -565,6 +574,13 @@ public:
using ContainerNode::setAttributeEventListener;
void setAttributeEventListener(const AtomicString& eventType, const QualifiedName& attributeName, const AtomicString& value);
+#if ENABLE(INTERSECTION_OBSERVER)
+ void startObservingIntersections(IntersectionObserver&);
+ void endObservingIntersections(IntersectionObserver&);
+
+ Vector<IntersectionObserverRegistration>* intersectionObserverRegistrations();
+#endif
+
Element* findAnchorElementForLink(String& outAnchorName);
ExceptionOr<Ref<WebAnimation>> animate(JSC::ExecState&, JSC::Strong<JSC::JSObject>&&, std::optional<Variant<double, KeyframeAnimationOptions>>&&);
@@ -644,6 +660,10 @@ private:
void formatForDebugger(char* buffer, unsigned length) const override;
#endif
+#if ENABLE(INTERSECTION_OBSERVER)
+ void disconnectFromIntersectionObservers();
+#endif
+
// The cloneNode function is private so that non-virtual cloneElementWith/WithoutChildren are used instead.
Ref<Node> cloneNodeInternal(Document&, CloningOperation) override;
virtual Ref<Element> cloneElementWithoutAttributesAndChildren(Document&);
« no previous file with comments | « Source/WebCore/dom/Document.cpp ('k') | Source/WebCore/dom/Element.cpp » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b