Title: [149198] trunk/Source/WebKit2
- Revision
- 149198
- Author
- aes...@apple.com
- Date
- 2013-04-26 11:24:08 -0700 (Fri, 26 Apr 2013)
Log Message
[WebKit2] CustomProtocolManager's m_registeredSchemes HashSet can be accessed by multiple threads
https://bugs.webkit.org/show_bug.cgi?id=115267
Reviewed by Alexey Proskuryakov.
* Shared/Network/CustomProtocols/CustomProtocolManager.h: Added a Mutex to protect m_registeredSchemes.
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
(WebKit::CustomProtocolManager::registerScheme): Acquired the mutex before accessing m_registeredSchemes.
(WebKit::CustomProtocolManager::unregisterScheme): Ditto.
(WebKit::CustomProtocolManager::supportsScheme): Ditto.
Modified Paths
Diff
Modified: trunk/Source/WebKit2/ChangeLog (149197 => 149198)
--- trunk/Source/WebKit2/ChangeLog 2013-04-26 18:10:38 UTC (rev 149197)
+++ trunk/Source/WebKit2/ChangeLog 2013-04-26 18:24:08 UTC (rev 149198)
@@ -1,3 +1,16 @@
+2013-04-26 Andy Estes <aes...@apple.com>
+
+ [WebKit2] CustomProtocolManager's m_registeredSchemes HashSet can be accessed by multiple threads
+ https://bugs.webkit.org/show_bug.cgi?id=115267
+
+ Reviewed by Alexey Proskuryakov.
+
+ * Shared/Network/CustomProtocols/CustomProtocolManager.h: Added a Mutex to protect m_registeredSchemes.
+ * Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
+ (WebKit::CustomProtocolManager::registerScheme): Acquired the mutex before accessing m_registeredSchemes.
+ (WebKit::CustomProtocolManager::unregisterScheme): Ditto.
+ (WebKit::CustomProtocolManager::supportsScheme): Ditto.
+
2013-04-26 Alexey Proskuryakov <a...@apple.com>
Blobs are not associated with connection when there are no sandbox extensions
Modified: trunk/Source/WebKit2/Shared/Network/CustomProtocols/CustomProtocolManager.h (149197 => 149198)
--- trunk/Source/WebKit2/Shared/Network/CustomProtocols/CustomProtocolManager.h 2013-04-26 18:10:38 UTC (rev 149197)
+++ trunk/Source/WebKit2/Shared/Network/CustomProtocols/CustomProtocolManager.h 2013-04-26 18:24:08 UTC (rev 149198)
@@ -96,6 +96,7 @@
void didFinishLoading(uint64_t customProtocolID);
HashSet<String> m_registeredSchemes;
+ Mutex m_registeredSchemesMutex;
ChildProcess* m_childProcess;
RefPtr<WorkQueue> m_messageQueue;
Modified: trunk/Source/WebKit2/Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm (149197 => 149198)
--- trunk/Source/WebKit2/Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm 2013-04-26 18:10:38 UTC (rev 149197)
+++ trunk/Source/WebKit2/Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm 2013-04-26 18:24:08 UTC (rev 149198)
@@ -170,16 +170,19 @@
void CustomProtocolManager::registerScheme(const String& scheme)
{
+ MutexLocker locker(m_registeredSchemesMutex);
m_registeredSchemes.add(scheme);
}
void CustomProtocolManager::unregisterScheme(const String& scheme)
{
+ MutexLocker locker(m_registeredSchemesMutex);
m_registeredSchemes.remove(scheme);
}
bool CustomProtocolManager::supportsScheme(const String& scheme)
{
+ MutexLocker locker(m_registeredSchemesMutex);
return m_registeredSchemes.contains(scheme);
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes