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

Side by Side Diff: third_party/WebKit/Source/core/dom/Fullscreen.cpp

Issue 1807033003: Rewrite how RemoteFrameOwners retain life. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
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 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 52
53 static bool fullscreenIsAllowedForAllOwners(const Document& document) 53 static bool fullscreenIsAllowedForAllOwners(const Document& document)
54 { 54 {
55 if (!document.frame()) 55 if (!document.frame())
56 return false; 56 return false;
57 57
58 for (const Frame* frame = document.frame(); frame->owner(); frame = frame->t ree().parent()) { 58 for (const Frame* frame = document.frame(); frame->owner(); frame = frame->t ree().parent()) {
59 // TODO(alexmos): The allowfullscreen attribute will need to be 59 // TODO(alexmos): The allowfullscreen attribute will need to be
60 // replicated for this to work with OOPIFs. For now, deny fullscreen 60 // replicated for this to work with OOPIFs. For now, deny fullscreen
61 // access inside OOPIFs until https://crbug.com/550497 is fixed. 61 // access inside OOPIFs until https://crbug.com/550497 is fixed.
62 if (!frame->owner()->isLocal()) 62 if (frame->owner()->isRemote())
63 return false; 63 return false;
64 64
65 HTMLFrameOwnerElement* owner = toHTMLFrameOwnerElement(frame->owner()); 65 HTMLFrameOwnerElement* owner = toHTMLFrameOwnerElement(frame->owner());
66 if (!isHTMLIFrameElement(owner)) 66 if (!isHTMLIFrameElement(owner))
67 return false; 67 return false;
68 if (!owner->hasAttribute(allowfullscreenAttr)) 68 if (!owner->hasAttribute(allowfullscreenAttr))
69 return false; 69 return false;
70 } 70 }
71 return true; 71 return true;
72 } 72 }
(...skipping 549 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 #if ENABLE(OILPAN) 622 #if ENABLE(OILPAN)
623 visitor->trace(m_fullScreenElement); 623 visitor->trace(m_fullScreenElement);
624 visitor->trace(m_fullScreenElementStack); 624 visitor->trace(m_fullScreenElementStack);
625 visitor->trace(m_eventQueue); 625 visitor->trace(m_eventQueue);
626 #endif 626 #endif
627 WillBeHeapSupplement<Document>::trace(visitor); 627 WillBeHeapSupplement<Document>::trace(visitor);
628 DocumentLifecycleObserver::trace(visitor); 628 DocumentLifecycleObserver::trace(visitor);
629 } 629 }
630 630
631 } // namespace blink 631 } // namespace blink
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/frame/FrameOwner.h » ('j') | third_party/WebKit/Source/core/frame/FrameOwner.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698