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

Side by Side Diff: third_party/WebKit/Source/core/html/shadow/MediaControlElementTypes.h

Issue 2795783004: Move core MediaControls implementation to modules/media_controls/. (Closed)
Patch Set: rebase Created 3 years, 8 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) 2008, 2009, 2010, 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2008, 2009, 2010, 2011 Apple Inc. All rights reserved.
3 * Copyright (C) 2012 Google Inc. All rights reserved. 3 * Copyright (C) 2012 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
72 72
73 CORE_EXPORT const HTMLMediaElement* toParentMediaElement(const Node*); 73 CORE_EXPORT const HTMLMediaElement* toParentMediaElement(const Node*);
74 CORE_EXPORT const HTMLMediaElement* toParentMediaElement(const LayoutObject&); 74 CORE_EXPORT const HTMLMediaElement* toParentMediaElement(const LayoutObject&);
75 75
76 CORE_EXPORT MediaControlElementType mediaControlElementType(const Node*); 76 CORE_EXPORT MediaControlElementType mediaControlElementType(const Node*);
77 77
78 // ---------------------------- 78 // ----------------------------
79 79
80 // TODO(mustaq): The Media control elements that use MouseEvents should be 80 // TODO(mustaq): The Media control elements that use MouseEvents should be
81 // ported to use PointerEvents instead. 81 // ported to use PointerEvents instead.
82 class MediaControlElement : public GarbageCollectedMixin { 82 class CORE_EXPORT MediaControlElement : public GarbageCollectedMixin {
83 public: 83 public:
84 // These hold the state about whether this control should be shown if 84 // These hold the state about whether this control should be shown if
85 // space permits. These will also show / hide as needed. 85 // space permits. These will also show / hide as needed.
86 virtual void setIsWanted(bool); 86 virtual void setIsWanted(bool);
87 bool isWanted(); 87 bool isWanted();
88 88
89 // Tell us whether we fit or not. This will hide / show the control as 89 // Tell us whether we fit or not. This will hide / show the control as
90 // needed, also. 90 // needed, also.
91 void setDoesFit(bool); 91 void setDoesFit(bool);
92 92
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
144 144
145 Member<MediaControls> m_mediaControls; 145 Member<MediaControls> m_mediaControls;
146 MediaControlElementType m_displayType; 146 MediaControlElementType m_displayType;
147 Member<HTMLElement> m_element; 147 Member<HTMLElement> m_element;
148 bool m_isWanted : 1; 148 bool m_isWanted : 1;
149 bool m_doesFit : 1; 149 bool m_doesFit : 1;
150 }; 150 };
151 151
152 // ---------------------------- 152 // ----------------------------
153 153
154 class MediaControlDivElement : public HTMLDivElement, 154 class CORE_EXPORT MediaControlDivElement : public HTMLDivElement,
155 public MediaControlElement { 155 public MediaControlElement {
156 USING_GARBAGE_COLLECTED_MIXIN(MediaControlDivElement); 156 USING_GARBAGE_COLLECTED_MIXIN(MediaControlDivElement);
157 157
158 public: 158 public:
159 DECLARE_VIRTUAL_TRACE(); 159 DECLARE_VIRTUAL_TRACE();
160 160
161 protected: 161 protected:
162 MediaControlDivElement(MediaControls&, MediaControlElementType); 162 MediaControlDivElement(MediaControls&, MediaControlElementType);
163 163
164 private: 164 private:
165 bool isMediaControlElement() const final { return true; } 165 bool isMediaControlElement() const final { return true; }
166 }; 166 };
167 167
168 // ---------------------------- 168 // ----------------------------
169 169
170 class MediaControlInputElement : public HTMLInputElement, 170 class CORE_EXPORT MediaControlInputElement : public HTMLInputElement,
171 public MediaControlElement { 171 public MediaControlElement {
172 USING_GARBAGE_COLLECTED_MIXIN(MediaControlInputElement); 172 USING_GARBAGE_COLLECTED_MIXIN(MediaControlInputElement);
173 173
174 public: 174 public:
175 DECLARE_VIRTUAL_TRACE(); 175 DECLARE_VIRTUAL_TRACE();
176 176
177 // Creates an overflow menu element with the given button as a child. 177 // Creates an overflow menu element with the given button as a child.
178 HTMLElement* createOverflowElement(MediaControls&, MediaControlInputElement*); 178 HTMLElement* createOverflowElement(MediaControls&, MediaControlInputElement*);
179 179
180 protected: 180 protected:
181 MediaControlInputElement(MediaControls&, MediaControlElementType); 181 MediaControlInputElement(MediaControls&, MediaControlElementType);
182 182
183 private: 183 private:
184 virtual void updateDisplayType() {} 184 virtual void updateDisplayType() {}
185 bool isMediaControlElement() const final { return true; } 185 bool isMediaControlElement() const final { return true; }
186 bool isMouseFocusable() const override; 186 bool isMouseFocusable() const override;
187 187
188 // Creates an overflow menu HTML element. 188 // Creates an overflow menu HTML element.
189 virtual MediaControlInputElement* createOverflowButton(MediaControls&) { 189 virtual MediaControlInputElement* createOverflowButton(MediaControls&) {
190 return nullptr; 190 return nullptr;
191 } 191 }
192 }; 192 };
193 193
194 // ---------------------------- 194 // ----------------------------
195 195
196 class MediaControlTimeDisplayElement : public MediaControlDivElement { 196 class CORE_EXPORT MediaControlTimeDisplayElement
197 : public MediaControlDivElement {
197 public: 198 public:
198 void setCurrentValue(double); 199 void setCurrentValue(double);
199 double currentValue() const { return m_currentValue; } 200 double currentValue() const { return m_currentValue; }
200 201
201 protected: 202 protected:
202 MediaControlTimeDisplayElement(MediaControls&, MediaControlElementType); 203 MediaControlTimeDisplayElement(MediaControls&, MediaControlElementType);
203 204
204 private: 205 private:
205 double m_currentValue; 206 double m_currentValue;
206 }; 207 };
207 208
208 } // namespace blink 209 } // namespace blink
209 210
210 #endif // MediaControlElementTypes_h 211 #endif // MediaControlElementTypes_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698