Bug 178751 - Merge NetworkProcess::EnsurePrivateBrowsingSession and NetworkProcess::AddWebsiteDataStore into one message type
Summary: Merge NetworkProcess::EnsurePrivateBrowsingSession and NetworkProcess::AddWeb...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Alex Christensen
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2017-10-24 14:25 PDT by Alex Christensen
Modified: 2017-11-30 21:32 PST (History)
9 users (show)

See Also:


Attachments
Patch (25.67 KB, patch)
2017-10-24 14:28 PDT, Alex Christensen
no flags Details | Formatted Diff | Diff
Patch (25.68 KB, patch)
2017-10-24 15:11 PDT, Alex Christensen
no flags Details | Formatted Diff | Diff
Patch (27.10 KB, patch)
2017-10-24 15:49 PDT, Alex Christensen
no flags Details | Formatted Diff | Diff
Patch (28.48 KB, patch)
2017-10-24 16:45 PDT, Alex Christensen
no flags Details | Formatted Diff | Diff
Patch (28.37 KB, patch)
2017-10-24 16:46 PDT, Alex Christensen
no flags Details | Formatted Diff | Diff
Patch (28.97 KB, patch)
2017-10-25 10:43 PDT, Alex Christensen
no flags Details | Formatted Diff | Diff
Patch (29.10 KB, patch)
2017-11-13 15:47 PST, Alex Christensen
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Christensen 2017-10-24 14:25:34 PDT
Merge NetworkProcess::EnsurePrivateBrowsingSession and NetworkProcess::AddWebsiteDataStore into one message type
Comment 1 Alex Christensen 2017-10-24 14:28:28 PDT
Created attachment 324724 [details]
Patch
Comment 2 Alex Christensen 2017-10-24 15:11:01 PDT
Created attachment 324734 [details]
Patch
Comment 3 Alex Christensen 2017-10-24 15:49:51 PDT
Created attachment 324741 [details]
Patch
Comment 4 Alex Christensen 2017-10-24 16:45:18 PDT
Created attachment 324753 [details]
Patch
Comment 5 Alex Christensen 2017-10-24 16:46:30 PDT
Created attachment 324755 [details]
Patch
Comment 6 Alex Christensen 2017-10-25 10:43:13 PDT
Created attachment 324848 [details]
Patch
Comment 7 Alex Christensen 2017-11-13 15:47:10 PST
Created attachment 326818 [details]
Patch
Comment 8 Alex Christensen 2017-11-13 15:48:28 PST
Comment on attachment 326818 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=326818&action=review

> Source/WebKit/NetworkProcess/mac/RemoteNetworkingContext.mm:99
> +    if (!sessionID.isEphemeral()) {
> +        bool result = SandboxExtension::consumePermanently(parameters.cookieStoragePathExtensionHandle);
> +        ASSERT_UNUSED(result, result);
> +    }

I reworked this part to only consume sandbox extensions if it's a persistent session because consuming empty sandbox extensions was succeeding and asserting.

> Source/WebKit/WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:62
> +        bool result = SandboxExtension::consumePermanently(parameters.cookieStoragePathExtensionHandle);

ditto
Comment 9 Alex Christensen 2017-11-13 15:51:04 PST
http://trac.webkit.org/r224791
Comment 10 Ryan Haddad 2017-11-14 09:35:14 PST
API test IndexedDB.StructuredCloneBackwardCompatibility is failing an assertion added with this change:

ASSERTION FAILED: result
/Volumes/Data/slave/highsierra-debug/build/Source/WebKit/NetworkProcess/mac/RemoteNetworkingContext.mm(98) : static void WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession(WebKit::WebsiteDataStoreParameters &&)
1   0x10e680b9d WTFCrash
2   0x10783ce78 WebKit::RemoteNetworkingContext::ensureWebsiteDataStoreSession(WebKit::WebsiteDataStoreParameters&&)
3   0x1075d9ad1 WebKit::NetworkProcess::addWebsiteDataStore(WebKit::WebsiteDataStoreParameters&&)
4   0x10760dcba void IPC::callMemberFunctionImpl<WebKit::NetworkProcess, void (WebKit::NetworkProcess::*)(WebKit::WebsiteDataStoreParameters&&), std::__1::tuple<WebKit::WebsiteDataStoreParameters>, 0ul>(WebKit::NetworkProcess*, void (WebKit::NetworkProcess::*)(WebKit::WebsiteDataStoreParameters&&), std::__1::tuple<WebKit::WebsiteDataStoreParameters>&&, std::__1::integer_sequence<unsigned long, 0ul>)
5   0x10760da30 void IPC::callMemberFunction<WebKit::NetworkProcess, void (WebKit::NetworkProcess::*)(WebKit::WebsiteDataStoreParameters&&), std::__1::tuple<WebKit::WebsiteDataStoreParameters>, std::__1::integer_sequence<unsigned long, 0ul> >(std::__1::tuple<WebKit::WebsiteDataStoreParameters>&&, WebKit::NetworkProcess*, void (WebKit::NetworkProcess::*)(WebKit::WebsiteDataStoreParameters&&))
6   0x10760a9ef void IPC::handleMessage<Messages::NetworkProcess::AddWebsiteDataStore, WebKit::NetworkProcess, void (WebKit::NetworkProcess::*)(WebKit::WebsiteDataStoreParameters&&)>(IPC::Decoder&, WebKit::NetworkProcess*, void (WebKit::NetworkProcess::*)(WebKit::WebsiteDataStoreParameters&&))
7   0x1076097d6 WebKit::NetworkProcess::didReceiveNetworkProcessMessage(IPC::Connection&, IPC::Decoder&)
8   0x1075d86cb WebKit::NetworkProcess::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
9   0x10738e2f3 IPC::Connection::dispatchMessage(IPC::Decoder&)
10  0x1073838d8 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)
11  0x10738e8fa IPC::Connection::dispatchOneMessage()
12  0x1073a6bdd IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14::operator()()
13  0x1073a6b39 WTF::Function<void ()>::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_14>::call()
14  0x10e6b61fb WTF::Function<void ()>::operator()() const
15  0x10e6d824d WTF::RunLoop::performWork()
16  0x10e6d89e4 WTF::RunLoop::performWork(void*)
17  0x7fff41f6b941 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
18  0x7fff4202333c __CFRunLoopDoSource0
19  0x7fff41f4e930 __CFRunLoopDoSources0
20  0x7fff41f4ddad __CFRunLoopRun
21  0x7fff41f4d607 CFRunLoopRunSpecific
22  0x7fff440143f6 -[NSRunLoop(NSRunLoop) runMode:beforeDate:]
23  0x7fff440142ce -[NSRunLoop(NSRunLoop) run]
24  0x7fff69821f07 _xpc_objc_main
25  0x7fff69820b86 xpc_main
26  0x10724712b main
27  0x7fff69556145 start

https://build.webkit.org/builders/Apple%20High%20Sierra%20Debug%20WK2%20%28Tests%29/builds/809
Comment 11 Alex Christensen 2017-11-14 11:50:43 PST
http://trac.webkit.org/r224827
Comment 12 Radar WebKit Bug Importer 2017-11-15 09:42:48 PST
<rdar://problem/35562290>
Comment 13 Alex Christensen 2017-11-30 21:32:44 PST
Regression fixed in https://bugs.webkit.org/show_bug.cgi?id=180235