Title: [232427] trunk/Source
- Revision
- 232427
- Author
- [email protected]
- Date
- 2018-06-01 16:22:57 -0700 (Fri, 01 Jun 2018)
Log Message
Keyboard focus should exit fullscreen.
https://bugs.webkit.org/show_bug.cgi?id=185617
rdar://problem/34697938
Patch by Jeremy Jones <[email protected]> on 2018-06-01
Reviewed by Ryosuke Niwa.
Source/WebCore:
No opensource test because feature is not enabled.
While in element fullscreen, initiating keyboard focus should exit fullscreen in iOS.
Improve fullscreen testability by exposing isAnimatingFullScreen.
* dom/Document.h:
* testing/Internals.cpp:
(WebCore::Internals::isAnimatingFullScreen const):
* testing/Internals.h:
* testing/Internals.idl:
Source/WebKit:
While in element fullscreen, initiating keyboard focus should exit fullscreen in iOS.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::elementDidFocus):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (232426 => 232427)
--- trunk/Source/WebCore/ChangeLog 2018-06-01 23:19:58 UTC (rev 232426)
+++ trunk/Source/WebCore/ChangeLog 2018-06-01 23:22:57 UTC (rev 232427)
@@ -1,5 +1,25 @@
2018-06-01 Jeremy Jones <[email protected]>
+ Keyboard focus should exit fullscreen.
+ https://bugs.webkit.org/show_bug.cgi?id=185617
+ rdar://problem/34697938
+
+ Reviewed by Ryosuke Niwa.
+
+ No opensource test because feature is not enabled.
+
+ While in element fullscreen, initiating keyboard focus should exit fullscreen in iOS.
+
+ Improve fullscreen testability by exposing isAnimatingFullScreen.
+
+ * dom/Document.h:
+ * testing/Internals.cpp:
+ (WebCore::Internals::isAnimatingFullScreen const):
+ * testing/Internals.h:
+ * testing/Internals.idl:
+
+2018-06-01 Jeremy Jones <[email protected]>
+
Don't continue playing in background when auto-picture-in-picture is disabled.
https://bugs.webkit.org/show_bug.cgi?id=186089
rdar://problem/40314314
Modified: trunk/Source/WebCore/dom/Document.h (232426 => 232427)
--- trunk/Source/WebCore/dom/Document.h 2018-06-01 23:19:58 UTC (rev 232426)
+++ trunk/Source/WebCore/dom/Document.h 2018-06-01 23:22:57 UTC (rev 232427)
@@ -1149,7 +1149,7 @@
bool fullScreenIsAllowedForElement(Element*) const;
void fullScreenElementRemoved();
void removeFullScreenElementOfSubtree(Node&, bool amongChildrenOnly = false);
- bool isAnimatingFullScreen() const;
+ WEBCORE_EXPORT bool isAnimatingFullScreen() const;
WEBCORE_EXPORT void setAnimatingFullScreen(bool);
WEBCORE_EXPORT bool webkitFullscreenEnabled() const;
Modified: trunk/Source/WebCore/testing/Internals.cpp (232426 => 232427)
--- trunk/Source/WebCore/testing/Internals.cpp 2018-06-01 23:19:58 UTC (rev 232426)
+++ trunk/Source/WebCore/testing/Internals.cpp 2018-06-01 23:22:57 UTC (rev 232427)
@@ -2826,6 +2826,14 @@
document->webkitDidExitFullScreenForElement(&element);
}
+bool Internals::isAnimatingFullScreen() const
+{
+ Document* document = contextDocument();
+ if (!document)
+ return false;
+ return document->isAnimatingFullScreen();
+}
+
#endif
void Internals::setFullscreenInsetTop(double inset)
Modified: trunk/Source/WebCore/testing/Internals.h (232426 => 232427)
--- trunk/Source/WebCore/testing/Internals.h 2018-06-01 23:19:58 UTC (rev 232426)
+++ trunk/Source/WebCore/testing/Internals.h 2018-06-01 23:22:57 UTC (rev 232427)
@@ -390,6 +390,7 @@
void webkitDidEnterFullScreenForElement(Element&);
void webkitWillExitFullScreenForElement(Element&);
void webkitDidExitFullScreenForElement(Element&);
+ bool isAnimatingFullScreen() const;
#endif
void setFullscreenInsetTop(double);
Modified: trunk/Source/WebCore/testing/Internals.idl (232426 => 232427)
--- trunk/Source/WebCore/testing/Internals.idl 2018-06-01 23:19:58 UTC (rev 232426)
+++ trunk/Source/WebCore/testing/Internals.idl 2018-06-01 23:22:57 UTC (rev 232427)
@@ -368,6 +368,7 @@
[Conditional=FULLSCREEN_API] void webkitDidEnterFullScreenForElement(Element element);
[Conditional=FULLSCREEN_API] void webkitWillExitFullScreenForElement(Element element);
[Conditional=FULLSCREEN_API] void webkitDidExitFullScreenForElement(Element element);
+ [Conditional=FULLSCREEN_API] readonly attribute boolean isAnimatingFullScreen;
void setFullscreenInsetTop(double inset);
void setFullscreenAutoHideDelay(double delay);
Modified: trunk/Source/WebKit/ChangeLog (232426 => 232427)
--- trunk/Source/WebKit/ChangeLog 2018-06-01 23:19:58 UTC (rev 232426)
+++ trunk/Source/WebKit/ChangeLog 2018-06-01 23:22:57 UTC (rev 232427)
@@ -1,3 +1,16 @@
+2018-06-01 Jeremy Jones <[email protected]>
+
+ Keyboard focus should exit fullscreen.
+ https://bugs.webkit.org/show_bug.cgi?id=185617
+ rdar://problem/34697938
+
+ Reviewed by Ryosuke Niwa.
+
+ While in element fullscreen, initiating keyboard focus should exit fullscreen in iOS.
+
+ * WebProcess/WebPage/WebPage.cpp:
+ (WebKit::WebPage::elementDidFocus):
+
2018-06-01 Chris Dumez <[email protected]>
Regression(r230567): Unable to log into twitter.com in private sessions
Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp (232426 => 232427)
--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2018-06-01 23:19:58 UTC (rev 232426)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp 2018-06-01 23:22:57 UTC (rev 232427)
@@ -4962,6 +4962,12 @@
m_isAssistingNodeDueToUserInteraction |= m_userIsInteracting;
#if PLATFORM(IOS)
+
+#if ENABLE(FULLSCREEN_API)
+ if (node->document().webkitIsFullScreen())
+ node->document().webkitCancelFullScreen();
+#endif
+
++m_currentAssistedNodeIdentifier;
AssistedNodeInformation information;
getAssistedNodeInformation(information);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes