WebKit Bugzilla
Attachment 342327 Details for
Bug 186397
: Only display refresh monitors having requested display refresh callback should get notified on screen updates.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-186397-20180608142236.patch (text/plain), 4.20 KB, created by
Per Arne Vollan
on 2018-06-08 14:22:37 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Per Arne Vollan
Created:
2018-06-08 14:22:37 PDT
Size:
4.20 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 232638) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,23 @@ >+2018-06-08 Per Arne Vollan <pvollan@apple.com> >+ >+ Only display refresh monitors having requested display refresh callback should get notified on screen updates. >+ https://bugs.webkit.org/show_bug.cgi?id=186397 >+ <rdar://problem/40897835> >+ >+ Reviewed by Brent Fulgham. >+ >+ Since all display refresh monitors in the WebContent process share a single UI process display link, >+ we should make sure that only the monitors having requested callback are getting notified on screen >+ updates. I have not been able to reproduce a case where a monitor is being notified without having >+ requested updates, but we should safeguard the code for future code changes. >+ >+ No new tests, since this is a safeguarding measure. >+ >+ * platform/graphics/DisplayRefreshMonitor.h: >+ (WebCore::DisplayRefreshMonitor::hasRequestedRefreshCallback const): >+ * platform/graphics/DisplayRefreshMonitorManager.cpp: >+ (WebCore::DisplayRefreshMonitorManager::displayWasUpdated): >+ > 2018-06-07 Ryosuke Niwa <rniwa@webkit.org> > > REGRESSION(macOS Mojave): move-by-word-visually-inline-block-positioned-element.html fails >Index: Source/WebCore/platform/graphics/DisplayRefreshMonitor.h >=================================================================== >--- Source/WebCore/platform/graphics/DisplayRefreshMonitor.h (revision 232638) >+++ Source/WebCore/platform/graphics/DisplayRefreshMonitor.h (working copy) >@@ -81,6 +81,8 @@ protected: > bool isPreviousFrameDone() const { return m_previousFrameDone; } > void setIsPreviousFrameDone(bool done) { m_previousFrameDone = done; } > >+ virtual bool hasRequestedRefreshCallback() const { return false; } >+ > private: > void displayDidRefresh(); > >Index: Source/WebCore/platform/graphics/DisplayRefreshMonitorManager.cpp >=================================================================== >--- Source/WebCore/platform/graphics/DisplayRefreshMonitorManager.cpp (revision 232638) >+++ Source/WebCore/platform/graphics/DisplayRefreshMonitorManager.cpp (working copy) >@@ -128,7 +128,7 @@ void DisplayRefreshMonitorManager::windo > void DisplayRefreshMonitorManager::displayWasUpdated() > { > for (auto monitor : m_monitors) { >- if (monitor->isActive()) >+ if (monitor->hasRequestedRefreshCallback()) > monitor->displayLinkFired(); > } > } >Index: Source/WebKit/ChangeLog >=================================================================== >--- Source/WebKit/ChangeLog (revision 232638) >+++ Source/WebKit/ChangeLog (working copy) >@@ -1,3 +1,18 @@ >+2018-06-08 Per Arne Vollan <pvollan@apple.com> >+ >+ Only display refresh monitors having requested display refresh callback should get notified on screen updates. >+ https://bugs.webkit.org/show_bug.cgi?id=186397 >+ <rdar://problem/40897835> >+ >+ Reviewed by Brent Fulgham. >+ >+ Since all display refresh monitors in the WebContent process share a single UI process display link, >+ we should make sure that only the monitors having requested callback are getting notified on screen >+ updates. I have not been able to reproduce a case where a monitor is being notified without having >+ requested updates, but we should safeguard the code for future code changes. >+ >+ * WebProcess/WebPage/mac/DrawingAreaMac.cpp: >+ > 2018-06-08 Brian Burg <bburg@apple.com> > > [Cocoa] Web Automation: include browser name and version in listing for automation targets >Index: Source/WebKit/WebProcess/WebPage/mac/DrawingAreaMac.cpp >=================================================================== >--- Source/WebKit/WebProcess/WebPage/mac/DrawingAreaMac.cpp (revision 232638) >+++ Source/WebKit/WebProcess/WebPage/mac/DrawingAreaMac.cpp (working copy) >@@ -55,6 +55,8 @@ public: > private: > explicit DisplayRefreshMonitorMac(PlatformDisplayID, WebPage&); > >+ bool hasRequestedRefreshCallback() const override { return m_hasSentMessage; } >+ > Ref<WebPage> m_webPage; > bool m_hasSentMessage { false }; > unsigned m_observerID;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 186397
:
342180
|
342300
| 342327