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

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

Issue 476433002: Sync fullscreen element removal with the spec (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: nits Created 6 years, 4 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/dom/Element.cpp ('k') | 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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 75
76 void willEnterFullScreenForElement(Element*); 76 void willEnterFullScreenForElement(Element*);
77 void didEnterFullScreenForElement(Element*); 77 void didEnterFullScreenForElement(Element*);
78 void willExitFullScreenForElement(Element*); 78 void willExitFullScreenForElement(Element*);
79 void didExitFullScreenForElement(Element*); 79 void didExitFullScreenForElement(Element*);
80 80
81 void setFullScreenRenderer(RenderFullScreen*); 81 void setFullScreenRenderer(RenderFullScreen*);
82 RenderFullScreen* fullScreenRenderer() const { return m_fullScreenRenderer; } 82 RenderFullScreen* fullScreenRenderer() const { return m_fullScreenRenderer; }
83 void fullScreenRendererDestroyed(); 83 void fullScreenRendererDestroyed();
84 84
85 void removeFullScreenElementOfSubtree(Node*, bool amongChildrenOnly = false) ; 85 void elementRemoved(Element&);
86 86
87 // Mozilla API 87 // Mozilla API
88 bool webkitIsFullScreen() const { return m_fullScreenElement.get(); } 88 bool webkitIsFullScreen() const { return m_fullScreenElement.get(); }
89 bool webkitFullScreenKeyboardInputAllowed() const { return m_fullScreenEleme nt.get() && m_areKeysEnabledInFullScreen; } 89 bool webkitFullScreenKeyboardInputAllowed() const { return m_fullScreenEleme nt.get() && m_areKeysEnabledInFullScreen; }
90 Element* webkitCurrentFullScreenElement() const { return m_fullScreenElement .get(); } 90 Element* webkitCurrentFullScreenElement() const { return m_fullScreenElement .get(); }
91 91
92 virtual void documentWasDetached() OVERRIDE; 92 virtual void documentWasDetached() OVERRIDE;
93 #if !ENABLE(OILPAN) 93 #if !ENABLE(OILPAN)
94 virtual void documentWasDisposed() OVERRIDE; 94 virtual void documentWasDisposed() OVERRIDE;
95 #endif 95 #endif
(...skipping 10 matching lines...) Expand all
106 static bool elementReady(Element&, RequestType); 106 static bool elementReady(Element&, RequestType);
107 107
108 void clearFullscreenElementStack(); 108 void clearFullscreenElementStack();
109 void popFullscreenElementStack(); 109 void popFullscreenElementStack();
110 void pushFullscreenElementStack(Element&, RequestType); 110 void pushFullscreenElementStack(Element&, RequestType);
111 111
112 void enqueueChangeEvent(Document&, RequestType); 112 void enqueueChangeEvent(Document&, RequestType);
113 void enqueueErrorEvent(Element&, RequestType); 113 void enqueueErrorEvent(Element&, RequestType);
114 void eventQueueTimerFired(Timer<FullscreenElementStack>*); 114 void eventQueueTimerFired(Timer<FullscreenElementStack>*);
115 115
116 void fullScreenElementRemoved();
117
118 bool m_areKeysEnabledInFullScreen; 116 bool m_areKeysEnabledInFullScreen;
119 RefPtrWillBeMember<Element> m_fullScreenElement; 117 RefPtrWillBeMember<Element> m_fullScreenElement;
120 WillBeHeapVector<std::pair<RefPtrWillBeMember<Element>, RequestType> > m_ful lScreenElementStack; 118 WillBeHeapVector<std::pair<RefPtrWillBeMember<Element>, RequestType> > m_ful lScreenElementStack;
121 RawPtrWillBeMember<RenderFullScreen> m_fullScreenRenderer; 119 RawPtrWillBeMember<RenderFullScreen> m_fullScreenRenderer;
122 Timer<FullscreenElementStack> m_eventQueueTimer; 120 Timer<FullscreenElementStack> m_eventQueueTimer;
123 WillBeHeapDeque<RefPtrWillBeMember<Event> > m_eventQueue; 121 WillBeHeapDeque<RefPtrWillBeMember<Event> > m_eventQueue;
124 LayoutRect m_savedPlaceholderFrameRect; 122 LayoutRect m_savedPlaceholderFrameRect;
125 RefPtr<RenderStyle> m_savedPlaceholderRenderStyle; 123 RefPtr<RenderStyle> m_savedPlaceholderRenderStyle;
126 }; 124 };
127 125
(...skipping 17 matching lines...) Expand all
145 // Needed by the HeapVector<> element stack. 143 // Needed by the HeapVector<> element stack.
146 namespace WTF { 144 namespace WTF {
147 145
148 template<>struct IsPod<blink::FullscreenElementStack::RequestType> { 146 template<>struct IsPod<blink::FullscreenElementStack::RequestType> {
149 static const bool value = true; 147 static const bool value = true;
150 }; 148 };
151 149
152 } // namespace WTF 150 } // namespace WTF
153 151
154 #endif // FullscreenElementStack_h 152 #endif // FullscreenElementStack_h
OLDNEW
« no previous file with comments | « Source/core/dom/Element.cpp ('k') | Source/core/dom/FullscreenElementStack.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698