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

Side by Side 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Peter Kelly (pmk@post.com) 4 * (C) 2001 Peter Kelly (pmk@post.com)
5 * (C) 2001 Dirk Mueller (mueller@kde.org) 5 * (C) 2001 Dirk Mueller (mueller@kde.org)
6 * Copyright (C) 2003-2011, 2013, 2014 Apple Inc. All rights reserved. 6 * Copyright (C) 2003-2011, 2013, 2014 Apple Inc. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Library General Public 9 * modify it under the terms of the GNU Library General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 class ElementRareData; 55 class ElementRareData;
56 class ElementShadow; 56 class ElementShadow;
57 class ExceptionState; 57 class ExceptionState;
58 class Image; 58 class Image;
59 class IntSize; 59 class IntSize;
60 class Locale; 60 class Locale;
61 class MutableStylePropertySet; 61 class MutableStylePropertySet;
62 class PropertySetCSSStyleDeclaration; 62 class PropertySetCSSStyleDeclaration;
63 class PseudoElement; 63 class PseudoElement;
64 class ScrollState; 64 class ScrollState;
65 class ScrollStateCallback;
65 class ScrollToOptions; 66 class ScrollToOptions;
66 class ShadowRoot; 67 class ShadowRoot;
67 class ShadowRootInit; 68 class ShadowRootInit;
68 class StylePropertySet; 69 class StylePropertySet;
69 70
70 enum SpellcheckAttributeState { 71 enum SpellcheckAttributeState {
71 SpellcheckAttributeTrue, 72 SpellcheckAttributeTrue,
72 SpellcheckAttributeFalse, 73 SpellcheckAttributeFalse,
73 SpellcheckAttributeDefault 74 SpellcheckAttributeDefault
74 }; 75 };
75 76
76 enum ElementFlags { 77 enum ElementFlags {
77 TabIndexWasSetExplicitly = 1 << 0, 78 TabIndexWasSetExplicitly = 1 << 0,
78 StyleAffectedByEmpty = 1 << 1, 79 StyleAffectedByEmpty = 1 << 1,
79 IsInCanvasSubtree = 1 << 2, 80 IsInCanvasSubtree = 1 << 2,
80 ContainsFullScreenElement = 1 << 3, 81 ContainsFullScreenElement = 1 << 3,
81 IsInTopLayer = 1 << 4, 82 IsInTopLayer = 1 << 4,
82 HasPendingResources = 1 << 5, 83 HasPendingResources = 1 << 5,
83 84
84 NumberOfElementFlags = 6, // Required size of bitfield used to store the fla gs. 85 NumberOfElementFlags = 6, // Required size of bitfield used to store the fla gs.
85 }; 86 };
86 87
88 enum NativeScrollBehavior {
89 DisableNativeScroll,
90 PerformBeforeNativeScroll,
91 PerformAfterNativeScroll,
92 };
93
87 typedef WillBeHeapVector<RefPtrWillBeMember<Attr>> AttrNodeList; 94 typedef WillBeHeapVector<RefPtrWillBeMember<Attr>> AttrNodeList;
88 95
89 class CORE_EXPORT Element : public ContainerNode { 96 class CORE_EXPORT Element : public ContainerNode {
90 DEFINE_WRAPPERTYPEINFO(); 97 DEFINE_WRAPPERTYPEINFO();
91 public: 98 public:
92 static PassRefPtrWillBeRawPtr<Element> create(const QualifiedName&, Document *); 99 static PassRefPtrWillBeRawPtr<Element> create(const QualifiedName&, Document *);
93 virtual ~Element(); 100 virtual ~Element();
94 101
95 DEFINE_ATTRIBUTE_EVENT_LISTENER(beforecopy); 102 DEFINE_ATTRIBUTE_EVENT_LISTENER(beforecopy);
96 DEFINE_ATTRIBUTE_EVENT_LISTENER(beforecut); 103 DEFINE_ATTRIBUTE_EVENT_LISTENER(beforecut);
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 // will be returned. This is not a trivial getter and its return value shoul d be cached 170 // will be returned. This is not a trivial getter and its return value shoul d be cached
164 // for performance. 171 // for performance.
165 AttributeCollection attributes() const; 172 AttributeCollection attributes() const;
166 // This variant will not update the potentially invalid attributes. To be us ed when not interested 173 // This variant will not update the potentially invalid attributes. To be us ed when not interested
167 // in style attribute or one of the SVG animation attributes. 174 // in style attribute or one of the SVG animation attributes.
168 AttributeCollection attributesWithoutUpdate() const; 175 AttributeCollection attributesWithoutUpdate() const;
169 176
170 void scrollIntoView(bool alignToTop = true); 177 void scrollIntoView(bool alignToTop = true);
171 void scrollIntoViewIfNeeded(bool centerIfNeeded = true); 178 void scrollIntoViewIfNeeded(bool centerIfNeeded = true);
172 179
173 void distributeScroll(ScrollState&);
174 void applyScroll(ScrollState&);
175
176 int offsetLeft(); 180 int offsetLeft();
177 int offsetTop(); 181 int offsetTop();
178 int offsetWidth(); 182 int offsetWidth();
179 int offsetHeight(); 183 int offsetHeight();
180 184
181 Element* offsetParent(); 185 Element* offsetParent();
182 int clientLeft(); 186 int clientLeft();
183 int clientTop(); 187 int clientTop();
184 int clientWidth(); 188 int clientWidth();
185 int clientHeight(); 189 int clientHeight();
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
363 367
364 KURL getURLAttribute(const QualifiedName&) const; 368 KURL getURLAttribute(const QualifiedName&) const;
365 KURL getNonEmptyURLAttribute(const QualifiedName&) const; 369 KURL getNonEmptyURLAttribute(const QualifiedName&) const;
366 370
367 virtual const AtomicString imageSourceURL() const; 371 virtual const AtomicString imageSourceURL() const;
368 virtual Image* imageContents() { return nullptr; } 372 virtual Image* imageContents() { return nullptr; }
369 373
370 virtual void focus(bool restorePreviousSelection = true, WebFocusType = WebF ocusTypeNone); 374 virtual void focus(bool restorePreviousSelection = true, WebFocusType = WebF ocusTypeNone);
371 virtual void updateFocusAppearance(bool restorePreviousSelection); 375 virtual void updateFocusAppearance(bool restorePreviousSelection);
372 virtual void blur(); 376 virtual void blur();
377
378 void setDistributeScroll(ScrollStateCallback*, String nativeScrollBehavior);
379 void nativeDistributeScroll(ScrollState&);
380 void setApplyScroll(ScrollStateCallback*, String nativeScrollBehavior);
381 void nativeApplyScroll(ScrollState&);
382
383 void callDistributeScroll(ScrollState&);
384 void callApplyScroll(ScrollState&);
385
373 // Whether this element can receive focus at all. Most elements are not 386 // Whether this element can receive focus at all. Most elements are not
374 // focusable but some elements, such as form controls and links, are. Unlike 387 // focusable but some elements, such as form controls and links, are. Unlike
375 // layoutObjectIsFocusable(), this method may be called when layout is not u p to 388 // layoutObjectIsFocusable(), this method may be called when layout is not u p to
376 // date, so it must not use the layoutObject to determine focusability. 389 // date, so it must not use the layoutObject to determine focusability.
377 virtual bool supportsFocus() const; 390 virtual bool supportsFocus() const;
378 // Whether the node can actually be focused. 391 // Whether the node can actually be focused.
379 bool isFocusable() const; 392 bool isFocusable() const;
380 bool isFocusedElementInDocument() const; 393 bool isFocusedElementInDocument() const;
381 virtual bool isKeyboardFocusable() const; 394 virtual bool isKeyboardFocusable() const;
382 virtual bool isMouseFocusable() const; 395 virtual bool isMouseFocusable() const;
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after
880 static PassRefPtrWillBeRawPtr<T> create(const QualifiedName&, Document&) 893 static PassRefPtrWillBeRawPtr<T> create(const QualifiedName&, Document&)
881 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \ 894 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \
882 PassRefPtrWillBeRawPtr<T> T::create(const QualifiedName& tagName, Document& document) \ 895 PassRefPtrWillBeRawPtr<T> T::create(const QualifiedName& tagName, Document& document) \
883 { \ 896 { \
884 return adoptRefWillBeNoop(new T(tagName, document)); \ 897 return adoptRefWillBeNoop(new T(tagName, document)); \
885 } 898 }
886 899
887 } // namespace 900 } // namespace
888 901
889 #endif // Element_h 902 #endif // Element_h
OLDNEW
« 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