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

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

Issue 1516723003: [Element / Autofill] Add boundsInViewportFloat() to fix <input> popup misalignment. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Refator to use boundsInViewportFloat() eventually, but keep boundsInViewportInt(). Created 5 years 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
« no previous file with comments | « content/renderer/render_widget.cc ('k') | third_party/WebKit/Source/core/dom/Element.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
204 void setScrollLeft(double); 204 void setScrollLeft(double);
205 void setScrollTop(double); 205 void setScrollTop(double);
206 int scrollWidth(); 206 int scrollWidth();
207 int scrollHeight(); 207 int scrollHeight();
208 208
209 void scrollBy(double x, double y); 209 void scrollBy(double x, double y);
210 virtual void scrollBy(const ScrollToOptions&); 210 virtual void scrollBy(const ScrollToOptions&);
211 void scrollTo(double x, double y); 211 void scrollTo(double x, double y);
212 virtual void scrollTo(const ScrollToOptions&); 212 virtual void scrollTo(const ScrollToOptions&);
213 213
214 IntRect boundsInViewport(); 214 IntRect boundsInViewportInt();
215 FloatRect boundsInViewportFloat();
215 216
216 ClientRectList* getClientRects(); 217 ClientRectList* getClientRects();
217 ClientRect* getBoundingClientRect(); 218 ClientRect* getBoundingClientRect();
218 219
219 bool hasNonEmptyLayoutSize() const; 220 bool hasNonEmptyLayoutSize() const;
220 221
221 const AtomicString& computedRole(); 222 const AtomicString& computedRole();
222 String computedName(); 223 String computedName();
223 224
224 // Returns the absolute bounding box translated into screen coordinates: 225 // Returns the absolute bounding box translated into screen coordinates:
(...skipping 462 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 688
688 ElementRareData* elementRareData() const; 689 ElementRareData* elementRareData() const;
689 ElementRareData& ensureElementRareData(); 690 ElementRareData& ensureElementRareData();
690 691
691 AttrNodeList& ensureAttrNodeList(); 692 AttrNodeList& ensureAttrNodeList();
692 void removeAttrNodeList(); 693 void removeAttrNodeList();
693 void detachAllAttrNodesFromElement(); 694 void detachAllAttrNodesFromElement();
694 void detachAttrNodeFromElementWithValue(Attr*, const AtomicString& value); 695 void detachAttrNodeFromElementWithValue(Attr*, const AtomicString& value);
695 void detachAttrNodeAtIndex(Attr*, size_t index); 696 void detachAttrNodeAtIndex(Attr*, size_t index);
696 697
698 bool getBoundingQuads(Vector<FloatQuad>&);
699
697 v8::Local<v8::Object> wrapCustomElement(v8::Isolate*, v8::Local<v8::Object> creationContext); 700 v8::Local<v8::Object> wrapCustomElement(v8::Isolate*, v8::Local<v8::Object> creationContext);
698 701
699 RefPtrWillBeMember<ElementData> m_elementData; 702 RefPtrWillBeMember<ElementData> m_elementData;
700 }; 703 };
701 704
702 DEFINE_NODE_TYPE_CASTS(Element, isElementNode()); 705 DEFINE_NODE_TYPE_CASTS(Element, isElementNode());
703 template <typename T> bool isElementOfType(const Node&); 706 template <typename T> bool isElementOfType(const Node&);
704 template <> inline bool isElementOfType<const Element>(const Node& node) { retur n node.isElementNode(); } 707 template <> inline bool isElementOfType<const Element>(const Node& node) { retur n node.isElementNode(); }
705 template <typename T> inline bool isElementOfType(const Element& element) { retu rn isElementOfType<T>(static_cast<const Node&>(element)); } 708 template <typename T> inline bool isElementOfType(const Element& element) { retu rn isElementOfType<T>(static_cast<const Node&>(element)); }
706 template <> inline bool isElementOfType<const Element>(const Element&) { return true; } 709 template <> inline bool isElementOfType<const Element>(const Element&) { return true; }
(...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after
932 static PassRefPtrWillBeRawPtr<T> create(const QualifiedName&, Document&) 935 static PassRefPtrWillBeRawPtr<T> create(const QualifiedName&, Document&)
933 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \ 936 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \
934 PassRefPtrWillBeRawPtr<T> T::create(const QualifiedName& tagName, Document& document) \ 937 PassRefPtrWillBeRawPtr<T> T::create(const QualifiedName& tagName, Document& document) \
935 { \ 938 { \
936 return adoptRefWillBeNoop(new T(tagName, document)); \ 939 return adoptRefWillBeNoop(new T(tagName, document)); \
937 } 940 }
938 941
939 } // namespace 942 } // namespace
940 943
941 #endif // Element_h 944 #endif // Element_h
OLDNEW
« no previous file with comments | « content/renderer/render_widget.cc ('k') | third_party/WebKit/Source/core/dom/Element.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698