| Index: Source/web/WebViewImpl.cpp | 
| diff --git a/Source/web/WebViewImpl.cpp b/Source/web/WebViewImpl.cpp | 
| index 8a2abf74f1cd0fa7e36178bafbd67ddbc50ed2bb..2518a458d541cbe69a138dc1729310ca89dbfa7f 100644 | 
| --- a/Source/web/WebViewImpl.cpp | 
| +++ b/Source/web/WebViewImpl.cpp | 
| @@ -378,6 +378,13 @@ void WebViewImpl::setSpellCheckClient(WebSpellCheckClient* spellCheckClient) | 
| m_spellCheckClient = spellCheckClient; | 
| } | 
|  | 
| +// static | 
| +HashSet<WebViewImpl*>& WebViewImpl::allInstances() | 
| +{ | 
| +    DEFINE_STATIC_LOCAL(HashSet<WebViewImpl*>, allInstances, ()); | 
| +    return allInstances; | 
| +} | 
| + | 
| WebViewImpl::WebViewImpl(WebViewClient* client) | 
| : m_client(client) | 
| , m_spellCheckClient(0) | 
| @@ -462,6 +469,8 @@ WebViewImpl::WebViewImpl(WebViewClient* client) | 
| initializeLayerTreeView(); | 
|  | 
| m_devToolsEmulator = adoptPtr(new DevToolsEmulator(this)); | 
| + | 
| +    allInstances().add(this); | 
| } | 
|  | 
| WebViewImpl::~WebViewImpl() | 
| @@ -1685,6 +1694,10 @@ void WebViewImpl::close() | 
| if (m_devToolsAgent) | 
| m_devToolsAgent->willBeDestroyed(); | 
|  | 
| +    WebDevToolsAgentImpl::webViewImplClosed(this); | 
| +    ASSERT(allInstances().contains(this)); | 
| +    allInstances().remove(this); | 
| + | 
| if (m_page) { | 
| // Initiate shutdown for the entire frameset.  This will cause a lot of | 
| // notifications to be sent. | 
|  |