A track source should be unmuted whenever reenabled after setDirection changes
[WebKit-https.git] / Source / WebCore / ChangeLog
index 55618c1..ae955ea 100644 (file)
+2019-01-18  Youenn Fablet  <youenn@apple.com>
+
+        A track source should be unmuted whenever reenabled after setDirection changes
+        https://bugs.webkit.org/show_bug.cgi?id=193554
+        <rdar://problem/47366196>
+
+        Reviewed by Eric Carlson.
+
+        Ensure that track gets unmuted after being fired as part of track event.
+        Test is triggering some existing issues with MediaPlayerPrivateMediaStreamAVFObjC.
+        Given the enqueuing of samples happens in a different frame than the thread used to update media stream and the active video track,
+        some enqueued samples might not be from the right active video track or there might be no active video track.
+
+        Test: webrtc/video-setDirection.html
+
+        * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
+        (WebCore::LibWebRTCMediaEndpoint::fireTrackEvent):
+        * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
+        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::enqueueVideoSample):
+        (WebCore::MediaPlayerPrivateMediaStreamAVFObjC::requestNotificationWhenReadyForVideoData):
+
+2019-01-18  Charlie Turner  <cturner@igalia.com>
+
+        [GStreamer][EME][ClearKey] Request keys from CDMInstance rather than passing via bus messages
+        https://bugs.webkit.org/show_bug.cgi?id=192229
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        Covered by existing tests.
+
+        * platform/encryptedmedia/clearkey/CDMClearKey.cpp:
+        (WebCore::parseLicenseFormat): There is a defect in some C++11
+        compiles where they will copy this return value since the type
+        doesn't exactly match. Force a move with WTFMove.
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+        (WebCore::MediaPlayerPrivateGStreamerBase::dispatchDecryptionKey):
+        Deleted. No longer used by anything.
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h: Ditto.
+        * platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp:
+        Rename these methods to avoid "namespacing names".
+        (webkit_media_clear_key_decrypt_class_init):
+        (finalize):
+        (handleKeyResponse): This is a temporary fix, we need some more
+        reorganisation to be full driven by CDMInstance APIs for decryption.
+        (findAndSetKey):
+        (decrypt):
+        (webKitMediaClearKeyDecryptorFinalize): Deleted.
+        (webKitMediaClearKeyDecryptorHandleKeyResponse): Deleted.
+        (webKitMediaClearKeyDecryptorFindAndSetKey): Deleted.
+        (webKitMediaClearKeyDecryptorDecrypt): Deleted.
+        * platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp: Ditto.
+        (webkit_media_common_encryption_decrypt_class_init):
+        (finalize):
+        (transformCaps):
+        (transformInPlace):
+        (isCDMInstanceAvailable):
+        (sinkEventHandler):
+        (queryHandler):
+        (changeState):
+        (setContext):
+        (webKitMediaCommonEncryptionDecryptorFinalize): Deleted.
+        (webkitMediaCommonEncryptionDecryptTransformCaps): Deleted.
+        (webkitMediaCommonEncryptionDecryptTransformInPlace): Deleted.
+        (webkitMediaCommonEncryptionDecryptIsCDMInstanceAvailable): Deleted.
+        (webkitMediaCommonEncryptionDecryptSinkEventHandler): Deleted.
+        (webkitMediaCommonEncryptionDecryptorQueryHandler): Deleted.
+        (webKitMediaCommonEncryptionDecryptorChangeState): Deleted.
+        (webKitMediaCommonEncryptionDecryptorSetContext): Deleted.
+        * platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.h:
+        * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
+        (WebCore::MediaPlayerPrivateGStreamerMSE::attemptToDecryptWithLocalInstance):
+        Deleted. No longer passing key information over bus messages.
+        * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
+
+2019-01-18  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][BFC][MarginCollapsing] Collapsing through should not ignore floats.
+        https://bugs.webkit.org/show_bug.cgi?id=193564
+
+        Reviewed by Antti Koivisto.
+
+        Float boxes prevent collapsing through.
+
+        Test: fast/block/float/float-in-descendant-formatting-context.html
+
+        * layout/blockformatting/BlockMarginCollapse.cpp:
+        (WebCore::Layout::BlockFormattingContext::MarginCollapse::marginsCollapseThrough):
+
+2019-01-18  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC] Do not skip float boxes that are not part of the current formatting context when computing bottom.
+        https://bugs.webkit.org/show_bug.cgi?id=193562
+
+        Reviewed by Antti Koivisto.
+
+        The current floating context's (float) boxes could belong to descendant formatting contexts.
+        We need to include them as well when computing height (bottom) (we essentially need to skip ancestor floats only).
+
+        <div id=container style="overflow: hidden"><div>foo<div style="float: left">bar</div></div></div>
+        While computing the height for "container", the float box needs to be taken into account even though
+        it is part of another (descendant) formatting context (the inline formatting context established by its parent div).
+
+        * layout/floats/FloatingState.cpp:
+        (WebCore::Layout::FloatingState::bottom const):
+        * layout/floats/FloatingState.h:
+        (WebCore::Layout::FloatingState::FloatItem::isDescendantOfFormattingRoot const):
+        (WebCore::Layout::FloatingState::FloatItem::inFormattingContext const): Deleted.
+
+2019-01-18  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][BFC] Check for inflow children while computing height for block formatting context roots.
+        https://bugs.webkit.org/show_bug.cgi?id=193555
+
+        Reviewed by Antti Koivisto.
+
+        This patch also extends areEssentiallyEqual to 0.125px to be able to match (essentially equal) inline runs. 
+
+        * layout/FormattingContextGeometry.cpp:
+        (WebCore::Layout::contentHeightForFormattingContextRoot):
+        * layout/Verification.cpp:
+        (WebCore::Layout::areEssentiallyEqual):
+        * page/FrameViewLayoutContext.cpp:
+        (WebCore::layoutUsingFormattingContext):
+
+2019-01-18  Yacine Bandou  <yacine.bandou@softathome.com>
+
+        [WebAudio] Release the AudioDestination when uninitializing DefaultAudioDestinationNode
+        https://bugs.webkit.org/show_bug.cgi?id=192590
+
+        Reviewed by Philippe Normand.
+
+        When we uninitialize DefaultAudioDestinationNode, the AudioDestination is stopped but not destroyed.
+
+        On some platforms the resources are allocated and released with the AudioDestination, thus when we uninitialize
+        DefaultAudioDestinationNode we don't release resources because the AudioDestination is not destroyed.
+
+        * Modules/webaudio/DefaultAudioDestinationNode.cpp:
+        (WebCore::DefaultAudioDestinationNode::uninitialize):
+
+2019-01-18  Yacine Bandou  <yacine.bandou@softathome.com>
+
+        [WebAudio] Call AudioContext::uninitialize() immediately when the AudioContext is stopped
+        https://bugs.webkit.org/show_bug.cgi?id=192586
+
+        Reviewed by Philippe Normand.
+
+        When WebProcess is killed, AudioContext::uninitialize() is not called immediately in the stop so
+        the AudioDestinationNode is not destroyed.
+
+        In my case, I have a resource device manager, the output audio device is reserved when AudioDestinationNode
+        is instantiated and it is released when AudioDestinationNode is destroyed, thus when the webprocess is killed,
+        the resources leak.
+
+        AudioContext::uninitialize() is not called immediately since r94608.
+        This modification can now be reverted without regression in WebAudio tests.
+
+        Test: webaudio/mediaelementaudiosourcenode-gc.html
+
+        * Modules/webaudio/AudioContext.cpp:
+        (WebCore::AudioContext::stop):
+
+2019-01-18  Simon Fraser  <simon.fraser@apple.com>
+
+        ScrollingCoordinator::scrollableAreaScrollLayerDidChange() can be removed
+        https://bugs.webkit.org/show_bug.cgi?id=193559
+
+        Reviewed by Antti Koivisto.
+
+        ScrollingCoordinator::scrollableAreaScrollLayerDidChange() existed for CoordinatedGraphics,
+        but the code that used it was removed in webkit.org/r229318 so we can remove it and
+        code that calls it.
+
+        * page/scrolling/ScrollingCoordinator.h:
+        (WebCore::ScrollingCoordinator::willDestroyScrollableArea):
+        (WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange): Deleted.
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::updateGeometry):
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::willRemoveScrollingLayerWithBacking):
+        (WebCore::RenderLayerCompositor::didAddScrollingLayer):
+        (WebCore::RenderLayerCompositor::scrollingLayerDidChange): Deleted.
+        * rendering/RenderLayerCompositor.h:
+
+2019-01-17  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        [iOS] Content offset jumps erratically when autoscrolling near scroll view content inset areas
+        https://bugs.webkit.org/show_bug.cgi?id=193494
+        <rdar://problem/46859627>
+
+        Reviewed by Simon Fraser and Tim Horton.
+
+        When computing the content offset to scroll to when revealing a given rect in content coordinates, we currently
+        just use the unobscured content rect. As a result, when scrolling to reveal a rect, we'll clamp the final scroll
+        position such that only content is visible. For example, when asked to reveal the rect `(0, 0, 1, 1)`, we adjust
+        the scroll position to be the origin.
+
+        However, consider the case where a client (e.g. Mail on iOS) has added a content inset to the web view's scroll
+        view. If we're asked to reveal a rect that is outside the content area but within a content inset, we will still
+        end up clamping the scroll position to the unobscured rect. This manifests in a bug where selecting text and
+        autoscrolling in iOS Mail compose while the scroll view is scrolled all the way to the top to reveal the To/Cc/
+        Subject fields causes the content offset to jump to the origin, rather than staying at (0, -topContentInset).
+
+        To fix this, we teach `RenderLayer::scrollRectToVisible` about content insets that are visible. Rather than use
+        the content rects as-is, expand to encompass visible content insets as well. This ensures that revealing a
+        position which is already visible won't cause us to scroll away the content inset area and only show the
+        unobscured rect.
+
+        Tests:  editing/selection/ios/autoscroll-with-top-content-inset.html
+                fast/scrolling/ios/scroll-into-view-with-top-content-inset.html
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::unobscuredContentRectExpandedByContentInsets const):
+
+        Introduce a helper method that expands the unobscured content rect to include surrounding content insets.
+
+        * page/FrameView.h:
+        * page/Page.h:
+        (WebCore::Page::contentInsets const):
+        (WebCore::Page::setContentInsets):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::scrollRectToVisible):
+        (WebCore::RenderLayer::getRectToExpose const):
+
+2019-01-17  Truitt Savell  <tsavell@apple.com>
+
+        Unreviewed, rolling out r240124.
+
+        This commit broke an internal build.
+
+        Reverted changeset:
+
+        "SDK_VARIANT build destinations should be separate from non-
+        SDK_VARIANT builds"
+        https://bugs.webkit.org/show_bug.cgi?id=189553
+        https://trac.webkit.org/changeset/240124
+
+2019-01-17  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: fix Xcode project file list after r239976
+        https://bugs.webkit.org/show_bug.cgi?id=193474
+
+        Reviewed by Timothy Hatcher.
+
+        * WebCore.xcodeproj/project.pbxproj:
+
+2019-01-17  Ross Kirsling  <ross.kirsling@sony.com>
+
+        Unreviewed WinCairo fix -- hundreds of tests crash after r240031.
+
+        * platform/network/curl/ResourceHandleCurl.cpp:
+        (WebCore::ResourceHandle::createCurlRequest):
+        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
+        (WebCore::ResourceHandle::receivedCredential):
+        (WebCore::ResourceHandle::getCredential):
+
+2019-01-17  John Wilander  <wilander@apple.com>
+
+        Add infrastructure to enable/disable ITP Debug Mode through Preferences
+        https://bugs.webkit.org/show_bug.cgi?id=193510
+        <rdar://problem/47330969>
+
+        Reviewed by Dean Jackson.
+
+        No new tests. These changes are purely for settings/preferences.
+
+        * page/RuntimeEnabledFeatures.h:
+        (WebCore::RuntimeEnabledFeatures::setItpDebugModeEnabled):
+        (WebCore::RuntimeEnabledFeatures::itpDebugModeEnabled const):
+        (WebCore::RuntimeEnabledFeatures::setResourceLoadStatisticsDebugMode): Deleted.
+        (WebCore::RuntimeEnabledFeatures::resourceLoadStatisticsDebugMode const): Deleted.
+            Renamed.
+        * page/Settings.yaml:
+            Removed since this particular setting should not be persisted for privacy
+            reasons.
+
+2019-01-17  Jer Noble  <jer.noble@apple.com>
+
+        SDK_VARIANT build destinations should be separate from non-SDK_VARIANT builds
+        https://bugs.webkit.org/show_bug.cgi?id=189553
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/SDKVariant.xcconfig: Added.
+        * Configurations/WebCore.xcconfig:
+
+2019-01-17  Jer Noble  <jer.noble@apple.com>
+
+        MediaPlayerPrivateAVFoundationObjC can return incorrect paused information
+        https://bugs.webkit.org/show_bug.cgi?id=193499
+
+        Reviewed by Eric Carlson.
+
+        MediaPlayerPrivateAVFoundation uses rate() as an indicator of whether the player
+        is paused or not. This is incorrect when playback is stalled waiting for more data.
+        For MPPAVFObjC, use the timeControlStatus as a more accurate indicator of whether
+        the player is playing.
+
+        Now that we have correct play state information, we can remove the handlePlaybackCommand()
+        path when playing remotely for a more direct approach of notifying the HTMLMediaElement
+        that the play state has changed.
+
+        Drive-by fix: Before throwing away the AVPlayer, clear its output context. This keeps
+        remote devices from keeping the AVPlayer alive.
+
+        Drive-by fix #2: The NullMediaPlayer should always return "true" for paused(), not "false",
+        since it can't possibly play anything.
+
+        * platform/graphics/MediaPlayer.cpp:
+        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
+        (WebCore::MediaPlayerPrivateAVFoundation::paused const):
+        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
+        (WebCore::MediaPlayerPrivateAVFoundation::platformPaused const):
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
+        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad):
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPaused const):
+        (WebCore::MediaPlayerPrivateAVFoundationObjC::timeControlStatusDidChange):
+
+2019-01-17  Jiewen Tan  <jiewen_tan@apple.com>
+
+        [Mac] Add a new quirk to HTMLFormControlElement::isMouseFocusable
+        https://bugs.webkit.org/show_bug.cgi?id=193478
+        <rdar://problem/34368591>
+
+        Reviewed by Brent Fulgham.
+
+        By default in macOS, submit buttons (controls) are not focusable. WebKit follows this system convention
+        as suggested by the spec: https://html.spec.whatwg.org/multipage/interaction.html#focusable-area. This
+        is also the convention Firefox respects. However, Chrome doesn't. ceac.state.gov is by far the only
+        website that assumes submit buttons are focusable, and will prohibit users from completing immigration
+        forms, such as DS160 if buttons are not. To help immigrations, we decide to add a new quirk to
+        HTMLFormControlElement::isMouseFocusable such that submit buttons are mouse focusable.
+
+        This quirk is for ceac.state.gov specifically, and therefore no tests.
+
+        * html/HTMLFormControlElement.cpp:
+        (WebCore::HTMLFormControlElement::isMouseFocusable const):
+        (WebCore::HTMLFormControlElement::needsSiteSpecificQuirks const):
+        * html/HTMLFormControlElement.h:
+
+2019-01-17  Alex Christensen  <achristensen@webkit.org>
+
+        Fix WinCairo build after r240117
+        https://bugs.webkit.org/show_bug.cgi?id=193529
+
+        * PlatformWin.cmake:
+        * platform/network/curl/SocketStreamHandleImplCurl.cpp:
+
+2019-01-17  Youenn Fablet  <youenn@apple.com>
+
+        Add release logging for incoming and outgoing webrtc audio tracks
+        https://bugs.webkit.org/show_bug.cgi?id=185545
+
+        Reviewed by Eric Carlson.
+
+        Add logging of audio tracks. When doing a WebRTC call,
+        one log line is added each second for each audio track.
+        Validated that logging is done through manual testing.
+
+        Refactored code to use LogHelper and apply it to video sources as well.
+
+        * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
+        (WebCore::LibWebRTCMediaEndpoint::addTrack):
+        (WebCore::LibWebRTCMediaEndpoint::sourceFromNewReceiver):
+        (WebCore::sourceFromNewReceiver): Deleted.
+        * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
+        * platform/mediastream/RealtimeIncomingAudioSource.cpp:
+        (WebCore::RealtimeIncomingAudioSource::RealtimeIncomingAudioSource):
+        (WebCore::RealtimeIncomingAudioSource::logChannel const):
+        (WebCore::RealtimeIncomingAudioSource::logger const):
+        * platform/mediastream/RealtimeIncomingAudioSource.h:
+        (WebCore::RealtimeIncomingAudioSource::setLogger):
+        * platform/mediastream/RealtimeIncomingVideoSource.cpp:
+        (WebCore::RealtimeIncomingVideoSource::RealtimeIncomingVideoSource):
+        (WebCore::RealtimeIncomingVideoSource::logChannel const):
+        (WebCore::RealtimeIncomingVideoSource::logger const):
+        * platform/mediastream/RealtimeIncomingVideoSource.h:
+        (WebCore::RealtimeIncomingVideoSource::setLogger):
+        * platform/mediastream/RealtimeOutgoingAudioSource.cpp:
+        (WebCore::RealtimeOutgoingAudioSource::RealtimeOutgoingAudioSource):
+        (WebCore::RealtimeOutgoingAudioSource::sendAudioFrames):
+        (WebCore::RealtimeOutgoingAudioSource::logChannel const):
+        (WebCore::RealtimeOutgoingAudioSource::logger const):
+        * platform/mediastream/RealtimeOutgoingAudioSource.h:
+        (WebCore::RealtimeOutgoingAudioSource::setLogger):
+        * platform/mediastream/RealtimeOutgoingVideoSource.cpp:
+        (WebCore::RealtimeOutgoingVideoSource::RealtimeOutgoingVideoSource):
+        (WebCore::RealtimeOutgoingVideoSource::sendBlackFramesIfNeeded):
+        (WebCore::RealtimeOutgoingVideoSource::sendOneBlackFrame):
+        (WebCore::RealtimeOutgoingVideoSource::logChannel const):
+        (WebCore::RealtimeOutgoingVideoSource::logger const):
+        * platform/mediastream/RealtimeOutgoingVideoSource.h:
+        (WebCore::RealtimeOutgoingVideoSource::setLogger):
+        * platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.cpp:
+        (WebCore::RealtimeIncomingAudioSourceCocoa::OnData):
+        * platform/mediastream/mac/RealtimeIncomingAudioSourceCocoa.h:
+        * platform/mediastream/mac/RealtimeIncomingVideoSourceCocoa.mm:
+        (WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferPool):
+        (WebCore::RealtimeIncomingVideoSourceCocoa::pixelBufferFromVideoFrame):
+        (WebCore::RealtimeIncomingVideoSourceCocoa::OnFrame):
+        * platform/mediastream/mac/RealtimeOutgoingAudioSourceCocoa.cpp:
+        * platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp:
+        (WebCore::RealtimeOutgoingVideoSourceCocoa::sampleBufferUpdated):
+        * platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:
+        (WebCore::RealtimeOutgoingVideoSourceCocoa::rotatePixelBuffer):
+
+2019-01-17  Alex Christensen  <achristensen@webkit.org>
+
+        Stop using NetworkStorageSession::storageSession in WebCore
+        https://bugs.webkit.org/show_bug.cgi?id=193529
+
+        Reviewed by Tim Horton.
+
+        Ownership of the map that NetworkStorageSession::storageSession searches needs to move to the WebKit/WebKitLegacy layer,
+        so when WebCore used to look in this map it needs to call a client function to ask the layer above it for the storage object.
+        I've called this client StorageSessionProvider::storageSession.  Right now it just looks in NetworkStorageSession::storageSession,
+        but this added abstraction makes it possible to move the currently process-global map to be a member of the NetworkProcess object.
+
+        * Modules/websockets/WebSocketChannel.cpp:
+        (WebCore::WebSocketChannel::connect):
+        * WebCore.xcodeproj/project.pbxproj:
+        * loader/CookieJar.cpp:
+        (WebCore::CookieJar::create):
+        (WebCore::CookieJar::CookieJar):
+        (WebCore::CookieJar::cookies const):
+        (WebCore::CookieJar::setCookies):
+        (WebCore::CookieJar::cookiesEnabled const):
+        (WebCore::CookieJar::cookieRequestHeaderFieldValue const):
+        (WebCore::CookieJar::getRawCookies const):
+        (WebCore::CookieJar::deleteCookie):
+        * loader/CookieJar.h:
+        * loader/EmptyClients.cpp:
+        (WebCore::pageConfigurationWithEmptyClients):
+        * page/Page.h:
+        * page/SocketProvider.cpp:
+        (WebCore::SocketProvider::createSocketStreamHandle):
+        * page/SocketProvider.h:
+        * platform/network/NetworkingContext.h:
+        * platform/network/SocketStreamHandleImpl.cpp:
+        (WebCore::cookieDataForHandshake):
+        (WebCore::SocketStreamHandleImpl::platformSendHandshake):
+        * platform/network/StorageSessionProvider.h: Added.
+        (WebCore::StorageSessionProvider::~StorageSessionProvider):
+        * platform/network/cf/SocketStreamHandleImpl.h:
+        (WebCore::SocketStreamHandleImpl::create):
+        * platform/network/cf/SocketStreamHandleImplCFNet.cpp:
+        (WebCore::SocketStreamHandleImpl::SocketStreamHandleImpl):
+        (WebCore::SocketStreamHandleImpl::getStoredCONNECTProxyCredentials):
+        * platform/network/curl/SocketStreamHandleImpl.h:
+        (WebCore::SocketStreamHandleImpl::create):
+        * platform/network/soup/SocketStreamHandleImpl.h:
+        * platform/network/soup/SocketStreamHandleImplSoup.cpp:
+        (WebCore::SocketStreamHandleImpl::create):
+
+2019-01-17  Jon Lee  <jonlee@apple.com>
+
+        [EME] Remove Amazon Prime Video from quirks list
+        https://bugs.webkit.org/show_bug.cgi?id=193514
+        rdar://problem/47295330
+
+        Reviewed by Jer Noble.
+
+        * page/Quirks.cpp:
+        (WebCore::Quirks::hasBrokenEncryptedMediaAPISupportQuirk const):
+
+2019-01-17  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][BFC] An element with transform is a containing block for positioned descendants.
+        https://bugs.webkit.org/show_bug.cgi?id=193534
+
+        Reviewed by Antti Koivisto.
+
+        "For elements whose layout is governed by the CSS box model, any value other than none for the transform
+        property also causes the element to establish a containing block for all descendants."
+        https://www.w3.org/TR/css-transforms-1/
+
+        * layout/layouttree/LayoutBox.cpp:
+        (WebCore::Layout::Box::containingBlock const):
+
+2019-01-17  Simon Fraser  <simon.fraser@apple.com>
+
+        ScrollingCoordinator: separate updating node geometry from node layers
+        https://bugs.webkit.org/show_bug.cgi?id=193527
+
+        Reviewed by Antti Koivisto.
+
+        Updating scrolling tree node layers happens in a different code path from updating geometry;
+        the former has to be post-flush, when GraphicsLayer has made tiled or structural layers.
+        Geometry only needs to be updated after layout, and soon we'll do this via compositing updates.
+        
+        We can also clean up the ScrollingCoordinator API and have a single function that updates
+        node layers (handling different node types), and separate functions for pushing viewport-constrained
+        and scrolling node geometry.
+
+        No observable behavior change.
+
+        * page/scrolling/AsyncScrollingCoordinator.cpp:
+        (WebCore::AsyncScrollingCoordinator::setNodeLayers):
+        (WebCore::AsyncScrollingCoordinator::setScrollingNodeGeometry):
+        (WebCore::AsyncScrollingCoordinator::setViewportConstraintedNodeGeometry):
+        (WebCore::AsyncScrollingCoordinator::updateFrameScrollingNode): Deleted.
+        (WebCore::AsyncScrollingCoordinator::updateOverflowScrollingNode): Deleted.
+        (WebCore::AsyncScrollingCoordinator::updateNodeLayer): Deleted.
+        (WebCore::AsyncScrollingCoordinator::updateNodeViewportConstraints): Deleted.
+        * page/scrolling/AsyncScrollingCoordinator.h:
+        * page/scrolling/ScrollingCoordinator.h:
+        (WebCore::ScrollingCoordinator::setNodeLayers):
+        (WebCore::ScrollingCoordinator::setScrollingNodeGeometry):
+        (WebCore::ScrollingCoordinator::setViewportConstraintedNodeGeometry):
+        (WebCore::ScrollingCoordinator::updateNodeLayer): Deleted.
+        (WebCore::ScrollingCoordinator::updateNodeViewportConstraints): Deleted.
+        (WebCore::ScrollingCoordinator::updateFrameScrollingNode): Deleted.
+        (WebCore::ScrollingCoordinator::updateOverflowScrollingNode): Deleted.
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::updateScrollCoordinationForThisFrame):
+        (WebCore::RenderLayerCompositor::updateScrollCoordinatedLayer):
+        * rendering/RenderLayerCompositor.h:
+
+2019-01-17  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][BFC][Quirk] Take body padding and border into account when stretching height.
+        https://bugs.webkit.org/show_bug.cgi?id=193528
+
+        Reviewed by Antti Koivisto.
+
+        * layout/blockformatting/BlockFormattingContextQuirks.cpp:
+        (WebCore::Layout::BlockFormattingContext::Quirks::stretchedInFlowHeight):
+        * layout/displaytree/DisplayBox.h:
+        (WebCore::Display::Box::verticalBorder const):
+        (WebCore::Display::Box::horizontalBorder const):
+        (WebCore::Display::Box::verticalPadding const):
+        (WebCore::Display::Box::horizontalPadding const):
+        * page/FrameViewLayoutContext.cpp:
+        (WebCore::layoutUsingFormattingContext):
+
+2019-01-17  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][BFC] For height computation, the bottom edge of the last line box value should not include top border/padding
+        https://bugs.webkit.org/show_bug.cgi?id=193520
+
+        Reviewed by Antti Koivisto.
+
+        This is similar to the other "10.6.3" cases. The bottom edge of the last inline box is in the coordinate systyem
+        of the containing block's border box (and for content height computation it needs to be mapped to the containing block's content box instead).
+
+        * layout/blockformatting/BlockFormattingContextGeometry.cpp:
+        (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
+
+2019-01-16  Simon Fraser  <simon.fraser@apple.com>
+
+        Stub out scrolling tree classes for overflow scrolling nodes on macOS
+        https://bugs.webkit.org/show_bug.cgi?id=193524
+
+        Reviewed by Antti Koivisto.
+
+        Add an empty implementation of ScrollingTreeOverflowScrollingNodeMac for macOS. Change
+        ScrollingTreeMac::createScrollingTreeNode() to create these nodes.
+        
+        Minor refactor of RenderLayerCompositor::useCoordinatedScrollingForLayer() code to ask
+        the scrolling coordinator if it can coordinate scrolling for this layer; no behavior
+        change for existing code paths.
+
+        * SourcesCocoa.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+        * page/scrolling/ScrollingCoordinator.cpp:
+        (WebCore::ScrollingCoordinator::coordinatesScrollingForOverflowLayer const):
+        * page/scrolling/ScrollingCoordinator.h:
+        * page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm:
+        * page/scrolling/mac/ScrollingTreeMac.cpp:
+        (ScrollingTreeMac::createScrollingTreeNode):
+        * page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h: Copied from Source/WebCore/page/scrolling/mac/ScrollingStateFrameScrollingNodeMac.mm.
+        * page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm: Added.
+        (WebCore::ScrollingTreeOverflowScrollingNodeMac::create):
+        (WebCore::ScrollingTreeOverflowScrollingNodeMac::ScrollingTreeOverflowScrollingNodeMac):
+        (WebCore::ScrollingTreeOverflowScrollingNodeMac::~ScrollingTreeOverflowScrollingNodeMac):
+        (WebCore::ScrollingTreeOverflowScrollingNodeMac::commitStateBeforeChildren):
+        (WebCore::ScrollingTreeOverflowScrollingNodeMac::commitStateAfterChildren):
+        (WebCore::ScrollingTreeOverflowScrollingNodeMac::updateLayersAfterAncestorChange):
+        (WebCore::ScrollingTreeOverflowScrollingNodeMac::scrollPosition const):
+        (WebCore::ScrollingTreeOverflowScrollingNodeMac::setScrollLayerPosition):
+        (WebCore::ScrollingTreeOverflowScrollingNodeMac::updateLayersAfterDelegatedScroll):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::usesAsyncScrolling const):
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::useCoordinatedScrollingForLayer const):
+        * rendering/RenderLayerCompositor.h:
+
+2019-01-16  Justin Fan  <justin_fan@apple.com>
+
+        [WebGPU] Update vertex-buffer-triangle-strip.html to actually use vertex buffer
+        https://bugs.webkit.org/show_bug.cgi?id=193473
+
+        Reviewed by Dean Jackson and Myles Maxfield.
+
+        Also, switch to using the inputSlot instead of the shaderLocation field, as this seems more correct. 
+        As of now I cannot determine an analog for WebGPU's shaderLocation in Metal. 
+
+        Test: Covered by vertex-buffer-triangle-strip.html. No change in behavior.
+
+        * platform/graphics/gpu/cocoa/GPURenderPipelineMetal.mm:
+        (WebCore::setInputStateForPipelineDescriptor): Use the inputSlot instead of shaderLocation as bufferIndex. 
+
+2019-01-16  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [WHLSL] Add the function stage checker
+        https://bugs.webkit.org/show_bug.cgi?id=193479
+
+        Reviewed by Dean Jackson and Robin Morisset.
+
+        This is a translation of https://github.com/gpuweb/WHLSL/blob/master/Source/CheckNativeFuncStages.mjs into C++.
+
+        No new tests because it isn't hooked up yet. Not enough of the compiler exists to have any meaningful sort
+        of test. When enough of the compiler is present, I'll port the reference implementation's test suite.
+
+        * Modules/webgpu/WHLSL/AST/WHLSLCallExpression.h:
+        (WebCore::WHLSL::AST::CallExpression::function):
+        * Modules/webgpu/WHLSL/WHLSLFunctionStageChecker.cpp: Added.
+        (WebCore::WHLSL::FunctionStageChecker::FunctionStageChecker):
+        (WebCore::WHLSL::checkFunctionStages):
+        * Modules/webgpu/WHLSL/WHLSLFunctionStageChecker.h: Added.
+        * Modules/webgpu/WHLSL/WHLSLIntrinsics.cpp:
+        (WebCore::WHLSL::Intrinsics::add):
+        * Modules/webgpu/WHLSL/WHLSLIntrinsics.h:
+        (WebCore::WHLSL::Intrinsics::ddx const):
+        (WebCore::WHLSL::Intrinsics::ddy const):
+        (WebCore::WHLSL::Intrinsics::allMemoryBarrier const):
+        (WebCore::WHLSL::Intrinsics::deviceMemoryBarrier const):
+        (WebCore::WHLSL::Intrinsics::groupMemoryBarrier const):
+        (WebCore::WHLSL::Intrinsics::WTF_ARRAY_LENGTH):
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+
+2019-01-16  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [WHLSL] Delete the 'restricted' keyword
+        https://bugs.webkit.org/show_bug.cgi?id=193469
+
+        Reviewed by Dean Jackson and Robin Morisset.
+
+        This change mirrors https://github.com/gpuweb/WHLSL/pull/304 in the reference implementation.
+
+        No new tests because it isn't hooked up yet. Not enough of the compiler exists to have any meaningful sort
+        of test. When enough of the compiler is present, I'll port the reference implementation's test suite.
+
+        * Modules/webgpu/WHLSL/AST/WHLSLFunctionDefinition.h:
+        (WebCore::WHLSL::AST::FunctionDefinition::FunctionDefinition):
+        (WebCore::WHLSL::AST::FunctionDefinition::block):
+        (WebCore::WHLSL::AST::FunctionDefinition::restricted const): Deleted.
+        * Modules/webgpu/WHLSL/AST/WHLSLNativeFunctionDeclaration.h:
+        (WebCore::WHLSL::AST::NativeFunctionDeclaration::NativeFunctionDeclaration):
+        (WebCore::WHLSL::AST::NativeFunctionDeclaration::restricted const): Deleted.
+        * Modules/webgpu/WHLSL/WHLSLChecker.cpp:
+        (WebCore::WHLSL::resolveWithOperatorAnderIndexer):
+        (WebCore::WHLSL::resolveWithOperatorLength):
+        (WebCore::WHLSL::resolveWithReferenceComparator):
+        * Modules/webgpu/WHLSL/WHLSLResolveOverloadImpl.cpp:
+        (WebCore::WHLSL::resolveFunctionOverloadImpl):
+        * Modules/webgpu/WHLSL/WHLSLSynthesizeArrayOperatorLength.cpp:
+        (WebCore::WHLSL::synthesizeArrayOperatorLength):
+        * Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp:
+        (WebCore::WHLSL::synthesizeConstructors):
+        * Modules/webgpu/WHLSL/WHLSLSynthesizeEnumerationFunctions.cpp:
+        (WebCore::WHLSL::synthesizeEnumerationFunctions):
+        * Modules/webgpu/WHLSL/WHLSLSynthesizeStructureAccessors.cpp:
+        (WebCore::WHLSL::synthesizeStructureAccessors):
+
+2019-01-16  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [WHLSL] Implement the recursion checker
+        https://bugs.webkit.org/show_bug.cgi?id=193436
+
+        Reviewed by Saam Barati.
+
+        This is a translation of https://github.com/gpuweb/WHLSL/blob/master/Source/RecursionChecker.mjs into C++.
+
+        No new tests because it isn't hooked up yet. Not enough of the compiler exists to have any meaningful sort
+        of test. When enough of the compiler is present, I'll port the reference implementation's test suite.
+
+        * Modules/webgpu/WHLSL/AST/WHLSLCallExpression.h:
+        (WebCore::WHLSL::AST::CallExpression::function):
+        * Modules/webgpu/WHLSL/WHLSLRecursionChecker.cpp: Copied from Source/WebCore/Modules/webgpu/WHLSL/WHLSLRecursiveTypeChecker.cpp.
+        (WebCore::WHLSL::checkRecursion):
+        * Modules/webgpu/WHLSL/WHLSLRecursionChecker.h: Added.
+        * Modules/webgpu/WHLSL/WHLSLRecursiveTypeChecker.cpp:
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+
+2019-01-16  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [WHLSL] Add the literal type checker
+        https://bugs.webkit.org/show_bug.cgi?id=193430
+
+        Reviewed by Dean Jackson.
+
+        This is a translation of https://github.com/gpuweb/WHLSL/blob/master/Source/LiteralTypeChecker.mjs into C++.
+
+        No new tests because it isn't hooked up yet. Not enough of the compiler exists to have any meaningful sort
+        of test. When enough of the compiler is present, I'll port the reference implementation's test suite.
+
+        * Modules/webgpu/WHLSL/AST/WHLSLFloatLiteralType.h:
+        (WebCore::WHLSL::AST::FloatLiteralType::value const):
+        * Modules/webgpu/WHLSL/AST/WHLSLIntegerLiteralType.h:
+        (WebCore::WHLSL::AST::IntegerLiteralType::value const):
+        * Modules/webgpu/WHLSL/AST/WHLSLUnsignedIntegerLiteralType.h:
+        (WebCore::WHLSL::AST::UnsignedIntegerLiteralType::value const):
+        * Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp: Added.
+        (WebCore::WHLSL::getNativeTypeDeclaration):
+        (WebCore::WHLSL::LiteralTypeChecker::visit):
+        (WebCore::WHLSL::checkLiteralTypes):
+        * Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.h: Copied from Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLFloatLiteralType.h.
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+
+2019-01-16  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][BFC] Inflow non-replaced used width should not be negative.
+        https://bugs.webkit.org/show_bug.cgi?id=193495
+
+        Reviewed by Antti Koivisto.
+
+        min-width (initial value 0) enforces non-negative used width. 
+
+        * layout/blockformatting/BlockFormattingContext.cpp:
+        (WebCore::Layout::BlockFormattingContext::computeWidthAndMargin const):
+
+2019-01-16  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [WHLSL] Add a handwritten parser
+        https://bugs.webkit.org/show_bug.cgi?id=192355
+
+        Reviewed by Dean Jackson.
+
+        The parser is a mechanical representation of WHLSL's ANTLR grammar at
+        https://github.com/gpuweb/WHLSL/blob/master/Spec/WHLSL.g4. The parser
+        uses Expected<> to return an appropriate Error string when parsing fails.
+
+        This patch doesn't include the AST nodes themselves - those are in
+        https://bugs.webkit.org/show_bug.cgi?id=192991. I split up the patch to
+        aid easier reviewing.
+
+        No new tests because the parser isn't hooked up yet.
+
+        * Modules/webgpu/WHLSL/WHLSLParser.cpp:
+        (WebCore::WHLSL::Parser::Parser):
+        (WebCore::WHLSL::Parser::parse):
+        (WebCore::WHLSL::Parser::fail):
+        (WebCore::WHLSL::Parser::peek):
+        (WebCore::WHLSL::Parser::tryType):
+        (WebCore::WHLSL::Parser::tryTypes):
+        (WebCore::WHLSL::Parser::consumeType):
+        (WebCore::WHLSL::Parser::consumeTypes):
+        (WebCore::WHLSL::digitValue):
+        (WebCore::WHLSL::intLiteralToInt):
+        (WebCore::WHLSL::uintLiteralToUint):
+        (WebCore::WHLSL::floatLiteralToFloat):
+        (WebCore::WHLSL::Parser::consumeIntegralLiteral):
+        (WebCore::WHLSL::Parser::consumeNonNegativeIntegralLiteral):
+        (WebCore::WHLSL::recognizeSimpleUnsignedInteger):
+        (WebCore::WHLSL::Parser::parseConstantExpression):
+        (WebCore::WHLSL::Parser::parseTypeArgument):
+        (WebCore::WHLSL::Parser::parseTypeArguments):
+        (WebCore::WHLSL::Parser::parseTypeSuffixAbbreviated):
+        (WebCore::WHLSL::Parser::parseTypeSuffixNonAbbreviated):
+        (WebCore::WHLSL::Parser::parseAddressSpaceType):
+        (WebCore::WHLSL::Parser::parseNonAddressSpaceType):
+        (WebCore::WHLSL::Parser::parseType):
+        (WebCore::WHLSL::Parser::parseTypeDefinition):
+        (WebCore::WHLSL::Parser::parseBuiltInSemantic):
+        (WebCore::WHLSL::Parser::parseResourceSemantic):
+        (WebCore::WHLSL::Parser::parseSpecializationConstantSemantic):
+        (WebCore::WHLSL::Parser::parseStageInOutSemantic):
+        (WebCore::WHLSL::Parser::parseSemantic):
+        (WebCore::WHLSL::Parser::parseQualifiers):
+        (WebCore::WHLSL::Parser::parseStructureElement):
+        (WebCore::WHLSL::Parser::parseStructureDefinition):
+        (WebCore::WHLSL::Parser::parseEnumerationDefinition):
+        (WebCore::WHLSL::Parser::parseEnumerationMember):
+        (WebCore::WHLSL::Parser::parseNativeTypeDeclaration):
+        (WebCore::WHLSL::Parser::parseNumThreadsFunctionAttribute):
+        (WebCore::WHLSL::Parser::parseAttributeBlock):
+        (WebCore::WHLSL::Parser::parseParameter):
+        (WebCore::WHLSL::Parser::parseParameters):
+        (WebCore::WHLSL::Parser::parseFunctionDefinition):
+        (WebCore::WHLSL::Parser::parseEntryPointFunctionDeclaration):
+        (WebCore::WHLSL::Parser::parseRegularFunctionDeclaration):
+        (WebCore::WHLSL::Parser::parseOperatorFunctionDeclaration):
+        (WebCore::WHLSL::Parser::parseFunctionDeclaration):
+        (WebCore::WHLSL::Parser::parseNativeFunctionDeclaration):
+        (WebCore::WHLSL::Parser::parseBlock):
+        (WebCore::WHLSL::Parser::parseBlockBody):
+        (WebCore::WHLSL::Parser::parseIfStatement):
+        (WebCore::WHLSL::Parser::parseSwitchStatement):
+        (WebCore::WHLSL::Parser::parseSwitchCase):
+        (WebCore::WHLSL::Parser::parseForLoop):
+        (WebCore::WHLSL::Parser::parseWhileLoop):
+        (WebCore::WHLSL::Parser::parseDoWhileLoop):
+        (WebCore::WHLSL::Parser::parseVariableDeclaration):
+        (WebCore::WHLSL::Parser::parseVariableDeclarations):
+        (WebCore::WHLSL::Parser::parseStatement):
+        (WebCore::WHLSL::Parser::parseEffectfulExpression):
+        (WebCore::WHLSL::Parser::parseEffectfulAssignment):
+        (WebCore::WHLSL::Parser::parseEffectfulPrefix):
+        (WebCore::WHLSL::Parser::parseEffectfulSuffix):
+        (WebCore::WHLSL::Parser::parseLimitedSuffixOperator):
+        (WebCore::WHLSL::Parser::parseSuffixOperator):
+        (WebCore::WHLSL::Parser::parseExpression):
+        (WebCore::WHLSL::Parser::parseTernaryConditional):
+        (WebCore::WHLSL::Parser::parseAssignment):
+        (WebCore::WHLSL::Parser::parsePossibleTernaryConditional):
+        (WebCore::WHLSL::Parser::parsePossibleLogicalBinaryOperation):
+        (WebCore::WHLSL::Parser::parsePossibleRelationalBinaryOperation):
+        (WebCore::WHLSL::Parser::parsePossibleShift):
+        (WebCore::WHLSL::Parser::parsePossibleAdd):
+        (WebCore::WHLSL::Parser::parsePossibleMultiply):
+        (WebCore::WHLSL::Parser::parsePossiblePrefix):
+        (WebCore::WHLSL::Parser::parsePossibleSuffix):
+        (WebCore::WHLSL::Parser::parseCallExpression):
+        (WebCore::WHLSL::Parser::parseTerm):
+        * Modules/webgpu/WHLSL/WHLSLParser.h:
+        (WebCore::WHLSL::Parser::Error::Error):
+        (WebCore::WHLSL::Parser::backtrackingScope):
+        (WebCore::WHLSL::Parser::SuffixExpression::SuffixExpression):
+        (WebCore::WHLSL::Parser::SuffixExpression::operator bool const):
+
+2019-01-16  Sihui Liu  <sihui_liu@apple.com>
+
+        IndexedDB: UniqueIDBDatabase should not be freed if the database task queue is not empty.
+        https://bugs.webkit.org/show_bug.cgi?id=193093
+
+        Reviewed by Brady Eidson.
+
+        performUnconditionalDeleteBackingStore killed the database task queue immediately, but performPrefetchCursor
+        task may be scheduled behind performUnconditionalDeleteBackingStore on database thread.
+
+        * Modules/indexeddb/server/UniqueIDBDatabase.cpp:
+        (WebCore::IDBServer::UniqueIDBDatabase::shutdownForClose):
+        (WebCore::IDBServer::UniqueIDBDatabase::performPrefetchCursor):
+        (WebCore::IDBServer::UniqueIDBDatabase::isDoneWithHardClose):
+
+2019-01-16  Alex Christensen  <achristensen@webkit.org>
+
+        Internal build fix.
+
+        * platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
+        (WebCore::layerContentsFormat):
+
+2019-01-16  Youenn Fablet  <youenn@apple.com>
+
+        ServiceWorkerContainer is leaking due to a ref cycle
+        https://bugs.webkit.org/show_bug.cgi?id=193462
+        <rdar://problem/47026303>
+
+        Reviewed by Brady Eidson.
+
+        ServiceWorkerContainer keeps a reference to its ready promise.
+        The ready promise keeps a ref to its value which is a ServiceWorkerRegistration.
+        ServiceWorkerRegistration keeps a ref to ServiceWorkerContainer.
+
+        To break the reference cycle, set the ready promise to zero when ServiceWorkerContainer is stopped.
+
+        Covered by imported/w3c/web-platform-tests/service-workers/service-worker/ready.https.html no longer leaking.
+
+        * workers/service/ServiceWorkerContainer.cpp:
+        (WebCore::ServiceWorkerContainer::stop):
+
+2019-01-15  Simon Fraser  <simon.fraser@apple.com>
+
+        Make didCommitChangesForLayer() explicitly about the platform layer changing because of tile/non-tile swapping
+        https://bugs.webkit.org/show_bug.cgi?id=193290
+
+        Reviewed by Tim Horton.
+
+        RenderLayerCompositor::didFlushChangesForLayer() triggers updates scrolling tree nodes for
+        the flushed layer, but it's not clear what has changed at this point.
+
+        didCommitChangesForLayer()/didFlushChangesForLayer() were added to explicitly handle the
+        case where the underlying platform layer for a GraphicsLayer changes because the layer swaps
+        between tiled and non-tiled, and structural layer changes; we need to push the new layer to
+        the scrolling tree because it operates on platform layers. So the only work that
+        didFlushChangesForLayer() should do is to update layers on scrolling tree nodes; it doesn't
+        need to do any geometry updating. Move towards that goal by renaming this callback to
+        didChangePlatformLayerForLayer() to make its function more explicit.
+
+        * platform/graphics/GraphicsLayerClient.h:
+        (WebCore::GraphicsLayerClient::didChangePlatformLayerForLayer):
+        (WebCore::GraphicsLayerClient::didCommitChangesForLayer const): Deleted.
+        * platform/graphics/ca/GraphicsLayerCA.cpp:
+        (WebCore::GraphicsLayerCA::flushCompositingStateForThisLayerOnly):
+        (WebCore::GraphicsLayerCA::recursiveCommitChanges):
+        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
+        * platform/graphics/ca/GraphicsLayerCA.h:
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::didChangePlatformLayerForLayer):
+        (WebCore::RenderLayerBacking::didCommitChangesForLayer const): Deleted.
+        * rendering/RenderLayerBacking.h:
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::didChangePlatformLayerForLayer):
+        (WebCore::LegacyWebKitScrollingLayerCoordinator::didChangePlatformLayerForLayer):
+        (WebCore::RenderLayerCompositor::didFlushChangesForLayer): Deleted.
+        (WebCore::RenderLayerCompositor::didCommitChangesForLayer const): Deleted.
+        (WebCore::LegacyWebKitScrollingLayerCoordinator::didFlushChangesForLayer): Deleted.
+        * rendering/RenderLayerCompositor.h:
+
+2019-01-16  Chris Dumez  <cdumez@apple.com>
+
+        Regression(PSON) View becomes blank after click a cross-site download link
+        https://bugs.webkit.org/show_bug.cgi?id=193361
+        <rdar://problem/47099573>
+
+        Reviewed by Geoffrey Garen.
+
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::commitProvisionalLoad):
+        When restoring from PageCache, make sure we notify the client that the load was committed
+        *before* we tell it that the navigation is complete. This would confuse the ProvisionalPageProxy
+        logic in the UIProcess.
+
+2019-01-16  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: extend overlay element bounds lines to the right/below as well
+        https://bugs.webkit.org/show_bug.cgi?id=193336
+
+        Reviewed by Matt Baker.
+
+        This patch is purely a visual change for WebInspector, and doesn't affect anything else.
+
+        * inspector/InspectorOverlayPage.js:
+        (_drawBounds):
+
+2019-01-16  Youenn Fablet  <youenn@apple.com>
+
+        Prevent WorkerRunLoop::runInMode from spinning in nested cases
+        https://bugs.webkit.org/show_bug.cgi?id=193359
+        <rdar://problem/46345353>
+
+        Reviewed by Joseph Pecoraro.
+
+        Speculative fix for some cases where service worker is spinning and consuming a lot of CPU.
+        The hypothesis is that:
+        - Service Worker is checking for its script freshness through WorkerScriptLoader.
+        This triggers the worker run loop to be nested.
+        - The run loop timer is active and needs to fire immediately.
+        The hypothesis is that this happens in some cases like restarting a device after sleep mode.
+
+        WorkerRunLoop::runInMode will then compute a 0 timeout value for getting a message.
+        This will trigger a timeout while waiting for the message queue.
+        Since the run loop is nested,  the run loop timer will not be able to fire,
+        and it will keep ask to fire immediately.
+        runInMode will return timeout as a result and WorkerRunLoop::run will call it immediately.
+
+        The fix is to prevent the shared timer to fire only when the run loop is being debugged through the web inspector.
+        We compute this by checking the run loop mode as debuggerMode().
+        Did some refactoring by introducing helper routines for running the loop and posting task in debugger mode.
+
+        * inspector/WorkerScriptDebugServer.cpp:
+        (WebCore::WorkerScriptDebugServer::runEventLoopWhilePaused):
+        * workers/WorkerInspectorProxy.cpp:
+        (WebCore::WorkerInspectorProxy::resumeWorkerIfPaused):
+        (WebCore::WorkerInspectorProxy::connectToWorkerInspectorController):
+        (WebCore::WorkerInspectorProxy::disconnectFromWorkerInspectorController):
+        (WebCore::WorkerInspectorProxy::sendMessageToWorkerInspectorController):
+        * workers/WorkerRunLoop.cpp:
+        (WebCore::ModePredicate::ModePredicate):
+        (WebCore::WorkerRunLoop::WorkerRunLoop):
+        (WebCore::debuggerMode):
+        (WebCore::RunLoopSetup::RunLoopSetup):
+        (WebCore::RunLoopSetup::~RunLoopSetup):
+        (WebCore::WorkerRunLoop::run):
+        (WebCore::WorkerRunLoop::runInDebuggerMode):
+        (WebCore::WorkerRunLoop::runInMode):
+        (WebCore::WorkerRunLoop::Task::performTask):
+        * workers/WorkerRunLoop.h:
+        (WebCore::WorkerRunLoop::isBeingDebugged const):
+        * workers/WorkerThread.cpp:
+        (WebCore::WorkerThread::startRunningDebuggerTasks):
+        * workers/service/context/ServiceWorkerInspectorProxy.cpp:
+        (WebCore::ServiceWorkerInspectorProxy::connectToWorker):
+        (WebCore::ServiceWorkerInspectorProxy::disconnectFromWorker):
+        (WebCore::ServiceWorkerInspectorProxy::sendMessageToWorker):
+
+2019-01-16  Sihui Liu  <sihui_liu@apple.com>
+
+        IndexedDB: leak WebIDBConnectionToClient for retain cycle
+        https://bugs.webkit.org/show_bug.cgi?id=193097
+        <rdar://problem/46899601>
+
+        Reviewed by David Kilzer.
+
+        Fix API test failure after r239887. After removing the retain cycle, IDBConnectionToClient will no longer live 
+        forever so make sure it is not destructed before UniqueIDBDatabaseConnection unregisters itself.
+
+        * Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:
+        (WebCore::IDBServer::UniqueIDBDatabaseConnection::UniqueIDBDatabaseConnection):
+        (WebCore::IDBServer::UniqueIDBDatabaseConnection::~UniqueIDBDatabaseConnection):
+        (WebCore::IDBServer::UniqueIDBDatabaseConnection::fireVersionChangeEvent):
+        (WebCore::IDBServer::UniqueIDBDatabaseConnection::didAbortTransaction):
+        (WebCore::IDBServer::UniqueIDBDatabaseConnection::didCommitTransaction):
+        (WebCore::IDBServer::UniqueIDBDatabaseConnection::didCreateObjectStore):
+        (WebCore::IDBServer::UniqueIDBDatabaseConnection::didDeleteObjectStore):
+        (WebCore::IDBServer::UniqueIDBDatabaseConnection::didRenameObjectStore):
+        (WebCore::IDBServer::UniqueIDBDatabaseConnection::didClearObjectStore):
+        (WebCore::IDBServer::UniqueIDBDatabaseConnection::didCreateIndex):
+        (WebCore::IDBServer::UniqueIDBDatabaseConnection::didDeleteIndex):
+        (WebCore::IDBServer::UniqueIDBDatabaseConnection::didRenameIndex):
+        * Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
+
+2019-01-16  Antti Koivisto  <antti@apple.com>
+
+        Add more assertions to find root cause for release assert hit in StyleResolver
+        https://bugs.webkit.org/show_bug.cgi?id=193488
+        <rdar://problem/30983040>
+
+        Reviewed by Zalan Bujtas.
+
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::~StyleResolver):
+
+        Release assert we are not resolving tree style.
+
+        * dom/Document.cpp:
+        (WebCore::Document::setIsResolvingTreeStyle):
+        * dom/Document.h:
+        (WebCore::Document::isResolvingTreeStyle const):
+        * style/StyleTreeResolver.cpp:
+        (WebCore::Style::TreeResolver::Scope::Scope):
+        (WebCore::Style::TreeResolver::Scope::~Scope):
+
+        Set isResolvingTreeStyle bit when we have a tree resolver scope.
+
+2019-01-16  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][Out-of-flow] Set used vertical margin values when top/height/bottom are non-auto.
+        https://bugs.webkit.org/show_bug.cgi?id=193470
+
+        Reviewed by Antti Koivisto.
+
+        Non-auto vertical margin values (which is mostly the case) should be set as used values.
+
+        Test: fast/block/block-only/non-auto-top-bottom-height-with-margins.html
+
+        * layout/FormattingContextGeometry.cpp:
+        (WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
+
+2019-01-16  Alan Kinsley  <zalan@apple.com>
+
+        [LFC] Adjust margin box verification.
+        https://bugs.webkit.org/show_bug.cgi?id=193482
+
+        Reviewed by Antti Koivisto.
+
+        In certain cases, like out-of-flow boxes with margin auto, marginBoxRect() returns 0. It's clearly incorrect,
+        so let's check the individual margin values instead (and at this point we know that all other boxes match).
+
+        Test: fast/block/block-only/non-auto-top-bottom-height-with-auto-margins.html
+
+        * layout/Verification.cpp:
+        (WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):
+
+2019-01-16  Zan Dobersek  <zdobersek@igalia.com>
+
+        [FreeType] Cache the zero-width space glyph in GlyphPage::fill()
+        https://bugs.webkit.org/show_bug.cgi?id=193485
+
+        Reviewed by Carlos Garcia Campos.
+
+        In FreeType's implementation of GlyphPage::fill(), we can cache the
+        zero-width space glyph upon first retrieval through the
+        FcFreeTypeCharIndex() entrypoint, avoiding any subsequent calls
+        for other ignorable characters.
+
+        * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp:
+        (WebCore::GlyphPage::fill):
+
+2019-01-16  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [WHLSL] Add the high zombie finder
+        https://bugs.webkit.org/show_bug.cgi?id=193432
+
+        Reviewed by Robin Morisset and Saam Barati.
+
+        This is a translation of https://github.com/gpuweb/WHLSL/blob/master/Source/HighZombieFinder.mjs into C++.
+
+        No new tests because it isn't hooked up yet. Not enough of the compiler exists to have any meaningful sort
+        of test. When enough of the compiler is present, I'll port the reference implementation's test suite.
+
+        * Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp: Added.
+        (WebCore::WHLSL::findHighZombies):
+        * Modules/webgpu/WHLSL/WHLSLHighZombieFinder.h: Added.
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+
+2019-01-15  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        Unreviewed WinCairo build fix.
+
+        * platform/network/curl/ResourceHandleCurl.cpp:
+        (WebCore::ResourceHandle::createCurlRequest):
+        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
+        (WebCore::ResourceHandle::receivedCredential):
+        (WebCore::ResourceHandle::getCredential):
+
+2019-01-15  Alex Christensen  <achristensen@webkit.org>
+
+        Reduce use of NetworkStorageSession::defaultStorageSession in WebCore
+        https://bugs.webkit.org/show_bug.cgi?id=193368
+
+        Reviewed by Geoff Garen.
+
+        The NetworkStorageSession ownership needs to move to the WebKit/WebKitLegacy layer instead of being a process-global static map.
+
+        * loader/EmptyClients.cpp:
+        * platform/network/CredentialStorage.cpp:
+        (WebCore::CredentialStorage::defaultCredentialStorage): Deleted.
+        * platform/network/CredentialStorage.h:
+        * platform/network/NetworkStorageSession.h:
+        * platform/network/cf/NetworkStorageSessionCFNet.cpp:
+        (WebCore::NetworkStorageSession::switchToNewTestingSession):
+        (WebCore::NetworkStorageSession::ensureSession):
+        * platform/network/cf/NetworkStorageSessionCFNetWin.cpp:
+        (WebCore::createPrivateStorageSession):
+        * platform/network/curl/ResourceHandleCurl.cpp:
+        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
+        (WebCore::ResourceHandle::receivedCredential):
+        (WebCore::ResourceHandle::getCredential):
+
+2019-01-15  Ryosuke Niwa  <rniwa@webkit.org>
+
+        VisualViewport API should be updated upon opening of keyboard
+        https://bugs.webkit.org/show_bug.cgi?id=193475
+
+        Reviewed by Simon Fraser.
+
+        Added a function to update the visual viewport API and schedule a resize event to FrameView.
+
+        Test: fast/visual-viewport/ios/resize-event-for-keyboard.html
+
+        * page/FrameView.cpp:
+        (WebCore::FrameView::didUpdateViewportOverrideRects):
+        * page/FrameView.h:
+
+2019-01-15  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        Fix build after r240018
+        https://bugs.webkit.org/show_bug.cgi?id=193434
+
+        Unreviewed.
+
+        * Modules/webgpu/WHLSL/WHLSLLoopChecker.cpp:
+        (WebCore::WHLSL::checkLoops):
+        (WebCore::WHLSL::findHighZombies): Deleted.
+        * Modules/webgpu/WHLSL/WHLSLLoopChecker.h:
+
+2019-01-15  Megan Gardner  <megan_gardner@apple.com>
+
+        Add Reveal support in iOSMac
+        https://bugs.webkit.org/show_bug.cgi?id=193408
+        <rdar://problem/47300699>
+
+        Reviewed by Tim Horton.
+
+        iOSMac and Reveal are currently not testable.
+
+        Add support for the reveal SPI specifically for iOSMac.
+        Show the controller when called, and implement the delegate to 
+        correctly re-paint the content with the auto-generated highlight from
+        the reveal framework.
+
+        * Configurations/WebCore.xcconfig:
+        * editing/cocoa/DictionaryLookup.mm:
+        (-[WebRevealHighlight initWithHighlightRect:view:]):
+        (-[WebRevealHighlight setImage:]):
+        (-[WebRevealHighlight highlightRectsForItem:]):
+        (-[WebRevealHighlight startHighlightingItem:]):
+        (-[WebRevealHighlight highlightItem:withProgress:]):
+        (-[WebRevealHighlight completeHighlightingItem:]):
+        (-[WebRevealHighlight stopHighlightingItem:]):
+        (-[WebRevealHighlight highlightRangeChangedForItem:]):
+        (-[WebRevealHighlight highlighting]):
+        (-[WebRevealHighlight drawHighlightContentForItem:context:]):
+        (WebCore::showPopupOrCreateAnimationController):
+        (WebCore::DictionaryLookup::showPopup):
+        * editing/mac/DictionaryLookup.h:
+
+2019-01-15  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [WHLSL] Add ending namespace comments to make namespace boundaries more clear
+        https://bugs.webkit.org/show_bug.cgi?id=193471
+
+        Reviewed by Saam Barati.
+
+        This patch only adds the comments to the files that are too long to fit on a single screen in my editor.
+
+        No new tests because there is no behavior change.
+
+        * Modules/webgpu/WHLSL/WHLSLCheckDuplicateFunctions.cpp:
+        * Modules/webgpu/WHLSL/WHLSLChecker.cpp:
+        * Modules/webgpu/WHLSL/WHLSLGatherEntryPointItems.cpp:
+        * Modules/webgpu/WHLSL/WHLSLGatherEntryPointItems.h:
+        * Modules/webgpu/WHLSL/WHLSLInferTypes.cpp:
+        * Modules/webgpu/WHLSL/WHLSLIntrinsics.cpp:
+        * Modules/webgpu/WHLSL/WHLSLIntrinsics.h:
+        * Modules/webgpu/WHLSL/WHLSLLexer.cpp:
+        * Modules/webgpu/WHLSL/WHLSLLexer.h:
+        * Modules/webgpu/WHLSL/WHLSLLoopChecker.cpp:
+        * Modules/webgpu/WHLSL/WHLSLNameContext.cpp:
+        * Modules/webgpu/WHLSL/WHLSLNameResolver.cpp:
+        * Modules/webgpu/WHLSL/WHLSLNameResolver.h:
+        * Modules/webgpu/WHLSL/WHLSLParser.h:
+        * Modules/webgpu/WHLSL/WHLSLProgram.h:
+        * Modules/webgpu/WHLSL/WHLSLRecursiveTypeChecker.cpp:
+        * Modules/webgpu/WHLSL/WHLSLResolveOverloadImpl.cpp:
+        * Modules/webgpu/WHLSL/WHLSLSynthesizeArrayOperatorLength.cpp:
+        * Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp:
+        * Modules/webgpu/WHLSL/WHLSLSynthesizeEnumerationFunctions.cpp:
+        * Modules/webgpu/WHLSL/WHLSLSynthesizeStructureAccessors.cpp:
+        * Modules/webgpu/WHLSL/WHLSLVisitor.cpp:
+        * Modules/webgpu/WHLSL/WHLSLVisitor.h:
+
+2019-01-15  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [WHLSL] Implement the loop checker
+        https://bugs.webkit.org/show_bug.cgi?id=193434
+
+        Reviewed by Saam Barati.
+
+        This is a translation of https://github.com/gpuweb/WHLSL/blob/master/Source/LoopChecker.mjs into C++.
+
+        No new tests because it isn't hooked up yet. Not enough of the compiler exists to have any meaningful sort
+        of test. When enough of the compiler is present, I'll port the reference implementation's test suite.
+
+        * Modules/webgpu/WHLSL/WHLSLLoopChecker.cpp: Added.
+        (WebCore::WHLSL::findHighZombies):
+        * Modules/webgpu/WHLSL/WHLSLLoopChecker.h: Added.
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+
+2019-01-15  Chris Dumez  <cdumez@apple.com>
+
+        Unreviewed, rolling out r239993, r239995, r239997, and
+        r239999.
+
+        Caused assertions under
+        ViewGestureController::disconnectFromProcess()
+
+        Reverted changesets:
+
+        "Regression(PSON) View becomes blank after click a cross-site
+        download link"
+        https://bugs.webkit.org/show_bug.cgi?id=193361
+        https://trac.webkit.org/changeset/239993
+
+        "Unreviewed iOS build fix after r239993."
+        https://trac.webkit.org/changeset/239995
+
+        "Fix iOS build after r239993"
+        https://bugs.webkit.org/show_bug.cgi?id=193361
+        https://trac.webkit.org/changeset/239997
+
+        "Unreviewed, revert part of r239997 as it is not needed to fix
+        the build."
+        https://trac.webkit.org/changeset/239999
+
+2019-01-15  Alex Christensen  <achristensen@webkit.org>
+
+        Stop using CookiesStrategy
+        https://bugs.webkit.org/show_bug.cgi?id=161106
+
+        Reviewed by Don Olmstead and Antti Koivisto.
+
+        CookiesStrategy is process-global and makes it difficult to switch NetworkStorageSession from having a process-global map.
+        Instead, use a CookieJar object in the WebProcess.  This has the additional benefit of making it more clear which code
+        is used in the WebProcess and which code is used in the NetworkProcess.
+
+        * Modules/beacon/NavigatorBeacon.cpp:
+        * Modules/websockets/WebSocketChannel.cpp:
+        (WebCore::WebSocketChannel::processBuffer):
+        * Modules/websockets/WebSocketHandshake.cpp:
+        (WebCore::WebSocketHandshake::clientHandshakeRequest const):
+        (WebCore::WebSocketHandshake::clientHandshakeCookieRequestHeaderFieldProxy const):
+        * WebCore.xcodeproj/project.pbxproj:
+        * css/StyleRuleImport.cpp:
+        (WebCore::StyleRuleImport::requestStyleSheet):
+        * dom/Document.cpp:
+        (WebCore::Document::cookie):
+        (WebCore::Document::setCookie):
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::mediaPlayerGetRawCookies const):
+        * inspector/agents/InspectorPageAgent.cpp:
+        (WebCore::InspectorPageAgent::getCookies):
+        (WebCore::InspectorPageAgent::deleteCookie):
+        * loader/CookieJar.cpp:
+        (WebCore::CookieJar::shouldIncludeSecureCookies):
+        (WebCore::CookieJar::sameSiteInfo):
+        (WebCore::CookieJar::create):
+        (WebCore::CookieJar::cookies const):
+        (WebCore::CookieJar::cookieRequestHeaderFieldProxy):
+        (WebCore::CookieJar::setCookies):
+        (WebCore::CookieJar::cookiesEnabled const):
+        (WebCore::CookieJar::cookieRequestHeaderFieldValue const):
+        (WebCore::CookieJar::getRawCookies const):
+        (WebCore::CookieJar::deleteCookie):
+        (WebCore::shouldIncludeSecureCookies): Deleted.
+        (WebCore::sameSiteInfo): Deleted.
+        (WebCore::cookies): Deleted.
+        (WebCore::cookieRequestHeaderFieldProxy): Deleted.
+        (WebCore::setCookies): Deleted.
+        (WebCore::cookiesEnabled): Deleted.
+        (WebCore::cookieRequestHeaderFieldValue): Deleted.
+        (WebCore::getRawCookies): Deleted.
+        (WebCore::deleteCookie): Deleted.
+        * loader/CookieJar.h:
+        * loader/EmptyClients.cpp:
+        (WebCore::pageConfigurationWithEmptyClients):
+        * loader/ImageLoader.cpp:
+        (WebCore::ImageLoader::updateFromElement):
+        * loader/cache/CachedApplicationManifest.cpp:
+        (WebCore::CachedApplicationManifest::CachedApplicationManifest):
+        * loader/cache/CachedApplicationManifest.h:
+        * loader/cache/CachedCSSStyleSheet.cpp:
+        (WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
+        * loader/cache/CachedCSSStyleSheet.h:
+        * loader/cache/CachedFont.cpp:
+        (WebCore::CachedFont::CachedFont):
+        * loader/cache/CachedFont.h:
+        * loader/cache/CachedImage.cpp:
+        (WebCore::CachedImage::CachedImage):
+        * loader/cache/CachedImage.h:
+        * loader/cache/CachedRawResource.cpp:
+        (WebCore::CachedRawResource::CachedRawResource):
+        * loader/cache/CachedRawResource.h:
+        * loader/cache/CachedResource.cpp:
+        (WebCore::CachedResource::CachedResource):
+        (WebCore::CachedResource::setResponse):
+        (WebCore::CachedResource::varyHeaderValuesMatch):
+        * loader/cache/CachedResource.h:
+        (WebCore::CachedResource::cookieJar const):
+        * loader/cache/CachedResourceLoader.cpp:
+        (WebCore::createResource):
+        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
+        (WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest):
+        (WebCore::CachedResourceLoader::requestResource):
+        (WebCore::CachedResourceLoader::revalidateResource):
+        (WebCore::CachedResourceLoader::loadResource):
+        * loader/cache/CachedResourceLoader.h:
+        * loader/cache/CachedSVGDocument.cpp:
+        (WebCore::CachedSVGDocument::CachedSVGDocument):
+        * loader/cache/CachedSVGDocument.h:
+        * loader/cache/CachedSVGFont.cpp:
+        (WebCore::CachedSVGFont::CachedSVGFont):
+        * loader/cache/CachedSVGFont.h:
+        * loader/cache/CachedScript.cpp:
+        (WebCore::CachedScript::CachedScript):
+        * loader/cache/CachedScript.h:
+        * loader/cache/CachedTextTrack.cpp:
+        (WebCore::CachedTextTrack::CachedTextTrack):
+        * loader/cache/CachedTextTrack.h:
+        * loader/cache/CachedXSLStyleSheet.cpp:
+        (WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
+        * loader/cache/CachedXSLStyleSheet.h:
+        * loader/cache/MemoryCache.cpp:
+        (WebCore::MemoryCache::addImageToCache):
+        * loader/cache/MemoryCache.h:
+        * page/Navigator.cpp:
+        (WebCore::Navigator::cookieEnabled const):
+        * page/Page.cpp:
+        (WebCore::Page::Page):
+        * page/Page.h:
+        (WebCore::Page::cookieJar):
+        * page/PageConfiguration.cpp:
+        (WebCore::PageConfiguration::PageConfiguration):
+        * page/PageConfiguration.h:
+        * platform/CookiesStrategy.h: Removed.
+        * platform/PlatformStrategies.h:
+        (WebCore::PlatformStrategies::cookiesStrategy): Deleted.
+        * platform/network/CacheValidation.cpp:
+        (WebCore::cookieRequestHeaderFieldValue):
+        (WebCore::collectVaryingRequestHeaders):
+        (WebCore::verifyVaryingRequestHeaders):
+        * platform/network/CacheValidation.h:
+        * platform/network/CookieRequestHeaderFieldProxy.h:
+        * platform/network/cf/NetworkStorageSessionCFNetWin.cpp:
+        * platform/network/cocoa/NetworkStorageSessionCocoa.mm:
+        * platform/network/curl/ResourceHandleCurl.cpp:
+        * rendering/RenderSnapshottedPlugIn.cpp:
+        (WebCore::RenderSnapshottedPlugIn::updateSnapshot):
+        * testing/Internals.cpp:
+        (WebCore::Internals::getCookies const):
+
+2019-01-15  Simon Fraser  <simon.fraser@apple.com>
+
+        Animations should only trigger layer recomposite when necessary
+        https://bugs.webkit.org/show_bug.cgi?id=193450
+
+        Reviewed by Antoine Quint.
+
+        Animations only need to trigger compositing updates when their states change in a way
+        that affects compositing. RenderLayerCompositor::requiresCompositingForAnimation() checks for
+        running animations of properties that can be accelerated, so this patch fixes the legacy
+        animation logic to only set 'shouldRecompositeLayer' in TreeResolver::createAnimatedElementUpdate()
+        when the running state of such an animation changes.
+
+        ImplicitAnimation::animate() and KeyframeAnimation::animate() now return OptionSet<AnimateChange>.
+        This contains information about whether the running state changed, so CompositeAnimation::animate()
+        asks about whether the running state of an accelerated property changed, and returns this in
+        the AnimationUpdate result.
+
+        * page/animation/AnimationBase.h:
+        (WebCore::AnimationBase::isPausedState):
+        (WebCore::AnimationBase::isRunningState):
+        (WebCore::AnimationBase::inPausedState const):
+        (WebCore::AnimationBase::inRunningState const):
+        (WebCore::AnimationBase::isAnimatingProperty const):
+        * page/animation/CSSAnimationController.h:
+        * page/animation/CompositeAnimation.cpp:
+        (WebCore::CompositeAnimation::animate):
+        * page/animation/ImplicitAnimation.cpp:
+        (WebCore::ImplicitAnimation::animate):
+        (WebCore::ImplicitAnimation::affectsAcceleratedProperty const):
+        * page/animation/ImplicitAnimation.h:
+        * page/animation/KeyframeAnimation.cpp:
+        (WebCore::KeyframeAnimation::KeyframeAnimation):
+        (WebCore::KeyframeAnimation::animate):
+        (WebCore::KeyframeAnimation::computeStackingContextImpact): Deleted.
+        * page/animation/KeyframeAnimation.h:
+        * style/StyleTreeResolver.cpp:
+        (WebCore::Style::TreeResolver::createAnimatedElementUpdate):
+
+2019-01-15  Simon Fraser  <simon.fraser@apple.com>
+
+        Clean up code related to the updating of Dashboard and touch event regions
+        https://bugs.webkit.org/show_bug.cgi?id=193460
+
+        Reviewed by Zalan Bujtas.
+
+        In preparation for layout testing that can count the number of event region
+        updates, move the code related to updating "annotated" (Dashboard) regions, and
+        touch event regions into bottleneck functions in Document.
+        
+        Updating these two kinds of regions is generally similar, but there are some code paths
+        that eagerly update annotated regions.
+
+        No behavior change.
+
+        * dom/Document.cpp:
+        (WebCore::Document::updateAnnotatedRegions): Moved from FrameView.
+        (WebCore::Document::invalidateRenderingDependentRegions):
+        (WebCore::Document::invalidateScrollbarDependentRegions):
+        (WebCore::Document::updateZOrderDependentRegions):
+        * dom/Document.h:
+        (WebCore::Document::setAnnotatedRegionsDirty):
+        (WebCore::Document::annotatedRegionsDirty const):
+        (WebCore::Document::hasAnnotatedRegions const):
+        * page/FrameView.cpp:
+        (WebCore::FrameView::didLayout):
+        (WebCore::FrameView::didPaintContents):
+        (WebCore::FrameView::updateAnnotatedRegions): Deleted.
+        * page/FrameView.h:
+        * rendering/RenderElement.cpp: Drive-by header cleanup.
+        (WebCore::RenderElement::styleWillChange):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::scrollTo):
+        (WebCore::RenderLayer::setHasHorizontalScrollbar):
+        (WebCore::RenderLayer::setHasVerticalScrollbar):
+        (WebCore::RenderLayer::updateScrollbarsAfterLayout):
+        (WebCore::RenderLayer::calculateClipRects const):
+        * rendering/RenderListBox.cpp:
+        (WebCore::RenderListBox::setHasVerticalScrollbar):
+
+2019-01-15  David Kilzer  <ddkilzer@apple.com>
+
+        Let Xcode have its way with the WebCore project
+
+        * WebCore.xcodeproj/project.pbxproj:
+        - Change the lastKnownFileType for *.gperf and *.idl files from
+          "file" to "text".
+        - Resort source files into UUID order.
+
+2019-01-15  Youenn Fablet  <youenn@apple.com>
+
+        Correctly handle rotation for local video playback
+        https://bugs.webkit.org/show_bug.cgi?id=193412
+
+        Reviewed by Eric Carlson.
+
+        Update AVVideoCaptureSource to compute the size given to settings after rotating the sample.
+        This ensures computing the size of video elements appropriately.
+        Also makes sure to notify observers of size change whenever rotation happens as settings() call will provide a different size.
+        Covered by manual testing as we do not have yet emulation of local capture with rotation.
+
+        * platform/mediastream/RealtimeMediaSource.cpp:
+        (WebCore::RealtimeMediaSource::setIntrinsicSize):
+        * platform/mediastream/mac/AVVideoCaptureSource.mm:
+        (WebCore::AVVideoCaptureSource::settings):
+        (WebCore::AVVideoCaptureSource::computeSampleRotation):
+
+2019-01-15  Chris Dumez  <cdumez@apple.com>
+
+        Regression(PSON) View becomes blank after click a cross-site download link
+        https://bugs.webkit.org/show_bug.cgi?id=193361
+        <rdar://problem/47099573>
+
+        Reviewed by Geoff Garen.
+
+        * loader/FrameLoader.cpp:
+        (WebCore::FrameLoader::commitProvisionalLoad):
+        When restoring from PageCache, make sure we notify the client that the load was committed
+        *before* we tell it that the navigation is complete. This would confuse the ProvisionalPageProxy
+        logic in the UIProcess.
+
+2019-01-15  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][Out-of-flow] Ignore bottom when the vertical values are over-constrained
+        https://bugs.webkit.org/show_bug.cgi?id=193448
+
+        Reviewed by Antti Koivisto.
+
+        Add missing check. We should only resolve auto values. 
+
+        Test: fast/block/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html
+
+        * layout/FormattingContextGeometry.cpp:
+        (WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
+
+2019-01-15  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Audit: provide a way to determine whether a give node has event listeners
+        https://bugs.webkit.org/show_bug.cgi?id=193226
+        <rdar://problem/46800005>
+
+        Reviewed by Joseph Pecoraro.
+
+        Test: inspector/audit/run-dom.html
+
+        * inspector/InspectorAuditDOMObject.idl:
+        * inspector/InspectorAuditDOMObject.h:
+        * inspector/InspectorAuditDOMObject.cpp:
+        (WebCore::InspectorAuditDOMObject::hasEventListeners): Added.
+
+2019-01-15  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Audit: provide a way to query for all nodes with a given computed Accessibility role
+        https://bugs.webkit.org/show_bug.cgi?id=193228
+        <rdar://problem/46787787>
+
+        Reviewed by Joseph Pecoraro.
+
+        Test: inspector/audit/run-accessibility.html
+
+        * inspector/InspectorAuditAccessibilityObject.idl:
+        * inspector/InspectorAuditAccessibilityObject.h:
+        * inspector/InspectorAuditAccessibilityObject.cpp:
+        (WebCore::accessiblityObjectForNode): Added.
+        (WebCore::InspectorAuditAccessibilityObject::getElementsByComputedRole): Added.
+
+2019-01-15  Simon Fraser  <simon.fraser@apple.com>
+
+        Simplify isRunningAnimationOnRenderer()
+        https://bugs.webkit.org/show_bug.cgi?id=193435
+
+        Reviewed by Darin Adler.
+
+        All callers of CSSAnimationController::isRunningAnimationOnRenderer() pass AnimationBase::Running | AnimationBase::Paused,
+        so we can remove the parameter and just hardcode this behavior.
+        
+        This will simplify a later patch that needs to consider state changes between running and not running.
+        
+        No behavior change.
+
+        * page/animation/AnimationBase.h:
+        (WebCore::AnimationBase::isAnimatingProperty const):
+        * page/animation/CSSAnimationController.cpp:
+        (WebCore::CSSAnimationControllerPrivate::isRunningAnimationOnRenderer const):
+        (WebCore::CSSAnimationControllerPrivate::isRunningAcceleratedAnimationOnRenderer const):
+        (WebCore::CSSAnimationControllerPrivate::computeExtentOfAnimation const):
+        (WebCore::CSSAnimationController::isRunningAnimationOnRenderer const):
+        (WebCore::CSSAnimationController::isRunningAcceleratedAnimationOnRenderer const):
+        * page/animation/CSSAnimationController.h:
+        * page/animation/CSSAnimationControllerPrivate.h:
+        * page/animation/CompositeAnimation.cpp:
+        (WebCore::CompositeAnimation::isAnimatingProperty const):
+        * page/animation/CompositeAnimation.h:
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::currentTransform const):
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::updateGeometry):
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation const):
+        (WebCore::RenderLayerCompositor::isRunningTransformAnimation const):
+
+2019-01-15  Antti Koivisto  <antti@apple.com>
+
+        Remove unused fields from Scrollbar
+        https://bugs.webkit.org/show_bug.cgi?id=193442
+
+        Reviewed by Zalan Bujtas.
+
+        * platform/Scrollbar.cpp:
+        (WebCore::Scrollbar::Scrollbar):
+        * platform/Scrollbar.h:
+        (WebCore::Scrollbar::isCustomScrollbar const):
+
+        Make virtual so it doesn't need a bit.
+
+        (WebCore::Scrollbar::isAlphaLocked const): Deleted.
+        (WebCore::Scrollbar::setIsAlphaLocked): Deleted.
+        * platform/mac/ScrollAnimatorMac.mm:
+        (WebCore::ScrollAnimatorMac::shouldScrollbarParticipateInHitTesting):
+        * rendering/RenderScrollbar.cpp:
+        (WebCore::RenderScrollbar::RenderScrollbar):
+        * rendering/RenderScrollbar.h:
+
+2019-01-15  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC] Use the containing block's padding box to position out-of-flow elements.
+        https://bugs.webkit.org/show_bug.cgi?id=193431
+
+        Reviewed by Antti Koivisto.
+
+        If the element has 'position: absolute', the containing block is established by the nearest ancestor
+        with a 'position' of 'absolute', 'relative' or 'fixed', in the following way:
+
+        1. In the case that the ancestor is an inline element, the containing block is the bounding box around the padding
+        boxes of the first and the last inline boxes generated for that element. In CSS 2.2, if the inline element is split
+        across multiple lines, the containing block is undefined.
+
+        2. Otherwise, the containing block is formed by the padding edge of the ancestor.
+
+        This patch covers #2. 
+
+        Test: fast/block/block-only/out-of-flow-with-containing-block-border-padding.html
+
+        * layout/displaytree/DisplayBox.h:
+        (WebCore::Display::Box::width const):
+        (WebCore::Display::Box::height const):
+        (WebCore::Display::Box::contentBoxTop const):
+        (WebCore::Display::Box::contentBoxLeft const):
+        (WebCore::Display::Box::paddingBoxTop const):
+        (WebCore::Display::Box::paddingBoxLeft const):
+        (WebCore::Display::Box::paddingBoxBottom const):
+        (WebCore::Display::Box::paddingBoxRight const):
+        (WebCore::Display::Box::paddingBoxHeight const):
+        (WebCore::Display::Box::paddingBoxWidth const):
+        * page/FrameViewLayoutContext.cpp:
+        (WebCore::layoutUsingFormattingContext):
+
+2019-01-11  Antoine Quint  <graouts@apple.com>
+
+        Support parsing of additional values for the touch-action property
+        https://bugs.webkit.org/show_bug.cgi?id=193314
+        <rdar://problem/47176519>
+
+        Reviewed by Dean Jackson.
+
+        We add parsing support for the "none", "pan-x", "pan-y" and "pinch-zoom" values of the CSS "touch-action" property.
+
+        * WebCore.xcodeproj/project.pbxproj:
+        * css/CSSComputedStyleDeclaration.cpp:
+        (WebCore::touchActionFlagsToCSSValue):
+        (WebCore::ComputedStyleExtractor::valueForPropertyinStyle):
+        * css/CSSPrimitiveValueMappings.h:
+        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
+        (WebCore::CSSPrimitiveValue::operator OptionSet<TouchAction> const):
+        (WebCore::CSSPrimitiveValue::operator TouchAction const): Deleted.
+        * css/CSSProperties.json:
+        * css/CSSValueKeywords.in:
+        * css/StyleBuilderConverter.h:
+        (WebCore::StyleBuilderConverter::convertTouchAction):
+        * css/parser/CSSParserFastPaths.cpp:
+        (WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
+        (WebCore::CSSParserFastPaths::isKeywordPropertyID):
+        * css/parser/CSSPropertyParser.cpp:
+        (WebCore::consumeTouchAction):
+        * dom/Element.cpp:
+        (WebCore::Element::allowsDoubleTapGesture const):
+        * platform/TouchAction.h: Added.
+        * rendering/style/RenderStyle.h:
+        (WebCore::RenderStyle::touchActions const):
+        (WebCore::RenderStyle::setTouchActions):
+        (WebCore::RenderStyle::initialTouchActions):
+        (WebCore::RenderStyle::touchAction const): Deleted.
+        (WebCore::RenderStyle::setTouchAction): Deleted.
+        (WebCore::RenderStyle::initialTouchAction): Deleted.
+        * rendering/style/RenderStyleConstants.h:
+        * rendering/style/StyleRareNonInheritedData.cpp:
+        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
+        (WebCore::StyleRareNonInheritedData::operator== const):
+        * rendering/style/StyleRareNonInheritedData.h:
+
+2019-01-15  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Audit: create new IDL type for exposing special functionality in test context
+        https://bugs.webkit.org/show_bug.cgi?id=193149
+        <rdar://problem/46801218>
+
+        Reviewed by Joseph Pecoraro.
+
+        Tests: inspector/audit/run.html
+               inspector/audit/setup.html
+               inspector/audit/teardown.html
+
+        Create a new `AuditAgent` (and various subclasses for different inspection targets), as well
+        as `InspectorAuditAccessibilityObject` and `InspectorAuditDOMObject` objects that will
+        be injected into the test function to allow for more advanced testing.
+
+        * inspector/InspectorAuditAccessibilityObject.idl: Added.
+        * inspector/InspectorAuditAccessibilityObject.h: Added.
+        (WebCore::InspectorAuditAccessibilityObject::create):
+        * inspector/InspectorAuditAccessibilityObject.cpp: Added.
+        (WebCore::InspectorAuditAccessibilityObject::InspectorAuditAccessibilityObject):
+
+        * inspector/InspectorAuditDOMObject.idl: Added.
+        * inspector/InspectorAuditDOMObject.h: Added.
+        (WebCore::InspectorAuditDOMObject::create):
+        * inspector/InspectorAuditDOMObject.cpp: Added.
+        (WebCore::InspectorAuditDOMObject::InspectorAuditDOMObject):
+
+        * inspector/agents/page/PageAuditAgent.h: Added.
+        * inspector/agents/page/PageAuditAgent.cpp: Added.
+        (WebCore::PageAuditAgent::PageAuditAgent):
+        (WebCore::PageAuditAgent::injectedScriptForEval):
+        (WebCore::PageAuditAgent::populateAuditObject):
+        (WebCore::PageAuditAgent::muteConsole):
+        (WebCore::PageAuditAgent::unmuteConsole):
+
+        * inspector/agents/worker/WorkerAuditAgent.h: Added.
+        * inspector/agents/worker/WorkerAuditAgent.cpp: Added.
+        (WebCore::WorkerAuditAgent::WorkerAuditAgent):
+        (WebCore::WorkerAuditAgent::injectedScriptForEval):
+
+        * inspector/InspectorController.cpp:
+        (WebCore::InspectorController::createLazyAgents):
+
+        * inspector/WorkerInspectorController.cpp:
+        (WebCore::WorkerInspectorController::createLazyAgents):
+
+        * CMakeLists.txt:
+        * DerivedSources-input.xcfilelist:
+        * DerivedSources-output.xcfilelist:
+        * DerivedSources.make:
+        * Sources.txt:
+        * UnifiedSources-input.xcfilelist:
+        * WebCore.xcodeproj/project.pbxproj:
+
+2019-01-14  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [WHLSL] Implement the Type Checker
+        https://bugs.webkit.org/show_bug.cgi?id=193080
+
+        Reviewed by Dean Jackson.
+
+        This is a translation of https://github.com/gpuweb/WHLSL/blob/master/Source/Checker.mjs into C++.
+
+        The Checker passes types between nested expressions. An inner expression figures out what type it is, and
+        passes that information up to an outer expression. This is done via reading/writing into a HashMap,
+        because all the type information needs to be saved so that the Metal codegen can emit the correct types.
+
+        These types can have two forms: A regular type (like "int[]") or a ResolvableType. ResolvableTypes
+        represent literals, since a literal needs to know its context before it knows what type it should be. So,
+        if you have a function like "void foo(int x)" and you have a call like "foo(3)", the 3's ResolvableType
+        gets passed to the CallExpression, which then unifies it with the function's parameter type, thereby
+        resolving the 3 to be an int.
+
+        There are a few examples where multiple expressions will have the same type: "return (foo, 3)." If those
+        types are regular types, then it's no problem; we can just clone() the type and stick both in the HashMap.
+        However, if the type is a ResolvableType, an outer expression will only resolve that type once, so the two
+        ResolvableTypes can't be distinct. The Checker solves this problem by making a reference-counted wrapper
+        around ResolvableTypes and using that in the HashMap instead.
+
+        Once all the ResolvableTypes have been resolved, a second pass runs through the entire HashMap and assigns
+        the known types to all the expressions. LValues and their associated address spaces are held in a parallel
+        HashMap, and are assigned to the expression at the same time. The type is an Optional<AddressSpace> because
+        address spaces are only relevant if the value is an lvalue; if it's nullopt then that means the expression
+        is an rvalue.
+
+        No new tests because it isn't hooked up yet. Not enough of the compiler exists to have any meaningful sort
+        of test. When enough of the compiler is present, I'll port the reference implementation's test suite.
+
+        * Modules/webgpu/WHLSL/WHLSLChecker.cpp: Added.
+        (WebCore::WHLSL::resolveWithOperatorAnderIndexer):
+        (WebCore::WHLSL::resolveWithOperatorLength):
+        (WebCore::WHLSL::resolveWithReferenceComparator):
+        (WebCore::WHLSL::resolveByInstantiation):
+        (WebCore::WHLSL::checkSemantics):
+        (WebCore::WHLSL::checkOperatorOverload):
+        (WebCore::WHLSL::Checker::Checker):
+        (WebCore::WHLSL::Checker::visit):
+        (WebCore::WHLSL::Checker::assignTypes):
+        (WebCore::WHLSL::Checker::checkShaderType):
+        (WebCore::WHLSL::matchAndCommit):
+        (WebCore::WHLSL::Checker::recurseAndGetInfo):
+        (WebCore::WHLSL::Checker::getInfo):
+        (WebCore::WHLSL::Checker::assignType):
+        (WebCore::WHLSL::Checker::forwardType):
+        (WebCore::WHLSL::getUnnamedType):
+        (WebCore::WHLSL::Checker::finishVisitingPropertyAccess):
+        (WebCore::WHLSL::Checker::recurseAndWrapBaseType):
+        (WebCore::WHLSL::Checker::isBoolType):
+        (WebCore::WHLSL::Checker::recurseAndRequireBoolType):
+        (WebCore::WHLSL::check):
+        * Modules/webgpu/WHLSL/WHLSLChecker.h: Added.
+        * Modules/webgpu/WHLSL/WHLSLGatherEntryPointItems.cpp: Added.
+        (WebCore::WHLSL::Gatherer::Gatherer):
+        (WebCore::WHLSL::Gatherer::reset):
+        (WebCore::WHLSL::Gatherer::takeEntryPointItems):
+        (WebCore::WHLSL::Gatherer::visit):
+        (WebCore::WHLSL::gatherEntryPointItems):
+        * Modules/webgpu/WHLSL/WHLSLGatherEntryPointItems.h: Added.
+        (WebCore::WHLSL::EntryPointItem::EntryPointItem):
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+
+2019-01-14  Alex Christensen  <achristensen@webkit.org>
+
+        Split headerValueForVary into specialized functions for NetworkProcess and WebProcess/WebKitLegacy
+        https://bugs.webkit.org/show_bug.cgi?id=193429
+
+        Reviewed by Joseph Pecoraro.
+
+        headerValueForVary is a strange function that is causing trouble with my NetworkProcess global state removal project.
+        It currently accesses the cookie storage to see if there's a match in two different ways currently written as fallbacks.
+        In the WebProcess or in WebKitLegacy, it uses cookiesStrategy to access cookies via IPC or directly, respectively,
+        depending on the PlatformStrategies implementation of cookiesStrategy for that process.
+        In the NetworkProcess, it uses WebCore::NetworkStorageSession to access cookies directly.
+        Both of these cookie accessing methods use global state in the process, and I must split them to refactor them separately.
+        This patch does the split by passing in the method of cookie access: a CookiesStrategy& or a NetworkStorageSession&.
+        Further refactoring will be done in bug 193368 and bug 161106 to build on this and replace the global state with
+        member variables of the correct containing objects.
+
+        * loader/cache/CachedResource.cpp:
+        (WebCore::CachedResource::setResponse):
+        (WebCore::CachedResource::varyHeaderValuesMatch):
+        * platform/network/CacheValidation.cpp:
+        (WebCore::cookieRequestHeaderFieldValue):
+        (WebCore::headerValueForVary):
+        (WebCore::collectVaryingRequestHeaders):
+        (WebCore::verifyVaryingRequestHeaders):
+        * platform/network/CacheValidation.h:
+
+2019-01-14  Simon Fraser  <simon.fraser@apple.com>
+
+        Only run the node comparison code in FrameSelection::respondToNodeModification() for range selections
+        https://bugs.webkit.org/show_bug.cgi?id=193416
+
+        Reviewed by Wenson Hsieh.
+
+        The code inside the m_selection.firstRange() clause needs to only run for non-collapsed selections, and
+        it shows up on Speedometer profiles so optimize to only run this code if we have a selection range.
+
+        * editing/FrameSelection.cpp:
+        (WebCore::FrameSelection::respondToNodeModification):
+
+2019-01-14  Simon Fraser  <simon.fraser@apple.com>
+
+        Animation and other code is too aggressive about invalidating layer composition
+        https://bugs.webkit.org/show_bug.cgi?id=193343
+
+        Reviewed by Antoine Quint.
+        
+        We used to have the concept of a "SyntheticStyleChange", which was used to trigger
+        style updates for animation, and also to get compositing updated.
+        
+        That morphed into a call to Element::invalidateStyleAndLayerComposition(), which causes
+        a style update to result in a "RecompositeLayer" diff, which in turn triggers compositing work,
+        and dirties DOM touch event regions (which can be expensive to update).
+        
+        However, not all the callers of Element::invalidateStyleAndLayerComposition() need to trigger
+        compositing, and doing so from animations caused excessive touch event regions on yahoo.com,
+        which has several visibility:hidden elements with background-position animation.
+        
+        So fix callers of invalidateStyleAndLayerComposition() which don't care about compositing to instead
+        call just invalidateStyle().
+        
+        Also fix KeyframeAnimation::animate to correctly return true when animation state changes—it failed to
+        do so, because fireAnimationEventsIfNeeded() can run the state machine and change state.
+
+        * animation/KeyframeEffect.cpp:
+        (WebCore::invalidateElement):
+        * page/animation/AnimationBase.cpp:
+        (WebCore::AnimationBase::setNeedsStyleRecalc):
+        * page/animation/CSSAnimationController.cpp:
+        (WebCore::CSSAnimationControllerPrivate::updateAnimations):
+        (WebCore::CSSAnimationControllerPrivate::fireEventsAndUpdateStyle):
+        (WebCore::CSSAnimationControllerPrivate::pauseAnimationAtTime):
+        (WebCore::CSSAnimationControllerPrivate::pauseTransitionAtTime):
+        (WebCore::CSSAnimationController::cancelAnimations):
+        * page/animation/KeyframeAnimation.cpp:
+        (WebCore::KeyframeAnimation::animate):
+        * rendering/RenderImage.cpp:
+        (WebCore::RenderImage::imageChanged):
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::calculateClipRects const):
+        * rendering/svg/SVGResourcesCache.cpp:
+        (WebCore::SVGResourcesCache::clientStyleChanged):
+        * style/StyleTreeResolver.cpp:
+        (WebCore::Style::TreeResolver::createAnimatedElementUpdate):
+        * svg/SVGAnimateElementBase.cpp:
+        (WebCore::applyCSSPropertyToTarget):
+        (WebCore::removeCSSPropertyFromTarget):
+
+2019-01-14  Sihui Liu  <sihui_liu@apple.com>
+
+        IndexedDB: When deleting databases, some open databases might be missed
+        https://bugs.webkit.org/show_bug.cgi?id=193090
+
+        Reviewed by Brady Eidson.
+
+        We should close all databases with an open backing store instead of looking at which ones have an open database
+        connection. This is because a database might be in the process of getting a backing store before its connection
+        has been created.
+
+        * Modules/indexeddb/server/IDBServer.cpp:
+        (WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesModifiedSince):
+        (WebCore::IDBServer::IDBServer::closeAndDeleteDatabasesForOrigins):
+
+2019-01-14  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Remove redundant check for alignAttr and hiddenAttr in various isPresentationAttribute overrides
+        https://bugs.webkit.org/show_bug.cgi?id=193410
+
+        Reviewed by Simon Fraser.
+
+        Removed redundant checks for check for alignAttr and hiddenAttr in isPresentationAttribute overrides
+        in HTMLElement subclasses since HTMLElement::isPresentationAttribute already checks for those attributes.
+
+        * html/HTMLDivElement.cpp:
+        (WebCore::HTMLDivElement::isPresentationAttribute const): Deleted.
+        * html/HTMLDivElement.h:
+        * html/HTMLEmbedElement.cpp:
+        (WebCore::HTMLEmbedElement::isPresentationAttribute const): Deleted.
+        * html/HTMLEmbedElement.h:
+        * html/HTMLHRElement.cpp:
+        (WebCore::HTMLHRElement::isPresentationAttribute const):
+        * html/HTMLIFrameElement.cpp:
+        (WebCore::HTMLIFrameElement::isPresentationAttribute const):
+        * html/HTMLImageElement.cpp:
+        (WebCore::HTMLImageElement::isPresentationAttribute const):
+        * html/HTMLInputElement.cpp:
+        (WebCore::HTMLInputElement::isPresentationAttribute const):
+        * html/HTMLParagraphElement.cpp:
+        (WebCore::HTMLParagraphElement::isPresentationAttribute const): Deleted.
+        * html/HTMLParagraphElement.h:
+        * html/HTMLTableCaptionElement.cpp:
+        (WebCore::HTMLTableCaptionElement::isPresentationAttribute const): Deleted.
+        * html/HTMLTableCaptionElement.h:
+        * html/HTMLTableElement.cpp:
+        (WebCore::HTMLTableElement::isPresentationAttribute const):
+        * html/HTMLTablePartElement.cpp:
+        (WebCore::HTMLTablePartElement::isPresentationAttribute const):
+
+2019-01-14  Commit Queue  <commit-queue@webkit.org>
+
+        Unreviewed, rolling out r239901, r239909, r239910, r239912,
+        r239913, and r239914.
+        https://bugs.webkit.org/show_bug.cgi?id=193407
+
+        These revisions caused an internal failure (Requested by
+        Truitt on #webkit).
+
+        Reverted changesets:
+
+        "[Cocoa] Avoid importing directly from subumbrella frameworks"
+        https://bugs.webkit.org/show_bug.cgi?id=186016
+        https://trac.webkit.org/changeset/239901
+
+        "Tried to fix USE(APPLE_INTERNAL_SDK) builds after r239901."
+        https://trac.webkit.org/changeset/239909
+
+        "Tried to fix the build."
+        https://trac.webkit.org/changeset/239910
+
+        "Fixed iOS builds after r239910."
+        https://trac.webkit.org/changeset/239912
+
+        "More build fixing."
+        https://trac.webkit.org/changeset/239913
+
+        "Tried to fix USE(APPLE_INTERNAL_SDK) 32-bit builds."
+        https://trac.webkit.org/changeset/239914
+
+2019-01-14  Mark Lam  <mark.lam@apple.com>
+
+        Re-enable ability to build --cloop builds.
+        https://bugs.webkit.org/show_bug.cgi?id=192955
+
+        Reviewed by Saam barati and Keith Miller.
+
+        * Configurations/FeatureDefines.xcconfig:
+
+2019-01-14  Jer Noble  <jer.noble@apple.com>
+
+        https://bugs.webkit.org/show_bug.cgi?id=193403
+        <rdar://problem/46750743>
+
+        Continue fix in r239711 by using WeakPtr in SourceBufferPrivateAVFObjC.
+
+        Reviewed by Eric Carlson.
+
+        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
+        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
+        (WebCore::SourceBufferPrivateAVFObjC::setCDMSession):
+
+2019-01-14  Justin Fan  <justin_fan@apple.com>
+
+        [WebGPU] Map WebGPUBindGroupLayoutBindings from the BindGroupLayoutDescriptor for error checking and later referencing
+        https://bugs.webkit.org/show_bug.cgi?id=193405
+
+        Reviewed by Dean Jackson.
+
+        When creating a WebGPUBindGroupLayout, cache the WebGPUBindGroupLayoutDescriptor's list of BindGroupLayoutBindings
+        in a HashMap, keyed by binding number, for quick reference during the WebGPUProgrammablePassEncoder::setBindGroups 
+        implementation to follow. Also add error-checking e.g. detecting duplicate binding numbers in the same WebGPUBindGroupLayout
+        and non-existent binding numbers when creating the WebGPUBindGroup.
+
+        No new tests. BindGroups and BindGroupLayouts reflect the (canonical?) strategy of returning empty 
+        objects upon creation failure and reporting errors elswhere. Since error reporting is not yet implemented, 
+        the error checks aren't testable from LayoutTests right now. Expected behavior unchanged and covered by existing tests.
+
+        * Modules/webgpu/WebGPUDevice.cpp:
+        (WebCore::WebGPUDevice::createBindGroup const): 
+                Number of bindings must be consistent between bindings and layout bindings.
+                BindGroupBindings should only refer to existing BindGroupLayoutBindings.
+        * platform/graphics/gpu/GPUBindGroup.h: 
+        * platform/graphics/gpu/GPUBindGroupLayout.h:
+        (WebCore::GPUBindGroupLayout::bindingsMap const): Added. Cache map of BindGroupLayoutBindings.
+        * platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm: Disallow duplicate binding numbers in BindGroupLayoutBindings.
+        (WebCore::GPUBindGroupLayout::tryCreate):
+        (WebCore::GPUBindGroupLayout::GPUBindGroupLayout):
+
+2019-01-14  Myles C. Maxfield  <mmaxfield@apple.com>
+
+        [WHLSL] Assorted cleanup
+        https://bugs.webkit.org/show_bug.cgi?id=193389
+
+        Reviewed by Dean Jackson.
+
+        This is a bunch of non-behavior-changing cleanup.
+
+        - The compiler uses UniqueRef all over the place, and UniqueRef has an implicit operator T&. Therefore,
+          we don't need to static_cast<T&> everywhere.
+        - ConstantExpressionEnumerationMemberReference is the exact same thing as EnumerationMemberLiteral, so
+          this patch deletes the longer-named class in favor of the shorter-named class.
+        - Because of the header dependency tree, this patch moves EntryPointType into its own file so it can be
+          used by files that FunctionDeclaration depends on. Same thing for AddressSpace.
+        - EnumTypes have to have non-null base types. The parser will make sure this is always true.
+
+        No new tests because there is no behavior change.
+
+        * Modules/webgpu/WHLSL/AST/WHLSLAddressSpace.h: Copied from Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLBaseSemantic.h.
+        * Modules/webgpu/WHLSL/AST/WHLSLArrayType.h:
+        (WebCore::WHLSL::AST::ArrayType::type const):
+        (WebCore::WHLSL::AST::ArrayType::type):
+        * Modules/webgpu/WHLSL/AST/WHLSLAssignmentExpression.h:
+        (WebCore::WHLSL::AST::AssignmentExpression::left):
+        (WebCore::WHLSL::AST::AssignmentExpression::right):
+        * Modules/webgpu/WHLSL/AST/WHLSLBaseSemantic.h:
+        * Modules/webgpu/WHLSL/AST/WHLSLBuiltInSemantic.cpp:
+        (WebCore::WHLSL::AST::BuiltInSemantic::isAcceptableForShaderItemDirection const):
+        * Modules/webgpu/WHLSL/AST/WHLSLBuiltInSemantic.h:
+        * Modules/webgpu/WHLSL/AST/WHLSLConstantExpression.h:
+        (WebCore::WHLSL::AST::ConstantExpression::ConstantExpression):
+        (WebCore::WHLSL::AST::ConstantExpression::clone const):
+        (WebCore::WHLSL::AST::ConstantExpression::matches const):
+        * Modules/webgpu/WHLSL/AST/WHLSLConstantExpressionEnumerationMemberReference.h: Removed.
+        * Modules/webgpu/WHLSL/AST/WHLSLDereferenceExpression.h:
+        (WebCore::WHLSL::AST::DereferenceExpression::pointer):
+        * Modules/webgpu/WHLSL/AST/WHLSLDoWhileLoop.h:
+        (WebCore::WHLSL::AST::DoWhileLoop::body):
+        (WebCore::WHLSL::AST::DoWhileLoop::conditional):
+        * Modules/webgpu/WHLSL/AST/WHLSLEffectfulExpressionStatement.h:
+        (WebCore::WHLSL::AST::EffectfulExpressionStatement::effectfulExpression):
+        * Modules/webgpu/WHLSL/AST/WHLSLEntryPointType.h: Copied from Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLBaseSemantic.h.
+        * Modules/webgpu/WHLSL/AST/WHLSLEnumerationDefinition.h:
+        (WebCore::WHLSL::AST::EnumerationDefinition::EnumerationDefinition):
+        (WebCore::WHLSL::AST::EnumerationDefinition::type):
+        * Modules/webgpu/WHLSL/AST/WHLSLEnumerationMemberLiteral.h:
+        (WebCore::WHLSL::AST::EnumerationMemberLiteral::EnumerationMemberLiteral):
+        (WebCore::WHLSL::AST::EnumerationMemberLiteral::wrap):
+        (WebCore::WHLSL::AST::EnumerationMemberLiteral::left const):
+        (WebCore::WHLSL::AST::EnumerationMemberLiteral::right const):
+        (WebCore::WHLSL::AST::EnumerationMemberLiteral::clone const):
+        (WebCore::WHLSL::AST::EnumerationMemberLiteral::enumerationDefinition):
+        (WebCore::WHLSL::AST::EnumerationMemberLiteral::enumerationDefinition const):
+        (WebCore::WHLSL::AST::EnumerationMemberLiteral::enumerationMember):
+        (WebCore::WHLSL::AST::EnumerationMemberLiteral::enumerationMember const):
+        (WebCore::WHLSL::AST::EnumerationMemberLiteral::setEnumerationMember):
+        * Modules/webgpu/WHLSL/AST/WHLSLExpression.h:
+        (WebCore::WHLSL::AST::Expression::type):
+        (WebCore::WHLSL::AST::Expression::setType):
+        (WebCore::WHLSL::AST::Expression::addressSpace const):
+        (WebCore::WHLSL::AST::Expression::setAddressSpace):
+        * Modules/webgpu/WHLSL/AST/WHLSLFloatLiteralType.cpp:
+        (WebCore::WHLSL::AST::FloatLiteralType::conversionCost const):
+        * Modules/webgpu/WHLSL/AST/WHLSLFloatLiteralType.h:
+        (WebCore::WHLSL::AST::FloatLiteralType::preferredType):
+        * Modules/webgpu/WHLSL/AST/WHLSLForLoop.h:
+        (WebCore::WHLSL::AST::ForLoop::condition):
+        (WebCore::WHLSL::AST::ForLoop::increment):
+        (WebCore::WHLSL::AST::ForLoop::body):
+        * Modules/webgpu/WHLSL/AST/WHLSLFunctionDeclaration.h:
+        (WebCore::WHLSL::AST::FunctionDeclaration::type const):
+        (WebCore::WHLSL::AST::FunctionDeclaration::type):
+        * Modules/webgpu/WHLSL/AST/WHLSLIfStatement.h:
+        (WebCore::WHLSL::AST::IfStatement::conditional):
+        (WebCore::WHLSL::AST::IfStatement::body):
+        (WebCore::WHLSL::AST::IfStatement::elseBody):
+        * Modules/webgpu/WHLSL/AST/WHLSLIndexExpression.h:
+        (WebCore::WHLSL::AST::IndexExpression::indexExpression):
+        * Modules/webgpu/WHLSL/AST/WHLSLIntegerLiteralType.cpp:
+        (WebCore::WHLSL::AST::IntegerLiteralType::conversionCost const):
+        * Modules/webgpu/WHLSL/AST/WHLSLIntegerLiteralType.h:
+        (WebCore::WHLSL::AST::IntegerLiteralType::preferredType):
+        * Modules/webgpu/WHLSL/AST/WHLSLLogicalExpression.h:
+        (WebCore::WHLSL::AST::LogicalExpression::left):
+        (WebCore::WHLSL::AST::LogicalExpression::right):
+        * Modules/webgpu/WHLSL/AST/WHLSLLogicalNotExpression.h:
+        (WebCore::WHLSL::AST::LogicalNotExpression::operand):
+        * Modules/webgpu/WHLSL/AST/WHLSLMakeArrayReferenceExpression.h:
+        (WebCore::WHLSL::AST::MakeArrayReferenceExpression::lValue):
+        * Modules/webgpu/WHLSL/AST/WHLSLMakePointerExpression.h:
+        (WebCore::WHLSL::AST::MakePointerExpression::lValue):
+        * Modules/webgpu/WHLSL/AST/WHLSLPropertyAccessExpression.h:
+        (WebCore::WHLSL::AST::PropertyAccessExpression::base):
+        * Modules/webgpu/WHLSL/AST/WHLSLReadModifyWriteExpression.h:
+        (WebCore::WHLSL::AST::ReadModifyWriteExpression::lValue):
+        (WebCore::WHLSL::AST::ReadModifyWriteExpression::newValueExpression):
+        (WebCore::WHLSL::AST::ReadModifyWriteExpression::resultExpression):
+        * Modules/webgpu/WHLSL/AST/WHLSLReferenceType.h:
+        (WebCore::WHLSL::AST::ReferenceType::elementType const):
+        (WebCore::WHLSL::AST::ReferenceType::elementType):
+        * Modules/webgpu/WHLSL/AST/WHLSLResolvableType.h:
+        (WebCore::WHLSL::AST::ResolvableType::resolvedType const):
+        (WebCore::WHLSL::AST::ResolvableType::resolvedType):
+        * Modules/webgpu/WHLSL/AST/WHLSLResourceSemantic.cpp:
+        (WebCore::WHLSL::AST::ResourceSemantic::isAcceptableType const):
+        (WebCore::WHLSL::AST::ResourceSemantic::isAcceptableForShaderItemDirection const):
+        * Modules/webgpu/WHLSL/AST/WHLSLResourceSemantic.h:
+        * Modules/webgpu/WHLSL/AST/WHLSLReturn.h:
+        (WebCore::WHLSL::AST::Return::value):
+        * Modules/webgpu/WHLSL/AST/WHLSLSpecializationConstantSemantic.cpp:
+        (WebCore::WHLSL::AST::SpecializationConstantSemantic::isAcceptableForShaderItemDirection const):
+        * Modules/webgpu/WHLSL/AST/WHLSLSpecializationConstantSemantic.h:
+        * Modules/webgpu/WHLSL/AST/WHLSLStageInOutSemantic.cpp:
+        (WebCore::WHLSL::AST::StageInOutSemantic::isAcceptableForShaderItemDirection const):
+        * Modules/webgpu/WHLSL/AST/WHLSLStageInOutSemantic.h:
+        * Modules/webgpu/WHLSL/AST/WHLSLStructureElement.h:
+        (WebCore::WHLSL::AST::StructureElement::type):
+        * Modules/webgpu/WHLSL/AST/WHLSLSwitchStatement.h:
+        (WebCore::WHLSL::AST::SwitchStatement::value):
+        * Modules/webgpu/WHLSL/AST/WHLSLTernaryExpression.h:
+        (WebCore::WHLSL::AST::TernaryExpression::predicate):
+        (WebCore::WHLSL::AST::TernaryExpression::bodyExpression):
+        (WebCore::WHLSL::AST::TernaryExpression::elseExpression):
+        * Modules/webgpu/WHLSL/AST/WHLSLTypeDefinition.h:
+        (WebCore::WHLSL::AST::TypeDefinition::type):
+        * Modules/webgpu/WHLSL/AST/WHLSLUnsignedIntegerLiteralType.cpp:
+        (WebCore::WHLSL::AST::UnsignedIntegerLiteralType::conversionCost const):
+        * Modules/webgpu/WHLSL/AST/WHLSLUnsignedIntegerLiteralType.h:
+        (WebCore::WHLSL::AST::UnsignedIntegerLiteralType::preferredType):
+        * Modules/webgpu/WHLSL/AST/WHLSLVariableDeclaration.h:
+        (WebCore::WHLSL::AST::VariableDeclaration::type):
+        (WebCore::WHLSL::AST::VariableDeclaration::initializer):
+        (WebCore::WHLSL::AST::VariableDeclaration::isAnonymous const):
+        * Modules/webgpu/WHLSL/AST/WHLSLWhileLoop.h:
+        (WebCore::WHLSL::AST::WhileLoop::conditional):
+        (WebCore::WHLSL::AST::WhileLoop::body):
+        * Modules/webgpu/WHLSL/WHLSLCheckDuplicateFunctions.cpp:
+        (WebCore::WHLSL::checkDuplicateFunctions):
+        * Modules/webgpu/WHLSL/WHLSLInferTypes.cpp:
+        (WebCore::WHLSL::commit):
+        (WebCore::WHLSL::inferTypesForTypeArguments):
+        (WebCore::WHLSL::inferTypesForCall):
+        * Modules/webgpu/WHLSL/WHLSLNameResolver.cpp:
+        (WebCore::WHLSL::NameResolver::visit):
+        (WebCore::WHLSL::resolveNamesInTypes):
+        (WebCore::WHLSL::resolveNamesInFunctions):
+        * Modules/webgpu/WHLSL/WHLSLNameResolver.h:
+        * Modules/webgpu/WHLSL/WHLSLParser.h:
+        * Modules/webgpu/WHLSL/WHLSLProgram.h:
+        (WebCore::WHLSL::Program::append):
+        * Modules/webgpu/WHLSL/WHLSLSynthesizeEnumerationFunctions.cpp:
+        (WebCore::WHLSL::synthesizeEnumerationFunctions):
+        * Modules/webgpu/WHLSL/WHLSLSynthesizeStructureAccessors.cpp:
+        (WebCore::WHLSL::synthesizeStructureAccessors):
+        * Modules/webgpu/WHLSL/WHLSLVisitor.cpp:
+        (WebCore::WHLSL::Visitor::visit):
+        * Modules/webgpu/WHLSL/WHLSLVisitor.h:
+        * WebCore.xcodeproj/project.pbxproj:
+
+2019-01-14  Zan Dobersek  <zdobersek@igalia.com>
+
+        DOMCacheStorage: use-after-move in doSequentialMatch()
+        https://bugs.webkit.org/show_bug.cgi?id=193396
+
+        Reviewed by Youenn Fablet.
+
+        Depending on the platform- and compiler-specific calling conventions,
+        the doSequentialMatch() code can move out the Vector<Ref<DOMCache>>
+        object into the callback lambda before the DOMCache object at the
+        specified index is retrieved for the DOMCache::doMatch() invocation.
+
+        This problem is now avoided by retrieving reference to the target
+        DOMCache object in an earlier expression.
+
+        * Modules/cache/DOMCacheStorage.cpp:
+        (WebCore::doSequentialMatch):
+
+2019-01-14  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][BFC] Add basic box-sizing support.
+        https://bugs.webkit.org/show_bug.cgi?id=193392
+
+        Reviewed by Antti Koivisto.
+
+        No min/max support yet.
+
+        Test: fast/block/block-only/box-sizing-inflow-out-of-flow-simple.html
+
+        * layout/FormattingContextGeometry.cpp:
+        (WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
+        (WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedHorizontalGeometry):
+        * layout/blockformatting/BlockFormattingContextGeometry.cpp:
+        (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):
+        (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin):
+        * page/FrameViewLayoutContext.cpp:
+        (WebCore::layoutUsingFormattingContext):
+
+2019-01-14  Thibault Saunier  <tsaunier@igalia.com>
+
+        [GStreamer][WebRTC] Override DeviceType() in RealtimeMediaSource implementations
+        https://bugs.webkit.org/show_bug.cgi?id=193397
+
+        This was necessary but wasn't done.
+
+        Reviewed by Philippe Normand.
+
+        No test required as this fixes a regression in all WebRTC tests when built in debug mode.
+
+        * platform/mediastream/gstreamer/GStreamerAudioCaptureSource.h:
+        * platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h:
+
 2019-01-14  Zan Dobersek  <zdobersek@igalia.com>
 
         Unreviewed WPE debug build fix after r239921.