OLD | NEW |
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 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r
ights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012 Apple Inc. All r
ights reserved. |
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) | 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t
orchmobile.com/) |
8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) | 8 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) |
9 * Copyright (C) 2013 Google Inc. All rights reserved. | 9 * Copyright (C) 2013 Google Inc. All rights reserved. |
10 * | 10 * |
(...skipping 87 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 private: | 98 private: |
99 static FullscreenElementStack* fromIfExistsSlow(Document&); | 99 static FullscreenElementStack* fromIfExistsSlow(Document&); |
100 | 100 |
101 explicit FullscreenElementStack(Document&); | 101 explicit FullscreenElementStack(Document&); |
102 | 102 |
103 Document* document(); | 103 Document* document(); |
104 | 104 |
105 void clearFullscreenElementStack(); | 105 void clearFullscreenElementStack(); |
106 void popFullscreenElementStack(); | 106 void popFullscreenElementStack(); |
107 void pushFullscreenElementStack(Element&); | 107 void pushFullscreenElementStack(Element&); |
108 void addDocumentToFullScreenChangeEventQueue(Document&); | 108 |
109 void fullScreenChangeDelayTimerFired(Timer<FullscreenElementStack>*); | 109 void enqueueChangeEvent(Document&); |
| 110 void enqueueErrorEvent(Element&); |
| 111 void eventQueueTimerFired(Timer<FullscreenElementStack>*); |
110 | 112 |
111 void fullScreenElementRemoved(); | 113 void fullScreenElementRemoved(); |
112 | 114 |
113 bool m_areKeysEnabledInFullScreen; | 115 bool m_areKeysEnabledInFullScreen; |
114 RefPtrWillBeMember<Element> m_fullScreenElement; | 116 RefPtrWillBeMember<Element> m_fullScreenElement; |
115 WillBeHeapVector<RefPtrWillBeMember<Element> > m_fullScreenElementStack; | 117 WillBeHeapVector<RefPtrWillBeMember<Element> > m_fullScreenElementStack; |
116 RenderFullScreen* m_fullScreenRenderer; | 118 RenderFullScreen* m_fullScreenRenderer; |
117 Timer<FullscreenElementStack> m_fullScreenChangeDelayTimer; | 119 Timer<FullscreenElementStack> m_eventQueueTimer; |
118 WillBeHeapDeque<RefPtrWillBeMember<Node> > m_fullScreenChangeEventTargetQueu
e; | 120 WillBeHeapDeque<RefPtrWillBeMember<Event> > m_eventQueue; |
119 WillBeHeapDeque<RefPtrWillBeMember<Node> > m_fullScreenErrorEventTargetQueue
; | |
120 LayoutRect m_savedPlaceholderFrameRect; | 121 LayoutRect m_savedPlaceholderFrameRect; |
121 RefPtr<RenderStyle> m_savedPlaceholderRenderStyle; | 122 RefPtr<RenderStyle> m_savedPlaceholderRenderStyle; |
122 }; | 123 }; |
123 | 124 |
124 inline bool FullscreenElementStack::isActiveFullScreenElement(const Element& ele
ment) | 125 inline bool FullscreenElementStack::isActiveFullScreenElement(const Element& ele
ment) |
125 { | 126 { |
126 FullscreenElementStack* controller = fromIfExists(element.document()); | 127 FullscreenElementStack* controller = fromIfExists(element.document()); |
127 if (!controller) | 128 if (!controller) |
128 return false; | 129 return false; |
129 return controller->webkitIsFullScreen() && controller->webkitCurrentFullScre
enElement() == element; | 130 return controller->webkitIsFullScreen() && controller->webkitCurrentFullScre
enElement() == element; |
130 } | 131 } |
131 | 132 |
132 inline FullscreenElementStack* FullscreenElementStack::fromIfExists(Document& do
cument) | 133 inline FullscreenElementStack* FullscreenElementStack::fromIfExists(Document& do
cument) |
133 { | 134 { |
134 if (!document.hasFullscreenElementStack()) | 135 if (!document.hasFullscreenElementStack()) |
135 return 0; | 136 return 0; |
136 return fromIfExistsSlow(document); | 137 return fromIfExistsSlow(document); |
137 } | 138 } |
138 | 139 |
139 } // namespace WebCore | 140 } // namespace WebCore |
140 | 141 |
141 #endif // FullscreenElementStack_h | 142 #endif // FullscreenElementStack_h |
OLD | NEW |