Title: [184657] trunk/Source/WebCore
Revision
184657
Author
[email protected]
Date
2015-05-20 14:08:24 -0700 (Wed, 20 May 2015)

Log Message

ThreadableLoaderOptions::isolatedCopy() doesn't produce a copy that is safe for sending to another thread
https://bugs.webkit.org/show_bug.cgi?id=145217

Reviewed by Anders Carlsson.

Caught by existing tests, rarely. I don't know how to catch such bugs more reliably.

* loader/ThreadableLoader.cpp: (WebCore::ThreadableLoaderOptions::isolatedCopy):
* loader/ThreadableLoader.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (184656 => 184657)


--- trunk/Source/WebCore/ChangeLog	2015-05-20 21:07:18 UTC (rev 184656)
+++ trunk/Source/WebCore/ChangeLog	2015-05-20 21:08:24 UTC (rev 184657)
@@ -1,3 +1,15 @@
+2015-05-20  Alexey Proskuryakov  <[email protected]>
+
+        ThreadableLoaderOptions::isolatedCopy() doesn't produce a copy that is safe for sending to another thread
+        https://bugs.webkit.org/show_bug.cgi?id=145217
+
+        Reviewed by Anders Carlsson.
+
+        Caught by existing tests, rarely. I don't know how to catch such bugs more reliably.
+
+        * loader/ThreadableLoader.cpp: (WebCore::ThreadableLoaderOptions::isolatedCopy):
+        * loader/ThreadableLoader.h:
+
 2015-05-20  Tim Horton  <[email protected]>
 
         Add a mechanism to opt-out of the automatic scaling applied to not-really-responsive sites

Modified: trunk/Source/WebCore/loader/ThreadableLoader.cpp (184656 => 184657)


--- trunk/Source/WebCore/loader/ThreadableLoader.cpp	2015-05-20 21:07:18 UTC (rev 184656)
+++ trunk/Source/WebCore/loader/ThreadableLoader.cpp	2015-05-20 21:08:24 UTC (rev 184657)
@@ -58,7 +58,7 @@
     copy->crossOriginRequestPolicy = crossOriginRequestPolicy;
     if (securityOrigin)
         copy->securityOrigin = securityOrigin->isolatedCopy();
-    copy->initiator = initiator.string().isolatedCopy();
+    copy->initiator = initiator.isolatedCopy();
     return copy;
 }
 

Modified: trunk/Source/WebCore/loader/ThreadableLoader.h (184656 => 184657)


--- trunk/Source/WebCore/loader/ThreadableLoader.h	2015-05-20 21:07:18 UTC (rev 184656)
+++ trunk/Source/WebCore/loader/ThreadableLoader.h	2015-05-20 21:08:24 UTC (rev 184657)
@@ -68,7 +68,7 @@
         PreflightPolicy preflightPolicy; // If AccessControl is used, how to determine if a preflight is needed.
         CrossOriginRequestPolicy crossOriginRequestPolicy;
         RefPtr<SecurityOrigin> securityOrigin;
-        AtomicString initiator;
+        String initiator; // This cannot be an AtomicString, as isolatedCopy() wouldn't create an object that's safe for passing to another thread.
     };
 
     // Useful for doing loader operations from any thread (not threadsafe, 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to