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

Side by Side Diff: Source/core/layout/LayoutMenuList.h

Issue 1231363003: Fix virtual/override/final usage in Source/core/layout/. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/layout/LayoutMedia.h ('k') | Source/core/layout/LayoutMeter.h » ('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 * This file is part of the select element layoutObject in WebCore. 2 * This file is part of the select element layoutObject in WebCore.
3 * 3 *
4 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
5 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv ed. 5 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All rights reserv ed.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 20 matching lines...) Expand all
31 #include "platform/geometry/LayoutRect.h" 31 #include "platform/geometry/LayoutRect.h"
32 32
33 namespace blink { 33 namespace blink {
34 34
35 class HTMLSelectElement; 35 class HTMLSelectElement;
36 class LayoutText; 36 class LayoutText;
37 37
38 class CORE_EXPORT LayoutMenuList final : public LayoutFlexibleBox, private Popup MenuClient { 38 class CORE_EXPORT LayoutMenuList final : public LayoutFlexibleBox, private Popup MenuClient {
39 public: 39 public:
40 explicit LayoutMenuList(Element*); 40 explicit LayoutMenuList(Element*);
41 virtual ~LayoutMenuList(); 41 ~LayoutMenuList() override;
42 42
43 bool popupIsVisible() const { return m_popupIsVisible; } 43 bool popupIsVisible() const { return m_popupIsVisible; }
44 void showPopup(); 44 void showPopup();
45 void hidePopup(); 45 void hidePopup();
46 PopupMenu* popup() const { return m_popup.get(); } 46 PopupMenu* popup() const { return m_popup.get(); }
47 47
48 void setOptionsChanged(bool changed) { m_optionsChanged = changed; } 48 void setOptionsChanged(bool changed) { m_optionsChanged = changed; }
49 49
50 void didSetSelectedIndex(int listIndex); 50 void didSetSelectedIndex(int listIndex);
51 51
52 String text() const; 52 String text() const;
53 53
54 virtual PopupMenuStyle itemStyle(unsigned listIndex) const override; 54 PopupMenuStyle itemStyle(unsigned listIndex) const override;
55 55
56 virtual const char* name() const override { return "LayoutMenuList"; } 56 const char* name() const override { return "LayoutMenuList"; }
57 57
58 protected: 58 protected:
59 virtual void willBeDestroyed() override; 59 void willBeDestroyed() override;
60 60
61 private: 61 private:
62 HTMLSelectElement* selectElement() const; 62 HTMLSelectElement* selectElement() const;
63 63
64 virtual bool isOfType(LayoutObjectType type) const override { return type == LayoutObjectMenuList || LayoutFlexibleBox::isOfType(type); } 64 bool isOfType(LayoutObjectType type) const override { return type == LayoutO bjectMenuList || LayoutFlexibleBox::isOfType(type); }
65 virtual bool isChildAllowed(LayoutObject*, const ComputedStyle&) const overr ide; 65 bool isChildAllowed(LayoutObject*, const ComputedStyle&) const override;
66 66
67 virtual void addChild(LayoutObject* newChild, LayoutObject* beforeChild = nu llptr) override; 67 void addChild(LayoutObject* newChild, LayoutObject* beforeChild = nullptr) o verride;
68 virtual void removeChild(LayoutObject*) override; 68 void removeChild(LayoutObject*) override;
69 virtual bool createsAnonymousWrapper() const override { return true; } 69 bool createsAnonymousWrapper() const override { return true; }
70 70
71 virtual void updateFromElement() override; 71 void updateFromElement() override;
72 72
73 virtual LayoutRect controlClipRect(const LayoutPoint&) const override; 73 LayoutRect controlClipRect(const LayoutPoint&) const override;
74 virtual bool hasControlClip() const override { return true; } 74 bool hasControlClip() const override { return true; }
75 75
76 virtual void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Layo utUnit& maxLogicalWidth) const override; 76 void computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, LayoutUnit& maxLogicalWidth) const override;
77 77
78 virtual void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override; 78 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override ;
79 79
80 // PopupMenuClient methods 80 // PopupMenuClient methods
81 virtual void valueChanged(unsigned listIndex, bool fireOnChange = true) over ride; 81 void valueChanged(unsigned listIndex, bool fireOnChange = true) override;
82 virtual void selectionChanged(unsigned, bool) override { } 82 void selectionChanged(unsigned, bool) override { }
83 virtual void selectionCleared() override { } 83 void selectionCleared() override { }
84 virtual String itemText(unsigned listIndex) const override; 84 String itemText(unsigned listIndex) const override;
85 virtual String itemToolTip(unsigned listIndex) const override; 85 String itemToolTip(unsigned listIndex) const override;
86 virtual String itemAccessibilityText(unsigned listIndex) const override; 86 String itemAccessibilityText(unsigned listIndex) const override;
87 virtual bool itemIsEnabled(unsigned listIndex) const override; 87 bool itemIsEnabled(unsigned listIndex) const override;
88 virtual PopupMenuStyle menuStyle() const override; 88 PopupMenuStyle menuStyle() const override;
89 virtual LayoutUnit clientPaddingLeft() const override; 89 LayoutUnit clientPaddingLeft() const override;
90 virtual LayoutUnit clientPaddingRight() const override; 90 LayoutUnit clientPaddingRight() const override;
91 virtual int listSize() const override; 91 int listSize() const override;
92 virtual int selectedIndex() const override; 92 int selectedIndex() const override;
93 virtual void popupDidHide() override; 93 void popupDidHide() override;
94 virtual void popupDidCancel() override; 94 void popupDidCancel() override;
95 virtual bool itemIsSeparator(unsigned listIndex) const override; 95 bool itemIsSeparator(unsigned listIndex) const override;
96 virtual bool itemIsLabel(unsigned listIndex) const override; 96 bool itemIsLabel(unsigned listIndex) const override;
97 virtual bool itemIsSelected(unsigned listIndex) const override; 97 bool itemIsSelected(unsigned listIndex) const override;
98 virtual void provisionalSelectionChanged(unsigned) override; 98 void provisionalSelectionChanged(unsigned) override;
99 virtual void listBoxSelectItem(int listIndex, bool allowMultiplySelections, bool shift, bool fireOnChangeNow = true) override; 99 void listBoxSelectItem(int listIndex, bool allowMultiplySelections, bool shi ft, bool fireOnChangeNow = true) override;
100 virtual bool multiple() const override; 100 bool multiple() const override;
101 virtual IntRect elementRectRelativeToViewport() const override; 101 IntRect elementRectRelativeToViewport() const override;
102 virtual Element& ownerElement() const override; 102 Element& ownerElement() const override;
103 virtual const ComputedStyle* computedStyleForItem(Element&) const override; 103 const ComputedStyle* computedStyleForItem(Element&) const override;
104 104
105 virtual bool hasLineIfEmpty() const override { return true; } 105 bool hasLineIfEmpty() const override { return true; }
106 106
107 // Flexbox defines baselines differently than regular blocks. 107 // Flexbox defines baselines differently than regular blocks.
108 // For backwards compatibility, menulists need to do the regular block behav ior. 108 // For backwards compatibility, menulists need to do the regular block behav ior.
109 virtual int baselinePosition(FontBaseline baseline, bool firstLine, LineDire ctionMode direction, LinePositionMode position) const override 109 int baselinePosition(FontBaseline baseline, bool firstLine, LineDirectionMod e direction, LinePositionMode position) const override
110 { 110 {
111 return LayoutBlock::baselinePosition(baseline, firstLine, direction, pos ition); 111 return LayoutBlock::baselinePosition(baseline, firstLine, direction, pos ition);
112 } 112 }
113 virtual int firstLineBoxBaseline() const override { return LayoutBlock::firs tLineBoxBaseline(); } 113 int firstLineBoxBaseline() const override { return LayoutBlock::firstLineBox Baseline(); }
114 virtual int inlineBlockBaseline(LineDirectionMode direction) const override { return LayoutBlock::inlineBlockBaseline(direction); } 114 int inlineBlockBaseline(LineDirectionMode direction) const override { return LayoutBlock::inlineBlockBaseline(direction); }
115 115
116 void getItemBackgroundColor(unsigned listIndex, Color&, bool& itemHasCustomB ackgroundColor) const; 116 void getItemBackgroundColor(unsigned listIndex, Color&, bool& itemHasCustomB ackgroundColor) const;
117 117
118 void createInnerBlock(); 118 void createInnerBlock();
119 void adjustInnerStyle(); 119 void adjustInnerStyle();
120 void setText(const String&); 120 void setText(const String&);
121 void setTextFromOption(int optionIndex); 121 void setTextFromOption(int optionIndex);
122 void updateOptionsWidth(); 122 void updateOptionsWidth();
123 void updateText(); 123 void updateText();
124 void setIndexToSelectOnCancel(int listIndex); 124 void setIndexToSelectOnCancel(int listIndex);
(...skipping 18 matching lines...) Expand all
143 143
144 // TODO(tkent): Use FRIEND_TEST macro provided by gtest_prod.h 144 // TODO(tkent): Use FRIEND_TEST macro provided by gtest_prod.h
145 friend class LayoutMenuListTest_ElementRectRelativeToViewport_Test; 145 friend class LayoutMenuListTest_ElementRectRelativeToViewport_Test;
146 }; 146 };
147 147
148 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutMenuList, isMenuList()); 148 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutMenuList, isMenuList());
149 149
150 } 150 }
151 151
152 #endif 152 #endif
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutMedia.h ('k') | Source/core/layout/LayoutMeter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698