Title: [164260] trunk/Source/WebKit2
Revision
164260
Author
timothy_hor...@apple.com
Date
2014-02-17 16:56:57 -0800 (Mon, 17 Feb 2014)

Log Message

[iOS][wk2] Custom layers are sometimes put on-screen without being parented
https://bugs.webkit.org/show_bug.cgi?id=128935
<rdar://problem/16022336>

Reviewed by Sam Weinig.

* Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::createForExternalHostingProcess):
Give an explicit and unlikely display ID, so that the layer will never
be brought on-screen unless explicitly parented.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (164259 => 164260)


--- trunk/Source/WebKit2/ChangeLog	2014-02-18 00:53:40 UTC (rev 164259)
+++ trunk/Source/WebKit2/ChangeLog	2014-02-18 00:56:57 UTC (rev 164260)
@@ -1,3 +1,16 @@
+2014-02-17  Tim Horton  <timothy_hor...@apple.com>
+
+        [iOS][wk2] Custom layers are sometimes put on-screen without being parented
+        https://bugs.webkit.org/show_bug.cgi?id=128935
+        <rdar://problem/16022336>
+
+        Reviewed by Sam Weinig.
+
+        * Platform/mac/LayerHostingContext.mm:
+        (WebKit::LayerHostingContext::createForExternalHostingProcess):
+        Give an explicit and unlikely display ID, so that the layer will never
+        be brought on-screen unless explicitly parented.
+
 2014-02-17  Anders Carlsson  <ander...@apple.com>
 
         Add history delegate to WKWebView

Modified: trunk/Source/WebKit2/Platform/mac/LayerHostingContext.mm (164259 => 164260)


--- trunk/Source/WebKit2/Platform/mac/LayerHostingContext.mm	2014-02-18 00:53:40 UTC (rev 164259)
+++ trunk/Source/WebKit2/Platform/mac/LayerHostingContext.mm	2014-02-18 00:56:57 UTC (rev 164260)
@@ -61,7 +61,11 @@
     layerHostingContext->m_layerHostingMode = LayerHostingMode::OutOfProcess;
 
 #if PLATFORM(IOS)
-    layerHostingContext->m_context = (WKCAContextRef)[CAContext remoteContextWithOptions:@{ kCAContextIgnoresHitTest : @YES }];
+    // 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 = (WKCAContextRef)[CAContext remoteContextWithOptions:@{
+        kCAContextIgnoresHitTest : @YES,
+        kCAContextDisplayId : @10000 }];
 #else
     layerHostingContext->m_context = WKCAContextMakeRemoteForWindowServer();
 #endif
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to