WebKit Bugzilla
Attachment 369204 Details for
Bug 197578
: Improve coordination for creating UIWindow instances
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-197578-20190506164414.patch (text/plain), 4.17 KB, created by
James Savage
on 2019-05-06 16:44:15 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
James Savage
Created:
2019-05-06 16:44:15 PDT
Size:
4.17 KB
patch
obsolete
>Subversion Revision: 244979 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index 6f9318a33a51e6bb8b4834b4e2649ab3c345e016..c0e05585d902dd480bd09d2f696fa800b4ecb947 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,15 @@ >+2019-05-03 James Savage <james.savage@apple.com> >+ >+ Improve coordination for creating UIWindow instances. >+ https://bugs.webkit.org/show_bug.cgi?id=197578. >+ <rdar://problem/50456965>. >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * platform/ios/VideoFullscreenInterfaceAVKit.mm: >+ (makeWindowFromView): Pull out window creation. >+ (VideoFullscreenInterfaceAVKit::doSetup): Call new helper function. >+ > 2019-05-06 Youenn Fablet <youenn@apple.com> > > WebAudio Node JS wrappers should not be collected if events can be fired >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index 59e7ac932a63930471a1534bab38a4dc56739a28..adbec653efcedfb32c09f84fbe476e4197caa351 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,15 @@ >+2019-05-03 James Savage <james.savage@apple.com> >+ >+ Improve coordination for creating UIWindow instances. >+ https://bugs.webkit.org/show_bug.cgi?id=197578. >+ <rdar://problem/50456965>. >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm: >+ (makeWindowFromView): Pull out window creation. >+ (-[WKFullScreenWindowController enterFullScreen]): Call new helper function. >+ > 2019-05-06 Chris Dumez <cdumez@apple.com> > > Terminate service workers that use too much CPU / power >diff --git a/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm b/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm >index 03ce20c90273378f4e862a82edf9d18e6c12442b..f11f9d83f18eea2db9d915938e61bd36ad072822 100644 >--- a/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm >+++ b/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm >@@ -1174,6 +1174,15 @@ void VideoFullscreenInterfaceAVKit::setInlineRect(const IntRect& inlineRect, boo > doExitFullscreen(); > } > >+#if USE(APPLE_INTERNAL_SDK) >+#import <WebKitAdditions/VideoFullscreenInterfaceAVKitAdditions.mm> >+#else >+static RetainPtr<UIWindow> makeWindowFromView(UIView *) >+{ >+ return adoptNS([PAL::allocUIWindowInstance() initWithFrame:[[PAL::getUIScreenClass() mainScreen] bounds]]); >+} >+#endif >+ > void VideoFullscreenInterfaceAVKit::doSetup() > { > Mode changes { m_currentMode.mode() ^ m_targetMode.mode() }; >@@ -1196,8 +1205,7 @@ void VideoFullscreenInterfaceAVKit::doSetup() > > #if !PLATFORM(WATCHOS) > if (![[m_parentView window] _isHostedInAnotherProcess] && !m_window) { >- if (!m_window) >- m_window = adoptNS([PAL::allocUIWindowInstance() initWithFrame:[[PAL::getUIScreenClass() mainScreen] bounds]]); >+ m_window = makeWindowFromView(m_parentView.get()); > [m_window setBackgroundColor:clearUIColor()]; > if (!m_viewController) > m_viewController = adoptNS([PAL::allocUIViewControllerInstance() init]); >diff --git a/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm b/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm >index 0078021fb852e7399df71cbd89255268f16e2100..405dc060f9d580eee12e17cdd58697818aa03437 100644 >--- a/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm >+++ b/Source/WebKit/UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm >@@ -489,6 +489,15 @@ - (UIView *)webViewPlaceholder > #pragma mark - > #pragma mark External Interface > >+#if USE(APPLE_INTERNAL_SDK) >+#import <WebKitAdditions/WKFullScreenWindowControllerIOSAdditions.mm> >+#else >+static RetainPtr<UIWindow> makeWindowFromView(UIView *) >+{ >+ return adoptNS([[UIWindow alloc] init]); >+} >+#endif >+ > - (void)enterFullScreen > { > if ([self isFullScreen]) >@@ -504,7 +513,7 @@ - (void)enterFullScreen > > _fullScreenState = WebKit::WaitingToEnterFullScreen; > >- _window = adoptNS([[UIWindow alloc] init]); >+ _window = makeWindowFromView(webView.get()); > [_window setBackgroundColor:[UIColor clearColor]]; > [_window setWindowLevel:UIWindowLevelNormal - 1]; > [_window setHidden:NO];
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 197578
:
368990
|
368991
|
369039
| 369204