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

Side by Side Diff: third_party/WebKit/Source/core/dom/Element.h

Issue 2650343008: Implement Element.scrollIntoView for scroll-behavior: smooth. (Closed)
Patch Set: Rebase Created 3 years, 7 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 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
58 class Image; 58 class Image;
59 class InputDeviceCapabilities; 59 class InputDeviceCapabilities;
60 class Locale; 60 class Locale;
61 class MutableStylePropertySet; 61 class MutableStylePropertySet;
62 class NamedNodeMap; 62 class NamedNodeMap;
63 class ElementIntersectionObserverData; 63 class ElementIntersectionObserverData;
64 class PseudoElement; 64 class PseudoElement;
65 class PseudoStyleRequest; 65 class PseudoStyleRequest;
66 class ResizeObservation; 66 class ResizeObservation;
67 class ResizeObserver; 67 class ResizeObserver;
68 class ScrollIntoViewOptions;
69 class ScrollIntoViewOptionsOrBoolean;
68 class ScrollState; 70 class ScrollState;
69 class ScrollStateCallback; 71 class ScrollStateCallback;
70 class ScrollToOptions; 72 class ScrollToOptions;
71 class ShadowRoot; 73 class ShadowRoot;
72 class ShadowRootInit; 74 class ShadowRootInit;
73 class StylePropertySet; 75 class StylePropertySet;
74 class StylePropertyMap; 76 class StylePropertyMap;
75 class V0CustomElementDefinition; 77 class V0CustomElementDefinition;
76 78
77 enum SpellcheckAttributeState { 79 enum SpellcheckAttributeState {
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 // This getter takes care of synchronizing all attributes before returning the 216 // This getter takes care of synchronizing all attributes before returning the
215 // AttributeCollection. If the Element has no attributes, an empty 217 // AttributeCollection. If the Element has no attributes, an empty
216 // AttributeCollection will be returned. This is not a trivial getter and its 218 // AttributeCollection will be returned. This is not a trivial getter and its
217 // return value should be cached for performance. 219 // return value should be cached for performance.
218 AttributeCollection Attributes() const; 220 AttributeCollection Attributes() const;
219 // This variant will not update the potentially invalid attributes. To be used 221 // This variant will not update the potentially invalid attributes. To be used
220 // when not interested in style attribute or one of the SVG animation 222 // when not interested in style attribute or one of the SVG animation
221 // attributes. 223 // attributes.
222 AttributeCollection AttributesWithoutUpdate() const; 224 AttributeCollection AttributesWithoutUpdate() const;
223 225
226 void scrollIntoView(ScrollIntoViewOptionsOrBoolean);
224 void scrollIntoView(bool align_to_top = true); 227 void scrollIntoView(bool align_to_top = true);
228 void scrollIntoViewWithOptions(const ScrollIntoViewOptions&);
225 void scrollIntoViewIfNeeded(bool center_if_needed = true); 229 void scrollIntoViewIfNeeded(bool center_if_needed = true);
226 230
227 int OffsetLeft(); 231 int OffsetLeft();
228 int OffsetTop(); 232 int OffsetTop();
229 int OffsetWidth(); 233 int OffsetWidth();
230 int OffsetHeight(); 234 int OffsetHeight();
231 235
232 Element* OffsetParent(); 236 Element* OffsetParent();
233 int clientLeft(); 237 int clientLeft();
234 int clientTop(); 238 int clientTop();
(...skipping 998 matching lines...) Expand 10 before | Expand all | Expand 10 after
1233 #define DECLARE_ELEMENT_FACTORY_WITH_TAGNAME(T) \ 1237 #define DECLARE_ELEMENT_FACTORY_WITH_TAGNAME(T) \
1234 static T* Create(const QualifiedName&, Document&) 1238 static T* Create(const QualifiedName&, Document&)
1235 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \ 1239 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \
1236 T* T::Create(const QualifiedName& tagName, Document& document) { \ 1240 T* T::Create(const QualifiedName& tagName, Document& document) { \
1237 return new T(tagName, document); \ 1241 return new T(tagName, document); \
1238 } 1242 }
1239 1243
1240 } // namespace blink 1244 } // namespace blink
1241 1245
1242 #endif // Element_h 1246 #endif // Element_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698