Bug 140507

Summary: Clearing the website data store should clear local storage
Product: WebKit Reporter: Anders Carlsson <andersca>
Component: New BugsAssignee: Anders Carlsson <andersca>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, joepeck
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch kling: review+

Description Anders Carlsson 2015-01-15 13:15:08 PST
Clearing the website data store should clear local storage
Comment 1 Anders Carlsson 2015-01-15 13:17:48 PST
Created attachment 244709 [details]
Patch
Comment 2 Anders Carlsson 2015-01-15 13:18:14 PST
Created attachment 244710 [details]
Patch
Comment 3 WebKit Commit Bot 2015-01-15 13:20:35 PST
Attachment 244710 [details] did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/Storage/StorageManager.h:67:  Extra space before ( in function call  [whitespace/parens] [4]
ERROR: Source/WebKit2/UIProcess/Storage/StorageManager.cpp:573:  Extra space before ( in function call  [whitespace/parens] [4]
Total errors found: 2 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 Andreas Kling 2015-01-15 13:23:47 PST
Comment on attachment 244710 [details]
Patch

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

r=me

> Source/WebKit2/UIProcess/Storage/LocalStorageDatabaseTracker.h:59
> +    Vector<RefPtr<WebCore::SecurityOrigin>> deleteDatabasesModifiedSince(std::chrono::system_clock::time_point);

I would have this return a Vector of Refs.
Comment 5 Anders Carlsson 2015-01-15 13:26:51 PST
Committed r178526: <http://trac.webkit.org/changeset/178526>
Comment 6 Joseph Pecoraro 2015-01-15 15:49:27 PST
This appears to have caused some ASSERTs on the Mountain Lion Debug bot:
https://build.webkit.org/builders/Apple%20MountainLion%20Debug%20WK2%20%28Tests%29/builds/20805

> Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
> Exception Codes: KERN_INVALID_ADDRESS at 0x00000000bbadbeef
> 
> Application Specific Information:
> CRASHING TEST: platform/mac-wk2/tiled-drawing/header-and-footer-hit-testing.html
> 
> Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
> 0   WTFCrash + 42 (Assertions.cpp:321)
> 1   IPC::Connection::addWorkQueueMessageReceiver(IPC::StringReference, WorkQueue*, IPC::Connection::WorkQueueMessageReceiver*) + 172 (Connection.cpp:283)
> 2   WebKit::StorageManager::processWillOpenConnection(WebKit::WebProcessProxy*) + 114 (StorageManager.cpp:491)
> 3   WebKit::WebsiteDataStore::webProcessWillOpenConnection(WebKit::WebProcessProxy&, IPC::Connection&) + 88 (WebsiteDataStore.cpp:204)
> 4   WebKit::WebProcessLifetimeObserver::addWebPage(WebKit::WebPageProxy&) + 221 (WebProcessLifetimeObserver.cpp:51)
> 5   WebKit::WebProcessLifetimeTracker::addObserver(WebKit::WebProcessLifetimeObserver&) + 212 (WebProcessLifetimeTracker.cpp:53)
> 6   WebKit::WebPageProxy::WebPageProxy(WebKit::PageClient&, WebKit::WebProcessProxy&, unsigned long long, WebKit::WebPageConfiguration const&) + 3229 (WebPageProxy.cpp:388)
> 7   WebKit::WebPageProxy::WebPageProxy(WebKit::PageClient&, WebKit::WebProcessProxy&, unsigned long long, WebKit::WebPageConfiguration const&) + 53 (WebPageProxy.cpp:436)
> 8   WebKit::WebPageProxy::create(WebKit::PageClient&, WebKit::WebProcessProxy&, unsigned long long, WebKit::WebPageConfiguration const&) + 81 (WebPageProxy.cpp:257)
> 9   WebKit::WebProcessProxy::createWebPage(WebKit::PageClient&, WebKit::WebPageConfiguration const&) + 95 (WebProcessProxy.cpp:189)
> 10  WebKit::WebProcessPool::createWebPage(WebKit::PageClient&, WebKit::WebPageConfiguration) + 618 (WebProcessPool.cpp:895)
> 11  -[WKView initWithFrame:processPool:configuration:webView:] + 1703 (WKView.mm:3584)
> 12  -[WKView(Private) initWithFrame:contextRef:pageGroupRef:relatedToPage:] + 318 (WKView.mm:3798)
> 13  -[TestRunnerWKView initWithFrame:contextRef:pageGroupRef:relatedToPage:useThreadedScrolling:] + 189 (PlatformWebViewMac.mm:65)
> 14  WTR::PlatformWebView::PlatformWebView(OpaqueWKContext const*, OpaqueWKPageGroup const*, OpaqueWKPage const*, OpaqueWKDictionary const*) + 1091 (PlatformWebViewMac.mm:141)
> 15  WTR::PlatformWebView::PlatformWebView(OpaqueWKContext const*, OpaqueWKPageGroup const*, OpaqueWKPage const*, OpaqueWKDictionary const*) + 53 (PlatformWebViewMac.mm:152)
> 16  std::_Unique_if<WTR::PlatformWebView>::_Single_object std::make_unique<WTR::PlatformWebView, OpaqueWKContext const*, OpaqueWKPageGroup const*, std::nullptr_t, OpaqueWKDictionary const*&>(OpaqueWKContext const*&&, OpaqueWKPageGroup const*&&, std::nullptr_t&&, OpaqueWKDictionary const*&&&) + 170 (StdLibExtras.h:337)
> 17  WTR::TestController::createWebViewWithOptions(OpaqueWKDictionary const*) + 168 (TestController.cpp:471)
> 18  WTR::TestController::ensureViewSupportsOptions(OpaqueWKDictionary const*) + 697 (TestController.cpp:602)
> 19  WTR::TestController::platformConfigureViewForTest(WTR::TestInvocation const&) + 503 (TestControllerMac.mm:96)
> 20  WTR::TestController::configureViewForTest(WTR::TestInvocation const&) + 98 (TestController.cpp:834)
> 21  WTR::TestInvocation::invoke() + 52 (TestInvocation.cpp:134)
> 22  WTR::TestController::runTest(char const*) + 1303 (TestController.cpp:935)
> 23  WTR::TestController::runTestingServerLoop() + 178 (TestController.cpp:952)
> 24  WTR::TestController::run() + 91 (TestController.cpp:965)
> 25  WTR::TestController::TestController(int, char const**) + 1217 (TestController.cpp:128)
> 26  WTR::TestController::TestController(int, char const**) + 35 (TestController.cpp:129)
> 27  main + 122 (main.mm:49)
> 28  start + 1

The crashes seem StorageManager related.