WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
ROLLOUT of r120384
bug-89156-20120615023011.patch (text/plain), 13.66 KB, created by
WebKit Review Bot
on 2012-06-14 19:25:25 PDT
(
hide
)
Description:
ROLLOUT of r120384
Filename:
MIME Type:
Creator:
WebKit Review Bot
Created:
2012-06-14 19:25:25 PDT
Size:
13.66 KB
patch
obsolete
>Subversion Revision: 120389 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index a4624b6e67c9f21033ccb15f279dd84ccf16dd1c..096bb46b35e896e6f5fa37bdc28c78394710f0af 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,34 @@ >+2012-06-14 Sheriff Bot <webkit.review.bot@gmail.com> >+ >+ Unreviewed, rolling out r120384. >+ http://trac.webkit.org/changeset/120384 >+ https://bugs.webkit.org/show_bug.cgi?id=89156 >+ >+ breaks http://test- >+ results.appspot.com/dashboards/flakiness_dashboard.html#tests=http%2Ftests%2Ffileapi >+ %2Fcreate-blob-url-from-data-url.html (Requested by morrita on >+ #webkit). >+ >+ * fileapi/Blob.cpp: >+ (WebCore::Blob::Blob): >+ * fileapi/BlobURL.cpp: >+ (WebCore::BlobURL::createBlobURL): >+ * fileapi/BlobURL.h: >+ (BlobURL): >+ * fileapi/FileReaderLoader.cpp: >+ (WebCore::FileReaderLoader::start): >+ * fileapi/ThreadableBlobRegistry.cpp: >+ (WebCore): >+ (WebCore::ThreadableBlobRegistry::registerBlobURL): >+ (WebCore::ThreadableBlobRegistry::unregisterBlobURL): >+ * fileapi/ThreadableBlobRegistry.h: >+ (WebCore): >+ (ThreadableBlobRegistry): >+ * html/DOMURL.cpp: >+ (WebCore::DOMURL::createObjectURL): >+ * page/SecurityOrigin.cpp: >+ (WebCore::SecurityOrigin::create): >+ > 2012-06-14 Kent Tamura <tkent@chromium.org> > > [JSC/V8] "DOMString[]" for function return values should not be null >diff --git a/Source/WebCore/fileapi/Blob.cpp b/Source/WebCore/fileapi/Blob.cpp >index d1dcb51ab0156ce8fa890df370c57f0352c4403c..5c27e3b5bdf9ee49c7941e7ccffbafdca5f1e1c6 100644 >--- a/Source/WebCore/fileapi/Blob.cpp >+++ b/Source/WebCore/fileapi/Blob.cpp >@@ -77,7 +77,7 @@ Blob::Blob(const KURL& srcURL, const String& type, long long size) > { > // Create a new internal URL and register it with the same blob data as the source URL. > m_internalURL = BlobURL::createInternalURL(); >- ThreadableBlobRegistry::registerBlobURL(0, m_internalURL, srcURL); >+ ThreadableBlobRegistry::registerBlobURL(m_internalURL, srcURL); > } > > Blob::~Blob() >diff --git a/Source/WebCore/fileapi/BlobURL.cpp b/Source/WebCore/fileapi/BlobURL.cpp >index f7478534c775a8a94c758dfe3e85e0d7ed19850f..5d79141a5454e2b20de1510ac85f58b29b947d6c 100644 >--- a/Source/WebCore/fileapi/BlobURL.cpp >+++ b/Source/WebCore/fileapi/BlobURL.cpp >@@ -52,15 +52,6 @@ KURL BlobURL::createInternalURL() > return createBlobURL("blobinternal://"); > } > >-String BlobURL::getOrigin(const KURL& url) >-{ >- ASSERT(url.protocolIs(kBlobProtocol)); >- >- unsigned startIndex = url.pathStart(); >- unsigned endIndex = url.pathAfterLastSlash(); >- return url.string().substring(startIndex, endIndex - startIndex - 1); >-} >- > String BlobURL::getIdentifier(const KURL& url) > { > ASSERT(url.protocolIs(kBlobProtocol)); >@@ -72,6 +63,8 @@ String BlobURL::getIdentifier(const KURL& url) > KURL BlobURL::createBlobURL(const String& originString) > { > ASSERT(!originString.isEmpty()); >+ if (originString == "null") >+ return KURL(); > String urlString = kBlobProtocol; > urlString += ":"; > urlString += encodeWithURLEscapeSequences(originString); >diff --git a/Source/WebCore/fileapi/BlobURL.h b/Source/WebCore/fileapi/BlobURL.h >index 2caec2957f6b9fbaa416ccf2e7a51d2bf5aff9f0..4ea59fefe0f3a1e8eac78da2931faa1063f1ad4f 100644 >--- a/Source/WebCore/fileapi/BlobURL.h >+++ b/Source/WebCore/fileapi/BlobURL.h >@@ -50,7 +50,6 @@ class BlobURL { > public: > static KURL createPublicURL(SecurityOrigin*); > static KURL createInternalURL(); >- static String getOrigin(const KURL&); > static String getIdentifier(const KURL&); > static const char* blobProtocol() { return kBlobProtocol; } > >diff --git a/Source/WebCore/fileapi/FileReaderLoader.cpp b/Source/WebCore/fileapi/FileReaderLoader.cpp >index eec8ff6a80b0cdcbcaa591abb48d27e2dd8dd699..e55149a31d610311f1aaca8216569dd0404be777 100644 >--- a/Source/WebCore/fileapi/FileReaderLoader.cpp >+++ b/Source/WebCore/fileapi/FileReaderLoader.cpp >@@ -80,7 +80,7 @@ void FileReaderLoader::start(ScriptExecutionContext* scriptExecutionContext, Blo > failed(FileError::SECURITY_ERR); > return; > } >- ThreadableBlobRegistry::registerBlobURL(scriptExecutionContext->securityOrigin(), m_urlForReading, blob->url()); >+ ThreadableBlobRegistry::registerBlobURL(m_urlForReading, blob->url()); > > // Construct and load the request. > ResourceRequest request(m_urlForReading); >diff --git a/Source/WebCore/fileapi/ThreadableBlobRegistry.cpp b/Source/WebCore/fileapi/ThreadableBlobRegistry.cpp >index a55db6d5e47810e808f8e4d19a849803483a3e0c..2ec421bac89a500e0ec6817e10d342fa997d70a0 100644 >--- a/Source/WebCore/fileapi/ThreadableBlobRegistry.cpp >+++ b/Source/WebCore/fileapi/ThreadableBlobRegistry.cpp >@@ -34,15 +34,7 @@ > > #include "BlobData.h" > #include "BlobRegistry.h" >-#include "BlobURL.h" >-#include "SecurityOrigin.h" >-#include <wtf/HashMap.h> > #include <wtf/MainThread.h> >-#include <wtf/RefPtr.h> >-#include <wtf/ThreadSpecific.h> >-#include <wtf/text/StringHash.h> >- >-using WTF::ThreadSpecific; > > namespace WebCore { > >@@ -72,13 +64,6 @@ struct BlobRegistryContext { > > #if ENABLE(BLOB) > >-typedef HashMap<String, RefPtr<SecurityOrigin> > BlobUrlOriginMap; >-static ThreadSpecific<BlobUrlOriginMap>& originMap() >-{ >- AtomicallyInitializedStatic(ThreadSpecific<BlobUrlOriginMap>*, map = new ThreadSpecific<BlobUrlOriginMap>); >- return *map; >-} >- > static void registerBlobURLTask(void* context) > { > OwnPtr<BlobRegistryContext> blobRegistryContext = adoptPtr(static_cast<BlobRegistryContext*>(context)); >@@ -101,12 +86,8 @@ static void registerBlobURLFromTask(void* context) > blobRegistry().registerBlobURL(blobRegistryContext->url, blobRegistryContext->srcURL); > } > >-void ThreadableBlobRegistry::registerBlobURL(SecurityOrigin* origin, const KURL& url, const KURL& srcURL) >+void ThreadableBlobRegistry::registerBlobURL(const KURL& url, const KURL& srcURL) > { >- // If the blob URL contains null origin, as in the context with unique security origin or file URL, save the mapping between url and origin so that the origin can be retrived when doing security origin check. >- if (origin && BlobURL::getOrigin(url) == "null") >- originMap()->add(url.string(), origin); >- > if (isMainThread()) > blobRegistry().registerBlobURL(url, srcURL); > else { >@@ -123,41 +104,27 @@ static void unregisterBlobURLTask(void* context) > > void ThreadableBlobRegistry::unregisterBlobURL(const KURL& url) > { >- if (BlobURL::getOrigin(url) == "null") >- originMap()->remove(url.string()); >- >- if (isMainThread()) { >+ if (isMainThread()) > blobRegistry().unregisterBlobURL(url); >- } else { >+ else { > OwnPtr<BlobRegistryContext> context = adoptPtr(new BlobRegistryContext(url)); > callOnMainThread(&unregisterBlobURLTask, context.leakPtr()); > } > } > >-PassRefPtr<SecurityOrigin> ThreadableBlobRegistry::cachedOrigin(const KURL& url) >-{ >- return originMap()->get(url.string()); >-} >- > #else > > void ThreadableBlobRegistry::registerBlobURL(const KURL&, PassOwnPtr<BlobData>) > { > } > >-void ThreadableBlobRegistry::registerBlobURL(SecurityOrigin*, const KURL&, const KURL&) >+void ThreadableBlobRegistry::registerBlobURL(const KURL&, const KURL&) > { > } > > void ThreadableBlobRegistry::unregisterBlobURL(const KURL&) > { > } >- >-PassRefPtr<SecurityOrigin> ThreadableBlobRegistry::cachedOrigin(const KURL& url) >-{ >- return 0; >-} >- > #endif // ENABL(BLOB) > > } // namespace WebCore >diff --git a/Source/WebCore/fileapi/ThreadableBlobRegistry.h b/Source/WebCore/fileapi/ThreadableBlobRegistry.h >index a9ca98d22e569ca302dbe1469c0515010587e7cd..fe7df7f4fa4135d8531bfcb589f91ad56dd6aadc 100644 >--- a/Source/WebCore/fileapi/ThreadableBlobRegistry.h >+++ b/Source/WebCore/fileapi/ThreadableBlobRegistry.h >@@ -32,23 +32,17 @@ > #define ThreadableBlobRegistry_h > > #include <wtf/PassOwnPtr.h> >-#include <wtf/PassRefPtr.h> > > namespace WebCore { > > class BlobData; > class KURL; >-class SecurityOrigin; > > class ThreadableBlobRegistry { > public: > static void registerBlobURL(const KURL&, PassOwnPtr<BlobData>); >- static void registerBlobURL(SecurityOrigin*, const KURL&, const KURL& srcURL); >+ static void registerBlobURL(const KURL&, const KURL& srcURL); > static void unregisterBlobURL(const KURL&); >- >- // Returns the origin for the given blob URL. This is because we are not able to embed the unique security origin or the origin of file URL >- // in the blob URL. >- static PassRefPtr<SecurityOrigin> cachedOrigin(const KURL&); > }; > > } // namespace WebCore >diff --git a/Source/WebCore/html/DOMURL.cpp b/Source/WebCore/html/DOMURL.cpp >index 4f9780dcd6b33476398bb4c68b498e5cb0991997..37c6520e631b114bcaf20627af36d633fb7e8d12 100644 >--- a/Source/WebCore/html/DOMURL.cpp >+++ b/Source/WebCore/html/DOMURL.cpp >@@ -78,7 +78,7 @@ String DOMURL::createObjectURL(ScriptExecutionContext* scriptExecutionContext, B > if (publicURL.isEmpty()) > return String(); > >- ThreadableBlobRegistry::registerBlobURL(scriptExecutionContext->securityOrigin(), publicURL, blob->url()); >+ ThreadableBlobRegistry::registerBlobURL(publicURL, blob->url()); > scriptExecutionContext->publicURLManager().blobURLs().add(publicURL.string()); > > return publicURL.string(); >diff --git a/Source/WebCore/page/SecurityOrigin.cpp b/Source/WebCore/page/SecurityOrigin.cpp >index 7a806615d55f6ebb4b2ded805f57f5c196d510f2..25bae02849a1bba18578bfb0223ac2d443e2f4a9 100644 >--- a/Source/WebCore/page/SecurityOrigin.cpp >+++ b/Source/WebCore/page/SecurityOrigin.cpp >@@ -35,7 +35,6 @@ > #include "KURL.h" > #include "SchemeRegistry.h" > #include "SecurityPolicy.h" >-#include "ThreadableBlobRegistry.h" > #include <wtf/MainThread.h> > #include <wtf/StdLibExtras.h> > #include <wtf/text/StringBuilder.h> >@@ -90,15 +89,6 @@ static KURL extractInnerURL(const KURL& url) > return KURL(ParsedURLString, decodeURLEscapeSequences(url.path())); > } > >-static PassRefPtr<SecurityOrigin> getCachedOrigin(const KURL& url) >-{ >-#if ENABLE(BLOB) >- if (url.protocolIs("blob")) >- return ThreadableBlobRegistry::cachedOrigin(url); >-#endif >- return 0; >-} >- > static bool shouldTreatAsUniqueOrigin(const KURL& url) > { > if (!url.isValid()) >@@ -181,10 +171,6 @@ SecurityOrigin::SecurityOrigin(const SecurityOrigin* other) > > PassRefPtr<SecurityOrigin> SecurityOrigin::create(const KURL& url) > { >- RefPtr<SecurityOrigin> cachedOrigin = getCachedOrigin(url); >- if (cachedOrigin.get()) >- return cachedOrigin; >- > if (shouldTreatAsUniqueOrigin(url)) { > RefPtr<SecurityOrigin> origin = adoptRef(new SecurityOrigin()); > >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index 8a8b80c0df5f761b8b5bfb5186900da8bed85aeb..c64d9b11df60383f9d4a715cca0372c4fda3e845 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,18 @@ >+2012-06-14 Sheriff Bot <webkit.review.bot@gmail.com> >+ >+ Unreviewed, rolling out r120384. >+ http://trac.webkit.org/changeset/120384 >+ https://bugs.webkit.org/show_bug.cgi?id=89156 >+ >+ breaks http://test- >+ results.appspot.com/dashboards/flakiness_dashboard.html#tests=http%2Ftests%2Ffileapi >+ %2Fcreate-blob-url-from-data-url.html (Requested by morrita on >+ #webkit). >+ >+ * fast/files/file-reader-file-url-expected.txt: Removed. >+ * fast/files/file-reader-file-url.html: Removed. >+ * fast/files/resources/file-reader-file-url-iframe.html: Removed. >+ > 2012-06-14 Dale Curtis <dalecurtis@chromium.org> > > Disable click/dbl-click on MediaDocument for Chromium. Fix layout test for all platforms. >diff --git a/LayoutTests/fast/files/file-reader-file-url-expected.txt b/LayoutTests/fast/files/file-reader-file-url-expected.txt >deleted file mode 100644 >index 516fb3c1d27d5f14549ecc856937ab445df870cf..0000000000000000000000000000000000000000 >--- a/LayoutTests/fast/files/file-reader-file-url-expected.txt >+++ /dev/null >@@ -1,3 +0,0 @@ >-CONSOLE MESSAGE: line 9: Received data: 0123456789 >- >-Test that FileReader works under the file URL with file path separation enforced. >diff --git a/LayoutTests/fast/files/file-reader-file-url.html b/LayoutTests/fast/files/file-reader-file-url.html >deleted file mode 100644 >index 666058c0ef3c743007936017c8e511c1f6c6b972..0000000000000000000000000000000000000000 >--- a/LayoutTests/fast/files/file-reader-file-url.html >+++ /dev/null >@@ -1,17 +0,0 @@ >-<html> >-<head> >-<script> >-if (window.layoutTestController) { >- layoutTestController.setAllowUniversalAccessFromFileURLs(false); >- layoutTestController.setAllowFileAccessFromFileURLs(false); >- layoutTestController.dumpAsText(); >- layoutTestController.waitUntilDone(); >-} >-</script> >-</head> >-<body> >-<iframe src="resources/file-reader-file-url-iframe.html"></iframe> >-<div id="results"></div> >-Test that FileReader works under the file URL with file path separation enforced. >-</body> >-</html> >diff --git a/LayoutTests/fast/files/resources/file-reader-file-url-iframe.html b/LayoutTests/fast/files/resources/file-reader-file-url-iframe.html >deleted file mode 100644 >index 51fcc69c3359de6aee786d084ecc6f63e9e80575..0000000000000000000000000000000000000000 >--- a/LayoutTests/fast/files/resources/file-reader-file-url-iframe.html >+++ /dev/null >@@ -1,25 +0,0 @@ >-<html> >-<head> >-<script> >-function runTest() >-{ >- var blob = new Blob(["0123456789"]); >- var reader = new FileReader(); >- reader.onload = function(event) { >- console.log("Received data: " + event.target.result); >- } >- reader.onloadend = function() { >- if (window.layoutTestController) >- layoutTestController.notifyDone(); >- } >- reader.onerror = function(event) { >- console.log("Received error event: " + event.target.error.code); >- }; >- reader.readAsText(blob); >-} >- >-</script> >-</head> >-<body onload="runTest()"> >-</body> >-</html>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 89156
: 147710