Add API test to validate setting of service worker and cache storage directories
[WebKit-https.git] / Source / WebKit / ChangeLog
index bbf7c9a..84ff1ee 100644 (file)
@@ -1,3 +1,101 @@
+2018-03-01  Youenn Fablet  <youenn@apple.com>
+
+        Add API test to validate setting of service worker and cache storage directories
+        https://bugs.webkit.org/show_bug.cgi?id=182543
+
+        Reviewed by Chris Dumez.
+
+        Add cache engine directory path to its representation dump.
+        This is used in API tests to check that the path is correctly set.
+
+        Add a way for to know whether a service worker was registered from a WKWebsiteDataStore.
+        This is used in API tests to check that the path is correctly set.
+
+        * NetworkProcess/cache/CacheStorageEngine.cpp:
+        (WebKit::CacheStorage::Engine::representation):
+        * UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
+        (-[WKWebsiteDataStore _hasRegisteredServiceWorker]):
+        * UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
+
+2018-03-01  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Fix some errors due to some mach port APIs being unavailable on watchOS
+        https://bugs.webkit.org/show_bug.cgi?id=183262
+        <rdar://problem/38028521>
+
+        Reviewed by Tim Horton.
+
+        Minor build fix; mach_port_guard and mach_port_unguard are not available on this platform.
+
+        * Platform/IPC/mac/ConnectionMac.mm:
+        (IPC::Connection::platformInvalidate):
+        (IPC::Connection::platformInitialize):
+        (IPC::Connection::open):
+
+2018-03-01  Per Arne Vollan  <pvollan@apple.com>
+
+        Unreviewed build fix after r229140.
+
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+
+2018-03-01  Per Arne Vollan  <pvollan@apple.com>
+
+        Scrollbar preferences are ignored when the WebContent process doesn't have access to the WindowServer.
+        https://bugs.webkit.org/show_bug.cgi?id=183231
+        <rdar://problem/37793457>
+
+        Reviewed by Brent Fulgham.
+
+        When the WebContent process doesn't have access to the WindowServer, the scrollbars are always of the overlay type.
+        The notification about scrollbar preferences is never received by the WebContent process when there is no
+        WindowServer access. This can be fixed by adding an observer of scrollbar preferences in the UI process, and
+        notifying the WebProcess about this by sending it a message. This message should also contain the preferred
+        scrollbar type, since the call '[NSScroller preferredScrollerStyle]' will always return the overlay style when
+        there is no WindowServer access.
+
+        * UIProcess/Cocoa/WebProcessPoolCocoa.mm:
+        (WebKit::WebProcessPool::registerNotificationObservers):
+        (WebKit::WebProcessPool::unregisterNotificationObservers):
+        * UIProcess/WebProcessPool.h:
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::initializeProcess):
+        * WebProcess/WebProcess.h:
+        * WebProcess/WebProcess.messages.in:
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+        (WebKit::WebProcess::scrollerStylePreferenceChanged):
+
+2018-03-01  Antti Koivisto  <antti@apple.com>
+
+        Crash when updating cache entry after validation in apps that uses class A file protection
+        https://bugs.webkit.org/show_bug.cgi?id=183242
+        <rdar://problem/33289058>
+
+        Reviewed by Chris Dumez.
+
+        When validating a cache entry, we keep it alive until we get a network response. With 304 response
+        we then update the headers of this existing entry. This accesses the body data of the entry which
+        may be backed by a mapped file. If the app uses class A protection, user might have locked
+        the device and the entry might have become inaccessible, leading to a crash.
+
+        * NetworkProcess/cache/NetworkCacheEntry.cpp:
+        (WebKit::NetworkCache::Entry::setNeedsValidation):
+
+        In case of class A protection, pull the data to a memory buffer immediately before starting a revalidation request.
+        This makes the window where the file could become inaccessible much shorter (since it no longer depends on network).
+
+2018-03-01  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        REGRESSION(r221514): [GTK] UI process crash in WebKit::WaylandCompositor::Surface::flushPendingFrameCallbacks
+        https://bugs.webkit.org/show_bug.cgi?id=183091
+
+        Reviewed by Michael Catanzaro.
+
+        Invalidate the surface in the page map when the backing store is destroyed.
+
+        * UIProcess/gtk/WaylandCompositor.cpp:
+        (WebKit::WaylandCompositor::willDestroySurface):
+        * UIProcess/gtk/WaylandCompositor.h:
+
 2018-02-28  Brian Burg  <bburg@apple.com>
 
         [Cocoa] Web Automation: provide a way to ask clients the type of a JavaScript dialog