OLD | NEW |
1 /* | 1 /* |
2 * This file is part of the select element renderer in WebCore. | 2 * This file is part of the select element renderer 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 14 matching lines...) Expand all Loading... |
25 #define RenderMenuList_h | 25 #define RenderMenuList_h |
26 | 26 |
27 #include "core/html/forms/PopupMenuClient.h" | 27 #include "core/html/forms/PopupMenuClient.h" |
28 #include "core/layout/LayoutFlexibleBox.h" | 28 #include "core/layout/LayoutFlexibleBox.h" |
29 #include "platform/PopupMenu.h" | 29 #include "platform/PopupMenu.h" |
30 #include "platform/geometry/LayoutRect.h" | 30 #include "platform/geometry/LayoutRect.h" |
31 | 31 |
32 namespace blink { | 32 namespace blink { |
33 | 33 |
34 class HTMLSelectElement; | 34 class HTMLSelectElement; |
35 class RenderText; | 35 class LayoutText; |
36 | 36 |
37 class RenderMenuList final : public LayoutFlexibleBox, private PopupMenuClient { | 37 class RenderMenuList final : public LayoutFlexibleBox, private PopupMenuClient { |
38 | 38 |
39 public: | 39 public: |
40 explicit RenderMenuList(Element*); | 40 explicit RenderMenuList(Element*); |
41 virtual ~RenderMenuList(); | 41 virtual ~RenderMenuList(); |
42 virtual void destroy() override; | 42 virtual void destroy() override; |
43 | 43 |
44 bool popupIsVisible() const { return m_popupIsVisible; } | 44 bool popupIsVisible() const { return m_popupIsVisible; } |
45 void showPopup(); | 45 void showPopup(); |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 void getItemBackgroundColor(unsigned listIndex, Color&, bool& itemHasCustomB
ackgroundColor) const; | 114 void getItemBackgroundColor(unsigned listIndex, Color&, bool& itemHasCustomB
ackgroundColor) const; |
115 | 115 |
116 void createInnerBlock(); | 116 void createInnerBlock(); |
117 void adjustInnerStyle(); | 117 void adjustInnerStyle(); |
118 void setText(const String&); | 118 void setText(const String&); |
119 void setTextFromOption(int optionIndex); | 119 void setTextFromOption(int optionIndex); |
120 void updateOptionsWidth(); | 120 void updateOptionsWidth(); |
121 | 121 |
122 void didUpdateActiveOption(int optionIndex); | 122 void didUpdateActiveOption(int optionIndex); |
123 | 123 |
124 RenderText* m_buttonText; | 124 LayoutText* m_buttonText; |
125 LayoutBlock* m_innerBlock; | 125 LayoutBlock* m_innerBlock; |
126 | 126 |
127 bool m_optionsChanged; | 127 bool m_optionsChanged; |
128 int m_optionsWidth; | 128 int m_optionsWidth; |
129 | 129 |
130 int m_lastActiveIndex; | 130 int m_lastActiveIndex; |
131 | 131 |
132 RefPtr<LayoutStyle> m_optionStyle; | 132 RefPtr<LayoutStyle> m_optionStyle; |
133 | 133 |
134 RefPtrWillBePersistent<PopupMenu> m_popup; | 134 RefPtrWillBePersistent<PopupMenu> m_popup; |
135 bool m_popupIsVisible; | 135 bool m_popupIsVisible; |
136 }; | 136 }; |
137 | 137 |
138 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(RenderMenuList, isMenuList()); | 138 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(RenderMenuList, isMenuList()); |
139 | 139 |
140 } | 140 } |
141 | 141 |
142 #endif | 142 #endif |
OLD | NEW |