[prev in list] [next in list] [prev in thread] [next in thread] 

List:       webkit-changes
Subject:    [webkit-changes] [239496] trunk
From:       benjamin () webkit ! org
Date:       2018-12-21 8:37:57
Message-ID: 20181221083757.3927010051CC () svn ! webkit ! org
[Download RAW message or body]

[Attachment #2 (text/html)]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[239496] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: \
verdana,arial,helvetica,sans-serif; font-size: 10pt;  } #msg dl a { font-weight: \
bold} #msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: \
bold; } #msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: \
6px; } #logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em \
0; } #logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg \
h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; } \
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; \
} #logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: \
-1.5em; padding-left: 1.5em; } #logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em \
1em 0 1em; background: white;} #logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid \
#fa0; border-bottom: 1px solid #fa0; background: #fff; } #logmsg table th { \
text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted \
#fa0; } #logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: \
0.2em 0.5em; } #logmsg table thead th { text-align: center; border-bottom: 1px solid \
#fa0; } #logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: \
6px; } #patch { width: 100%; }
#patch h4 {font-family: \
verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
 #patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, \
#patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch ins \
{background:#dfd;text-decoration:none;display:block;padding:0 10px;} #patch del \
{background:#fdd;text-decoration:none;display:block;padding:0 10px;} #patch .lines, \
                .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a \
href="http://trac.webkit.org/projects/webkit/changeset/239496">239496</a></dd> \
<dt>Author</dt> <dd>benjamin@webkit.org</dd> <dt>Date</dt> <dd>2018-12-21 00:37:57 \
-0800 (Fri, 21 Dec 2018)</dd> </dl>

<h3>Log Message</h3>
<pre>&lt;rdar://problem/46194315&gt; macOS: WebKit1 does not handle occlusion changes
https://bugs.webkit.org/show_bug.cgi?id=192821

Reviewed by Chris Dumez.

Source/WebKitLegacy/mac:

When a window becomes occluded, the window server informs the application.
This should be used to suspend any work that is not visible by the user.

WebKit2 handles it just fine, but WebKit1 did not handle the notification.
In some cases, that lead to performance impact (see radar).

This patch adds an observer for the occlusion notification. I tried to stick
with the same names used by WebKit2.

* WebView/WebView.mm:
(-[WebView _isViewVisible]):
(-[WebView addWindowObserversForWindow:]):
(-[WebView removeWindowObservers]):
(-[WebView _windowDidChangeOcclusionState:]):

Tools:

* DumpRenderTree/mac/DumpRenderTree.mm:
(createWebViewAndOffscreenWindow):
* TestWebKitAPI/mac/WebKitAgnosticTest.mm:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKitLegacymacChangeLog">trunk/Source/WebKitLegacy/mac/ChangeLog</a></li>
 <li><a href="#trunkSourceWebKitLegacymacWebViewWebViewmm">trunk/Source/WebKitLegacy/mac/WebView/WebView.mm</a></li>
 <li><a href="#trunkSourceWebKitLegacymacWebViewWebViewDatah">trunk/Source/WebKitLegacy/mac/WebView/WebViewData.h</a></li>
 <li><a href="#trunkSourceWebKitLegacymacWebViewWebViewDatamm">trunk/Source/WebKitLegacy/mac/WebView/WebViewData.mm</a></li>
 <li><a href="#trunkSourceWebKitLegacymacWebViewWebViewPrivateh">trunk/Source/WebKitLegacy/mac/WebView/WebViewPrivate.h</a></li>
 <li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsDumpRenderTreemacDumpRenderTreemm">trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm</a></li>
 <li><a href="#trunkToolsTestWebKitAPImacWebKitAgnosticTestmm">trunk/Tools/TestWebKitAPI/mac/WebKitAgnosticTest.mm</a></li>
 </ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKitLegacymacChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (239495 => \
239496)</h4> <pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/mac/ChangeLog	2018-12-21 03:04:52 \
                UTC (rev 239495)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2018-12-21 08:37:57 UTC (rev 239496)
</span><span class="lines">@@ -1,3 +1,25 @@
</span><ins>+2018-12-21  Benjamin Poulain  &lt;benjamin@webkit.org&gt;
+
+        &lt;rdar://problem/46194315&gt; macOS: WebKit1 does not handle occlusion \
changes +        https://bugs.webkit.org/show_bug.cgi?id=192821
+
+        Reviewed by Chris Dumez.
+
+        When a window becomes occluded, the window server informs the application.
+        This should be used to suspend any work that is not visible by the user.
+
+        WebKit2 handles it just fine, but WebKit1 did not handle the notification.
+        In some cases, that lead to performance impact (see radar).
+
+        This patch adds an observer for the occlusion notification. I tried to stick
+        with the same names used by WebKit2.
+
+        * WebView/WebView.mm:
+        (-[WebView _isViewVisible]):
+        (-[WebView addWindowObserversForWindow:]):
+        (-[WebView removeWindowObservers]):
+        (-[WebView _windowDidChangeOcclusionState:]):
+
</ins><span class="cx"> 2018-12-20  Jiewen Tan  &lt;jiewen_tan@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [WebAuthN] Add a runtime flag for local \
authenticator </span></span></pre></div>
<a id="trunkSourceWebKitLegacymacWebViewWebViewmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKitLegacy/mac/WebView/WebView.mm \
(239495 => 239496)</h4> <pre class="diff"><span>
<span class="info">--- trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2018-12-21 \
                03:04:52 UTC (rev 239495)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebView.mm	2018-12-21 08:37:57 UTC (rev \
239496) </span><span class="lines">@@ -4670,15 +4670,21 @@
</span><span class="cx"> 
</span><span class="cx"> - (BOOL)_isViewVisible
</span><span class="cx"> {
</span><del>-    if (![self window])
</del><ins>+    NSWindow *window = [self window];
+    if (!window)
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    if (![[self window] isVisible])
</del><ins>+    if (![window isVisible])
</ins><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     if ([self isHiddenOrHasHiddenAncestor])
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS_FAMILY)
+    if (_private-&gt;windowOcclusionDetectionEnabled &amp;&amp; \
(window.occlusionState &amp; NSWindowOcclusionStateVisible) != \
NSWindowOcclusionStateVisible) +        return false;
+#endif
+
</ins><span class="cx">     return true;
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -5067,6 +5073,18 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS_FAMILY)
+- (BOOL)windowOcclusionDetectionEnabled
+{
+    return _private-&gt;windowOcclusionDetectionEnabled;
+}
+
+- (void)setWindowOcclusionDetectionEnabled:(BOOL)flag
+{
+    _private-&gt;windowOcclusionDetectionEnabled = flag;
+}
+#endif
+
</ins><span class="cx"> - \
(void)_setPaginationBehavesLikeColumns:(BOOL)behavesLikeColumns </span><span \
class="cx"> { </span><span class="cx">     Page* page = core(self);
</span><span class="lines">@@ -6002,22 +6020,26 @@
</span><span class="cx"> - (void)addWindowObserversForWindow:(NSWindow *)window
</span><span class="cx"> {
</span><span class="cx">     if (window) {
</span><del>-        [[NSNotificationCenter defaultCenter] addObserver:self \
selector:@selector(windowKeyStateChanged:) </del><ins>+        NSNotificationCenter \
*defaultNotificationCenter = [NSNotificationCenter defaultCenter]; +
+        [defaultNotificationCenter addObserver:self \
selector:@selector(windowKeyStateChanged:) </ins><span class="cx">             \
name:NSWindowDidBecomeKeyNotification object:window]; </span><del>-        \
[[NSNotificationCenter defaultCenter] addObserver:self \
selector:@selector(windowKeyStateChanged:) </del><ins>+        \
[defaultNotificationCenter addObserver:self \
selector:@selector(windowKeyStateChanged:) </ins><span class="cx">             \
name:NSWindowDidResignKeyNotification object:window]; </span><del>-        \
[[NSNotificationCenter defaultCenter] addObserver:self \
selector:@selector(_windowWillOrderOnScreen:) </del><ins>+        \
[defaultNotificationCenter addObserver:self \
selector:@selector(_windowWillOrderOnScreen:) </ins><span class="cx">             \
name:NSWindowWillOrderOnScreenNotification object:window]; </span><del>-        \
[[NSNotificationCenter defaultCenter] addObserver:self \
selector:@selector(_windowWillOrderOffScreen:) </del><ins>+        \
[defaultNotificationCenter addObserver:self \
selector:@selector(_windowWillOrderOffScreen:) </ins><span class="cx">             \
name:NSWindowWillOrderOffScreenNotification object:window]; </span><del>-        \
[[NSNotificationCenter defaultCenter] addObserver:self \
selector:@selector(_windowDidChangeBackingProperties:) </del><ins>+        \
[defaultNotificationCenter addObserver:self \
selector:@selector(_windowDidChangeBackingProperties:) </ins><span class="cx">        \
name:windowDidChangeBackingPropertiesNotification object:window]; </span><del>-       \
[[NSNotificationCenter defaultCenter] addObserver:self \
selector:@selector(_windowDidChangeScreen:) </del><ins>+        \
[defaultNotificationCenter addObserver:self \
selector:@selector(_windowDidChangeScreen:) </ins><span class="cx">             \
name:NSWindowDidChangeScreenNotification object:window]; </span><del>-        \
[[NSNotificationCenter defaultCenter] addObserver:self \
selector:@selector(_windowVisibilityChanged:)  </del><ins>+        \
[defaultNotificationCenter addObserver:self \
selector:@selector(_windowVisibilityChanged:) </ins><span class="cx">             \
name:NSWindowDidMiniaturizeNotification object:window]; </span><del>-        \
[[NSNotificationCenter defaultCenter] addObserver:self \
selector:@selector(_windowVisibilityChanged:) </del><ins>+        \
[defaultNotificationCenter addObserver:self \
selector:@selector(_windowVisibilityChanged:) </ins><span class="cx">             \
name:NSWindowDidDeminiaturizeNotification object:window]; </span><ins>+        \
[defaultNotificationCenter addObserver:self \
selector:@selector(_windowDidChangeOcclusionState:) +            \
name:NSWindowDidChangeOcclusionStateNotification object:window]; </ins><span \
class="cx">         [_private-&gt;windowVisibilityObserver startObserving:window]; \
</span><span class="cx">     } </span><span class="cx"> }
</span><span class="lines">@@ -6026,22 +6048,26 @@
</span><span class="cx"> {
</span><span class="cx">     NSWindow *window = [self window];
</span><span class="cx">     if (window) {
</span><del>-        [[NSNotificationCenter defaultCenter] removeObserver:self
</del><ins>+        NSNotificationCenter *defaultNotificationCenter = \
[NSNotificationCenter defaultCenter]; +
+        [defaultNotificationCenter removeObserver:self
</ins><span class="cx">             name:NSWindowDidBecomeKeyNotification \
object:window]; </span><del>-        [[NSNotificationCenter defaultCenter] \
removeObserver:self </del><ins>+        [defaultNotificationCenter \
removeObserver:self </ins><span class="cx">             \
name:NSWindowDidResignKeyNotification object:window]; </span><del>-        \
[[NSNotificationCenter defaultCenter] removeObserver:self </del><ins>+        \
[defaultNotificationCenter removeObserver:self </ins><span class="cx">             \
name:NSWindowWillOrderOnScreenNotification object:window]; </span><del>-        \
[[NSNotificationCenter defaultCenter] removeObserver:self </del><ins>+        \
[defaultNotificationCenter removeObserver:self </ins><span class="cx">             \
name:NSWindowWillOrderOffScreenNotification object:window]; </span><del>-        \
[[NSNotificationCenter defaultCenter] removeObserver:self </del><ins>+        \
[defaultNotificationCenter removeObserver:self </ins><span class="cx">             \
name:windowDidChangeBackingPropertiesNotification object:window]; </span><del>-       \
[[NSNotificationCenter defaultCenter] removeObserver:self </del><ins>+        \
[defaultNotificationCenter removeObserver:self </ins><span class="cx">             \
name:NSWindowDidChangeScreenNotification object:window]; </span><del>-        \
[[NSNotificationCenter defaultCenter] removeObserver:self </del><ins>+        \
[defaultNotificationCenter removeObserver:self </ins><span class="cx">             \
name:NSWindowDidMiniaturizeNotification object:window]; </span><del>-        \
[[NSNotificationCenter defaultCenter] removeObserver:self </del><ins>+        \
[defaultNotificationCenter removeObserver:self </ins><span class="cx">             \
name:NSWindowDidDeminiaturizeNotification object:window]; </span><ins>+        \
[defaultNotificationCenter removeObserver:self +            \
name:NSWindowDidChangeOcclusionStateNotification object:window]; </ins><span \
class="cx">         [_private-&gt;windowVisibilityObserver stopObserving:window]; \
</span><span class="cx">     } </span><span class="cx"> }
</span><span class="lines">@@ -6192,6 +6218,12 @@
</span><span class="cx"> 
</span><span class="cx">     \
_private-&gt;page-&gt;setDeviceScaleFactor(newBackingScaleFactor); </span><span \
class="cx"> } </span><ins>+
+- (void)_windowDidChangeOcclusionState:(NSNotification *)notification
+{
+    [self _updateVisibilityState];
+}
+
</ins><span class="cx"> #else
</span><span class="cx"> - (void)_wakWindowScreenScaleChanged:(NSNotification \
*)notification </span><span class="cx"> {
</span></span></pre></div>
<a id="trunkSourceWebKitLegacymacWebViewWebViewDatah"></a>
<div class="modfile"><h4>Modified: \
trunk/Source/WebKitLegacy/mac/WebView/WebViewData.h (239495 => 239496)</h4> <pre \
class="diff"><span> <span class="info">--- \
trunk/Source/WebKitLegacy/mac/WebView/WebViewData.h	2018-12-21 03:04:52 UTC (rev \
                239495)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebViewData.h	2018-12-21 08:37:57 UTC (rev \
239496) </span><span class="lines">@@ -211,6 +211,7 @@
</span><span class="cx">     std::unique_ptr&lt;WebCore::TextIndicatorWindow&gt; \
textIndicatorWindow; </span><span class="cx">     BOOL hasInitializedLookupObserver;
</span><span class="cx">     RetainPtr&lt;WebWindowVisibilityObserver&gt; \
windowVisibilityObserver; </span><ins>+    BOOL windowOcclusionDetectionEnabled;
</ins><span class="cx">     RetainPtr&lt;NSEvent&gt; pressureEvent;
</span><span class="cx"> #endif // PLATFORM(MAC)
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitLegacymacWebViewWebViewDatamm"></a>
<div class="modfile"><h4>Modified: \
trunk/Source/WebKitLegacy/mac/WebView/WebViewData.mm (239495 => 239496)</h4> <pre \
class="diff"><span> <span class="info">--- \
trunk/Source/WebKitLegacy/mac/WebView/WebViewData.mm	2018-12-21 03:04:52 UTC (rev \
                239495)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebViewData.mm	2018-12-21 08:37:57 UTC (rev \
239496) </span><span class="lines">@@ -183,6 +183,10 @@
</span><span class="cx">     usesPageCache = YES;
</span><span class="cx">     shouldUpdateWhileOffscreen = YES;
</span><span class="cx"> 
</span><ins>+#if !PLATFORM(IOS_FAMILY)
+    windowOcclusionDetectionEnabled = YES;
+#endif
+
</ins><span class="cx">     zoomMultiplier = 1;
</span><span class="cx">     zoomsTextOnly = NO;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKitLegacymacWebViewWebViewPrivateh"></a>
<div class="modfile"><h4>Modified: \
trunk/Source/WebKitLegacy/mac/WebView/WebViewPrivate.h (239495 => 239496)</h4> <pre \
class="diff"><span> <span class="info">--- \
trunk/Source/WebKitLegacy/mac/WebView/WebViewPrivate.h	2018-12-21 03:04:52 UTC (rev \
                239495)
+++ trunk/Source/WebKitLegacy/mac/WebView/WebViewPrivate.h	2018-12-21 08:37:57 UTC \
(rev 239496) </span><span class="lines">@@ -852,6 +852,11 @@
</span><span class="cx"> - (WebPageVisibilityState)_visibilityState;
</span><span class="cx"> - \
(void)_setVisibilityState:(WebPageVisibilityState)visibilityState \
isInitialState:(BOOL)isInitialState; </span><span class="cx"> 
</span><ins>+#if !TARGET_OS_IPHONE
+- (BOOL)windowOcclusionDetectionEnabled;
+- (void)setWindowOcclusionDetectionEnabled:(BOOL)flag;
+#endif
+
</ins><span class="cx"> // Whether the column-break-{before,after} properties are \
respected instead of the </span><span class="cx"> // page-break-{before,after} \
properties. </span><span class="cx"> - \
(void)_setPaginationBehavesLikeColumns:(BOOL)behavesLikeColumns; \
</span></span></pre></div> <a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (239495 => 239496)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog	2018-12-21 03:04:52 UTC (rev 239495)
+++ trunk/Tools/ChangeLog	2018-12-21 08:37:57 UTC (rev 239496)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2018-12-21  Benjamin Poulain  &lt;benjamin@webkit.org&gt;
+
+        &lt;rdar://problem/46194315&gt; macOS: WebKit1 does not handle occlusion \
changes +        https://bugs.webkit.org/show_bug.cgi?id=192821
+
+        Reviewed by Chris Dumez.
+
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        (createWebViewAndOffscreenWindow):
+        * TestWebKitAPI/mac/WebKitAgnosticTest.mm:
+
</ins><span class="cx"> 2018-12-20  Fujii Hironori  &lt;Hironori.Fujii@sony.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [Win][Clang] Fix compilation warnings of \
DumpRenderTree </span></span></pre></div>
<a id="trunkToolsDumpRenderTreemacDumpRenderTreemm"></a>
<div class="modfile"><h4>Modified: trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm \
(239495 => 239496)</h4> <pre class="diff"><span>
<span class="info">--- trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2018-12-21 \
                03:04:52 UTC (rev 239495)
+++ trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm	2018-12-21 08:37:57 UTC (rev \
239496) </span><span class="lines">@@ -724,6 +724,7 @@
</span><span class="cx">     [WebView \
registerURLSchemeAsLocal:@&quot;feedsearch&quot;]; </span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(MAC)
</span><ins>+    [webView setWindowOcclusionDetectionEnabled:NO];
</ins><span class="cx">     [WebView _setFontWhitelist:fontWhitelist()];
</span><span class="cx"> #endif
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkToolsTestWebKitAPImacWebKitAgnosticTestmm"></a>
<div class="modfile"><h4>Modified: \
trunk/Tools/TestWebKitAPI/mac/WebKitAgnosticTest.mm (239495 => 239496)</h4> <pre \
class="diff"><span> <span class="info">--- \
trunk/Tools/TestWebKitAPI/mac/WebKitAgnosticTest.mm	2018-12-21 03:04:52 UTC (rev \
                239495)
+++ trunk/Tools/TestWebKitAPI/mac/WebKitAgnosticTest.mm	2018-12-21 08:37:57 UTC (rev \
239496) </span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &lt;WebKit/WKURLCF.h&gt;
</span><span class="cx"> #include &lt;WebKit/WKViewPrivate.h&gt;
</span><ins>+#include &lt;WebKit/WebViewPrivate.h&gt;
</ins><span class="cx"> #include &lt;wtf/RetainPtr.h&gt;
</span><span class="cx"> 
</span><span class="cx"> @interface FrameLoadDelegate : NSObject \
&lt;WebFrameLoadDelegate&gt; { </span><span class="lines">@@ -85,6 +86,12 @@
</span><span class="cx"> void WebKitAgnosticTest::runWebKit1Test()
</span><span class="cx"> {
</span><span class="cx">     RetainPtr&lt;WebView&gt; webView = adoptNS([[WebView \
alloc] initWithFrame:viewFrame]); </span><ins>+#if !TARGET_OS_IPHONE
+    // The tests can be run concurrently. In that case, window can occlude each \
other and change visibility results. +    // Occlusion problems also happen from \
other windows unrelated to WebKit testing. +    [webView \
setWindowOcclusionDetectionEnabled:NO]; +#endif
+
</ins><span class="cx">     RetainPtr&lt;FrameLoadDelegate&gt; delegate = \
adoptNS([[FrameLoadDelegate alloc] initWithDidFinishLoadBoolean:&amp;didFinishLoad]); \
</span><span class="cx">     [webView.get() setFrameLoadDelegate:delegate.get()]; \
</span><span class="cx">     initializeView(webView.get()); </span></span></pre>
</div>
</div>

</body>
</html>



_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic