Title: [198157] trunk/Source/WebCore
- Revision
- 198157
- Author
- [email protected]
- Date
- 2016-03-14 14:32:38 -0700 (Mon, 14 Mar 2016)
Log Message
Fix crash when reloading a page using requestAnimationFrame on iOS
https://bugs.webkit.org/show_bug.cgi?id=155465
rdar://problem/25100202
Reviewed by Tim Horton.
On iOS, it's possible for all clients for a DisplayRefreshMonitor
to be unregistered, but still get a subsequent displayDidRefresh() for that monitor.
In this case, we would remove(notFound) which release-asserts.
Fix by just checking for notFound.
Unable to test because requestAnimationFrame doesn't work in the simulator.
* platform/graphics/DisplayRefreshMonitorManager.cpp:
(WebCore::DisplayRefreshMonitorManager::displayDidRefresh):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (198156 => 198157)
--- trunk/Source/WebCore/ChangeLog 2016-03-14 21:16:43 UTC (rev 198156)
+++ trunk/Source/WebCore/ChangeLog 2016-03-14 21:32:38 UTC (rev 198157)
@@ -1,3 +1,22 @@
+2016-03-14 Simon Fraser <[email protected]>
+
+ Fix crash when reloading a page using requestAnimationFrame on iOS
+ https://bugs.webkit.org/show_bug.cgi?id=155465
+ rdar://problem/25100202
+
+ Reviewed by Tim Horton.
+
+ On iOS, it's possible for all clients for a DisplayRefreshMonitor
+ to be unregistered, but still get a subsequent displayDidRefresh() for that monitor.
+ In this case, we would remove(notFound) which release-asserts.
+
+ Fix by just checking for notFound.
+
+ Unable to test because requestAnimationFrame doesn't work in the simulator.
+
+ * platform/graphics/DisplayRefreshMonitorManager.cpp:
+ (WebCore::DisplayRefreshMonitorManager::displayDidRefresh):
+
2016-03-14 Per Arne Vollan <[email protected]>
[WinCairo][MediaFoundation] Implement float versions of MediaPlayer methods.
Modified: trunk/Source/WebCore/platform/graphics/DisplayRefreshMonitorManager.cpp (198156 => 198157)
--- trunk/Source/WebCore/platform/graphics/DisplayRefreshMonitorManager.cpp 2016-03-14 21:16:43 UTC (rev 198156)
+++ trunk/Source/WebCore/platform/graphics/DisplayRefreshMonitorManager.cpp 2016-03-14 21:32:38 UTC (rev 198157)
@@ -109,8 +109,8 @@
return;
size_t monitorIndex = m_monitors.find(&monitor);
- ASSERT(monitorIndex != notFound);
- m_monitors.remove(monitorIndex);
+ if (monitorIndex != notFound)
+ m_monitors.remove(monitorIndex);
}
void DisplayRefreshMonitorManager::windowScreenDidChange(PlatformDisplayID displayID, DisplayRefreshMonitorClient& client)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes