[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