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

Side by Side Diff: Source/core/dom/FullscreenElementStack.h

Issue 365903006: Merge the fullscreen event queues (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: introduce enqueueChangeEvent/enqueueErrorEvent Created 6 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 | « no previous file | Source/core/dom/FullscreenElementStack.cpp » ('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 * 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
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
OLDNEW
« no previous file with comments | « no previous file | Source/core/dom/FullscreenElementStack.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698