Title: [245228] branches/safari-608.1.24-branch/Source
Revision
245228
Author
bshaf...@apple.com
Date
2019-05-12 23:51:13 -0700 (Sun, 12 May 2019)

Log Message

Cherry-pick r245183. rdar://problem/50065100

    Add WKWebViewConfiguration._canShowWhileLocked SPI
    https://bugs.webkit.org/show_bug.cgi?id=197777
    <rdar://problem/50065100>

    Reviewed by Tim Horton.

    Source/WebCore/PAL:

    * pal/spi/cocoa/QuartzCoreSPI.h:

    Source/WebKit:

    * Platform/mac/LayerHostingContext.h:
    * Platform/mac/LayerHostingContext.mm:
    (WebKit::LayerHostingContext::createForExternalHostingProcess):
    * Shared/WebPageCreationParameters.cpp:
    (WebKit::WebPageCreationParameters::encode const):
    (WebKit::WebPageCreationParameters::decode):
    * Shared/WebPageCreationParameters.h:
    * UIProcess/API/APIPageConfiguration.cpp:
    (API::PageConfiguration::copy const):
    * UIProcess/API/APIPageConfiguration.h:
    (API::PageConfiguration::canShowWhileLocked const):
    (API::PageConfiguration::setCanShowWhileLocked):
    * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
    (-[WKWebViewConfiguration _setCanShowWhileLocked:]):
    (-[WKWebViewConfiguration _canShowWhileLocked]):
    * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::creationParameters):
    * WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm:
    (WebKit::PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
    * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.h:
    * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm:
    (WebKit::RemoteLayerTreeContext::canShowWhileLocked const):
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::m_canShowWhileLocked):
    (WebKit::m_shrinkToFitContentTimer): Deleted.
    * WebProcess/WebPage/WebPage.h:
    (WebKit::WebPage::canShowWhileLocked const):

    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245183 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

Diff

Modified: branches/safari-608.1.24-branch/Source/WebCore/PAL/ChangeLog (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebCore/PAL/ChangeLog	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebCore/PAL/ChangeLog	2019-05-13 06:51:13 UTC (rev 245228)
@@ -1,3 +1,61 @@
+2019-05-12  Babak Shafiei  <bshaf...@apple.com>
+
+        Cherry-pick r245183. rdar://problem/50065100
+
+    Add WKWebViewConfiguration._canShowWhileLocked SPI
+    https://bugs.webkit.org/show_bug.cgi?id=197777
+    <rdar://problem/50065100>
+    
+    Reviewed by Tim Horton.
+    
+    Source/WebCore/PAL:
+    
+    * pal/spi/cocoa/QuartzCoreSPI.h:
+    
+    Source/WebKit:
+    
+    * Platform/mac/LayerHostingContext.h:
+    * Platform/mac/LayerHostingContext.mm:
+    (WebKit::LayerHostingContext::createForExternalHostingProcess):
+    * Shared/WebPageCreationParameters.cpp:
+    (WebKit::WebPageCreationParameters::encode const):
+    (WebKit::WebPageCreationParameters::decode):
+    * Shared/WebPageCreationParameters.h:
+    * UIProcess/API/APIPageConfiguration.cpp:
+    (API::PageConfiguration::copy const):
+    * UIProcess/API/APIPageConfiguration.h:
+    (API::PageConfiguration::canShowWhileLocked const):
+    (API::PageConfiguration::setCanShowWhileLocked):
+    * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
+    (-[WKWebViewConfiguration _setCanShowWhileLocked:]):
+    (-[WKWebViewConfiguration _canShowWhileLocked]):
+    * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
+    * UIProcess/WebPageProxy.cpp:
+    (WebKit::WebPageProxy::creationParameters):
+    * WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm:
+    (WebKit::PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
+    * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.h:
+    * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm:
+    (WebKit::RemoteLayerTreeContext::canShowWhileLocked const):
+    * WebProcess/WebPage/WebPage.cpp:
+    (WebKit::m_canShowWhileLocked):
+    (WebKit::m_shrinkToFitContentTimer): Deleted.
+    * WebProcess/WebPage/WebPage.h:
+    (WebKit::WebPage::canShowWhileLocked const):
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-05-10  Chris Dumez  <cdu...@apple.com>
+
+            Add WKWebViewConfiguration._canShowWhileLocked SPI
+            https://bugs.webkit.org/show_bug.cgi?id=197777
+            <rdar://problem/50065100>
+
+            Reviewed by Tim Horton.
+
+            * pal/spi/cocoa/QuartzCoreSPI.h:
+
 2019-05-08  Alex Christensen  <achristen...@webkit.org>
 
         Add SPI to set HSTS storage directory

Modified: branches/safari-608.1.24-branch/Source/WebCore/PAL/pal/spi/cocoa/QuartzCoreSPI.h (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebCore/PAL/pal/spi/cocoa/QuartzCoreSPI.h	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebCore/PAL/pal/spi/cocoa/QuartzCoreSPI.h	2019-05-13 06:51:13 UTC (rev 245228)
@@ -238,6 +238,7 @@
 extern NSString * const kCAContextPortNumber;
 
 #if PLATFORM(IOS_FAMILY)
+extern NSString * const kCAContextSecure;
 extern NSString * const kCAContentsFormatRGBA10XR;
 #endif
 

Modified: branches/safari-608.1.24-branch/Source/WebKit/ChangeLog (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/ChangeLog	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/ChangeLog	2019-05-13 06:51:13 UTC (rev 245228)
@@ -1,5 +1,90 @@
 2019-05-12  Babak Shafiei  <bshaf...@apple.com>
 
+        Cherry-pick r245183. rdar://problem/50065100
+
+    Add WKWebViewConfiguration._canShowWhileLocked SPI
+    https://bugs.webkit.org/show_bug.cgi?id=197777
+    <rdar://problem/50065100>
+    
+    Reviewed by Tim Horton.
+    
+    Source/WebCore/PAL:
+    
+    * pal/spi/cocoa/QuartzCoreSPI.h:
+    
+    Source/WebKit:
+    
+    * Platform/mac/LayerHostingContext.h:
+    * Platform/mac/LayerHostingContext.mm:
+    (WebKit::LayerHostingContext::createForExternalHostingProcess):
+    * Shared/WebPageCreationParameters.cpp:
+    (WebKit::WebPageCreationParameters::encode const):
+    (WebKit::WebPageCreationParameters::decode):
+    * Shared/WebPageCreationParameters.h:
+    * UIProcess/API/APIPageConfiguration.cpp:
+    (API::PageConfiguration::copy const):
+    * UIProcess/API/APIPageConfiguration.h:
+    (API::PageConfiguration::canShowWhileLocked const):
+    (API::PageConfiguration::setCanShowWhileLocked):
+    * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
+    (-[WKWebViewConfiguration _setCanShowWhileLocked:]):
+    (-[WKWebViewConfiguration _canShowWhileLocked]):
+    * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
+    * UIProcess/WebPageProxy.cpp:
+    (WebKit::WebPageProxy::creationParameters):
+    * WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm:
+    (WebKit::PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
+    * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.h:
+    * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm:
+    (WebKit::RemoteLayerTreeContext::canShowWhileLocked const):
+    * WebProcess/WebPage/WebPage.cpp:
+    (WebKit::m_canShowWhileLocked):
+    (WebKit::m_shrinkToFitContentTimer): Deleted.
+    * WebProcess/WebPage/WebPage.h:
+    (WebKit::WebPage::canShowWhileLocked const):
+    
+    
+    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@245183 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+    2019-05-10  Chris Dumez  <cdu...@apple.com>
+
+            Add WKWebViewConfiguration._canShowWhileLocked SPI
+            https://bugs.webkit.org/show_bug.cgi?id=197777
+            <rdar://problem/50065100>
+
+            Reviewed by Tim Horton.
+
+            * Platform/mac/LayerHostingContext.h:
+            * Platform/mac/LayerHostingContext.mm:
+            (WebKit::LayerHostingContext::createForExternalHostingProcess):
+            * Shared/WebPageCreationParameters.cpp:
+            (WebKit::WebPageCreationParameters::encode const):
+            (WebKit::WebPageCreationParameters::decode):
+            * Shared/WebPageCreationParameters.h:
+            * UIProcess/API/APIPageConfiguration.cpp:
+            (API::PageConfiguration::copy const):
+            * UIProcess/API/APIPageConfiguration.h:
+            (API::PageConfiguration::canShowWhileLocked const):
+            (API::PageConfiguration::setCanShowWhileLocked):
+            * UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
+            (-[WKWebViewConfiguration _setCanShowWhileLocked:]):
+            (-[WKWebViewConfiguration _canShowWhileLocked]):
+            * UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
+            * UIProcess/WebPageProxy.cpp:
+            (WebKit::WebPageProxy::creationParameters):
+            * WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm:
+            (WebKit::PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom):
+            * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.h:
+            * WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm:
+            (WebKit::RemoteLayerTreeContext::canShowWhileLocked const):
+            * WebProcess/WebPage/WebPage.cpp:
+            (WebKit::m_canShowWhileLocked):
+            (WebKit::m_shrinkToFitContentTimer): Deleted.
+            * WebProcess/WebPage/WebPage.h:
+            (WebKit::WebPage::canShowWhileLocked const):
+
+2019-05-12  Babak Shafiei  <bshaf...@apple.com>
+
         Cherry-pick r245153. rdar://problem/50604700
 
     Guard long press link preview with a USE macro rather than complicated includes

Modified: branches/safari-608.1.24-branch/Source/WebKit/Platform/mac/LayerHostingContext.h (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/Platform/mac/LayerHostingContext.h	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/Platform/mac/LayerHostingContext.h	2019-05-13 06:51:13 UTC (rev 245228)
@@ -40,17 +40,26 @@
 namespace WebKit {
 
 using LayerHostingContextID = uint32_t;
+    
+struct LayerHostingContextOptions {
+#if PLATFORM(IOS_FAMILY)
+    bool canShowWhileLocked { false };
+#endif
+};
 
 class LayerHostingContext {
     WTF_MAKE_NONCOPYABLE(LayerHostingContext); WTF_MAKE_FAST_ALLOCATED;
 public:
     static std::unique_ptr<LayerHostingContext> createForPort(const WTF::MachSendRight& serverPort);
+    
 #if HAVE(OUT_OF_PROCESS_LAYER_HOSTING)
-    static std::unique_ptr<LayerHostingContext> createForExternalHostingProcess();
+    static std::unique_ptr<LayerHostingContext> createForExternalHostingProcess(const LayerHostingContextOptions& = { });
+
 #if PLATFORM(MAC)
     static std::unique_ptr<LayerHostingContext> createForExternalPluginHostingProcess();
 #endif
-#endif
+    
+#endif // HAVE(OUT_OF_PROCESS_LAYER_HOSTING)
 
     LayerHostingContext();
     ~LayerHostingContext();

Modified: branches/safari-608.1.24-branch/Source/WebKit/Platform/mac/LayerHostingContext.mm (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/Platform/mac/LayerHostingContext.mm	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/Platform/mac/LayerHostingContext.mm	2019-05-13 06:51:13 UTC (rev 245228)
@@ -50,7 +50,7 @@
 }
 
 #if HAVE(OUT_OF_PROCESS_LAYER_HOSTING)
-std::unique_ptr<LayerHostingContext> LayerHostingContext::createForExternalHostingProcess()
+std::unique_ptr<LayerHostingContext> LayerHostingContext::createForExternalHostingProcess(const LayerHostingContextOptions& options)
 {
     auto layerHostingContext = std::make_unique<LayerHostingContext>();
     layerHostingContext->m_layerHostingMode = LayerHostingMode::OutOfProcess;
@@ -59,6 +59,7 @@
     // Use a very large display ID to ensure that the context is never put on-screen 
     // without being explicitly parented. See <rdar://problem/16089267> for details.
     layerHostingContext->m_context = [CAContext remoteContextWithOptions:@{
+        kCAContextSecure: @(options.canShowWhileLocked),
 #if HAVE(CORE_ANIMATION_RENDER_SERVER)
         kCAContextIgnoresHitTest : @YES,
         kCAContextDisplayId : @10000
@@ -66,9 +67,13 @@
     }];
 #elif !PLATFORM(IOSMAC) && ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING)
     [CAContext setAllowsCGSConnections:NO];
-    layerHostingContext->m_context = [CAContext remoteContextWithOptions:@{kCAContextCIFilterBehavior :  @"ignore"}];
+    layerHostingContext->m_context = [CAContext remoteContextWithOptions:@{
+        kCAContextCIFilterBehavior :  @"ignore",
+    }];
 #else
-    layerHostingContext->m_context = [CAContext contextWithCGSConnection:CGSMainConnectionID() options:@{ kCAContextCIFilterBehavior : @"ignore" }];
+    layerHostingContext->m_context = [CAContext contextWithCGSConnection:CGSMainConnectionID() options:@{
+        kCAContextCIFilterBehavior : @"ignore",
+    }];
 #endif
     
     return layerHostingContext;

Modified: branches/safari-608.1.24-branch/Source/WebKit/Shared/WebPageCreationParameters.cpp (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/Shared/WebPageCreationParameters.cpp	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/Shared/WebPageCreationParameters.cpp	2019-05-13 06:51:13 UTC (rev 245228)
@@ -96,6 +96,7 @@
     encoder << maximumUnobscuredSize;
     encoder << deviceOrientation;
     encoder << keyboardIsAttached;
+    encoder << canShowWhileLocked;
     encoder << overrideViewportArguments;
 #endif
 #if PLATFORM(COCOA)
@@ -283,6 +284,8 @@
         return WTF::nullopt;
     if (!decoder.decode(parameters.keyboardIsAttached))
         return WTF::nullopt;
+    if (!decoder.decode(parameters.canShowWhileLocked))
+        return WTF::nullopt;
 
     Optional<Optional<WebCore::ViewportArguments>> overrideViewportArguments;
     decoder >> overrideViewportArguments;

Modified: branches/safari-608.1.24-branch/Source/WebKit/Shared/WebPageCreationParameters.h (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/Shared/WebPageCreationParameters.h	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/Shared/WebPageCreationParameters.h	2019-05-13 06:51:13 UTC (rev 245228)
@@ -155,6 +155,7 @@
     WebCore::FloatSize maximumUnobscuredSize;
     int32_t deviceOrientation { 0 };
     bool keyboardIsAttached { false };
+    bool canShowWhileLocked { false };
     Optional<WebCore::ViewportArguments> overrideViewportArguments;
 #endif
 #if PLATFORM(COCOA)

Modified: branches/safari-608.1.24-branch/Source/WebKit/UIProcess/API/APIPageConfiguration.cpp (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/UIProcess/API/APIPageConfiguration.cpp	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/UIProcess/API/APIPageConfiguration.cpp	2019-05-13 06:51:13 UTC (rev 245228)
@@ -72,6 +72,7 @@
     copy->m_treatsSHA1SignedCertificatesAsInsecure = this->m_treatsSHA1SignedCertificatesAsInsecure;
 #if PLATFORM(IOS_FAMILY)
     copy->m_alwaysRunsAtForegroundPriority = this->m_alwaysRunsAtForegroundPriority;
+    copy->m_canShowWhileLocked = this->m_canShowWhileLocked;
 #endif
     copy->m_initialCapitalizationEnabled = this->m_initialCapitalizationEnabled;
     copy->m_waitsForPaintAfterViewDidMoveToWindow = this->m_waitsForPaintAfterViewDidMoveToWindow;

Modified: branches/safari-608.1.24-branch/Source/WebKit/UIProcess/API/APIPageConfiguration.h (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/UIProcess/API/APIPageConfiguration.h	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/UIProcess/API/APIPageConfiguration.h	2019-05-13 06:51:13 UTC (rev 245228)
@@ -94,7 +94,10 @@
 
 #if PLATFORM(IOS_FAMILY)
     bool alwaysRunsAtForegroundPriority() { return m_alwaysRunsAtForegroundPriority; }
-    void setAlwaysRunsAtForegroundPriority(bool alwaysRunsAtForegroundPriority) { m_alwaysRunsAtForegroundPriority = alwaysRunsAtForegroundPriority; } 
+    void setAlwaysRunsAtForegroundPriority(bool alwaysRunsAtForegroundPriority) { m_alwaysRunsAtForegroundPriority = alwaysRunsAtForegroundPriority; }
+    
+    bool canShowWhileLocked() const { return m_canShowWhileLocked; }
+    void setCanShowWhileLocked(bool canShowWhileLocked) { m_canShowWhileLocked = canShowWhileLocked; }
 #endif
     bool initialCapitalizationEnabled() { return m_initialCapitalizationEnabled; }
     void setInitialCapitalizationEnabled(bool initialCapitalizationEnabled) { m_initialCapitalizationEnabled = initialCapitalizationEnabled; }
@@ -147,6 +150,7 @@
     bool m_treatsSHA1SignedCertificatesAsInsecure { true };
 #if PLATFORM(IOS_FAMILY)
     bool m_alwaysRunsAtForegroundPriority { false };
+    bool m_canShowWhileLocked { false };
 #endif
     bool m_initialCapitalizationEnabled { true };
     bool m_waitsForPaintAfterViewDidMoveToWindow { true };

Modified: branches/safari-608.1.24-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm	2019-05-13 06:51:13 UTC (rev 245228)
@@ -771,6 +771,16 @@
     _shouldDecidePolicyBeforeLoadingQuickLookPreview = shouldDecide;
 }
 
+- (void)_setCanShowWhileLocked:(BOOL)value
+{
+    _pageConfiguration->setCanShowWhileLocked(value);
+}
+
+- (BOOL)_canShowWhileLocked
+{
+    return _pageConfiguration->canShowWhileLocked();
+}
+
 #endif // PLATFORM(IOS_FAMILY)
 
 - (BOOL)_invisibleAutoplayNotPermitted

Modified: branches/safari-608.1.24-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h	2019-05-13 06:51:13 UTC (rev 245228)
@@ -83,6 +83,7 @@
 @property (nonatomic, setter=_setLongPressActionsEnabled:) BOOL _longPressActionsEnabled WK_API_AVAILABLE(ios(12.0));
 @property (nonatomic, setter=_setSystemPreviewEnabled:) BOOL _systemPreviewEnabled WK_API_AVAILABLE(ios(12.0));
 @property (nonatomic, setter=_setShouldDecidePolicyBeforeLoadingQuickLookPreview:) BOOL _shouldDecidePolicyBeforeLoadingQuickLookPreview WK_API_AVAILABLE(ios(WK_IOS_TBA));
+@property (nonatomic, setter=_setCanShowWhileLocked:) BOOL _canShowWhileLocked WK_API_AVAILABLE(ios(WK_IOS_TBA));
 #else
 @property (nonatomic, setter=_setShowsURLsInToolTips:) BOOL _showsURLsInToolTips WK_API_AVAILABLE(macos(10.12));
 @property (nonatomic, setter=_setServiceControlsEnabled:) BOOL _serviceControlsEnabled WK_API_AVAILABLE(macos(10.12));

Modified: branches/safari-608.1.24-branch/Source/WebKit/UIProcess/WebPageProxy.cpp (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2019-05-13 06:51:13 UTC (rev 245228)
@@ -7126,6 +7126,7 @@
     parameters.deviceOrientation = m_deviceOrientation;
     parameters.keyboardIsAttached = isInHardwareKeyboardMode();
     parameters.overrideViewportArguments = m_overrideViewportArguments;
+    parameters.canShowWhileLocked = m_configuration->canShowWhileLocked();
 #endif
 
 #if PLATFORM(MAC)

Modified: branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/PlatformCALayerRemoteCustom.mm	2019-05-13 06:51:13 UTC (rev 245228)
@@ -59,8 +59,12 @@
         break;
 #if HAVE(OUT_OF_PROCESS_LAYER_HOSTING)
     case LayerHostingMode::OutOfProcess:
-        m_layerHostingContext = LayerHostingContext::createForExternalHostingProcess();
+        m_layerHostingContext = LayerHostingContext::createForExternalHostingProcess({
 #if PLATFORM(IOS_FAMILY)
+            context.canShowWhileLocked()
+#endif
+        });
+#if PLATFORM(IOS_FAMILY)
         if (layerType == LayerTypeAVPlayerLayer) {
             float scaleFactor = context.deviceScaleFactor();
             // Set a scale factor here to make convertRect:toLayer:nil take scale factor into account. <rdar://problem/18316542>.

Modified: branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.h (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.h	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.h	2019-05-13 06:51:13 UTC (rev 245228)
@@ -77,6 +77,10 @@
     bool nextFlushIsForImmediatePaint() const { return m_nextFlushIsForImmediatePaint; }
 
     void adoptLayersFromContext(RemoteLayerTreeContext&);
+    
+#if PLATFORM(IOS_FAMILY)
+    bool canShowWhileLocked() const;
+#endif
 
 private:
     // WebCore::GraphicsLayerFactory

Modified: branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeContext.mm	2019-05-13 06:51:13 UTC (rev 245228)
@@ -78,6 +78,13 @@
     return m_webPage.layerHostingMode();
 }
 
+#if PLATFORM(IOS_FAMILY)
+bool RemoteLayerTreeContext::canShowWhileLocked() const
+{
+    return m_webPage.canShowWhileLocked();
+}
+#endif
+
 void RemoteLayerTreeContext::layerDidEnterContext(PlatformCALayerRemote& layer, PlatformCALayer::LayerType type)
 {
     GraphicsLayer::PlatformLayerID layerID = layer.layerID();

Modified: branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/WebPage.cpp (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/WebPage.cpp	2019-05-13 06:51:13 UTC (rev 245228)
@@ -414,6 +414,7 @@
     , m_overrideScreenSize(parameters.overrideScreenSize)
     , m_deviceOrientation(parameters.deviceOrientation)
     , m_keyboardIsAttached(parameters.keyboardIsAttached)
+    , m_canShowWhileLocked(parameters.canShowWhileLocked)
 #endif
     , m_layerVolatilityTimer(*this, &WebPage::layerVolatilityTimerFired)
     , m_activityState(parameters.activityState)

Modified: branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/WebPage.h (245227 => 245228)


--- branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/WebPage.h	2019-05-13 06:51:08 UTC (rev 245227)
+++ branches/safari-608.1.24-branch/Source/WebKit/WebProcess/WebPage/WebPage.h	2019-05-13 06:51:13 UTC (rev 245228)
@@ -958,6 +958,8 @@
     void hardwareKeyboardAvailabilityChanged(bool keyboardIsAttached);
 
     void updateStringForFind(const String&);
+    
+    bool canShowWhileLocked() const { return m_canShowWhileLocked; }
 #endif
 
 #if ENABLE(IOS_TOUCH_EVENTS)
@@ -1829,6 +1831,7 @@
     WebCore::FloatSize m_maximumUnobscuredSize;
     int32_t m_deviceOrientation { 0 };
     bool m_keyboardIsAttached { false };
+    bool m_canShowWhileLocked { false };
     bool m_inDynamicSizeUpdate { false };
     HashMap<std::pair<WebCore::IntSize, double>, WebCore::IntPoint> m_dynamicSizeUpdateHistory;
     RefPtr<WebCore::Node> m_pendingSyntheticClickNode;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to