Created attachment 67779 [details] Repro <script>createBlobURL()</script> Results fro latest Chromium: id: WebKit::WebCString::WebCString ReadAV@NULL (633fb021372abb6fa84401694bab542d) description: Attempt to read from NULL pointer (+0x50) in WebKit::WebCString::WebCString stack: WebKit::WebCString::WebCString WebKit::WebURL::WebURL WebCore::BlobRegistryProxy::registerBlobURL WebCore::ThreadableBlobRegistry::registerBlobURL WebCore::ScriptExecutionContext::createPublicBlobURL WebCore::DOMWindow::createBlobURL WebCore::DOMWindowInternal::createBlobURLCallback v8::internal::HandleApiCallHelper<...> v8::internal::Builtin_HandleApiCall v8::internal::Invoke v8::internal::Execution::Call v8::Function::Call WebCore::V8Proxy::callFunction WebCore::ScheduledAction::execute WebCore::ScheduledAction::execute WebCore::DOMTimer::fired WebCore::ThreadTimers::sharedTimerFiredInternal MessageLoop::RunTask MessageLoop::DeferOrRunPendingTask MessageLoop::DoDelayedWork base::MessagePumpDefault::Run MessageLoop::RunInternal MessageLoop::Run RendererMain ChromeMain MainDllLoader::Launch wWinMain __tmainCRTStartup BaseProcessStart
Created attachment 67922 [details] Proposed Patch
Comment on attachment 67922 [details] Proposed Patch View in context: https://bugs.webkit.org/attachment.cgi?id=67922&action=prettypatch > WebCore/dom/ScriptExecutionContext.cpp:266 > + return KURL(); Would be nice to make sure that JS object returned is undefined, not a valid empty string.
Created attachment 67926 [details] Proposed Patch Add attribute to convert null string to undefined. Also update the test to verify it.
Comment on attachment 67926 [details] Proposed Patch r+ with 2 nits View in context: https://bugs.webkit.org/attachment.cgi?id=67926&action=prettypatch > LayoutTests/fast/files/create-blob-url-crash.html:3 > +<body> I think by moving 'script' tag before the body and just setting the <body onload="test()"> it's possible to get rid of need to use notifyDone(). > LayoutTests/fast/files/create-blob-url-crash.html:23 > +if (window.eventSender) { you don't use eventSender, so the check could be just "if (window.layoutTestController) ..."
Committed as http://trac.webkit.org/changeset/67734.