| 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 167 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 | 178 |
| 179 // |element|'s node document's fullscreen enabled flag is set. | 179 // |element|'s node document's fullscreen enabled flag is set. |
| 180 if (!fullscreenIsAllowedForAllOwners(element.document())) { | 180 if (!fullscreenIsAllowedForAllOwners(element.document())) { |
| 181 if (requestType == PrefixedVideoRequest) | 181 if (requestType == PrefixedVideoRequest) |
| 182 UseCounter::count(element.document(), UseCounter::VideoFullscreenAll
owedExemption); | 182 UseCounter::count(element.document(), UseCounter::VideoFullscreenAll
owedExemption); |
| 183 else | 183 else |
| 184 return false; | 184 return false; |
| 185 } | 185 } |
| 186 | 186 |
| 187 // |element|'s node document's fullscreen element stack is either empty or i
ts top element is an | 187 // |element|'s node document's fullscreen element stack is either empty or i
ts top element is an |
| 188 // ancestor of |element|. | 188 // inclusive ancestor of |element|. |
| 189 if (Element* topElement = fullscreenElementFrom(element.document())) { | 189 if (Element* topElement = fullscreenElementFrom(element.document())) { |
| 190 if (!element.isDescendantOf(topElement)) | 190 if (!topElement->contains(&element)) |
| 191 return false; | 191 return false; |
| 192 } | 192 } |
| 193 | 193 |
| 194 // |element| has no ancestor element whose local name is iframe and namespac
e is the HTML | 194 // |element| has no ancestor element whose local name is iframe and namespac
e is the HTML |
| 195 // namespace. | 195 // namespace. |
| 196 if (Traversal<HTMLIFrameElement>::firstAncestor(element)) | 196 if (Traversal<HTMLIFrameElement>::firstAncestor(element)) |
| 197 return false; | 197 return false; |
| 198 | 198 |
| 199 // |element|'s node document's browsing context either has a browsing contex
t container and the |
| 200 // fullscreen element ready check returns true for |element|'s node document
's browsing |
| 201 // context's browsing context container, or it has no browsing context conta
iner. |
| 202 if (HTMLFrameOwnerElement* container = element.document().ownerElement()) { |
| 203 if (!elementReady(*container, requestType)) |
| 204 return false; |
| 205 } |
| 206 |
| 199 return true; | 207 return true; |
| 200 } | 208 } |
| 201 | 209 |
| 202 void Fullscreen::requestFullscreen(Element& element, RequestType requestType) | 210 void Fullscreen::requestFullscreen(Element& element, RequestType requestType) |
| 203 { | 211 { |
| 204 // Ignore this request if the document is not in a live frame. | 212 // Ignore this request if the document is not in a live frame. |
| 205 if (!document()->isActive()) | 213 if (!document()->isActive()) |
| 206 return; | 214 return; |
| 207 | 215 |
| 208 // If |element| is on top of |doc|'s fullscreen element stack, terminate the
se substeps. | 216 // If |element| is on top of |doc|'s fullscreen element stack, terminate the
se substeps. |
| (...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 602 void Fullscreen::trace(Visitor* visitor) | 610 void Fullscreen::trace(Visitor* visitor) |
| 603 { | 611 { |
| 604 visitor->trace(m_fullScreenElement); | 612 visitor->trace(m_fullScreenElement); |
| 605 visitor->trace(m_fullScreenElementStack); | 613 visitor->trace(m_fullScreenElementStack); |
| 606 visitor->trace(m_fullScreenRenderer); | 614 visitor->trace(m_fullScreenRenderer); |
| 607 visitor->trace(m_eventQueue); | 615 visitor->trace(m_eventQueue); |
| 608 DocumentSupplement::trace(visitor); | 616 DocumentSupplement::trace(visitor); |
| 609 } | 617 } |
| 610 | 618 |
| 611 } // namespace blink | 619 } // namespace blink |
| OLD | NEW |