Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(680)

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

Issue 1209183004: Expose scroll customization for touch to JS (behind REF). (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Don't trigger layout on 0 delta. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/dom/Element.h
diff --git a/Source/core/dom/Element.h b/Source/core/dom/Element.h
index fce9b0f4517892dc8e03737d1bf5166fc5d1e390..a097fdebd3287180b02970ed5fe9fa93e3938c52 100644
--- a/Source/core/dom/Element.h
+++ b/Source/core/dom/Element.h
@@ -62,6 +62,7 @@ class MutableStylePropertySet;
class PropertySetCSSStyleDeclaration;
class PseudoElement;
class ScrollState;
+class ScrollStateCallback;
class ScrollToOptions;
class ShadowRoot;
class ShadowRootInit;
@@ -84,6 +85,12 @@ enum ElementFlags {
NumberOfElementFlags = 6, // Required size of bitfield used to store the flags.
};
+enum NativeScrollBehavior {
+ DisableNativeScroll,
+ PerformBeforeNativeScroll,
+ PerformAfterNativeScroll,
+};
+
typedef WillBeHeapVector<RefPtrWillBeMember<Attr>> AttrNodeList;
class CORE_EXPORT Element : public ContainerNode {
@@ -170,9 +177,6 @@ public:
void scrollIntoView(bool alignToTop = true);
void scrollIntoViewIfNeeded(bool centerIfNeeded = true);
- void distributeScroll(ScrollState&);
- void applyScroll(ScrollState&);
-
int offsetLeft();
int offsetTop();
int offsetWidth();
@@ -370,6 +374,15 @@ public:
virtual void focus(bool restorePreviousSelection = true, WebFocusType = WebFocusTypeNone);
virtual void updateFocusAppearance(bool restorePreviousSelection);
virtual void blur();
+
+ void setDistributeScroll(ScrollStateCallback*, String nativeScrollBehavior);
+ void nativeDistributeScroll(ScrollState&);
+ void setApplyScroll(ScrollStateCallback*, String nativeScrollBehavior);
+ void nativeApplyScroll(ScrollState&);
+
+ void callDistributeScroll(ScrollState&);
+ void callApplyScroll(ScrollState&);
+
// Whether this element can receive focus at all. Most elements are not
// focusable but some elements, such as form controls and links, are. Unlike
// layoutObjectIsFocusable(), this method may be called when layout is not up to
« no previous file with comments | « Source/core/core.gypi ('k') | Source/core/dom/Element.cpp » ('j') | Source/core/dom/Element.idl » ('J')

Powered by Google App Engine
This is Rietveld 408576698