WebKit Bugzilla
Attachment 342180 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-20180607093457.patch (text/plain), 4.10 KB, created by
Per Arne Vollan
on 2018-06-07 09:34:57 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Per Arne Vollan
Created:
2018-06-07 09:34:57 PDT
Size:
4.10 KB
patch
obsolete
>Index: Source/WebCore/ChangeLog >=================================================================== >--- Source/WebCore/ChangeLog (revision 232581) >+++ Source/WebCore/ChangeLog (working copy) >@@ -1,3 +1,22 @@ >+2018-06-07 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 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ 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 Zalan Bujtas <zalan@apple.com> > > [LFC] Merge height and vertical margin computation >Index: Source/WebCore/platform/graphics/DisplayRefreshMonitor.h >=================================================================== >--- Source/WebCore/platform/graphics/DisplayRefreshMonitor.h (revision 232581) >+++ 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 232581) >+++ 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 232581) >+++ Source/WebKit/ChangeLog (working copy) >@@ -1,3 +1,17 @@ >+2018-06-07 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 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ 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-07 Dan Bernstein <mitz@apple.com> > > REGRESSION (r232520): Crash under IPC::ArgumentCoder<WebCore::Credential>::encodePlatformData >Index: Source/WebKit/WebProcess/WebPage/mac/DrawingAreaMac.cpp >=================================================================== >--- Source/WebKit/WebProcess/WebPage/mac/DrawingAreaMac.cpp (revision 232581) >+++ 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