Diff
Modified: trunk/Source/WTF/ChangeLog (225508 => 225509)
--- trunk/Source/WTF/ChangeLog 2017-12-05 01:11:52 UTC (rev 225508)
+++ trunk/Source/WTF/ChangeLog 2017-12-05 01:13:27 UTC (rev 225509)
@@ -1,3 +1,14 @@
+2017-12-04 Simon Fraser <[email protected]>
+
+ Minor DisplayRefreshMonitor-related cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=179802
+
+ Reviewed by Sam Weinig.
+
+ New trace point for when the CVDisplayLink fires on its own thread.
+
+ * wtf/SystemTracing.h:
+
2017-12-04 JF Bastien <[email protected]>
Update std::expected to match libc++ coding style
Modified: trunk/Source/WTF/wtf/SystemTracing.h (225508 => 225509)
--- trunk/Source/WTF/wtf/SystemTracing.h 2017-12-05 01:11:52 UTC (rev 225508)
+++ trunk/Source/WTF/wtf/SystemTracing.h 2017-12-05 01:13:27 UTC (rev 225509)
@@ -73,6 +73,7 @@
UpdateTouchRegionsEnd,
DisplayListRecordStart,
DisplayListRecordEnd,
+ DisplayRefreshDispatchingToMainThread,
WebKitRange = 10000,
WebHTMLViewPaintStart,
Modified: trunk/Source/WebCore/ChangeLog (225508 => 225509)
--- trunk/Source/WebCore/ChangeLog 2017-12-05 01:11:52 UTC (rev 225508)
+++ trunk/Source/WebCore/ChangeLog 2017-12-05 01:13:27 UTC (rev 225509)
@@ -1,3 +1,23 @@
+2017-12-04 Simon Fraser <[email protected]>
+
+ Minor DisplayRefreshMonitor-related cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=179802
+
+ Reviewed by Sam Weinig.
+
+ New trace point for when the CVDisplayLink fires on its own thread.
+
+ Some #pragma once, and put all the WellKnownRunLoopOrders in one place.
+
+ * inspector/agents/InspectorTimelineAgent.cpp:
+ (WebCore::InspectorTimelineAgent::internalStart):
+ * platform/cf/RunLoopObserver.h:
+ * platform/graphics/DisplayRefreshMonitor.cpp:
+ (WebCore::DisplayRefreshMonitor::displayDidRefresh):
+ * platform/graphics/ca/LayerFlushScheduler.h:
+ * platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp:
+ (WebCore::LayerFlushScheduler::LayerFlushScheduler):
+
2017-12-04 David Quesada <[email protected]>
Add a class for parsing application manifests
Modified: trunk/Source/WebCore/inspector/agents/InspectorTimelineAgent.cpp (225508 => 225509)
--- trunk/Source/WebCore/inspector/agents/InspectorTimelineAgent.cpp 2017-12-05 01:11:52 UTC (rev 225508)
+++ trunk/Source/WebCore/inspector/agents/InspectorTimelineAgent.cpp 2017-12-05 01:13:27 UTC (rev 225509)
@@ -67,8 +67,6 @@
using namespace Inspector;
#if PLATFORM(COCOA)
-static const CFIndex frameStopRunLoopOrder = (CFIndex)RunLoopObserver::WellKnownRunLoopOrders::CoreAnimationCommit + 1;
-
static CFRunLoopRef currentRunLoop()
{
#if PLATFORM(IOS)
@@ -174,7 +172,7 @@
// FIXME: Abstract away platform-specific code once https://bugs.webkit.org/show_bug.cgi?id=142748 is fixed.
#if PLATFORM(COCOA)
- m_frameStartObserver = std::make_unique<RunLoopObserver>(0, [this]() {
+ m_frameStartObserver = std::make_unique<RunLoopObserver>(static_cast<CFIndex>(RunLoopObserver::WellKnownRunLoopOrders::InspectorFrameBegin), [this]() {
if (!m_enabled || m_environment.scriptDebugServer().isPaused())
return;
@@ -183,7 +181,7 @@
m_runLoopNestingLevel++;
});
- m_frameStopObserver = std::make_unique<RunLoopObserver>(frameStopRunLoopOrder, [this]() {
+ m_frameStopObserver = std::make_unique<RunLoopObserver>(static_cast<CFIndex>(RunLoopObserver::WellKnownRunLoopOrders::InspectorFrameEnd), [this]() {
if (!m_enabled || m_environment.scriptDebugServer().isPaused())
return;
Modified: trunk/Source/WebCore/platform/cf/RunLoopObserver.h (225508 => 225509)
--- trunk/Source/WebCore/platform/cf/RunLoopObserver.h 2017-12-05 01:11:52 UTC (rev 225508)
+++ trunk/Source/WebCore/platform/cf/RunLoopObserver.h 2017-12-05 01:13:27 UTC (rev 225509)
@@ -23,8 +23,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef RunLoopObserver_h
-#define RunLoopObserver_h
+#pragma once
#include <CoreFoundation/CoreFoundation.h>
#include <wtf/Function.h>
@@ -51,7 +50,11 @@
bool isScheduled() const { return m_runLoopObserver; }
enum class WellKnownRunLoopOrders : CFIndex {
- CoreAnimationCommit = 2000000
+ CoreAnimationCommit = 2000000,
+ LayerFlush = CoreAnimationCommit - 1,
+ ActivityStateChange = CoreAnimationCommit - 2,
+ InspectorFrameBegin = 0,
+ InspectorFrameEnd = CoreAnimationCommit + 1
};
protected:
@@ -67,4 +70,3 @@
} // namespace WebCore
-#endif // RunLoopObserver_h
Modified: trunk/Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp (225508 => 225509)
--- trunk/Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp 2017-12-05 01:11:52 UTC (rev 225508)
+++ trunk/Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp 2017-12-05 01:13:27 UTC (rev 225509)
@@ -116,7 +116,7 @@
{
LockHolder lock(m_mutex);
- m_previousFrameDone = true;
+ setIsPreviousFrameDone(true);
}
DisplayRefreshMonitorManager::sharedManager().displayDidRefresh(*this);
Modified: trunk/Source/WebCore/platform/graphics/ca/LayerFlushScheduler.h (225508 => 225509)
--- trunk/Source/WebCore/platform/graphics/ca/LayerFlushScheduler.h 2017-12-05 01:11:52 UTC (rev 225508)
+++ trunk/Source/WebCore/platform/graphics/ca/LayerFlushScheduler.h 2017-12-05 01:13:27 UTC (rev 225509)
@@ -23,8 +23,7 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef LayerFlushScheduler_h
-#define LayerFlushScheduler_h
+#pragma once
#include "LayerFlushSchedulerClient.h"
#include "RunLoopObserver.h"
@@ -61,4 +60,3 @@
} // namespace WebCore
-#endif // LayerFlushScheduler_h
Modified: trunk/Source/WebCore/platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp (225508 => 225509)
--- trunk/Source/WebCore/platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp 2017-12-05 01:11:52 UTC (rev 225508)
+++ trunk/Source/WebCore/platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp 2017-12-05 01:13:27 UTC (rev 225509)
@@ -36,8 +36,6 @@
namespace WebCore {
-static const CFIndex layerFlushRunLoopOrder = (CFIndex)RunLoopObserver::WellKnownRunLoopOrders::CoreAnimationCommit - 1;
-
static CFRunLoopRef currentRunLoop()
{
#if PLATFORM(IOS)
@@ -58,7 +56,7 @@
{
ASSERT_ARG(client, client);
- m_runLoopObserver = std::make_unique<RunLoopObserver>(layerFlushRunLoopOrder, [this]() {
+ m_runLoopObserver = std::make_unique<RunLoopObserver>(static_cast<CFIndex>(RunLoopObserver::WellKnownRunLoopOrders::LayerFlush), [this]() {
if (this->isSuspended())
return;
this->layerFlushCallback();
Modified: trunk/Source/WebKit/ChangeLog (225508 => 225509)
--- trunk/Source/WebKit/ChangeLog 2017-12-05 01:11:52 UTC (rev 225508)
+++ trunk/Source/WebKit/ChangeLog 2017-12-05 01:13:27 UTC (rev 225509)
@@ -1,3 +1,15 @@
+2017-12-04 Simon Fraser <[email protected]>
+
+ Minor DisplayRefreshMonitor-related cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=179802
+
+ Reviewed by Sam Weinig.
+
+ Use RunLoopObserver::WellKnownRunLoopOrders. We want to fire before layer flushing.
+
+ * UIProcess/WebPageProxy.cpp:
+ (WebKit::m_configurationPreferenceValues):
+
2017-12-04 Brent Fulgham <[email protected]>
Don't force creation of process pool when enabling resource load statistics
Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (225508 => 225509)
--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2017-12-05 01:11:52 UTC (rev 225508)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2017-12-05 01:13:27 UTC (rev 225509)
@@ -408,8 +408,7 @@
m_process->addMessageReceiver(Messages::WebPageProxy::messageReceiverName(), m_pageID, *this);
#if PLATFORM(COCOA)
- const CFIndex activityStateChangeRunLoopOrder = (CFIndex)RunLoopObserver::WellKnownRunLoopOrders::CoreAnimationCommit - 1;
- m_activityStateChangeDispatcher = std::make_unique<RunLoopObserver>(activityStateChangeRunLoopOrder, [this] {
+ m_activityStateChangeDispatcher = std::make_unique<RunLoopObserver>(static_cast<CFIndex>(RunLoopObserver::WellKnownRunLoopOrders::ActivityStateChange), [this] {
this->dispatchActivityStateChange();
});
#endif
Modified: trunk/Tools/ChangeLog (225508 => 225509)
--- trunk/Tools/ChangeLog 2017-12-05 01:11:52 UTC (rev 225508)
+++ trunk/Tools/ChangeLog 2017-12-05 01:13:27 UTC (rev 225509)
@@ -1,3 +1,14 @@
+2017-12-04 Simon Fraser <[email protected]>
+
+ Minor DisplayRefreshMonitor-related cleanup
+ https://bugs.webkit.org/show_bug.cgi?id=179802
+
+ Reviewed by Sam Weinig.
+
+ New trace point for when the CVDisplayLink fires on its own thread.
+
+ * Tracing/SystemTracePoints.plist:
+
2017-12-04 David Quesada <[email protected]>
Add a class for parsing application manifests
Modified: trunk/Tools/Tracing/SystemTracePoints.plist (225508 => 225509)
--- trunk/Tools/Tracing/SystemTracePoints.plist 2017-12-05 01:11:52 UTC (rev 225508)
+++ trunk/Tools/Tracing/SystemTracePoints.plist 2017-12-05 01:13:27 UTC (rev 225509)
@@ -196,6 +196,16 @@
</dict>
<dict>
<key>Name</key>
+ <string>Display Refresh Dispatch to main thread</string>
+ <key>Type</key>
+ <string>Impulse</string>
+ <key>Component</key>
+ <string>47</string>
+ <key>Code</key>
+ <string>5026</string>
+ </dict>
+ <dict>
+ <key>Name</key>
<string>Paint WebHTMLView</string>
<key>Type</key>
<string>Interval</string>