[Win] Debug builds of TestWebKitAPI are crashing.
https://bugs.webkit.org/show_bug.cgi?id=133553
Reviewed by Dean Jackson.
../WebCore:
Avoid crash on shutdown due to invalid mutex state in the
HashMap debug implementation during a static destruction operation.
(WebCore::ignoreSet): Convert static value into a NeverDestroyed.
(WebCore::Node::trackForDebugging): Use new NeverDestroyed call.
(WebCore::Node::~Node): Ditto.
../WebKit/win:
Switch from global static HashTable to a NeverDestroyed object.
Modify all accessors of the global static to use the new
NeverDestroyed accessor method.
(AccessibleBase::AccessibleBase):
(AccessibleBase::~AccessibleBase):
- CFDictionaryPropertyBag.cpp:
(CFDictionaryPropertyBag::CFDictionaryPropertyBag):
(CFDictionaryPropertyBag::~CFDictionaryPropertyBag):
- DefaultDownloadDelegate.cpp:
(DefaultDownloadDelegate::DefaultDownloadDelegate):
(DefaultDownloadDelegate::~DefaultDownloadDelegate):
- DefaultPolicyDelegate.cpp:
(DefaultPolicyDelegate::DefaultPolicyDelegate):
(DefaultPolicyDelegate::~DefaultPolicyDelegate):
(MemoryStream::MemoryStream):
(MemoryStream::~MemoryStream):
- WebActionPropertyBag.cpp:
(WebActionPropertyBag::WebActionPropertyBag):
(WebActionPropertyBag::~WebActionPropertyBag):
(WebArchive::WebArchive):
(WebArchive::~WebArchive):
(WebBackForwardList::WebBackForwardList):
(WebBackForwardList::~WebBackForwardList):
(WebCache::WebCache):
(WebCache::~WebCache):
(WebCookieManager::WebCookieManager):
(WebCookieManager::~WebCookieManager):
(WebCoreStatistics::WebCoreStatistics):
(WebCoreStatistics::~WebCoreStatistics):
(WebDataSource::~WebDataSource):
(WebDatabaseManager::WebDatabaseManager):
(WebDatabaseManager::~WebDatabaseManager):
(WebDocumentLoader::WebDocumentLoader):
(WebDocumentLoader::~WebDocumentLoader):
(WebDownload::WebDownload):
(WebDownload::~WebDownload):
(WebDropSource::WebDropSource):
(WebDropSource::~WebDropSource):
- WebElementPropertyBag.cpp:
(WebElementPropertyBag::WebElementPropertyBag):
(WebElementPropertyBag::~WebElementPropertyBag):
(WebError::WebError):
(WebError::~WebError):
(WebFrame::WebFrame):
(WebFrame::~WebFrame):
- WebFramePolicyListener.cpp:
(WebFramePolicyListener::WebFramePolicyListener):
(WebFramePolicyListener::~WebFramePolicyListener):
- WebGeolocationPolicyListener.cpp:
(WebGeolocationPolicyListener::WebGeolocationPolicyListener):
(WebGeolocationPolicyListener::~WebGeolocationPolicyListener):
- WebGeolocationPosition.cpp:
(WebGeolocationPosition::WebGeolocationPosition):
(WebGeolocationPosition::~WebGeolocationPosition):
- WebHTMLRepresentation.cpp:
(WebHTMLRepresentation::WebHTMLRepresentation):
(WebHTMLRepresentation::~WebHTMLRepresentation):
(WebHistory::WebHistory):
(WebHistory::~WebHistory):
(WebHistoryItem::WebHistoryItem):
(WebHistoryItem::~WebHistoryItem):
(WebIconDatabase::WebIconDatabase):
(WebIconDatabase::~WebIconDatabase):
(WebInspector::WebInspector):
(WebInspector::~WebInspector):
- WebJavaScriptCollector.cpp:
(WebJavaScriptCollector::WebJavaScriptCollector):
(WebJavaScriptCollector::~WebJavaScriptCollector):
(WebKitClassFactory::WebKitClassFactory):
(WebKitClassFactory::~WebKitClassFactory):
- WebKitDLL.cpp: Also switch to NeverDestroyed HashTable for
the global class name count.
- WebKitDLL.h:
- WebKitStatistics.cpp:
(WebKitStatistics::WebKitStatistics):
(WebKitStatistics::~WebKitStatistics):
(WebKitStatistics::comClassNameCounts):
- WebMutableURLRequest.cpp:
(WebMutableURLRequest::WebMutableURLRequest):
(WebMutableURLRequest::~WebMutableURLRequest):
(WebNavigationData::WebNavigationData):
(WebNavigationData::~WebNavigationData):
(WebNotification::WebNotification):
(WebNotification::~WebNotification):
- WebNotificationCenter.cpp:
(WebNotificationCenter::WebNotificationCenter):
(WebNotificationCenter::~WebNotificationCenter):
(webPreferencesInstances):
(WebPreferences::WebPreferences):
(WebPreferences::~WebPreferences):
(WebPreferences::getInstanceForIdentifier):
(WebPreferences::setInstance):
(WebPreferences::removeReferenceForIdentifier):
(WebResource::WebResource):
(WebResource::~WebResource):
(WebScriptObject::WebScriptObject):
(WebScriptObject::~WebScriptObject):
(WebScriptWorld::WebScriptWorld):
(WebScriptWorld::~WebScriptWorld):
(WebSecurityOrigin::WebSecurityOrigin):
(WebSecurityOrigin::~WebSecurityOrigin):
- WebSerializedJSValue.cpp:
(WebSerializedJSValue::WebSerializedJSValue):
(WebSerializedJSValue::~WebSerializedJSValue):
(WebTextRenderer::WebTextRenderer):
(WebTextRenderer::~WebTextRenderer):
- WebURLAuthenticationChallenge.cpp:
(WebURLAuthenticationChallenge::WebURLAuthenticationChallenge):
(WebURLAuthenticationChallenge::~WebURLAuthenticationChallenge):
- WebURLAuthenticationChallengeSender.cpp:
(WebURLAuthenticationChallengeSender::WebURLAuthenticationChallengeSender):
(WebURLAuthenticationChallengeSender::~WebURLAuthenticationChallengeSender):
(WebURLCredential::WebURLCredential):
(WebURLCredential::~WebURLCredential):
- WebURLProtectionSpace.cpp:
(WebURLProtectionSpace::WebURLProtectionSpace):
(WebURLProtectionSpace::~WebURLProtectionSpace):
(:m_refCount):
(WebURLResponse::~WebURLResponse):
- WebUserContentURLPattern.cpp:
(WebUserContentURLPattern::WebUserContentURLPattern):
(WebUserContentURLPattern::~WebUserContentURLPattern):
(pendingDeleteBackingStoreSet): Switch from a global static
value to a NeverDestroyed object wrapped by an accessor function.
(WebView::WebView): Ditto.
(WebView::~WebView): Ditto.
(WebView::deleteBackingStore): Ditto.
(WebView::deleteBackingStoreSoon): Ditto,
(WebView::cancelDeleteBackingStoreSoon): Ditto.
- WebWorkersPrivate.cpp: Switch from a global static value for
the preferences objects t a NeverDestroyed container.
(WebWorkersPrivate::WebWorkersPrivate): Ditto.
(WebWorkersPrivate::~WebWorkersPrivate): Ditto.