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

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

Issue 2362223002: Stop clamping tabIndex to short range (Closed)
Patch Set: Fix tabindex-clamp.html Created 4 years, 1 month 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 667 matching lines...) Expand 10 before | Expand all | Expand 10 after
678 ElementAnimations* elementAnimations() const; 678 ElementAnimations* elementAnimations() const;
679 ElementAnimations& ensureElementAnimations(); 679 ElementAnimations& ensureElementAnimations();
680 bool hasAnimations() const; 680 bool hasAnimations() const;
681 681
682 void synchronizeAttribute(const AtomicString& localName) const; 682 void synchronizeAttribute(const AtomicString& localName) const;
683 683
684 MutableStylePropertySet& ensureMutableInlineStyle(); 684 MutableStylePropertySet& ensureMutableInlineStyle();
685 void clearMutableInlineStyleIfEmpty(); 685 void clearMutableInlineStyleIfEmpty();
686 686
687 void setTabIndex(int); 687 void setTabIndex(int);
688 short tabIndex() const override; 688 int tabIndex() const override;
689 689
690 // A compositor proxy is a very limited wrapper around an element. It 690 // A compositor proxy is a very limited wrapper around an element. It
691 // exposes only those properties that are requested at the time the proxy is 691 // exposes only those properties that are requested at the time the proxy is
692 // created. In order to know which properties are actually proxied, we 692 // created. In order to know which properties are actually proxied, we
693 // maintain a count of the number of compositor proxies associated with each 693 // maintain a count of the number of compositor proxies associated with each
694 // property. 694 // property.
695 bool hasCompositorProxy() const; 695 bool hasCompositorProxy() const;
696 void incrementCompositorProxiedProperties(uint32_t mutableProperties); 696 void incrementCompositorProxiedProperties(uint32_t mutableProperties);
697 void decrementCompositorProxiedProperties(uint32_t mutableProperties); 697 void decrementCompositorProxiedProperties(uint32_t mutableProperties);
698 uint32_t compositorMutableProperties() const; 698 uint32_t compositorMutableProperties() const;
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
758 virtual void willRecalcStyle(StyleRecalcChange); 758 virtual void willRecalcStyle(StyleRecalcChange);
759 virtual void didRecalcStyle(StyleRecalcChange); 759 virtual void didRecalcStyle(StyleRecalcChange);
760 virtual PassRefPtr<ComputedStyle> customStyleForLayoutObject(); 760 virtual PassRefPtr<ComputedStyle> customStyleForLayoutObject();
761 761
762 virtual bool shouldRegisterAsNamedItem() const { return false; } 762 virtual bool shouldRegisterAsNamedItem() const { return false; }
763 virtual bool shouldRegisterAsExtraNamedItem() const { return false; } 763 virtual bool shouldRegisterAsExtraNamedItem() const { return false; }
764 764
765 bool supportsSpatialNavigationFocus() const; 765 bool supportsSpatialNavigationFocus() const;
766 766
767 void clearTabIndexExplicitlyIfNeeded(); 767 void clearTabIndexExplicitlyIfNeeded();
768 void setTabIndexExplicitly(short); 768 void setTabIndexExplicitly();
769 // Subclasses may override this method to affect focusability. This method 769 // Subclasses may override this method to affect focusability. This method
770 // must be called on an up-to-date ComputedStyle, so it may use existence of 770 // must be called on an up-to-date ComputedStyle, so it may use existence of
771 // layoutObject and the LayoutObject::style() to reason about focusability. 771 // layoutObject and the LayoutObject::style() to reason about focusability.
772 // However, it must not retrieve layout information like position and size. 772 // However, it must not retrieve layout information like position and size.
773 // This method cannot be moved to LayoutObject because some focusable nodes 773 // This method cannot be moved to LayoutObject because some focusable nodes
774 // don't have layoutObjects. e.g., HTMLOptionElement. 774 // don't have layoutObjects. e.g., HTMLOptionElement.
775 // TODO(tkent): Rename this to isFocusableStyle. 775 // TODO(tkent): Rename this to isFocusableStyle.
776 virtual bool layoutObjectIsFocusable() const; 776 virtual bool layoutObjectIsFocusable() const;
777 777
778 // classAttributeChanged() exists to share code between 778 // classAttributeChanged() exists to share code between
(...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after
1157 #define DECLARE_ELEMENT_FACTORY_WITH_TAGNAME(T) \ 1157 #define DECLARE_ELEMENT_FACTORY_WITH_TAGNAME(T) \
1158 static T* create(const QualifiedName&, Document&) 1158 static T* create(const QualifiedName&, Document&)
1159 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \ 1159 #define DEFINE_ELEMENT_FACTORY_WITH_TAGNAME(T) \
1160 T* T::create(const QualifiedName& tagName, Document& document) { \ 1160 T* T::create(const QualifiedName& tagName, Document& document) { \
1161 return new T(tagName, document); \ 1161 return new T(tagName, document); \
1162 } 1162 }
1163 1163
1164 } // namespace blink 1164 } // namespace blink
1165 1165
1166 #endif // Element_h 1166 #endif // Element_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698