| 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 273 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 284     if (!currentDoc->isActive()) | 284     if (!currentDoc->isActive()) | 
| 285         return; | 285         return; | 
| 286 | 286 | 
| 287     // 2. If doc's fullscreen element stack is empty, terminate these steps. | 287     // 2. If doc's fullscreen element stack is empty, terminate these steps. | 
| 288     if (m_fullScreenElementStack.isEmpty()) | 288     if (m_fullScreenElementStack.isEmpty()) | 
| 289         return; | 289         return; | 
| 290 | 290 | 
| 291     // 3. Let descendants be all the doc's descendant browsing context's documen
     ts with a non-empty fullscreen | 291     // 3. Let descendants be all the doc's descendant browsing context's documen
     ts with a non-empty fullscreen | 
| 292     // element stack (if any), ordered so that the child of the doc is last and 
     the document furthest | 292     // element stack (if any), ordered so that the child of the doc is last and 
     the document furthest | 
| 293     // away from the doc is first. | 293     // away from the doc is first. | 
| 294     Deque<RefPtr<Document> > descendants; | 294     WillBeHeapDeque<RefPtrWillBeMember<Document> > descendants; | 
| 295     for (LocalFrame* descendant = document()->frame() ?  document()->frame()->tr
     ee().traverseNext() : 0; descendant; descendant = descendant->tree().traverseNex
     t()) { | 295     for (LocalFrame* descendant = document()->frame() ?  document()->frame()->tr
     ee().traverseNext() : 0; descendant; descendant = descendant->tree().traverseNex
     t()) { | 
| 296         ASSERT(descendant->document()); | 296         ASSERT(descendant->document()); | 
| 297         if (fullscreenElementFrom(*descendant->document())) | 297         if (fullscreenElementFrom(*descendant->document())) | 
| 298             descendants.prepend(descendant->document()); | 298             descendants.prepend(descendant->document()); | 
| 299     } | 299     } | 
| 300 | 300 | 
| 301     // 4. For each descendant in descendants, empty descendant's fullscreen elem
     ent stack, and queue a | 301     // 4. For each descendant in descendants, empty descendant's fullscreen elem
     ent stack, and queue a | 
| 302     // task to fire an event named fullscreenchange with its bubbles attribute s
     et to true on descendant. | 302     // task to fire an event named fullscreenchange with its bubbles attribute s
     et to true on descendant. | 
| 303     for (Deque<RefPtr<Document> >::iterator i = descendants.begin(); i != descen
     dants.end(); ++i) { | 303     for (WillBeHeapDeque<RefPtrWillBeMember<Document> >::iterator i = descendant
     s.begin(); i != descendants.end(); ++i) { | 
| 304         ASSERT(*i); | 304         ASSERT(*i); | 
| 305         from(**i).clearFullscreenElementStack(); | 305         from(**i).clearFullscreenElementStack(); | 
| 306         addDocumentToFullScreenChangeEventQueue(i->get()); | 306         addDocumentToFullScreenChangeEventQueue(i->get()); | 
| 307     } | 307     } | 
| 308 | 308 | 
| 309     // 5. While doc is not null, run these substeps: | 309     // 5. While doc is not null, run these substeps: | 
| 310     Element* newTop = 0; | 310     Element* newTop = 0; | 
| 311     while (currentDoc) { | 311     while (currentDoc) { | 
| 312         // 1. Pop the top element of doc's fullscreen element stack. | 312         // 1. Pop the top element of doc's fullscreen element stack. | 
| 313         from(*currentDoc).popFullscreenElementStack(); | 313         from(*currentDoc).popFullscreenElementStack(); | 
| (...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 578 void FullscreenElementStack::trace(Visitor* visitor) | 578 void FullscreenElementStack::trace(Visitor* visitor) | 
| 579 { | 579 { | 
| 580     visitor->trace(m_fullScreenElement); | 580     visitor->trace(m_fullScreenElement); | 
| 581     visitor->trace(m_fullScreenElementStack); | 581     visitor->trace(m_fullScreenElementStack); | 
| 582     visitor->trace(m_fullScreenChangeEventTargetQueue); | 582     visitor->trace(m_fullScreenChangeEventTargetQueue); | 
| 583     visitor->trace(m_fullScreenErrorEventTargetQueue); | 583     visitor->trace(m_fullScreenErrorEventTargetQueue); | 
| 584     DocumentSupplement::trace(visitor); | 584     DocumentSupplement::trace(visitor); | 
| 585 } | 585 } | 
| 586 | 586 | 
| 587 } // namespace WebCore | 587 } // namespace WebCore | 
| OLD | NEW | 
|---|