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

Unified Diff: third_party/WebKit/Source/core/dom/Fullscreen.h

Issue 2021513002: Move willEnterFullscreen to WebRemoteFrame. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/renderer/render_frame_proxy.cc ('k') | third_party/WebKit/Source/core/dom/Fullscreen.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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)
« no previous file with comments | « content/renderer/render_frame_proxy.cc ('k') | third_party/WebKit/Source/core/dom/Fullscreen.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698