[Webkit-unassigned] [Bug 56328] New: LayoutTests/fast/filesystem/resolve-uri.html fails in Chromium, passes in DRT
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Mar 14 13:38:25 PDT 2011
https://bugs.webkit.org/show_bug.cgi?id=56328
Summary: LayoutTests/fast/filesystem/resolve-uri.html fails in
Chromium, passes in DRT
Product: WebKit
Version: 528+ (Nightly build)
Platform: All
OS/Version: All
Status: UNCONFIRMED
Severity: Normal
Priority: P2
Component: WebCore Misc.
AssignedTo: webkit-unassigned at lists.webkit.org
ReportedBy: adamk at chromium.org
CC: ericu at chromium.org
Reported by ericu.
Test output in Chromium:
--------------------------------
Tests using resolveLocalFileSystemURI to obtain an Entry from a URI
On success, you will see a series of "PASS" messages, followed by
"TEST COMPLETE".
* Resolving a generated URI.
PASS expectedPath is actualPath
PASS isFile is true
* Resolving test file by hand
PASS expectedPath is actualPath
PASS isFile is true
* Resolving a completely bogus URI.
PASS
* Resolving a URI with the wrong protocol
PASS
* Resolving a URI with no slash between type and file
PASS
* Resolving a URI with no slash between protocol and type
PASS
* Resolve a path using backslashes
PASS expectedPath is actualPath
PASS isFile is true
* Resolve a directory
PASS expectedPath is actualPath
PASS isDirectory is true
* Resolve a path using a trailing slash
Error occurred: 2
FAIL Bailing out early
PASS successfullyParsed is true
TEST COMPLETE
---------------------------------------
Here's the failing call stack. canRequest is returning false because
targetOrigin->isUnique() returns true. It's trying to prevent file
URLs from mixing with other urls, I think. I'm guessing we need a
special case here, as with the Blob protocol, but I don't know what
the minimal hole to open is.
chrome.dll!WebCore::SecurityOrigin::canRequest(const WebCore::KURL & url={...}) Line 262 C++
chrome.dll!WebCore::DOMWindow::resolveLocalFileSystemURI(const
WTF::String & uri={...}, WTF::PassRefPtr<WebCore::EntryCallback>
successCallback={...}, WTF::PassRefPtr<WebCore::ErrorCallback>
errorCallback={...}) Line 766 + 0x27 bytes C++
chrome.dll!WebCore::DOMWindowInternal::resolveLocalFileSystemURICallback(const
v8::Arguments & args={...}) Line 3046 + 0x30 bytes C++
chrome.dll!v8::internal::HandleApiCallHelper<0>(v8::internal::`anonymous-namespace'::BuiltinArguments<1>
args={...}) Line 1069 + 0x13 bytes C++
chrome.dll!v8::internal::Builtin_Impl_HandleApiCall(v8::internal::`anonymous-namespace'::BuiltinArguments<1>
args={...}) Line 1086 + 0xd bytes C++
chrome.dll!v8::internal::Builtin_HandleApiCall(v8::internal::`anonymous-namespace'::BuiltinArguments<1>
args={...}) Line 1085 + 0x18 bytes C++
0ff702ae()
chrome.dll!v8::internal::Invoke(bool construct=false,
v8::internal::Handle<v8::internal::JSFunction> func={...},
v8::internal::Handle<v8::internal::Object> receiver={...}, int argc=1,
v8::internal::Object * * * args=0x001ae734, bool *
has_pending_exception=0x001ae61b) Line 97 + 0x19 bytes C++
chrome.dll!v8::internal::Execution::Call(v8::internal::Handle<v8::internal::JSFunction>
func={...}, v8::internal::Handle<v8::internal::Object> receiver={...},
int argc=1, v8::internal::Object * * * args=0x001ae734, bool *
pending_exception=0x001ae61b) Line 128 + 0x1f bytes C++
chrome.dll!v8::Function::Call(v8::Handle<v8::Object> recv={...}, int
argc=1, v8::Handle<v8::Value> * argv=0x001ae734) Line 2928 + 0x1d
bytes C++
chrome.dll!WebCore::invokeCallback(v8::Persistent<v8::Object>
callback={...}, int argc=1, v8::Handle<v8::Value> * argv=0x001ae734,
bool & callbackReturnValue=false, WebCore::ScriptExecutionContext *
scriptExecutionContext=0x015b7038) Line 86 + 0x1f bytes C++
chrome.dll!WebCore::V8EntryCallback::handleEvent(WebCore::Entry *
entry=0x026a1460) Line 76 + 0x22 bytes C++
chrome.dll!WebCore::EntryCallbacks::didSucceed() Line 132 + 0x47 bytes C++
chrome.dll!WebKit::WebFileSystemCallbacksImpl::didSucceed() Line 65
+ 0x1c bytes C++
chrome.dll!WebFileSystemCallbackDispatcher::DidSucceed() Line 32 +
0x16 bytes C++
chrome.dll!FileSystemDispatcher::OnDidSucceed(int request_id=182)
Line 233 + 0xf bytes C++
chrome.dll!DispatchToMethod<FileSystemDispatcher,void (__thiscall
FileSystemDispatcher::*)(int),int>(FileSystemDispatcher *
obj=0x015135a0, void (int)* method=0x5d2cf0a0, const Tuple1<int> &
arg={...}) Line 551 + 0xe bytes C++
chrome.dll!IPC::MessageWithTuple<Tuple1<int>
>::Dispatch<FileSystemDispatcher,FileSystemDispatcher,void (__thiscall
FileSystemDispatcher::*)(int)>(const IPC::Message * msg=0x014f5da8,
FileSystemDispatcher * obj=0x015135a0, FileSystemDispatcher *
sender=0x015135a0, void (int)* func=0x5d2cf0a0) Line 945 + 0x11
bytes C++
chrome.dll!FileSystemDispatcher::OnMessageReceived(const
IPC::Message & msg={...}) Line 30 + 0x16 bytes C++
chrome.dll!ChildThread::OnMessageReceived(const IPC::Message &
msg={...}) Line 147 + 0x2d bytes C++
chrome.dll!IPC::ChannelProxy::Context::OnDispatchMessage(const
IPC::Message & message={...}) Line 255 + 0x19 bytes C++
chrome.dll!DispatchToMethod<IPC::ChannelProxy::Context,void
(__thiscall IPC::ChannelProxy::Context::*)(IPC::Message const
&),IPC::Message>(IPC::ChannelProxy::Context * obj=0x015341e0, void
(const IPC::Message &)* method=0x5d294820, const Tuple1<IPC::Message>
& arg={...}) Line 551 + 0xf bytes C++
chrome.dll!RunnableMethod<IPC::ChannelProxy::Context,void
(__thiscall IPC::ChannelProxy::Context::*)(IPC::Message const
&),Tuple1<IPC::Message> >::Run() Line 331 + 0x1e bytes C++
chrome.dll!MessageLoop::RunTask(Task * task=0x014f5d80) Line 367 +
0xf bytes C++
chrome.dll!MessageLoop::DeferOrRunPendingTask(const
MessageLoop::PendingTask & pending_task={...}) Line 379 C++
chrome.dll!MessageLoop::DoWork() Line 569 + 0xc bytes C++
chrome.dll!base::MessagePumpDefault::Run(base::MessagePump::Delegate
* delegate=0x001af0bc) Line 23 + 0xf bytes C++
chrome.dll!MessageLoop::RunInternal() Line 342 + 0x2a bytes C++
chrome.dll!MessageLoop::RunHandler() Line 316 C++
chrome.dll!MessageLoop::Run() Line 240 C++
chrome.dll!RendererMain(const MainFunctionParams & parameters={...})
Line 315 C++
chrome.dll!`anonymous namespace'::RunNamedProcessTypeMain(const
std::basic_string<char,std::char_traits<char>,std::allocator<char> > &
process_type="renderer", const MainFunctionParams &
main_function_params={...}) Line 453 + 0x12 bytes C++
chrome.dll!ChromeMain(HINSTANCE__ * instance=0x009b0000,
sandbox::SandboxInterfaceInfo * sandbox_info=0x001afa10, wchar_t *
command_line_unused=0x0051345a) Line 766 + 0x13 bytes C++
chrome.exe!MainDllLoader::Launch(HINSTANCE__ * instance=0x009b0000,
sandbox::SandboxInterfaceInfo * sbox_info=0x001afa10) Line 280 + 0x1d
bytes C++
chrome.exe!wWinMain(HINSTANCE__ * instance=0x009b0000, HINSTANCE__ *
__formal=0x00000000, HINSTANCE__ * __formal=0x00000000, HINSTANCE__ *
__formal=0x00000000) Line 46 + 0x10 bytes C++
chrome.exe!__tmainCRTStartup() Line 263 + 0x2c bytes C
chrome.exe!wWinMainCRTStartup() Line 182 C
kernel32.dll!75d9e4a5()
[Frames below may be incorrect and/or missing, no symbols loaded for
kernel32.dll]
ntdll.dll!777acfed()
ntdll.dll!777ad1ff()
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list