Crash removing RemoteLayerTreeDisplayRefreshMonitor from the drawing area's map
authortimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Feb 2015 06:48:03 +0000 (06:48 +0000)
committertimothy_horton@apple.com <timothy_horton@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 13 Feb 2015 06:48:03 +0000 (06:48 +0000)
commit86689d4fbbe003d47838dea001b36154fa1273e8
tree7de42969abddf2ff844642caff3bf03f197fb43b
parent81d8444ca0a2a0a236a59cca52b505f258fb9cc3
Crash removing RemoteLayerTreeDisplayRefreshMonitor from the drawing area's map
https://bugs.webkit.org/show_bug.cgi?id=141545
<rdar://problem/17712200>

Reviewed by Simon Fraser.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::windowScreenDidChange):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
windowScreenDidChange should take uint32_t, since that's what PlatformDisplayID is.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
RemoteLayerTreeDisplayRefreshMonitor is driven by the page's
RemoteLayerTreeDrawingArea. Because of this, we cannot have the same
sharing of DisplayRefreshMonitors that other platforms use.
In order to ensure that we get a unique DisplayRefreshMonitor
per-DrawingArea, give each page a unique DisplayID derived
from WebPage's unique ID.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@180031 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit2/ChangeLog
Source/WebKit2/WebProcess/WebPage/WebPage.cpp
Source/WebKit2/WebProcess/WebPage/WebPage.h
Source/WebKit2/WebProcess/WebPage/WebPage.messages.in
Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm