[curl] Unify CookieJarCurlDatabase and the abstract class CookieJarCurl
[WebKit-https.git] / Source / WebCore / ChangeLog
index 04a320d..d11f4bc 100644 (file)
@@ -1,3 +1,624 @@
+2018-11-14  Fujii Hironori  <Hironori.Fujii@sony.com>
+
+        [curl] Unify CookieJarCurlDatabase and the abstract class CookieJarCurl
+        https://bugs.webkit.org/show_bug.cgi?id=191620
+
+        Reviewed by Alex Christensen.
+
+        Remove a abstract class CookieJarCurl which is not needed anymore.
+        And, rename CookieJarCurlDatabase to CookieJarCurl.
+
+        No new tests because there's no behaviour change in WebCore.
+
+        * platform/Curl.cmake: Replaced CookieJarCurlDatabase.cpp with CookieJarCurl.cpp.
+        * platform/network/curl/CookieJarCurl.cpp: Renamed from Source/WebCore/platform/network/curl/CookieJarCurlDatabase.cpp.
+        * platform/network/curl/CookieJarCurl.h: Merged CookieJarCurl.h and CookieJarCurlDatabase.h.
+        * platform/network/curl/CookieJarCurlDatabase.h: Removed.
+        * platform/network/curl/NetworkStorageSessionCurl.cpp:
+        (WebCore::NetworkStorageSession::NetworkStorageSession): Replaced CookieJarCurlDatabase with CookieJarCurl.
+
+2018-11-14  Christopher Reid  <chris.reid@sony.com>
+
+        [WPE] Remove glib usage in PlatformKeyboardEventWPE.cpp
+        https://bugs.webkit.org/show_bug.cgi?id=191606
+
+        Reviewed by Michael Catanzaro.
+
+        No behavior change.
+
+        Use StringBuilder::append(UChar32) as a generic way to convert a uint32_t code point to WTFString.
+
+        * platform/wpe/PlatformKeyboardEventWPE.cpp:
+        (WebCore::PlatformKeyboardEvent::keyValueForWPEKeyCode):
+        (WebCore::PlatformKeyboardEvent::singleCharacterString):
+
+2018-11-13  Zalan Bujtas  <zalan@apple.com>
+
+        [LFC][IFC] Construct dedicated runs when the inline element requires it (part 2)
+        https://bugs.webkit.org/show_bug.cgi?id=191623
+
+        Reviewed by Antti Koivisto.
+
+        This patch expands the breaking behaviour to support separate start/end breaks.
+
+        <span>parent </span><span style="padding: 10px;">start<span> middle </span>end</span><span> parent</span>
+
+        input to line breaking -> <parent start middle end parent>
+        output of line breaking (considering infinite constraint) -> <parent start middle end parent>
+        due to padding, final runs -> <parent><start middle end><parent>
+
+        "parent" -> n/a
+        "start" -> BreakAtStart
+        " middle " -> n/a
+        "end" -> BreakAtEnd
+        "parent" -> n/a
+
+        Another example:
+        <span>parent </span><span style="padding-right: 10px;">start<span> middle </span>end</span><span> parent</span>
+
+        line breaking -> <parent start middle end parent>
+        due to padding-right, final runs -> <parent start middle end><parent>
+
+        "parent" -> n/a
+        "start" -> n/a
+        " middle " -> n/a
+        "end" -> BreakAtEnd
+        "parent" -> n/a
+
+        * layout/inlineformatting/InlineFormattingContext.cpp:
+        (WebCore::Layout::InlineFormattingContext::splitInlineRunIfNeeded const):
+        (WebCore::Layout::InlineFormattingContext::collectInlineContent const): Move to a recursive algorithm (which is fine, inline contents don't tend to be too deep)
+        (WebCore::Layout::InlineFormattingContext::contentRequiresSeparateRun const): Deleted.
+        * layout/inlineformatting/InlineFormattingContext.h:
+        * layout/inlineformatting/InlineFormattingState.cpp:
+        (WebCore::Layout::InlineFormattingState::detachingRules const):
+        * layout/inlineformatting/InlineFormattingState.h:
+        (WebCore::Layout::InlineFormattingState::lastInlineItem const):
+        (WebCore::Layout::InlineFormattingState::addDetachingRule):
+
+2018-11-14  Youenn Fablet  <youenn@apple.com>
+
+        Add support for RTCRtpCodecParameters.sdpFmtpLine
+        https://bugs.webkit.org/show_bug.cgi?id=191591
+
+        Reviewed by Eric Carlson.
+
+        Covered by rebased test.
+
+        * Modules/mediastream/RTCRtpCodecParameters.h:
+        * Modules/mediastream/RTCRtpCodecParameters.idl:
+        * Modules/mediastream/libwebrtc/LibWebRTCUtils.cpp:
+        (WebCore::toRTCCodecParameters):
+
+2018-11-14  Youenn Fablet  <youenn@apple.com>
+
+        Add support for transport and peerConnection stats
+        https://bugs.webkit.org/show_bug.cgi?id=191592
+
+        Reviewed by Alex Christensen.
+
+        Covered by rebased tests.
+
+        * Modules/mediastream/RTCStatsReport.h:
+        (WebCore::RTCStatsReport::TransportStats::TransportStats):
+        (WebCore::RTCStatsReport::PeerConnectionStats::PeerConnectionStats):
+        * Modules/mediastream/RTCStatsReport.idl:
+        * Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.cpp:
+        (WebCore::fillRTCTransportStats):
+        (WebCore::fillRTCPeerConnectionStats):
+        (WebCore::LibWebRTCStatsCollector::OnStatsDelivered):
+
+2018-11-14  Ali Juma  <ajuma@chromium.org>
+
+        Transform of composited layer not updated when layer also needs repaint
+        https://bugs.webkit.org/show_bug.cgi?id=191598
+
+        Reviewed by Simon Fraser.
+
+        Trigger a compositing geometry update whenever a RenderLayer's transform changes,
+        even when other parts of its style have changed in a way that produces a
+        StyleDifference greater than RecompositeLayer.
+
+        Test: compositing/geometry/transform-and-repaint-updates-geometry.html
+
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::layerStyleChanged):
+
+2018-11-13  Jiewen Tan  <jiewen_tan@apple.com>
+
+        [WebAuthN] Support CTAP HID authenticators on macOS
+        https://bugs.webkit.org/show_bug.cgi?id=188623
+        <rdar://problem/43353777>
+
+        Reviewed by Brent Fulgham and Chris Dumez.
+
+        This patch removes AuthenticatorCoordinatorClient::~AuthenticatorCoordinatorClient to ignore
+        any incompleted CompletionHandlers as calling them in destructors could cause unexpected cyclic
+        dependency. Also, it adds a hack to temporarily deal with nullable userhandle.
+
+        Tests: http/wpt/webauthn/ctap-hid-failure.https.html
+               http/wpt/webauthn/ctap-hid-success.https.html
+               http/wpt/webauthn/public-key-credential-create-failure-hid-silent.https.html
+               http/wpt/webauthn/public-key-credential-create-failure-hid.https.html
+               http/wpt/webauthn/public-key-credential-create-success-hid.https.html
+               http/wpt/webauthn/public-key-credential-get-failure-hid-silent.https.html
+               http/wpt/webauthn/public-key-credential-get-failure-hid.https.html
+               http/wpt/webauthn/public-key-credential-get-success-hid.https.html
+
+        * Modules/webauthn/AuthenticatorCoordinatorClient.cpp:
+        (WebCore::AuthenticatorCoordinatorClient::~AuthenticatorCoordinatorClient): Deleted.
+        * Modules/webauthn/AuthenticatorCoordinatorClient.h:
+        * Modules/webauthn/PublicKeyCredentialCreationOptions.h:
+        * Modules/webauthn/fido/DeviceResponseConverter.cpp:
+        (fido::readCTAPGetAssertionResponse):
+        * Modules/webauthn/fido/FidoConstants.h:
+
+2018-11-13  Ross Kirsling  <ross.kirsling@sony.com>
+
+        [WebRTC] Provide default implementation of LibWebRTCProvider
+        https://bugs.webkit.org/show_bug.cgi?id=191611
+
+        Reviewed by Michael Catanzaro.
+
+        Refactor LibWebRTCProvider such that platform-specific implementations need not worry about specifying defaults.
+
+        * PlatformWin.cmake:
+        * platform/GStreamer.cmake:
+        * platform/SourcesGLib.txt:
+        * platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
+        * platform/mediastream/libwebrtc/LibWebRTCProviderCocoa.cpp:
+        * platform/mediastream/libwebrtc/LibWebRTCProviderGStreamer.cpp: Renamed from Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderGlib.cpp.
+        * platform/mediastream/libwebrtc/LibWebRTCProviderGStreamer.h: Renamed from Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProviderGlib.h.
+        * platform/mediastream/libwebrtc/LibWebRTCProviderWin.cpp: Removed.
+
+2018-11-13  Timothy Hatcher  <timothy@apple.com>
+
+        Use a light scrollbar for transparent web views in dark mode.
+        https://bugs.webkit.org/show_bug.cgi?id=191559
+        rdar://problem/46000489
+
+        Reviewed by Dean Jackson.
+
+        Test: css-dark-mode/supported-color-schemes-scrollbar.html
+
+        * css/CSSProperties.json: Marked supported-color-schemes as a custom Value.
+        * css/StyleBuilderCustom.h:
+        (WebCore::StyleBuilderCustom::applyValueSupportedColorSchemes):
+        * editing/cocoa/WebContentReaderCocoa.mm: Use FrameView's useDarkAppearance().
+        (WebCore::createFragment):
+        * inspector/InspectorOverlay.cpp:
+        (WebCore::InspectorOverlay::paint): Use FrameView's useDarkAppearance().
+        * page/FrameView.cpp:
+        (WebCore::FrameView::recalculateScrollbarOverlayStyle): Use a light scrollbar for
+        transparent web views in dark mode.
+        (WebCore::FrameView::rendererForSupportedColorSchemes const): Added.
+        Return the body for document element renderer.
+        (WebCore::FrameView::useDarkAppearance const): Use rendererForSupportedColorSchemes.
+        (WebCore::FrameView::styleColorOptions const): Added. Ditto.
+        * page/FrameView.h:
+        * rendering/style/RenderStyle.cpp:
+        (WebCore::rareInheritedDataChangeRequiresRepaint): Drive-by fix. Added supportedColorSchemes.
+        * rendering/style/RenderStyle.h:
+        (WebCore::RenderStyle::setHasExplicitlySetSupportedColorSchemes): Added.
+        (WebCore::RenderStyle::hasExplicitlySetSupportedColorSchemes const): Added.
+        (WebCore::RenderStyle::NonInheritedFlags::operator== const): Added supportedColorSchemes.
+        * svg/graphics/SVGImage.cpp:
+        (WebCore::SVGImage::draw): Use FrameView's useDarkAppearance().
+        * testing/Internals.cpp:
+        (WebCore::Internals::setViewIsTransparent): Added.
+        (WebCore::Internals::scrollbarOverlayStyle const): Added.
+        * testing/Internals.h:
+        * testing/Internals.idl: Added setViewIsTransparent and scrollbarOverlayStyle.
+
+2018-11-13  Ross Kirsling  <ross.kirsling@sony.com>
+
+        [AppleWin] Unreviewed build fix after r238108.
+
+        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
+        (printLayer):
+        (PlatformCALayerWin::embeddedViewID const):
+        * platform/graphics/ca/win/PlatformCALayerWin.h:
+
+2018-11-13  Youenn Fablet  <youenn@apple.com>
+
+        RTCPeerConnection.getTransceivers is not always exposing all transceivers
+        https://bugs.webkit.org/show_bug.cgi?id=191589
+
+        Reviewed by Eric Carlson.
+
+        Implement the collect transceiver algorithm using libwebrtc backend.
+        Call this algorithm everytime transceivers are retrieved from JS.
+        For Plan B, make this a no-op as this is not supported.
+        Introduce senders/receivers/transceivers getters where we just look at already created transceivers.
+
+        Covered by existing and rebased tests.
+
+        * Modules/mediastream/PeerConnectionBackend.h:
+        (WebCore::PeerConnectionBackend::collectTransceivers):
+        * Modules/mediastream/RTCPeerConnection.cpp:
+        (WebCore::RTCPeerConnection::getSenders const):
+        (WebCore::RTCPeerConnection::getReceivers const):
+        (WebCore::RTCPeerConnection::getTransceivers const):
+        * Modules/mediastream/RTCPeerConnection.h:
+        * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
+        (WebCore::LibWebRTCMediaEndpoint::collectTransceivers):
+        * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
+        * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
+        (WebCore::LibWebRTCPeerConnectionBackend::addTrack):
+        (WebCore::LibWebRTCPeerConnectionBackend::existingTransceiver):
+        (WebCore::LibWebRTCPeerConnectionBackend::collectTransceivers):
+        (WebCore::LibWebRTCPeerConnectionBackend::applyRotationForOutgoingVideoSources):
+        (WebCore::LibWebRTCPeerConnectionBackend::shouldOfferAllowToReceive const):
+        * Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:
+
+2018-11-13  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        [iOS] Do not show selection UI for editable elements with opacity near zero
+        https://bugs.webkit.org/show_bug.cgi?id=191442
+        <rdar://problem/45958625>
+
+        Reviewed by Simon Fraser.
+
+        Tests: editing/selection/ios/do-not-zoom-to-focused-hidden-contenteditable.html
+               editing/selection/ios/hide-selection-after-hiding-contenteditable.html
+               editing/selection/ios/hide-selection-in-contenteditable-nested-transparency.html
+               editing/selection/ios/hide-selection-in-hidden-contenteditable-frame.html
+               editing/selection/ios/hide-selection-in-hidden-contenteditable.html
+
+        * rendering/RenderObject.cpp:
+        (WebCore::RenderObject::isTransparentRespectingParentFrames const):
+
+        Add a helper function to determine whether a RenderObject is contained within a transparent layer, taking parent
+        frames into account. A layer is considered transparent if its opacity is less than a small threshold (i.e. 0.01).
+        Opacity on ancestor elements is applied multiplicatively.
+
+        * rendering/RenderObject.h:
+
+2018-11-13  Eric Carlson  <eric.carlson@apple.com>
+
+        [MediaStream] Observer AVCaptureDevice "suspended" property
+        https://bugs.webkit.org/show_bug.cgi?id=191587
+        <rdar://problem/46030598>
+
+        Reviewed by Youenn Fablet.
+
+        No new tests, AVCapture can only be tested manually.
+
+        * platform/mediastream/mac/AVCaptureDeviceManager.h:
+        * platform/mediastream/mac/AVCaptureDeviceManager.mm:
+        (WebCore::AVCaptureDeviceManager::captureDevicesInternal): Don't notify of devices "changes"
+        the first time the device list is scanned.
+        (WebCore::deviceIsAvailable): Don't check for "isInUseByAnotherApplication", it doesn't
+        change device availability.
+        (WebCore::AVCaptureDeviceManager::beginObservingDevices): New, observe "suspended" on all 
+        devices and add them to the cached list.
+        (WebCore::AVCaptureDeviceManager::stopObservingDevices): New, opposite of above.
+        (WebCore::AVCaptureDeviceManager::refreshCaptureDevices): Watch for changes in the list of
+        devices.
+        (WebCore::AVCaptureDeviceManager::~AVCaptureDeviceManager): Stop observing all cached devices.
+        (WebCore::AVCaptureDeviceManager::registerForDeviceNotifications):
+        (-[WebCoreAVCaptureDeviceManagerObserver disconnect]):
+        (-[WebCoreAVCaptureDeviceManagerObserver deviceConnectedDidChange:]):
+        (-[WebCoreAVCaptureDeviceManagerObserver observeValueForKeyPath:ofObject:change:context:]):
+        (WebCore::AVCaptureDeviceManager::refreshAVCaptureDevicesOfType): Deleted.
+        (WebCore::AVCaptureDeviceManager::deviceConnected): Deleted.
+        (WebCore::AVCaptureDeviceManager::deviceDisconnected): Deleted.
+        (-[WebCoreAVCaptureDeviceManagerObserver deviceDisconnected:]): Deleted.
+        (-[WebCoreAVCaptureDeviceManagerObserver deviceConnected:]): Deleted.
+
+        * platform/mediastream/mac/AVVideoCaptureSource.h:
+        * platform/mediastream/mac/AVVideoCaptureSource.mm:
+        (WebCore::AVVideoCaptureSource::~AVVideoCaptureSource): Stop observing "running" (not "rate")
+        and "suspended".
+        (WebCore::AVVideoCaptureSource::setupSession): Observe "running" (not "rate"), and "suspended".
+        (WebCore::AVVideoCaptureSource::captureDeviceSuspendedDidChange):
+        (-[WebCoreAVVideoCaptureSourceObserver observeValueForKeyPath:ofObject:change:context:]):
+
+2018-11-13  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: REGRESSION(r238122): fetching the CertificateInfo triggers an ASSERT in workers
+        https://bugs.webkit.org/show_bug.cgi?id=191597
+
+        Reviewed by Joseph Pecoraro.
+
+        When WebInspector is open, the `CertificateInfo` for every `ResourceResponse` is now fetched,
+        meaning that we may try to fetch in situations previously unexpected.
+
+        * platform/network/cocoa/ResourceResponseCocoa.mm:
+        (WebCore::ResourceResponse::platformCertificateInfo const):
+
+2018-11-13  Timothy Hatcher  <timothy@apple.com>
+
+        Treat supported-color-schemes as the second highest priority property.
+        https://bugs.webkit.org/show_bug.cgi?id=191556
+        rdar://problem/46000076
+
+        Reviewed by Dean Jackson.
+
+        Test: css-dark-mode/supported-color-schemes-priority.html
+
+        * css/CSSProperties.json: Make supported-color-schemes high-priority and add a comment.
+        * css/StyleResolver.cpp:
+        (WebCore::StyleResolver::applyMatchedProperties): Manually handle supported-color-schemes
+        after -webkit-ruby-position, before other properties, so it can affect resolved colors.
+
+2018-11-13  Charlie Turner  <cturner@igalia.com>
+
+        [EME][GStreamer] Make CDMInstance's available in decryptors, and factor out some EME utility classes.
+        https://bugs.webkit.org/show_bug.cgi?id=191316
+
+        Reviewed by Xabier Rodriguez-Calvar.
+
+        Another preparation in patch getting ready to move the decryption
+        logic behind the CDMInstance and out of the GStreamer decryptors
+        themselves. The first step taken here is to arrange for the
+        instances to always be available in the decryptors when they need
+        to decrypt content.
+
+        In doing so, there were a number of hairy bits of code that could
+        use some abstraction, so the opportunity was taken to do that as
+        well.
+
+        Covered by tests in media/encrypted-media and
+        imported/w3c/web-platform-tests/encrypted-media.
+
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+        (WebCore::MediaPlayerPrivateGStreamer::handleMessage): Remove
+        drm-key-needed since it was not being used anywhere.
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
+        (WebCore::MediaPlayerPrivateGStreamerBase::handleSyncMessage):
+        Factor out the parsing of decryption system information from
+        GStreamer, since it was not clear what that code was doing unless
+        you squinted pretty hard. Also remove the duplicated
+        initialization-data-encountered posting.
+        (WebCore::MediaPlayerPrivateGStreamerBase::initializationDataEncountered):
+        Refactored to make it a more general method and usable in more
+        situations. It now has an optional to stop it from eliding init
+        datas for a different key system. This is required the first time
+        we post them, since if a CDM instance has already been set, and if
+        the stream init datas are for different systems, we ended up never
+        posting an encrypted event.
+        (WebCore::MediaPlayerPrivateGStreamerBase::attemptToDecryptWithLocalInstance):
+        Actually send a CDMInstance now when in regular playback mode.
+        (WebCore::MediaPlayerPrivateGStreamerBase::dispatchDecryptionKey):
+        Remove m_needToSendCredentials, it was not being used.
+        (WebCore::MediaPlayerPrivateGStreamerBase::handleProtectionEvent):
+        Refactored to use the new initializationDataEncountered.
+        (WebCore::MediaPlayerPrivateGStreamerBase::reportWaitingForKey):
+        Log the waiting state, since it was currently not clear what that
+        logging message was even telling you!
+        (WebCore::extractEventsAndSystemsFromMessage): Deleted.
+        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
+        * platform/graphics/gstreamer/eme/GStreamerEMEUtilities.h:
+        (WebCore::InitData::InitData): New class that encapsulates both
+        single instantiation and streaming instantiation.
+        (WebCore::InitData::append): Used for the streaming mode, when you
+        are concatenating init datas together.
+        (WebCore::InitData::payload const):
+        (WebCore::InitData::systemId const):
+        (WebCore::InitData::payloadContainerType const):
+        (WebCore::InitData::isFromDifferentContainer):
+        (WebCore::ProtectionSystemEvents::ProtectionSystemEvents):
+        (WebCore::ProtectionSystemEvents::events const):
+        (WebCore::ProtectionSystemEvents::availableSystems const):
+        * platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:
+        (webkitMediaCommonEncryptionDecryptTransformInPlace): If you post
+        waiting-for-key after requesting a CDM instance, it will flap back
+        to not waiting for a key almost immediately, didn't make sense
+        positing after requesting an instance. Also post key-received when
+        we receive the key.
+        (webkitMediaCommonEncryptionDecryptSinkEventHandler): It has now
+        been arranged that a CDMInstance will always be present in an OOB
+        message, so parse it out here.
+        * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
+        (WebCore::MediaPlayerPrivateGStreamerMSE::attemptToDecryptWithInstance):
+        As above, make sure when posting the OOB that a CDMInstance is present.
+
+2018-11-13  Charlie Turner  <cturner@igalia.com>
+
+        Various compiler warnings/errors fixes.
+        https://bugs.webkit.org/show_bug.cgi?id=191583
+
+        Reviewed by Frédéric Wang.
+
+        * Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
+        (WebCore::IDBServer::MemoryIDBBackingStore::clearObjectStore):
+        ASSERT is only compiled in DEBUG mode, so guarding with
+        !LOG_DISABLED is wrong.
+        * rendering/RenderLayerCompositor.cpp:
+        (WebCore::RenderLayerCompositor::updateCompositingLayers):
+        showPaintOrderTree is only compiled in ENABLE(TREE_DEBUGGING)
+        mode, so guarding with !LOG_DISABLED was wrong.
+        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
+        Ditto, this time with member .depth.
+        (WebCore::RenderLayerCompositor::traverseUnchangedSubtree): Ditto.
+        * rendering/svg/SVGRenderSupport.cpp:
+        (WebCore::SVGRenderSupport::styleChanged): Add another unused
+        parameter.
+
+2018-11-12  Antoine Quint  <graouts@apple.com>
+
+        [Web Animations] Don't schedule animation frames or update style while an accelerated animation is running
+        https://bugs.webkit.org/show_bug.cgi?id=191542
+        <rdar://problem/45356027>
+
+        Reviewed by Simon Fraser.
+
+        Test: animations/no-style-recalc-during-accelerated-animation.html
+
+        In order to be more power-efficient, we stop scheduling calls to updateAnimationsAndSendEvents() when running only accelerated
+        animations. To do that, we prevent scheduling further animation resolution if we're in the process of updating animations, and
+        when we are done, call the new DocumentTimeline::scheduleNextTick() method that will check whether we have only accelerated
+        animations running, and in that case check which of those animations needs an update the soonest and starts a timer scheduled
+        for that time when we'll schedule animation resolution.
+
+        By default, animations compute the time until their natural completion but in the case of CSS Animations, we want to make sure
+        we also update animations in-flight to dispatch "animationiteration" events.
+
+        * animation/AnimationEffect.h: Make the simpleIterationProgress() public so it can be called by WebAnimation::timeToNextTick().
+        * animation/DocumentTimeline.cpp:
+        (WebCore::DocumentTimeline::DocumentTimeline): Create the m_tickScheduleTimer and set it up to call scheduleAnimationResolutionIfNeeded().
+        (WebCore::DocumentTimeline::suspendAnimations): If we don't already have a cached current time, cache the current time.
+        (WebCore::DocumentTimeline::resumeAnimations): Reset the cached current time to ensure we'll get a fresh one when updating animations next.
+        (WebCore::DocumentTimeline::liveCurrentTime const): Factor the code to compute the current time out of currentTime() so that we can
+        cache the current time in suspendAnimations() without also automatically clearing the current time.
+        (WebCore::DocumentTimeline::currentTime): Use liveCurrentTime() and cacheCurrentTime() since much of the code from this function has been
+        factored out into those. Additionally, we were failing to clear the current time if called inside an animation frame, which we now do correctly
+        by virtue of using cacheCurrentTime(). This fixes some flakiness.
+        (WebCore::DocumentTimeline::cacheCurrentTime): Factor the code to cache the current time out of currentTime(). 
+        (WebCore::DocumentTimeline::maybeClearCachedCurrentTime): No need to clear the current time if we get suspended.
+        (WebCore::DocumentTimeline::scheduleAnimationResolutionIfNeeded): Prevent scheduling an animation update if we're in the middle of one already,
+        scheduleNextTick() will be called after animations are updated to see if we should schedule an animation update instead.
+        (WebCore::DocumentTimeline::unscheduleAnimationResolution): Cancel the m_tickScheduleTimer if we need to unschedule animation resolution.
+        (WebCore::DocumentTimeline::animationResolutionTimerFired): Factor the call to applyPendingAcceleratedAnimations() out of updateAnimationsAndSendEvents()
+        and call scheduleNextTick().
+        (WebCore::DocumentTimeline::updateAnimationsAndSendEvents): Set the new m_isUpdatingAnimations member variable to true while this function is running.
+        (WebCore::DocumentTimeline::scheduleNextTick): Schedule an animation update immediately if we have any relevant animation that is not accelerated.
+        Otherwise, iterate through all animations to figure out the earliest moment at which we need to update animations.
+        (WebCore::DocumentTimeline::updateListOfElementsWithRunningAcceleratedAnimationsForElement): Use the new WebAnimation::isRunningAccelerated() function.
+        * animation/DocumentTimeline.h:
+        * animation/WebAnimation.cpp:
+        (WebCore::WebAnimation::isRunningAccelerated const): Since we end up checking if an animation is running with an accelerated effect, we introduce a new
+        function to get that information directly through the WebAnimation object without bothering about its effect.
+        (WebCore::WebAnimation::resolve): We should only call updateFinishedState() here since timingDidChange() would also notify the timeline about a potential
+        change in relevance, which is not necessary and which would schedule an animation frame even for animations that are accelerated.
+        (WebCore::WebAnimation::timeToNextTick const): Compute the time until our animation completion or, in the case of CSS animations, the next iteration.
+        * animation/WebAnimation.h:
+
+2018-11-13  Miguel Gomez  <magomez@igalia.com>
+
+        [GTK][WPE] Incorrect tile coverage when resizing a layer out of the visible area
+        https://bugs.webkit.org/show_bug.cgi?id=191545
+
+        Reviewed by Žan Doberšek.
+
+        Keep track of layer size changes even if they happen when the layer is not in the visible
+        area, so we can update edge tiles when the layer gets visible.
+
+        * platform/graphics/texmap/coordinated/TiledBackingStore.cpp:
+        (WebCore::TiledBackingStore::createTiles):
+        * platform/graphics/texmap/coordinated/TiledBackingStore.h:
+
+2018-11-12  Rob Buis  <rbuis@igalia.com>
+
+        Content-Type parameter values should allow empty quoted strings
+        https://bugs.webkit.org/show_bug.cgi?id=191388
+
+        Reviewed by Dean Jackson.
+
+        According to RFC 2045 and https://mimesniff.spec.whatwg.org/#parsing-a-mime-type empty
+        quoted strings are acceptable for Content-Type parameter values. They
+        are accepted by Firefox and Chrome implementations as well.
+
+        Test: web-platform-tests/xhr/overridemimetype-blob.html
+
+        * platform/network/ParsedContentType.cpp:
+        (WebCore::parseToken):
+        (WebCore::parseQuotedString):
+        (WebCore::parseContentType):
+        * platform/network/ParsedContentType.h:
+
+2018-11-12  Christopher Reid  <chris.reid@sony.com>
+
+        [Curl] Reject entire cookie if the domain fails a tailmatch.
+        https://bugs.webkit.org/show_bug.cgi?id=191406
+
+        Reviewed by Youenn Fablet.
+
+        Currently we don't put domain attribute of cookie when it fails a tailmatch. As Firefox
+        and Chrome do, we are going to reject the entire cookie if the domain fails a tailmatch instead.
+        Also cleanup Cookie database implementation to make them testable better.
+
+        Tests: TestWebKitAPI/Tests/WebCore/curl/Cookies.cpp
+
+        * platform/network/curl/CookieJarDB.cpp:
+        (WebCore::CookieJarDB::canAcceptCookie): Added.
+        (WebCore::CookieJarDB::setCookie):
+        * platform/network/curl/CookieUtil.cpp:
+        (WebCore::CookieUtil::parseCookieAttributes):
+        (WebCore::CookieUtil::parseCookieHeader):
+        * platform/network/curl/CookieUtil.h:
+
+2018-11-12  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Network: show secure certificate details per-request
+        https://bugs.webkit.org/show_bug.cgi?id=191447
+        <rdar://problem/30019476>
+
+        Reviewed by Joseph Pecoraro.
+
+        Test: http/tests/inspector/network/resource-response-security.html
+
+        * loader/ResourceLoader.h:
+        (WebCore::ResourceLoader::shouldIncludeCertificateInfo const):
+        * loader/ResourceLoader.cpp:
+        (WebCore::ResourceLoader::shouldIncludeCertificateInfo const): Added.
+        Always save certificate information when WebInspector is open.
+
+        * platform/network/CertificateInfoBase.h: Added.
+        (WebCore::CertificateInfoBase::containsNonRootSHA1SignedCertificate const):
+        (WebCore::CertificateInfoBase::summaryInfo const):
+        (WebCore::CertificateInfoBase::isEmpty const):
+        * platform/network/cf/CertificateInfo.h:
+        (WebCore::CertificateInfo::summaryInfo const): Added.
+        * platform/network/cf/CertificateInfoCFNet.cpp: Renamed from Source/WebCore/platform/network/mac/CertificateInfoMac.mm.
+        (WebCore::CertificateInfo::containsNonRootSHA1SignedCertificate):
+        (WebCore::CertificateInfo::summaryInfo const): Added.
+        * platform/network/curl/CertificateInfo.h:
+        (WebCore::CertificateInfo::summaryInfo const): Added.
+        (WebCore::CertificateInfo::isEmpty const): Added.
+        * platform/network/soup/CertificateInfo.h:
+        (WebCore::CertificateInfo::summaryInfo const): Added.
+        (WebCore::CertificateInfo::isEmpty const): Added.
+        Create base class for `CertificateInfo` so that `InspectorNetworkAgent` doesn't need to have
+        platform-specific code in its implementation.
+
+        * platform/network/cocoa/CertificateInfoCocoa.mm: Renamed from Source/WebCore/platform/network/mac/CertificateInfoMac.mm.
+        * platform/network/curl/CertificateInfoCFNet.cpp: Renamed from Source/WebCore/platform/network/curl/CertificateInfo.cpp.
+        * platform/network/soup/CertificateInfoSoup.cpp: Renamed from Source/WebCore/platform/network/soup/CertificateInfo.cpp.
+
+        * inspector/NetworkResourcesData.h:
+        (WebCore::NetworkResourcesData::ResourceData::certificateInfo const): Added.
+        (WebCore::NetworkResourcesData::ResourceData::setCertificateInfo): Added.
+        * inspector/NetworkResourcesData.cpp:
+        (WebCore::NetworkResourcesData::responseReceived):
+
+        * inspector/agents/InspectorNetworkAgent.cpp:
+        (WebCore::InspectorNetworkAgent::buildObjectForResourceResponse):
+
+        * PlatformAppleWin.cmake:
+        * PlatformMac.cmake:
+        * SourcesCocoa.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+        * platform/Curl.cmake:
+        * platform/SourcesSoup.txt:
+
+2018-11-12  Zalan Bujtas  <zalan@apple.com>
+
+        Do not collapse the soon-to-be-parent anon block when we shuffle around the marker item renderer.
+        https://bugs.webkit.org/show_bug.cgi?id=191554
+        <rdar://problem/45825265>
+
+        Reviewed by Antti Koivisto.
+
+        While moving the marker item renderer to its correct subtree, we accidentally remove the soon-to-be parent anonymous block.
+        Moving a renderer is a 2 step process:
+        1. Detach the renderer from its current parent
+        2. Attach it to its new parent.
+        During step #1, we check if there is a chance to collapse anonymous blocks. In this case the soon-to-be-parent is a sibling anonymous block which, after detaching the marker sibling
+        is not needed anymore (except we use it as the new parent).
+
+        Test: fast/inline/marker-list-item-move-should-not-crash.html
+
+        * rendering/updating/RenderTreeBuilder.cpp:
+        (WebCore::RenderTreeBuilder::detach):
+        * rendering/updating/RenderTreeBuilder.h:
+        * rendering/updating/RenderTreeBuilderBlock.cpp:
+        (WebCore::RenderTreeBuilder::Block::detach):
+        * rendering/updating/RenderTreeBuilderBlock.h:
+        * rendering/updating/RenderTreeBuilderList.cpp:
+        (WebCore::RenderTreeBuilder::List::updateItemMarker):
+
 2018-11-12  Javier Fernandez  <jfernandez@igalia.com>
 
         [css-grid] Refactoring to make more explicit the orthogonal items' pre-layout logic