Diff
Modified: trunk/Source/WebKit/ChangeLog (232633 => 232634)
--- trunk/Source/WebKit/ChangeLog 2018-06-08 18:37:44 UTC (rev 232633)
+++ trunk/Source/WebKit/ChangeLog 2018-06-08 18:45:52 UTC (rev 232634)
@@ -1,5 +1,24 @@
2018-06-08 Per Arne Vollan <pvol...@apple.com>
+ Run display links in the UI process when ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING) is true.
+ https://bugs.webkit.org/show_bug.cgi?id=186379
+
+ Reviewed by Brent Fulgham.
+
+ Replace __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400 with ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING).
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::WebPageProxy::dispatchActivityStateChange):
+ * UIProcess/WebPageProxy.h:
+ * UIProcess/WebPageProxy.messages.in:
+ * UIProcess/mac/DisplayLink.cpp:
+ * UIProcess/mac/DisplayLink.h:
+ * UIProcess/mac/WebPageProxyMac.mm:
+ * WebProcess/WebPage/DrawingArea.cpp:
+ * WebProcess/WebPage/mac/DrawingAreaMac.cpp:
+
+2018-06-08 Per Arne Vollan <pvol...@apple.com>
+
Send display link IPC message from display link thread.
https://bugs.webkit.org/show_bug.cgi?id=186429
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (232633 => 232634)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2018-06-08 18:37:44 UTC (rev 232633)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2018-06-08 18:45:52 UTC (rev 232634)
@@ -1598,7 +1598,7 @@
if (changed & ActivityState::IsVisible) {
if (isViewVisible()) {
m_visiblePageToken = m_process->visiblePageToken();
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if PLATFORM(MAC) && ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING)
if (m_displayLink)
m_displayLink->resume();
#endif
@@ -1610,7 +1610,7 @@
// state, it might not send back a reply (since it won't paint anything if the web page is hidden) so we
// stop the unresponsiveness timer here.
m_process->responsivenessTimer().stop();
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if PLATFORM(MAC) && ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING)
if (m_displayLink)
m_displayLink->pause();
#endif
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (232633 => 232634)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.h 2018-06-08 18:37:44 UTC (rev 232633)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h 2018-06-08 18:45:52 UTC (rev 232634)
@@ -122,7 +122,7 @@
#include <WebCore/WebMediaSessionManagerClient.h>
#endif
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if PLATFORM(MAC) && ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING)
#include "DisplayLink.h"
#endif
@@ -1765,7 +1765,7 @@
void didRemoveAttachment(const String& identifier);
#endif
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if PLATFORM(MAC) && ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING)
void startDisplayLink(unsigned observerID);
void stopDisplayLink(unsigned observerID);
#endif
@@ -2163,7 +2163,7 @@
HashMap<String, Ref<WebURLSchemeHandler>> m_urlSchemeHandlersByScheme;
HashMap<uint64_t, Ref<WebURLSchemeHandler>> m_urlSchemeHandlersByIdentifier;
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if PLATFORM(MAC) && ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING)
std::unique_ptr<DisplayLink> m_displayLink;
#endif
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in (232633 => 232634)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in 2018-06-08 18:37:44 UTC (rev 232633)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in 2018-06-08 18:45:52 UTC (rev 232634)
@@ -524,7 +524,7 @@
DidRemoveAttachment(String identifier)
#endif
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if PLATFORM(MAC) && ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING)
StartDisplayLink(unsigned observerID)
StopDisplayLink(unsigned observerID)
#endif
Modified: trunk/Source/WebKit/UIProcess/mac/DisplayLink.cpp (232633 => 232634)
--- trunk/Source/WebKit/UIProcess/mac/DisplayLink.cpp 2018-06-08 18:37:44 UTC (rev 232633)
+++ trunk/Source/WebKit/UIProcess/mac/DisplayLink.cpp 2018-06-08 18:45:52 UTC (rev 232634)
@@ -26,7 +26,7 @@
#include "config.h"
#include "DisplayLink.h"
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING)
#include "DrawingAreaMessages.h"
#include "WebPageProxy.h"
Modified: trunk/Source/WebKit/UIProcess/mac/DisplayLink.h (232633 => 232634)
--- trunk/Source/WebKit/UIProcess/mac/DisplayLink.h 2018-06-08 18:37:44 UTC (rev 232633)
+++ trunk/Source/WebKit/UIProcess/mac/DisplayLink.h 2018-06-08 18:45:52 UTC (rev 232634)
@@ -25,7 +25,7 @@
#pragma once
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING)
#include <CoreVideo/CVDisplayLink.h>
Modified: trunk/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm (232633 => 232634)
--- trunk/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm 2018-06-08 18:37:44 UTC (rev 232633)
+++ trunk/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm 2018-06-08 18:45:52 UTC (rev 232634)
@@ -681,7 +681,7 @@
}
#endif
-#if __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING)
void WebPageProxy::startDisplayLink(unsigned observerID)
{
ASSERT(hasProcessPrivilege(ProcessPrivilege::CanCommunicateWithWindowServer));
Modified: trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp (232633 => 232634)
--- trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp 2018-06-08 18:37:44 UTC (rev 232633)
+++ trunk/Source/WebKit/WebProcess/WebPage/DrawingArea.cpp 2018-06-08 18:45:52 UTC (rev 232634)
@@ -88,7 +88,7 @@
function();
}
-#if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) && !(PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400)
+#if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) && !(PLATFORM(MAC) && ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING))
RefPtr<WebCore::DisplayRefreshMonitor> DrawingArea::createDisplayRefreshMonitor(PlatformDisplayID)
{
return nullptr;
Modified: trunk/Source/WebKit/WebProcess/WebPage/mac/DrawingAreaMac.cpp (232633 => 232634)
--- trunk/Source/WebKit/WebProcess/WebPage/mac/DrawingAreaMac.cpp 2018-06-08 18:37:44 UTC (rev 232633)
+++ trunk/Source/WebKit/WebProcess/WebPage/mac/DrawingAreaMac.cpp 2018-06-08 18:45:52 UTC (rev 232634)
@@ -38,7 +38,7 @@
namespace WebKit {
-#if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) && PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) && ENABLE(WEBPROCESS_WINDOWSERVER_BLOCKING)
class DisplayRefreshMonitorMac : public DisplayRefreshMonitor {
public: