Chromium Code Reviews| Index: third_party/WebKit/Source/core/dom/Fullscreen.h |
| diff --git a/third_party/WebKit/Source/core/dom/Fullscreen.h b/third_party/WebKit/Source/core/dom/Fullscreen.h |
| index 9761c4fea2205bd6afc79f296517ba7a32934f89..11ca9584607481d934564165d41abebcebf10db2 100644 |
| --- a/third_party/WebKit/Source/core/dom/Fullscreen.h |
| +++ b/third_party/WebKit/Source/core/dom/Fullscreen.h |
| @@ -67,7 +67,10 @@ public: |
| PrefixedRequest, |
| }; |
| - void requestFullscreen(Element&, RequestType); |
| + // |forCrossProcessAncestor| is used in OOPIF scenarios and is set to true |
| + // when fullscreen is requested for an out-of-process descendant element. |
| + void requestFullscreen(Element&, RequestType, bool forCrossProcessAncestor = false); |
| + |
| static void fullyExitFullscreen(Document&); |
| void exitFullscreen(); |
| @@ -80,8 +83,8 @@ public: |
| // for its (local) iframe container and make sure to also set the |
| // ContainsFullScreenElement flag on it (so that it gains the |
| // -webkit-full-screen-ancestor style). |
| - void didEnterFullScreenForElement(Element*, bool isAncestorOfFullscreenElement); |
| - void didExitFullScreenForElement(bool isAncestorOfFullscreenElement); |
| + void didEnterFullScreenForElement(Element*); |
| + void didExitFullScreenForElement(); |
| void setFullScreenLayoutObject(LayoutFullScreen*); |
| LayoutFullScreen* fullScreenLayoutObject() const { return m_fullScreenLayoutObject; } |
| @@ -89,6 +92,10 @@ public: |
| void elementRemoved(Element&); |
| + // Returns true if the current fullscreen element stack corresponds to a |
| + // container for an actual fullscreen element in an out-of-process iframe. |
| + bool forCrossProcessAncestor() { return m_forCrossProcessAncestor; } |
| + |
| // Mozilla API |
| Element* webkitCurrentFullScreenElement() const { return m_fullScreenElement.get(); } |
| @@ -119,6 +126,7 @@ private: |
| HeapDeque<Member<Event>> m_eventQueue; |
| LayoutRect m_savedPlaceholderFrameRect; |
| RefPtr<ComputedStyle> m_savedPlaceholderComputedStyle; |
| + bool m_forCrossProcessAncestor; |
|
alexmos
2016/05/27 21:14:29
I thought about whether we need to maintain this o
dcheng
2016/05/28 19:59:10
How does this interact with multimonitor though?
alexmos
2016/05/31 16:56:25
I don't think that affects it. As part of HTML fu
dcheng
2016/05/31 17:50:23
What if you fullcsreen on your secondary monitor a
alexmos
2016/05/31 18:08:17
You can't drag the browser window onto the primary
dcheng
2016/05/31 18:50:18
What happens if we fix https://crbug.com/161068 so
alexmos
2016/05/31 23:35:18
Hmm, that's a really good point, I didn't realize
dcheng
2016/06/01 00:29:36
sgtm. we might want to make a note on the fullscre
alexmos
2016/06/01 16:50:13
Done. I'll add a note to the bug when this lands.
|
| }; |
| inline bool Fullscreen::isActiveFullScreenElement(const Element& element) |