WebKit Bugzilla
Attachment 341792 Details for
Bug 185617
: Keyboard focus should exit fullscreen.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-185617-20180601150901.patch (text/plain), 5.11 KB, created by
Jeremy Jones
on 2018-06-01 15:09:02 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Jeremy Jones
Created:
2018-06-01 15:09:02 PDT
Size:
5.11 KB
patch
obsolete
>Subversion Revision: 231991 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index ef77cb83859a3bc9b332867e0a88dea75276f71a..000fde364b6807dcb47507612461b898c0e28578 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,23 @@ >+2018-06-01 Jeremy Jones <jeremyj@apple.com> >+ >+ Keyboard focus should exit fullscreen. >+ https://bugs.webkit.org/show_bug.cgi?id=185617 >+ rdar://problem/34697938 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ 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-05-18 Jer Noble <jer.noble@apple.com> > > Complete fix for enabling modern EME by default >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 3abbd15888ee227cd2c267ff839bc3e1edee6bea..9bd0fc7a92b915ddb3a723f7bf1373cb7b517ebc 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,16 @@ >+2018-06-01 Jeremy Jones <jeremyj@apple.com> >+ >+ Keyboard focus should exit fullscreen. >+ https://bugs.webkit.org/show_bug.cgi?id=185617 >+ rdar://problem/34697938 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ While in element fullscreen, initiating keyboard focus should exit fullscreen in iOS. >+ >+ * WebProcess/WebPage/WebPage.cpp: >+ (WebKit::WebPage::elementDidFocus): >+ > 2018-05-18 Brian Burg <bburg@apple.com> > > [Cocoa] Add missing nullability annotations to _WKAutomationSessionDelegate >diff --git a/Source/WebCore/dom/Document.h b/Source/WebCore/dom/Document.h >index b3633587ad66019340a1cb6169e3d38ee5bff369..a1bbd240ede722591b5dd5e852929b0ecfdcdab7 100644 >--- a/Source/WebCore/dom/Document.h >+++ b/Source/WebCore/dom/Document.h >@@ -1148,7 +1148,7 @@ public: > 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; >diff --git a/Source/WebCore/testing/Internals.cpp b/Source/WebCore/testing/Internals.cpp >index f0b8c55aaf25c6f0b5a27ca1732e71fe1ba3568b..675d520e0484e9676f2690b0db02bddf0aaf6993 100644 >--- a/Source/WebCore/testing/Internals.cpp >+++ b/Source/WebCore/testing/Internals.cpp >@@ -2824,6 +2824,14 @@ void Internals::webkitDidExitFullScreenForElement(Element& element) > document->webkitDidExitFullScreenForElement(&element); > } > >+bool Internals::isAnimatingFullScreen() const >+{ >+ Document* document = contextDocument(); >+ if (!document) >+ return false; >+ return document->isAnimatingFullScreen(); >+} >+ > #endif > > void Internals::setFullscreenInsetTop(double inset) >diff --git a/Source/WebCore/testing/Internals.h b/Source/WebCore/testing/Internals.h >index 8ac4dd7b15609f6940bd38f6858d3dd66db560b3..52cad1717b0d47831692dcb9be6847be58d5dc57 100644 >--- a/Source/WebCore/testing/Internals.h >+++ b/Source/WebCore/testing/Internals.h >@@ -386,6 +386,7 @@ public: > void webkitDidEnterFullScreenForElement(Element&); > void webkitWillExitFullScreenForElement(Element&); > void webkitDidExitFullScreenForElement(Element&); >+ bool isAnimatingFullScreen() const; > #endif > > void setFullscreenInsetTop(double); >diff --git a/Source/WebCore/testing/Internals.idl b/Source/WebCore/testing/Internals.idl >index 35b2f2822daea30b419943d0151a2631656bd180..a03189a58f03c4611e55af49b04946a08673ac7b 100644 >--- a/Source/WebCore/testing/Internals.idl >+++ b/Source/WebCore/testing/Internals.idl >@@ -363,6 +363,7 @@ enum EventThrottlingBehavior { > [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); >diff --git a/Source/WebKit/WebProcess/WebPage/WebPage.cpp b/Source/WebKit/WebProcess/WebPage/WebPage.cpp >index 84a43c919f74440b63724134e459c417e5bf98cb..707c7f919e7e2a3665cacd90c23160625c8e02d2 100644 >--- a/Source/WebKit/WebProcess/WebPage/WebPage.cpp >+++ b/Source/WebKit/WebProcess/WebPage/WebPage.cpp >@@ -4945,6 +4945,12 @@ void WebPage::elementDidFocus(WebCore::Node* node) > 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);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 185617
:
340330
|
341281
|
341295
|
341328
|
341332
| 341792