Possible crash computing event regions
[WebKit-https.git] / Source / WebCore / ChangeLog
index fbdd319..3cdf793 100644 (file)
-2017-12-22  Zalan Bujtas  <zalan@apple.com>
+2018-01-06  Simon Fraser  <simon.fraser@apple.com>
 
-        [RenderTreeBuilder] Move RenderButton::addChild() tree mutation to RenderTreeBuilder
-        https://bugs.webkit.org/show_bug.cgi?id=181109
-        <rdar://problem/36188262>
+        Possible crash computing event regions
+        https://bugs.webkit.org/show_bug.cgi?id=181368
+        rdar://problem/34847081
 
-        Reviewed by Antti Koivisto.
-
-        Covered by existing tests.
-
-        * rendering/RenderButton.cpp:
-        (WebCore::RenderButton::setInnerRenderer):
-        (WebCore::RenderButton::updateAnonymousChildStyle const):
-        (WebCore::RenderButton::addChild): Deleted.
-        * rendering/RenderButton.h:
-        * rendering/RenderElement.cpp:
-        (WebCore::RenderElement::propagateStyleToAnonymousChildren):
-        * rendering/RenderElement.h:
-        (WebCore::RenderElement::updateAnonymousChildStyle const):
-        * rendering/updating/RenderTreeBuilder.cpp:
-        (WebCore::RenderTreeBuilder::insertChild):
-
-2017-12-22  Ms2ger  <Ms2ger@igalia.com>
-
-        REGRESSION(r226228) Build error with unqualified isfinite() in MediaCapabilities.cpp
-        https://bugs.webkit.org/show_bug.cgi?id=181118
-
-        Unreviewed build fix.
-
-        * Modules/mediacapabilities/MediaCapabilities.cpp:
-        (WebCore::isValidVideoConfiguration): qualify the one unqualified isfinite() call.
-
-2017-12-21  Youenn Fablet  <youenn@apple.com>
-
-        com.apple.WebKit.WebContent.Development crashed in com.apple.WebCore: WebCore::UserMediaRequest::stop + 126
-        https://bugs.webkit.org/show_bug.cgi?id=181057
-        <rdar://problem/36167175>
-
-        Unreviewed.
-
-        * Modules/mediastream/UserMediaRequest.cpp:
-        (WebCore::UserMediaRequest::stop): Fixed comment typo.
-
-2017-12-21  Youenn Fablet  <youenn@apple.com>
-
-        ServiceWorkerThreadProxy should set the correct cookie and cache partitioning options
-        https://bugs.webkit.org/show_bug.cgi?id=181000
-
-        Reviewed by Chris Dumez.
-
-        Covered by rebased test.
-
-        Add a way to set the domain for cache partition explicitly on a ScriptExecutionContext.
-        This is used by ServiceWorkerThreadProxy document to mimick the fact that it may be
-        a service worker used by iframes that have a cross origin top document.
-        Updated code to use that new utility routine.
-
-        * Modules/websockets/WebSocketChannel.cpp:
-        (WebCore::WebSocketChannel::connect):
-        * dom/ScriptExecutionContext.cpp:
-        (WebCore::ScriptExecutionContext::domainForCachePartition const):
-        * dom/ScriptExecutionContext.h:
-        (WebCore::ScriptExecutionContext::setDomainForCachePartition):
-        * html/DOMURL.cpp:
-        (WebCore::DOMURL::revokeObjectURL):
-        * inspector/agents/InspectorPageAgent.cpp:
-        (WebCore::InspectorPageAgent::cachedResource):
-        * loader/EmptyFrameLoaderClient.h:
-        * loader/FrameLoader.cpp:
-        (WebCore::FrameLoader::loadURL):
-        * loader/archive/cf/LegacyWebArchive.cpp:
-        (WebCore::LegacyWebArchive::create):
-        * loader/cache/CachedResourceRequest.cpp:
-        (WebCore::CachedResourceRequest::setDomainForCachePartition):
-        * testing/Internals.cpp:
-        (WebCore::Internals::isLoadingFromMemoryCache):
-        * workers/service/context/ServiceWorkerThreadProxy.cpp:
-        (WebCore::topOriginURL):
-        (WebCore::createPageForServiceWorker):
-        (WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
-        * workers/service/context/ServiceWorkerThreadProxy.h:
-        * xml/XMLHttpRequest.cpp:
-        (WebCore::XMLHttpRequest::createRequest):
-
-2017-12-21  Christopher Reid  <chris.reid@sony.com>
-
-        [WinCairo] fix build after r226245
-        https://bugs.webkit.org/show_bug.cgi?id=181113
-
-        Unreviewed build fix.
-
-        No new tests, no change in behavior.
-
-        * html/AttachmentTypes.h: Added an include for std::optional
-
-2017-12-21  Brady Eidson  <beidson@apple.com>
-
-        Refactor MessagePortChannel family classes for an easier multi-process split.
-        https://bugs.webkit.org/show_bug.cgi?id=180981
-
-        Reviewed by Andy Estes.
-
-        No new tests (Refactor, no behavior change)
-
-        - Make MessagePortChannel an abstract class instead of a wrapper around a mysterious "platform" class.
-        - Implement the "in-process" channel for WK1 and WK2-for-now.
-        - Other random cleanup and modernization of this code.
-        
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-        
-        * dom/InProcessMessagePortChannel.cpp: Added.
-        (WebCore::InProcessMessagePortChannel::createChannelBetweenPorts):
-        (WebCore::InProcessMessagePortChannel::create):
-        (WebCore::InProcessMessagePortChannel::InProcessMessagePortChannel):
-        (WebCore::InProcessMessagePortChannel::~InProcessMessagePortChannel):
-        (WebCore::InProcessMessagePortChannel::postMessageToRemote):
-        (WebCore::InProcessMessagePortChannel::takeAllMessagesFromRemote):
-        (WebCore::InProcessMessagePortChannel::isConnectedTo):
-        (WebCore::InProcessMessagePortChannel::entangleIfOpen):
-        (WebCore::InProcessMessagePortChannel::disentangle):
-        (WebCore::InProcessMessagePortChannel::hasPendingActivity):
-        (WebCore::InProcessMessagePortChannel::locallyEntangledPort):
-        (WebCore::InProcessMessagePortChannel::takeEntangledChannel):
-        (WebCore::InProcessMessagePortChannel::close):
-        (WebCore::InProcessMessagePortChannel::setRemotePort):
-        * dom/InProcessMessagePortChannel.h: Added.
-        (WebCore::InProcessMessagePortChannel::MessagePortQueue::create):
-        (WebCore::InProcessMessagePortChannel::MessagePortQueue::takeAllMessages):
-        (WebCore::InProcessMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
-        (WebCore::InProcessMessagePortChannel::MessagePortQueue::isEmpty):
-        (WebCore::InProcessMessagePortChannel::MessagePortQueue::MessagePortQueue):
-        
-        * dom/MessageChannel.cpp:
-        (WebCore::MessageChannel::MessageChannel):
-        * dom/MessageChannel.h:
-        (WebCore::MessageChannel::create):
-        (WebCore::MessageChannel::port1 const):
-        (WebCore::MessageChannel::port2 const):
-        
-        * dom/MessagePort.cpp:
-        (WebCore::MessagePort::postMessage):
-        (WebCore::MessagePort::disentangle):
-        (WebCore::MessagePort::entangle):
-        (WebCore::MessagePort::hasPendingActivity const):
-        * dom/MessagePort.h:
-        
-        * dom/MessagePortChannel.cpp: Added.
-        (WebCore::MessagePortChannel::createChannelBetweenPorts):
-        (WebCore::MessagePortChannel::MessagePortChannel):
-        * dom/MessagePortChannel.h:
-        (WebCore::MessagePortChannel::EventData::EventData):
-        (WebCore::MessagePortChannel::~MessagePortChannel):
-        
-        * dom/default/PlatformMessagePortChannel.cpp: Removed.
-        * dom/default/PlatformMessagePortChannel.h: Removed.
-        * workers/service/context/ServiceWorkerThread.h:
-
-2017-12-21  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Rename NoEventDispatchAssertion to ScriptDisallowedScope
-        https://bugs.webkit.org/show_bug.cgi?id=181102
-
-        Reviewed by Zalan Bujtas.
-
-        Renamed the class.
-
-        * WebCore.xcodeproj/project.pbxproj:
-        * bindings/js/ScriptController.cpp:
-        (WebCore::ScriptController::canExecuteScripts):
-        * dom/ContainerNode.cpp:
-        (WebCore::ContainerNode::removeAllChildrenWithScriptAssertion):
-        (WebCore::ContainerNode::removeNodeWithScriptAssertion):
-        (WebCore::executeNodeInsertionWithScriptAssertion):
-        (WebCore::ContainerNode::removeDetachedChildren):
-        (WebCore::ContainerNode::insertBeforeCommon):
-        (WebCore::ContainerNode::appendChildCommon):
-        (WebCore::ContainerNode::removeBetween):
-        (WebCore::dispatchChildInsertionEvents):
-        (WebCore::dispatchChildRemovalEvents):
-        * dom/ContainerNodeAlgorithms.cpp:
-        (WebCore::notifyChildNodeInserted):
-        (WebCore::notifyChildNodeRemoved):
-        * dom/Document.cpp:
-        (WebCore::Document::resolveStyle):
-        (WebCore::isSafeToUpdateStyleOrLayout):
-        (WebCore::Document::updateStyleIfNeeded):
-        (WebCore::Document::nodeChildrenWillBeRemoved):
-        (WebCore::Document::nodeWillBeRemoved):
-        (WebCore::Document::dispatchWindowEvent):
-        (WebCore::Document::dispatchWindowLoadEvent):
-        (WebCore::Document::applyPendingXSLTransformsTimerFired):
-        * dom/Element.cpp:
-        (WebCore::Element::addShadowRoot):
-        (WebCore::Element::attachAttributeNodeIfNeeded):
-        (WebCore::Element::setAttributeNode):
-        (WebCore::Element::setAttributeNodeNS):
-        (WebCore::Element::dispatchFocusInEvent):
-        (WebCore::Element::dispatchFocusOutEvent):
-        * dom/ElementIteratorAssertions.h:
-        (WebCore::ElementIteratorAssertions::ElementIteratorAssertions):
-        * dom/EventDispatcher.cpp:
-        (WebCore::EventDispatcher::dispatchEvent):
-        * dom/EventTarget.cpp:
-        (WebCore::EventTarget::fireEventListeners):
-        * dom/NoEventDispatchAssertion.h: Removed.
-        * dom/Node.cpp:
-        (WebCore::Node::dispatchSubtreeModifiedEvent):
-        (WebCore::Node::dispatchDOMActivateEvent):
-        * dom/ScriptDisallowedScope.h: Copied from Source/WebCore/dom/NoEventDispatchAssertion.h.
-        (WebCore::ScriptDisallowedScope::ScriptDisallowedScope):
-        (WebCore::ScriptDisallowedScope::~ScriptDisallowedScope):
-        (WebCore::ScriptDisallowedScope::InMainThread::isEventDispatchAllowedInSubtree):
-        (WebCore::ScriptDisallowedScope::InMainThread::isScriptAllowed):
-        (WebCore::NoEventDispatchAssertion::NoEventDispatchAssertion): Deleted.
-        (WebCore::NoEventDispatchAssertion::~NoEventDispatchAssertion): Deleted.
-        (WebCore::NoEventDispatchAssertion::isEventAllowedInMainThread): Deleted.
-        (WebCore::NoEventDispatchAssertion::InMainThread::InMainThread): Deleted.
-        (WebCore::NoEventDispatchAssertion::InMainThread::~InMainThread): Deleted.
-        (WebCore::NoEventDispatchAssertion::InMainThread::isEventDispatchAllowedInSubtree): Deleted.
-        (WebCore::NoEventDispatchAssertion::InMainThread::isEventAllowed): Deleted.
-        (WebCore::NoEventDispatchAssertion::EventAllowedScope::EventAllowedScope): Deleted.
-        (WebCore::NoEventDispatchAssertion::EventAllowedScope::~EventAllowedScope): Deleted.
-        (WebCore::NoEventDispatchAssertion::EventAllowedScope::isAllowedNode): Deleted.
-        (WebCore::NoEventDispatchAssertion::EventAllowedScope::isAllowedNodeInternal): Deleted.
-        (WebCore::NoEventDispatchAssertion::DisableAssertionsInScope::DisableAssertionsInScope): Deleted.
-        (WebCore::NoEventDispatchAssertion::DisableAssertionsInScope::~DisableAssertionsInScope): Deleted.
-        * dom/ScriptElement.cpp:
-        (WebCore::ScriptElement::executeClassicScript):
-        * dom/ScriptExecutionContext.cpp:
-        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjectsForDocumentSuspension):
-        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
-        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
-        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
-        * history/CachedPage.cpp:
-        (WebCore::CachedPage::restore):
-        * history/PageCache.cpp:
-        (WebCore::PageCache::addIfCacheable):
-        * html/HTMLElement.cpp:
-        (WebCore::textToFragment):
-        (WebCore::HTMLElement::setInnerText):
-        * html/HTMLMediaElement.cpp:
-        * html/HTMLTextFormControlElement.cpp:
-        (WebCore::HTMLTextFormControlElement::setInnerTextValue):
-        * html/track/VTTCue.cpp:
-        (WebCore::VTTCue::createCueRenderingTree):
-        (WebCore::VTTCue::updateDisplayTree):
-        (WebCore::VTTCue::removeDisplayTree):
-        * loader/FormSubmission.cpp:
-        * loader/cache/CachedSVGFont.cpp:
-        (WebCore::CachedSVGFont::ensureCustomFontData):
-        * page/LayoutContext.cpp:
-        (WebCore::LayoutContext::layout):
-        * rendering/RenderFrameBase.cpp:
-        (WebCore::RenderFrameBase::performLayoutWithFlattening):
-        * rendering/RenderLayer.cpp:
-        (WebCore::RenderLayer::scrollRectToVisible):
-        * svg/SVGTRefElement.cpp:
-        (WebCore::SVGTRefElement::updateReferencedText):
-        * svg/SVGUseElement.cpp:
-        (WebCore::SVGUseElement::clearShadowTree):
-        * svg/graphics/SVGImage.cpp:
-        (WebCore::SVGImage::draw):
-
-2017-12-21  Maciej Stachowiak  <mjs@apple.com>
-
-        Update Service Workers status to Supported in Preview
-        https://bugs.webkit.org/show_bug.cgi?id=181093
-
-        Reviewed by Andy Estes.
-
-        * features.json:
-
-2017-12-21  Brent Fulgham  <bfulgham@apple.com>
-
-        Unreviewed test fix after r226224.
-        <rdar://problem/36185975>
-
-        Pasteboard data is more than a dictionary. We have to whitelist NSString
-        and NSArray as well. Change method name to reflect that we take a whitelist
-        of classes that are allowed to be unarchived in the call.
-
-        * platform/ios/PlatformPasteboardIOS.mm:
-        (WebCore::PlatformPasteboard::write): Use revised method.
-        (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const): Ditto.
-
-2017-12-21  Zalan Bujtas  <zalan@apple.com>
-
-        [RenderTreeBuilder] Move RenderRubyAsInline::addChild mutation to a RenderTreeBuilder
-        https://bugs.webkit.org/show_bug.cgi?id=181101
-        <rdar://problem/36184788>
-
-        Reviewed by Antti Koivisto.
-
-        * rendering/RenderRuby.cpp:
-        (WebCore::isRubyBeforeBlock): Deleted.
-        (WebCore::isRubyAfterBlock): Deleted.
-        (WebCore::rubyBeforeBlock): Deleted.
-        (WebCore::rubyAfterBlock): Deleted.
-        (WebCore::createAnonymousRubyInlineBlock): Deleted.
-        (WebCore::lastRubyRun): Deleted.
-        (WebCore::RenderRubyAsInline::addChild): Deleted.
-        * rendering/RenderRuby.h:
-        * rendering/updating/RenderTreeBuilder.cpp:
-        (WebCore::RenderTreeBuilder::insertChild):
-        * rendering/updating/RenderTreeBuilderRuby.cpp:
-        (WebCore::RenderTreeBuilder::Ruby::findOrCreateParentForChild):
-        * rendering/updating/RenderTreeBuilderRuby.h:
-
-2017-12-21  Jiewen Tan  <jiewen_tan@apple.com>
-
-        Update Credential Management API for WebAuthentication
-        https://bugs.webkit.org/show_bug.cgi?id=181082
-        <rdar://problem/36055239>
-
-        Reviewed by Daniel Bates.
-
-        Part 1/2
-
-        In this patch, it restructure a bit for existing Credential Management API codebase:
-        1. Rename the folder from credentials to credentialmanagement for better understanding.
-        2. Remove unneeded dummy codes, i.e. PasswordCredential and FederatedCredential.
-        3. Core API and layout tests are updated correspondingly as well.
-
-        Rebaseline test results.
-
-        * CMakeLists.txt:
-        * DerivedSources.make:
-        * Modules/credentialmanagement/BasicCredential.cpp: Renamed from Source/WebCore/Modules/credentials/BasicCredential.cpp.
-        (WebCore::BasicCredential::BasicCredential):
-        (WebCore::BasicCredential::type const):
-        * Modules/credentialmanagement/BasicCredential.h: Renamed from Source/WebCore/Modules/credentials/BasicCredential.h.
-        (WebCore::BasicCredential::id const):
-        * Modules/credentialmanagement/BasicCredential.idl: Renamed from Source/WebCore/Modules/credentials/BasicCredential.idl.
-        * Modules/credentialmanagement/CredentialCreationOptions.h: Renamed from Source/WebCore/Modules/credentials/CredentialData.h.
-        * Modules/credentialmanagement/CredentialCreationOptions.idl: Renamed from Source/WebCore/Modules/credentials/CredentialData.idl.
-        * Modules/credentialmanagement/CredentialRequestOptions.h: Renamed from Source/WebCore/Modules/credentials/CredentialRequestOptions.h.
-        * Modules/credentialmanagement/CredentialRequestOptions.idl: Renamed from Source/WebCore/Modules/credentials/CredentialRequestOptions.idl.
-        * Modules/credentialmanagement/CredentialsContainer.cpp: Renamed from Source/WebCore/Modules/credentials/CredentialsContainer.cpp.
-        (WebCore::CredentialsContainer::get):
-        (WebCore::CredentialsContainer::store):
-        (WebCore::CredentialsContainer::isCreate):
-        (WebCore::CredentialsContainer::preventSilentAccess):
-        * Modules/credentialmanagement/CredentialsContainer.h: Renamed from Source/WebCore/Modules/credentials/CredentialsContainer.h.
-        (WebCore::CredentialsContainer::create):
-        (WebCore::CredentialsContainer::CredentialsContainer):
-        * Modules/credentialmanagement/CredentialsContainer.idl: Renamed from Source/WebCore/Modules/credentials/CredentialsContainer.idl.
-        * Modules/credentialmanagement/NavigatorCredentials.cpp: Renamed from Source/WebCore/Modules/credentials/NavigatorCredentials.cpp.
-        (WebCore::NavigatorCredentials::supplementName):
-        (WebCore::NavigatorCredentials::credentials):
-        (WebCore::NavigatorCredentials::from):
-        * Modules/credentialmanagement/NavigatorCredentials.h: Renamed from Source/WebCore/Modules/credentials/NavigatorCredentials.h.
-        * Modules/credentialmanagement/NavigatorCredentials.idl: Renamed from Source/WebCore/Modules/credentials/NavigatorCredentials.idl.
-        * Modules/credentials/CredentialCreationOptions.h: Removed.
-        * Modules/credentials/CredentialCreationOptions.idl: Removed.
-        * Modules/credentials/CredentialUserData.h: Removed.
-        * Modules/credentials/CredentialUserData.idl: Removed.
-        * Modules/credentials/FederatedCredential.cpp: Removed.
-        * Modules/credentials/FederatedCredential.h: Removed.
-        * Modules/credentials/FederatedCredential.idl: Removed.
-        * Modules/credentials/FederatedCredentialInit.h: Removed.
-        * Modules/credentials/FederatedCredentialInit.idl: Removed.
-        * Modules/credentials/FederatedCredentialRequestOptions.h: Removed.
-        * Modules/credentials/FederatedCredentialRequestOptions.idl: Removed.
-        * Modules/credentials/PasswordCredential.cpp: Removed.
-        * Modules/credentials/PasswordCredential.h: Removed.
-        * Modules/credentials/PasswordCredential.idl: Removed.
-        * Modules/credentials/PasswordCredentialData.h: Removed.
-        * Modules/credentials/PasswordCredentialData.idl: Removed.
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-        * bindings/js/WebCoreBuiltinNames.h:
-
-2017-12-21  John Wilander  <wilander@apple.com>
-
-        Storage Access API: Allow requests from non-sandboxed iframes
-        https://bugs.webkit.org/show_bug.cgi?id=181099
-        <rdar://problem/36184501>
-
-        Reviewed by Brent Fulgham.
-
-        No new tests. Changed existing tests.
-
-        * dom/Document.cpp:
-        (WebCore::Document::requestStorageAccess):
-
-2017-12-21  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Minor cleanup in WebContentReaderCocoa after r226213
-        https://bugs.webkit.org/show_bug.cgi?id=181104
-
-        Reviewed by Wenson Hsieh.
-
-        Deployed early exists in the case of attachment replacements to make the code easier to read.
-
-        * editing/cocoa/WebContentReaderCocoa.mm:
-        (WebCore::createFragmentAndAddResources):
-        (WebCore::markupForFragmentInDocument): Extracted out of sanitizeMarkupWithArchive.
-        (WebCore::sanitizeMarkupWithArchive):
-        (WebCore::WebContentReader::readImage): Simplified the return logic.
-
-2017-12-21  Zalan Bujtas  <zalan@apple.com>
-
-        [RenderTreeBuilder] Move RenderRubyAsBlock::addChild mutation to a RenderTreeBuilder
-        https://bugs.webkit.org/show_bug.cgi?id=181090
-        <rdar://problem/36180916>
-
-        Reviewed by Antti Koivisto.
-
-        This is in preparation for moving all ruby mutation code here.
-
-        Covered by existing tests.
-
-        * rendering/RenderRuby.cpp:
-        (WebCore::RenderRubyAsBlock::addChild): Deleted.
-        * rendering/RenderRuby.h:
-        * rendering/updating/RenderTreeBuilder.cpp:
-        (WebCore::RenderTreeBuilder::insertChild):
-        * rendering/updating/RenderTreeBuilderRuby.cpp:
-        (WebCore::isAnonymousRubyInlineBlock):
-        (WebCore::isRubyBeforeBlock):
-        (WebCore::isRubyAfterBlock):
-        (WebCore::isRubyChildForNormalRemoval):
-        (WebCore::rubyBeforeBlock):
-        (WebCore::rubyAfterBlock):
-        (WebCore::createAnonymousRubyInlineBlock):
-        (WebCore::lastRubyRun):
-        (WebCore::RenderTreeBuilder::Ruby::findOrCreateParentForChild):
-        * rendering/updating/RenderTreeBuilderRuby.h:
-
-2017-12-21  Jeremy Jones  <jeremyj@apple.com>
-
-        Update FULLSCREEN_API feature defines.
-        https://bugs.webkit.org/show_bug.cgi?id=181015
-
-        Reviewed by Tim Horton.
-
-        Change enabled iphone sdk for FULLSCREEN_API.
-
-        * Configurations/FeatureDefines.xcconfig:
-
-2017-12-21  Chris Dumez  <cdumez@apple.com>
-
-        ononline, onoffline and navigator.onLine don't work if Parallels or VMWare is installed
-        https://bugs.webkit.org/show_bug.cgi?id=32327
-
-        Reviewed by Alexey Proskuryakov.
-
-        When determining if we are online, ignore virtual interfaces added on the host machine
-        by Parallels and VMWare. This is needed because those interfaces are always up, whether
-        or not the virtual machine is running. This was causing navigator.onLine to always return
-        true on the host machine when Parallels or VMWare was installed.
-
-        Note that it is safe to ignore these interfaces and that it does not cause issues when
-        running Safari inside the virtual machine because those virtual interfaces are only
-        exposed on the host machine. Inside, the virtual machine, we see the usual en0 interface.
-
-        * platform/network/mac/NetworkStateNotifierMac.cpp:
-        (WebCore::NetworkStateNotifier::updateStateWithoutNotifying):
-
-2017-12-21  Zalan Bujtas  <zalan@apple.com>
-
-        [RenderTreeBuilder] Move repeating code to RenderTreeBuilder::insertInternal
-        https://bugs.webkit.org/show_bug.cgi?id=181094
-
-        Reviewed by Antti Koivisto.
-
-        * rendering/updating/RenderTreeBuilder.cpp:
-        (WebCore::RenderTreeBuilder::insertChild):
-
-2017-12-21  Jeremy Jones  <jeremyj@apple.com>
-
-        Build fix after r226223
-        https://bugs.webkit.org/show_bug.cgi?id=181088
-
-        Unreviewed.
-
-        * platform/ios/VideoFullscreenInterfaceAVKit.mm:
-        (VideoFullscreenInterfaceAVKit::exitFullscreen):
-
-2017-12-21  John Wilander  <wilander@apple.com>
-
-        Storage Access API: Make DocumentLoader::willSendRequest() and WebFrameLoaderClient::detachedFromParent2() tell the network process to get rid of any sub frame access entries
-        https://bugs.webkit.org/show_bug.cgi?id=180728
-        <rdar://problem/36009288>
-
-        Reviewed by Youenn Fablet.
-
-        Tests: http/tests/storageAccess/request-and-grant-access-then-detach-should-not-have-access.html
-               http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access.html
-
-        This change calls the network process to clear any storage access
-        entries when a subframe navigates or is detached.
-
-        * dom/Document.cpp:
-        (WebCore::Document::hasStorageAccess):
-        (WebCore::Document::requestStorageAccess):
-        (WebCore::Document::hasFrameSpecificStorageAccess):
-        (WebCore::Document::setHasFrameSpecificStorageAccess):
-        * dom/Document.h:
-        * loader/DocumentLoader.cpp:
-        (WebCore::DocumentLoader::willSendRequest):
-        * loader/EmptyFrameLoaderClient.h:
-        * loader/FrameLoaderClient.h:
-        * platform/network/NetworkStorageSession.h:
-        * platform/network/cf/NetworkStorageSessionCFNet.cpp:
-        (WebCore::NetworkStorageSession::removeStorageAccess):
-
-2017-12-21  Antoine Quint  <graouts@apple.com>
-
-        [Web Animations] Complete support for keyframe animations
-        https://bugs.webkit.org/show_bug.cgi?id=179708
-
-        Reviewed by Dean Jackson.
-
-        We implement section 5.10.3 "Processing a keyframes argument" of the Web Animations spec to handle
-        multiple keyframes, rather than only two, provided either in iterable (ie. array) or property-index
-        (ie. dictionary) form. Although we don't currently support timing function or composite operations,
-        we parse them as well.
-
-        While there are minimal test changes, there will be a host of changes in the next patch in which
-        we turn Element.animate() on.
-
-        * animation/KeyframeEffect.cpp:
-        (WebCore::IDLAttributeNameToAnimationPropertyName): New utility to convert an IDL-parsed JS property
-        into a WebCore CSSPropertyID.
-        (WebCore::computeMissingKeyframeOffsets): Converts "null" offsets into computed offset values as specified
-        in section 4.4.2. "Calculating computed keyframes".
-        (WebCore::processIterableKeyframes): Process the iterable form of the keyframes argument.
-        (WebCore::processKeyframeLikeObject): Process a keyframe-like object found in the property-indexed form.
-        (WebCore::processPropertyIndexedKeyframes): Process the property-indexed form of the keyframes argument.
-        (WebCore::KeyframeEffect::setKeyframes): Since this method and processKeyframes() share the same signature,
-        we can just return the value from processKeyframes() directly.
-        (WebCore::KeyframeEffect::processKeyframes): Process the keyframes argument as specified.
-        (WebCore::KeyframeEffect::applyAtLocalTime): Delegate blending to the new setAnimatedPropertiesInStyle()
-        since this task is now more complex due to handling of multiple keyframes.
-        (WebCore::KeyframeEffect::getAnimatedStyle): Delegate blending to the new setAnimatedPropertiesInStyle()
-        since this task is now more complex due to handling of multiple keyframes.
-        (WebCore::KeyframeEffect::setAnimatedPropertiesInStyle): Handle multiple and implicit start and end keyframes.
-        * animation/KeyframeEffect.h: Add some new structures used for parsing purposes.
-        * animation/KeyframeEffect.idl: Expose the CompositeOperation enum and the BasePropertyIndexedKeyframe dictionary
-        used in processKeyframeLikeObject().
-        * css/CSSStyleDeclaration.cpp:
-        (WebCore::CSSStyleDeclaration::getCSSPropertyIDFromJavaScriptPropertyName):
-        * css/CSSStyleDeclaration.h:
-        * page/animation/CSSPropertyAnimation.cpp:
-        (WebCore::CSSPropertyAnimation::isPropertyAnimatable):
-        * page/animation/CSSPropertyAnimation.h:
-
-2017-12-21  Jer Noble  <jer.noble@apple.com>
-
-        Add initial DOM support for Media Capabilities
-        https://bugs.webkit.org/show_bug.cgi?id=181064
-
-        Reviewed by Eric Carlson.
-
-        Test: media/mediacapabilities/mediacapabilities-types.html
-
-        Add basic, cross-platform, DOM facing type and API support for Media Capabilities API.
-
-        * bindings/scripts/CodeGenerator.pm:
-        (WK_ucfirst):
-        * CMakeLists.txt:
-        * DerivedSources.make:
-        * Modules/mediacapabilities/AudioConfiguration.h: Added.
-        * Modules/mediacapabilities/AudioConfiguration.idl: Added.
-        * Modules/mediacapabilities/MediaCapabilities.cpp: Added.
-        (WebCore::bucketMIMETypes):
-        (WebCore::isValidMIMEType):
-        (WebCore::isValidVideoConfiguration):
-        (WebCore::isValidAudioConfiguration):
-        (WebCore::isValidMediaConfiguration):
-        (WebCore::MediaCapabilities::decodingInfo):
-        (WebCore::MediaCapabilities::encodingInfo):
-        * Modules/mediacapabilities/MediaCapabilities.h: Added.
-        * Modules/mediacapabilities/MediaCapabilities.idl: Added.
-        * Modules/mediacapabilities/MediaCapabilitiesInfo.h: Added.
-        (WebCore::MediaCapabilitiesInfo::supported const):
-        (WebCore::MediaCapabilitiesInfo::setSupported):
-        (WebCore::MediaCapabilitiesInfo::smooth const):
-        (WebCore::MediaCapabilitiesInfo::setSmooth):
-        (WebCore::MediaCapabilitiesInfo::powerEfficient const):
-        (WebCore::MediaCapabilitiesInfo::setPowerEfficient):
-        * Modules/mediacapabilities/MediaCapabilitiesInfo.idl: Added.
-        * Modules/mediacapabilities/MediaConfiguration.h: Added.
-        * Modules/mediacapabilities/MediaConfiguration.idl: Added.
-        * Modules/mediacapabilities/MediaDecodingConfiguration.h: Added.
-        * Modules/mediacapabilities/MediaDecodingConfiguration.idl: Added.
-        * Modules/mediacapabilities/MediaDecodingType.h: Added.
-        * Modules/mediacapabilities/MediaDecodingType.idl: Added.
-        * Modules/mediacapabilities/MediaEncodingConfiguration.h: Added.
-        * Modules/mediacapabilities/MediaEncodingConfiguration.idl: Added.
-        * Modules/mediacapabilities/MediaEncodingType.h: Added.
-        * Modules/mediacapabilities/MediaEncodingType.idl: Added.
-        * Modules/mediacapabilities/NavigatorMediaCapabilities.cpp: Added.
-        (WebCore::NavigatorMediaCapabilities::NavigatorMediaCapabilities):
-        (WebCore::NavigatorMediaCapabilities::supplementName):
-        (WebCore::NavigatorMediaCapabilities::from):
-        (WebCore::NavigatorMediaCapabilities::mediaCapabilities):
-        (WebCore::NavigatorMediaCapabilities::mediaCapabilities const):
-        * Modules/mediacapabilities/NavigatorMediaCapabilities.h: Added.
-        * Modules/mediacapabilities/NavigatorMediaCapabilities.idl: Added.
-        * Modules/mediacapabilities/ScreenColorGamut.h: Added.
-        * Modules/mediacapabilities/ScreenColorGamut.idl: Added.
-        * Modules/mediacapabilities/ScreenLuminance.h: Added.
-        (WebCore::ScreenLuminance::min const):
-        (WebCore::ScreenLuminance::setMin):
-        (WebCore::ScreenLuminance::max const):
-        (WebCore::ScreenLuminance::setMax):
-        (WebCore::ScreenLuminance::maxAverage const):
-        (WebCore::ScreenLuminance::setMaxAverage):
-        * Modules/mediacapabilities/ScreenLuminance.idl: Added.
-        * Modules/mediacapabilities/VideoConfiguration.h: Added.
-        * Modules/mediacapabilities/VideoConfiguration.idl: Added.
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-        * bindings/js/WebCoreBuiltinNames.h:
-        * page/RuntimeEnabledFeatures.h:
-        (WebCore::RuntimeEnabledFeatures::setMediaCapabilitiesEnabled):
-        (WebCore::RuntimeEnabledFeatures::mediaCapabilitiesEnabled const):
-        * page/Settings.yaml:
-
-2017-12-21  Keith Rollin  <krollin@apple.com>
-
-        Add optional logging of per-resource cookie information
-        https://bugs.webkit.org/show_bug.cgi?id=180883
-        <rdar://problem/35802295>
-
-        Reviewed by Brent Fulgham.
-
-        In order to support the tracking of the efficacy of Intelligent
-        Tracking Protection, add some logging of the cookie information
-        associated with each loaded resource. This logging is off by default
-        and is enabled with `defaults write -g WebKitLogCookieInformation
-        -bool true`.
-
-        No new tests -- no new user functionality added. Only new logging has
-        been added.
-
-        * platform/Cookie.h:
-        (WebCore::Cookie::Cookie):
-        (WebCore::Cookie::isNull const):
-        (WebCore::Cookie::encode const):
-        (WebCore::Cookie::decode):
-        * platform/network/cf/CookieJarCFNet.cpp:
-        (WebCore::canonicalCookieTime):
-        (WebCore::cookieCreatedTime):
-        (WebCore::cookieExpirationTime):
-        (WebCore::getRawCookies):
-        * platform/network/cocoa/CookieCocoa.mm:
-        (WebCore::cookieCreated):
-        (WebCore::Cookie::Cookie):
-        * platform/network/soup/CookieJarSoup.cpp:
-        (WebCore::getRawCookies):
-
-2017-12-21  Brent Fulgham  <bfulgham@apple.com>
-
-        Adopt new secure coding APIs in WebCore
-        https://bugs.webkit.org/show_bug.cgi?id=178484
-        <rdar://problem/34837193>
-
-        Reviewed by Eric Carlson.
-
-        Switch to new NSKeyed[Un]Archiver methods that use NSSecureCoding by default.
-
-        Most of the new API is wrapped in a set of convenience methods so we can
-        build without the new API on older systems.
-
-        No change in behavior.
-
-        * editing/cocoa/EditorCocoa.mm:
-        (WebCore::archivedDataForAttributedString): Use new convenience method
-        to archive the string object.
-        * platform/ios/PlatformPasteboardIOS.mm:
-        (WebCore::PlatformPasteboard::write): Use new secure API.
-        (WebCore::PlatformPasteboard::typesSafeForDOMToReadAndWrite const): Ditto.
-
-2017-12-21  Zalan Bujtas  <zalan@apple.com>
-
-        [RenderTreeBuilder] Move ruby mutation code to a dedicated class.
-        https://bugs.webkit.org/show_bug.cgi?id=181066
-        <rdar://problem/36167692>
-
-        Reviewed by Antti Koivisto.
-
-        This is in preparation for moving all ruby mutation code here.
-
-        No change in functionality.
-
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-        * rendering/updating/RenderTreeBuilder.cpp:
-        (WebCore::RenderTreeBuilder::insertChild):
-        (WebCore::RenderTreeBuilder::rubyRunInsertChild): Deleted.
-        * rendering/updating/RenderTreeBuilder.h:
-        (WebCore::RenderTreeBuilder::rubyBuilder):
-        * rendering/updating/RenderTreeBuilderRuby.cpp: Added.
-        (WebCore::RenderTreeBuilder::Ruby::Ruby):
-        (WebCore::RenderTreeBuilder::Ruby::insertChild):
-        * rendering/updating/RenderTreeBuilderRuby.h: Copied from Source/WebCore/rendering/updating/RenderTreeBuilder.h.
-
-2017-12-21  Ms2ger  <Ms2ger@igalia.com>
-
-        Replace a FIXME comment in CanvasGradient::addColorStop().
-        https://bugs.webkit.org/show_bug.cgi?id=181034
-
-        Reviewed by Daniel Bates.
-
-        Tests: LayoutTests/imported/w3c/canvas/2d.gradient.object.current.html
-
-        * html/canvas/CanvasGradient.cpp:
-        (WebCore::CanvasGradient::addColorStop):
-
-2017-12-21  Jeremy Jones  <jeremyj@apple.com>
-
-        Enable picture-in-picture from inline element on suspend.
-        https://bugs.webkit.org/show_bug.cgi?id=180942
-        rdar://problem/34745234
-
-        Reviewed by Jer Noble.
-
-        When a element goes into element fullscreen mode, a descendant video element gains the ability to automatically enter picture-in-picture on application suspend.
-
-        This adds support for video fullscreen standby mode, which creates a VideoFullscreenInterfaceAVKit so that it can
-        trigger auto-pip on application suspend while the element is not actually presenting in video fullscreen mode.
-
-        VideoFullscreenInterfaceAVKit has a new state transition system that will replace the existing one to enable the increased
-        number and complexity of state transitions. Until we are ready to completely commit to this new code path, this implementation is
-        conditionalized to keep the existing code path working.
-
-        * html/HTMLMediaElement.cpp:
-        (WebCore::HTMLMediaElement::enterFullscreen):
-        (WebCore::HTMLMediaElement::exitFullscreen):
-        (WebCore::HTMLMediaElement::setVideoFullscreenStandby):
-        (WebCore::HTMLMediaElement::shouldOverrideBackgroundPlaybackRestriction const):
-        * html/HTMLMediaElement.h:
-        * page/ChromeClient.h:
-        * platform/cocoa/VideoFullscreenChangeObserver.h:
-        * platform/ios/VideoFullscreenInterfaceAVKit.h:
-        * platform/ios/VideoFullscreenInterfaceAVKit.mm:
-        (-[WebAVPlayerViewControllerDelegate playerViewControllerShouldStartPictureInPictureFromInlineWhenEnteringBackground:]):
-        (-[WebAVPlayerLayer layoutSublayers]):
-        (allocWebAVPictureInPicturePlayerLayerViewInstance):
-        (allocWebAVPlayerLayerViewInstance):
-        (VideoFullscreenInterfaceAVKit::applicationDidBecomeActive):
-        (VideoFullscreenInterfaceAVKit::setupFullscreen):
-        (VideoFullscreenInterfaceAVKit::enterFullscreen):
-        (VideoFullscreenInterfaceAVKit::exitFullscreen):
-        (VideoFullscreenInterfaceAVKit::cleanupFullscreen):
-        (VideoFullscreenInterfaceAVKit::requestHideAndExitFullscreen):
-        (VideoFullscreenInterfaceAVKit::preparedToReturnToInline):
-        (VideoFullscreenInterfaceAVKit::mayAutomaticallyShowVideoPictureInPicture const):
-        (VideoFullscreenInterfaceAVKit::willStartPictureInPicture):
-        (VideoFullscreenInterfaceAVKit::didStartPictureInPicture):
-        (VideoFullscreenInterfaceAVKit::failedToStartPictureInPicture):
-        (VideoFullscreenInterfaceAVKit::willStopPictureInPicture):
-        (VideoFullscreenInterfaceAVKit::didStopPictureInPicture):
-        (VideoFullscreenInterfaceAVKit::prepareForPictureInPictureStopWithCompletionHandler):
-        (VideoFullscreenInterfaceAVKit::shouldExitFullscreenWithReason):
-        (VideoFullscreenInterfaceAVKit::setMode):
-        (VideoFullscreenInterfaceAVKit::clearMode):
-        (VideoFullscreenInterfaceAVKit::setHasVideoContentLayer):
-        (VideoFullscreenInterfaceAVKit::setInlineRect):
-        (VideoFullscreenInterfaceAVKit::doSetup):
-        (VideoFullscreenInterfaceAVKit::finalizeSetup):
-        (VideoFullscreenInterfaceAVKit::doEnterFullscreen):
-        (VideoFullscreenInterfaceAVKit::doExitFullscreen):
-        (VideoFullscreenInterfaceAVKit::exitFullscreenHandler):
-        (VideoFullscreenInterfaceAVKit::enterFullscreenHandler):
-        (VideoFullscreenInterfaceAVKit::returnToStandby):
-        * platform/ios/WebVideoFullscreenControllerAVKit.mm:
-        (VideoFullscreenControllerContext::requestUpdateInlineRect):
-        (VideoFullscreenControllerContext::requestVideoContentLayer):
-        (VideoFullscreenControllerContext::returnVideoContentLayer):
-        (VideoFullscreenControllerContext::didSetupFullscreen):
-        (VideoFullscreenControllerContext::didExitFullscreen):
-        (VideoFullscreenControllerContext::setUpFullscreen):
-
-2017-12-20  Ryosuke Niwa  <rniwa@webkit.org>
-
-        DeferredLoadingScope incorrectly disabled images or enables deferred loading
-        https://bugs.webkit.org/show_bug.cgi?id=181077
-
-        Reviewed by Wenson Hsieh.
-
-        Fixed the bug that DeferredLoadingScope::~DeferredLoadingScope was checking the wrong flag
-        for restoring the disabledness of images and deferred loading.
-
-        Test: editing/pasteboard/pasting-with-images-disabled-should-not-enable-deferred-loading.html
-
-        * editing/cocoa/WebContentReaderCocoa.mm:
-        (WebCore::DeferredLoadingScope::~DeferredLoadingScope): Fixed the bug.
-        * testing/Internals.cpp:
-        (WebCore::Internals::pageDefersLoading): Added for testing.
-        * testing/Internals.h:
-        * testing/Internals.idl: Added pageDefersLoading.
-
-2017-12-20  Ryosuke Niwa  <rniwa@webkit.org>
-
-        isSafari check should take Safari Technology Preview into account
-        https://bugs.webkit.org/show_bug.cgi?id=181076
-
-        Reviewed by Alex Christensen.
-
-        Fixed isSafari() so that it returns true for Safari Technology Preview. This bug resulted in the custom pasteboard
-        types not being enabled in Safari Technology Preview. In long term, we should eliminate these isSafari() checks.
-
-        * platform/cocoa/RuntimeApplicationChecksCocoa.mm:
-        (WebCore::MacApplication::isSafari):
-
-2017-12-20  Wenson Hsieh  <wenson_hsieh@apple.com>
-
-        [Attachment Support] Attachment replacement logic should not depend on subresource URL attribute replacement
-        https://bugs.webkit.org/show_bug.cgi?id=181068
-        <rdar://problem/36168313>
-
-        Reviewed by Ryosuke Niwa.
-
-        Refactors attachment replacement logic, so that it doesn't require us to first replace element attributes that
-        contain subresource URLs with blob URLs before performing attachment element replacement. See below comments for
-        more detail.
-
-        Covered by existing API tests in WKAttachmentTests.
-
-        * editing/WebContentReader.h:
-        (WebCore::BlobReplacementInfo::isEmpty const): Deleted.
-
-        Remove BlobReplacementInfo. Instead, augment `replaceRichContentWithAttachments` so that it takes in the list of
-        subresources directly and generates blobs for each subresource.
-
-        * editing/cocoa/EditorCocoa.mm:
-        (WebCore::Editor::replaceSelectionWithAttributedString):
-        * editing/cocoa/WebContentReaderCocoa.mm:
-        (WebCore::shouldReplaceRichContentWithAttachments):
-        (WebCore::createFragmentForImageAttachment):
-        (WebCore::replaceRichContentWithAttachments):
-        (WebCore::createFragmentAndAddResources):
-        (WebCore::sanitizeMarkupWithArchive):
-
-        In these helper functions that currently convert subresource URLs to blob URLs, if attachment elements are not
-        defined out, and the runtime feature for attachment elements is enabled, then use an alternate codepath to
-        adjust the markup (via replaceRichContentWithAttachments).
-
-        Otherwise, fall back to default subresource URL conversion logic, which (at the moment) still converts
-        subresources to blobs, but will soon be changed to emit data URLs instead.
-
-        (WebCore::WebContentReader::readWebArchive):
-        (WebCore::WebContentMarkupReader::readWebArchive):
-        (WebCore::WebContentReader::readRTFD):
-        (WebCore::WebContentMarkupReader::readRTFD):
-        (WebCore::WebContentReader::readRTF):
-        (WebCore::WebContentMarkupReader::readRTF):
-        (WebCore::WebContentReader::readImage):
-
-        Remove the createFragmentFromAttributedString helper and revert to just calling createFragmentAndAddResources.
-
-        (WebCore::createFragmentFromAttributedString): Deleted.
-
-2017-12-20  Eric Carlson  <eric.carlson@apple.com>
-
-        [MediaStream] Add screen capture IDL and stub functions
-        https://bugs.webkit.org/show_bug.cgi?id=181070
-        <rdar://problem/35555184>
-
-        Reviewed by Youenn Fablet.
-
-        Tests: fast/mediastream/screencapture-disabled.html
-               fast/mediastream/screencapture-enabled.html
-
-        * Modules/mediastream/MediaDevices.cpp:
-        (WebCore::MediaDevices::getDisplayMedia const):
-        (WebCore::MediaDevices::getSupportedConstraints):
-        * Modules/mediastream/MediaDevices.h:
-        * Modules/mediastream/MediaDevices.idl:
-        * Modules/mediastream/MediaTrackConstraints.cpp:
-        (WebCore::convertToInternalForm):
-        * Modules/mediastream/MediaTrackConstraints.h:
-        * Modules/mediastream/MediaTrackConstraints.idl:
-        * Modules/mediastream/MediaTrackSupportedConstraints.h:
-        * Modules/mediastream/MediaTrackSupportedConstraints.idl:
-        * Modules/mediastream/UserMediaRequest.cpp:
-        (WebCore::UserMediaRequest::start):
-        (WebCore::UserMediaRequest::allow):
-        (WebCore::UserMediaRequest::deny):
-        * Modules/mediastream/UserMediaRequest.h:
-        * page/RuntimeEnabledFeatures.h:
-        (WebCore::RuntimeEnabledFeatures::screenCaptureEnabled const):
-        (WebCore::RuntimeEnabledFeatures::setScreenCaptureEnabled):
-        * platform/mediastream/CaptureDevice.h:
-        * platform/mediastream/MediaConstraints.cpp:
-        (WebCore::MediaTrackConstraintSetMap::set):
-        * platform/mediastream/MediaConstraints.h:
-        (WebCore::MediaTrackConstraintSetMap::displaySurface const):
-        (WebCore::MediaTrackConstraintSetMap::logicalSurface const):
-        (WebCore::MediaTrackConstraintSetMap::encode const):
-        (WebCore::MediaTrackConstraintSetMap::decode):
-        * platform/mediastream/MediaStreamRequest.h:
-        * platform/mediastream/RealtimeMediaSource.cpp:
-        (WebCore::RealtimeMediaSource::fitnessDistance):
-        (WebCore::RealtimeMediaSource::applyConstraint):
-        (WebCore::RealtimeMediaSource::supportsConstraint const):
-        * platform/mediastream/RealtimeMediaSourceCenter.cpp:
-        (WebCore::RealtimeMediaSourceCenter::validateRequestConstraints):
-        (WebCore::RealtimeMediaSourceCenter::captureDeviceWithPersistentID):
-        * platform/mediastream/RealtimeMediaSourceSettings.h:
-        (WebCore::RealtimeMediaSourceSettings::supportsDisplaySurface const):
-        (WebCore::RealtimeMediaSourceSettings::displaySurface const):
-        (WebCore::RealtimeMediaSourceSettings::setDisplaySurface):
-        (WebCore::RealtimeMediaSourceSettings::supportsLogicalSurface const):
-        (WebCore::RealtimeMediaSourceSettings::logicalSurface const):
-        (WebCore::RealtimeMediaSourceSettings::setLogicalSurface):
-        * platform/mediastream/RealtimeMediaSourceSupportedConstraints.cpp:
-        (WebCore::RealtimeMediaSourceSupportedConstraints::supportsConstraint const):
-        * platform/mediastream/RealtimeMediaSourceSupportedConstraints.h:
-        (WebCore::RealtimeMediaSourceSupportedConstraints::supportsDisplaySurface const):
-        (WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsDisplaySurface):
-        (WebCore::RealtimeMediaSourceSupportedConstraints::supportsLogicalSurface const):
-        (WebCore::RealtimeMediaSourceSupportedConstraints::setSupportsLogicalSurface):
-        (WebCore::RealtimeMediaSourceSupportedConstraints::encode const):
-        (WebCore::RealtimeMediaSourceSupportedConstraints::decode):
-        * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
-        * platform/mock/MockRealtimeVideoSource.cpp:
-        * testing/InternalSettings.cpp:
-        (WebCore::InternalSettings::Backup::Backup):
-        (WebCore::InternalSettings::Backup::restoreTo):
-        (WebCore::InternalSettings::setScreenCaptureEnabled):
-        * testing/InternalSettings.h:
-        * testing/InternalSettings.idl:
-
-2017-12-20  Matt Lewis  <jlewis3@apple.com>
-
-        Unreviewed, rolling out r225656.
-
-        The test has been a flaky timout since being added.
-
-        Reverted changeset:
-
-        "WebAssembly: sending module to iframe fails"
-        https://bugs.webkit.org/show_bug.cgi?id=179263
-        https://trac.webkit.org/changeset/225656
-
-2017-12-20  Don Olmstead  <don.olmstead@sony.com>
-
-        [Win] Use WCharStringExtras functions in WebCore
-        https://bugs.webkit.org/show_bug.cgi?id=180963
-
-        Reviewed by Alex Christensen.
-
-        No new tests. No change in behavior.
-
-        * platform/graphics/win/FontCacheWin.cpp:
-        (WebCore::appendLinkedFonts):
-        (WebCore::getLinkedFonts):
-        (WebCore::FontCache::systemFallbackForCharacters):
-        (WebCore::FontCache::fontFromDescriptionAndLogFont):
-        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
-        (WebCore::FontCustomPlatformData::fontPlatformData):
-        * platform/graphics/win/IconWin.cpp:
-        (WebCore::Icon::createIconForFiles):
-        * platform/network/win/DownloadBundleWin.cpp:
-        (WebCore::DownloadBundle::appendResumeData):
-        (WebCore::DownloadBundle::extractResumeData):
-        * platform/text/win/LocaleWin.cpp:
-        (WebCore::LCIDFromLocaleInternal):
-        (WebCore::LCIDFromLocale):
-        * platform/win/ClipboardUtilitiesWin.cpp:
-        (WebCore::getWebLocData):
-        (WebCore::createGlobalData):
-        (WebCore::getFileDescriptorData):
-        (WebCore::getURL):
-        (WebCore::getCFData):
-        (WebCore::setCFData):
-        * platform/win/DragDataWin.cpp:
-        (WebCore::DragData::asFilenames const):
-        * platform/win/DragImageWin.cpp:
-        (WebCore::createDragImageIconForCachedImageFilename):
-        (WebCore::dragLabelFont):
-        * platform/win/FileSystemWin.cpp:
-        (WebCore::FileSystem::getFindData):
-        (WebCore::FileSystem::createSymbolicLink):
-        (WebCore::FileSystem::deleteFile):
-        (WebCore::FileSystem::deleteEmptyDirectory):
-        (WebCore::FileSystem::moveFile):
-        (WebCore::FileSystem::pathByAppendingComponent):
-        (WebCore::FileSystem::makeAllDirectories):
-        (WebCore::FileSystem::pathGetFileName):
-        (WebCore::FileSystem::openTemporaryFile):
-        (WebCore::FileSystem::openFile):
-        (WebCore::FileSystem::hardLinkOrCopyFile):
-        * platform/win/MIMETypeRegistryWin.cpp:
-        (WebCore::mimeTypeForExtension):
-        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
-        * platform/win/PasteboardWin.cpp:
-        (WebCore::Pasteboard::read):
-        (WebCore::createGlobalHDropContent):
-        * platform/win/PathWalker.cpp:
-        (WebCore::PathWalker::PathWalker):
-        * platform/win/SSLKeyGeneratorWin.cpp:
-        (WebCore::WebCore::signedPublicKeyAndChallengeString):
-        * platform/win/SharedBufferWin.cpp:
-        (WebCore::SharedBuffer::createFromReadingFile):
-        * rendering/RenderThemeWin.cpp:
-        (WebCore::fillFontDescription):
-
-2017-12-20  Youenn Fablet  <youenn@apple.com>
-
-        com.apple.WebKit.WebContent.Development crashed in com.apple.WebCore: WebCore::UserMediaRequest::stop + 126
-        https://bugs.webkit.org/show_bug.cgi?id=181057
-
-        Reviewed by Eric Carlson.
-
-        Covered by fast/mediastream tests to not crash anymore.
-
-        * Modules/mediastream/UserMediaRequest.cpp:
-        (WebCore::UserMediaRequest::stop):
-
-2017-12-20  Brady Eidson  <beidson@apple.com>
-
-        Assertion failure in MessagePort::contextDestroyed in http/tests/security/MessagePort/event-listener-context.html, usually attributed to later tests.
-        https://bugs.webkit.org/show_bug.cgi?id=94458
-
-        Reviewed by Chris Dumez.
-
-        No new tests (Changed existing test to reliably crash before this change, and work after it)
-
-        There was already a glaring FIXME that said "MessagePorts should be ActiveDOMObjects"
-        
-        It was right, and it fixes up this subtle lifetime issue.
-        
-        * dom/MessagePort.cpp:
-        (WebCore::MessagePort::MessagePort):
-        (WebCore::MessagePort::hasPendingActivity const):
-        (WebCore::MessagePort::locallyEntangledPort const):
-        (WebCore::MessagePort::activeDOMObjectName const):
-        (WebCore::MessagePort::hasPendingActivity): Deleted.
-        (WebCore::MessagePort::locallyEntangledPort): Deleted.
-        * dom/MessagePort.h:
-
-        * dom/ScriptExecutionContext.cpp:
-        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
-        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
-        (WebCore::ScriptExecutionContext::hasPendingActivity const):
-
-2017-12-20  Youenn Fablet  <youenn@apple.com>
-
-        Do not search for service worker registration in case of non HTTP navigation loads
-        https://bugs.webkit.org/show_bug.cgi?id=180976
-        <rdar://problem/36157322>
-
-        Unreviewed.
-
-        * loader/DocumentLoader.cpp:
-        (WebCore::DocumentLoader::startLoadingMainResource): Removing unneeded spaces.
-
-2017-12-20  Alex Christensen  <achristensen@webkit.org>
-
-        Remove some SVN files accidentally committed with r226160
-        https://bugs.webkit.org/show_bug.cgi?id=180934
-
-        * WebCore.xcodeproj/project.pbxproj.orig: Removed.
-        * WebCore.xcodeproj/project.pbxproj.rej: Removed.
-
-2017-12-20  Zalan Bujtas  <zalan@apple.com>
-
-        [RenderTreeBuilder] Replace remaining addChild calls with RenderTreeBuilder::insert
-        https://bugs.webkit.org/show_bug.cgi?id=181044
-        <rdar://problem/36157613>
-
-        Reviewed by Antti Koivisto.
-
-        Covered by existing test cases.
-
-        * rendering/RenderBlock.cpp:
-        (WebCore::RenderBlock::addChildIgnoringContinuation):
-        * rendering/RenderElement.cpp:
-        (WebCore::RenderElement::addChildIgnoringContinuation):
-        * rendering/RenderElement.h:
-        (WebCore::RenderElement::addChildIgnoringContinuation): Deleted.
-
-2017-12-20  Daniel Bates  <dabates@apple.com>
-
-        Cleanup: Dereference value of optional directly instead of using checked value in WebCore::subdivide()
-        https://bugs.webkit.org/show_bug.cgi?id=181050
-
-        Reviewed by Simon Fraser.
-
-        It is sufficient and more efficient to dereference a std::optional directly when we know that it has
-        a value as opposed to using the checked dereference member function std::optional<>::value().
-
-        No functionality changed. So, no new tests.
-
-        * rendering/MarkerSubrange.cpp:
-        (WebCore::subdivide):
-
-2017-12-20  Daniel Bates  <dabates@apple.com>
-
-        MarkerSubrange.SubdivideGrammarAndSelectionOverlap{Frontmost, FrontmostWithLongestEffectiveRange} are failing
-        https://bugs.webkit.org/show_bug.cgi?id=181014
-
-        Reviewed by Simon Fraser.
-
-        Fixes an issue in the subdivision algorithm where the returned subranges may not be paint order
-        or reverse paint order when using the default overlap strategy (OverlapStrategy::None) and
-        either OverlapStrategy::Frontmost or OverlapStrategy::FrontmostWithLongestEffectiveRange, respectively.
-
-        Currently we compute the overlapping subranges up to some point p_i on the line by sweeping from the
-        start of the line through all the unclosed subranges. The unclosed subranges are sorted along the line.
-        That is, they are not sorted by paint order or reverse paint order. Therefore we must take care to
-        ensure that we return the computed overlapping subranges with respect to paint order/reverse paint order.
-
-        * rendering/MarkerSubrange.cpp:
-        (WebCore::subdivide):
-
-2017-12-20  Youenn Fablet  <youenn@apple.com>
-
-        LayoutTest imported/w3c/web-platform-tests/service-workers/cache-storage/serviceworker/cache-match.https.html is a flaky failure
-        https://bugs.webkit.org/show_bug.cgi?id=179137
-        <rdar://problem/35337335>
-
-        Reviewed by Chris Dumez.
-
-        Covered by unflaked test.
-
-        * workers/service/context/ServiceWorkerThreadProxy.cpp:
-        (WebCore::ServiceWorkerThreadProxy::postTaskToLoader): ThreadableBlobRegistry is using callOnMainThread.
-        Use it also for postTaskToLoader so that there is no race condition between registering a blob and reading it.
-
-2017-12-20  Youenn Fablet  <youenn@apple.com>
-
-        Support service worker interception of request with blob body
-        https://bugs.webkit.org/show_bug.cgi?id=181035
-
-        Reviewed by Chris Dumez.
-
-        Covered by updated test.
-
-        Add support for getting blob request bodies within service worker.
-        Disable interception of requests with form datas.
-
-        * Modules/fetch/FetchBody.cpp:
-        (WebCore::FetchBody::fromFormData):
-        * Modules/fetch/FetchBody.h:
-        * workers/service/context/ServiceWorkerFetch.cpp:
-        (WebCore::ServiceWorkerFetch::dispatchFetchEvent):
-        * workers/service/context/ServiceWorkerFetch.h:
-        * workers/service/context/ServiceWorkerThread.cpp:
-        (WebCore::ServiceWorkerThread::postFetchTask):
-
-2017-12-20  Jeremy Jones  <jeremyj@apple.com>
-
-        Send fullscreenChange earlier, in webkitWillEnterFullscreen
-        https://bugs.webkit.org/show_bug.cgi?id=181016
-
-        Reviewed by Jer Noble.
-
-        Sending the event earlier, allows pages to update their interface state before the fullscreen animation.
-        
-        * dom/Document.cpp:
-        (WebCore::Document::webkitWillEnterFullScreenForElement):
-        (WebCore::Document::webkitDidEnterFullScreenForElement):
-
-2017-12-20  Daniel Bates  <dabates@apple.com>
-
-        Remove Alternative Presentation Button
-        https://bugs.webkit.org/show_bug.cgi?id=180500
-        <rdar://problem/35891047>
-
-        Reviewed by Simon Fraser.
-
-        We no longer need the alternative presentation button.
-
-        * Configurations/FeatureDefines.xcconfig:
-        * DerivedSources.make:
-        * English.lproj/Localizable.strings:
-        * SourcesCocoa.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-        * dom/Element.h:
-        * editing/Editor.cpp:
-        (WebCore::Editor::clear):
-        (WebCore::Editor::substituteWithAlternativePresentationButton): Deleted.
-        (WebCore::Editor::removeAlternativePresentationButton): Deleted.
-        (WebCore::Editor::elementsReplacedByAlternativePresentationButton): Deleted.
-        (WebCore::Editor::didInsertAlternativePresentationButtonElement): Deleted.
-        (WebCore::Editor::didRemoveAlternativePresentationButtonElement): Deleted.
-        * editing/Editor.h:
-        * editing/cocoa/AlternativePresentationButtonSubstitution.cpp: Removed.
-        * editing/cocoa/AlternativePresentationButtonSubstitution.h: Removed.
-        * html/HTMLInputElement.cpp:
-        (WebCore::HTMLInputElement::updateType):
-        (WebCore::HTMLInputElement::parseAttribute):
-        (WebCore::HTMLInputElement::willAttachRenderers):
-        (WebCore::HTMLInputElement::alternativePresentationButtonElement const): Deleted.
-        (WebCore::HTMLInputElement::setTypeWithoutUpdatingAttribute): Deleted.
-        (WebCore::HTMLInputElement::createInputType): Deleted.
-        * html/HTMLInputElement.h:
-        * html/InputType.h:
-        (WebCore::InputType::alternativePresentationButtonElement const): Deleted.
-        * html/InputTypeNames.cpp:
-        (WebCore::InputTypeNames::alternativePresentationButton): Deleted.
-        * html/InputTypeNames.h:
-        * html/shadow/cocoa/AlternativePresentationButtonElement.cpp: Removed.
-        * html/shadow/cocoa/AlternativePresentationButtonElement.h: Removed.
-        * html/shadow/cocoa/AlternativePresentationButtonInputType.cpp: Removed.
-        * html/shadow/cocoa/AlternativePresentationButtonInputType.h: Removed.
-        * page/ChromeClient.h:
-        * platform/LocalizedStrings.cpp:
-        (WebCore::AXAlternativePresentationButtonLabel): Deleted.
-        (WebCore::alternativePresentationButtonTitle): Deleted.
-        (WebCore::alternativePresentationButtonSubtitle): Deleted.
-        * platform/LocalizedStrings.h:
-        * testing/Internals.cpp:
-        (WebCore::Internals::substituteWithAlternativePresentationButton): Deleted.
-        (WebCore::Internals::removeAlternativePresentationButton): Deleted.
-        (WebCore::Internals::elementsReplacedByAlternativePresentationButton): Deleted.
-        * testing/Internals.h:
-        * testing/Internals.idl:
-
-2017-12-20  Chris Dumez  <cdumez@apple.com>
-
-        Do not reuse resource for memory cache if selected service worker differs
-        https://bugs.webkit.org/show_bug.cgi?id=181042
-
-        Reviewed by Youenn Fablet.
-
-        No new tests, rebaselined existing test.
-
-        * loader/cache/CachedResource.h:
-        (WebCore::CachedResource::options const):
-        * loader/cache/CachedResourceLoader.cpp:
-        (WebCore::CachedResourceLoader::determineRevalidationPolicy const):
-
-2017-12-20  Youenn Fablet  <youenn@apple.com>
-
-        Do not search for service worker registration in case of non HTTP navigation loads
-        https://bugs.webkit.org/show_bug.cgi?id=180976
-
-        Reviewed by Chris Dumez.
-
-        Covered by manual testing using perf test app uploaded in https://bugs.webkit.org/show_bug.cgi?id=180929.
-        In case we are sure there is no possiblity for getting a service worker, skip the search step.
-        Simialrly, do not report any Document as a Service Worker client if it can never be controlled.
-        A follow-up patch should handle the case of local URLs service worker selection.
-
-        * loader/DocumentLoader.cpp:
-        (WebCore::DocumentLoader::startLoadingMainResource):
-        (WebCore::DocumentLoader::commitData):
-
-2017-12-20  Andy Estes  <aestes@apple.com>
-
-        [Apple Pay] Tell PassKit whether Apple Pay JS or Payment Request was used to start an Apple Pay session
-        https://bugs.webkit.org/show_bug.cgi?id=181001
-        <rdar://problem/35479106>
-
-        Reviewed by Tim Horton.
-
-        * Modules/applepay/ApplePaySession.cpp:
-        (WebCore::convertAndValidate):
-        * Modules/applepay/ApplePaySessionPaymentRequest.h:
-        (WebCore::ApplePaySessionPaymentRequest::requester const):
-        (WebCore::ApplePaySessionPaymentRequest::setRequester):
-        * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
-        (WebCore::ApplePayPaymentHandler::show):
-
-2017-12-20  Zalan Bujtas  <zalan@apple.com>
-
-        [RenderTreeBuilder] Move finding-the-parent/creating-wrapper logic from RenderTable::addChild to RenderTreeBuilder
-        https://bugs.webkit.org/show_bug.cgi?id=181018
-        <rdar://problem/36148601>
-
-        Reviewed by Antti Koivisto.
-
-        This is in preparation for removing all tree mutation from renderering code.
-
-        Covered by existing tests.
-
-        * rendering/RenderBlock.cpp:
-        (WebCore::RenderBlock::addChildIgnoringContinuation):
-        * rendering/RenderTable.cpp:
-        (WebCore::RenderTable::addChild):
-        * rendering/updating/RenderTreeBuilder.cpp:
-        (WebCore::RenderTreeBuilder::insertChild):
-        * rendering/updating/RenderTreeBuilderTable.cpp:
-        (WebCore::RenderTreeBuilder::Table::findOrCreateParentForChild):
-        * rendering/updating/RenderTreeBuilderTable.h:
-
-2017-12-20  Frederic Wang  <fwang@igalia.com>
-
-        Split layout of RenderMathMLRow into smaller steps
-        https://bugs.webkit.org/show_bug.cgi?id=180348
-
-        Reviewed by Manuel Rego Casasnovas.
-
-        Currently, RenderMathMLRow mixes too many steps in the same layout functions: layout children,
-        calculate stretch size, stretch vertical operators, calculate final ascent/descent, handle
-        out-of-flow positioned children, set logical height, set logical width for non-display
-        <math> tag, center display <math> tag etc This situation is inherited from the old flexbox
-        implementation but it makes difficult to read the code and to re-use layout & metrics
-        calculation for follow-up work on <mrow>-like elements (<menclose>, <mapdded>, <msqrt> or
-        <math>). See for example bug 160547 for <math> or bug 161126 for <menclose>.
-        This patch rewrites RenderMathMLRow into smaller steps:
-        - stretchVerticalOperatorsAndLayoutChildren() which calls layoutIfNeeded() or
-        insertPositionedObject() on children and stretch vertical operators.
-        - getContentBoundingBox() to determine the metrics of the mrow-like element without calling
-        layout on children or positioning them, so that we can improve mrow-like element in the
-        future.
-        - layoutRowItems() which sets the position of children.
-
-        Setting the logical width/height or centering children is now moved into layoutBlock() since
-        derived class overriding layoutBlock() will do their own adjustment for width, height and
-        positions.
-
-        Test: mathml/mrow-preferred-width-with-out-of-flow-child.html
-        The rest of the behavior is unchanged and already covered by existing tests.
-
-        * rendering/mathml/RenderMathMLMenclose.cpp:
-        (WebCore::RenderMathMLMenclose::layoutBlock): Use the new function and get contentWidth
-        directly from getContentBoundingBox().
-        * rendering/mathml/RenderMathMLPadded.cpp:
-        (WebCore::RenderMathMLPadded::layoutBlock): Ditto.
-        * rendering/mathml/RenderMathMLRoot.cpp:
-        (WebCore::RenderMathMLRoot::layoutBlock): Ditto, also remove useless statement
-        baseAscent = baseDescent.
-        * rendering/mathml/RenderMathMLRow.cpp:
-        (WebCore::toVerticalStretchyOperator): New helper function to cast to a vertical stretchy
-        operator.
-        (WebCore::RenderMathMLRow::stretchVerticalOperatorsAndLayoutChildren): New helper function
-        to ensure layoutIfNeeded()/insertPositionedObject() is called on children and that the
-        vertical operators are stretched.
-        (WebCore::RenderMathMLRow::getContentBoundingBox const): New helper function to determine
-        the width/ascent/descent to use for the mrow content.
-        (WebCore::RenderMathMLRow::computePreferredLogicalWidths): Skip out-of-flow children in the
-        preferred width calculation. This is verified by the new test.
-        (WebCore::RenderMathMLRow::layoutRowItems): Only keep the positioning of children with the
-        specified width and ascent.
-        (WebCore::RenderMathMLRow::layoutBlock): Center children for <math display="block"> tag and
-        set the logical width in other cases. Also set the logical height here.
-        (WebCore::RenderMathMLRow::computeLineVerticalStretch): Deleted. This work is included in
-        stretchVerticalOperatorsAndLayoutChildren() now.
-        * rendering/mathml/RenderMathMLRow.h: Update declaration of functions.
-
-2017-12-20  Antti Koivisto  <antti@apple.com>
-
-        Move list and multicolumn building code from RenderTreeUpdater to RenderTreeBuilder
-        https://bugs.webkit.org/show_bug.cgi?id=181021
-
-        Reviewed by Zalan Bujtas.
-
-        RenderTreeUpdater::ListItem -> RenderTreeBuilder::List
-        RenderTreeUpdater::MultiColumn -> RenderTreeBuilder::MultiColumn
-
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-        * rendering/TextAutoSizing.cpp:
-        (WebCore::TextAutoSizingValue::adjustTextNodeSizes):
-        * rendering/updating/RenderTreeBuilder.cpp:
-        (WebCore::RenderTreeBuilder::RenderTreeBuilder):
-        (WebCore::RenderTreeBuilder::updateAfterDescendants):
-        * rendering/updating/RenderTreeBuilder.h:
-        (WebCore::RenderTreeBuilder::listBuilder):
-        (WebCore::RenderTreeBuilder::multiColumnBuilder):
-        * rendering/updating/RenderTreeBuilderList.cpp: Copied from Source/WebCore/rendering/updating/RenderTreeUpdaterListItem.cpp.
-        (WebCore::RenderTreeBuilder::List::List):
-        (WebCore::RenderTreeBuilder::List::updateItemMarker):
-        (WebCore::RenderTreeUpdater::ListItem::updateMarker): Deleted.
-        * rendering/updating/RenderTreeBuilderList.h: Copied from Source/WebCore/rendering/updating/RenderTreeUpdaterListItem.h.
-        * rendering/updating/RenderTreeBuilderMultiColumn.cpp: Copied from Source/WebCore/rendering/updating/RenderTreeUpdaterMultiColumn.cpp.
-        (WebCore::RenderTreeBuilder::MultiColumn::MultiColumn):
-        (WebCore::RenderTreeBuilder::MultiColumn::updateAfterDescendants):
-        (WebCore::RenderTreeBuilder::MultiColumn::createFragmentedFlow):
-        (WebCore::RenderTreeBuilder::MultiColumn::destroyFragmentedFlow):
-        (WebCore::RenderTreeUpdater::MultiColumn::update): Deleted.
-        (WebCore::RenderTreeUpdater::MultiColumn::createFragmentedFlow): Deleted.
-        (WebCore::RenderTreeUpdater::MultiColumn::destroyFragmentedFlow): Deleted.
-        * rendering/updating/RenderTreeBuilderMultiColumn.h: Copied from Source/WebCore/rendering/updating/RenderTreeUpdaterMultiColumn.h.
-        * rendering/updating/RenderTreeUpdater.cpp:
-        (WebCore::RenderTreeUpdater::commit):
-        (WebCore::RenderTreeUpdater::updateAfterDescendants):
-        * rendering/updating/RenderTreeUpdater.h:
-        * rendering/updating/RenderTreeUpdaterGeneratedContent.cpp:
-        (WebCore::RenderTreeUpdater::GeneratedContent::updatePseudoElement):
-        * rendering/updating/RenderTreeUpdaterListItem.cpp: Removed.
-        * rendering/updating/RenderTreeUpdaterListItem.h: Removed.
-        * rendering/updating/RenderTreeUpdaterMultiColumn.cpp: Removed.
-        * rendering/updating/RenderTreeUpdaterMultiColumn.h: Removed.
-
-2017-12-20  Ms2ger  <Ms2ger@igalia.com>
-
-        REGRESSION(r226160) Build broken when MEDIA_STREAM is disabled with MediaStreamRequest namespace confusion
-        https://bugs.webkit.org/show_bug.cgi?id=181026
-
-        Unreviewed build fix.
-
-        * platform/mediastream/MediaStreamRequest.h: Fix namespace, unconditionally include header.
-
-2017-12-20  Frederic Wang  <fwang@igalia.com>
-
-        Refactor RenderMathMLFraction to remove members modified during layout
-        https://bugs.webkit.org/show_bug.cgi?id=180151
-
-        Reviewed by Manuel Rego Casasnovas.
-
-        Currently, RenderMathMLFraction has three LayoutUnit members m_defaultLineThickness,
-        m_lineThickness and m_ascent that are set during layout. In the past such members have caused
-        MathML rendering bugs due to update issues. This patch refactors the layout of MathML
-        fractions so that it does not require to store and keep these LayoutUnit members up-to-date.
-        New helper functions are introduced to perform the simple arithmetic calculations required.
-
-        No new tests, behavior unchanged and already covered by existing tests.
-
-        * rendering/mathml/RenderMathMLFraction.cpp: We add new helper functions to calculate line
-        thickness values. This allows to remove updateLineThickness(), m_defaultLineThickness and
-        m_lineThickness. We also introduce the ascentOverHorizontalAxis() helper function to
-        calculate the ascent over the middle of its fraction bar or stack gap. This allows to remove
-        the m_ascent member.
-        (WebCore::RenderMathMLFraction::defaultLineThickness const): Helper function to calculate
-        the default thickness of the fraction bar given in the MATH table or a fallback value.
-        This replaces the use of m_defaultLineThickness.
-        (WebCore::RenderMathMLFraction::lineThickness const): Helper function to resolve the
-        actual thickness based on the @linethickness attribute and the default value. This replaces
-        the use of m_lineThickness.
-        (WebCore::RenderMathMLFraction::relativeLineThickness const): Rewrite this function using
-        the new helper functions.
-        (WebCore::RenderMathMLFraction::fractionParameters const): Make this const and replaces
-        isStack() with !lineThickness().
-        (WebCore::RenderMathMLFraction::stackParameters const): Ditto. Also move from layoutBlock
-        the adjustment of parameters to ensure a minimum gap. Doing so assumes that the fraction is
-        valid so we add an ASSERT.
-        (WebCore::RenderMathMLFraction::horizontalOffset const): Make this a const since it does not
-        mutate anything.
-        (WebCore::RenderMathMLFraction::ascentOverHorizontalAxis const): Move this code from
-        layoutBlock() to determine the middle of the stack gap or of the fraction bar. This helper
-        function replaces m_ascent - mathAxisHeight(). Note that the adjustment of topShiftUp is now
-        done in stackParameters().
-        (WebCore::RenderMathMLFraction::layoutBlock): Remove the call to updateLineThickness().
-        Rely on stackParameters() and ascentOverHorizontalAxis() to perform the necessary calculation
-        of bottomShiftDown and ascent respectively.
-        (WebCore::RenderMathMLFraction::paint): Use lineThickness() and ascentOverHorizontalAxis()
-        instead of m_lineThickness, m_ascent and isStack().
-        (WebCore::RenderMathMLFraction::firstLineBaseline const): Use ascentOverHorizontalAxis() and
-        mathAxisHeight() instead of m_ascent.
-        (WebCore::RenderMathMLFraction::updateLineThickness): Deleted.
-        * rendering/mathml/RenderMathMLFraction.h: Declare new helper functions for line thickness
-        values and ascent and remove the old LayoutUnit members. Make horizontalOffset(),
-        fractionParameter() and stackParameters() const since they do not modify anything and the two
-        last are used in the const function ascentOverHorizontalAxis(), itself used in
-        firstLineBaseline().
-
-2017-12-20  Carlos Alberto Lopez Perez  <clopez@igalia.com>
-
-        [GTK][Clang] Build fix after r226138
-        https://bugs.webkit.org/show_bug.cgi?id=180984
-
-        Unreviewed build fix.
-
-        No new tests, its a build fix.
-
-        * rendering/InlineTextBox.cpp:
-        (WebCore::InlineTextBox::collectSubrangesForDocumentMarkers):
-
-2017-12-20  Ryosuke Niwa  <rniwa@webkit.org>
-
-        REGRESSION(r222699): Drag & drop from a web page to Gmail fails
-        https://bugs.webkit.org/show_bug.cgi?id=181019
-
-        Reviewed by Wenson Hsieh.
-
-        The bug was caused by imageTypeToFakeFilename returning "image/png" instead of "image.png" for
-        the filename for a PING image converted from a TIFF image. Fixed the bug by correcting this typo.
-
-        Tests: PasteImage.PasteLegacyTIFFImage
-               PasteImage.PasteTIFFImage 
-
-        * platform/cocoa/PasteboardCocoa.mm:
-        (WebCore::imageTypeToFakeFilename):
-
-2017-12-19  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Refactor user-installed font setting for clarity
-        https://bugs.webkit.org/show_bug.cgi?id=181013
-
-        Reviewed by Simon Fraser.
-
-        Pave the way for https://bugs.webkit.org/show_bug.cgi?id=180951.
-
-        This patch renames the Setting to not have so many grammatical negatives, and moves
-        some CoreText-specific FontCache function signatures into a new FontCacheCoreText.h
-        header file. It also uses the AllowUserInstalledFonts enum class in more places instead
-        of the old boolean we were using, and puts this enum class in the common TextFlags.h
-        header.
-
-        No new tests because there is no behavior change.
-
-        * WebCore.xcodeproj/project.pbxproj:
-        * css/CSSFontFaceSet.cpp:
-        (WebCore::CSSFontFaceSet::ensureLocalFontFacesForFamilyRegistered):
-        * css/StyleResolver.cpp:
-        (WebCore::StyleResolver::initializeFontStyle):
-        * page/Settings.yaml:
-        * platform/graphics/FontCache.h:
-        (WebCore::SynthesisPair::SynthesisPair): Deleted.
-        (WebCore::SynthesisPair::boldObliquePair const): Deleted.
-        * platform/graphics/FontDescription.cpp:
-        (WebCore::m_shouldAllowUserInstalledFonts):
-        (WebCore::m_mayRepresentUserInstalledFont): Deleted.
-        * platform/graphics/FontDescription.h:
-        (WebCore::FontDescription::shouldAllowUserInstalledFonts const):
-        (WebCore::FontDescription::setShouldAllowUserInstalledFonts):
-        (WebCore::FontDescription::operator== const):
-        (WebCore::FontDescription::mayRepresentUserInstalledFont const): Deleted.
-        (WebCore::FontDescription::setMayRepresentUserInstalledFont): Deleted.
-        * platform/graphics/cocoa/FontCacheCoreText.cpp:
-        (WebCore::FontDatabase::singleton):
-        (WebCore::FontDatabase::singletonAllowingUserInstalledFonts):
-        (WebCore::FontDatabase::singletonDisallowingUserInstalledFonts):
-        (WebCore::FontDatabase::FontDatabase):
-        (WebCore::platformFontLookupWithFamily):
-        (WebCore::fontWithFamily):
-        * platform/graphics/cocoa/FontCacheCoreText.h: Added.
-        (WebCore::SynthesisPair::SynthesisPair):
-        (WebCore::SynthesisPair::boldObliquePair const):
-        * platform/text/TextFlags.h:
-        * style/StyleResolveForDocument.cpp:
-        (WebCore::Style::resolveForDocument):
-
-2017-12-19  Youenn Fablet  <youenn@apple.com>
-
-        UserMediaRequest should stop a request when Document is being stopped
-        https://bugs.webkit.org/show_bug.cgi?id=180962
-
-        Reviewed by Eric Carlson.
-
-        Covered by fast/mediastream/destroy-document-while-enumerating-devices.html not crashing anymore under guardmalloc.
-        Stopping to wait for the media stream to be active whenDocument goes away.
-
-        * Modules/mediastream/UserMediaRequest.cpp:
-        (WebCore::UserMediaRequest::UserMediaRequest):
-        (WebCore::UserMediaRequest::stop):
-        (WebCore::UserMediaRequest::activeDOMObjectName const):
-        (WebCore::UserMediaRequest::canSuspendForDocumentSuspension const):
-        (WebCore::UserMediaRequest::contextDestroyed): Deleted.
-        * Modules/mediastream/UserMediaRequest.h:
-
-2017-12-19  Antti Koivisto  <antti@apple.com>
-
-        Move first-letter building code to RenderTreeBuilder
-        https://bugs.webkit.org/show_bug.cgi?id=180992
-
-        Reviewed by Zalan Bujtas.
-
-        All special case tree building logic should go to RenderTreeBuilder.
-
-        - RenderTreeUpdater::FirstLetter -> RenderTreeBuilder::FirstLetter
-        - Make the builder non-static and stop using RenderTreeBuilder::current() there.
-
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-        * rendering/TextAutoSizing.cpp:
-        (WebCore::TextAutoSizingValue::adjustTextNodeSizes):
-        * rendering/updating/RenderTreeBuilder.cpp:
-        (WebCore::RenderTreeBuilder::RenderTreeBuilder):
-        (WebCore::RenderTreeBuilder::insertChild):
-        (WebCore::RenderTreeBuilder::updateAfterDescendants):
-        * rendering/updating/RenderTreeBuilder.h:
-        (WebCore::RenderTreeBuilder::firstLetterBuilder):
-        (WebCore::RenderTreeBuilder::tableBuilder):
-        * rendering/updating/RenderTreeBuilderFirstLetter.cpp: Copied from rendering/updating/RenderTreeUpdaterFirstLetter.cpp.
-        (WebCore::supportsFirstLetter):
-        (WebCore::RenderTreeBuilder::FirstLetter::FirstLetter):
-        (WebCore::RenderTreeBuilder::FirstLetter::updateAfterDescendants):
-        (WebCore::RenderTreeBuilder::FirstLetter::updateStyle):
-        (WebCore::RenderTreeBuilder::FirstLetter::createRenderers):
-        (WebCore::updateFirstLetterStyle): Deleted.
-        (WebCore::createFirstLetterRenderer): Deleted.
-        (WebCore::RenderTreeUpdater::FirstLetter::update): Deleted.
-        * rendering/updating/RenderTreeBuilderFirstLetter.h: Copied from rendering/updating/RenderTreeUpdaterFirstLetter.h.
-        * rendering/updating/RenderTreeUpdater.cpp:
-        (WebCore::RenderTreeUpdater::updateAfterDescendants):
-        * rendering/updating/RenderTreeUpdater.h:
-        * rendering/updating/RenderTreeUpdaterFirstLetter.cpp: Removed.
-        * rendering/updating/RenderTreeUpdaterFirstLetter.h: Removed.
-
-2017-12-19  Chris Dumez  <cdumez@apple.com>
-
-        [Fetch] Extracting a body of type Blob should not set Content-Type to the empty string
-        https://bugs.webkit.org/show_bug.cgi?id=180991
-
-        Reviewed by Youenn Fablet.
-
-        Extracting a body of type Blob should not set Content-Type to the empty string as per:
-        - https://fetch.spec.whatwg.org/#concept-bodyinit-extract
-
-        No new tests, rebaselined existing test.
-
-        * Modules/fetch/FetchBody.cpp:
-        (WebCore::FetchBody::extract):
-
-2017-12-19  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r226094.
-        https://bugs.webkit.org/show_bug.cgi?id=181012
-
-        No longer needed to build without error. (Requested by xenon
-        on #webkit).
-
-        Reverted changeset:
-
-        "[GTK][WPE] Conditionalize libTASN1 use behind
-        ENABLE_SUBTLE_CRYPTO in the CMake files"
-        https://bugs.webkit.org/show_bug.cgi?id=180949
-        https://trac.webkit.org/changeset/226094
-
-2017-12-19  Eric Carlson  <eric.carlson@apple.com>
-
-        [MediaStream] Clean up RealtimeMediaSource interfaces
-        https://bugs.webkit.org/show_bug.cgi?id=180934
-        <rdar://problem/36108648>
-
-        Reviewed by Youenn Fablet.
-
-        No new tests, updated http/tests/media/media-stream/disconnected-frame.html.
-        
-        Wrap video and audio constraints in a struct instead of passing both around as separate
-        parameters. Cleanup up the interface to RealTimeMediaSourceCenter.
-
-        * Modules/mediastream/MediaDevices.cpp:
-        (WebCore::MediaDevices::getUserMedia const):
-        * Modules/mediastream/MediaDevicesRequest.cpp:
-        (WebCore::MediaDevicesRequest::start):
-        * Modules/mediastream/UserMediaRequest.cpp:
-        (WebCore::UserMediaRequest::create):
-        (WebCore::UserMediaRequest::UserMediaRequest):
-        (WebCore::UserMediaRequest::start):
-        (WebCore::UserMediaRequest::allow):
-        (WebCore::UserMediaRequest::contextDestroyed):
-        * Modules/mediastream/UserMediaRequest.h:
-        (WebCore::UserMediaRequest::request const):
-        * WebCore.xcodeproj/project.pbxproj:
-        * platform/mediastream/CaptureDevice.h:
-        (WebCore::CaptureDevice::persistentId const):
-        (WebCore::CaptureDevice::label const):
-        (WebCore::CaptureDevice::groupId const):
-        (WebCore::CaptureDevice::type const):
-        (WebCore::CaptureDevice::setPersistentId): Deleted.
-        (WebCore::CaptureDevice::setLabel): Deleted.
-        (WebCore::CaptureDevice::setGroupId): Deleted.
-        (WebCore::CaptureDevice::setType): Deleted.
-        * platform/mediastream/CaptureDeviceManager.cpp:
-        (CaptureDeviceManager::getAudioSourcesInfo): Deleted.
-        (CaptureDeviceManager::getVideoSourcesInfo): Deleted.
-        (CaptureDeviceManager::deviceWithUID): Deleted.
-        * platform/mediastream/CaptureDeviceManager.h:
-        (WebCore::CaptureDeviceManager::captureDeviceWithPersistentID):
-        (WebCore::CaptureDeviceManager::refreshCaptureDevices):
-        * platform/mediastream/MediaStreamRequest.h: Copied from Source/WebCore/platform/mediastream/ios/AVAudioSessionCaptureDevice.mm.
-        (WebCore::MediaStreamRequest::encode const):
-        (WebCore::MediaStreamRequest::decode):
-        * platform/mediastream/RealtimeMediaSourceCenter.cpp:
-        (WebCore::RealtimeMediaSourceCenter::createMediaStream):
-        (WebCore::RealtimeMediaSourceCenter::getMediaStreamDevices):
-        (WebCore::RealtimeMediaSourceCenter::validateRequestConstraints):
-        (WebCore::RealtimeMediaSourceCenter::captureDeviceWithPersistentID):
-        * platform/mediastream/RealtimeMediaSourceCenter.h:
-        * platform/mediastream/RealtimeMediaSourceSettings.h:
-        * platform/mediastream/ios/AVAudioSessionCaptureDevice.mm:
-        (WebCore::AVAudioSessionCaptureDevice::AVAudioSessionCaptureDevice):
-        * platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h:
-        * platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:
-        (WebCore::AVAudioSessionCaptureDeviceManager::captureDevices):
-        (WebCore::AVAudioSessionCaptureDeviceManager::captureDeviceWithPersistentID):
-        * platform/mediastream/mac/AVCaptureDeviceManager.h:
-        * platform/mediastream/mac/AVCaptureDeviceManager.mm:
-        (WebCore::AVCaptureDeviceManager::captureDevicesInternal):
-        (WebCore::AVCaptureDeviceManager::captureDevices):
-        (WebCore::AVCaptureDeviceManager::refreshAVCaptureDevicesOfType):
-        (WebCore::AVCaptureDeviceManager::refreshCaptureDevices):
-        (WebCore::AVCaptureDeviceManager::deviceDisconnected):
-        (WebCore::AVCaptureDeviceManager::getAudioSourcesInfo): Deleted.
-        (WebCore::AVCaptureDeviceManager::getVideoSourcesInfo): Deleted.
-        * platform/mediastream/mac/CoreAudioCaptureDevice.cpp:
-        (WebCore::CoreAudioCaptureDevice::CoreAudioCaptureDevice):
-        * platform/mediastream/mac/CoreAudioCaptureDeviceManager.cpp:
-        (WebCore::CoreAudioCaptureDeviceManager::captureDevices):
-        (WebCore::CoreAudioCaptureDeviceManager::captureDeviceWithPersistentID):
-        (WebCore::CoreAudioCaptureDeviceManager::refreshAudioCaptureDevices):
-        * platform/mediastream/mac/CoreAudioCaptureDeviceManager.h:
-        * platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
-        * platform/mock/MockRealtimeAudioSource.cpp:
-        (WebCore::MockRealtimeAudioSource::startProducingData):
-        (WebCore::MockRealtimeAudioSource::createMuted): Deleted.
-        * platform/mock/MockRealtimeAudioSource.h:
-        * platform/mock/MockRealtimeMediaSource.cpp:
-        (WebCore::deviceMap):
-        (WebCore::MockRealtimeMediaSource::captureDeviceWithPersistentID):
-        (WebCore::MockRealtimeMediaSource::audioDevices):
-        (WebCore::MockRealtimeMediaSource::videoDevices):
-        (WebCore::MockRealtimeMediaSource::MockRealtimeMediaSource):
-        * platform/mock/MockRealtimeMediaSource.h:
-        (WebCore::MockRealtimeMediaSource::device const):
-        (WebCore::MockRealtimeMediaSource::deviceIndex): Deleted.
-        * platform/mock/MockRealtimeMediaSourceCenter.h:
-        * platform/mock/MockRealtimeVideoSource.cpp:
-        (WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource):
-        (WebCore::MockRealtimeVideoSource::initializeCapabilities):
-        (WebCore::MockRealtimeVideoSource::generateFrame):
-        (WebCore::MockRealtimeVideoSource::createMuted): Deleted.
-        * platform/mock/MockRealtimeVideoSource.h:
-
-2017-12-19  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Don't convert pasted content to use blob URL in WebKit1
-        https://bugs.webkit.org/show_bug.cgi?id=180969
-
-        Reviewed by Wenson Hsieh.
-
-        Turns out that some WebKit1 clients are relying on being able to see the original URLs of the pasted content;
-        e.g. not storing content referenced by HTTP/HTTPS protocol as opposed to local files.
-
-        This patch restores the behavior prior to r223440 and r222839 for WebKit1 clients by overriding resources in
-        DocumentLoader instead of converting URLs used in the pasted contents by blob URLs. In addition, this patch
-        disables the pasteboard sanitization and custom data transfer types for WebKit1 clients as the feature poses
-        a compatibility concern for WebKit1 clients.
-
-        Tests: WebKitLegacy.AccessingImageInPastedRTFD
-               WebKitLegacy.AccessingImageInPastedWebArchive
-
-        * editing/cocoa/WebContentReaderCocoa.mm:
-        (WebCore::createFragmentAndAddResources):
-        (WebCore::WebContentReader::readWebArchive):
-        * page/DeprecatedGlobalSettings.cpp:
-        (WebCore::DeprecatedGlobalSettings::defaultCustomPasteboardDataEnabled):
-
-2017-12-19  Jer Noble  <jer.noble@apple.com>
-
-        Playing media elements which call "pause(); play()" will have the play promise rejected.
-        https://bugs.webkit.org/show_bug.cgi?id=180781
-        <rdar://problem/33191377>
-
-        Reviewed by Eric Carlson.
-
-        Follow-up to address failing iOS API tests. Rather than skipping the call to
-        prepareForLoad() in the case where media elements are not allowed to load data,
-        unconditionally call prepareForLoad(), but conditionally call selectMediaResource() inside
-        that function only if the media elemnet is allowed to load. This ensures that the
-        MediaPlayer is created when play(), pause(), or load() are called during a user gesture
-        later, and selectMediaResource() (which depends on having a non-null m_player) is called.
-
-        * html/HTMLMediaElement.cpp:
-        (WebCore::HTMLMediaElement::parseAttribute):
-        (WebCore::HTMLMediaElement::insertedIntoAncestor):
-        (WebCore::HTMLMediaElement::load):
-        (WebCore::HTMLMediaElement::prepareForLoad):
-        (WebCore::HTMLMediaElement::playInternal):
-
-2017-12-19  Timothy Hatcher  <timothy@hatcher.name>
-
-        Build failure in WebGL2 when Video feature is disabled
-        https://bugs.webkit.org/show_bug.cgi?id=180946
-
-        Reviewed by Brian Burg.
-
-        * html/canvas/WebGL2RenderingContext.h: Make TexImageSource conditional on ENABLE(VIDEO).
-        * html/canvas/WebGL2RenderingContext.idl: Ditto.
-
-2017-12-19  Chris Dumez  <cdumez@apple.com>
-
-        scopeURL should start with the provided scriptURL
-        https://bugs.webkit.org/show_bug.cgi?id=180983
-
-        Reviewed by Youenn Fablet.
-
-        scopeURL should start with the provided scriptURL, as per:
-        - https://w3c.github.io/ServiceWorker/#update (steps 7.8 to 7.18)
-
-        No new tests, rebaselined existing tests.
-
-        * platform/network/HTTPHeaderNames.in:
-        * workers/service/ServiceWorkerJob.cpp:
-        (WebCore::ServiceWorkerJob::didReceiveResponse):
-
-2017-12-19  Zalan Bujtas  <zalan@apple.com>
-
-        [RenderTreeBuilder] Move finding-the-parent/creating-wrapper logic from RenderTableSection::addChild to RenderTreeBuilder
-        https://bugs.webkit.org/show_bug.cgi?id=180994
-        <rdar://problem/36139222>
-
-        Reviewed by Antti Koivisto.
-
-        This is in preparation for removing all tree mutation from renderering code.
-
-        Covered by existing tests.
-
-        * rendering/RenderTableSection.cpp:
-        (WebCore::RenderTableSection::addChild):
-        * rendering/updating/RenderTreeBuilder.cpp:
-        (WebCore::RenderTreeBuilder::insertChild):
-        * rendering/updating/RenderTreeBuilderTable.cpp:
-        (WebCore::RenderTreeBuilder::Table::findOrCreateParentForChild):
-        * rendering/updating/RenderTreeBuilderTable.h:
-
-2017-12-19  Daniel Bates  <dabates@apple.com>
-
-        Implement InlineTextBox painting using marker subranges
-        https://bugs.webkit.org/show_bug.cgi?id=180984
-        <rdar://problem/36139364>
-
-        Reviewed by David Hyatt.
-
-        As a step towards implementing CSS Pseudo-Elements Module Level 4, explicitly decompose a
-        text line into subrange objects that may be styled (say, to give the appearance of selected
-        text) and painted.
-
-        No functionality changed. So, no new tests.
-
-        * rendering/InlineTextBox.cpp:
-        (WebCore::InlineTextBox::localSelectionRect const): Update comments.
-
-        (WebCore::InlineTextBox::MarkerSubrangeStyle::operator== const):
-        (WebCore::InlineTextBox::MarkerSubrangeStyle::operator!= const):
-        (WebCore::InlineTextBox::StyledMarkerSubrange::StyledMarkerSubrange):
-        Define a subclass to represent a marker subrange that has associated style information.
-        We will make use of the style information when painting the subrange.
-
-        (WebCore::createMarkerSubrangeFromSelectionInBox): Convenience function to instantiate a
-        MarkerSubrange instance from the current selection of a specified text box.
-
-        (WebCore::InlineTextBox::paint): Write in terms of MarkerSubrange. We keep composition backgrounds
-        and composition underlines as special cases for now. We represent all other subranges of the line
-        as MarkerSubrange instances, including unmarked text (i.e. non-selected text without an associated
-        document marker). The subranges for the gaps between document markers and selection are implicitly
-        created by subdividing the entire line. Support for PaintBehaviorExcludeSelection is implemented
-        by subdividing the entire line with the selection subrange and then removing the selection subrange
-        from the resulting list of subdivisions before painting with the resulting list.
-
-        (WebCore::InlineTextBox::paintPlatformDocumentMarkers): Renamed; formerly named paintDocumentMarkers.
-        (WebCore::InlineTextBox::paintPlatformDocumentMarker): Renamed; formerly named paintDocumentMarker.
-
-        (WebCore::InlineTextBox::computeStyleForUnmarkedMarkerSubrange const): Convenience function to
-        compute the style for unmarked text.
-
-        (WebCore::InlineTextBox::resolveStyleForSubrange): Added
-
-        (WebCore::InlineTextBox::subdivideAndResolveStyle): Subdivides the list of marker subranges and
-        coalesces subranges of the same type (e.g. selection) or with the same style. The latter strategy
-        preserves the optimization of drawing the text of the entire line in one draw command when we know
-        that the selected text looks identical to non-selected text. This optimization was performed in TextPainter::paint().
-
-        (WebCore::InlineTextBox::collectSubrangesForDraggedContent): Added.
-        (WebCore::InlineTextBox::collectSubrangesForDocumentMarkers): Added.
-        (WebCore::InlineTextBox::textOriginFromBoxRect const): Added.
-
-        (WebCore::InlineTextBox::paintMarkerSubranges):
-        (WebCore::InlineTextBox::paintTextSubrangeBackground):
-        (WebCore::InlineTextBox::paintTextSubrangeForeground):
-        (WebCore::InlineTextBox::paintTextSubrangeDecoration):
-        Paint the marker subrange.
-
-        (WebCore::InlineTextBox::paintCompositionBackground): Moved function to group it with the logic to
-        paint composition underlines. Modified to pass clamped offsets to paintTextSubrangeBackground() as
-        paintTextSubrangeBackground() now expects them.
-
-        (WebCore::mirrorRTLSegment): Moved function to be above paintCompositionUnderline() as it is the only
-        function that makes use of it.
-
-        (WebCore::InlineTextBox::paintSelection): Deleted.
-        (WebCore::InlineTextBox::paintTextMatchMarker): Deleted.
-        (WebCore::InlineTextBox::paintDecoration): Deleted.
-        (WebCore::InlineTextBox::paintDocumentMarker): Deleted; renamed to paintPlatformDocumentMarker.
-        (WebCore::InlineTextBox::paintDocumentMarkers): Deleted; renamed to paintPlatformDocumentMarkers.
-        * rendering/InlineTextBox.h:
-        (WebCore::InlineTextBox::paintMarkerSubranges): Added.
-        * rendering/MarkerSubrange.h:
-        (WebCore::MarkerSubrange::isEmpty const): Added.
-        (WebCore::MarkerSubrange::operator!= const): Added.
-        (WebCore::MarkerSubrange::operator== const): Added.
-        * rendering/SimpleLineLayoutFunctions.cpp:
-        (WebCore::SimpleLineLayout::paintFlow): Updated code as we no longer need to pass the text run length
-        to TextPainter::paint(). Also modernize the code while I am here.
-        * rendering/TextDecorationPainter.cpp:
-        (WebCore::TextDecorationPainter::Styles::operator== const): Added.
-        (WebCore::TextDecorationPainter::TextDecorationPainter): Modified to take an optional TextDecorationPainter::Styles
-        instance as an argument and removed the unused parameter for PseudoId.
-        * rendering/TextDecorationPainter.h:
-        (WebCore::TextDecorationPainter::Styles::operator!= const): Added.
-        * rendering/TextPaintStyle.cpp:
-        (WebCore::TextPaintStyle::operator== const): Added.
-        (WebCore::computeTextSelectionPaintStyle): Removed the now unused out-arguments paintSelectedTextOnly, paintSelectedTextSeparately,
-        and paintNonSelectedTextOnly. The values stored in these out-arguments were intended to be used by the caller to
-        minimize the number of drawing commands. The value of paintSelectedTextSeparately indicated whether selected text
-        would look identical to non-selected text so that a caller could use one paint command to draw the entire line
-        instead of issuing two or more drawing commands to paint non-selected and selected text separately. We now
-        accomplish the same optimization by coalescing subrange styles in InlineTextBox::subdivideAndResolveStyle().
-        The value of paintNonSelectedTextOnly, as its name states, indicated whether a caller should only paint non-selected
-        text and hence skip painting of selected text. This value was only used when painting dragged content (i.e. DocumentMarker::DraggedContent
-        markers) and its effect is now more directly achieved by the dragged content logic in InlineTextBox::paint().
-        * rendering/TextPaintStyle.h:
-        (WebCore::TextPaintStyle::operator!= const): Added.
-        * rendering/TextPainter.cpp:
-        (WebCore::TextPainter::paint): Implemented in terms TextPainter::paintRange() now that InlineTextBox::paint() optimizes
-        for the number of drawing calls. See remarks for WebCore::computeTextSelectionPaintStyle() for more details.
-        * rendering/TextPainter.h: Group together related member functions.
-        (WebCore::TextPainter::setSelectionStyle): Deleted.
-        (WebCore::TextPainter::setSelectionShadow): Deleted.
-
-2017-12-19  Daniel Bates  <dabates@apple.com>
-
-        Add support for computing the frontmost longest effective marker subrange
-        https://bugs.webkit.org/show_bug.cgi?id=180985
-
-        Reviewed by Dave Hyatt.
-
-        Add a new subdivision overlap strategy to return the minimum list of maximal length non-
-        overlapping subranges. We will make use of this strategy together with an algorithm to
-        coalesce adjacent subranges with visually indistinct styles to minimize the total number
-        of drawing commands needed to paint an entire line of text. We are not making use of
-        this functionality now. We will make use of it to simplify the patch for <https://bugs.webkit.org/show_bug.cgi?id=180984>.
-
-        * rendering/MarkerSubrange.cpp:
-        (WebCore::subdivide):
-        * rendering/MarkerSubrange.h:
-
-2017-12-19  Chris Dumez  <cdumez@apple.com>
-
-        Handle Fetch should wait for the service worker's state to become activated
-        https://bugs.webkit.org/show_bug.cgi?id=180959
-
-        Reviewed by Youenn Fablet.
-
-        Handle Fetch should wait for the service worker's state to become activated when
-        it is currently activating.
-
-        Specification:
-        - https://w3c.github.io/ServiceWorker/#on-fetch-request-algorithm (Step 16)
-
-        No new tests, rebaselined existing test.
-
-        * workers/service/server/SWServerWorker.cpp:
-        (WebCore::SWServerWorker::~SWServerWorker):
-        (WebCore::SWServerWorker::whenActivated):
-        (WebCore::SWServerWorker::setState):
-        (WebCore::SWServerWorker::callWhenActivatedHandler):
-        * workers/service/server/SWServerWorker.h:
-
-2017-12-19  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [YARR] Yarr should return ErrorCode instead of error messages (const char*)
-        https://bugs.webkit.org/show_bug.cgi?id=180966
-
-        Reviewed by Mark Lam.
-
-        Remove unnecessary String creation.
-
-        No behavior change.
-
-        * contentextensions/URLFilterParser.cpp:
-        (WebCore::ContentExtensions::URLFilterParser::addPattern):
-
-2017-12-19  Zalan Bujtas  <zalan@apple.com>
-
-        [RenderTreeBuilder] Move finding-the-parent/creating-wrapper logic from RenderTableRow::addChild to RenderTreeBuilder
-        https://bugs.webkit.org/show_bug.cgi?id=180964
-        <rdar://problem/36123315>
-
-        Reviewed by Antti Koivisto.
-
-        This is in preparation for removing all tree mutation from renderering code.
-
-        Covered by existing tests.
-
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-        * rendering/RenderTableRow.cpp:
-        (WebCore::RenderTableRow::addChild):
-        * rendering/updating/RenderTreeBuilder.cpp:
-        (WebCore::RenderTreeBuilder::insertChild):
-        * rendering/updating/RenderTreeBuilder.h:
-        * rendering/updating/RenderTreeBuilderTable.cpp: Added.
-        (WebCore::RenderTreeBuilder::Table::findOrCreateParentForChild):
-        * rendering/updating/RenderTreeBuilderTable.h: Copied from Source/WebCore/rendering/updating/RenderTreeBuilder.h.
-
-2017-12-19  Youenn Fablet  <youenn@apple.com>
-
-        Service Worker should not clean HTTP headers added by the application or by fetch specification before service worker interception
-        https://bugs.webkit.org/show_bug.cgi?id=180939
-
-        Reviewed by Chris Dumez.
-
-        Covered by modified WPT test.
-
-        Add support to clean only specific headers in cleanHTTPRequestHeadersForAccessControl,
-        renamed from cleanRedirectedRequestForAccessControl.
-        Compute the list of headers to keep in DocumentThreadableLoader.
-        Add a specific rule for Accept header which is set prior service worker interception and for
-        HTTP headers set by DocumentThreadableLoader clients.
-
-        * loader/CrossOriginAccessControl.cpp:
-        (WebCore::httpHeadersToKeepFromCleaning):
-        (WebCore::cleanRedirectedRequestForAccessControl):
-        * loader/CrossOriginAccessControl.h:
-        (WebCore::cleanRedirectedRequestForAccessControl):
-        * loader/DocumentThreadableLoader.cpp:
-        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
-        * loader/ResourceLoaderOptions.h:
-        * workers/service/context/ServiceWorkerFetch.cpp:
-        (WebCore::ServiceWorkerFetch::dispatchFetchEvent):
-        * workers/service/context/ServiceWorkerFetch.h:
-        * workers/service/context/ServiceWorkerThread.cpp:
-        (WebCore::ServiceWorkerThread::postFetchTask):
-        * workers/service/context/ServiceWorkerThread.h:
-
-2017-12-19  Andy Estes  <aestes@apple.com>
-
-        [Apple Pay] Stop maintaining a list of payment networks
-        https://bugs.webkit.org/show_bug.cgi?id=180965
-        <rdar://problem/34696560>
-
-        Reviewed by Tim Horton.
-
-        Instead of maintaining the list of valid payment networks in WebCore, allow the client to
-        provide the list when constructing a PaymentCoordinator. Then, use PaymentCoordinator's list
-        to validate ApplePaySessionPaymentRequests.
-
-        Validation will now be done case-insensitively since Cocoa clients will provide a list of
-        network names that differ in capitalization from the names formerly accepted by WebCore.
-
-        Added new test cases to http/tests/ssl/applepay/ApplePaySession.html.
-
-        * Modules/applepay/ApplePayRequestBase.cpp:
-        (WebCore::convertAndValidate): Changed to return a Vector of validated strings.
-        (WebCore::validate): Renamed to convertAndValidate.
-        * Modules/applepay/ApplePayRequestBase.h:
-        * Modules/applepay/ApplePaySession.cpp:
-        (WebCore::convertAndValidate):
-        (WebCore::ApplePaySession::create):
-        * Modules/applepay/ApplePaySessionPaymentRequest.cpp:
-        (WebCore::ApplePaySessionPaymentRequest::isValidSupportedNetwork): Deleted.
-        * Modules/applepay/ApplePaySessionPaymentRequest.h:
-        * Modules/applepay/PaymentCoordinator.cpp:
-        (WebCore::toHashSet):
-        (WebCore::PaymentCoordinator::PaymentCoordinator): Converted availablePaymentNetworks to a
-        case-insensitive HashSet and stored in m_availablePaymentNetworks.
-        (WebCore::PaymentCoordinator::validatedPaymentNetwork const): Added special cases for "jcb"
-        and "carteBancaire" for API compatibility. For other networks, checked m_availablePaymentNetworks.
-        * Modules/applepay/PaymentCoordinator.h:
-        * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
-        (WebCore::ApplePayPaymentHandler::show):
-        * page/MainFrame.cpp:
-        (WebCore::MainFrame::MainFrame): Constructed m_paymentCoordinator with configuration.availablePaymentNetworks.
-        * page/PageConfiguration.h:
-        * testing/Internals.cpp:
-        (WebCore::Internals::Internals):
-        * testing/MockPaymentCoordinator.cpp:
-        * testing/MockPaymentCoordinator.h:
-
-2017-12-19  Wenson Hsieh  <wenson_hsieh@apple.com>
-
-        Unreviewed, try to fix the Windows build after r226097.
-
-        * editing/markup.cpp:
-        (WebCore::StyledMarkupAccumulator::appendCustomAttributes):
-
-2017-12-18  Andy Estes  <aestes@apple.com>
-
-        [Apple Pay] Only include phonetic name properties in ApplePayPaymentContact when version >= 3
-        https://bugs.webkit.org/show_bug.cgi?id=180925
-        <rdar://problem/35907596>
-
-        Reviewed by Tim Horton.
-
-        No tests possible. The fix involves converting PKContacts, which we can't create in our test harness.
-
-        * Modules/applepay/ApplePayPaymentAuthorizedEvent.cpp:
-        (WebCore::ApplePayPaymentAuthorizedEvent::ApplePayPaymentAuthorizedEvent):
-        * Modules/applepay/ApplePayPaymentAuthorizedEvent.h:
-        * Modules/applepay/ApplePaySession.cpp:
-        (WebCore::ApplePaySession::create):
-        (WebCore::ApplePaySession::ApplePaySession):
-        (WebCore::ApplePaySession::version const):
-        (WebCore::ApplePaySession::didAuthorizePayment):
-        (WebCore::ApplePaySession::didSelectShippingContact):
-        * Modules/applepay/ApplePaySession.h:
-        * Modules/applepay/ApplePayShippingContactSelectedEvent.cpp:
-        (WebCore::ApplePayShippingContactSelectedEvent::ApplePayShippingContactSelectedEvent):
-        * Modules/applepay/ApplePayShippingContactSelectedEvent.h:
-        * Modules/applepay/Payment.h:
-        * Modules/applepay/PaymentContact.h:
-        * Modules/applepay/PaymentCoordinator.cpp:
-        (WebCore::PaymentCoordinator::supportsVersion const):
-        (WebCore::PaymentCoordinator::supportsVersion): Deleted.
-        * Modules/applepay/PaymentCoordinator.h:
-        * Modules/applepay/PaymentSession.h:
-        * Modules/applepay/cocoa/PaymentCocoa.mm:
-        (WebCore::convert):
-        (WebCore::Payment::toApplePayPayment const):
-        * Modules/applepay/cocoa/PaymentContactCocoa.mm:
-        (WebCore::convert):
-        (WebCore::PaymentContact::toApplePayPaymentContact const):
-        * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
-        (WebCore::ApplePayPaymentHandler::document const):
-        (WebCore::ApplePayPaymentHandler::paymentCoordinator const):
-        (WebCore::ApplePayPaymentHandler::version const):
-        (WebCore::ApplePayPaymentHandler::didAuthorizePayment):
-        (WebCore::ApplePayPaymentHandler::didSelectShippingContact):
-        (WebCore::ApplePayPaymentHandler::document): Deleted.
-        (WebCore::ApplePayPaymentHandler::paymentCoordinator): Deleted.
-        * Modules/applepay/paymentrequest/ApplePayPaymentHandler.h:
-
-2017-12-18  Wenson Hsieh  <wenson_hsieh@apple.com>
-
-        [Attachment Support] The 'webkitattachmentbloburl' attribute should not persist after markup serialization
-        https://bugs.webkit.org/show_bug.cgi?id=180924
-        <rdar://problem/36099093>
-
-        Reviewed by Tim Horton.
-
-        Work towards dragging Blob-backed attachment elements as files on iOS and Mac. It doesn't make sense for the
-        attachment blob URL to stick around on the element after markup serialization, so this patch removes logic that
-        eagerly sets the blob URL upon setting an attachment's File. Instead, we just append this attribute when
-        generating markup.
-
-        This patch also augments existing WKAttachmentTests to ensure that these attributes are not present.
-
-        * editing/markup.cpp:
-        (WebCore::StyledMarkupAccumulator::appendCustomAttributes):
-        (WebCore::createFragmentFromMarkup):
-        * html/HTMLAttachmentElement.cpp:
-        (WebCore::HTMLAttachmentElement::setFile):
-        * rendering/HitTestResult.cpp:
-
-        Fixes a related issue where an attachment is backed by Blob data (and not a file path) would specify "file:///"
-        as its attachment file path in DragController when starting a drag. Instead, if there is no file path, fall back
-        to the blob URL.
-
-        This will be tested in a future patch once a WK2 dragging simulator for Mac is implemented, and support for
-        dragging out Blob-backed attachments as (platform) files is implemented.
-
-        (WebCore::HitTestResult::absoluteAttachmentURL const):
-
-2017-12-18  Chris Dumez  <cdumez@apple.com>
-
-        Default scope used when registering a service worker is wrong
-        https://bugs.webkit.org/show_bug.cgi?id=180961
-
-        Reviewed by Youenn Fablet.
-
-        The default scope we used when registering a service worker was wrong, it did not match:
-        - https://w3c.github.io/ServiceWorker/#start-register (Step 4)
-
-        This patch aligns our behavior with the specification.
-
-        No new tests, rebaselined existing test.
-
-        * workers/service/ServiceWorkerContainer.cpp:
-        (WebCore::ServiceWorkerContainer::addRegistration):
-
-2017-12-18  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Assertion hit in DocumentOrderedMap::get while removing a form element
-        https://bugs.webkit.org/show_bug.cgi?id=137959
-        <rdar://problem/27702012>
-
-        Reviewed by Brent Fulgham.
-
-        The assertion failure was caused by FormAssociatedElement::findAssociatedForm calling TreeScope::getElementById
-        for a form associated element inside FormAttributeTargetObserver::idTargetChanged during the removal of
-        the owner form element, or the first non-form element with the matching ID. If there are other elements with
-        the same ID in the removed tree at that moment, MapEntry's count for the ID can be higher than it needs to be
-        since Element::removedFromAncestor has not been called on those elements yet.
-
-        Fixed the bug by checking this condition explicitly. This patch introduces ContainerChildRemovalScope which
-        keeps track of the container node from which a subtree was removed as well as the root of the removed subtree.
-        DocumentOrderedMap::get then checks whether the matching element can be found in this removed subtree, and its
-        isConnected() still returns true (the evidence that Element::removedFromAncestor has not been called) when
-        count > 0 and there was no matching element in the tree scope.
-
-        In the long term, we should refactor the way FormAssociatedElement and HTMLFormElement refers to each other
-        and avoid calling DocumentOrderedMap::get before finish calling removedFromAncestor on the removed subtree.
-
-        Tests: fast/forms/update-form-owner-in-moved-subtree-assertion-failure-5.html
-               fast/forms/update-form-owner-in-moved-subtree-assertion-failure-6.html
-
-        * dom/ContainerNodeAlgorithms.cpp:
-        (WebCore::notifyChildNodeRemoved):
-        * dom/ContainerNodeAlgorithms.h:
-        (WebCore::ContainerChildRemovalScope): Added.
-        (WebCore::ContainerChildRemovalScope::ContainerChildRemovalScope):
-        (WebCore::ContainerChildRemovalScope::~ContainerChildRemovalScope):
-        (WebCore::ContainerChildRemovalScope::parentOfRemovedTree):
-        (WebCore::ContainerChildRemovalScope::removedChild):
-        (WebCore::ContainerChildRemovalScope::currentScope):
-        * dom/DocumentOrderedMap.cpp:
-        (WebCore::DocumentOrderedMap::get const): Added a special early exit when this function is called during
-        a node removal.
-
-2017-12-18  Timothy Hatcher  <timothy@hatcher.name>
-
-        [GTK][WPE] Conditionalize libTASN1 use behind ENABLE_SUBTLE_CRYPTO in the CMake files
-        https://bugs.webkit.org/show_bug.cgi?id=180949
-
-        Reviewed by Carlos Alberto Lopez Perez.
-
-        * PlatformGTK.cmake: Move the include path and library additions to conditional ENABLE_SUBTLE_CRYPTO section.
-        * PlatformWPE.cmake: Ditto.
-
-2017-12-18  Wenson Hsieh  <wenson_hsieh@apple.com>
-
-        [Attachment Support] Support representing pasted or dropped content using attachment elements
-        https://bugs.webkit.org/show_bug.cgi?id=180892
-        <rdar://problem/36064210>
-
-        Reviewed by Tim Horton.
-
-        Support dropping and pasting attributed strings that contain NSTextAttachments. Teaches
-        replaceRichContentWithAttachmentsIfNecessary to replace object elements with attachments; see comments below for
-        more details.
-
-        Test: WKAttachmentTests.InsertPastedAttributedStringContainingMultipleAttachments
-
-        * editing/WebContentReader.h:
-
-        Add BlobReplacementInfo, which contains a map of blob URLs to replacement Blobs, as well as a map of blob URLs
-        to replaced subresource URLs.
-
-        (WebCore::BlobReplacementInfo::isEmpty const):
-        * editing/cocoa/EditorCocoa.mm:
-        (WebCore::Editor::replaceSelectionWithAttributedString):
-        * editing/cocoa/WebArchiveResourceFromNSAttributedString.h:
-        * editing/cocoa/WebArchiveResourceFromNSAttributedString.mm:
-
-        Implement -[WebArchiveResourceFromNSAttributedString MIMEType]. UIFoundation asks for -MIMEType in the process
-        of generating markup from NSTextAttachments; this currently causes the web process to crash on an unrecognized
-        selector.
-
-        Additionally, work around <rdar://problem/36074429>, a UIFoundation bug in which all but a few hard-coded file
-        extensions actually yield MIME types that are more specific than "application/octet-stream". This can safely be
-        removed once <rdar://problem/36074429> is addressed.
-
-        (-[WebArchiveResourceFromNSAttributedString MIMEType]):
-        * editing/cocoa/WebContentReaderCocoa.mm:
-        (WebCore::replaceRichContentWithAttachmentsIfNecessary):
-
-        Try to replace object elements with attachments, and also tweak the title of the attachment's File to use the
-        replaced subresource's filename if possible. Additionally, abstracts out information for replacing object or
-        image elements (formerly a pair of { File, Element }) into a separate struct, and add a AttachmentDisplayMode
-        parameter to determine whether the attachment should be presented in-line (in the case of images), or as an icon.
-
-        (WebCore::attributesForAttributedStringConversion):
-
-        Only exclude object elements from being generated from NSTextAttachments if the attachment element runtime
-        feature is disabled, or !ENABLE(ATTACHMENT_ELEMENT).
-
-        (WebCore::createFragmentAndAddResources):
-
-        Additionally keep track of a mapping from blob URL => replaced subresource URL. In all the places where we
-        previously only plumbed a map of blob URL => Blob, use a BlobReplacementInfo struct instead, which now includes
-        a map from blob URL => replaced URL.
-
-        (WebCore::sanitizeMarkupWithArchive):
-        (WebCore::WebContentReader::readWebArchive):
-        (WebCore::WebContentMarkupReader::readWebArchive):
-        (WebCore::WebContentReader::readRTFD):
-        (WebCore::WebContentMarkupReader::readRTFD):
-        (WebCore::WebContentReader::readRTF):
-        (WebCore::WebContentMarkupReader::readRTF):
-        (WebCore::WebContentReader::readImage):
-
-2017-12-18  Youenn Fablet  <youenn@apple.com>
-
-        Service worker served response tainting should keep its tainting
-        https://bugs.webkit.org/show_bug.cgi?id=180952
-
-        Reviewed by Chris Dumez.
-
-        Covered by rebased tests.
-
-        * loader/cache/CachedResource.cpp:
-        (WebCore::CachedResource::setResponse):
-
-2017-12-18  Wenson Hsieh  <wenson_hsieh@apple.com>
-
-        Unreviewed, attempt to fix watch and TV builds after r226085
-
-        Explicitly include a header in WebContentReaderCocoa.mm.
-
-        * editing/cocoa/WebContentReaderCocoa.mm:
-
-2017-12-18  Brady Eidson  <beidson@apple.com>
-
-        Add ability to API test Service Workers via a custom protocol.
-        https://bugs.webkit.org/show_bug.cgi?id=180911
-
-        Reviewed by Chris Dumez.
-
-        Covered by API test ServiceWorkers.Basic
-
-        This adds a set of "Service Workers can handle this" schemes to the scheme registry
-        and uses it for SW decisions instead of a handful of previous techniques.
-
-        * bindings/scripts/CodeGeneratorJS.pm:
-        (NeedsRuntimeCheck):
-        (GenerateRuntimeEnableConditionalString):
-        * bindings/scripts/IDLAttributes.json:
-
-        * dom/ScriptExecutionContext.cpp:
-        (WebCore::ScriptExecutionContext::hasServiceWorkerScheme):
-        * dom/ScriptExecutionContext.h:
-
-        * page/NavigatorServiceWorker.idl:
-
-        * platform/SchemeRegistry.cpp:
-        (WebCore::serviceWorkerSchemesLock):
-        (WebCore::serviceWorkerSchemes):
-        (WebCore::SchemeRegistry::registerURLSchemeServiceWorkersCanHandle):
-        (WebCore::SchemeRegistry::canServiceWorkersHandleURLScheme):
-        (WebCore::SchemeRegistry::isServiceWorkerContainerCustomScheme):
-        * platform/SchemeRegistry.h:
-
-        * workers/service/ServiceWorkerContainer.cpp:
-        (WebCore::ServiceWorkerContainer::addRegistration):
-
-        * workers/service/server/SWServerJobQueue.cpp:
-        (WebCore::SWServerJobQueue::runRegisterJob):
-
-2017-12-18  Chris Dumez  <cdumez@apple.com>
-
-        We should use "error" redirect mode for fetching service worker scripts
-        https://bugs.webkit.org/show_bug.cgi?id=180950
-
-        Reviewed by Youenn Fablet.
-
-        We should use "error" redirect mode for fetching service worker scripts, as per:
-        - https://w3c.github.io/ServiceWorker/#update (Step 7.5)
-
-        No new tests, rebaselined existing test.
-
-        * loader/SubresourceLoader.cpp:
-        (WebCore::SubresourceLoader::willSendRequestInternal):
-        * workers/Worker.cpp:
-        (WebCore::Worker::create):
-        * workers/WorkerScriptLoader.cpp:
-        (WebCore::WorkerScriptLoader::loadAsynchronously):
-        * workers/WorkerScriptLoader.h:
-        * workers/service/ServiceWorkerJob.cpp:
-        (WebCore::ServiceWorkerJob::fetchScriptWithContext):
-
-2017-12-18  Chris Dumez  <cdumez@apple.com>
-
-        ExtendableMessageEvent constructor fails to initialize the 'source' attribute
-        https://bugs.webkit.org/show_bug.cgi?id=180954
-
-        Reviewed by Youenn Fablet.
-
-        No new tests, rebaselined existing test.
-
-        * workers/service/ExtendableMessageEvent.cpp:
-        (WebCore::ExtendableMessageEvent::ExtendableMessageEvent):
-
-2017-12-18  Wenson Hsieh  <wenson_hsieh@apple.com>
-
-        [Attachment Support] Insert images as inline attachments when pasting and dropping
-        https://bugs.webkit.org/show_bug.cgi?id=180853
-        <rdar://problem/35756268>
-
-        Reviewed by Tim Horton.
-
-        Adds support for transforming dropped and pasted web content fragments prior to insertion, such that inline
-        elements (so far, only images) are replaced with attachment elements that have an inline representation. See
-        below comments for more detail.
-
-        Tests: WKAttachmentTests.InsertPastedImageAsAttachment
-               WKAttachmentTests.InsertPastedAttributedStringContainingImage
-               WKAttachmentTestsMac.InsertPastedFileURLsAsAttachments
-               WKAttachmentTestsIOS.InsertDroppedImageAsAttachment
-               WKAttachmentTestsIOS.InsertDroppedAttributedStringContainingAttachment
-
-        * editing/WebContentReader.h:
-        * editing/cocoa/EditorCocoa.mm:
-        (WebCore::Editor::replaceSelectionWithAttributedString):
-
-        Add a new helper to replace elements in a DOM fragment with inline attachment elements instead, using the given
-        Blobs. So far, we only replace image elements with these attachments, by mapping the source of each image to a
-        Blob, and constructing a replacement attachment backed by a File constructed from the image's corresponding
-        Blob. However, this mechanism can be generalized in the future to handle transformations from arbitrary elements
-        to attachment elements capable of representing the same elements using inline display mode.
-
-        This function is a noop if the attachment elements are disabled via runtime-enabled features.
-
-        * editing/cocoa/WebContentReaderCocoa.mm:
-        (WebCore::replaceRichContentWithAttachmentsIfNecessary):
-        (WebCore::createFragmentAndAddResources):
-        (WebCore::sanitizeMarkupWithArchive):
-
-        Add out-params to both of these helper functions that capture the map of blob URLs to Blobs being used to
-        replace subresource URLs in the pasted/dropped DOM fragment.
-
-        (WebCore::WebContentReader::readWebArchive):
-        (WebCore::WebContentMarkupReader::readWebArchive):
-        (WebCore::createFragmentFromAttributedString):
-        (WebCore::WebContentReader::readRTFD):
-        (WebCore::WebContentMarkupReader::readRTFD):
-        (WebCore::WebContentReader::readRTF):
-        (WebCore::WebContentMarkupReader::readRTF):
-        (WebCore::WebContentReader::readImage):
-
-        In these places where we swap out subresource URLs for blob URLs, collect a map of blob URL => Blob, and use it
-        to replace images in the DOM with attachments (if needed, and possible).
-
-        * editing/mac/WebContentReaderMac.mm:
-        (WebCore::WebContentReader::readFilenames):
-
-        Augment existing logic to generate attachment elements when pasting or dropping file URLs, so that the generated
-        attachment elements also have titles, subtitles, and content type information.
-
-        * html/HTMLAttachmentElement.cpp:
-        (WebCore::HTMLAttachmentElement::setFile):
-
-        Add an optional second param, UpdateDisplayAttributes. If UpdateDisplayAttributes::Yes is passed in, then we set
-        the elements's attributes that are displayed in the attachment representation (title, subtitle, and type) using
-        the given File.
-
-        (WebCore::HTMLAttachmentElement::updateFileWithData):
-        (WebCore::HTMLAttachmentElement::populateShadowRootIfNecessary):
-
-        Make a small tweak to correctly handle the case where an attachment with a content type that is a UTI is being
-        displayed inline. Content type can either be a UTI or a MIME type, but the code to construct the shadow tree of
-        an attachment element only handles MIME types.
-
-        * html/HTMLAttachmentElement.h:
-
-2017-12-18  Youenn Fablet  <youenn@apple.com>
-
-        SameOrigin and CORS fetch should fail on opaque responses served from ServiceWorker
-        https://bugs.webkit.org/show_bug.cgi?id=180941
-
-        Reviewed by Chris Dumez.
-
-        Covered by rebased tests.
-
-        * loader/SubresourceLoader.cpp:
-        (WebCore::SubresourceLoader::checkResponseCrossOriginAccessControl):
-
-2017-12-18  Dean Jackson  <dino@apple.com>
-
-        Make some functions in GraphicsContextCG use call_once for statics
-        https://bugs.webkit.org/show_bug.cgi?id=180841
-        <rdar://problem/36058448>
-
-        Reviewed by Antoine Quint.
-
-        In preparation for making OffscreenCanvas operate inside a Worker,
-        make sure GraphicsContext is thread safe. Change some functions
-        that use a static to call_once.
-
-        * platform/graphics/cg/GraphicsContextCG.cpp:
-        (WebCore::sRGBColorSpaceRef):
-        (WebCore::linearRGBColorSpaceRef):
-        (WebCore::extendedSRGBColorSpaceRef):
-        (WebCore::displayP3ColorSpaceRef):
-
-2017-12-18  Chris Dumez  <cdumez@apple.com>
-
-        ExtendableMessageEvent.data should return the value it was initialized to
-        https://bugs.webkit.org/show_bug.cgi?id=180868
-
-        Reviewed by Geoffrey Garen.
-
-        No new tests, rebaselined existing test.
-
-        * bindings/js/JSExtendableMessageEventCustom.cpp:
-        (WebCore::constructJSExtendableMessageEvent):
-        * workers/service/ExtendableMessageEvent.cpp:
-        (WebCore::ExtendableMessageEvent::ExtendableMessageEvent):
-        * workers/service/ExtendableMessageEvent.idl:
-
-2017-12-18  Megan Gardner  <megan_gardner@apple.com>
-
-        Support Autoscrolling in contenteditable for WK2
-        https://bugs.webkit.org/show_bug.cgi?id=180789
-
-        Reviewed by Simon Frasier and Wenson Hsieh..
-
-        Activate the autoscrollController to scroll to the position provided to us by the
-        UIProcess. Allows for scrolling in contentEditable for WebKit2
-
-        Test: fast/events/touch/ios/drag-to-autoscroll-in-single-line-editable.html
-
-        * page/AutoscrollController.cpp:
-        (WebCore::AutoscrollController::autoscrollTimerFired):
-        * page/EventHandler.cpp:
-        (WebCore::EventHandler::clearOrScheduleClearingLatchedStateIfNeeded):
-        (WebCore::EventHandler::targetPositionForSelectionAutoscroll const):
-        (WebCore::EventHandler::shouldUpdateAutoscroll):
-        (WebCore::EventHandler::effectiveMousePositionForSelectionAutoscroll const): Deleted.
-        * page/EventHandler.h:
-        * page/ios/EventHandlerIOS.mm:
-        (WebCore::EventHandler::startTextAutoscroll):
-        (WebCore::EventHandler::cancelTextAutoscroll):
-        (WebCore::EventHandler::targetPositionForSelectionAutoscroll const):
-        (WebCore::EventHandler::shouldUpdateAutoscroll):
-        * page/mac/EventHandlerMac.mm:
-        (WebCore::EventHandler::targetPositionForSelectionAutoscroll const):
-        (WebCore::EventHandler::effectiveMousePositionForSelectionAutoscroll const): Deleted.
-
-2017-12-18  Youenn Fablet  <youenn@apple.com>
-
-        Add support for response blob given to fetch events
-        https://bugs.webkit.org/show_bug.cgi?id=180894
-
-        Reviewed by Darin Adler.
-
-        Covered by updated test expectations.
-
-        Adding support for getting a blob URL from a FormData that only contains one blob.
-        Adding support to create a FetcLoader from a ServiceWorkerThreadProxy
-
-        * Modules/fetch/FetchLoader.cpp:
-        (WebCore::FetchLoader::start):
-        (WebCore::FetchLoader::startLoadingBlobURL):
-        * Modules/fetch/FetchLoader.h:
-        * WebCore.xcodeproj/project.pbxproj:
-        * platform/network/FormData.cpp:
-        (WebCore::FormData::asBlobURL const):
-        * platform/network/FormData.h:
-        * workers/service/context/ServiceWorkerThreadProxy.cpp:
-        (WebCore::ServiceWorkerThreadProxy::createBlobLoader):
-        * workers/service/context/ServiceWorkerThreadProxy.h:
-
-2017-12-18  Zalan Bujtas  <zalan@apple.com>
-
-        [SVG] Detach list wrappers before resetting the base value.
-        https://bugs.webkit.org/show_bug.cgi?id=180912
-        <rdar://problem/36017970>
-
-        Reviewed by Simon Fraser.
-
-        Before resetting the animation value (and destroying the assigned SVG object -SVGLengthValue in this case),
-        we need to check if there's an associated tear off wrapper for the said SVG object and make a copy of it.
-        This is currently done in the wrong order through animValDidChange.
-
-        Test: svg/animations/crash-when-animation-is-running-while-getting-value.html
-
-        * svg/SVGAnimatedTypeAnimator.h:
-        (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValue):
-        * svg/properties/SVGAnimatedPropertyTearOff.h:
-        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
-        (WebCore::SVGAnimatedStaticPropertyTearOff::synchronizeWrappersIfNeeded):
-
-2017-12-18  Brady Eidson  <beidson@apple.com>
-
-        REGRESSION: ASSERTION FAILED: !m_importCompleted
-        https://bugs.webkit.org/show_bug.cgi?id=180935
-
-        Unreviewed bot gardening.
-
-        No new tests (Covered by existing tests)
-
-        The ASSERT was invalid for database pushes failing to open databases like this, so skip it for that scenario.
-
-        * workers/service/server/RegistrationStore.cpp:
-        (WebCore::RegistrationStore::databaseFailedToOpen):
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::registrationStoreDatabaseFailedToOpen):
-        * workers/service/server/SWServer.h:
-
-2017-12-18  Jer Noble  <jer.noble@apple.com>
-
-        Playing media elements which call "pause(); play()" will have the play promise rejected.
-        https://bugs.webkit.org/show_bug.cgi?id=180781
-
-        Reviewed by Eric Carlson.
-
-        Test: media/video-pause-play-resolve.html
-
-        When scheduling a rejection or resolution of existing play promises, move() the existing
-        promises into the block. This ensures that valid promises aren't added to the play promise
-        vector between when a rejection is scheduled and when it runs.
-
-        Drive-by fix: Don't return false from playInternal() just so the newly created promise will
-        get rejected. The pause() command will reject the promise, so just make sure it's added to
-        the m_pendingPlayPromises before calling playInternal().
-
-        Drive-by fix #2: The spec referenced by playInternal() and pauseInternal() doesn't say to
-        call the "Media Element Load Algorithm" (i.e., prepareForLoad()); it says to call the
-        "Resource Selection Algorithm" (i.e., selectMediaResource()). But fixing this bug caused
-        an assertion crash when the resource selection task was fired and m_player was null. This
-        was because the algorithm is being run at stop() time due to stop() calling pause(). The
-        solution to this ASSERT is to stop the m_resourceSelectionTaskQueue in stop().
-
-        * html/HTMLMediaElement.cpp:
-        (WebCore::HTMLMediaElement::scheduleRejectPendingPlayPromises):
-        (WebCore::HTMLMediaElement::rejectPendingPlayPromises):
-        (WebCore::HTMLMediaElement::resolvePendingPlayPromises):
-        (WebCore::HTMLMediaElement::scheduleNotifyAboutPlaying):
-        (WebCore::HTMLMediaElement::notifyAboutPlaying):
-        (WebCore::HTMLMediaElement::noneSupported):
-        (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
-        (WebCore::HTMLMediaElement::play):
-        (WebCore::HTMLMediaElement::playInternal):
-        (WebCore::HTMLMediaElement::pauseInternal):
-        (WebCore::HTMLMediaElement::stop):
-        * html/HTMLMediaElement.h:
-
-2017-12-18  Daniel Bates  <dabates@apple.com>
-
-        Add SPI to query for the current and last auto fill button type and pass user data object to _webView:focusShouldStartInputSession:
-        https://bugs.webkit.org/show_bug.cgi?id=180774
-        <rdar://problem/36033832>
-
-        Reviewed by Tim Horton.
-
-        Expose a way for an embedding client to query for the auto fill button type of a specific
-        input element as it may not be feasible for a client to track such state themselves. For
-        similar reasons track and expose SPI to query for the last auto fill button type for a
-        specific field.
-
-        Test: fast/forms/auto-fill-button/last-auto-fill-button-type.html
-
-        * html/HTMLInputElement.cpp:
-        (WebCore::HTMLInputElement::HTMLInputElement):
-        (WebCore::HTMLInputElement::setShowAutoFillButton):
-        Update the last auto fill button type.
-
-        * html/HTMLInputElement.h:
-        (WebCore::HTMLInputElement::lastAutoFillButtonType const): Added.
-
-        * testing/Internals.cpp:
-        (WebCore::toAutoFillButtonType):
-        (WebCore::toInternalsAutoFillButtonType):
-        (WebCore::Internals::autoFillButtonType):
-        (WebCore::Internals::lastAutoFillButtonType):
-        * testing/Internals.h:
-        * testing/Internals.idl:
-        Add functions for testing.
-
-2017-12-17  John Wilander  <wilander@apple.com>
-
-        Storage Access API: Make document.hasStorageAccess() retrieve current status from the network process
-        https://bugs.webkit.org/show_bug.cgi?id=180681
-        <rdar://problem/35982161>
-
-        Reviewed by Alex Christensen.
-
-        Tests: http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-non-recent-user-interaction.html
-               http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-recent-user-interaction.html
-
-        This change makes an asynchronous request to the network process
-        to see if storage access has been granted for this frame, on this
-        page, for this domain.
-
-        * dom/Document.cpp:
-        (WebCore::Document::hasStorageAccess):
-        * page/ChromeClient.h:
-
-2017-12-17  Chris Dumez  <cdumez@apple.com>
-
-        Strip fragment identifier from ServiceWorker's scriptURL
-        https://bugs.webkit.org/show_bug.cgi?id=180887
-
-        Reviewed by Darin Adler.
-
-        Strip fragment identifier from ServiceWorker's scriptURL to match Firefox and Chrome.
-        This behavior does not appear to be specified so I filed:
-        - https://github.com/w3c/ServiceWorker/issues/1249
-
-        No new tests, rebaselined existing test.
-
-        * workers/service/server/SWServerWorker.cpp:
-        (WebCore::m_script):
-
-2017-12-17  Antti Koivisto  <antti@apple.com>
-
-        Move render tree updating related files under rendering/updating/
-        https://bugs.webkit.org/show_bug.cgi?id=180918
-
-        Reviewed by Darin Adler.
-
-        * CMakeLists.txt:
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-        * rendering/RenderTreeBuilder.cpp: Removed.
-        * rendering/RenderTreeBuilder.h: Removed.
-        * rendering/updating: Added.
-        * rendering/updating/RenderTreeBuilder.cpp: Copied from Source/WebCore/rendering/RenderTreeBuilder.cpp.
-        * rendering/updating/RenderTreeBuilder.h: Copied from Source/WebCore/rendering/RenderTreeBuilder.h.
-        * rendering/updating/RenderTreePosition.cpp: Copied from Source/WebCore/style/RenderTreePosition.cpp.
-        * rendering/updating/RenderTreePosition.h: Copied from Source/WebCore/style/RenderTreePosition.h.
-        * rendering/updating/RenderTreeUpdater.cpp: Copied from Source/WebCore/style/RenderTreeUpdater.cpp.
-        * rendering/updating/RenderTreeUpdater.h: Copied from Source/WebCore/style/RenderTreeUpdater.h.
-        * rendering/updating/RenderTreeUpdaterFirstLetter.cpp: Copied from Source/WebCore/style/RenderTreeUpdaterFirstLetter.cpp.
-        * rendering/updating/RenderTreeUpdaterFirstLetter.h: Copied from Source/WebCore/style/RenderTreeUpdaterFirstLetter.h.
-        * rendering/updating/RenderTreeUpdaterGeneratedContent.cpp: Copied from Source/WebCore/style/RenderTreeUpdaterGeneratedContent.cpp.
-        * rendering/updating/RenderTreeUpdaterGeneratedContent.h: Copied from Source/WebCore/style/RenderTreeUpdaterGeneratedContent.h.
-        * rendering/updating/RenderTreeUpdaterListItem.cpp: Copied from Source/WebCore/style/RenderTreeUpdaterListItem.cpp.
-        * rendering/updating/RenderTreeUpdaterListItem.h: Copied from Source/WebCore/style/RenderTreeUpdaterListItem.h.
-        * rendering/updating/RenderTreeUpdaterMultiColumn.cpp: Copied from Source/WebCore/style/RenderTreeUpdaterMultiColumn.cpp.
-        * rendering/updating/RenderTreeUpdaterMultiColumn.h: Copied from Source/WebCore/style/RenderTreeUpdaterMultiColumn.h.
-        * style/RenderTreePosition.cpp: Removed.
-        * style/RenderTreePosition.h: Removed.
-        * style/RenderTreeUpdater.cpp: Removed.
-        * style/RenderTreeUpdater.h: Removed.
-        * style/RenderTreeUpdaterFirstLetter.cpp: Removed.
-        * style/RenderTreeUpdaterFirstLetter.h: Removed.
-        * style/RenderTreeUpdaterGeneratedContent.cpp: Removed.
-        * style/RenderTreeUpdaterGeneratedContent.h: Removed.
-        * style/RenderTreeUpdaterListItem.cpp: Removed.
-        * style/RenderTreeUpdaterListItem.h: Removed.
-        * style/RenderTreeUpdaterMultiColumn.cpp: Removed.
-        * style/RenderTreeUpdaterMultiColumn.h: Removed.
-
-2017-12-17  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [JSC][WebCore][CSSJIT] Remove VM reference in CSSJIT
-        https://bugs.webkit.org/show_bug.cgi?id=180917
-
-        Reviewed by Sam Weinig.
-
-        Remove VM reference in CSSJIT. CSSJIT should not be
-        bound to a specific VM.
-
-        No behavior change.
-
-        * css/ElementRuleCollector.cpp:
-        (WebCore::ElementRuleCollector::ruleMatches):
-        * cssjit/SelectorCompiler.cpp:
-        (WebCore::SelectorCompiler::compileSelector):
-        * cssjit/SelectorCompiler.h:
-        * dom/SelectorQuery.cpp:
-        (WebCore::SelectorDataList::compileSelector):
-        (WebCore::SelectorDataList::execute const):
-        * dom/SelectorQuery.h:
-
-2017-12-16  Dan Bernstein  <mitz@apple.com>
-
-        WKWebView has no equivalent of -[WebView setAlwaysShowVerticalScroller:]
-        https://bugs.webkit.org/show_bug.cgi?id=180613
-        <rdar://problem/35946124>
-
-        Reviewed by Geoff Garen.
-
-        Test: TestWebKitAPI/Tests/WebKitCocoa/WKWebViewAlwaysShowsScroller.mm
-
-        * platform/ScrollView.h: Exported setScrollbarModes.
-
-2017-12-16  Antti Koivisto  <antti@apple.com>
-
-        Introduce RenderTreeBuilder
-        https://bugs.webkit.org/show_bug.cgi?id=180817
-
-        Reviewed by Zalan Bujtas.
-
-        RenderTreeBuilder is responsible of building the render tree, including construction of various anonymous
-        renderers. Renderer subtype specific render tree construction code will eventually move there.
-
-        This patch adds RenderTreeBuilder class and passes it as a parameter for all addChild implementations.
-        Future patches can then mechanically move the building code from renderers to RenderTreeBuilder.
-
-        It also moves one addChild implementation (RenderRuby::addChild -> RenderTreeBuilder::rubyRunInsertChild)
-        to RenderTreeBuilder as a test.
-
-        * WebCore.xcodeproj/project.pbxproj:
-        * rendering/RenderBlock.cpp:
-        (WebCore::RenderBlock::addChildToContinuation):
-        (WebCore::RenderBlock::addChild):
-        (WebCore::RenderBlock::addChildIgnoringContinuation):
-        * rendering/RenderBlock.h:
-        * rendering/RenderBlockFlow.cpp:
-        (WebCore::RenderBlockFlow::addChild):
-        * rendering/RenderBlockFlow.h:
-        * rendering/RenderBoxModelObject.cpp:
-        (WebCore::RenderBoxModelObject::moveChildTo):
-        * rendering/RenderButton.cpp:
-        (WebCore::RenderButton::addChild):
-        (WebCore::RenderButton::setText):
-        * rendering/RenderButton.h:
-        * rendering/RenderElement.cpp:
-        (WebCore::RenderElement::addChild):
-        * rendering/RenderElement.h:
-        (WebCore::RenderElement::addChildIgnoringContinuation):
-        * rendering/RenderFullScreen.cpp:
-        (WebCore::RenderFullScreen::wrapNewRenderer):
-        (WebCore::RenderFullScreen::wrapExistingRenderer):
-        (WebCore::RenderFullScreen::unwrapRenderer):
-        (WebCore::RenderFullScreen::createPlaceholder):
-        * rendering/RenderGrid.cpp:
-        (WebCore::RenderGrid::addChild):
-        * rendering/RenderGrid.h:
-        * rendering/RenderInline.cpp:
-        (WebCore::RenderInline::addChild):
-        (WebCore::RenderInline::addChildIgnoringContinuation):
-        (WebCore::RenderInline::splitInlines):
-        (WebCore::RenderInline::splitFlow):
-        (WebCore::RenderInline::addChildToContinuation):
-        (WebCore::RenderInline::childBecameNonInline):
-        * rendering/RenderInline.h:
-        * rendering/RenderMenuList.cpp:
-        (WebCore::RenderMenuList::createInnerBlock):
-        (RenderMenuList::addChild):
-        (RenderMenuList::setText):
-        * rendering/RenderMenuList.h:
-        * rendering/RenderMultiColumnFlow.cpp:
-        (WebCore::RenderMultiColumnFlow::processPossibleSpannerDescendant):
-        * rendering/RenderQuote.cpp:
-        (WebCore::RenderQuote::updateTextRenderer):
-        (WebCore::RenderQuote::updateRenderer):
-        * rendering/RenderQuote.h:
-        * rendering/RenderRuby.cpp:
-        (WebCore::RenderRubyAsInline::addChild):
-        (WebCore::RenderRubyAsBlock::addChild):
-        * rendering/RenderRuby.h:
-        * rendering/RenderRubyBase.h:
-        * rendering/RenderRubyRun.cpp:
-        (WebCore::RenderRubyRun::rubyBaseSafe):
-        (WebCore::RenderRubyRun::addChild): Deleted.
-        * rendering/RenderRubyRun.h:
-        * rendering/RenderTable.cpp:
-        (WebCore::RenderTable::addChild):
-        * rendering/RenderTable.h:
-        * rendering/RenderTableRow.cpp:
-        (WebCore::RenderTableRow::addChild):
-        * rendering/RenderTableRow.h:
-        * rendering/RenderTableSection.cpp:
-        (WebCore::RenderTableSection::addChild):
-        * rendering/RenderTableSection.h:
-        * rendering/RenderTreeBuilder.cpp: Added.
-        (WebCore::RenderTreeBuilder::RenderTreeBuilder):
-        (WebCore::RenderTreeBuilder::~RenderTreeBuilder):
-        (WebCore::RenderTreeBuilder::insertChild):
-        (WebCore::RenderTreeBuilder::rubyRunInsertChild):
-        * rendering/RenderTreeBuilder.h: Added.
-        (WebCore::RenderTreeBuilder::current):
-        * rendering/TextAutoSizing.cpp:
-        (WebCore::TextAutoSizingValue::adjustTextNodeSizes):
-        * rendering/mathml/RenderMathMLFenced.cpp:
-        (WebCore::RenderMathMLFenced::updateFromElement):
-        (WebCore::RenderMathMLFenced::makeFences):
-        (WebCore::RenderMathMLFenced::addChild):
-        * rendering/mathml/RenderMathMLFenced.h:
-        * rendering/svg/RenderSVGContainer.cpp:
-        (WebCore::RenderSVGContainer::addChild):
-        * rendering/svg/RenderSVGContainer.h:
-        * rendering/svg/RenderSVGInline.cpp:
-        (WebCore::RenderSVGInline::addChild):
-        * rendering/svg/RenderSVGInline.h:
-        * rendering/svg/RenderSVGRoot.cpp:
-        (WebCore::RenderSVGRoot::addChild):
-        * rendering/svg/RenderSVGRoot.h:
-        * rendering/svg/RenderSVGText.cpp:
-        (WebCore::RenderSVGText::addChild):
-        * rendering/svg/RenderSVGText.h:
-        * style/RenderTreePosition.cpp:
-        (WebCore::RenderTreePosition::insert): Deleted.
-        * style/RenderTreePosition.h:
-        (WebCore::RenderTreePosition::RenderTreePosition):
-        (WebCore::RenderTreePosition::nextSibling const):
-        (WebCore::RenderTreePosition::canInsert const): Deleted.
-        * style/RenderTreeUpdater.cpp:
-        (WebCore::RenderTreeUpdater::updateAfterDescendants):
-        (WebCore::RenderTreeUpdater::createRenderer):
-        (WebCore::RenderTreeUpdater::createTextRenderer):
-        (WebCore::RenderTreeUpdater::updateTextRenderer):
-        (WebCore::createTextRenderer): Deleted.
-        * style/RenderTreeUpdater.h:
-        * style/RenderTreeUpdaterFirstLetter.cpp:
-        (WebCore::updateFirstLetterStyle):
-        (WebCore::createFirstLetterRenderer):
-        * style/RenderTreeUpdaterGeneratedContent.cpp:
-        (WebCore::RenderTreeUpdater::GeneratedContent::updateQuotesUpTo):
-        (WebCore::createContentRenderers):
-        (WebCore::RenderTreeUpdater::GeneratedContent::updatePseudoElement):
-        * style/RenderTreeUpdaterListItem.cpp:
-        (WebCore::RenderTreeUpdater::ListItem::updateMarker):
-        * style/RenderTreeUpdaterListItem.h:
-        * style/RenderTreeUpdaterMultiColumn.cpp:
-        (WebCore::RenderTreeUpdater::MultiColumn::createFragmentedFlow):
-        (WebCore::RenderTreeUpdater::MultiColumn::destroyFragmentedFlow):
-
-2017-12-16  Romain Bellessort  <romain.bellessort@crf.canon.fr>
-
-        [Readable Streams API] Fix filling of descriptor from queue
-        https://bugs.webkit.org/show_bug.cgi?id=172717
-
-        Reviewed by Youenn Fablet.
-
-        Fixed the filling of descriptor from queue (step 10.d at [1]). When first implemented,
-        spec comprised a bug and code was not reachable. Spec has now been fixed and code can
-        now be reached.
-
-        [1] https://streams.spec.whatwg.org/#readable-byte-stream-controller-fill-pull-into-descriptor-from-queue
-
-        No new tests (covered by WPT tests, whose expectations have been updated).
-
-        * Modules/streams/ReadableByteStreamInternals.js:
-        (readableByteStreamControllerFillDescriptorFromQueue): Updated.
-
-2017-12-16  Brady Eidson  <beidson@apple.com>
-
-        Implement getting ServiceWorker registrations for the WKWebsiteDataStore API
-        https://bugs.webkit.org/show_bug.cgi?id=180886
-
-        Reviewed by Chris Dumez.
-
-        No new tests (API test coming soon).
-
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::registrationStoreImportComplete):
-        (WebCore::SWServer::SWServer):
-        (WebCore::SWServer::getOriginsWithRegistrations):
-        (WebCore::SWServer::performGetOriginsWithRegistrationsCallbacks):
-        * workers/service/server/SWServer.h:
-
-2017-12-16  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        Remove unnecessary boolean result of start() functions
-        https://bugs.webkit.org/show_bug.cgi?id=180856
-
-        Reviewed by Darin Adler.
-
-        No behavior change.
-
-        * Modules/webaudio/AsyncAudioDecoder.cpp:
-        (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
-        * Modules/webdatabase/DatabaseContext.cpp:
-        (WebCore::DatabaseContext::databaseThread):
-        * Modules/webdatabase/DatabaseThread.cpp:
-        (WebCore::DatabaseThread::start):
-        Now `Thread::create` always succeeds (if it fails, WebKit crashes).
-        DatabaseThread::start() now always returns true. So, we do not need
-        to return bool.
-
-        * Modules/webdatabase/DatabaseThread.h:
-        * platform/network/curl/CurlDownload.cpp:
-        (WebCore::CurlDownload::start):
-        * platform/network/curl/CurlDownload.h:
-        * platform/network/curl/ResourceHandleCurl.cpp:
-        (WebCore::ResourceHandle::start):
-        * platform/network/curl/ResourceHandleCurlDelegate.cpp:
-        (WebCore::ResourceHandleCurlDelegate::start):
-        * platform/network/curl/ResourceHandleCurlDelegate.h:
-
-2017-12-16  Chris Dumez  <cdumez@apple.com>
-
-        Add optimization when updating a SW registration results in the exact same script
-        https://bugs.webkit.org/show_bug.cgi?id=180891
-
-        Reviewed by Geoffrey Garen.
-
-        Add optimization when updating a SW registration results in the exact same script:
-        - https://w3c.github.io/ServiceWorker/#update-algorithm (step 8)
-
-        No new tests, rebaselined existing test.
-
-        * workers/service/server/SWServerJobQueue.cpp:
-        (WebCore::SWServerJobQueue::scriptFetchFinished):
-
-2017-12-16  Youenn Fablet  <youenn@apple.com>
-
-        Service worker script fetch request should set the Service-Worker header
-        https://bugs.webkit.org/show_bug.cgi?id=180889
-
-        Reviewed by Chris Dumez.
-
-        Test: http/wpt/service-workers/check-service-worker-header.https.html
-
-        Update WorkerScriptLoader to take a request instead of an URL.
-        Updates Worker implementation and use it in ServiceWorkerJob to set the missing request header.
-
-        * workers/Worker.cpp:
-        (WebCore::Worker::create):
-        * workers/WorkerScriptLoader.cpp:
-        (WebCore::WorkerScriptLoader::loadAsynchronously):
-        * workers/WorkerScriptLoader.h:
-        * workers/service/ServiceWorkerJob.cpp:
-        (WebCore::ServiceWorkerJob::fetchScriptWithContext):
-
-2017-12-15  Ryan Haddad  <ryanhaddad@apple.com>
-
-        Unreviewed, rolling out r225969.
-
-        This change introduced LayoutTest crashes.
-
-        Reverted changeset:
-
-        "Introduce RenderTreeBuilder"
-        https://bugs.webkit.org/show_bug.cgi?id=180817
-        https://trac.webkit.org/changeset/225969
-
-2017-12-15  Chris Dumez  <cdumez@apple.com>
-
-        Support updating a service worker registration's updateViaCache flag
-        https://bugs.webkit.org/show_bug.cgi?id=180888
-
-        Reviewed by Brady Eidson.
-
-        Support updating a service worker registration's updateViaCache flag to match other browsers:
-        - https://github.com/w3c/ServiceWorker/issues/1189
-
-        No new tests, rebaselined existing test.
-
-        * workers/service/SWClientConnection.cpp:
-        (WebCore::SWClientConnection::setRegistrationUpdateViaCache):
-        * workers/service/SWClientConnection.h:
-        * workers/service/ServiceWorkerRegistration.cpp:
-        (WebCore::ServiceWorkerRegistration::setUpdateViaCache):
-        * workers/service/ServiceWorkerRegistration.h:
-        * workers/service/server/SWServer.h:
-        * workers/service/server/SWServerJobQueue.cpp:
-        (WebCore::SWServerJobQueue::runRegisterJob):
-        * workers/service/server/SWServerRegistration.cpp:
-        (WebCore::SWServerRegistration::setUpdateViaCache):
-        * workers/service/server/SWServerRegistration.h:
-
-2017-12-15  Ryan Haddad  <ryanhaddad@apple.com>
-
-        Unreviewed, rolling out r225941.
-
-        This change introduced LayoutTest crashes and assertion
-        failures.
-
-        Reverted changeset:
-
-        "Web Inspector: replace HTMLCanvasElement with
-        CanvasRenderingContext for instrumentation logic"
-        https://bugs.webkit.org/show_bug.cgi?id=180770
-        https://trac.webkit.org/changeset/225941
-
-2017-12-15  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Add a release assert that Timer::m_wasDeleted is false in setNextFireTime
-        https://bugs.webkit.org/show_bug.cgi?id=180860
-        <rdar://problem/36066500>
-
-        Reviewed by David Kilzer.
-
-        Turn an exist debug-only assertion into a release assertion to help diagnose a crash
-        which appears to be caused by a freed timer getting scheduled back into the timer heap.
-
-        * platform/Timer.cpp:
-        (WebCore::TimerBase::~TimerBase):
-        (WebCore::TimerBase::setNextFireTime):
-        * platform/Timer.h:
-
-2017-12-15  Simon Fraser  <simon.fraser@apple.com>
-
-        Elements animated on-screen are missing sometimes
-        https://bugs.webkit.org/show_bug.cgi?id=180773
-        rdar://problem/34923438
-
-        Reviewed by Zalan Bujtas.
-        
-        After r225310 it was still possible for elements to be missing backing store when brought
-        on-screen via an animation. This occurred if a child element was outside the bounds of the
-        element being animated.
-
-        Fix by making sure that GraphicsLayer's "animatedExtent" took composited child layers into account.
-
-        As for r225310, no test because this is timing sensitive and hard to reliably make a test for.
-
-        * rendering/RenderLayer.cpp:
-        (WebCore::RenderLayer::calculateClipRects const):
-        * rendering/RenderLayer.h:
-        * rendering/RenderLayerBacking.cpp:
-        (WebCore::RenderLayerBacking::updateGeometry):
-
-2017-12-15  Chris Dumez  <cdumez@apple.com>
-
-        imported/w3c/web-platform-tests/service-workers/service-worker/update.https.html is sometimes crashing in Debug builds
-        https://bugs.webkit.org/show_bug.cgi?id=180867
-
-        Reviewed by Brady Eidson.
-
-        Fix assertion to make sure the worker is terminating if it is already in m_runningOrTerminatingWorkers.
-
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::runServiceWorker):
-
-2017-12-15  Chris Dumez  <cdumez@apple.com>
-
-        Service Worker Registration promise is sometimes not rejected when the script load fails
-        https://bugs.webkit.org/show_bug.cgi?id=180849
-
-        Reviewed by Brady Eidson.
-
-        Service Worker Registration promise is sometimes not rejected when the script load fails.
-        This was caused by the ServiceWorkerJob sometimes passing a null ResourceError to the
-        StorageProcess, even though the load failed.
-
-        No new tests, rebaselined exisiting tests.
-
-        * workers/WorkerScriptLoader.cpp:
-        (WebCore::WorkerScriptLoader::notifyError):
-        * workers/service/ServiceWorkerJob.cpp:
-        (WebCore::ServiceWorkerJob::notifyFinished):
-
-2017-12-15  Youenn Fablet  <youenn@apple.com>
-
-        WebRTC Stats should not be console logged from a background thread
-        https://bugs.webkit.org/show_bug.cgi?id=180845
-
-        Reviewed by Eric Carlson.
-
-        Ensuring console log are done in the main thread.
-
-        * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:
-        (WebCore::LibWebRTCMediaEndpoint::OnStatsDelivered):
-
-2017-12-15  Antti Koivisto  <antti@apple.com>
-
-        Introduce RenderTreeBuilder
-        https://bugs.webkit.org/show_bug.cgi?id=180817
-
-        Reviewed by Zalan Bujtas.
-
-        RenderTreeBuilder is responsible of building the render tree, including construction of various anonymous
-        renderers. Renderer subtype specific render tree construction code will eventually move there.
-
-        This patch adds RenderTreeBuilder class and passes it as a parameter for all addChild implementations.
-        Future patches can then mechanically move the building code from renderers to RenderTreeBuilder.
-
-        It also moves one addChild implementation (RenderRuby::addChild -> RenderTreeBuilder::rubyRunInsertChild)
-        to RenderTreeBuilder as a test.
-
-        * WebCore.xcodeproj/project.pbxproj:
-        * rendering/RenderBlock.cpp:
-        (WebCore::RenderBlock::addChildToContinuation):
-        (WebCore::RenderBlock::addChild):
-        (WebCore::RenderBlock::addChildIgnoringContinuation):
-        * rendering/RenderBlock.h:
-        * rendering/RenderBlockFlow.cpp:
-        (WebCore::RenderBlockFlow::addChild):
-        * rendering/RenderBlockFlow.h:
-        * rendering/RenderBoxModelObject.cpp:
-        (WebCore::RenderBoxModelObject::moveChildTo):
-        * rendering/RenderButton.cpp:
-        (WebCore::RenderButton::addChild):
-        (WebCore::RenderButton::setText):
-        * rendering/RenderButton.h:
-        * rendering/RenderElement.cpp:
-        (WebCore::RenderElement::addChild):
-        * rendering/RenderElement.h:
-        (WebCore::RenderElement::addChildIgnoringContinuation):
-        * rendering/RenderFullScreen.cpp:
-        (WebCore::RenderFullScreen::wrapNewRenderer):
-        (WebCore::RenderFullScreen::wrapExistingRenderer):
-        (WebCore::RenderFullScreen::unwrapRenderer):
-        (WebCore::RenderFullScreen::createPlaceholder):
-        * rendering/RenderGrid.cpp:
-        (WebCore::RenderGrid::addChild):
-        * rendering/RenderGrid.h:
-        * rendering/RenderInline.cpp:
-        (WebCore::RenderInline::addChild):
-        (WebCore::RenderInline::addChildIgnoringContinuation):
-        (WebCore::RenderInline::splitInlines):
-        (WebCore::RenderInline::splitFlow):
-        (WebCore::RenderInline::addChildToContinuation):
-        (WebCore::RenderInline::childBecameNonInline):
-        * rendering/RenderInline.h:
-        * rendering/RenderMenuList.cpp:
-        (WebCore::RenderMenuList::createInnerBlock):
-        (RenderMenuList::addChild):
-        (RenderMenuList::setText):
-        * rendering/RenderMenuList.h:
-        * rendering/RenderMultiColumnFlow.cpp:
-        (WebCore::RenderMultiColumnFlow::processPossibleSpannerDescendant):
-        * rendering/RenderQuote.cpp:
-        (WebCore::RenderQuote::updateTextRenderer):
-        (WebCore::RenderQuote::updateRenderer):
-        * rendering/RenderQuote.h:
-        * rendering/RenderRuby.cpp:
-        (WebCore::RenderRubyAsInline::addChild):
-        (WebCore::RenderRubyAsBlock::addChild):
-        * rendering/RenderRuby.h:
-        * rendering/RenderRubyBase.h:
-        * rendering/RenderRubyRun.cpp:
-        (WebCore::RenderRubyRun::rubyBaseSafe):
-        (WebCore::RenderRubyRun::addChild): Deleted.
-        * rendering/RenderRubyRun.h:
-        * rendering/RenderTable.cpp:
-        (WebCore::RenderTable::addChild):
-        * rendering/RenderTable.h:
-        * rendering/RenderTableRow.cpp:
-        (WebCore::RenderTableRow::addChild):
-        * rendering/RenderTableRow.h:
-        * rendering/RenderTableSection.cpp:
-        (WebCore::RenderTableSection::addChild):
-        * rendering/RenderTableSection.h:
-        * rendering/RenderTreeBuilder.cpp: Added.
-        (WebCore::RenderTreeBuilder::RenderTreeBuilder):
-        (WebCore::RenderTreeBuilder::~RenderTreeBuilder):
-        (WebCore::RenderTreeBuilder::insertChild):
-        (WebCore::RenderTreeBuilder::rubyRunInsertChild):
-        * rendering/RenderTreeBuilder.h: Added.
-        (WebCore::RenderTreeBuilder::current):
-        * rendering/TextAutoSizing.cpp:
-        (WebCore::TextAutoSizingValue::adjustTextNodeSizes):
-        * rendering/mathml/RenderMathMLFenced.cpp:
-        (WebCore::RenderMathMLFenced::updateFromElement):
-        (WebCore::RenderMathMLFenced::makeFences):
-        (WebCore::RenderMathMLFenced::addChild):
-        * rendering/mathml/RenderMathMLFenced.h:
-        * rendering/svg/RenderSVGContainer.cpp:
-        (WebCore::RenderSVGContainer::addChild):
-        * rendering/svg/RenderSVGContainer.h:
-        * rendering/svg/RenderSVGInline.cpp:
-        (WebCore::RenderSVGInline::addChild):
-        * rendering/svg/RenderSVGInline.h:
-        * rendering/svg/RenderSVGRoot.cpp:
-        (WebCore::RenderSVGRoot::addChild):
-        * rendering/svg/RenderSVGRoot.h:
-        * rendering/svg/RenderSVGText.cpp:
-        (WebCore::RenderSVGText::addChild):
-        * rendering/svg/RenderSVGText.h:
-        * style/RenderTreePosition.cpp:
-        (WebCore::RenderTreePosition::insert): Deleted.
-        * style/RenderTreePosition.h:
-        (WebCore::RenderTreePosition::RenderTreePosition):
-        (WebCore::RenderTreePosition::nextSibling const):
-        (WebCore::RenderTreePosition::canInsert const): Deleted.
-        * style/RenderTreeUpdater.cpp:
-        (WebCore::RenderTreeUpdater::updateAfterDescendants):
-        (WebCore::RenderTreeUpdater::createRenderer):
-        (WebCore::RenderTreeUpdater::createTextRenderer):
-        (WebCore::RenderTreeUpdater::updateTextRenderer):
-        (WebCore::createTextRenderer): Deleted.
-        * style/RenderTreeUpdater.h:
-        * style/RenderTreeUpdaterFirstLetter.cpp:
-        (WebCore::updateFirstLetterStyle):
-        (WebCore::createFirstLetterRenderer):
-        * style/RenderTreeUpdaterGeneratedContent.cpp:
-        (WebCore::RenderTreeUpdater::GeneratedContent::updateQuotesUpTo):
-        (WebCore::createContentRenderers):
-        (WebCore::RenderTreeUpdater::GeneratedContent::updatePseudoElement):
-        * style/RenderTreeUpdaterListItem.cpp:
-        (WebCore::RenderTreeUpdater::ListItem::updateMarker):
-        * style/RenderTreeUpdaterListItem.h:
-        * style/RenderTreeUpdaterMultiColumn.cpp:
-        (WebCore::RenderTreeUpdater::MultiColumn::createFragmentedFlow):
-        (WebCore::RenderTreeUpdater::MultiColumn::destroyFragmentedFlow):
-
-2017-12-14  Youenn Fablet  <youenn@apple.com>
-
-        Implement <iframe allow="camera; microphone">
-        https://bugs.webkit.org/show_bug.cgi?id=167430
-
-        Reviewed by Eric Carlson.
-
-        Tests: imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-default-feature-policy.https.sub.html
-
-        Adding allow attribute to HTMLIFrameElement as per https://wicg.github.io/feature-policy/#iframe-allow-attribute.
-        Cross-origin iframes will get access to camera/microphone based on this attribute value.
-        Same-origin iframes do not need any attribute.
-        In case getUserMedia requests both camera and microphone, and allow attribute is only one of these,
-        getUserMedia access is denied. This goes against the tests but is not very clear from the specification.
-
-        * Modules/mediastream/UserMediaRequest.cpp:
-        (WebCore::isSecure):
-        (WebCore::isAllowedToUse):
-        (WebCore::canCallGetUserMedia):
-        (WebCore::UserMediaRequest::start):
-        * html/HTMLAttributeNames.in:
-        * html/HTMLIFrameElement.cpp:
-        (WebCore::HTMLIFrameElement::parseAttribute):
-        * html/HTMLIFrameElement.h:
-        * html/HTMLIFrameElement.idl:
-
-2017-12-14  Zalan Bujtas  <zalan@apple.com>
-
-        Inconsistent section grid could lead to CrashOnOverflow
-        https://bugs.webkit.org/show_bug.cgi?id=180850
-        <rdar://problem/34064811>
-
-        Reviewed by Simon Fraser.
-
-        Each RenderTableSection maintains a grid of rows and columns. The number of columns in this grid equals the
-        maximum number of columns in the entire table (taking spans and multiple sections into account).
-        Since the maximum number of columns might change while re-computing the sections, we need to
-        adjust them accordingly at the end (otherwise it could lead to inconsistent grids where rows have different number of columns).
-
-        Test: fast/table/table-row-oveflow-crash.html
-
-        * rendering/RenderTable.cpp:
-        (WebCore::RenderTable::recalcSections const):
-        * rendering/RenderTableSection.cpp:
-        (WebCore::RenderTableSection::removeRedundantColumns):
-        * rendering/RenderTableSection.h:
-
-2017-12-14  David Kilzer  <ddkilzer@apple.com>
-
-        Enable -Wstrict-prototypes for WebKit
-        <https://webkit.org/b/180757>
-        <rdar://problem/36024132>
-
-        Rubber-stamped by Joseph Pecoraro.
-
-        * Configurations/Base.xcconfig:
-        (CLANG_WARN_STRICT_PROTOTYPES): Add. Set to YES.
-
-2017-12-14  Youenn Fablet  <youenn@apple.com>
-
-        srflx and relay ICE candidates lack raddr (rel-addr) and rport (rel-port) attributes if getUserMedia access has not been granted
-        https://bugs.webkit.org/show_bug.cgi?id=180842
-
-        Reviewed by Jon Lee.
-
-        Manually tested since there is no way to gather reflexive or stun candidates in WebKit CI.
-
-        * Modules/mediastream/PeerConnectionBackend.cpp:
-        (WebCore::filterICECandidate):
-
-2017-12-14  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r225878.
-        https://bugs.webkit.org/show_bug.cgi?id=180855
-
-        Introduced a crash in HTMLPictureElement. We're taking a
-        different approach for webkit.org/b/180769 (Requested by rniwa
-        on #webkit).
-
-        Reverted changeset:
-
-        "Crash inside ImageLoader::updateFromElement()"
-        https://bugs.webkit.org/show_bug.cgi?id=180769
-        https://trac.webkit.org/changeset/225878
-
-2017-12-14  Ryan Haddad  <ryanhaddad@apple.com>
-
-        Unreviewed, rolling out r225931.
-
-        Breaks internal builds.
-
-        Reverted changeset:
-
-        "Fix Mac CMake build"
-        https://bugs.webkit.org/show_bug.cgi?id=180835
-        https://trac.webkit.org/changeset/225931
-
-2017-12-14  Simon Fraser  <simon.fraser@apple.com>
-
-        Another Windows build fix.
-
-        * platform/graphics/cg/GraphicsContextCG.cpp:
-        (WebCore::extendedSRGBColorSpaceRef):
-
-2017-12-14  Simon Fraser  <simon.fraser@apple.com>
-
-        Fix Windows build after r225915.
-
-        Windows doens't have dispatch_once with blocks. Switch to use lambda functions instead.
-
-        * platform/graphics/cg/GraphicsContextCG.cpp:
-        (WebCore::sRGBColorSpaceRef):
-        (WebCore::linearRGBColorSpaceRef):
-        (WebCore::extendedSRGBColorSpaceRef):
-        (WebCore::displayP3ColorSpaceRef):
-
-2017-12-14  Devin Rousso  <webkit@devinrousso.com>
-
-        Web Inspector: replace HTMLCanvasElement with CanvasRenderingContext for instrumentation logic
-        https://bugs.webkit.org/show_bug.cgi?id=180770
-
-        Reviewed by Joseph Pecoraro.
-
-        No change in functionality.
-
-        * html/canvas/CanvasRenderingContext.h:
-        * html/canvas/CanvasRenderingContext.cpp:
-        (WebCore::CanvasRenderingContext::~CanvasRenderingContext):
-        Instead of waiting on the HTMLCanvasElement to destruct to call willDestroyCanvasRenderingContext
-        we can call out in the destructor and know that the CanvasRenderingContext will be destroyed
-        immediately thereafter.
-
-        * html/canvas/CanvasRenderingContext2D.h:
-        * html/canvas/CanvasRenderingContext2D.cpp:
-        (WebCore::CanvasRenderingContext2D::create):
-        * html/canvas/ImageBitmapRenderingContext.h:
-        * html/canvas/ImageBitmapRenderingContext.cpp:
-        (WebCore::ImageBitmapRenderingContext::create):
-        * html/canvas/WebGL2RenderingContext.h:
-        * html/canvas/WebGL2RenderingContext.cpp:
-        (WebCore::WebGL2RenderingContext::create):
-        * html/canvas/WebGLRenderingContext.h:
-        * html/canvas/WebGLRenderingContext.cpp:
-        (WebCore::WebGLRenderingContext::create):
-        * html/canvas/WebGLRenderingContextBase.cpp:
-        (WebCore::WebGLRenderingContextBase::create):
-        * html/canvas/WebGPURenderingContext.cpp:
-        (WebCore::WebGPURenderingContext::create):
-        * html/HTMLCanvasElement.cpp:
-        (WebCore::HTMLCanvasElement::createContext2d):
-        (WebCore::HTMLCanvasElement::createContextWebGL):
-        (WebCore::HTMLCanvasElement::createContextWebGPU):
-        (WebCore::HTMLCanvasElement::createContextBitmapRenderer):
-        (WebCore::HTMLCanvasElement::paint):
-        (WebCore::HTMLCanvasElement::setImageBuffer const):
-        Instead of adding didCreateCanvasRenderingContext calls at the construction sites of each
-        context, we can make the constructors private and force the usage of static `create` functions.
-        This way, we have access to the fully constructed object and have a guaranteed path for creation.
-
-        * inspector/InspectorCanvas.h:
-        * inspector/InspectorCanvas.cpp:
-        (WebCore::InspectorCanvas::create):
-        (WebCore::InspectorCanvas::InspectorCanvas):
-        (WebCore::InspectorCanvas::canvasElement):
-        (WebCore::InspectorCanvas::resetRecordingData):
-        (WebCore::InspectorCanvas::recordAction):
-        (WebCore::InspectorCanvas::buildObjectForCanvas):
-        (WebCore::InspectorCanvas::getCanvasContentAsDataURL):
-        (WebCore::InspectorCanvas::buildInitialState):
-        
-        * inspector/InspectorShaderProgram.h:
-        * inspector/InspectorShaderProgram.cpp:
-        (WebCore::InspectorShaderProgram::context const):
-
-        * inspector/agents/InspectorCanvasAgent.h:
-        * inspector/agents/InspectorCanvasAgent.cpp:
-        (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
-        (WebCore::InspectorCanvasAgent::enable):
-        (WebCore::InspectorCanvasAgent::disable):
-        (WebCore::InspectorCanvasAgent::requestNode):
-        (WebCore::InspectorCanvasAgent::requestContent):
-        (WebCore::InspectorCanvasAgent::requestCSSCanvasClientNodes):
-        (WebCore::contextAsScriptValue):
-        (WebCore::InspectorCanvasAgent::resolveCanvasContext):
-        (WebCore::InspectorCanvasAgent::startRecording):
-        (WebCore::InspectorCanvasAgent::stopRecording):
-        (WebCore::InspectorCanvasAgent::updateShader):
-        (WebCore::InspectorCanvasAgent::frameNavigated):
-        (WebCore::InspectorCanvasAgent::didChangeCSSCanvasClientNodes):
-        (WebCore::InspectorCanvasAgent::didCreateCanvasRenderingContext):
-        (WebCore::InspectorCanvasAgent::willDestroyCanvasRenderingContext):
-        (WebCore::InspectorCanvasAgent::didChangeCanvasMemory):
-        (WebCore::InspectorCanvasAgent::recordCanvasAction):
-        (WebCore::InspectorCanvasAgent::didFinishRecordingCanvasFrame):
-        (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas):
-        (WebCore::InspectorCanvasAgent::didEnableExtension):
-        (WebCore::InspectorCanvasAgent::didCreateProgram):
-        (WebCore::InspectorCanvasAgent::canvasDestroyedTimerFired):
-        (WebCore::InspectorCanvasAgent::canvasRecordingTimerFired):
-        (WebCore::InspectorCanvasAgent::clearCanvasData):
-        (WebCore::InspectorCanvasAgent::unbindCanvas):
-        (WebCore::InspectorCanvasAgent::findInspectorCanvas):
-        (WebCore::InspectorCanvasAgent::unbindProgram):
-        (WebCore::InspectorCanvasAgent::didCreateCSSCanvas): Deleted.
-        (WebCore::InspectorCanvasAgent::canvasDestroyed): Deleted.
-
-        * inspector/InspectorInstrumentation.h:
-        (WebCore::InspectorInstrumentation::didCreateCanvasRenderingContext):
-        (WebCore::InspectorInstrumentation::willDestroyCanvasRenderingContext):
-        (WebCore::InspectorInstrumentation::didChangeCanvasMemory):
-        (WebCore::InspectorInstrumentation::recordCanvasAction):
-        (WebCore::InspectorInstrumentation::didFinishRecordingCanvasFrame):
-        (WebCore::InspectorInstrumentation::didEnableExtension):
-        (WebCore::InspectorInstrumentation::didCreateProgram):
-        (WebCore::InspectorInstrumentation::willDeleteProgram):
-        (WebCore::InspectorInstrumentation::isShaderProgramDisabled):
-        (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas):
-        (WebCore::InspectorInstrumentation::didCreateCSSCanvas): Deleted.
-        * inspector/InspectorInstrumentation.cpp:
-        (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl):
-        (WebCore::InspectorInstrumentation::didChangeCSSCanvasClientNodesImpl):
-        (WebCore::InspectorInstrumentation::didCreateCanvasRenderingContextImpl):
-        (WebCore::InspectorInstrumentation::willDestroyCanvasRenderingContextImpl):
-        (WebCore::InspectorInstrumentation::didChangeCanvasMemoryImpl):
-        (WebCore::InspectorInstrumentation::didFinishRecordingCanvasFrameImpl):
-        (WebCore::InspectorInstrumentation::didEnableExtensionImpl):
-        (WebCore::InspectorInstrumentation::didCreateProgramImpl):
-        (WebCore::InspectorInstrumentation::didCreateCSSCanvasImpl): Deleted.
-
-        * page/PageConsoleClient.cpp:
-        (WebCore::PageConsoleClient::record):
-        (WebCore::PageConsoleClient::recordEnd):
-
-        * dom/Document.h:
-        * dom/Document.cpp:
-        (WebCore::Document::getCSSCanvasElement):
-        (WebCore::Document::nameForCSSCanvasElement const):
-        We have no reason to save the CSS canvas name for each InspectorCanvas object, so instead we
-        can just query for the name based on the CanvasRenderingContext's HTMLCanvasElement (assuming
-        it is not an OffscreenCanvas) when we need it.
-
-2017-12-14  Chris Dumez  <cdumez@apple.com>
-
-        self.importScripts() should obey updateViaCache inside service workers
-        https://bugs.webkit.org/show_bug.cgi?id=180826
-
-        Reviewed by Youenn Fablet.
-
-        self.importScripts() should obey updateViaCache inside service workers, as per:
-        - https://html.spec.whatwg.org/multipage/workers.html#dom-workerglobalscope-importscripts
-
-        Tests: http/tests/workers/service/registration-updateViaCache-all-importScripts.html
-               http/tests/workers/service/registration-updateViaCache-imports-importScripts.html
-               http/tests/workers/service/registration-updateViaCache-none-importScripts.html
-
-        * workers/WorkerGlobalScope.cpp:
-        (WebCore::WorkerGlobalScope::importScripts):
-        * workers/WorkerScriptLoader.cpp:
-        (WebCore::WorkerScriptLoader::loadSynchronously):
-        * workers/WorkerScriptLoader.h:
-        * workers/service/SWClientConnection.cpp:
-        (WebCore::SWClientConnection::setRegistrationLastUpdateTime):
-        * workers/service/SWClientConnection.h:
-        * workers/service/ServiceWorkerRegistration.cpp:
-        (WebCore::ServiceWorkerRegistration::lastUpdateTime const):
-        (WebCore::ServiceWorkerRegistration::setLastUpdateTime):
-        * workers/service/ServiceWorkerRegistration.h:
-        * workers/service/server/SWServer.h:
-        * workers/service/server/SWServerRegistration.cpp:
-        (WebCore::SWServerRegistration::setLastUpdateTime):
-        * workers/service/server/SWServerRegistration.h:
-
-2017-12-14  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        Drop Thread::tryCreate
-        https://bugs.webkit.org/show_bug.cgi?id=180808
-
-        Reviewed by Darin Adler.
-
-        This change reveals that nobody cares the WorkerThread::start's failure.
-        We should use `Thread::create` to ensure thread is actually starting.
-
-        * workers/WorkerThread.cpp:
-        (WebCore::WorkerThread::start):
-        * workers/WorkerThread.h:
-
-2017-12-14  Alicia Boya García  <aboya@igalia.com>
-
-        [MSE] Add isValid() check before using trackBuffer.lastEnqueuedPresentationTime
-        https://bugs.webkit.org/show_bug.cgi?id=180258
-
-        Reviewed by Jer Noble.
-
-        * Modules/mediasource/SourceBuffer.cpp:
-        (WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample):
-
-2017-12-14  John Wilander  <wilander@apple.com>
-
-        Storage Access API: Implement frame-specific access in the document.cookie layer
-        https://bugs.webkit.org/show_bug.cgi?id=180682
-        <rdar://problem/35982257>
-
-        Reviewed by Alex Christensen.
-
-        No new tests. Changed expected result from existing test.
-
-        CookiesStrategy::cookiesForDOM(), CookiesStrategy::setCookiesFromDOM(),
-        CookiesStrategy::cookieRequestHeaderFieldValue(), and
-        CookiesStrategy::getRawCookies() now take optional parameters for
-        frameID and pageID to allow frame-specific scoping of cookies.
-
-        This change makes the return values of FrameLoaderClient::frameID()
-        and FrameLoaderClient::pageID() std::optional<uint64_t> so that
-        WebCore can call those getters and get the right return values in
-        WebKit and std:nullopt in WebKitLegacy.
-
-        * dom/Document.cpp:
-        (WebCore::Document::requestStorageAccess):
-        * loader/CookieJar.cpp:
-        (WebCore::cookies):
-        (WebCore::setCookies):
-        (WebCore::cookieRequestHeaderFieldValue):
-        (WebCore::getRawCookies):
-        * loader/EmptyFrameLoaderClient.h:
-        * loader/FrameLoaderClient.h:
-        * platform/CookiesStrategy.h:
-        * platform/network/CacheValidation.cpp:
-        (WebCore::headerValueForVary):
-        * platform/network/PlatformCookieJar.h:
-        * platform/network/cf/CookieJarCFNet.cpp:
-        (WebCore::setCookiesFromDOM):
-        (WebCore::cookiesForDOM):
-        (WebCore::cookieRequestHeaderFieldValue):
-        (WebCore::getRawCookies):
-        * platform/network/curl/CookieJarCurl.cpp:
-        (WebCore::CookieJarCurlFileSystem::setCookiesFromDOM):
-        (WebCore::CookieJarCurlFileSystem::cookiesForDOM):
-        (WebCore::CookieJarCurlFileSystem::cookieRequestHeaderFieldValue):
-        (WebCore::CookieJarCurlFileSystem::getRawCookies):
-        (WebCore::cookiesForDOM):
-        (WebCore::setCookiesFromDOM):
-        (WebCore::cookieRequestHeaderFieldValue):
-        (WebCore::getRawCookies):
-        * platform/network/curl/CookieJarCurl.h:
-        * platform/network/mac/CookieJarMac.mm:
-        (WebCore::cookiesInPartitionForURL):
-        (WebCore::cookiesForURL):
-        (WebCore::cookiesForSession):
-        (WebCore::cookiesForDOM):
-        (WebCore::cookieRequestHeaderFieldValue):
-        (WebCore::setCookiesFromDOM):
-        (WebCore::getRawCookies):
-        * platform/network/soup/CookieJarSoup.cpp:
-        (WebCore::setCookiesFromDOM):
-        (WebCore::cookiesForDOM):
-        (WebCore::cookieRequestHeaderFieldValue):
-        (WebCore::getRawCookies):
-
-2017-12-14  Alex Christensen  <achristensen@webkit.org>
-
-        Fix Mac CMake build
-        https://bugs.webkit.org/show_bug.cgi?id=180835
-
-        Reviewed by Andy Estes.
-
-        * PlatformMac.cmake:
-        * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
-
-2017-12-14  Antoine Quint  <graouts@apple.com>
-
-        [Web Animations] Use is<> when possible
-        https://bugs.webkit.org/show_bug.cgi?id=180832
-
-        Reviewed by Dean Jackson.
-
-        Adopt is<> when possible.
-
-        * animation/WebAnimation.cpp:
-        (WebCore::WebAnimation::setEffect):
-        (WebCore::WebAnimation::setTimeline):
-        (WebCore::WebAnimation::startOrStopAccelerated):
-
-2017-12-14  Antoine Quint  <graouts@apple.com>
-
-        [Web Animations] Bring timeline and currentTime setters closer to compliance
-        https://bugs.webkit.org/show_bug.cgi?id=180834
-
-        Reviewed by Dean Jackson.
-
-        Now that we've added support for the concept of a hold time, pending tasks
-        and updating the finished state, adopt those in places we had already implemented
-        but weren't fully compliant.
-
-        Web Platform Tests cover these behaviors, but we're currently failing those tests
-        due to lacking an implementation for Element.animate().
-
-        * animation/WebAnimation.cpp:
-        (WebCore::WebAnimation::setTimeline): Add some spec comments to clarify the code behavior
-        and implement step 4 of the "setting the timeline" procedure where we reset the hold time
-        to an unresolved value if the start time is resolved, as well as step 5 where we update the
-        finished state. Finally, we also ensure we update the pending tasks as the ready state is
-        dependent on a timeline being set.
-        (WebCore::WebAnimation::bindingsStartTime const): Invert the way we test for an unresolved
-        value to match prior review comments by Dean Jackson.
-        (WebCore::WebAnimation::setBindingsStartTime): Use a boolean check rather than checking
-        equality with std::nullopt.
-        (WebCore::WebAnimation::setBindingsCurrentTime): Do not raise an exception when setting
-        an unresolved time.
-
-2017-12-14  Antoine Quint  <graouts@apple.com>
-
-        [Web Animations] Implement the cancel() method on Animation
-        https://bugs.webkit.org/show_bug.cgi?id=180830
-        <rdar://problem/36055816>
-
-        Reviewed by Dean Jackson.
-
-        We implement the cancel() method on the Animation interface with full spec text defining
-        the normative behavior of those methods and code matching those steps. Implementing the
-        cancel() method required implementing the notion of "resetting pending tasks",
-        which the Web Animations spec defines as well.
-
-        * animation/WebAnimation.cpp:
-        (WebCore::WebAnimation::setEffect):
-        (WebCore::WebAnimation::cancel):
-        (WebCore::WebAnimation::resetPendingTasks):
-        * animation/WebAnimation.h:
-        * animation/WebAnimation.idl:
-
-2017-12-14  Jer Noble  <jer.noble@apple.com>
-
-        "Click to exit fullscreen" text not legible on High Sierra
-        https://bugs.webkit.org/show_bug.cgi?id=180825
-        <rdar://problem/32839983>
-
-        Reviewed by Eric Carlson.
-
-        Explicitly set the NSVisualAffectView's .appearance property.
-
-        * platform/mac/WebCoreFullScreenPlaceholderView.mm:
-        (-[WebCoreFullScreenPlaceholderView initWithFrame:]):
-
-2017-12-14  Antoine Quint  <graouts@apple.com>
-
-        [Web Animations] Implement the finish() method on Animation
-        https://bugs.webkit.org/show_bug.cgi?id=180822
-        <rdar://problem/36053282>
-
-        Reviewed by Dean Jackson.
-
-        We implement the finish() method on the Animation interface with full spec text defining
-        the normative behavior of those methods and code matching those steps. Implementing the
-        finish() method required implementing the notion of "silently setting the current time",
-        which the Web Animations spec defines as well.
-
-        * animation/WebAnimation.cpp:
-        (WebCore::WebAnimation::silentlySetCurrentTime):
-        (WebCore::WebAnimation::setCurrentTime):
-        (WebCore::WebAnimation::finish):
-        * animation/WebAnimation.h:
-        * animation/WebAnimation.idl:
-
-2017-12-14  Chris Dumez  <cdumez@apple.com>
-
-        Service worker script fetching currently always uses the network cache
-        https://bugs.webkit.org/show_bug.cgi?id=180816
-
-        Reviewed by Alex Christensen.
-
-        Service worker script fetching currently always uses the network cache. This is incorrect as per:
-        - https://w3c.github.io/ServiceWorker/#update-algorithm (step 7.2)
-
-        Tests: http/tests/workers/service/registration-updateViaCache-all.html
-               http/tests/workers/service/registration-updateViaCache-none.html
-
-        * workers/Worker.cpp:
-        (WebCore::Worker::create):
-        * workers/WorkerScriptLoader.cpp:
-        (WebCore::WorkerScriptLoader::loadAsynchronously):
-        * workers/WorkerScriptLoader.h:
-        * workers/service/SWClientConnection.cpp:
-        (WebCore::SWClientConnection::startScriptFetchForServer):
-        * workers/service/SWClientConnection.h:
-        * workers/service/ServiceWorkerContainer.cpp:
-        (WebCore::ServiceWorkerContainer::startScriptFetchForJob):
-        * workers/service/ServiceWorkerContainer.h:
-        * workers/service/ServiceWorkerJob.cpp:
-        (WebCore::ServiceWorkerJob::startScriptFetch):
-        (WebCore::ServiceWorkerJob::fetchScriptWithContext):
-        * workers/service/ServiceWorkerJob.h:
-        * workers/service/ServiceWorkerJobClient.h:
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::startScriptFetch):
-        * workers/service/server/SWServer.h:
-        * workers/service/server/SWServerJobQueue.cpp:
-        (WebCore::SWServerJobQueue::runUpdateJob):
-        * workers/service/server/SWServerRegistration.h:
-        (WebCore::SWServerRegistration::lastUpdateTime const):
-
-2017-12-14  Simon Fraser  <simon.fraser@apple.com>
-
-        Remove ColorSpaceDeviceRGB and most users of the obsolete deviceRGB colorspace
-        https://bugs.webkit.org/show_bug.cgi?id=180689
-
-        Reviewed by Darin Adler.
-        
-        Address issues noted by Darin in r225797:
-        
-        Existing and new code mistakenly allocated colorspaces on every call, because
-        they didn't initialize the static variable on the first call. Avoid this mistake
-        by using dispatch_once() in these functions.
-
-        Fix a case where the extendedSRGBColorSpaceRef() fallback was returning deviceRGB
-        instead of sRGB.
-
-        * platform/graphics/cg/GraphicsContextCG.cpp:
-        (WebCore::sRGBColorSpaceRef):
-        (WebCore::linearRGBColorSpaceRef):
-        (WebCore::extendedSRGBColorSpaceRef):
-        (WebCore::displayP3ColorSpaceRef):
-        * platform/graphics/cocoa/GraphicsContextCocoa.mm:
-        (WebCore::linearRGBColorSpaceRef):
-
-2017-12-13  Keith Miller  <keith_miller@apple.com>
-
-        JSObjects should have a mask for loading indexed properties
-        https://bugs.webkit.org/show_bug.cgi?id=180768
-
-        Reviewed by Mark Lam.
-
-        * bindings/js/JSDOMConvertSequences.h:
-        (WebCore::Detail::NumericSequenceConverter::convertArray):
-        (WebCore::Detail::SequenceConverter::convertArray):
-
-2017-12-13  Antoine Quint  <graouts@apple.com>
-
-        [Web Animations] Implement the play() and pause() methods on Animation
-        https://bugs.webkit.org/show_bug.cgi?id=178932
-        <rdar://problem/35271069>
-
-        Reviewed by Eric Carlson.
-
-        We implement the play() and pause() methods of the Animation interface with full spec text defining
-        the normative behavior of those methods and code matching those steps. Playing and pausing animations
-        incur running a play or pause task when conditions are met, specifically here when the timeline is ready.
-        So we add the notion of pending tasks and provide a proper implementation of pending() which we had
-        introduced in an earlier patch with a constant false return value.
-
-        Note that the play() method exposes an auto-rewinding flag which we always set to true, but other specs,
-        namely CSS Animations, do not require the rewinding behavior, so we expose it for future use.
-
-        * animation/WebAnimation.cpp:
-        (WebCore::WebAnimation::play):
-        (WebCore::WebAnimation::setTimeToRunPendingPlayTask):
-        (WebCore::WebAnimation::runPendingPlayTask):
-        (WebCore::WebAnimation::pause):
-        (WebCore::WebAnimation::setTimeToRunPendingPauseTask):
-        (WebCore::WebAnimation::runPendingPauseTask):
-        (WebCore::WebAnimation::updatePendingTasks):
-        * animation/WebAnimation.h:
-        * animation/WebAnimation.idl:
-
-2017-12-14  Frederic Wang  <fwang@igalia.com>
-
-        Make GraphicsLayer::dumpProperties dump m_offsetFromRenderer
-        https://bugs.webkit.org/show_bug.cgi?id=180473
-
-        Reviewed by Antonio Gomes.
-
-        No new tests, this is just a new debug info.
-
-        * platform/graphics/GraphicsLayer.cpp:
-        (WebCore::GraphicsLayer::dumpProperties const): Dump the offset from renderer if nonzero.
-
-2017-12-12  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        REGRESSION(r225769): Build errors with constexpr std::tie on older gcc
-        https://bugs.webkit.org/show_bug.cgi?id=180692
-
-        Reviewed by Carlos Garcia Campos.
-
-        * platform/graphics/FontSelectionAlgorithm.h:
-        (WebCore::FontSelectionRange::operator== const):
-        (WebCore::FontSelectionRequest::tied const):
-        (WebCore::FontSelectionCapabilities::tied const):
-        (WebCore::FontSelectionSpecifiedCapabilities:: const):
-
-2017-12-13  Daniel Bates  <dabates@apple.com>
-
-        Fix the Windows build after <https://trac.webkit.org/changeset/225879>
-        (https://bugs.webkit.org/show_bug.cgi?id=180651)
-
-        * html/TextFieldInputType.cpp:
-        (WebCore::autoFillButtonTypeToAccessibilityLabel):
-        (WebCore::autoFillButtonTypeToAutoFillButtonText):
-        (WebCore::autoFillButtonTypeToAutoFillButtonPseudoClassName):
-
-2017-12-13  Devin Rousso  <webkit@devinrousso.com>
-
-        Web Inspector: add instrumentation for ImageBitmapRenderingContext
-        https://bugs.webkit.org/show_bug.cgi?id=180736
-
-        Reviewed by Joseph Pecoraro.
-
-        Tests: inspector/canvas/create-context-bitmaprenderer.html
-               inspector/canvas/requestContent-bitmaprenderer.html
-               inspector/canvas/resolveCanvasContext-bitmaprenderer.html
-
-        * CMakeLists.txt:
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-
-        * html/HTMLCanvasElement.cpp:
-        (WebCore::HTMLCanvasElement::getContext):
-        (WebCore::HTMLCanvasElement::createContextBitmapRenderer):
-        Support passing an optional settings dictionary when creating an ImageBitmapRenderingContext.
-
-        * inspector/agents/InspectorCanvasAgent.cpp:
-        (WebCore::InspectorCanvasAgent::requestContent):
-        (WebCore::contextAsScriptValue):
-
-        * bindings/js/CallTracerTypes.h:
-
-        * inspector/InspectorCanvas.h:
-        * inspector/InspectorCanvas.cpp:
-        (WebCore::InspectorCanvas::buildObjectForCanvas):
-        (WebCore::InspectorCanvas::indexForData):
-        (WebCore::InspectorCanvas::buildAction):
-        (WebCore::InspectorCanvas::buildArrayForImageBitmap): Deleted.
-
-2017-12-13  Daniel Bates  <dabates@apple.com>
-
-        Add more auto fill button types
-        https://bugs.webkit.org/show_bug.cgi?id=180651
-        <rdar://problem/35891125>
-        And
-        <rdar://problem/35977943>
-
-        Reviewed by Brent Fulgham.
-
-        Tests: fast/forms/auto-fill-button/input-autofilled-disabled-strong-password-auto-fill-button.html
-               fast/forms/auto-fill-button/input-autofilled-readonly-strong-password-auto-fill-button.html
-               fast/forms/auto-fill-button/input-disabled-strong-password-and-strong-confirmation-password-auto-fill-buttons.html
-               fast/forms/auto-fill-button/input-readonly-strong-password-and-strong-confirmation-password-auto-fill-buttons.html
-               fast/forms/auto-fill-button/input-strong-confirmation-password-auto-fill-button.html
-               fast/forms/auto-fill-button/input-strong-password-auto-fill-button.html
-
-        * English.lproj/Localizable.strings:
-        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
-        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]): Add strings for new auto fill button types.
-
-        * css/CSSSelector.cpp:
-        (WebCore::CSSSelector::selectorText const):
-        * css/CSSSelector.h:
-        * css/SelectorChecker.cpp:
-        (WebCore::SelectorChecker::checkOne const):
-        * css/SelectorCheckerTestFunctions.h:
-        (WebCore::isAutofilledStrongPassword):
-        * css/SelectorPseudoClassAndCompatibilityElementMap.in:
-        * css/html.css:
-        (input::-webkit-strong-password-auto-fill-button):
-        (input:-webkit-autofill-strong-password):
-        (input:-webkit-autofill, input:-webkit-autofill-strong-password):
-        (input:-webkit-autofill): Deleted.
-        * cssjit/SelectorCompiler.cpp:
-        (WebCore::SelectorCompiler::addPseudoClassType):
-        Add new CSS pseudo class and CSS styles.
-
-        * html/HTMLInputElement.cpp:
-        (WebCore::HTMLInputElement::reset): Hide the auto fill button when the form is reset. This is also called
-        whenever we suspend the page to put it into the page cache.
-        (WebCore::HTMLInputElement::setShowAutoFillButton): Modified to update the editability of the inner text element
-        and invalidate styles for the subtree as the editability may have changed depending on the auto fill button type.
-
-        (WebCore::autoFillStrongPasswordMaskImage):
-        (WebCore::HTMLInputElement::createInnerTextStyle):
-        (WebCore::HTMLInputElement::createInnerTextStyle const): Deleted.
-        Adjust the look of the inner text field. This function is not const because we may need to resolve style to
-        generate a mask image.
-
-        * html/HTMLInputElement.h:
-        (WebCore::HTMLInputElement::autoFillButtonType const): Fix style nit; use a C++ style cast while I am in
-        this area.
-        (WebCore::HTMLInputElement::hasAutoFillStrongPasswordButton const): Added.
-
-        * html/HTMLTextAreaElement.cpp:
-        (WebCore::HTMLTextAreaElement::createInnerTextStyle):
-        (WebCore::HTMLTextAreaElement::createInnerTextStyle const): Deleted.
-        Made this non-const because HTMLInputElement::createInnerTextStyle() needs to be non-const. See above.
-
-        * html/HTMLTextAreaElement.h:
-        * html/HTMLTextFormControlElement.cpp:
-        (WebCore::HTMLTextFormControlElement::isInnerTextElementEditable const):
-        (WebCore::HTMLTextFormControlElement::updateInnerTextElementEditability):
-        Extract out the query to determine if the inner text element is editable into a virtual function isInnerTextElementEditable()
-        and have updateInnerTextElementEditability() make use of it. By default a field is considered editable if it is not disabled
-        or read-only. We override updateInnerTextElementEditability() in HTMLInputElement to also consider the auto fill button type.
-
-        * html/HTMLTextFormControlElement.h:
-        * html/TextFieldInputType.cpp:
-        (WebCore::autoFillButtonTypeToAccessibilityLabel):
-        (WebCore::autoFillButtonTypeToAutoFillButtonText):
-        (WebCore::autoFillButtonTypeToAutoFillButtonPseudoClassName):
-        (WebCore::isAutoFillButtonTypeChanged):
-        (WebCore::TextFieldInputType::createAutoFillButton):
-        (WebCore::TextFieldInputType::updateAutoFillButton):
-        Support having text for the auto fill button.
-
-        * platform/LocalizedStrings.cpp:
-        (WebCore::AXAutoFillStrongPasswordLabel):
-        (WebCore::AXAutoFillStrongConfirmationPasswordLabel):
-        (WebCore::autoFillStrongPasswordLabel):
-        * platform/LocalizedStrings.h:
-        Add localized strings.
-
-        * rendering/RenderTextControlSingleLine.h: Disallow scrolling depending on the auto fill button type.
-
-        * testing/Internals.cpp:
-        (WebCore::toAutoFillButtonType):
-        * testing/Internals.h:
-        * testing/Internals.idl:
-        Add support for testing.
-
-2017-12-13  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Crash inside ImageLoader::updateFromElement()
-        https://bugs.webkit.org/show_bug.cgi?id=180769
-        <rdar://problem/35278782>
-
-        Reviewed by Antti Koivisto.
-
-        Fixed the crash by moving all call sites of ImageLoader::updateFromElement() to be post insertion callbacks
-        where it's safe to execute arbitrary scripts.
-
-        No new test since existing tests cover this with a newly added release assert in ImageLoader.
-
-        * html/HTMLImageElement.cpp:
-        (WebCore::HTMLImageElement::insertedIntoAncestor):
-        (WebCore::HTMLImageElement::didFinishInsertingNode): Extracted from insertedIntoAncestor to call
-        selectImageSource or updateFromElement.
-        * html/HTMLImageElement.h: Made many member functions final.
-        * html/HTMLInputElement.cpp:
-        (WebCore::HTMLInputElement::didAttachRenderers): Delay the call to ImageLoader::updateFromElement() in
-        ImageInputType using a post style resolution callback.
-        * html/HTMLMetaElement.h:
-        * html/HTMLPictureElement.cpp:
-        (WebCore::HTMLPictureElement::sourcesChanged): Store the list of child image elements into a vector before
-        calling selectImageSource since each call may execute arbitrary scripts.
-        * html/HTMLSourceElement.cpp:
-        (WebCore::HTMLSourceElement::insertedIntoAncestor): Delay the call to ImageLoader::updateFromElement()
-        using a post style resolution callback.
-        (WebCore::HTMLSourceElement::didFinishInsertingNode): Extracted from insertedIntoAncestor.
-        * html/HTMLSourceElement.h:
-        * html/HTMLVideoElement.cpp:
-        (WebCore::HTMLVideoElement::didAttachRenderers):
-        (WebCore::HTMLVideoElement::updateAfterStyleResolution): Extracted from didAttachRenderers.
-        * html/HTMLVideoElement.h:
-        * html/ImageInputType.cpp:
-        (WebCore::ImageInputType::needsPostStyleResolutionCallback): Added. Returns true so that HTMLInputElement's
-        didAttachRenderers would register a post style resolution callback.
-        (WebCore::ImageInputType::updateAfterStyleResolution): Extracted from attach.
-        (WebCore::ImageInputType::attach): Deleted.
-        * html/ImageInputType.h:
-        * html/InputType.cpp:
-        (WebCore::InputType::needsPostStyleResolutionCallback): Added. All but ImageInputType returns false.
-        (WebCore::InputType::updateAfterStyleResolution): Added.
-        (WebCore::InputType::attach): Deleted.
-        * html/InputType.h:
-        * loader/ImageLoader.cpp:
-        (WebCore::ImageLoader::updateFromElement): Added a release assertion. There is no direct security implication
-        so there is no need to use RELEASE_ASSERT_WITH_SECURITY_IMPLICATION here.
-        * svg/SVGImageElement.cpp:
-        (WebCore::SVGImageElement::insertedIntoAncestor):
-        (WebCore::SVGImageElement::didFinishInsertingNode):
-        * svg/SVGImageElement.h:
-
-2017-12-13  Zalan Bujtas  <zalan@apple.com>
-
-        RenderImage can be destroyed even before setting the style on it.
-        https://bugs.webkit.org/show_bug.cgi?id=180767
-        <rdar://problem/33965995>
-
-        Reviewed by Simon Fraser.
-
-        In certain cases, when the newly constructed renderer can't be inserted into the tree (parent can only have specific type of children etc),
-        RenderTreeUpdater destroys it right away. While destroying a RenderImage, the associated image resource assumes
-        that the image renderer has been initialized through RenderElement::initializeStyle(). This is an incorrect
-        assumption.
-        This patch also makes RenderImageResource's m_renderer a weak pointer.
-           
-        Test: fast/images/crash-when-image-renderer-is-destroyed-before-calling-initializeStyle.html
-
-        * rendering/RenderImageResource.cpp:
-        (WebCore::RenderImageResource::initialize):
-        (WebCore::RenderImageResource::setCachedImage):
-        (WebCore::RenderImageResource::resetAnimation):
-        (WebCore::RenderImageResource::image const):
-        (WebCore::RenderImageResource::setContainerContext):
-        (WebCore::RenderImageResource::imageSize const):
-        * rendering/RenderImageResource.h:
-        (WebCore::RenderImageResource::renderer const):
-        * rendering/RenderImageResourceStyleImage.cpp:
-        (WebCore::RenderImageResourceStyleImage::shutdown):
-
-2017-12-13  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Update the SVG use element's shadow trees explicitly before the style recall
-        https://bugs.webkit.org/show_bug.cgi?id=180729
-        <rdar://problem/36009806>
-
-        Reviewed by Antti Koivisto.
-
-        Update the SVG use element's shadow trees before start resolving styles. Document now has a hash set of all
-        connected SVG use elements with invalidated shadow trees. SVGUseElement adds itself to this set when its
-        shadow tree gets invalidated, or it gets newly connected to a document with the invalidated shadow tree.
-        SVGUseElement removes itself from this set when it updates its shadow tree or it gets disconnected from
-        a document with the invalidated shadow tree.
-
-        No new tests. Covered by existing tests.
-
-        * dom/Document.cpp:
-        (WebCore::Document::~Document): Assert that m_svgUseElements has been cleared.
-        (WebCore::Document::resolveStyle): Update the shadow trees of SVG use elements with invalidated shadow trees.
-        (WebCore::Document::addSVGUseElement): Added.
-        (WebCore::Document::removeSVGUseElement): Added.
-        * dom/Document.h:
-        (WebCore::Document::svgUseElements const): Added.
-        * dom/Element.cpp:
-        (WebCore::Element::cloneElementWithChildren): Removed EventAllowedScope since the SVG use element's shadow
-        tree is no longer updated when there is a NoEventDispatchAssertion in the stack.
-        (WebCore::Element::cloneElementWithoutChildren): Ditto.
-        * style/StyleTreeResolver.cpp:
-        (WebCore::Style::TreeResolver::resolveComposedTree): No longer drops the assertion now that SVG use element's
-        shadow tree is updated before calling this function.
-        * svg/SVGUseElement.cpp:
-        (WebCore::SVGUseElement::insertedIntoAncestor): Add the element to the document's hash set if this use element's
-        shadow tree needs to be updated (m_shadowTreeNeedsUpdate is set), and it got newly connected.
-        (WebCore::SVGUseElement::removedFromAncestor): Ditto for removal. We have to check m_shadowTreeNeedsUpdate before
-        calling SVGGraphicsElement::removedFromAncestor or updateExternalDocument since either function can invoke
-        m_shadowTreeNeedsUpdate to true.
-        (WebCore::SVGUseElement::willRecalcStyle): Deleted. We no longer call updateShadowTree during style recalc.
-        (WebCore::SVGUseElement::updateShadowTree): Remove this element from the document's hah set. We can't clear all
-        the entries in the map at once in Document::resolveStyle because updating the shadow trees of a SVG use element
-        can result in a sync IPC in ImageLoader::updateFromElement, which end up executing arbitrary author scripts.
-        (WebCore::SVGUseElement::cloneTarget const): Removed EventAllowedScope since the SVG use element's shadow tree
-        is no longer updated when there is a NoEventDispatchAssertion in the stack.
-        (WebCore::SVGUseElement::expandUseElementsInShadowTree const): Ditto.
-        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree const): Ditto.
-        (WebCore::SVGUseElement::invalidateShadowTree): Add the element to the document's hash set if it's connected.
-        * svg/SVGUseElement.h:
-
-2017-12-13  Per Arne Vollan  <pvollan@apple.com>
-
-        REGRESSION(225597): Can't select a text box or web view on a page when VO is on.
-        https://bugs.webkit.org/show_bug.cgi?id=180756
-        <rdar://problem/35996158>
-
-        Reviewed by Brent Fulgham.
-
-        No new tests.
-
-        * platform/mac/EventLoopMac.mm:
-        (WebCore::EventLoop::cycle):
-
-2017-12-13  Antoine Quint  <graouts@apple.com>
-
-        [Web Animations] Implement the "updating the finished state" procedure
-        https://bugs.webkit.org/show_bug.cgi?id=180743
-        <rdar://problem/36017232>
-
-        Reviewed by Simon Fraser.
-
-        The Web Animations spec defines a procedure for "updating the finished state", which should run as the timeline time
-        changes and is responsible for ultimately triggering finish events and fulfil the "finished" promise. The procedure
-        allows for two flags to control its behavior: didSeek and synchronouslyNotify. When synchronouslyNotify is true, the
-        "finish notification steps" procedure is ran right away, otherwise it's queued as a microtask.
-
-        In this patch we introduce the notion of "hold time", which is the time held while an animation is paused. It will be
-        set by the pause() and play() method in future patches.
-
-        * animation/DocumentTimeline.cpp:
-        (WebCore::DocumentTimeline::updateAnimations): Update the finished state as the timeline time changes with both flags
-        set to false.
-        * animation/WebAnimation.cpp:
-        (WebCore::WebAnimation::currentTime const): Add a private currentTime(bool) variant which allows for the hold time to
-        be ignored in case updateFinishedState() was called with the didSeek flag set to false.
-        (WebCore::WebAnimation::updateFinishedState): Implement the procedure as specified with all spec-mandated steps inline.
-        (WebCore::WebAnimation::scheduleMicrotaskIfNeeded): Schedule a microtask to complete the "finish notification steps"
-        if we haven't scheduled a microtask before.
-        (WebCore::WebAnimation::performMicrotask): Perform the microtask if the "finish notification steps" procedure hasn't
-        been canceled after it was originally scheduled, as tracked by the m_finishNotificationStepsMicrotaskPending flag, since
-        microtasks are not presently cancelable.
-        (WebCore::WebAnimation::finishNotificationSteps): Implement the procedure as specified with all spec-mandated steps inline,
-        dispatching a "finish" events and fulfilling the "finished" promise.
-        * animation/WebAnimation.h:
-        * animation/WebAnimation.idl:
-        * dom/EventNames.h:
-
-2017-12-13  Simon Fraser  <simon.fraser@apple.com>
-
-        Fix crash under Document::visualUpdatesSuppressionTimerFired()
-        https://bugs.webkit.org/show_bug.cgi?id=180758
-        Document::visualUpdatesSuppressionTimerFired
-
-        Reviewed by Zalan Bujtas.
-
-        Speculative fix for crash under visualUpdatesSuppressionTimerFired() where view()
-        can be null. Add null checks for the view() in all code called from this function.
-
-        * dom/Document.cpp:
-        (WebCore::Document::setVisualUpdatesAllowed):
-        (WebCore::Document::visualUpdatesSuppressionTimerFired):
-
-2017-12-13  Zalan Bujtas  <zalan@apple.com>
-
-        ASSERT(LayoutDisallowedScope::isLayoutAllowed()) whenever hitting Enter in Web Inspector console
-        https://bugs.webkit.org/show_bug.cgi?id=180690
-
-        Reviewed by Simon Fraser.
-
-        Defer text replacement notification until after layout is done to avoid unexpected forced layouts.
-
-        Covered by existing tests.
-
-        * accessibility/AXObjectCache.cpp:
-        (WebCore::AXObjectCache::disableAccessibility):
-        (WebCore::AXObjectCache::remove):
-        (WebCore::filterMapForRemoval):
-        (WebCore::filterListForRemoval):
-        (WebCore::AXObjectCache::prepareForDocumentDestruction):
-        (WebCore::AXObjectCache::performDeferredCacheUpdate):
-        (WebCore::AXObjectCache::deferTextReplacementNotificationForTextControl):
-        (WebCore::filterForRemoval): Deleted.
-        * accessibility/AXObjectCache.h: Need to use the base (Element) class since
-        we can't call is<HTMLTextFormControlElement> in Node d'tor.
-        (WebCore::AXObjectCache::deferTextReplacementNotificationForTextControl):
-        * html/HTMLTextFormControlElement.cpp:
-        (WebCore::HTMLTextFormControlElement::setInnerTextValue):
-
-2017-12-13  Ryan Haddad  <ryanhaddad@apple.com>
-
-        Unreviewed, rolling out r225836.
-
-        Broke the Windows build.
-
-        Reverted changeset:
-
-        "Unify some WebGL sources"
-        https://bugs.webkit.org/show_bug.cgi?id=180726
-        https://trac.webkit.org/changeset/225836
-
-2017-12-13  Andy Estes  <aestes@apple.com>
-
-        [Payment Request] Remove ApplePayPaymentMethodUpdateEvent and use PaymentDetailsModifiers instead
-        https://bugs.webkit.org/show_bug.cgi?id=180737
-        <rdar://problem/36013152>
-
-        Reviewed by Brady Eidson.
-
-        Instead of firing a non-standard "applepaypaymentmethodupdate" event when the payment method
-        changes, use the PaymentDetailsModifier mechanism to allow the merchant to specify override
-        totals and additional display items per payment method type.
-
-        Test: http/tests/ssl/applepay/ApplePayPaymentDetailsModifier.https.html
-
-        * DerivedSources.make:
-        * Modules/applepay/ApplePayLineItem.idl:
-        * Modules/applepay/ApplePayPaymentMethod.h:
-        * Modules/applepay/ApplePayPaymentMethod.idl:
-        * Modules/applepay/ApplePayPaymentMethodType.h: Added.
-        * Modules/applepay/ApplePayPaymentMethodType.idl: Added.
-        * Modules/applepay/cocoa/PaymentMethodCocoa.mm:
-        * Modules/applepay/paymentrequest/ApplePayModifier.h: Added.
-        * Modules/applepay/paymentrequest/ApplePayModifier.idl: Added.
-        * Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
-        (WebCore::ApplePayPaymentHandler::show):
-        (WebCore::ApplePayPaymentHandler::computeTotalAndLineItems):
-        (WebCore::ApplePayPaymentHandler::detailsUpdated):
-        (WebCore::ApplePayPaymentHandler::shippingAddressUpdated):
-        (WebCore::ApplePayPaymentHandler::shippingOptionUpdated):
-        (WebCore::ApplePayPaymentHandler::paymentMethodUpdated):
-        (WebCore::ApplePayPaymentHandler::didSelectPaymentMethod):
-        * Modules/applepay/paymentrequest/ApplePayPaymentHandler.h:
-        * Modules/applepay/paymentrequest/ApplePayPaymentMethodUpdateEvent.cpp: Removed.
-        * Modules/applepay/paymentrequest/ApplePayPaymentMethodUpdateEvent.h: Removed.
-        * Modules/paymentrequest/PaymentRequest.h:
-        * Modules/paymentrequest/PaymentRequest.idl:
-        * WebCore.xcodeproj/project.pbxproj:
-        * dom/EventNames.h:
-        * dom/EventNames.in:
-        * testing/MockPaymentCoordinator.cpp:
-        (WebCore::convert):
-        (WebCore::MockPaymentCoordinator::updateTotalAndLineItems):
-        (WebCore::MockPaymentCoordinator::completeShippingMethodSelection):
-        (WebCore::MockPaymentCoordinator::completeShippingContactSelection):
-        (WebCore::MockPaymentCoordinator::completePaymentMethodSelection):
-        * testing/MockPaymentCoordinator.h:
-        * testing/MockPaymentCoordinator.idl:
-
-2017-12-12  Zalan Bujtas  <zalan@apple.com>
-
-        is<HTMLTextFormControlElement> reports the input type.
-        https://bugs.webkit.org/show_bug.cgi?id=180721
-        <rdar://problem/36005123>
-
-        Reviewed by Ryosuke Niwa.
-
-        This patch ensures that is<HTMLTextFormControlElement> consistently returns true even
-        when the input type changes from text to non-text (checkbox etc).
-
-        * accessibility/AccessibilityObject.cpp:
-        (WebCore::AccessibilityObject::selectText):
-        * dom/Element.h:
-        (WebCore::Element::isTextFormControlElement const):
-        (WebCore::Element::isTextField const):
-        (WebCore::Element::isTextFormControl const): Deleted.
-        * editing/Editor.cpp:
-        (WebCore::Editor::selectionForCommand):
-        (WebCore::Editor::setBaseWritingDirection):
-        (WebCore::findFirstMarkable):
-        * editing/FrameSelection.cpp:
-        (WebCore::FrameSelection::selectAll):
-        * html/FormController.cpp:
-        (WebCore::FormController::formElementsCharacterCount const):
-        * html/HTMLElement.cpp:
-        (WebCore::HTMLElement::directionality const):
-        * html/HTMLInputElement.h:
-        * html/HTMLTextAreaElement.h:
-        * html/HTMLTextFormControlElement.cpp:
-        (WebCore::HTMLTextFormControlElement::didEditInnerTextValue):
-        (WebCore::HTMLTextFormControlElement::selectedText const):
-        (WebCore::HTMLTextFormControlElement::setSelectionRange):
-        (WebCore::HTMLTextFormControlElement::selectionStart const):
-        (WebCore::HTMLTextFormControlElement::computeSelectionStart const):
-        (WebCore::HTMLTextFormControlElement::selectionEnd const):
-        (WebCore::HTMLTextFormControlElement::computeSelectionEnd const):
-        (WebCore::HTMLTextFormControlElement::selectionDirection const):
-        (WebCore::HTMLTextFormControlElement::computeSelectionDirection const):
-        (WebCore::HTMLTextFormControlElement::selection const):
-        (WebCore::HTMLTextFormControlElement::selectionChanged):
-        (WebCore::HTMLTextFormControlElement::lastChangeWasUserEdit const):
-        (WebCore::HTMLTextFormControlElement::setInnerTextValue):
-        (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks const):
-        (WebCore::enclosingTextFormControl):
-        * html/HTMLTextFormControlElement.h:
-        (isType):
-        * rendering/HitTestResult.cpp:
-        (WebCore::HitTestResult::isOverTextInsideFormControlElement const):
-
-2017-12-12  Dean Jackson  <dino@apple.com>
-
-        Unify some WebGL sources
-        https://bugs.webkit.org/show_bug.cgi?id=180726
-
-        Rubber-stamped by Keith, weeks ago.
-
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-        * html/canvas/WebGLRenderingContextBase.cpp:
-
-2017-12-12  Michael Catanzaro  <mcatanzaro@igalia.com>
-
-        Unreviewed, fix !ENABLE(MEDIA_STREAM) build after r225822
-        https://bugs.webkit.org/show_bug.cgi?id=180666
-        <rdar://problem/36008948>
-
-        * html/HTMLMediaElement.cpp:
-
-2017-12-12  Alex Christensen  <achristensen@webkit.org>
-
-        Fix possible out-of-bounds read in protocolIsInHTTPFamily
-        https://bugs.webkit.org/show_bug.cgi?id=180688
-
-        Reviewed by Daniel Bates.
-
-        It wouldn't read very far out of bounds, and it would just change a bool return value,
-        but it's still out of bounds.  Covered by an API test that ASAN wouldn't like.
-
-        * platform/URL.cpp:
-        (WebCore::protocolIsInHTTPFamily):
-        Check bounds before reading a string.
-
-2017-12-12  Youenn Fablet  <youenn@apple.com>
-
-        getUserMedia is resolving before the document knows it is capturing
-        https://bugs.webkit.org/show_bug.cgi?id=180699
-
-        Reviewed by Eric Carlson.
-
-        Covered by updated test.
-
-        Ensure the document state is capturing when getUserMedia promise is resolved by doing the following:
-        - Promise is resolved when MediaStream is producing data.
-        - MediaStream asks Document to update its state when MediaStream state is updated.
-
-        Introduce PendingActivationMediaStream for waiting for the MediaStream to produce data.
-
-        * Modules/mediastream/MediaStream.cpp:
-        (WebCore::MediaStream::statusDidChange):
-        * Modules/mediastream/UserMediaRequest.cpp:
-        (WebCore::UserMediaRequest::allow):
-        (WebCore::UserMediaRequest::contextDestroyed):
-        (WebCore::UserMediaRequest::PendingActivationMediaStream::PendingActivationMediaStream):
-        (WebCore::UserMediaRequest::PendingActivationMediaStream::~PendingActivationMediaStream):
-        (WebCore::UserMediaRequest::PendingActivationMediaStream::characteristicsChanged):
-        (WebCore::UserMediaRequest::mediaStreamIsReady):
-        * Modules/mediastream/UserMediaRequest.h:
-        (WebCore::UserMediaRequest::PendingActivationMediaStream::create):
-        * platform/mediastream/RealtimeMediaSourceCenter.h:
-        * WebCore/WebCore.xcodeproj/project.pbxproj:
-
-2017-12-12  John Wilander  <wilander@apple.com>
-
-        Storage Access API: Implement frame-specific access in the network storage session layer
-        https://bugs.webkit.org/show_bug.cgi?id=180679
-        <rdar://problem/35982116>
-
-        Reviewed by Alex Christensen.
-
-        Tests: http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-and-try-access-from-right-frame.html
-               http/tests/storageAccess/request-and-grant-storage-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-non-recent-user-interaction-but-try-access-from-wrong-frame.html
-
-        This changes adds frameID and pageID to what is communicated for
-        storage access and also stored in the network process' table of
-        partitioning exceptions.
-
-        * dom/Document.cpp:
-        (WebCore::Document::hasStorageAccess):
-            Now makes use of the new m_hasFrameSpecificStorageAccess to check
-            if access has already been granted to this document's domain and
-            frame.
-        (WebCore::Document::requestStorageAccess):
-            Now submits frameID and pageID in the request call and sets
-            m_hasFrameSpecificStorageAccess upon granted access callback.
-        * dom/Document.h:
-        * page/ChromeClient.h:
-        * platform/network/NetworkStorageSession.h:
-        * platform/network/cf/NetworkStorageSessionCFNet.cpp:
-        (WebCore::NetworkStorageSession::cookieStoragePartition const):
-        (WebCore::NetworkStorageSession::setPrevalentDomainsToPartitionOrBlockCookies):
-        (WebCore::NetworkStorageSession::isStorageAccessGranted const):
-        (WebCore::NetworkStorageSession::setStorageAccessGranted):
-            Now makes use of frameID and pageID for partitioning exceptions.
-        * platform/network/mac/CookieJarMac.mm:
-        (WebCore::cookiesInPartitionForURL):
-        (WebCore::setCookiesFromDOM):
-            Submits std::nullopt for frameID and pageID.
-            Follow-up work tracked in https://bugs.webkit.org/show_bug.cgi?id=180682. 
-        * platform/network/mac/ResourceHandleMac.mm:
-        (WebCore::ResourceHandle::applySniffingPoliciesAndStoragePartitionIfNeeded):
-            Submits std::nullopt for frameID and pageID.
-            Follow-up work tracked in https://bugs.webkit.org/show_bug.cgi?id=180682. 
-
-2017-12-12  Youenn Fablet  <youenn@apple.com>
-
-        Playing webrtc video tracks should prevent from display to got to sleep
-        https://bugs.webkit.org/show_bug.cgi?id=180666
-
-        Reviewed by Darin Adler.
-
-        Done through manual testing by checking screen assertions taken on webrtc sites.
-
-        * html/HTMLMediaElement.cpp:
-        (WebCore::HTMLMediaElement::shouldDisableSleep const):
-
-2017-12-12  Dean Jackson  <dino@apple.com>
-
-        Add CanvasRenderingContext2DBase class and OffscreenCanvasRenderingContext2D
-        https://bugs.webkit.org/show_bug.cgi?id=180718
-        <rdar://problem/36004015>
-
-        Reviewed by Sam Weinig.
-
-        Add an OffscreenCanvasRenderingContext2D class, and in the process create a shared
-        base class for it and CanvasRenderingContext2D, called CanvasRenderingContext2DBase.
-        The base class has nearly all the functionality, with the exception of the text
-        and focus rendering APIs, which are only exposed on CanvasRenderingContext2D.
-
-        At the moment CanvasRenderingContext2DBase's implementation still expects the attached
-        canvas to be an HTMLCanvasElement, but that's ok since you can't yet create an
-        OffscreenCanvasRenderingContext2D. A subsequent patch will do the right thing.
-
-        No change in functionality at the moment, so covered by the existing tests.
-
-        * DerivedSources.make: Add the new IDL file.
-
-        * Sources.txt: Add all the new files to compile.
-        * WebCore.xcodeproj/project.pbxproj:
-
-        * bindings/js/JSCanvasRenderingContext2DCustom.cpp: Removed some unnecessary headers, and
-        added JSC:: where appropriate.
-        (WebCore::JSCanvasRenderingContext2DOwner::isReachableFromOpaqueRoots):
-        (WebCore::JSCanvasRenderingContext2D::visitAdditionalChildren):
-
-        * bindings/js/JSOffscreenCanvasRenderingContext2DCustom.cpp: Copied from Source/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp.
-        (WebCore::root): New root function that just returns the address of the OffscreenCanvas.
-        (WebCore::JSOffscreenCanvasRenderingContext2DOwner::isReachableFromOpaqueRoots):
-        (WebCore::JSOffscreenCanvasRenderingContext2D::visitAdditionalChildren):
-
-        * bindings/js/JSWorkerNavigatorCustom.cpp: Add JSC:: to fix a compilation error.
-        (WebCore::JSWorkerNavigator::visitAdditionalChildren):
-
-        * bindings/js/WebCoreBuiltinNames.h: New IDL types.
-
-        * html/OffscreenCanvas.idl: Explicitly generates an IsReachable.
-
-        * html/canvas/CanvasRenderingContext.h:
-        (WebCore::CanvasRenderingContext::isOffscreen2d const): Helper for is<> trait.
-
-        * html/canvas/CanvasRenderingContext2D.cpp: Nearly everything has been moved to the Base class.
-        * html/canvas/CanvasRenderingContext2D.h:
-        * html/canvas/CanvasRenderingContext2DBase.cpp: Copied from Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp.
-        * html/canvas/CanvasRenderingContext2DBase.h: Copied from Source/WebCore/html/canvas/CanvasRenderingContext2D.h.
-
-        * html/canvas/OffscreenCanvasRenderingContext2D.cpp: Added. Basic implementation that
-        just uses the Base class.
-        (WebCore::OffscreenCanvasRenderingContext2D::OffscreenCanvasRenderingContext2D):
-        * html/canvas/OffscreenCanvasRenderingContext2D.h: Added.
-        * html/canvas/OffscreenCanvasRenderingContext2D.idl: Added.
-
-2017-12-12  Jer Noble  <jer.noble@apple.com>
-
-        [EME] Support FPS-over-HLS in the Modern EME API
-        https://bugs.webkit.org/show_bug.cgi?id=180707
-
-        Reviewed by Eric Carlson.
-
-        Add support for the "skd" initDataType, where the initData is the URI provided in the 
-        EXT-X-KEY tag in a HLS manifest:
-
-        * platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
-        (WebCore::CDMPrivateFairPlayStreaming::sinfName):
-        (WebCore::CDMPrivateFairPlayStreaming::skdName):
-        (WebCore::extractSinfData):
-        (WebCore::CDMPrivateFairPlayStreaming::sanitizeSkd):
-        (WebCore::CDMPrivateFairPlayStreaming::extractKeyIDsSkd):
-        (WebCore::validInitDataTypes):
-        (WebCore::CDMFactory::platformRegisterFactories):
-        (WebCore::CDMPrivateFairPlayStreaming::supportsInitDataType const):
-        (WebCore::CDMPrivateFairPlayStreaming::supportsConfiguration const):
-        (WebCore::CDMPrivateFairPlayStreaming::supportsInitData const):
-        (WebCore::sinfName): Deleted.
-
-        Add support for creating a AVContentKeyRequest from a skd key URI rather than from
-        initialization data, and for extracting keyIDs from the AVContentKeyRequest identifier.
-
-        * platform/graphics/avfoundation/CDMFairPlayStreaming.h:
-        * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
-        * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
-        (WebCore::CDMInstanceFairPlayStreamingAVFObjC::keyIDs):
-        (WebCore::CDMInstanceFairPlayStreamingAVFObjC::requestLicense):
-        (WebCore::CDMInstanceFairPlayStreamingAVFObjC::updateLicense):
-        (WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRequest):
-
-        Add support for AVContentKeySession to MediaPlayerPrivateAVFoundationObjC, and for emitting
-        initializationData messages when encountering a loading request for a "skd" URI.
-
-        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
-        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
-        (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
-        (WebCore::MediaPlayerPrivateAVFoundationObjC::cdmInstanceAttached):
-        (WebCore::MediaPlayerPrivateAVFoundationObjC::cdmInstanceDetached):
-        (WebCore::MediaPlayerPrivateAVFoundationObjC::attemptToDecryptWithInstance):
-
-2017-12-12  Antoine Quint  <graouts@apple.com>
-
-        [Web Animations] Expose promises on Animation interface
-        https://bugs.webkit.org/show_bug.cgi?id=180710
-        <rdar://problem/36000604>
-
-        Reviewed by Dean Jackson.
-
-        Expose the "ready" and "finished" promises on Animation. A future patch will fulfil or reject them.
-
-        * animation/WebAnimation.cpp:
-        (WebCore::WebAnimation::WebAnimation):
-        (WebCore::WebAnimation::readyPromiseResolve):
-        (WebCore::WebAnimation::finishedPromiseResolve):
-        * animation/WebAnimation.h:
-        * animation/WebAnimation.idl:
-
-2017-12-12  Youenn Fablet  <youenn@apple.com>
-
-        Fetch Event header filtering should apply in CORS mode only
-        https://bugs.webkit.org/show_bug.cgi?id=180708
-
-        Reviewed by Alex Christensen.
-
-        Covered by no-longer failing test.
-
-        * workers/service/context/ServiceWorkerFetch.cpp: cleaning headers only in case of CORS mode.
-
-2017-12-12  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        REGRESSION (Safari 11): custom <font-face> tag crashes a page
-        https://bugs.webkit.org/show_bug.cgi?id=177848
-
-        Reviewed by Darin Adler.
-
-        We currently use the CSS property parsers to parse SVG's <font-face> element attributes. Instead,
-        we should be using the CSS descriptor parsers to parse these attributes. However, this is a
-        fairly involved task, so until I can finish that, this patch fixes the crash. The crash is simple;
-        the descriptors shouldn't accept the universal keywords ("initial", "inherit", etc.) and our
-        font-face machinery assumes this. So the fix is just detect these keywords and explicitly disallow
-        them.
-
-        Test: svg/text/font-style-keyword.html
-
-        * svg/SVGFontFaceElement.cpp:
-        (WebCore::SVGFontFaceElement::parseAttribute):
-
-2017-12-12  Antoine Quint  <graouts@apple.com>
-
-        [Web Animations] Implement the playState property on Animation
-        https://bugs.webkit.org/show_bug.cgi?id=180711
-        <rdar://problem/36000982>
-
-        Reviewed by Dean Jackson.
-
-        Expose the playState and pending properties. The playState property has a complete implementation but
-        has some test failures due to Animation lacking correct behavior while running animations which will
-        be fixed in a followup patch. The pending property is a placeholder until we implement pending play
-        and pause tasks in followup patches.
-
-        * animation/WebAnimation.cpp:
-        (WebCore::WebAnimation::playState const):
-        (WebCore::WebAnimation::effectEndTime const):
-        * animation/WebAnimation.h:
-        * animation/WebAnimation.idl:
-
-2017-12-12  Javier Fernandez  <jfernandez@igalia.com>
-
-        [css-grid] Implement alignment for absolute positioned grid items
-        https://bugs.webkit.org/show_bug.cgi?id=180632
-
-        Reviewed by Manuel Rego Casasnovas.
-
-        We are changing how we compute the grid area's size of positioned
-        items, trying to make the logic as independent as possible of the
-        grid container's direction.
-
-        The new way of placing absolute positioned elements in their grid area
-        is based on the previously computed area's size. This provide a
-        mechanism to place an item in its area respecting the offsets derived
-        from the Content Alignment CSS properties and, which is more important,
-        ignoring the grid container's direction.
-
-        Additionally, we use the already implemented alignment logic that's
-        used for regular grid items. This patch provides almost full alignment
-        capabilities for positioned objects, with the exception of 'stretch'.
-
-        It's worth mentioning that some of the test cases using vertical-rl
-        writing mode will fail because of the bug 180633.
-
-        Updated web-platform-tests results of the test cases that pass now.
-
-        * rendering/GridLayoutFunctions.cpp:
-       (WebCore::GridLayoutFunctions::hasOverrideContainingBlockContentSizeForChild):
-        (WebCore::GridLayoutFunctions::overrideContainingBlockContentSizeForChild):
-        * rendering/GridLayoutFunctions.h:
-        * rendering/GridTrackSizingAlgorithm.cpp:
-        (WebCore::GridTrackSizingAlgorithmStrategy::updateOverrideContainingBlockContentSizeForChild const):
-        * rendering/RenderGrid.cpp:
-        (WebCore::RenderGrid::layoutBlock):
-        (WebCore::RenderGrid::gridItemOffset const):
-        (WebCore::RenderGrid::hasStaticPositionForChild const):
-        (WebCore::RenderGrid::layoutPositionedObject):
-        (WebCore::RenderGrid::applyStretchAlignmentToChildIfNeeded):
-        (WebCore::RenderGrid::columnAxisPositionForChild const):
-        (WebCore::RenderGrid::rowAxisPositionForChild const):
-        (WebCore::RenderGrid::columnAxisOffsetForChild const):
-        (WebCore::RenderGrid::rowAxisOffsetForChild const):
-        (WebCore::RenderGrid::gridPositionIsAutoForOutOfFlow const):
-        (WebCore::RenderGrid::resolveAutoStartGridPosition const):
-        (WebCore::RenderGrid::resolveAutoEndGridPosition const):
-        (WebCore::RenderGrid::gridAreaBreadthForOutOfFlowChild):
-        (WebCore::RenderGrid::logicalOffsetForChild const):
-        (WebCore::RenderGrid::gridAreaPositionForOutOfFlowChild const):
-        (WebCore::RenderGrid::gridAreaPositionForInFlowChild const):
-        (WebCore::RenderGrid::gridAreaPositionForChild const):
-        (WebCore::RenderGrid::translateOutOfFlowRTLCoordinate const):
-        (WebCore::RenderGrid::findChildLogicalPosition const):
-        * rendering/RenderGrid.h:
-        * rendering/style/GridPositionsResolver.cpp:
-        (WebCore::adjustGridPositionsFromStyle):
-        (WebCore::GridPositionsResolver::initialPositionSide):
-        (WebCore::GridPositionsResolver::finalPositionSide):
-        * rendering/style/GridPositionsResolver.h:
-
-2017-12-12  Jer Noble  <jer.noble@apple.com>
-
-        [EME] Support reporting and restoring persistent usage data.
-        https://bugs.webkit.org/show_bug.cgi?id=180684
-
-        Reviewed by Eric Carlson.
-
-        Add support for reading and acknowledging persistent usage data from the MediaKeys storage
-        directory.
-
-        Add a mechanism for passing the storage location down to CDMPrivate and CDMInstance objects
-        inside of the CDM class itself:
-
-        * Modules/encryptedmedia/CDM.cpp:
-        (WebCore::CDM::createInstance):
-        (WebCore::CDM::storageDirectory const):
-        * Modules/encryptedmedia/CDM.h:
-
-        Support loading expired session data, acknowledging expired session data, closing sessions
-        and removing usable key data.
-
-        * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
-        * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
-        (WebCore::isEqual):
-        (WebCore::CDMInstanceFairPlayStreamingAVFObjC::updateLicense):
-        (WebCore::CDMInstanceFairPlayStreamingAVFObjC::loadSession):
-        (WebCore::CDMInstanceFairPlayStreamingAVFObjC::closeSession):
-        (WebCore::CDMInstanceFairPlayStreamingAVFObjC::removeSessionData):
-
-2017-12-12  Christopher Reid  <chris.reid@sony.com>
-
-        WebGL TextureMapperShaderProgram shaders don't compile in MSVC
-        https://bugs.webkit.org/show_bug.cgi?id=180709
-
-        Reviewed by Myles C. Maxfield.
-
-        No new tests, no change in behavior.
-
-        Vertex and Fragment shaders were not compiling because TextureMapperShaderProgram.cpp was
-        stringifying "#if USE(OPENGL_ES_2) ... #endif" into the shaders rather than evaluating these
-        preprocessor directives before the STRINGIFY expansion.
-
-        Moved these #if conditions outside of STRINGIFY to remove compiler ambiguity.
-
-        * platform/graphics/texmap/TextureMapperShaderProgram.cpp:
-
-2017-12-12  Zach Li  <zachli@apple.com>
-        [WK2] Expose image via WKBundleHitTestResult API.
-        https://bugs.webkit.org/show_bug.cgi?id=180552.
-        rdar://problem/23951521
-
-        Reviewed by Simon Fraser.
-
-        * platform/graphics/ImageSource.h:
-        This method will be used by clients outside WebCore, so
-        add WEBCORE_EXPORT.
-
-2017-12-12  Simon Fraser  <simon.fraser@apple.com>
-
-        Remove ColorSpaceDeviceRGB and most users of the obsolete deviceRGB colorspace
-        https://bugs.webkit.org/show_bug.cgi?id=180689
-
-        Reviewed by Tim Horton.
-
-        Remove the ColorSpaceDeviceRGB enum and users.
-
-        ImageBuffer now uses sRGB instead of deviceRGB in the few cases that used the latter.
-
-        Switch Windows CG code to use sRGBColorSpaceRef() instead of deviceRGBColorSpaceRef().
-
-        Have linearRGBColorSpaceRef() use kCGColorSpaceLinearSRGB, which is present in iOS 9 and 10.11 and later.
-
-        * page/win/FrameCGWin.cpp:
-        (WebCore::imageFromRect):
-        * platform/graphics/Color.cpp:
-        (WebCore::operator<<):
-        * platform/graphics/ColorSpace.h:
-        * platform/graphics/ImageBuffer.cpp:
-        (WebCore::ImageBuffer::transformColorSpace):
-        * platform/graphics/cg/ColorCG.cpp:
-        (WebCore::Color::Color):
-        (WebCore::leakCGColor):
-        (WebCore::createCGColorWithDeviceRGBA): Deleted.
-        * platform/graphics/cg/GraphicsContextCG.cpp:
-        (WebCore::sRGBColorSpaceRef):
-        (WebCore::linearRGBColorSpaceRef):
-        (WebCore::extendedSRGBColorSpaceRef):
-        (WebCore::displayP3ColorSpaceRef):
-        (WebCore::deviceRGBColorSpaceRef): Deleted.
-        * platform/graphics/cg/GraphicsContextCG.h:
-        (WebCore::cachedCGColorSpace):
-        * platform/graphics/cocoa/GraphicsContextCocoa.mm:
-        * platform/graphics/win/GraphicsContextCGWin.cpp:
-        (WebCore::CGContextWithHDC):
-        (WebCore::GraphicsContext::releaseWindowsContext):
-        (WebCore::GraphicsContext::drawWindowsBitmap):
-        * platform/graphics/win/ImageCGWin.cpp:
-        (WebCore::BitmapImage::create):
-        (WebCore::BitmapImage::getHBITMAPOfSize):
-        * platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
-        (WebCore::MockRealtimeVideoSourceMac::pixelBufferFromCGImage const):
-        * platform/win/DragImageCGWin.cpp:
-        (WebCore::allocImage):
-        (WebCore::createCgContextFromBitmap):
-        * rendering/svg/RenderSVGResourceFilter.cpp:
-        (WebCore::RenderSVGResourceFilter::postApplyResource):
-        * rendering/svg/RenderSVGResourceMasker.cpp:
-        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
-
-2017-12-12  Youenn Fablet  <youenn@apple.com>
-
-        Navigation requests should use navigate fetch mode
-        https://bugs.webkit.org/show_bug.cgi?id=179808
-
-        Reviewed by Chris Dumez.
-
-        Covered by existing tests.
-
-        * Modules/fetch/FetchRequest.cpp:
-        (WebCore::buildOptions): Update to throw only if init.mode is Navigate.
-        * Modules/fetch/FetchRequestInit.h:
-        (WebCore::FetchRequestInit::hasMembers const): If init is present, set default values as per spec.
-        * loader/DocumentLoader.cpp:
-        (WebCore::DocumentLoader::loadMainResource): Set fetch mode to navigate.
-        * loader/DocumentThreadableLoader.cpp:
-        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Bypass preflight in case fetch mode is navigate.
-
-2017-12-12  Simon Fraser  <simon.fraser@apple.com>
-
-        HTML-page with <object type="image/svg+xml" data="foo.svg"> often is blank
-        https://bugs.webkit.org/show_bug.cgi?id=180524
-        <rdar://problem/35920554>
-
-        Reviewed by Antti Koivisto.
-
-        The test case has script that conditionalizes behavior on whether window.innerWidth/Height
-        are zero during the load event. We didn't force layout in innerWidth/Height, so whether
-        they would zero depended on whether the parent frame had laid out, which was timing-sensitive.
-
-        Fix by triggering enough layout in the parent document so that the FrameView is resized before
-        fetching its dimensions in innerWidth/Height. This causes our behavior to match Chrome and Firefox.
-
-        Test: fast/dom/iframe-innerWidth.html
-
-        * dom/EventDispatcher.cpp:
-        (WebCore::EventDispatcher::dispatchEvent): Add some logging that helped me diagnose this.
-        * page/DOMWindow.cpp:
-        (WebCore::DOMWindow::innerHeight const):
-        (WebCore::DOMWindow::innerWidth const):
-
-2017-12-11  Antoine Quint  <graouts@apple.com>
-
-        [Web Animations] Enqueue and dispatch animation events
-        https://bugs.webkit.org/show_bug.cgi?id=180657
-        <rdar://problem/35970103>
-
-        Reviewed by Chris Dumez.
-
-        Now that we have support for the AnimationPlaybackEvent interface, we need a way to enqueue
-        such events for dispatch at the opportune time. The Web Animations spec defines two ways
-        to queue and dispatch events.
-
-        If the animation has a "document for timing", it should enqueue events on this document.
-        In our implementation, if the animation timeline is set to a DocumentTimeline, that means
-        it has a document for timing, and we let the DocumentTimeline enqueue those events, which
-        will be dispatched through a dedicated GenericTaskQueue<Timer>. These events will be sorted
-        by their respective timeline time before being dispatched.
-
-        If there is no document for timing, events should be dispatched as a standalone task.
-
-        * animation/DocumentTimeline.cpp:
-        (WebCore::DocumentTimeline::~DocumentTimeline): Close the event dispatch task queue when the
-        document timeline is torn down.
-        (WebCore::DocumentTimeline::enqueueAnimationPlaybackEvent): Add the provided event to the
-        pending animation events queue and, if one hasn't been registered yet, enqueue a task to
-        dispatch events using a GenericTaskQueue<Timer>.
-        (WebCore::compareAnimationPlaybackEvents): Comparator used to sort events in performEventDispatchTask()
-        where events are sorted such that unresolved timeline times come first, and then from the
-        earlier resolved timeline times to the later resolved timeline times. Events with unresolved
-        timeline times and equal resolved timeline times are sorted in the order they were enqueued.
-        (WebCore::DocumentTimeline::performEventDispatchTask): Run a stable sort on a copy of the pending list
-        of events to dispatch and dispatch the events individually on their respective animations.
-        * animation/DocumentTimeline.h:
-        * animation/WebAnimation.cpp:
-        (WebCore::WebAnimation::create): Pass in the document to the constructor.
-        (WebCore::WebAnimation::WebAnimation): Use the provided document to initialize ActiveDOMObject.
-        (WebCore::WebAnimation::enqueueAnimationPlaybackEvent): Create an AnimationPlaybackEvent with
-        the provided type, timeline time and animation time and enqueue it on the document timeline,
-        if one is available, or dispatch on this animation as a standalone task.
-        (WebCore::WebAnimation::acceleratedRunningStateDidChange):
-        (WebCore::WebAnimation::activeDOMObjectName const):
-        (WebCore::WebAnimation::canSuspendForDocumentSuspension const):
-        (WebCore::WebAnimation::stop):
-        * animation/WebAnimation.h: Define WebAnimation to be an EventTarget and an ActiveDOMObject.
-        * animation/WebAnimation.idl: Define WebAnimation to be an EventTarget and an ActiveDOMObject.
-        * dom/EventTargetFactory.in:
-
-2017-12-12  Chris Dumez  <cdumez@apple.com>
-
-        Simplify IPC code between WebProcess and StorageProcess for serviceWorker.postMessage()
-        https://bugs.webkit.org/show_bug.cgi?id=180683
-
-        Reviewed by Brady Eidson.
-
-        Merge the 2 code paths from calling postMessage() from a ServiceWorkerClient and from
-        a ServiceWorker. Also, postMessage() now only IPCs an identifier from the WebContent
-        process to the StorageProcess. The ServiceWorkerClientData is looked up on Storage
-        process side from the identifier before being sent to the context process.
-
-        * workers/service/SWClientConnection.h:
-        * workers/service/ServiceWorker.cpp:
-        (WebCore::ServiceWorker::postMessage):
-        * workers/service/ServiceWorkerTypes.h:
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::clientByID const):
-        (WebCore::SWServer::matchAll):
-        (WebCore::SWServer::forEachClientForOrigin):
-        (WebCore::SWServer::claim):
-        (WebCore::SWServer::registerServiceWorkerClient):
-        (WebCore::SWServer::unregisterServiceWorkerClient):
-        * workers/service/server/SWServer.h:
-        * workers/service/server/SWServerWorker.cpp:
-        (WebCore::SWServerWorker::findClientByIdentifier):
-        * workers/service/server/SWServerWorker.h:
-
-2017-12-12  Youenn Fablet  <youenn@apple.com>
-
-        Allow AudioContext to start when getUserMedia is on
-        https://bugs.webkit.org/show_bug.cgi?id=180680
-
-        Reviewed by Eric Carlson.
-
-        Test: webrtc/getUserMedia-webaudio-autoplay.html
-
-        * Modules/webaudio/AudioContext.cpp:
-        (WebCore::AudioContext::willBeginPlayback):
-
-2017-12-12  Romain Bellessort  <romain.bellessort@crf.canon.fr>
-
-        [Readable Streams API] Throw RangeError if a size is provided when creating a readable byte stream
-        https://bugs.webkit.org/show_bug.cgi?id=180470
-
-        Reviewed by Youenn Fablet.
-
-        Throw a RangeError if a ReadableStream is created with type 'bytes' and with a
-        non-undefined strategy size, as per latest spec:
-        - https://github.com/whatwg/streams/pull/856
-        - https://streams.spec.whatwg.org/#rs-constructor (step 4.c)
-
-        One new test imported from WPT to check that RangeError is thrown.
-
-        * Modules/streams/ReadableStream.js:
-        (initializeReadableStream): Check strategy size and throw RangeError if needed.
-
-2017-12-12  Carlos Alberto Lopez Perez  <clopez@igalia.com>
-
-        [GTK][WebRTC] Stop warning with so much verbosity about not implemented RealtimeMediaSourceCenter
-        https://bugs.webkit.org/show_bug.cgi?id=180694
-
-        Reviewed by Youenn Fablet.
-
-        No new tests -- no change in functionality.
-
-        * platform/mediastream/RealtimeMediaSourceCenter.cpp:
-        (WebCore::RealtimeMediaSourceCenter::singleton):
-
-2017-12-12  Ms2ger  <Ms2ger@igalia.com>
-
-        Implement {DOMMimeTypeArray, DOMPluginArray}::supportedPropertyNames().
-        https://bugs.webkit.org/show_bug.cgi?id=180471
-
-        Reviewed by Darin Adler.
-
-        Test: imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/navigator-pluginarray.html
-
-        * plugins/DOMMimeTypeArray.cpp:
-        (WebCore::DOMMimeTypeArray::supportedPropertyNames):
-        * plugins/DOMPluginArray.cpp:
-        (WebCore::DOMPluginArray::supportedPropertyNames):
-
-2017-12-12  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        [WTF] Thread::create should have Thread::tryCreate
-        https://bugs.webkit.org/show_bug.cgi?id=180333
-
-        Reviewed by Darin Adler.
-
-        No behavior change.
-
-        * bindings/js/GCController.cpp:
-        (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
-        * platform/audio/ReverbConvolver.cpp:
-        (WebCore::ReverbConvolver::ReverbConvolver):
-        * platform/audio/ReverbConvolver.h:
-        * workers/WorkerThread.cpp:
-        (WebCore::WorkerThread::start):
-
-2017-12-11  Manuel Rego Casasnovas  <rego@igalia.com>
-
-        [css-grid] Automatic minimum size is not clamped if min track sizing function is auto
-        https://bugs.webkit.org/show_bug.cgi?id=180283
-
-        Reviewed by Darin Adler.
-
-        We were not clamping the automatic minimum size when
-        the min track sizing function was intrinsic (e.g. minmax(auto, 0px)).
-        However the spec (https://drafts.csswg.org/css-grid/#min-size-auto)
-        is very clear regarding that.
-
-        This patch modifies
-        GridTrackSizingAlgorithm::sizeTrackToFitNonSpanningItem(),
-        so in the case of a fixed max track sizing function it clamps
-        the automatic minimum size of the item to the stretch fit
-        of the grid area's size.
-        It needs to take into account if the item has fixed size, margin, border
-        and/or padding as those cannot be clamped.
-
-        Using WPT tests to verify this behavior,
-        and corrected a bunch of other tests that were wrong.
-
-        Test: imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-minimum-size-grid-items-017.html
-              imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-minimum-size-grid-items-022.html
-              imported/w3c/web-platform-tests/css/css-grid/grid-items/grid-minimum-size-grid-items-023.html
-
-        * rendering/GridTrackSizingAlgorithm.cpp:
-        (WebCore::GridTrackSizingAlgorithm::sizeTrackToFitNonSpanningItem):
-        * rendering/GridTrackSizingAlgorithm.h:
-        (WebCore::GridTrack::growthLimitIsInfinite const):
-        * rendering/style/GridTrackSize.h:
-        (WebCore::GridTrackSize::cacheMinMaxTrackBreadthTypes):
-        (WebCore::GridTrackSize::hasFixedMaxTrackBreadth const):
-
-2017-12-11  Zan Dobersek  <zdobersek@igalia.com>
-
-        [Cairo] Cairo::clipToImageBuffer() should operate on a cairo_surface_t
-        https://bugs.webkit.org/show_bug.cgi?id=180665
-
-        Reviewed by Michael Catanzaro.
-
-        Have the Cairo::clipToImageBuffer() function in the CairoUtilities code
-        operate on a cairo_surface_t object, instead of an Image object.
-
-        Call site in GraphicsContext::clipToImageBuffer() is adjusted to first
-        ensure a non-null Image object, and then retrieve a cairo_surface_t
-        object from that, passing it on to Cairo::clipToImageBuffer().
-
-        No new tests -- no change in functionality.
-
-        * platform/graphics/cairo/CairoOperations.cpp:
-        (WebCore::Cairo::clipToImageBuffer):
-        * platform/graphics/cairo/CairoOperations.h:
-        * platform/graphics/cairo/GraphicsContextCairo.cpp:
-        (WebCore::GraphicsContext::clipToImageBuffer):
-
-2017-12-11  Zan Dobersek  <zdobersek@igalia.com>
-
-        [Cairo] Don't use a static cairo_surface_t object for CairoPath contexts
-        https://bugs.webkit.org/show_bug.cgi?id=180663
-
-        Reviewed by Michael Catanzaro.
-
-        Instead of using a single cairo_surface_t object and sharing it between
-        different cairo_t objects handled by CairoPath, create a new mock 1x1px
-        alpha-only surface for each cairo_t object that's allocated in the
-        CairoPath constructor.
-
-        This avoids potential issues in how Cairo's state handling internally
-        uses these surfaces, which is completely opaque to us and out of our
-        control. This also avoids crashes when using this one cairo_surface_t
-        object through different CairoPath objects across different threads.
-
-        No new tests -- no change in behavior.
-
-        * platform/graphics/cairo/PlatformPathCairo.cpp:
-        (WebCore::CairoPath::CairoPath):
-        (WebCore::pathSurface): Deleted.
-        * platform/graphics/cairo/PlatformPathCairo.h:
-        (WebCore::CairoPath::context):
-
-2017-12-11  Zan Dobersek  <zdobersek@igalia.com>
-
-        [CoordGraphics] Move UpdateAtlas, AreaAllocator into the platform layer
-        https://bugs.webkit.org/show_bug.cgi?id=180641
-
-        Reviewed by Michael Catanzaro.
-
-        Move the UpdateAtlas and AreaAllocator classes and their source files
-        into the platform layer. This still means using the WebCore namespace,
-        but apart from that these two classes have no dependency on anything in
-        the WebKit layer, so they can be moved from there.
-
-        No new tests -- no change in functionality.
-
-        * platform/TextureMapper.cmake:
-        * platform/graphics/texmap/coordinated/AreaAllocator.cpp: Renamed from Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.cpp.
-        (WebCore::AreaAllocator::AreaAllocator):
-        (WebCore::AreaAllocator::~AreaAllocator):
-        (WebCore::AreaAllocator::expand):
-        (WebCore::AreaAllocator::expandBy):
-        (WebCore::AreaAllocator::release):
-        (WebCore::AreaAllocator::overhead const):
-        (WebCore::AreaAllocator::roundAllocation const):
-        (WebCore::GeneralAreaAllocator::GeneralAreaAllocator):
-        (WebCore::GeneralAreaAllocator::~GeneralAreaAllocator):
-        (WebCore::GeneralAreaAllocator::freeNode):
-        (WebCore::GeneralAreaAllocator::expand):
-        (WebCore::fitsWithin):
-        (WebCore::GeneralAreaAllocator::allocate):
-        (WebCore::GeneralAreaAllocator::allocateFromNode):
-        (WebCore::GeneralAreaAllocator::splitNode):
-        (WebCore::GeneralAreaAllocator::updateLargestFree):
-        (WebCore::GeneralAreaAllocator::release):
-        (WebCore::GeneralAreaAllocator::overhead const):
-        * platform/graphics/texmap/coordinated/AreaAllocator.h: Renamed from Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/AreaAllocator.h.
-        (WebCore::nextPowerOfTwo):
-        (WebCore::AreaAllocator::size const):
-        (WebCore::AreaAllocator::minimumAllocation const):
-        (WebCore::AreaAllocator::setMinimumAllocation):
-        (WebCore::AreaAllocator::margin const):
-        (WebCore::AreaAllocator::setMargin):
-        * platform/graphics/texmap/coordinated/UpdateAtlas.cpp: Renamed from Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.cpp.
-        (WebCore::UpdateAtlas::UpdateAtlas):
-        (WebCore::UpdateAtlas::~UpdateAtlas):
-        (WebCore::UpdateAtlas::buildLayoutIfNeeded):
-        (WebCore::UpdateAtlas::didSwapBuffers):
-        (WebCore::UpdateAtlas::getCoordinatedBuffer):
-        * platform/graphics/texmap/coordinated/UpdateAtlas.h: Renamed from Source/WebKit/WebProcess/WebPage/CoordinatedGraphics/UpdateAtlas.h.
-        (WebCore::UpdateAtlas::size const):
-        (WebCore::UpdateAtlas::supportsAlpha const):
-        (WebCore::UpdateAtlas::addTimeInactive):
-        (WebCore::UpdateAtlas::isInactive const):
-        (WebCore::UpdateAtlas::isInUse const):
-
-2017-12-11  Ryosuke Niwa  <rniwa@webkit.org>
-
-        Disable NoEventDispatchAssertion release assertion in WebKit1
-        https://bugs.webkit.org/show_bug.cgi?id=180616
-
-        Reviewed by Zalan Bujtas.
-
-        Disabled the release assertion for NoEventDispatchAssertion in WebKit1 since there are many
-        delegate callbacks that happen at unsafe timing, and we don't have any hope of fixing them
-        in short term.
-
-        * bindings/js/ScriptController.cpp:
-        (WebCore::ScriptController::canExecuteScripts):
-        * dom/Document.cpp:
-        (WebCore::isSafeToUpdateStyleOrLayout):
-        * dom/ScriptElement.cpp:
-        (WebCore::ScriptElement::executeClassicScript):
-        * platform/RuntimeApplicationChecks.h:
-        (WebCore::isInWebProcess):
-        * platform/cocoa/RuntimeApplicationChecksCocoa.mm:
-        (WebCore::isInWebProcess): Extracted from IOSApplication::isWebProcess.
-        (WebCore::IOSApplication::isWebProcess):
-
-2017-12-11  Darin Adler  <darin@apple.com>
-
-        Improve FontSelectionAlgorithm, including moving from IntegerHasher to Hasher
-        https://bugs.webkit.org/show_bug.cgi?id=180340
-
-        Reviewed by Dan Bates.
-
-        * css/CSSFontFaceSet.h: Moved FontSelectionRequestKey and FontSelectionRequestKeyHash
-        here to be private members, and used a std::optional instead of a class for this.
-        Also use the new Hasher to compute the hash. Also added FontSelectionRequestKeyHashTraits.
-
-        * platform/graphics/FontDescription.cpp:
-        (WebCore::FontDescription::FontDescription): Updated since FontSelectionRequest
-        does not always have a constructor any more.
-
-        * platform/graphics/FontSelectionAlgorithm.h: Tweaked comments. Used "using" instead
-        of typedef. Formatted some trivial functions as single lines. Stopped using
-        NeverDestroyed for simple classes like FontSelectionValue; it's not needed unless
-        there is a destructor. Got rid of some incorrect use of const. Replaced some member
-        functions with non-member functions. Moved some function bodies out of class definitions.
-        Used a lot of constexpr functions.
-        (WebCore::FontSelectionRequest::tied const): Added so we can easily write both == and the
-        hash function without listing the data members.
-        (WebCore::add): Added an overload so we can hash things that include FontSelectionRequest.
-        (WebCore::FontSelectionRequestKey::FontSelectionRequestKey): Changed this class to
-        use std::optional instead of a separate boolean for deleted values.
-        (WebCore::FontSelectionRequestKey::isHashTableDeletedValue const): Ditto.
-        (WebCore::FontSelectionRequestKey::operator== const): Ditto.
-        (WebCore::FontSelectionRequestKeyHash::hash): Ditto.
-        (WebCore::FontSelectionRequestKeyHash::equal): Ditto.
-        (WebCore::FontSelectionCapabilities::tied const): Added so we can easily write both ==
-        and the hash function without listing the data members.
-        (WebCore::FontSelectionSpecifiedCapabilities::tied const): Ditto.
-        (WebCore::FontSelectionAlgorithm::FontSelectionAlgorithm): Use make_unique instead of new.
-
-        * platform/graphics/cocoa/FontCacheCoreText.cpp:
-        (WebCore::findClosestFont): Move in the vector instead of copying it when creating a
-        FontSelectionAlgorithm object.
-
-2017-12-11  Jer Noble  <jer.noble@apple.com>
-
-        [EME] support update() for FairPlayStreaming in Modern EME API
-        https://bugs.webkit.org/show_bug.cgi?id=180542
-
-        Reviewed by Eric Carlson.
-
-        Support the updateLicense() method in CDMInstanceFairPlayStreaming. Also, support adding a
-        AVStreamDataParser to the AVContentKeySession.
-
-        Drive-by fixes:
-
-        - Sometimes, AVFoundation will give us a base64 encoded string with spaces url-disallowed
-        characters, so use base64Decode() rather than base64URLDecode().
-
-        * platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
-        (WebCore::validFairPlayStreamingSchemes):
-        (WebCore::extractSinfData):
-        * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.h:
-        * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
-        (WebCore::CDMInstanceFairPlayStreamingAVFObjC::updateLicense):
-        (WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRequest):
-        (WebCore::CDMInstanceFairPlayStreamingAVFObjC::didFailToProvideRequest):
-        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
-        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cdmInstance const):
-        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
-        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cdmInstanceAttached):
-        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cdmInstanceDetached):
-        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::attemptToDecryptWithInstance):
-        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
-        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
-        (WebCore::SourceBufferPrivateAVFObjC::destroyParser):
-        (WebCore::SourceBufferPrivateAVFObjC::setCDMInstance):
-
-2017-12-11  Eric Carlson  <eric.carlson@apple.com>
-
-        Web Inspector: Optionally log WebKit log parameters as JSON
-        https://bugs.webkit.org/show_bug.cgi?id=180529
-        <rdar://problem/35909462>
-
-        Reviewed by Joseph Pecoraro.
-
-        * dom/Document.cpp:
-        (WebCore::Document::didLogMessage):Update for API change. Don't check for main thread, that
-        is already done in addConsoleMessage.
-        * dom/Document.h:
-
-        * html/HTMLMediaElement.cpp:
-        (WebCore::HTMLMediaElement::updatePlayState): Cleanup logging.
-
-        * html/track/DataCue.cpp:
-        (WebCore::DataCue::toJSONString const): Serialize to JSON string.
-        (WebCore::DataCue::toString const): Deleted.
-        * html/track/DataCue.h:
-        (WTF::LogArgument<WebCore::DataCue>::toString):
-
-        * html/track/TextTrackCue.cpp:
-        (WebCore::TextTrackCue::toJSON const): Ditto.
-        (WebCore::TextTrackCue::toJSONString const):
-        (WebCore::TextTrackCue::toString const): Deleted.
-        * html/track/TextTrackCue.h:
-        (WTF::LogArgument<WebCore::TextTrackCue>::toString):
-
-        * html/track/TextTrackCueGeneric.cpp:
-        (WebCore::TextTrackCueGeneric::toJSONString const): Ditto.
-        (WebCore::TextTrackCueGeneric::toString const): Deleted.
-        * html/track/TextTrackCueGeneric.h:
-        (WTF::LogArgument<WebCore::TextTrackCueGeneric>::toString):
-
-        * html/track/VTTCue.cpp:
-        (WebCore::VTTCue::toJSONString const): Ditto.
-        (WebCore::VTTCue::toString const): Deleted.
-        * html/track/VTTCue.h:
-        (WTF::LogArgument<WebCore::VTTCue>::toString):
-
-        * platform/graphics/InbandTextTrackPrivateClient.h:
-        (WebCore::GenericCueData::toJSONString const): Ditto.
-        (WTF::LogArgument<WebCore::GenericCueData>::toString):
-        (WebCore::GenericCueData::toString const): Deleted.
-
-        * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
-        (WebCore::InbandTextTrackPrivateAVF::processAttributedStrings): Cleanup logging.
-        (WebCore::InbandTextTrackPrivateAVF::removeCompletedCues): Ditto.
-        (WebCore::InbandTextTrackPrivateAVF::processNativeSamples): Log the entire cue.
-        (WebCore::InbandTextTrackPrivateAVF::readNativeSampleBuffer): Cleanup logging.
-
-        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
-        (WebCore::MediaPlayerPrivateAVFoundation::maxMediaTimeSeekable const): Don't log, it isn't
-        interesting and happens frequently.
-        (WebCore::MediaPlayerPrivateAVFoundation::minMediaTimeSeekable const): Ditto.
-
-        * platform/graphics/iso/ISOVTTCue.cpp:
-        (WebCore::ISOWebVTTCue::toJSONString const): Serialize to JSON string.
-
-        * platform/graphics/iso/ISOVTTCue.h:
-        (WTF::LogArgument<WebCore::ISOWebVTTCue>::toString): Ditto.
-
-2017-12-11  Youenn Fablet  <youenn@apple.com>
-
-        Use VCP H264 encoder for platforms supporting it
-        https://bugs.webkit.org/show_bug.cgi?id=179076
-        rdar://problem/35180773
-
-        Reviewed by Eric Carlson.
-
-        Covered by existing test coverage.
-
-        * platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.cpp:
-        (WebCore::VideoToolboxVideoEncoderFactory::setActive):
-        (WebCore::VideoToolboxVideoEncoderFactory::CreateSupportedVideoEncoder):
-        (WebCore::VideoToolboxVideoEncoderFactory::DestroyVideoEncoder):
-        * platform/mediastream/libwebrtc/VideoToolBoxEncoderFactory.h:
-
-2017-12-11  Chris Dumez  <cdumez@apple.com>
-
-        Merge ServiceWorkerClientIdentifier into ServiceWorkerClientData
-        https://bugs.webkit.org/show_bug.cgi?id=180669
-
-        Reviewed by Youenn Fablet.
-
-        Merge ServiceWorkerClientIdentifier into ServiceWorkerClientData, for consistency with
-        ServiceWorkerIdentifier / ServiceWorkerData, and start simplifying the postMessage() code.
-
-        * WebCore.xcodeproj/project.pbxproj:
-        * dom/Document.cpp:
-        (WebCore::Document::setServiceWorkerConnection):
-        * workers/service/SWClientConnection.h:
-        * workers/service/ServiceWorker.cpp:
-        (WebCore::ServiceWorker::postMessage):
-        * workers/service/ServiceWorkerClient.cpp:
-        (WebCore::ServiceWorkerClient::getOrCreate):
-        (WebCore::ServiceWorkerClient::ServiceWorkerClient):
-        * workers/service/ServiceWorkerClient.h:
-        (WebCore::ServiceWorkerClient::identifier const):
-        * workers/service/ServiceWorkerClientData.cpp:
-        (WebCore::ServiceWorkerClientData::isolatedCopy const):
-        (WebCore::ServiceWorkerClientData::from):
-        * workers/service/ServiceWorkerClientData.h:
-        (WebCore::ServiceWorkerClientData::encode const):
-        (WebCore::ServiceWorkerClientData::decode):
-        * workers/service/ServiceWorkerClientInformation.h: Removed.
-        * workers/service/ServiceWorkerClients.cpp:
-        (WebCore::didFinishGetRequest):
-        (WebCore::ServiceWorkerClients::get):
-        (WebCore::matchAllCompleted):
-        * workers/service/ServiceWorkerTypes.h:
-        * workers/service/ServiceWorkerWindowClient.cpp:
-        (WebCore::ServiceWorkerWindowClient::ServiceWorkerWindowClient):
-        * workers/service/ServiceWorkerWindowClient.h:
-        * workers/service/context/SWContextManager.cpp:
-        (WebCore::SWContextManager::postMessageToServiceWorker):
-        * workers/service/context/SWContextManager.h:
-        * workers/service/context/ServiceWorkerThread.cpp:
-        (WebCore::ServiceWorkerThread::postMessageToServiceWorker):
-        * workers/service/context/ServiceWorkerThread.h:
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::findClientByIdentifier):
-        (WebCore::SWServer::matchAll):
-        (WebCore::SWServer::claim):
-        (WebCore::SWServer::registerServiceWorkerClient):
-        * workers/service/server/SWServer.h:
-        * workers/service/server/SWServerToContextConnection.h:
-        * workers/service/server/SWServerWorker.h:
-
-2017-12-11  Daniel Bates  <dabates@apple.com>
-
-        Fix the macOS Sierra build following r225179
-        (https://bugs.webkit.org/show_bug.cgi?id=180011)
-
-        Substitute TARGET_MAC_OS_X_VERSION_LESS_THAN_101300 for TARGET_MAC_OS_X_VERSION_LESS_THAN_1013000.
-
-        * Configurations/WebCore.xcconfig:
-
-2017-12-11  Zalan Bujtas  <zalan@apple.com>
-
-        Make FrameView objects IsoHeap allocated
-        https://bugs.webkit.org/show_bug.cgi?id=180668
-        <rdar://problem/35976738>
-
-        Reviewed by Simon Fraser.
-
-        Related to <https://trac.webkit.org/changeset/225719/webkit>
-
-        * page/FrameView.cpp:
-        * page/FrameView.h:
-
-2017-12-11  Antoine Quint  <graouts@apple.com>
-
-        [Web Animations] Implement AnimationPlaybackEvent and AnimationPlaybackEventInit
-        https://bugs.webkit.org/show_bug.cgi?id=180647
-
-        Reviewed by Dean Jackson.
-
-        Actually fix Windows build this time.
-
-        * animation/AnimationPlaybackEventInit.h:
-
-2017-12-11  Antoine Quint  <graouts@apple.com>
-
-        [Web Animations] Implement AnimationPlaybackEvent and AnimationPlaybackEventInit
-        https://bugs.webkit.org/show_bug.cgi?id=180647
-        <rdar://problem/35966325>
-
-        Reviewed by Dean Jackson.
-
-        Unreviewed, fix Windows build.
-
-        * animation/AnimationPlaybackEventInit.h:
-
-2017-12-11  Zalan Bujtas  <zalan@apple.com>
-
-        FloatingObjects/FloatingObject classes should hold weak references to renderers
-        https://bugs.webkit.org/show_bug.cgi?id=180627
-        <rdar://problem/35954069>
-
-        Reviewed by Antti Koivisto.
-
-        * rendering/FloatingObjects.cpp:
-        (WebCore::FloatingObject::FloatingObject):
-        (WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
-        (WebCore::ComputeFloatOffsetForFloatLayoutAdapter::ComputeFloatOffsetForFloatLayoutAdapter):
-        (WebCore::ComputeFloatOffsetForLineLayoutAdapter::ComputeFloatOffsetForLineLayoutAdapter):
-        (WebCore::FindNextFloatLogicalBottomAdapter::FindNextFloatLogicalBottomAdapter):
-        (WebCore::FindNextFloatLogicalBottomAdapter::collectIfNeeded):
-        (WebCore::FloatingObjects::findNextFloatLogicalBottomBelow):
-        (WebCore::FloatingObjects::findNextFloatLogicalBottomBelowForBlock):
-        (WebCore::FloatingObjects::FloatingObjects):
-        (WebCore::FloatingObjects::clearLineBoxTreePointers):
-        (WebCore::FloatingObjects::logicalLeftOffsetForPositioningFloat):
-        (WebCore::FloatingObjects::logicalRightOffsetForPositioningFloat):
-        (WebCore::FloatingObjects::logicalLeftOffset):
-        (WebCore::FloatingObjects::logicalRightOffset):
-        (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
-        (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
-        (WebCore::ComputeFloatOffsetForFloatLayoutAdapter<FloatTypeValue>::heightRemaining const):
-        (WebCore::ComputeFloatOffsetAdapter<FloatTypeValue>::collectIfNeeded):
-        (WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatLeft>::updateOffsetIfNeeded):
-        (WebCore::ComputeFloatOffsetForLineLayoutAdapter<FloatingObject::FloatRight>::updateOffsetIfNeeded):
-        * rendering/FloatingObjects.h:
-        (WebCore::FloatingObject::renderer const):
-        (WebCore::FloatingObjects::renderer const):
-
-2017-12-11  David Quesada  <david_quesada@apple.com>
-
-        Turn on ENABLE_APPLICATION_MANIFEST
-        https://bugs.webkit.org/show_bug.cgi?id=180562
-        rdar://problem/35924737
-
-        Reviewed by Geoffrey Garen.
-
-        * Configurations/FeatureDefines.xcconfig:
-        * loader/LinkLoader.cpp:
-        (WebCore::createLinkPreloadResourceClient):
-        * loader/cached/CachedResourceRequest.cpp:
-            Add a missing #include that was implicitly added in the unified source when
-            the feature is disabled.
-
-2017-12-11  Dean Jackson  <dino@apple.com>
-
-        Add a runtime feature flag for ImageBitmap and OffscreenCanvas
-        https://bugs.webkit.org/show_bug.cgi?id=180652
-        <rdar://problem/35969611>
-
-        Reviewed by Antoine Quint.
-
-        Add a RuntimeEnabledFeature for these interfaces, and link the bindings
-        to the feature.
-
-        Test: fast/canvas/offscreen-enabled.html
-
-        * bindings/js/WebCoreBuiltinNames.h:
-        * html/ImageBitmap.idl:
-        * html/OffscreenCanvas.idl:
-        * page/RuntimeEnabledFeatures.h:
-        (WebCore::RuntimeEnabledFeatures::setImageBitmapOffscreenCanvasEnabled):
-        (WebCore::RuntimeEnabledFeatures::imageBitmapOffscreenCanvasEnabled const):
-        * page/WindowOrWorkerGlobalScope.idl:
-
-2017-12-11  Antoine Quint  <graouts@apple.com>
-
-        [Web Animations] Implement AnimationPlaybackEvent and AnimationPlaybackEventInit
-        https://bugs.webkit.org/show_bug.cgi?id=180647
-        <rdar://problem/35966325>
-
-        Reviewed by Dean Jackson.
-
-        We implement the AnimationPlaybackEvent interface and AnimationPlaybackEventInit dictionary
-        as the first step towards dispatching animation "finish" and "cancel" events.
-
-        Animation playback events will be dispatched on Animation objects and expose the timeline time
-        and animation current time at the time they were constructed. Dispatch itself, which will be
-        the focus of the next patch, is not synchronous, so it's important to track those values
-        at creation time.
-
-        No new tests yet, followup patches will enable event dispatch and existing Web Platform Tests
-        will show progressions.
-
-        * CMakeLists.txt:
-        * DerivedSources.make:
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-        * animation/AnimationPlaybackEvent.cpp: Added.
-        (WebCore::AnimationPlaybackEvent::AnimationPlaybackEvent):
-        (WebCore::AnimationPlaybackEvent::bindingsCurrentTime const):
-        (WebCore::AnimationPlaybackEvent::bindingsTimelineTime const):
-        * animation/AnimationPlaybackEvent.h: Added.
-        * animation/AnimationPlaybackEvent.idl: Added.
-        * animation/AnimationPlaybackEventInit.h: Added.
-        * animation/AnimationPlaybackEventInit.idl: Added.
-        * bindings/js/WebCoreBuiltinNames.h:
-        * dom/EventNames.in:
-
-2017-12-11  Basuke Suzuki  <Basuke.Suzuki@sony.com>
-
-        [WinCairo] DumpRenderTree times out for all non-http tests
-        https://bugs.webkit.org/show_bug.cgi?id=180571
-
-        Reviewed by Alex Christensen.
-
-        Bug fix on processing the curl event for file protocol.
-
-        No new tests. This fix is to run existing tests.
-
-        * platform/network/curl/CurlRequest.cpp:
-        (WebCore::CurlRequest::completeDidReceiveResponse):
-        * platform/network/curl/CurlRequest.h:
-        (WebCore::CurlRequest::isCompleted const):
-        (WebCore::CurlRequest::isCancelled const):
-        (WebCore::CurlRequest::isCompletedOrCancelled const):
-
-2017-12-11  Manuel Rego Casasnovas  <rego@igalia.com>
-
-        REGRESSION(r221931): Row stretch doesn't work for grid container with min-height
-        https://bugs.webkit.org/show_bug.cgi?id=180287
-
-        Reviewed by Darin Adler.
-
-        In r221931 we moved the stretch phase as the last step of
-        the track sizing algorithm.
-        However this introduced a regression as we were no longer
-        taking into account the grid container min-width|height constraints
-        during this step.
-
-        The CSS WG modified the spec so it now defines what to do
-        in these situations (https://drafts.csswg.org/css-grid/#algo-stretch):
-          "If the free space is indefinite, but the grid container
-           has a definite min-width/height, use that size to calculate
-           the free space for this step instead."
-
-        This patch adds a new method
-        GridTrackSizingAlgorithmStrategy::freeSpaceForStretchAutoTracksStep().
-        When we're in the DefiniteSizeStrategy it just returns the current
-        free space.
-        For the IndefiniteSizeStrategy in the columns case we don't need
-        any special computation (the same that happens in
-        recomputeUsedFlexFractionIfNeeded()); for rows it uses the min size
-        of the grid container (respecting min-width|height properties)
-        to calculate the free space.
-
-        Test: imported/w3c/web-platform-tests/css/css-grid/layout-algorithm/grid-stretch-respects-min-size-001.html
-
-        * rendering/GridTrackSizingAlgorithm.cpp:
-        (WebCore::IndefiniteSizeStrategy::freeSpaceForStretchAutoTracksStep const):
-        (WebCore::DefiniteSizeStrategy::freeSpaceForStretchAutoTracksStep const):
-        (WebCore::GridTrackSizingAlgorithm::stretchAutoTracks):
-        * rendering/GridTrackSizingAlgorithm.h:
-
-2017-12-10  Minsheng Liu  <lambda@liu.ms>
-
-        Incorrect bounds inside <mover>/<munder> when a stretchy operator is present
-        https://bugs.webkit.org/show_bug.cgi?id=179682
-
-        Reviewed by Frédéric Wang.
-
-        Currently a stretchy operator inside <mover>/<munder>/<munderover> is stretched
-        during paint() rather than layout(), which leads to both end user confusion
-        and many unexpected behaviors. This patch rewrites
-        RenderMathMLUnderOver::stretchHorizontalOperatorsAndLayoutChildren()
-        to both eliminate the issue and make operator stretching more standard
-        conforming.
-
-        A test is added to check the stretch width of stretchy operators in various
-        scenarios:
-        mathml/opentype/munderover-stretch-width.html
-
-        A previous test is updated:
-        mathml/opentype/opentype-stretchy-horizontal.html
-
-        * rendering/mathml/RenderMathMLOperator.cpp:
-        (WebCore::RenderMathMLOperator::stretchTo):
-        (WebCore::RenderMathMLOperator::resetStretchSize):
-        (WebCore::RenderMathMLOperator::paint):
-        * rendering/mathml/RenderMathMLOperator.h:
-        (WebCore::RenderMathMLOperator::setStretchWidthLocked):
-        (WebCore::RenderMathMLOperator::isStretchWidthLocked const):
-        * rendering/mathml/RenderMathMLUnderOver.cpp:
-        (WebCore::toHorizontalStretchyOperator):
-        (WebCore::fixLayoutAfterStretch):
-        (WebCore::RenderMathMLUnderOver::stretchHorizontalOperatorsAndLayoutChildren):
-
-2017-12-10  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        Unreviewed, follow-up patch after r225470
-        https://bugs.webkit.org/show_bug.cgi?id=180308
-
-        * Modules/webdatabase/SQLTransaction.cpp:
-        (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
-        Use consistent operands.
-
-        * bindings/js/JSCallbackData.h:
-        (WebCore::JSCallbackData::JSCallbackData):
-        Use class field initializer.
-
-        * xml/parser/XMLDocumentParserLibxml2.cpp:
-        (WebCore::openFunc):
-        Use consistent operands.
-
-2017-12-09  Ryosuke Niwa  <rniwa@webkit.org>
-
-        iOS: Crash in Document::updateLayout() via Document::processViewport
-        https://bugs.webkit.org/show_bug.cgi?id=180619
-        <rdar://problem/35717575>
-
-        Reviewed by Zalan Bujtas.
-
-        The crash is caused by modern media controls updating the layout in the middle of insertedIntoAncestor
-        via HTMLMediaElement::setControllerJSProperty inside Document::pageScaleFactorChangedAndStable.
-
-        Fixed the crash by delaying the work to update the viewport configuration until didFinishInsertingNode
-        since updating the viewport configuration results in a lot of related code running in response,
-        and making sure all that code never tries to execute an author script is not attainable in the short term,
-        and a maintenance nightmare in the long term.
-
-        Test: media/ios/viewport-change-with-video.html
-
-        * html/HTMLMetaElement.cpp:
-        (WebCore::HTMLMetaElement::insertedIntoAncestor):
-        (WebCore::HTMLMetaElement::didFinishInsertingNode): Added.
-        * html/HTMLMetaElement.h:
-
-2017-12-08  Zalan Bujtas  <zalan@apple.com>
-
-        Document::updateLayout() could destroy current frame.
-        https://bugs.webkit.org/show_bug.cgi?id=180525
-        <rdar://problem/35906836>
-
-        Reviewed by Simon Fraser.
-
-        Early return when Document::updateLayout() triggers Frame destruction.
-
-        Test: fast/frames/crash-when-iframe-is-remove-in-eventhandler.html
-
-        * dom/TreeScope.cpp:
-        (WebCore::absolutePointIfNotClipped):
-
-2017-12-08  Chris Dumez  <cdumez@apple.com>
-
-        ServiceWorkerGlobalScope is a global object and should be marked as [ImplicitThis] in the IDL
-        https://bugs.webkit.org/show_bug.cgi?id=180615
-
-        Reviewed by Brady Eidson.
-
-        ServiceWorkerGlobalScope is a global object and should be marked as [ImplicitThis] in the IDL, similarly to what we do for Window.
-        This allows a getter to be fallback to the global object as ThisValue when the cast of the ThisValue to the expected type fails.
-
-        No new tests, rebaselined existing test.
-
-        * workers/DedicatedWorkerGlobalScope.idl:
-        * workers/WorkerGlobalScope.idl:
-        * workers/service/ServiceWorkerGlobalScope.idl:
-
-2017-12-08  Brady Eidson  <beidson@apple.com>
-
-        Delay some service worker operations until after the database import completes.
-        https://bugs.webkit.org/show_bug.cgi?id=180573
-
-        Reviewed by Chris Dumez.
-
-        No new tests (Not testable yet).
-
-        Right after the storage process launches it starts importing registration records.
-        During this time, a lot of the decisions we make regarding registrations, fetch, etc.
-        are invalid, as they rely on those in-memory records being in place.
-        
-        This patch delays certain things until after the initial origin table import is complete.
-        
-        * workers/service/server/RegistrationStore.cpp:
-        (WebCore::RegistrationStore::databaseOpenedAndRecordsImported):
-
-        * workers/service/server/SWOriginStore.h:
-
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::registrationStoreImportComplete): Tell the origin store the initial
-          import was completed.
-        (WebCore::SWServer::addRegistrationFromStore):
-        * workers/service/server/SWServer.h:
-
-2017-12-08  Youenn Fablet  <youenn@apple.com>
-
-        Service Worker should use a correct user agent
-        https://bugs.webkit.org/show_bug.cgi?id=180566
-        <rdar://problem/35926295>
-
-        Reviewed by Chris Dumez.
-
-        Test: http/wpt/service-workers/useragent.https.html
-
-        Make ServiceWorkerFrameLoaderClient return a valid UserAgent.
-        Pass user agent to ServiceWorkerThread so that navigation.userAgent is correctly initialized.
-        Allow ServiceWorkerFrameLoaderClient to clean itself when no longer needed.
-
-        * loader/EmptyFrameLoaderClient.h:
-        * workers/service/context/ServiceWorkerThread.cpp:
-        (WebCore::ServiceWorkerThread::ServiceWorkerThread):
-        * workers/service/context/ServiceWorkerThread.h:
-        * workers/service/context/ServiceWorkerThreadProxy.cpp:
-        (WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
-        (WebCore::ServiceWorkerThreadProxy::frameLoaderClient):
-        * workers/service/context/ServiceWorkerThreadProxy.h:
-
-2017-12-07  Simon Fraser  <simon.fraser@apple.com>
-
-        Wrong caret position for input field inside a fixed position parent on iOS 11
-        https://bugs.webkit.org/show_bug.cgi?id=176896
-        rdar://problem/33726145
-
-        Reviewed by Tim Horton.
-
-        In r219668 I added code to compute a layout viewport rect in the web process, so that
-        after programmatic scrolling, getBoundingClientRect() would return the correct values.
-        However, that computation sometimes used a different visual viewport than the UI process,
-        resulting in a different layout viewport being set. This would happen when the keyboard
-        was visible, and the combination of this and zooming when focusing an input would result
-        in a state where the scrolling tree contained notes computed with the bad layout viewport.
-        This could cause apparently offset fixed elements, and bad caret positioning if those fixed
-        elements contained the focused input.
-
-        Fix by passing to the web process the same visual viewport rect that the UI process is using,
-        namely "unobscuredContentRectRespectingInputViewBounds". This was already being set in
-        VisibleContentRectUpdateInfo but wasn't encoded/decoded, so fix that. Set it as an optional<>
-        on FrameView when different from the normal visual viewport, and return it from
-        visualViewportRect().
-
-        Some other minor logging changes.
-
-        Test: fast/visual-viewport/ios/caret-after-focus-in-fixed.html
-
-        * page/FrameView.cpp:
-        (WebCore::FrameView::setVisualViewportOverrideRect):
-        (WebCore::FrameView::updateLayoutViewport):
-        (WebCore::FrameView::visualViewportRect const):
-        * page/FrameView.h:
-        * page/scrolling/mac/ScrollingTreeFixedNode.mm:
-        (WebCore::ScrollingTreeFixedNode::updateLayersAfterAncestorChange):
-
-2017-12-08  Zalan Bujtas  <zalan@apple.com>
-
-        Make inline box objects IsoHeap allocated.
-        https://bugs.webkit.org/show_bug.cgi?id=180556
-        <rdar://problem/35923629>
-
-        Reviewed by Filip Pizlo.
-
-        * rendering/EllipsisBox.cpp:
-        * rendering/EllipsisBox.h:
-        * rendering/InlineBox.cpp:
-        * rendering/InlineBox.h:
-        * rendering/InlineElementBox.cpp:
-        * rendering/InlineElementBox.h:
-        * rendering/InlineFlowBox.cpp:
-        * rendering/InlineFlowBox.h:
-        * rendering/InlineTextBox.cpp:
-        * rendering/InlineTextBox.h:
-        * rendering/RootInlineBox.cpp:
-        * rendering/RootInlineBox.h:
-        * rendering/TrailingFloatsRootInlineBox.h:
-        * rendering/svg/SVGInlineFlowBox.cpp:
-        * rendering/svg/SVGInlineFlowBox.h:
-        * rendering/svg/SVGInlineTextBox.cpp:
-        * rendering/svg/SVGInlineTextBox.h:
-        * rendering/svg/SVGRootInlineBox.cpp:
-        * rendering/svg/SVGRootInlineBox.h:
-
-2017-12-08  Chris Dumez  <cdumez@apple.com>
-
-        Clearing all Website Data should remove service worker registrations on disk
-        https://bugs.webkit.org/show_bug.cgi?id=180558
-
-        Reviewed by Youenn Fablet.
-
-        Clear service worker registrations on disk in addition to the ones in memory.
-
-        * workers/service/server/RegistrationDatabase.cpp:
-        (WebCore::v1RecordsTableSchema):
-        (WebCore::v1RecordsTableSchemaAlternate):
-        (WebCore::databaseFilename):
-        Make sure these always get called from the background thread since they use
-        a static string.
-
-        (WebCore::RegistrationDatabase::RegistrationDatabase):
-        Call importRecordsIfNecessary() instead of openSQLiteDatabase(). importRecordsIfNecessary()
-        only calls openSQLiteDatabase() if the database file exists, to avoid creating a database
-        file unnecessarily.
-
-        (WebCore::RegistrationDatabase::databasePath const):
-        New method which returns the database file path.
-
-        (WebCore::RegistrationDatabase::openSQLiteDatabase):
-
-        (WebCore::RegistrationDatabase::importRecordsIfNecessary):
-        New methods which imports records if the database file exist. It the database file does
-        not exist, it does not create it.
-
-        (WebCore::RegistrationDatabase::pushChanges):
-        Call completion handler when changes are pushed.
-
-        (WebCore::RegistrationDatabase::clearAll):
-        Close the database if it is open, then remove the database files.
-
-        (WebCore::RegistrationDatabase::doPushChanges):
-        If the database is not already open, we now open it when trying to write changes for
-        the first time.
-
-        * workers/service/server/RegistrationDatabase.h:
-        * workers/service/server/RegistrationStore.cpp:
-        (WebCore::RegistrationStore::clearAll):
-        (WebCore::RegistrationStore::flushChanges):
-        * workers/service/server/RegistrationStore.h:
-
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::clearAll):
-        (WebCore::SWServer::clear):
-        Also clear the database.
-
-        * workers/service/server/SWServer.h:
-
-        * workers/service/server/SWServerWorker.cpp:
-        (WebCore::SWServerWorker::terminate):
-        Only call SWServer::terminateWorker() if the worker is running. Otherwise, we hit
-        an assertion when clearing a registration would worker was already terminated.
-
-2017-12-08  Joseph Pecoraro  <pecoraro@apple.com>
-
-        ServiceWorker Inspector: Various issues inspecting service worker on mobile.twitter.com
-        https://bugs.webkit.org/show_bug.cgi?id=180520
-        <rdar://problem/35900764>
-
-        Reviewed by Brian Burg.
-
-        * inspector/agents/worker/ServiceWorkerAgent.cpp:
-        (WebCore::ServiceWorkerAgent::getInitializationInfo):
-        * inspector/agents/worker/ServiceWorkerAgent.h:
-        Add initial script content to initialization so we always at least have main resource content.
-
-2017-12-08  Joseph Pecoraro  <pecoraro@apple.com>
-
-        ServiceWorker Inspector: Should be able to see image content from CacheStorage.add(url) network request
-        https://bugs.webkit.org/show_bug.cgi?id=180506
-
-        Reviewed by Brian Burg.
-
-        No test as this only happens inside a ServiceWorker inspector which
-        we don't yet have a way to test. In a Page Inspector, the
-        CacheStorage.add network request already behaves as expected.
-
-        * inspector/NetworkResourcesData.cpp:
-        (WebCore::NetworkResourcesData::responseReceived):
-        (WebCore::shouldBufferResourceData):
-        * inspector/NetworkResourcesData.h:
-        (WebCore::NetworkResourcesData::ResourceData::forceBufferData const):
-        (WebCore::NetworkResourcesData::ResourceData::setForceBufferData):
-        Provide a way to force buffering in NetworkResourceData.
-
-        * inspector/agents/InspectorNetworkAgent.cpp:
-        (WebCore::InspectorNetworkAgent::didReceiveResponse):
-        * inspector/agents/InspectorNetworkAgent.h:
-        * inspector/agents/page/PageNetworkAgent.h:
-        * inspector/agents/worker/WorkerNetworkAgent.h:
-        Enable force buffering in a Worker Network Agent.
-
-2017-12-08  Daniel Bates  <dabates@apple.com>
-
-        Remove unnecessary prefix from AutoFillButtonType enumerators
-        https://bugs.webkit.org/show_bug.cgi?id=180512
-
-        Reviewed by Tim Horton.
-
-        * testing/Internals.cpp:
-        (WebCore::toAutoFillButtonType):
-        * testing/Internals.h:
-        * testing/Internals.idl:
-
-2017-12-08  Dean Jackson  <dino@apple.com>
-
-        Implement transferToImageBitmap for WebGL offscreen canvas objects
-        https://bugs.webkit.org/show_bug.cgi?id=180603
-        <rdar://problem/34147143>
-
-        Reviewed by Sam Weinig.
-
-        Implement the basic version of creating an ImageBitmap from an
-        OffscreenCanvas that is using a WebGL context.
-
-        Tests: http/wpt/offscreen-canvas/transferToImageBitmap-empty.html
-               http/wpt/offscreen-canvas/transferToImageBitmap-webgl.html
-
-        * html/ImageBitmap.cpp:
-        (WebCore::ImageBitmap::create): Add a new constructor to be used by OffscreenCanvas.
-        Creates a blank ImageBitmap.
-        * html/ImageBitmap.h:
-
-        * html/OffscreenCanvas.cpp:
-        (WebCore::OffscreenCanvas::transferToImageBitmap): Create a new ImageBitmap
-        and paint the current canvas into it.
-
-2017-12-08  Youenn Fablet  <youenn@apple.com>
-
-        WebServiceWorkerProvider should use Cancellation error to notify DTL that it cannot handle a fetch
-        https://bugs.webkit.org/show_bug.cgi?id=180584
-
-        Reviewed by Alex Christensen.
-
-        Previously, for each cross origin fetch that is going through a service worker and service worker is not handling the fetch,
-        we return an AccessControl error so that DocumentThreadableLoader will do preflight and regular load through the network.
-        This error is wrongly logged in the Inspector.
-        Change error type to Cancellation so that the Inspector does not log it.
-
-        * loader/DocumentThreadableLoader.cpp:
-        (WebCore::DocumentThreadableLoader::didFail):
-
-2017-12-08  Youenn Fablet  <youenn@apple.com>
-
-        Service Worker should use a correct SessionID
-        https://bugs.webkit.org/show_bug.cgi?id=180585
-
-        Reviewed by Alex Christensen.
-
-        Test: http/tests/workers/service/serviceworker-private-browsing.https.html
-
-        Store SessionID in SWServer and send it as part of service worker instantiation.
-
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::SWServer):
-        (WebCore::SWServer::installContextData):
-        (WebCore::SWServer::runServiceWorker):
-        * workers/service/server/SWServer.h:
-        * workers/service/server/SWServerToContextConnection.h:
-
-2017-12-08  Youenn Fablet  <youenn@apple.com>
-
-        FetchResponse should keep unfiltered ResourceResponse so that it can be used in Service Worker
-        https://bugs.webkit.org/show_bug.cgi?id=179641
-        <rdar://problem/35923570>
-
-        Reviewed by Alex Christensen.
-
-        Covered by existing rebased tests.
-
-        FetchResponse will now store an unfiltered response.
-        If it needs to expose it to JavaScript, it will create a filtered response lazily.
-        This allows service worker to send back to web pages, opaque responses containing every information.
-
-        Updating Document::initSecurityContext so that any document loaded with a response whose tainting is Opaque gets a unique origin.
-        This ensures cross-origin checks to work if service worker returns such a response on a same origin URL.
-
-        Updated SubresourceLoader to check cross origin service worker responses based on their tainting.
-
-        * Modules/fetch/FetchResponse.cpp:
-        (WebCore::FetchResponse::create):
-        (WebCore::FetchResponse::error):
-        (WebCore::FetchResponse::redirect):
-        (WebCore::FetchResponse::FetchResponse):
-        (WebCore::FetchResponse::clone):
-        (WebCore::FetchResponse::url const):
-        (WebCore::FetchResponse::filteredResponse const):
-        (WebCore::FetchResponse::BodyLoader::didReceiveResponse):
-        (WebCore::FetchResponse::resourceResponse const):
-        * Modules/fetch/FetchResponse.h:
-        (WebCore::FetchResponse::create): Deleted.
-        * dom/Document.cpp:
-        (WebCore::Document::initSecurityContext):
-        * loader/SubresourceLoader.cpp:
-        (WebCore::SubresourceLoader::willSendRequestInternal):
-        (WebCore::SubresourceLoader::checkResponseCrossOriginAccessControl):
-
-2017-12-08  David Quesada  <david_quesada@apple.com>
-
-        ApplicationManifestParser should strip whitespace from the raw input
-        https://bugs.webkit.org/show_bug.cgi?id=180539
-        rdar://problem/35915075
-
-        Reviewed by Joseph Pecoraro.
-
-        * Modules/applicationmanifest/ApplicationManifestParser.cpp:
-        (WebCore::ApplicationManifestParser::parseManifest):
-
-2017-12-08  Eric Carlson  <eric.carlson@apple.com>
-
-        Move Logger from PAL to WTF so it can be used outside of WebCore
-        https://bugs.webkit.org/show_bug.cgi?id=180561
-
-        Reviewed by Alex Christensen.
-
-        No new tests, existing API test updated.
-
-        * Modules/mediastream/PeerConnectionBackend.h:
-        * Modules/mediastream/RTCPeerConnection.h:
-        * Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
-        (PAL::LogArgument<webrtc::RTCStats>::toString): Deleted.
-        * dom/Document.cpp:
-        * dom/Document.h:
-        * html/HTMLMediaElement.cpp:
-        (PAL::LogArgument<WebCore::URL>::toString): Deleted.
-        * html/HTMLMediaElement.h:
-        * html/HTMLMediaElementEnums.h:
-        (PAL::LogArgument<WebCore::HTMLMediaElementEnums::ReadyState>::toString): Deleted.
-        (PAL::LogArgument<WebCore::HTMLMediaElementEnums::NetworkState>::toString): Deleted.
-        * html/MediaElementSession.cpp:
-        (WebCore::MediaElementSession::logger const):
-        * html/MediaElementSession.h:
-        * html/track/DataCue.h:
-        (PAL::LogArgument<WebCore::DataCue>::toString): Deleted.
-        * html/track/TextTrackCue.h:
-        (PAL::LogArgument<WebCore::TextTrackCue>::toString): Deleted.
-        * html/track/TextTrackCueGeneric.h:
-        (PAL::LogArgument<WebCore::TextTrackCueGeneric>::toString): Deleted.
-        * html/track/TrackBase.cpp:
-        (WebCore::nullLogger):
-        (WebCore::TrackBase::TrackBase):
-        * html/track/TrackBase.h:
-        * html/track/VTTCue.h:
-        (PAL::LogArgument<WebCore::VTTCue>::toString): Deleted.
-        * platform/graphics/InbandTextTrackPrivate.h:
-        * platform/graphics/InbandTextTrackPrivateClient.h:
-        (PAL::LogArgument<WebCore::GenericCueData>::toString): Deleted.
-        * platform/graphics/MediaPlayer.cpp:
-        (WebCore::nullLogger):
-        (WebCore::MediaPlayer::mediaPlayerLogger):
-        * platform/graphics/MediaPlayer.h:
-        (WTF::LogArgument<MediaTime>::toString):
-        (PAL::LogArgument<WTF::MediaTime>::toString): Deleted.
-        * platform/graphics/MediaPlayerEnums.h:
-        (PAL::LogArgument<WebCore::MediaPlayerEnums::ReadyState>::toString): Deleted.
-        (PAL::LogArgument<WebCore::MediaPlayerEnums::NetworkState>::toString): Deleted.
-        * platform/graphics/TrackPrivateBase.cpp:
-        (WebCore::TrackPrivateBase::setLogger):
-        * platform/graphics/TrackPrivateBase.h:
-        * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm:
-        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
-        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
-        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
-        (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]):
-        * platform/mediastream/RTCIceConnectionState.h:
-        (PAL::LogArgument<WebCore::RTCIceConnectionState>::toString): Deleted.
-        * platform/mediastream/RTCIceGatheringState.h:
-        (PAL::LogArgument<WebCore::RTCIceGatheringState>::toString): Deleted.
-        * platform/mediastream/RTCPeerConnectionState.h:
-        (PAL::LogArgument<WebCore::RTCPeerConnectionState>::toString): Deleted.
-        * platform/mediastream/RTCSignalingState.h:
-        (PAL::LogArgument<WebCore::RTCSignalingState>::toString): Deleted.
-        * platform/mediastream/mac/AudioTrackPrivateMediaStreamCocoa.cpp:
-
-2017-12-08  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        Remove pthread_once in favor of dispatch_once
-        https://bugs.webkit.org/show_bug.cgi?id=180591
-
-        Reviewed by Saam Barati.
-
-        No behavior change.
-
-        * platform/mac/WebCoreNSURLExtras.mm:
-        (WebCore::allCharactersInIDNScriptWhiteList):
-        (WebCore::readIDNScriptWhiteList): Deleted.
-
-2017-12-08  Chris Dumez  <cdumez@apple.com>
-
-        Improve error handling in RegistrationDatabase
-        https://bugs.webkit.org/show_bug.cgi?id=180587
-
-        Reviewed by Brady Eidson.
-
-        * workers/service/server/RegistrationDatabase.cpp:
-        (WebCore::RegistrationDatabase::openSQLiteDatabase):
-        (WebCore::RegistrationDatabase::doPushChanges):
-
-2017-12-07  Darin Adler  <darin@apple.com>
-
-        Simplify and streamline some Color-related code to prepare for some Color/ExtendedColor work
-        https://bugs.webkit.org/show_bug.cgi?id=180569
-
-        Reviewed by Sam Weinig.
-
-        * accessibility/AccessibilityNodeObject.cpp:
-        (WebCore::AccessibilityNodeObject::colorValue const): Use valueAsColor instead of
-        having custom code here to parse the color string.
-
-        * css/CSSGradientValue.cpp:
-        (WebCore::interpolate): Deleted.
-        (WebCore::CSSGradientValue::computeStops): Call blend instead of interpolate. The only
-        difference is that the interpolate function truncated when converting from floating point
-        to integer, and the blend function rounds instead.
-
-        * css/StyleResolver.cpp:
-        (WebCore::StyleResolver::colorFromPrimitiveValue const): Removed unneeded special case
-        for identifier of 0, since StyleColor::colorFromKeyword already handles that correctly.
-        Also got rid of unneded local variable "state".
-
-        * html/ColorInputType.cpp:
-        (WebCore::isValidSimpleColor): Rewrote to take a StringView instead of a String and
-        to stay with a single loop since this does not need the extra efficiency of a separate
-        8-bit and 16-bit character version. Renamed to more closely match what the specification
-        calls this algorithm.
-        (WebCore::parseSimpleColorValue): Added. To be used instead of relying on the behavior of
-        the Color constructor that takes a String, so we can remove that later.
-        (WebCore::ColorInputType::sanitizeValue const): Updated for name change.
-        (WebCore::ColorInputType::valueAsColor const): Use parseSimpleColorValue instead of the
-        Color constructor that takes a string.
-        (WebCore::ColorInputType::typeMismatchFor const): Updated for name change.
-        (WebCore::ColorInputType::selectColor): Updated to take a StringView instead of a Color.
-        Note that this function is used for testing only.
-
-        * html/ColorInputType.h: Marked everything final instead of override. Updated the
-        selectColor function to take a StringView instead of a Color.
-
-        * html/HTMLInputElement.cpp:
-        (WebCore::HTMLInputElement::selectColor): Take a StringView instead of a Color.
-        * html/HTMLInputElement.h: Ditto.
-
-        * html/InputType.cpp:
-        (WebCore::InputType::selectColor): Take a StringView instead of a Color.
-        * html/InputType.h: Ditto.
-
-        * testing/Internals.cpp:
-        (WebCore::Internals::selectColorInColorChooser): Pass the string directly instead of
-        constructing a Color with it.
-        (WebCore::Internals::setViewBaseBackgroundColor): Instead of pasring the passed in string
-        with the Color constructor, implemented the two names that are actually used with this
-        function in tests: "transparent" and "white".
-
-2017-12-08  Konstantin Tokarev  <annulen@yandex.ru>
-
-        Unreviewed, fix wrong letter case in #import HTMLIframeElement.h
-
-        * editing/cocoa/WebContentReaderCocoa.mm:
-
-2017-12-07  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        Use WTF::RecursiveLockAdapter instead of using pthread_mutex_t with recursive lock option
-        https://bugs.webkit.org/show_bug.cgi?id=180449
-
-        Reviewed by Mark Lam.
-
-        Use WTF::RecursiveLockAdapter<StaticLock> instead. We can remove pthread_mutex_xxx,
-        pthread_once and FontLocker wrapper.
-
-        * platform/graphics/FontCache.cpp:
-        (WebCore::FontCache::getCachedFontPlatformData):
-        (WebCore::FontCache::fontForPlatformData):
-        (WebCore::FontCache::purgeInactiveFontData):
-        (WebCore::FontCache::inactiveFontCount):
-        (initFontCacheLockOnce): Deleted.
-        (FontLocker::FontLocker): Deleted.
-        (FontLocker::~FontLocker): Deleted.
-
-2017-12-07  Eric Carlson  <eric.carlson@apple.com>
-
-        Simplify log channel configuration UI
-        https://bugs.webkit.org/show_bug.cgi?id=180527
-        <rdar://problem/35908382>
-
-        Reviewed by Joseph Pecoraro.
-
-        No new tests, updated existing test.
-
-        * inspector/agents/WebConsoleAgent.cpp:
-        (WebCore::WebConsoleAgent::getLoggingChannels):
-        (WebCore::channelConfigurationForString):
-
-2017-12-07  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        Use StaticLock instead of NeverDestroyed<Lock>
-        https://bugs.webkit.org/show_bug.cgi?id=180507
-
-        Reviewed by Saam Barati.
-
-        StaticLock can be used instead of using NeverDestroyed<Lock>.
-
-        No behavior change.
-
-        * Modules/webdatabase/Database.cpp:
-        (WebCore::Database::performOpenAndVerify):
-        * Modules/webdatabase/DatabaseTracker.cpp:
-        (WebCore::DatabaseTracker::openDatabaseMutex):
-        (WebCore::DatabaseTracker::emptyDatabaseFilesRemovalTaskWillBeScheduled):
-        (WebCore::DatabaseTracker::emptyDatabaseFilesRemovalTaskDidFinish):
-        (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
-        (WebCore::DatabaseTracker::scheduleForNotification):
-        (WebCore::DatabaseTracker::notifyDatabasesChanged):
-        (WebCore::notificationMutex): Deleted.
-        * Modules/webdatabase/DatabaseTracker.h:
-        * platform/URL.cpp:
-        (WebCore::registerDefaultPortForProtocolForTesting):
-        (WebCore::clearDefaultPortForProtocolMapForTesting):
-        (WebCore::defaultPortForProtocol):
-        (WebCore::defaultPortForProtocolMapForTestingLock): Deleted.
-        * platform/graphics/MediaPlayer.cpp:
-        (WebCore::buildMediaEnginesVector):
-        (WebCore::installedMediaEngines):
-        (WebCore::MediaPlayer::resetMediaEngines):
-        (WebCore::mediaEngineVectorLock): Deleted.
-        * platform/ios/QuickLook.mm:
-        (WebCore::removeQLPreviewConverterForURL):
-        (WebCore::addQLPreviewConverterWithFileForURL):
-        (WebCore::qlPreviewConverterDictionaryMutex): Deleted.
-        * platform/ios/WebSQLiteDatabaseTrackerClient.mm:
-        (+[WebDatabaseTransactionBackgroundTaskController startBackgroundTask]):
-        (+[WebDatabaseTransactionBackgroundTaskController endBackgroundTask]):
-        (transactionBackgroundTaskIdentifierLock): Deleted.
-        * platform/network/curl/CurlContext.cpp:
-        (WebCore::CurlShareHandle::lockCallback):
-        (WebCore::CurlShareHandle::unlockCallback):
-        (WebCore::CurlShareHandle::mutexFor):
-        * platform/network/curl/CurlContext.h:
-
-2017-12-07  Brady Eidson  <beidson@apple.com>
-
-        Read registrations in from disk.
-        https://bugs.webkit.org/show_bug.cgi?id=180543
-
-        Reviewed by Andy Estes.
-
-        No new tests (Not testable quite yet)
-
-        On launch, read through the database.
-
-        Set up enough objects in the SWServer necessary to cause fetches and postMessages to
-        go to a worker that has never run before.
-
-        * workers/service/ServiceWorkerContextData.cpp:
-        (WebCore::ServiceWorkerContextData::isolatedCopy const):
-        * workers/service/ServiceWorkerContextData.h:
-        (WebCore::ServiceWorkerContextData::encode const):
-        (WebCore::ServiceWorkerContextData::decode):
-
-        * workers/service/ServiceWorkerRegistrationKey.cpp:
-        (WebCore::ServiceWorkerRegistrationKey::toDatabaseKey const):
-        (WebCore::ServiceWorkerRegistrationKey::fromDatabaseKey):
-        * workers/service/ServiceWorkerRegistrationKey.h:
-
-        * workers/service/server/RegistrationDatabase.cpp:
-        (WebCore::stringToUpdateViaCache):
-        (WebCore::stringToWorkerType):
-        (WebCore::RegistrationDatabase::doPushChanges):
-        (WebCore::RegistrationDatabase::importRecords):
-        (WebCore::RegistrationDatabase::addRegistrationToStore):
-        * workers/service/server/RegistrationDatabase.h:
-
-        * workers/service/server/RegistrationStore.cpp:
-        (WebCore::RegistrationStore::RegistrationStore):
-        (WebCore::RegistrationStore::addRegistrationFromDatabase):
-        * workers/service/server/RegistrationStore.h:
-
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::addRegistrationFromStore):
-        (WebCore::SWServer::SWServer):
-        (WebCore::SWServer::updateWorker):
-        (WebCore::SWServer::tryInstallContextData):
-        (WebCore::SWServer::installContextData):
-        (WebCore::generateServiceWorkerIdentifier): Deleted.
-        * workers/service/server/SWServer.h:
-
-        * workers/service/server/SWServerRegistration.h:
-
-        * workers/service/server/SWServerWorker.cpp:
-        (WebCore::SWServerWorker::contextData const):
-
-2017-12-07  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        Use WTF Locking primitives in WebThread and drop pthread_xxx use
-        https://bugs.webkit.org/show_bug.cgi?id=180445
-
-        Reviewed by Saam Barati.
-
-        We remove use of pthread locking primitives from WebThread implementation,
-        and use WTF Lock and Condition instead.
-
-        No behavior change.
-
-        * platform/ios/wak/WebCoreThread.mm:
-        (HandleDelegateSource):
-        (SendDelegateMessage):
-        (WebThreadRunOnMainThread):
-        (WebThreadAdoptAndRelease):
-        (WebCoreObjCDeallocOnWebThreadImpl):
-        (WebCoreObjCDeallocWithWebThreadLockImpl):
-        (HandleWebThreadReleaseSource):
-        (_WebThreadAutoLock):
-        (WebRunLoopLockInternal):
-        (CurrentThreadContext):
-        Use WTF::ThreadSpecific.
-
-        (StartWebThread):
-        (_WebThreadLock):
-        Remove `shouldTry` parameter since it is always `false`. We clean up code based on `shouldTry = false`,
-        and rename it from _WebTryThreadLock to _WebThreadLock since it does not try now.
-
-        (_WebThreadLockFromAnyThread):
-        (WebThreadUnlockFromAnyThread):
-        (_WebThreadUnlock):
-        (lockWebCoreReleaseLock): Deleted.
-        (unlockWebCoreReleaseLock): Deleted.
-        (WebTimedConditionLock): Deleted.
-        (_WebTryThreadLock): Deleted.
-
-2017-12-07  Alex Christensen  <achristensen@webkit.org>
-
-        Fix API test after r225645.
-        https://bugs.webkit.org/show_bug.cgi?id=180544
-
-        * loader/FrameLoader.cpp:
-        (WebCore::FrameLoader::loadURL):
-        (WebCore::FrameLoader::loadWithDocumentLoader):
-        The API test WebKitLegacy.FragmentNavigation started failing after r225645.
-        It does call the completion handler with ignore to cancel fragment navigation.
-        To make this work and increase compatibility, only synchronously continue with
-        fragment navigations if we haven't received a synchronous answer to the
-        decidePolicyForNavigationAction callback.
-
-2017-12-07  Oleksandr Skachkov  <gskachkov@gmail.com>
-
-        WebAssembly: sending module to iframe fails
-        https://bugs.webkit.org/show_bug.cgi?id=179263
-
-        Reviewed by JF Bastien.
-
-        Allow use WebAssembly.Module as input parameters for postMessage 
-        in window and iframe object.
-
-        Tests: wasm/iframe-postmessage.html
-               wasm/window-postmessage.html
-
-        * bindings/js/SerializedScriptValue.cpp:
-        (WebCore::CloneSerializer::dumpIfTerminal):
-        * bindings/js/SerializedScriptValue.h:
-        * page/DOMWindow.cpp:
-        (WebCore::DOMWindow::postMessage):
-
-2017-12-07  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Fix style in remote inspector classes
-        https://bugs.webkit.org/show_bug.cgi?id=180545
-
-        Reviewed by Youenn Fablet.
-
-        * page/PageDebuggable.h:
-        * workers/service/context/ServiceWorkerDebuggable.h:
-
-2017-12-07  Antti Koivisto  <antti@apple.com>
-
-        Move security origin filtering for getMatchedCSSRules out of StyleResolver
-        https://bugs.webkit.org/show_bug.cgi?id=180468
-
-        Reviewed by Zalan Bujtas.
-
-        The non-standard getMatchedCSSRules API should not return rules from stylesheets in different security origins.
-        To implement this we currently have lots of invasive code in StyleResolver, RuleSets and ElementRuleCollector
-        basically passing around a bit. This also makes RuleSets document specific blocking optimizations.
-
-        This patches replaces the mechanism with a bit in StyleRule which is much simpler.
-
-        * css/DocumentRuleSets.cpp:
-        (WebCore::makeRuleSet):
-        * css/ElementRuleCollector.cpp:
-        (WebCore::ElementRuleCollector::collectMatchingRulesForList):
-        * css/ElementRuleCollector.h:
-        (WebCore::ElementRuleCollector::setPseudoStyleRequest):
-        (WebCore::ElementRuleCollector::setSameOriginOnly): Deleted.
-        * css/RuleFeature.cpp:
-        (WebCore::RuleFeatureSet::collectFeatures):
-        * css/RuleFeature.h:
-        (WebCore::RuleFeature::RuleFeature):
-        * css/RuleSet.cpp:
-        (WebCore::RuleData::RuleData):
-        (WebCore::RuleSet::addRule):
-        (WebCore::RuleSet::addChildRules):
-        (WebCore::RuleSet::addRulesFromSheet):
-        (WebCore::RuleSet::addStyleRule):
-        * css/RuleSet.h:
-        (WebCore::RuleData::linkMatchType const):
-        (WebCore::RuleData::hasDocumentSecurityOrigin const): Deleted.
-        * css/StyleResolver.cpp:
-        (WebCore::StyleResolver::pseudoStyleRulesForElement):
-        * css/StyleResolver.h:
-        * css/StyleRule.cpp:
-        (WebCore::StyleRule::StyleRule):
-        (WebCore::StyleRule::createForSplitting):
-        (WebCore::StyleRule::splitIntoMultipleRulesWithMaximumSelectorComponentCount const):
-        (WebCore::StyleRule::create): Deleted.
-        * css/StyleRule.h:
-        (WebCore::StyleRuleBase::StyleRuleBase):
-        (WebCore::StyleRuleBase::hasDocumentSecurityOrigin const):
-
-            Add a bit.
-
-        * css/parser/CSSParser.cpp:
-        (WebCore::CSSParserContext::CSSParserContext):
-
-            Include hasDocumentSecurityOrigin bit to parser context. This means that a stylesheet data structures
-            can't be shared between a contexts where this differs. This likely very rare in practice.
-
-        (WebCore::operator==):
-        * css/parser/CSSParserImpl.cpp:
-        (WebCore::CSSParserImpl::consumeStyleRule):
-        * css/parser/CSSParserMode.h:
-        (WebCore::CSSParserContextHash::hash):
-        * editing/EditingStyle.cpp:
-        (WebCore::EditingStyle::mergeStyleFromRules):
-        * page/DOMWindow.cpp:
-        (WebCore::DOMWindow::getMatchedCSSRules const):
-
-            Filter out rules from different security origin after getting them from style resolver.
-
-2017-12-07  Zalan Bujtas  <zalan@apple.com>
-
-        AX: Document::existingAXObjectCache() should always return the existing AXObjectCache.
-        https://bugs.webkit.org/show_bug.cgi?id=180548
-        <rdar://problem/35917755>
-
-        Reviewed by Chris Fleizach.
-
-        Currently the AX cache becomes unreachable through Document::existingAXObjectCache soon after the render tree is destroyed.
-        From this point, the Node objects can't deregister themselves from the AX cache anymore. In some cases, it's
-        redundant/not advised to notify the cache about certain changes when the document is being destroyed, but the
-        callsites should make that decision.
-
-        Covered by existing tests.
-
-        * dom/Document.cpp:
-        (WebCore::Document::existingAXObjectCacheSlow const):
-        * rendering/RenderElement.cpp:
-        (WebCore::RenderElement::takeChildInternal):
-
-2017-12-07  Youenn Fablet  <youenn@apple.com>
-
-        Fix erroneous ASSERT in DocumentThreadableLoader::didFail
-        https://bugs.webkit.org/show_bug.cgi?id=180549
-
-        Reviewed by Alex Christensen.
-
-        * loader/DocumentThreadableLoader.cpp:
-        (WebCore::DocumentThreadableLoader::didFail): ASSERT was checking whether the optional was null.
-        This could never be the case since we move the value of the optional, not the optional itself.
-        Ensure that the optional value is null so that we are sure request is being loaded and make the optional null just after that.
-
-2017-12-07  Ryosuke Niwa  <rniwa@webkit.org>
-
-        iOS: Many AMP pages crash inside Document::updateStyleIfNeeded
-        https://bugs.webkit.org/show_bug.cgi?id=180550
-        <rdar://problem/35410390>
-
-        Reviewed by Zalan Bujtas.
-
-        The crash was caused when updatign the layout of an non-flattened frame inside a flattened frame.
-        In those cases, isInChildFrameWithFrameFlattening is false on the inner frame.
-
-        No new tests for now.
-
-        * dom/NoEventDispatchAssertion.h:
-        * rendering/RenderFrameBase.cpp:
-        (WebCore::RenderFrameBase::performLayoutWithFlattening): Disable the assertion temporarily here.
-        In theory, we should be able to remove the check for isInChildFrameWithFrameFlattening but we err
-        on the safer side for now.
-
-2017-12-07  Alex Christensen  <achristensen@webkit.org>
-
-        Always synchronously continue with fragment navigations
-        https://bugs.webkit.org/show_bug.cgi?id=180544
-        <rdar://problem/34815986> and <rdar://problem/35126690>
-
-        Reviewed by Geoffrey Garen.
-
-        Test: http/tests/dom/document-fragment.html
-
-        When a decidePolicyForNavigationAction completionHandler is called asynchronously,
-        the document's URL has not changed yet when JavaScript execution continues.  This causes
-        significant web incompatibility because all browsers change the document's URL immediately
-        during fragment navigations.  In order to make WebKit applications more web compatible,
-        we now immediately continue to have the state consistent.  To keep compatibility with any
-        WebView, UIWebView, or WKWebView applications that use these delegate callbacks to update
-        state, we still call decidePolicyForNavigationAction.  This would break a theoretical app
-        that would cancel fragment navigations, but it fixes apps that continue fragment navigations
-        asynchronously.
-
-        * loader/FrameLoader.cpp:
-        (WebCore::FrameLoader::loadURL):
-        (WebCore::FrameLoader::loadWithDocumentLoader):
-
-2017-12-07  Youenn Fablet  <youenn@apple.com>
-
-        Activate IDB and WebSockets in service workers
-        https://bugs.webkit.org/show_bug.cgi?id=180534
-
-        Reviewed by Brady Eidson.
-
-        Tests: http/tests/workers/service/serviceworker-idb.https.html
-               http/tests/workers/service/serviceworker-websocket.https.html
-
-        Using the dummy document used for loading to also fuel IDB and WebSocket.
-
-        * workers/service/context/ServiceWorkerThread.cpp:
-        (WebCore::ServiceWorkerThread::ServiceWorkerThread):
-        * workers/service/context/ServiceWorkerThread.h:
-        * workers/service/context/ServiceWorkerThreadProxy.cpp:
-        (WebCore::idbConnectionProxy):
-        (WebCore::ServiceWorkerThreadProxy::ServiceWorkerThreadProxy):
-
-2017-12-07  Matt Lewis  <jlewis3@apple.com>
-
-        Unreviewed, rolling out r225634.
-
-        This caused layout tests to time out.
-
-        Reverted changeset:
-
-        "Simplify log channel configuration UI"
-        https://bugs.webkit.org/show_bug.cgi?id=180527
-        https://trac.webkit.org/changeset/225634
-
-2017-12-07  Jer Noble  <jer.noble@apple.com>
-
-        [EME] Support the 'encrypted' event for FPS encrypted streams
-        https://bugs.webkit.org/show_bug.cgi?id=180480
-
-        Reviewed by Eric Carlson.
-
-        Test: platform/mac/media/encrypted-media/fps-encrypted-event.html
-
-        Pass initData and initDataType up to HTMLMediaElement from SourceBufferPrivateAVFObjC.
-
-        Drive-by fix: initialize the initData and initDataType values of MediaEncryptedEvent from
-        values in its initializer struct.
-
-        * html/HTMLMediaElement.cpp:
-        (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
-        (WebCore::HTMLMediaElement::mediaPlayerInitializationDataEncountered):
-        * html/MediaEncryptedEvent.cpp:
-        (WebCore::MediaEncryptedEvent::MediaEncryptedEvent):
-        (WebCore::MediaEncryptedEvent::initDataType): Deleted.
-        (WebCore::MediaEncryptedEvent::initData): Deleted.
-        * html/MediaEncryptedEvent.h:
-        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
-        * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
-        (WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cdmInstanceAttached):
-        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
-        (WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):
-
-2017-12-07  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        [Cocoa] Add SPI to disallow user-installed fonts
-        https://bugs.webkit.org/show_bug.cgi?id=180062
-        <rdar://problem/35042408>
-
-        Reviewed by Simon Fraser.
-
-        This hooks up a WK2 preference, ShouldDisallowUserInstalledFonts, to our font selection
-        code. This preference works by specifying an attribute to our font selection code which
-        will prohibit user-installed fonts from ever being selected. This works both to disallow
-        newly installed fonts, as well as disallowing user-installed fonts which "shadow" (or
-        have the same name as) existing fonts, so that the existing font is selected instead.
-
-        The goal of this setting is to decrease the fingerprinting surface area which trackers
-        can use to identify users on the open Web.
-
-        Tests: fast/text/user-installed-font.html
-               fast/text/user-installed-fonts/disable.html
-               fast/text/user-installed-fonts/shadow-disable.html
-               fast/text/user-installed-fonts/shadow-family-disable.html
-               fast/text/user-installed-fonts/shadow-family.html
-               fast/text/user-installed-fonts/shadow-postscript-disable.html
-               fast/text/user-installed-fonts/shadow-postscript-family-disable.html
-               fast/text/user-installed-fonts/shadow-postscript-family.html
-               fast/text/user-installed-fonts/shadow-postscript.html
-               fast/text/user-installed-fonts/shadow.html
-
-        * css/CSSFontFaceSet.cpp:
-        (WebCore::CSSFontFaceSet::ensureLocalFontFacesForFamilyRegistered):
-        * css/StyleResolver.cpp:
-        (WebCore::StyleResolver::initializeFontStyle):
-        * page/Settings.yaml:
-        * platform/graphics/FontCache.h:
-        * platform/graphics/FontDescription.cpp:
-        (WebCore::FontDescription::FontDescription):
-        * platform/graphics/FontDescription.h:
-        (WebCore::FontDescription::mayRepresentUserInstalledFont const):
-        (WebCore::FontDescription::setMayRepresentUserInstalledFont):
-        (WebCore::FontDescription::operator== const):
-        * platform/graphics/cocoa/FontCacheCoreText.cpp:
-        (WebCore::FontDatabase::singleton):
-        (WebCore::FontDatabase::singletonAllowingUserInstalledFonts):
-        (WebCore::FontDatabase::singletonDisallowingUserInstalledFonts):
-        (WebCore::FontDatabase::collectionForFamily):
-        (WebCore::FontDatabase::fontForPostScriptName):
-        (WebCore::FontDatabase::FontDatabase):
-        (WebCore::FontCache::getFontSelectionCapabilitiesInFamily):
-        (WebCore::platformFontLookupWithFamily):
-        (WebCore::invalidateFontCache):
-        (WebCore::fontWithFamily):
-        * style/StyleResolveForDocument.cpp:
-        (WebCore::Style::resolveForDocument):
-        * testing/InternalSettings.cpp:
-        (WebCore::InternalSettings::setShouldDisallowUserInstalledFonts):
-        * testing/InternalSettings.h:
-        * testing/InternalSettings.idl:
-
-2017-12-07  David Quesada  <david_quesada@apple.com>
-
-        [Web App Manifest] Support display-mode media feature
-        https://bugs.webkit.org/show_bug.cgi?id=180376
-        rdar://problem/35837993
-
-        Reviewed by Geoffrey Garen.
-
-        Tests: applicationmanifest/display-mode-subframe.html
-               applicationmanifest/display-mode.html
-
-        * Modules/applicationmanifest/ApplicationManifest.h:
-        (WebCore::ApplicationManifest::encode const):
-        (WebCore::ApplicationManifest::decode):
-        * Modules/applicationmanifest/ApplicationManifestParser.cpp:
-        (WebCore::ApplicationManifestParser::parseManifest):
-        (WebCore::ApplicationManifestParser::parseDisplay):
-        * Modules/applicationmanifest/ApplicationManifestParser.h:
-            Add a 'display' property to ApplicationManifest and have ApplicationManifestParser
-            populate it by parsing the 'display' property from the raw manifest.
-
-        * css/CSSValueKeywords.in:
-        * css/MediaFeatureNames.h:
-        * css/MediaQueryEvaluator.cpp:
-        (WebCore::displayModeEvaluate):
-            To evaluate whether a display-mode query matches, compare the parameter to the
-            display mode of the manifest applied to the main frame. If there is no manifest,
-            use the fallback display mode 'browser' - the spec mandates that display-mode
-            must be exposed even if there is no applied manifest.
-        * css/MediaQueryExpression.cpp:
-        (WebCore::featureWithValidIdent):
-        (WebCore::isFeatureValidWithoutValue):
-
-2017-12-07  Jer Noble  <jer.noble@apple.com>
-
-        Creating a second AVPlayerItemVideoOutput causes flakey failures
-        https://bugs.webkit.org/show_bug.cgi?id=177119
-        <rdar://problem/34507977>
-
-        Reviewed by Dean Jackson.
-
-        Rather than having two concurrent AVPlayerItemVideoOutputs when painting to OpenGL,
-        use only one, but with the OpenGL compatibility flags enabled, for both 3D and 2D
-        canvas painting.
-
-        Of course, once this is fixed, the test breaks again because VideoTextureCopierCV is
-        stomping on top of some WebGL state set by the test. Rather than expand the
-        VideoTextureCopierCV's GraphicsStateSaver, use a totally separate (but shared) GL context to
-        implement the texture copy, so that its own state will not affect the state of the WebGL
-        context.
-
-        This necessitates adding a new createShared() factory for GraphicsContext3D. Since this is only
-        used on Cocoa platforms (for now), make it platform specific, and modify the other implementations
-        only so far as to throw assertions if somehow a shared context pointer is passed into their
-        constructors.
-
-        Drive-by fixes: 
-
-        - These changes exposed some test failures, which were off-by-1-or-2 errors in the color
-        output of videos painted into WebGL contexts. The Y' parameter needs to be scaled by 16/255
-        for video-range conversions and the CbCr vales by 128/255 (rather than just 0.5). Make the
-        color transforms a full 4x4 matrix and do the scaling in the matrix rather than tracked by a
-        separate uniform.
-
-        - There was a slight error in WebCoreDecompressionSession that could cause seeks to never
-        complete because incoming frames would be skipped if their startTime was in the past
-        (rather than their startTime + duration being in the past).
-
-        - The matrix name comparison should use CFEqual rather than pointer equality to test.
-
-        - iOS currently has a bug where the red and green color channels will be reversed when
-        uploading BGRA pixel formatted data to a texture; work around this bug for now.
-
-        * platform/graphics/GraphicsContext3D.h:
-        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
-        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
-        (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer):
-        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame const):
-        (WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastPixelBuffer):
-        (WebCore::MediaPlayerPrivateAVFoundationObjC::videoOutputHasAvailableFrame):
-        (WebCore::MediaPlayerPrivateAVFoundationObjC::updateLastImage):
-        (WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
-        (WebCore::MediaPlayerPrivateAVFoundationObjC::copyVideoTextureToPlatformTexture):
-        (WebCore::MediaPlayerPrivateAVFoundationObjC::nativeImageForCurrentTime):
-        (WebCore::MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange):
-        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
-        (WebCore::GraphicsContext3D::GraphicsContext3D):
-        * platform/graphics/cocoa/GraphicsContext3DCocoa.mm:
-        (WebCore::GraphicsContext3D::createShared):
-        (WebCore::GraphicsContext3D::GraphicsContext3D):
-        * platform/graphics/cv/VideoTextureCopierCV.cpp:
-        (WebCore::VideoTextureCopierCV::VideoTextureCopierCV):
-        (WebCore::VideoTextureCopierCV::~VideoTextureCopierCV):
-        (WebCore::transferFunctionFromString):
-        (WebCore::YCbCrToRGBMatrixForRangeAndTransferFunction):
-        (WebCore::VideoTextureCopierCV::initializeUVContextObjects):
-        (WebCore::VideoTextureCopierCV::copyImageToPlatformTexture):
-        (WebCore::VideoTextureCopierCV::copyVideoTextureToPlatformTexture):
-        * platform/graphics/cv/VideoTextureCopierCV.h:
-        (WebCore::VideoTextureCopierCV::context):
-        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
-        (WebCore::GraphicsContext3D::GraphicsContext3D):
-
-2017-12-07  Jer Noble  <jer.noble@apple.com>
-
-        [EME] Support generateRequest() in CDMFairPlayStreaming
-        https://bugs.webkit.org/show_bug.cgi?id=179752
-
-        Reviewed by Eric Carlson.
-
-        Tests: platform/mac/media/encrypted-media/fps-createSession.html
-               platform/mac/media/encrypted-media/fps-generateRequest.html
-
-        Add support for generating license requests from initialization data in
-        CDMFairPlayStreaming. To do so, add explicit checks for FairPlay Steraming requirements:
-        reqests will fail if no server certificate exists, and will fail if no content key id exists
-        in the initialization data.
-
-        * platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
-        (WebCore::CDMPrivateFairPlayStreaming::extractKeyIDsSinf):
-        (WebCore::CDMPrivateFairPlayStreaming::sanitizeSinf):
-        (WebCore::CDMFactory::platformRegisterFactories):
-        * platform/graphics/avfoundation/CDMFairPlayStreaming.h:
-        * platform/graphics/avfoundation/objc/CDMInstanceFairPlayStreamingAVFObjC.mm:
-        (WebCore::CDMInstanceFairPlayStreamingAVFObjC::requestLicense):
-        (WebCore::CDMInstanceFairPlayStreamingAVFObjC::didProvideRequest):
-
-2017-12-07  Jer Noble  <jer.noble@apple.com>
-
-        [EME] Possible deadlock when aborting a SourceBufferPrivateAVFObjC append operation
-        https://bugs.webkit.org/show_bug.cgi?id=180486
-
-        Reviewed by Eric Carlson.
-
-        It's possible that an abort() operation which is blocked on the ongoing appendBuffer()
-        operation completing will deadlock forever, with either the willProvideContentKeyRequest
-        or didProvideContentKeyRequest callbacks blocking waiting to be run on the main thread
-        (which is itself blocked waiting for the append operation to complete).
-
-        To break this deadlock, add a new abortSemaphore which is signaled in the abort() method
-        and have the willProvide... and didProvide... methods block both on their own semaphores
-        as well as the abortSemaphore, allowing them to break out even if their main thread calls
-        never get a chance to execute.
-
-        * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
-        (-[WebAVStreamDataParserListener streamDataParserWillProvideContentKeyRequestInitializationData:forTrackID:]):
-        (-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]):
-        (WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
-        (WebCore::SourceBufferPrivateAVFObjC::abort):
-
-2017-12-07  Eric Carlson  <eric.carlson@apple.com>
-
-        Simplify log channel configuration UI
-        https://bugs.webkit.org/show_bug.cgi?id=180527
-        <rdar://problem/35908382>
-
-        Reviewed by Joseph Pecoraro.
-
-        No new tests -- no change in functionality.
-
-        * inspector/agents/WebConsoleAgent.cpp:
-        (WebCore::WebConsoleAgent::getLoggingChannels):
-        (WebCore::channelConfigurationForString):
-
-2017-12-07  Joseph Pecoraro  <pecoraro@apple.com>
-
-        ServiceWorker Inspector: Use the SW's scope url for the remote inspection target metadata
-        https://bugs.webkit.org/show_bug.cgi?id=180519
-
-        Reviewed by Youenn Fablet.
-
-        * workers/service/context/ServiceWorkerDebuggable.cpp:
-        (WebCore::ServiceWorkerDebuggable::ServiceWorkerDebuggable):
-        * workers/service/context/ServiceWorkerDebuggable.h:
-        Switch to the scope URL for the remote inspector target info.
-
-2017-12-07  Per Arne Vollan  <pvollan@apple.com>
-
-        Unreviewed Windows build fix.
-
-        * PlatformWin.cmake:
-
-2017-12-07  Michael Catanzaro  <mcatanzaro@igalia.com>
-
-        [WPE][GTK] Freeze WebKit version in user agent
-        https://bugs.webkit.org/show_bug.cgi?id=180475
-
-        Reviewed by Carlos Garcia Campos.
-
-        Apple has frozen the WebKit version in its user agent, so we should too, at the same point.
-
-        * platform/glib/UserAgentGLib.cpp:
-        (WebCore::versionForUAString):
-
-2017-12-07  Michael Catanzaro  <mcatanzaro@igalia.com>
-
-        [WPE][GTK] Update user agent quirk version strings
-        https://bugs.webkit.org/show_bug.cgi?id=180474
-
-        Reviewed by Carlos Garcia Campos.
-
-        * platform/UserAgentQuirks.cpp:
-        (WebCore::UserAgentQuirks::stringForQuirk):
-        * platform/glib/UserAgentGLib.cpp:
-        (WebCore::platformVersionForUAString):
-
-2017-12-06  Chris Dumez  <cdumez@apple.com>
-
-        We should be able to recover after a Service Worker process crash
-        https://bugs.webkit.org/show_bug.cgi?id=180477
-
-        Reviewed by Brady Eidson and Youenn Fablet.
-
-        Test: http/tests/workers/service/postmessage-after-sw-process-crash.https.html
-
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::serverToContextConnectionCreated):
-        Once the connection with the context process is established, process "run service worker"
-        requests that ocurred while establishing the connection.
-
-        (WebCore::SWServer::runServiceWorkerIfNecessary):
-        Take in a lambda function that gets called after the "run service worker" request
-        is processed. We used to assert that we had a connection to the context process.
-        We now wait for the connection to be established to process the request, thus
-        making the operation asynchronous.
-
-        (WebCore::SWServer::runServiceWorker):
-        Split some logic out of runServiceWorkerIfNecessary() to reuse in serverToContextConnectionCreated().
-
-        (WebCore::SWServer::markAllWorkersAsTerminated):
-        Add method to mark all service workers as terminated. This is called when the Service
-        Worker process crashes.
-
-        * workers/service/server/SWServer.h:
-
-2017-12-06  Saam Barati  <sbarati@apple.com>
-
-        Unreviewed. Fix iOS (and maybe other platform) build
-
-        * workers/service/server/RegistrationDatabase.cpp:
-        (WebCore::RegistrationDatabase::openSQLiteDatabase):
-
-2017-12-02  Darin Adler  <darin@apple.com>
-
-        Modernize some aspects of text codecs, eliminate WebKit use of strcasecmp
-        https://bugs.webkit.org/show_bug.cgi?id=180009
-
-        Reviewed by Alex Christensen.
-
-        * Modules/fetch/FetchBody.cpp:
-        (WebCore::FetchBody::consumeAsStream): Update to use size since the result of
-        encode is now Vector rather than CString. And for the new UnencodableHandling.
-        (WebCore::FetchBody::consumeText): Removed now-unneeded type cast. Ditto.
-        (WebCore::FetchBody::bodyAsFormData const): Ditto.
-        (WebCore::FetchBody::take): Pass result of encode directly to SharedBuffer::create.
-
-        * Modules/websockets/WebSocketDeflater.cpp: Removed include of StringExtras.h.
-        * bridge/IdentifierRep.h: Ditto.
-        * bridge/c/c_instance.cpp: Ditto.
-
-        * fileapi/BlobBuilder.cpp:
-        (WebCore::BlobBuilder::append): Updated for CString to Vector change and
-        for UnencodableHandling.
-
-        * html/parser/HTMLMetaCharsetParser.cpp:
-        (WebCore::HTMLMetaCharsetParser::checkForMetaCharset): Call the decode function
-        with all the arguments since there is only one decode function now.
-
-        * inspector/agents/InspectorDOMAgent.cpp:
-        (WebCore::computeContentSecurityPolicySHA256Hash): Updated for CString to Vector
-        change and for UnencodableHandling.
-
-        * loader/ResourceCryptographicDigest.cpp:
-        (WebCore::cryptographicDigestForBytes): Changed argument type to const void*.
-        * loader/ResourceCryptographicDigest.h: Ditto.
-
-        * loader/TextResourceDecoder.cpp:
-        (WebCore::TextResourceDecoder::TextResourceDecoder): Moved initialization of data
-        members to class definition.
-        (WebCore::TextResourceDecoder::create): Moved function body here from the header.
-        (WebCore::TextResourceDecoder::setEncoding): Use equalLettersIgnoringASCIICase.
-        (WebCore::TextResourceDecoder::shouldAutoDetect const): Updated for name change
-        to m_parentFrameAutoDetectedEncoding, which obviates a comment.
-        (WebCore::TextResourceDecoder::flush): Ditto.
-        * loader/TextResourceDecoder.h: Moved initialization here from constructor.
-        Moved function bodies out of the class. Renamed m_hintEncoding to
-        m_parentFrameAutoDetectedEncoding since that is a more accurate description.
-
-        * loader/appcache/ApplicationCacheStorage.cpp: Removed include of StringExtras.h.
-        * page/FrameTree.cpp: Ditto.
-        * page/PageSerializer.cpp: Ditto.
-        (WebCore::PageSerializer::serializeFrame): Pass result of encode directly to
-        StringBuffer::create and update for UnencodableHandling.
-        (WebCore::PageSerializer::serializeCSSStyleSheet): Ditto.
-        * page/csp/ContentSecurityPolicy.cpp:
-        (WebCore::ContentSecurityPolicy::findHashOfContentInPolicies const): Ditto.
-
-        * platform/FileHandle.cpp: Removed include of StringExtras.h.
-
-        * platform/SharedBuffer.cpp:
-        (WebCore::SharedBuffer::create): Added an overload that takes Vector<uint8_t>.
-        * platform/SharedBuffer.h: Ditto.
-
-        * platform/URLParser.cpp:
-        (WebCore::URLParser::encodeQuery): Updated since encode returns a Vector instead
-        of a CString now and for UnencodableHandling.
-        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
-        (WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): Ditto.
-
-        * platform/graphics/ca/PlatformCALayer.cpp: Removed include of StringExtras.h.
-
-        * platform/network/curl/ResourceHandleCurlDelegate.cpp:
-        (WebCore::ResourceHandleCurlDelegate::handleDataURL): Updated for Vector instead
-        of CString.
-
-        * platform/network/FormData.cpp:
-        (WebCore::FormData::create): Added new overload, and simplified some existing ones.
-        (WebCore::normalizeStringData): Changed return type to Vector<uint8_t> and updated
-        for UnencodableHandling.
-        (WebCore::FormData::appendMultiPartStringValue): Updated for change in type of
-        result of normalizeStringData.
-        * platform/network/FormData.h: Updated for the above and updated comments.
-
-        * platform/network/FormDataBuilder.cpp: Made this a namespace instead of a class.
-        (WebCore::FormDataBuilder::append): Added an overload for Vector<uint8_t>.
-        (WebCore::FormDataBuilder::appendQuoted): Renamed from appendQuotedString and
-        changed the argument type.
-        (WebCore::FormDataBuilder::appendFormURLEncoded): Moved logic up from the
-        encodeStringAsFormData function into a new separate helper.
-        (WebCore::FormDataBuilder::addFilenameToMultiPartHeader): Updated for change to
-        UnencodableHandling.
-        (WebCore::FormDataBuilder::beginMultiPartHeader): Changed argument type.
-        (WebCore::FormDataBuilder::addKeyValuePairAsFormData): Ditto.
-        (WebCore::FormDataBuilder::encodeStringAsFormData): Updated to call helper.
-        * platform/network/FormDataBuilder.h: Updated for the above.
-
-        * platform/text/DecodeEscapeSequences.h: Use Vector<uint8_t> instead of
-        Vector<char>, also updated the code that calls encode for the new return type
-        and updated for change to UnencodableHandler.
-
-        * platform/text/TextCodec.cpp:
-        (WebCore::TextCodec::getUnencodableReplacement): Updated since we are using
-        std::array now, so the out argument is easier to understand, also updated for
-        change to UnencodablaHandler.
-        * platform/text/TextCodec.h: Use std::array for the UnencodableReplacementArray
-        type, removed the overload of decode so there is only one decode function.
-
-        * platform/text/TextCodecICU.cpp:
-        (WebCore::ICUConverterWrapper::~ICUConverterWrapper): Deleted.
-        Not needed any more since we use ICUConverterPtr instead now.
-        (WebCore::cachedConverterICU): Deleted.
-        (WebCore::TextCodecICU::create): Deleted. Callers just use make_unique
-        directly now.
-        (WebCore::TextCodecICU::registerCodecs): Rewrote to use lambdas instead
-        of functions with void* pointers.
-        (WebCore::TextCodecICU::TextCodecICU): Moved initializers into the header.
-        (WebCore::TextCodecICU::~TextCodecICU): Moved the body of releaseICUConverter
-        in here. Also greatly simplified it now that ICUConverterPtr handles closing
-        it as needed.
-        (WebCore::TextCodecICU::releaseICUConverter const): Deleted.
-        (WebCore::TextCodecICU::createICUConverter const): Rewrote to simplfy now that
-        we can use ICUConverterPtr.
-        (WebCore::ErrorCallbackSetter::ErrorCallbackSetter): Take a reference instead
-        of a pointer.
-        (WebCore::ErrorCallbackSetter::~ErrorCallbackSetter): Ditto.
-        (WebCore::TextCodecICU::decode): Use equalLettersIgnoringASCIICase instead of
-        strcasecmp.
-        (WebCore::TextCodecICU::encode): Return a Vector instead of a CString.
-        Take a StringView instead of a pointer and length. Simplified
-        the backslash-as-currency-symbol code by using String::replace.
-        * platform/text/TextCodecICU.h: Updated for above. Fixed indentation.
-        Added a new ICUConverterPtr typedef that uses std::unique_ptr to close the
-        converter; combined with move semantics it simplifies things so we don't have
-        to be so careful about calling ucnv_close.
-
-        * platform/text/TextCodecLatin1.cpp: Renamed the Latin-1 to Unicode table from
-        "table" to latin1ConversionTable.
-        (WebCore::TextCodecLatin1::registerCodecs): Use a lambda.
-        (WebCore::encodeComplexWindowsLatin1): Return a Vector instad of CString.
-        Also use StringView::codePoints instead of our own U16_NEXT.
-        (WebCore::TextCodecLatin1::encode): More of the same.
-        * platform/text/TextCodecLatin1.h: Updated for the above.
-
-        * platform/text/TextCodecReplacement.cpp:
-        (WebCore::TextCodecReplacement::create): Deleted.
-        (WebCore::TextCodecReplacement::TextCodecReplacement): Deleted.
-        (WebCore::TextCodecReplacement::registerCodecs): Use a lambda.
-        * platform/text/TextCodecReplacement.h: Updated for the above.
-
-        * platform/text/TextCodecUTF16.cpp:
-        (WebCore::newStreamingTextDecoderUTF16LE): Deleted.
-        (WebCore::newStreamingTextDecoderUTF16BE): Deleted.
-        (WebCore::TextCodecUTF16::registerCodecs): Use lambdas.
-        (WebCore::TextCodecUTF16::encode): Return a Vector.
-        * platform/text/TextCodecUTF16.h: Updated for the above.
-
-        * platform/text/TextCodecUTF8.cpp:
-        (WebCore::TextCodecUTF8::registerCodecs): Use a lambda.
-        (WebCore::TextCodecUTF8::encode): Return a Vector.
-        * platform/text/TextCodecUTF8.h: Updated for the above.
-
-        * platform/text/TextCodecUserDefined.cpp:
-        (WebCore::newStreamingTextDecoderUserDefined): Deleted.
-        (WebCore::TextCodecUserDefined::registerCodecs): Use a lambda.
-        (WebCore::encodeComplexUserDefined): Return a Vector.
-        (WebCore::TextCodecUserDefined::encode): Ditto.
-        * platform/text/TextCodecUserDefined.h: Updated for the above.
-
-        * platform/text/TextEncoding.cpp: Changed TextCodecMap to just hold a
-        WTF::Function instead of holding a function and an additional data pointer.
-        (WebCore::TextEncoding::TextEncoding): Use equalLettersIgnoringASCIICase
-        instead of a special isReplacementEncoding function.
-        (WebCore::TextEncoding::encode const): Return a Vector instead of a CString.
-        Pass StringView instead of a pointer and length.
-        * platform/text/TextEncoding.h: Updated for the above.
-
-        * platform/text/TextEncodingRegistry.cpp:
-        (WebCore::addToTextCodecMap): Removed the additionalData pointer and used
-        WTFMove since NewTextCodecFunction is now a WTF::Function rather than a C
-        function pointer.
-        (WebCore::isReplacementEncoding): Deleted.
-        (WebCore::newTextCodec): Use find instead of get now that the fucntions in
-        the map are WTF::Function and can't be copied.
-        (WebCore::dumpTextEncodingNameMap): Deleted.
-        * platform/text/TextEncodingRegistry.h: Updated for the above.
-
-        * platform/text/win/TextCodecWin.cpp:
-        (WebCore::TextCodecWin::encode): Updated comment.
-
-        * xml/XMLHttpRequest.cpp:
-        (WebCore::XMLHttpRequest::send): Updated for change to UnencodableHandling.
-
-        * xml/XSLTUnicodeSort.cpp: Removed include of StringExtras.h.
-        * xml/parser/XMLDocumentParser.cpp: Ditto.
-        * xml/parser/XMLDocumentParserLibxml2.cpp: Ditto.
-
-2017-12-06  Said Abou-Hallawa  <sabouhallawa@apple.com>
-
-        Support the decoding="sync/async" syntax for image async attribute
-        https://bugs.webkit.org/show_bug.cgi?id=179432
-
-        Reviewed by Darin Adler.
-
-        Support the HTMLElementImage decoding attribute to allow controlling the
-        decoding of an image as per:
-                https://github.com/whatwg/html/pull/3221
-                https://whatpr.org/html/3221/images.html#decoding-images
-
-        Tests: fast/images/decode-decoding-attribute-async-large-image.html
-               fast/images/decoding-attribute-async-small-image.html
-               fast/images/decoding-attribute-dynamic-async-small-image.html
-               fast/images/decoding-attribute-sync-large-image.html
-
-        * html/HTMLAttributeNames.in:
-        * html/HTMLImageElement.cpp:
-        (WebCore::HTMLImageElement::decodingMode const):
-        * html/HTMLImageElement.h:
-        * html/HTMLImageElement.idl:
-        * platform/graphics/BitmapImage.cpp:
-        (WebCore::BitmapImage::draw):
-        (WebCore::BitmapImage::internalStartAnimation):
-        (WebCore::BitmapImage::advanceAnimation):
-        (WebCore::BitmapImage::internalAdvanceAnimation):
-        * platform/graphics/DecodingOptions.h:
-        (WebCore::DecodingOptions::DecodingOptions):
-        (WebCore::DecodingOptions::isAuto const):
-        (WebCore::DecodingOptions::isAsynchronousCompatibleWith const):
-        (WebCore::DecodingOptions::isNone const): Deleted.
-        * platform/graphics/ImageDecoder.h:
-        * platform/graphics/ImageFrame.cpp:
-        (WebCore::ImageFrame::clearImage):
-        * platform/graphics/ImageSource.cpp:
-        (WebCore::ImageSource::frameAtIndexCacheIfNeeded):
-        * platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h:
-        * platform/graphics/cg/ImageDecoderCG.h:
-        * platform/graphics/win/ImageDecoderDirect2D.h:
-        * platform/image-decoders/ScalableImageDecoder.h:
-        * rendering/RenderBoxModelObject.cpp:
-        (WebCore::RenderBoxModelObject::decodingModeForImageDraw const):
-        The element attributes and the document settings should be checked before
-        checking our heuristics. And since the "decoding" attribute is per an image
-        and isLargeImageAsyncDecodingEnabledForTesting() is a global setting, the
-        decoding attribute should be checked first.
-
-2017-12-06  David Quesada  <david_quesada@apple.com>
-
-        [Web App Manifest] Add SPI for applying a manifest to a top-level browsing context
-        https://bugs.webkit.org/show_bug.cgi?id=180368
-        rdar://problem/34748067
-
-        Reviewed by Geoffrey Garen.
-
-        Support applying a manifest to a top-level browsing context by adding a manifest
-        property on PageConfiguration to be stored on MainFrame instances created from the
-        configuration.
-
-        No new tests, no change in behavior.
-
-        * page/MainFrame.cpp:
-        (WebCore::MainFrame::MainFrame):
-        * page/MainFrame.h:
-        * page/PageConfiguration.h:
-
-2017-12-06  Zalan Bujtas  <zalan@apple.com>
-
-        Remove nodes from AXObjectCache when the associated subframe document is getting destroyed.
-        https://bugs.webkit.org/show_bug.cgi?id=180503
-        <rdar://problem/35891328
-
-        Reviewed by Chris Fleizach.
-
-        While AXObjectCache lives on the mainframe's document, it caches nodes from every subframe document.
-        When a node is being destroyed, we deregister it from the AX cache through the Node's destructor.
-        Soon after the document is detached from the frame/frame is detached from the frame tree, this codepath
-        is no longer available (no access to the AXObjectCache object) and from this point we are unable to deregister
-        nodes associated with the current document.
-        In AXObjectCache::prepareForDocumentDestruction(), we preemptively remove all the cached nodes associated
-        with the about-to-be-destroyed document.
-
-        Covered by existing tests.
-
-        * accessibility/AXObjectCache.cpp:
-        (WebCore::AXObjectCache::remove):
-        (WebCore::filterForRemoval):
-        (WebCore::AXObjectCache::prepareForDocumentDestruction): Collecting the nodes and removing them later is
-        not the most performant way but in order to have a single code path for the de-registration (AXObjectCache::remove)
-        I think it's worth going down the slower path -which should not really be that slower anyway since those
-        lists tend to stay small.
-        (WebCore::AXObjectCache::clearTextMarkerNodesInUse): Deleted.
-        * accessibility/AXObjectCache.h:
-        (WebCore::AXObjectCache::removeNodeForUse):
-        (WebCore::AXObjectCache::remove):
-        * dom/Document.cpp:
-        (WebCore::Document::prepareForDestruction):
-        * dom/Node.cpp:
-        (WebCore::Node::willBeDeletedFrom):
-        (WebCore::Node::moveNodeToNewDocument):
-
-2017-12-06  Brady Eidson  <beidson@apple.com>
-
-        Start writing ServiceWorker registrations to disk.
-        https://bugs.webkit.org/show_bug.cgi?id=180488
-
-        Reviewed by Chris Dumez.
-
-        No new tests (No observable behavior change).
-
-        As registrations changes occurs, we now write them to disk.
-        We don't re-read them in yet.
-
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-
-        * workers/service/ServiceWorkerRegistrationData.cpp:
-        (WebCore::ServiceWorkerRegistrationData::isolatedCopy const):
-        * workers/service/ServiceWorkerRegistrationData.h:
-        (WebCore::ServiceWorkerRegistrationData::encode const):
-        (WebCore::ServiceWorkerRegistrationData::decode):
-
-        * workers/service/ServiceWorkerRegistrationKey.cpp:
-        (WebCore::ServiceWorkerRegistrationKey::toDatabaseKey const):
-        * workers/service/ServiceWorkerRegistrationKey.h:
-
-        * workers/service/server/RegistrationDatabase.cpp: Added.
-        (WebCore::v1RecordsTableSchema):
-        (WebCore::v1RecordsTableSchemaAlternate):
-        (WebCore::databaseFilename):
-        (WebCore::RegistrationDatabase::RegistrationDatabase):
-        (WebCore::RegistrationDatabase::~RegistrationDatabase):
-        (WebCore::RegistrationDatabase::openSQLiteDatabase):
-        (WebCore::RegistrationDatabase::ensureValidRecordsTable):
-        (WebCore::updateViaCacheToString):
-        (WebCore::workerTypeToString):
-        (WebCore::RegistrationDatabase::pushChanges):
-        (WebCore::RegistrationDatabase::doPushChanges):
-        (WebCore::RegistrationDatabase::importRecords):
-        (WebCore::RegistrationDatabase::databaseFailedToOpen):
-        (WebCore::RegistrationDatabase::databaseOpenedAndRecordsImported):
-        * workers/service/server/RegistrationDatabase.h: Copied from Source/WebCore/workers/service/ServiceWorkerRegistrationData.cpp.
-        (WebCore::RegistrationDatabase::isClosed const):
-
-        * workers/service/server/RegistrationStore.cpp: Added.
-        (WebCore::RegistrationStore::RegistrationStore):
-        (WebCore::RegistrationStore::~RegistrationStore):
-        (WebCore::RegistrationStore::scheduleDatabasePushIfNecessary):
-        (WebCore::RegistrationStore::pushChangesToDatabase):
-        (WebCore::RegistrationStore::updateRegistration):
-        (WebCore::RegistrationStore::removeRegistration):
-        (WebCore::RegistrationStore::databaseFailedToOpen):
-        (WebCore::RegistrationStore::databaseOpenedAndRecordsImported):
-        * workers/service/server/RegistrationStore.h: Copied from Source/WebCore/workers/service/ServiceWorkerRegistrationData.cpp.
-
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::removeRegistration):
-        (WebCore::SWServer::SWServer):
-        (WebCore::SWServer::updateWorker):
-        (WebCore::SWServer::installContextData):
-        * workers/service/server/SWServer.h:
-
-        * workers/service/server/SWServerRegistration.cpp:
-        (WebCore::SWServerRegistration::data const):
-        * workers/service/server/SWServerRegistration.h:
-        (WebCore::SWServerRegistration::setLastUpdateTime):
-
-2017-12-06  Chris Dumez  <cdumez@apple.com>
-
-        Unreviewed, fix build after r225577.
-
-        * bindings/js/JSDOMGlobalObject.cpp:
-
-2017-12-06  David Quesada  <david_quesada@apple.com>
-
-        [Web App Manifest] Add SPI for fetching the manifest
-        https://bugs.webkit.org/show_bug.cgi?id=180294
-        rdar://problem/34747968
-
-        Reviewed by Geoffrey Garen.
-
-        Test: applicationmanifest/developer-warnings.html
-
-        * Modules/applicationmanifest/ApplicationManifest.h:
-        (WebCore::ApplicationManifest::encode const):
-        (WebCore::ApplicationManifest::decode):
-        * Modules/applicationmanifest/ApplicationManifestParser.cpp:
-        (WebCore::ApplicationManifestParser::logManifestPropertyNotAString):
-        (WebCore::ApplicationManifestParser::logManifestPropertyInvalidURL):
-            Drive-by wording changes. Since the warning is prefixed with "parsing
-            application manifest:", remove a redundant use of "application manifest".
-
-2017-12-06  Per Arne Vollan  <pvollan@apple.com>
-
-        The WebProcess should use the NSRunLoop runloop type.
-        https://bugs.webkit.org/show_bug.cgi?id=179804
-        <rdar://problem/14012823>
-
-        Reviewed by Brent Fulgham.
-
-        No new tests.
-
-        * platform/mac/EventLoopMac.mm:
-        (WebCore::EventLoop::cycle):
-
-2017-12-06  Antti Koivisto  <antti@apple.com>
-
-        Prefer ids and classes over tag names in selector filter
-        https://bugs.webkit.org/show_bug.cgi?id=180433
-        <rdar://problem/35859103>
-
-        Reviewed by Zalan Bujtas.
-
-        There are only four slots in the filter and currently we just pick whatever identifiers we find traversing the selector
-        from right to left. More specific selector types are on average more valuable (id > class > tag) so we should prefer them.
-
-        This appears to be 4-5% StyleBench progression.
-
-        * css/RuleSet.cpp:
-        (WebCore::RuleData::RuleData):
-        * css/SelectorFilter.cpp:
-        (WebCore::collectSimpleSelectorHash):
-        (WebCore::collectSelectorHashes):
-
-            This function collects all hashes from the selector.
-
-        (WebCore::chooseSelectorHashesForFilter):
-
-            This function chooses the most valuable hashes to use with the filter.
-
-        (WebCore::SelectorFilter::collectHashes):
-
-            Factor into two separate steps.
-
-        (WebCore::collectDescendantSelectorIdentifierHashes): Deleted.
-        (WebCore::SelectorFilter::collectIdentifierHashes): Deleted.
-        * css/SelectorFilter.h:
-        (WebCore::SelectorFilter::fastRejectSelector const):
-
-2017-12-06  Jer Noble  <jer.noble@apple.com>
-
-        [EME] Make CDMInstance& parameter passed through MediaPlayer non-const
-        https://bugs.webkit.org/show_bug.cgi?id=180484
-
-        Reviewed by Jon Lee.
-
-        One can only call const methods on const references, and the obvious intent
-        of these methods is for the callee to call non-const methods on the parameters.
-
-        * Modules/encryptedmedia/MediaKeys.h:
-        (WebCore::MediaKeys::cdmInstance):
-        * platform/graphics/MediaPlayer.cpp:
-        (WebCore::MediaPlayer::cdmInstanceAttached):
-        (WebCore::MediaPlayer::cdmInstanceDetached):
-        (WebCore::MediaPlayer::attemptToDecryptWithInstance):
-        * platform/graphics/MediaPlayer.h:
-        * platform/graphics/MediaPlayerPrivate.h:
-        (WebCore::MediaPlayerPrivateInterface::cdmInstanceAttached):
-        (WebCore::MediaPlayerPrivateInterface::cdmInstanceDetached):
-        (WebCore::MediaPlayerPrivateInterface::attemptToDecryptWithInstance):
-        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
-        (WebCore::MediaPlayerPrivateGStreamerBase::cdmInstanceAttached):
-        (WebCore::MediaPlayerPrivateGStreamerBase::cdmInstanceDetached):
-        (WebCore::MediaPlayerPrivateGStreamerBase::attemptToDecryptWithInstance):
-        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
-        * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
-        (WebCore::MediaPlayerPrivateGStreamerMSE::attemptToDecryptWithInstance):
-        * platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.h:
-
-2017-12-06  Youenn Fablet  <youenn@apple.com>
-
-        Preflight should bypass service worker
-        https://bugs.webkit.org/show_bug.cgi?id=180463
-
-        Reviewed by Alex Christensen.
-
-        Covered by updated test.
-
-        * loader/CrossOriginPreflightChecker.cpp:
-        (WebCore::CrossOriginPreflightChecker::startPreflight): Ensure service worker is not used.
-        * loader/DocumentThreadableLoader.cpp:
-        (WebCore::DocumentThreadableLoader::didFail): Tighten check and clear resource proactively to not hit loadRequest ASSERT.
-
-2017-12-06  John Wilander  <wilander@apple.com>
-
-        Storage Access API: Make document.hasStorageAccess a function and always allow access for same-origin iframes
-        https://bugs.webkit.org/show_bug.cgi?id=176944
-        <rdar://problem/34440658>
-
-        Reviewed by Brent Fulgham.
-
-        Test: http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-without-user-gesture.html
-
-        This change introduces document.hasStorageAccess() as a function which
-        returns a promise instead of being a property. Since cookie access can
-        be due to both a granted request and recent user interaction as first
-        party, the WebKit::WebResourceLoadStatisticsStore needs to be consulted.
-
-        * dom/Document.cpp:
-        (WebCore::Document::hasStorageAccess):
-        (WebCore::Document::requestStorageAccess):
-            Removed check of the previous m_hasStorageAccess member.
-            Same-origin check done earlier. This was a request/suggestion
-            from Mozilla.
-        * dom/Document.h:
-        (WebCore::Document::hasStorageAccess const): Deleted.
-            Now uses a promise.
-        * dom/Document.idl:
-        * page/ChromeClient.h:
-
-2017-12-06  Youenn Fablet  <youenn@apple.com>
-
-        REGRESSION (r225537): Crash in WebCore::SWServerWorker::setHasPendingEvents(bool) + 68
-        https://bugs.webkit.org/show_bug.cgi?id=180481
-
-        Reviewed by Chris Dumez.
-
-        Replacing ASSERT by if null check since there is no strong guarantee right now that there is a registration
-        in SWServer registration map associated to a SWServerWorker.
-
-        * workers/service/server/SWServerWorker.cpp:
-        (WebCore::SWServerWorker::setHasPendingEvents):
-
-2017-12-06  Chris Dumez  <cdumez@apple.com>
-
-        ServiceWorkers API should reject promises when calling objects inside detached frames
-        https://bugs.webkit.org/show_bug.cgi?id=180444
-
-        Reviewed by Youenn Fablet.
-
-        ServiceWorkers API should reject promises when calling objects inside detached frames.
-
-        No new tests, rebaselined existing test.
-
-        * bindings/js/JSDOMPromiseDeferred.h:
-        (WebCore::callPromiseFunction):
-        Use the caller's globalObject instead of the lexicalGlobalObject when constructing the
-        deferred promise. The bug became visible when working on this service worker bug since
-        rejecting the promise when the frame is detached did not actually work. The issue is
-        that since the promise was created with the detached frame's globalObject, then it was
-        suspended and would not run script.
-
-        * bindings/js/JSDOMWindowBase.cpp:
-        (WebCore::callerGlobalObject):
-        (WebCore::incumbentDOMWindow):
-        * bindings/js/JSDOMWindowBase.h:
-        Add convenience function to get the caller's globalObject. It was carved out of
-        incumbentDOMWindow().
-
-        * workers/service/ServiceWorker.cpp:
-        (WebCore::ServiceWorker::postMessage):
-        * workers/service/ServiceWorkerContainer.cpp:
-        (WebCore::ServiceWorkerContainer::addRegistration):
-        (WebCore::ServiceWorkerContainer::getRegistration):
-        (WebCore::ServiceWorkerContainer::getRegistrations):
-        * workers/service/ServiceWorkerRegistration.cpp:
-        (WebCore::ServiceWorkerRegistration::update):
-        (WebCore::ServiceWorkerRegistration::unregister):
-        Reject the promise when m_isStopped flag is set (i.e. ActiveDOMObject::stop()
-        has been called).
-
-2017-12-06  Said Abou-Hallawa  <sabouhallawa@apple.com>
-
-        [Mac] REGRESSION (r224527): Drawing a path with box-shadow takes double the blur-radius on Retina display
-        https://bugs.webkit.org/show_bug.cgi?id=180460
-        <rdar://problem/35869866>
-
-        Reviewed by Daniel Bates.
-
-        Disable using CGContextDrawPathDirect() for macOS High Sierra or earlier.
-        This API has a bug when drawing a path with a shadow on Retina display.
-        This bug is tracked internally by <rdar://problem/35620690>.
-
-
-        * platform/graphics/cg/GraphicsContextCG.cpp:
-
-2017-12-06  Youenn Fablet  <youenn@apple.com>
-
-        Service Worker fetch should filter HTTP headers that are added by CachedResourceLoader/CachedResource
-        https://bugs.webkit.org/show_bug.cgi?id=180462
-
-        Reviewed by Geoffrey Garen.
-
-        Coved by rebased test.
-
-        * loader/CrossOriginAccessControl.cpp:
-        (WebCore::cleanRedirectedRequestForAccessControl): Accept header is a safe header so it is fine to keep it.
-        * workers/service/context/ServiceWorkerFetch.cpp:
-        (WebCore::ServiceWorkerFetch::dispatchFetchEvent): Cleaning headers added by CachedResourceLoader/CachedResource.
-
-2017-12-06  Zan Dobersek  <zdobersek@igalia.com>
-
-        [CoordGraphics] Introduce Nicosia::PaintingContext, add Cairo implementation
-        https://bugs.webkit.org/show_bug.cgi?id=180239
-
-        Reviewed by Michael Catanzaro.
-
-        As the next step in the Nicosia abstraction formation, we introduce
-        Nicosia::PaintingContext. Implementations of this class will leverage a
-        chosen 2D graphics library to paint (through GraphicsContext) into the
-        memory area that's specified by a given Nicosia::Buffer object.
-
-        Nicosia::Buffer is slimmed down to only control the memory that's
-        required for rasterization of an RGBA32 painting output. It mimics the
-        Cairo ImageBuffer implementation by using FastMalloc to allocate the
-        necessary memory. In the future this class might become an interface of
-        which different implementations will be providing memory that's
-        allocated through different ways. For instance, when GLES3 is available,
-        it would be possible to map GPU memory into the process memory space and
-        rasterize into that, effectively eliminating need for GPU uploads.
-
-        Since the ImageBuffer use in Nicosia::Buffer is dropped, the context()
-        and uploadImage() methods are also removed. The functionality of
-        ImageBuffer that was leveraged for CoordinatedGraphics rasterization
-        still remains used through the PaintingContextCairo implementation. In
-        the constructor of that class, with the target Nicosia::Buffer provided,
-        we construct the cairo_surface_t and cairo_t objects that are necessary
-        to create a combination of PlatformContextCairo and GraphicsContext
-        objects that we can then use for rasterization.
-
-        Reference of the passed-in Nicosia::Buffer object is increased for the
-        lifetime of the cairo_surface_t object that will be drawing into that
-        buffer's memory area. This ensures the memory area doesn't disappear
-        from a live cairo_surface_t. Still, the expectation is that the
-        cairo_surface_t object won't outlive the PaintingContextCairo object's
-        lifetime, since the cairo_t object is also managed here and deleted in
-        the destructor. To test that, we use a cairo_surface_t user data key
-        that in its destroy callback dereferences the Nicosia::Buffer object and
-        also marks the deletion process for the related PaintingContextCairo
-        object as complete. This m_deletionComplete value is tested in the
-        destructor of the class, once all the Cairo references are nulled out.
-
-        The PaintingContext objects should be limited to a single scope,
-        enabling the implementation resources to assume that the lifetime of the
-        implementation object won't extend outside of the scope where it was
-        created. To ensure that, the PaintingContext::paint() static function is
-        added that creates the PaintingContext object and then executes the
-        passed-in functor, passing it the GraphicsContext that should be used
-        for drawing. Drawing is thus limited to that functor only, and the
-        PaintingContext's create() function and the virtual graphicsContext()
-        are not made public in the class.
-
-        No new tests -- no change in functionality.
-
-        * platform/TextureMapper.cmake:
-        * platform/graphics/nicosia/NicosiaBuffer.cpp:
-        (Nicosia::Buffer::Buffer):
-        (Nicosia::Buffer::context): Deleted.
-        (Nicosia::Buffer::uploadImage): Deleted.
-        * platform/graphics/nicosia/NicosiaBuffer.h:
-        (Nicosia::Buffer::stride const):
-        (Nicosia::Buffer::data const):
-        * platform/graphics/nicosia/NicosiaPaintingContext.cpp: Copied from Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp.
-        (Nicosia::PaintingContext::create):
-        * platform/graphics/nicosia/NicosiaPaintingContext.h: Copied from Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.cpp.
-        (Nicosia::PaintingContext::paint):
-        * platform/graphics/nicosia/NicosiaPaintingContextCairo.cpp: Added.
-        (Nicosia::PaintingContextCairo::PaintingContextCairo):
-        (Nicosia::PaintingContextCairo::~PaintingContextCairo):
-        (Nicosia::PaintingContextCairo::graphicsContext):
-        * platform/graphics/nicosia/NicosiaPaintingContextCairo.h: Copied from Source/WebCore/platform/graphics/nicosia/NicosiaBuffer.h.
-        * platform/graphics/nicosia/NicosiaPaintingEngineBasic.cpp:
-        (Nicosia::PaintingEngineBasic::paint):
-        * platform/graphics/texmap/coordinated/CoordinatedImageBacking.cpp:
-        (WebCore::CoordinatedImageBacking::update):
-
-2017-12-05  Fujii Hironori  <Hironori.Fujii@sony.com>
-
-        [GTK] Layout test media/track/track-in-band-duplicate-tracks-when-source-changes.html crashes and times out
-        https://bugs.webkit.org/show_bug.cgi?id=160131
-
-        Reviewed by Eric Carlson.
-
-        Null dereference can be happen if VideoTrack and AudioTrack are
-        disconnected from its media element.
-
-        No new tests, no behavior change.
-
-        * html/track/AudioTrack.cpp:
-        (WebCore::AudioTrack::willRemove): Null-check mediaElement.
-        * html/track/VideoTrack.cpp:
-        (WebCore::VideoTrack::setLanguage): Ditto.
-
-2017-12-05  Chris Dumez  <cdumez@apple.com>
-
-        ServiceWorkerGlobalScope prototype chain should be immutable
-        https://bugs.webkit.org/show_bug.cgi?id=180450
-
-        Reviewed by Youenn Fablet.
-
-        ServiceWorkerGlobalScope prototype chain should be immutable, similarly
-        to what we do for DOMWindow. This is covered by a web-platform-test
-        which was timing out because it was successfuly overwriting the
-        ServiceWorkerGlobalScope prototype.
-
-        No new tests, rebaselined existing test.
-
-        * workers/DedicatedWorkerGlobalScope.idl:
-        * workers/WorkerGlobalScope.idl:
-        * workers/service/ServiceWorkerGlobalScope.idl:
-
-2017-12-05  Basuke Suzuki  <Basuke.Suzuki@sony.com>
-
-        Fast binding generation by batching several files at once
-        https://bugs.webkit.org/show_bug.cgi?id=179958
-
-        Reviewed by Alex Christensen.
-
-        Passing several files to the sub process at once and reducing the total cost of
-        process generation. Especially Windows port has great speed improvement because
-        its implementation of fork/exec is terrible.
-
-        * bindings/scripts/generate-bindings-all.pl:
-        (spawnGenerateBindingsIfNeeded):
-        * bindings/scripts/generate-bindings.pl:
-        (generateBindings):
-
-2017-12-05  David Quesada  <david_quesada@apple.com>
-
-        [Web App Manifest] Support fetching the app manifest 
-        https://bugs.webkit.org/show_bug.cgi?id=180292
-
-        Reviewed by Geoffrey Garen.
-
-        Add support in WebCore for loading and parsing application manifests. This functionality
-        is currently exposed with two methods: DocumentLoader::loadApplicationManifest() to call
-        to start loading the manifest, and FrameLoaderClient::finishedLoadingApplicationManifest()
-        for clients to override in order to be notified of the loaded manifest.
-
-        No new tests, since no functionality is exposed to web content or embedders yet. The
-        needed SPI will be added in an upcoming patch.
-
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-            Added CachedApplicationManifest and ApplicationManifestLoader.
-        * html/HTMLLinkElement.h:
-        * html/LinkRelAttribute.cpp:
-        (WebCore::LinkRelAttribute::LinkRelAttribute):
-        (WebCore::LinkRelAttribute::isSupported):
-            Add "manifest" as a supported 'rel' type for links.
-        * html/LinkRelAttribute.h:
-        * inspector/agents/InspectorPageAgent.cpp:
-        (WebCore::InspectorPageAgent::resourceTypeJSON):
-        (WebCore::InspectorPageAgent::inspectorResourceType):
-        * inspector/agents/InspectorPageAgent.h:
-        * loader/ApplicationManifestLoader.cpp: Added.
-            Added a class ApplicationManifestLoader which handles creating a ResourceRequest,
-            loading the resource from the CachedResourceLoader, and parsing the resulting text.
-            This class and its relation to DocumentLoader are roughly based on that of IconLoader,
-            which serves a similar purpose - requesting a resource on the page and ultimately
-            providing it to the embedder.
-        (WebCore::ApplicationManifestLoader::ApplicationManifestLoader):
-        (WebCore::ApplicationManifestLoader::~ApplicationManifestLoader):
-        (WebCore::ApplicationManifestLoader::startLoading):
-        (WebCore::ApplicationManifestLoader::stopLoading):
-        (WebCore::ApplicationManifestLoader::processManifest):
-        (WebCore::ApplicationManifestLoader::notifyFinished):
-        * loader/ApplicationManifestLoader.h: Copied from Source/WebCore/page/csp/ContentSecurityPolicyDirectiveNames.h.
-        * loader/DocumentLoader.cpp:
-        (WebCore::DocumentLoader::stopLoading):
-        (WebCore::DocumentLoader::loadApplicationManifest):
-        (WebCore::DocumentLoader::finishedLoadingApplicationManifest):
-        (WebCore::DocumentLoader::notifyFinishedLoadingApplicationManifest):
-        * loader/DocumentLoader.h:
-        * loader/FrameLoaderClient.h:
-        * loader/LinkLoader.cpp:
-        (WebCore::createLinkPreloadResourceClient):
-        (WebCore::LinkLoader::isSupportedType):
-        * loader/ResourceLoadInfo.cpp:
-        (WebCore::toResourceType):
-        * loader/SubresourceLoader.cpp:
-        (WebCore::logResourceLoaded):
-        * loader/cache/CachedApplicationManifest.cpp: Added.
-        (WebCore::CachedApplicationManifest::CachedApplicationManifest):
-        (WebCore::CachedApplicationManifest::finishLoading):
-        (WebCore::CachedApplicationManifest::setEncoding):
-        (WebCore::CachedApplicationManifest::encoding const):
-        (WebCore::CachedApplicationManifest::process):
-            Add a method to process the fetched text into an ApplicationManifest. CachedApplicationManifest
-            does not store the resulting ApplicationManifest because the text of an application
-            manifest can yield a different ApplicationManifest depending on the URL of the document
-            processing it.
-        * loader/cache/CachedApplicationManifest.h: Copied from Source/WebCore/page/csp/ContentSecurityPolicyDirectiveNames.h.
-        * loader/cache/CachedResource.cpp:
-        (WebCore::CachedResource::defaultPriorityForResourceType):
-        * loader/cache/CachedResource.h:
-        * loader/cache/CachedResourceLoader.cpp:
-        (WebCore::createResource):
-        (WebCore::CachedResourceLoader::requestApplicationManifest):
-        (WebCore::contentTypeFromResourceType):
-        (WebCore::CachedResourceLoader::checkInsecureContent const):
-        (WebCore::CachedResourceLoader::allowedByContentSecurityPolicy const):
-        * loader/cache/CachedResourceLoader.h:
-        * page/DiagnosticLoggingKeys.cpp:
-        (WebCore::DiagnosticLoggingKeys::applicationManifestKey):
-        * page/DiagnosticLoggingKeys.h:
-        * page/csp/ContentSecurityPolicy.cpp:
-        (WebCore::ContentSecurityPolicy::allowManifestFromSource const):
-        * page/csp/ContentSecurityPolicy.h:
-        * page/csp/ContentSecurityPolicyDirectiveList.cpp:
-        (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForManifest const):
-        (WebCore::ContentSecurityPolicyDirectiveList::addDirective):
-        * page/csp/ContentSecurityPolicyDirectiveList.h:
-        * page/csp/ContentSecurityPolicyDirectiveNames.cpp:
-        * page/csp/ContentSecurityPolicyDirectiveNames.h:
-
-2017-12-05  Stephan Szabo  <stephan.szabo@sony.com>
-
-        Switch windows build to Visual Studio 2017
-        https://bugs.webkit.org/show_bug.cgi?id=172412
-
-        Reviewed by Per Arne Vollan.
-
-        Only changes proj file to update generator
-
-        * WebCore.vcxproj/WebCore.proj:
-
-2017-12-05  Brent Fulgham  <bfulgham@apple.com>
-
-        Limit user agent versioning to an upper bound
-        https://bugs.webkit.org/show_bug.cgi?id=180365
-        <rdar://problem/34550617>
-
-        Reviewed by Joseph Pecoraro.
-
-        Freeze the version reported as User Agent to OS 10.13.4 (OS 11.3 on iOS) and WebKit 605.1.15
-        for User Agent purposes.
-
-        Test: fast/dom/navigator-userAgent-frozen.html
-
-        * page/cocoa/UserAgent.h:
-        * page/cocoa/UserAgent.mm:
-        (WebCore::versionPredatesFreeze): Helper function. Returns true for Version 10.13.3 or older.
-        (WebCore::systemMarketingVersionForUserAgentString):
-        (WebCore::userAgentBundleVersion):
-        (WebCore::userVisibleWebKitBundleVersionFromFullVersion): Deleted.
-        (WebCore::userAgentBundleVersionFromFullVersionString): Deleted.
-        * page/ios/UserAgentIOS.mm:
-        (WebCore::standardUserAgentWithApplicationName): Don't take the WebKit bundle version
-        as an argument, or pass it to the user agent string generator.
-        * page/mac/UserAgentMac.mm:
-        (WebCore::standardUserAgentWithApplicationName): Ditto. 
-
-2017-12-05  Matt Lewis  <jlewis3@apple.com>
-
-        Unreviewed, rolling out r225430.
-
-        This caused an API failure on release.
-
-        Reverted changeset:
-
-        "Move DateComponents into WTF"
-        https://bugs.webkit.org/show_bug.cgi?id=180211
-        https://trac.webkit.org/changeset/225430
-
-2017-12-05  Simon Fraser  <simon.fraser@apple.com>
-
-        Composited frames incorrectly get requestAnimationFrame throttled
-        https://bugs.webkit.org/show_bug.cgi?id=178396
-
-        Reviewed by Zalan Bujtas.
-
-        If a composited iframe was inside overflow:scroll, and the overflow was scrolled to the left
-        further than the window width, then RenderLayer::childrenClipRect() would return an empty rectangle
-        and we'd incorrectly consider the iframe out of view, and thus throttle its requestAnimationFrame.
-
-        childrenClipRect() was taking unscaledDocumentRect(), applying the clip, and then mapping the result
-        from local to absolute coordinates (which mapped it through the overflow scroll offset). This is incorrect
-        because it considers the unscaledDocumentRect() to be in local coordinates, which it is not.
-
-        Instead, start with the infinite rect, which essentially tells us if we have any clipping, and then
-        intersect that with the document rect at the end. Something similar is done in other places that call.
-        calculateRects().
-
-        Test: fast/animation/request-animation-frame-throttle-inside-overflow-scroll.html
-
-        * rendering/RenderLayer.cpp:
-        (WebCore::RenderLayer::calculateClipRects const):
-
-2017-12-05  Michael Saboff  <msaboff@apple.com>
-
-        Make WebKit build for ARM64_32
-        https://bugs.webkit.org/show_bug.cgi?id=180447
-
-        Reviewed by Mark Lam.
-
-        No new test as this isn't a change to functionality.
-
-        * platform/graphics/transforms/TransformationMatrix.cpp:
-        (WebCore::TransformationMatrix::multiply): Fallback to the C++ version for
-        ARM64_32.
-
-2017-12-05  Chris Dumez  <cdumez@apple.com>
-
-        XMLHttpRequest should not be exposed to service workers
-        https://bugs.webkit.org/show_bug.cgi?id=180446
-
-        Reviewed by Youenn Fablet.
-
-        Stop exposing XMLHttpRequest to service workers, as per:
-        - https://xhr.spec.whatwg.org/#interface-xmlhttprequest
-
-        * xml/XMLHttpRequest.idl:
-
-2017-12-05  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: content views for resources loaded through XHR do not reflect declared mime-type
-        https://bugs.webkit.org/show_bug.cgi?id=141389
-        <rdar://problem/19767070>
-
-        Reviewed by Brian Burg.
-
-        Updated: http/tests/inspector/network/xhr-response-body.html:
-                 http/tests/inspector/network/fetch-response-body.html:
-
-        * xml/XMLHttpRequest.cpp:
-        (WebCore::XMLHttpRequest::didFinishLoading):
-        * inspector/InspectorInstrumentation.cpp:
-        (WebCore::InspectorInstrumentation::didFinishXHRLoadingImpl): Deleted.
-        * inspector/InspectorInstrumentation.h:
-        (WebCore::InspectorInstrumentation::didFinishXHRLoading): Deleted.
-        Remove special handling of XHR content that decoded output as text.
-
-        * inspector/NetworkResourcesData.h:
-        (WebCore::NetworkResourcesData::ResourceData::requestId const):
-        (WebCore::NetworkResourcesData::ResourceData::loaderId const):
-        (WebCore::NetworkResourcesData::ResourceData::frameId const):
-        (WebCore::NetworkResourcesData::ResourceData::url const):
-        (WebCore::NetworkResourcesData::ResourceData::content const):
-        (WebCore::NetworkResourcesData::ResourceData::isContentEvicted const):
-        (WebCore::NetworkResourcesData::ResourceData::textEncodingName const):
-        * inspector/NetworkResourcesData.cpp:
-        (WebCore::NetworkResourcesData::ResourceData::ResourceData):
-        (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
-        (WebCore::NetworkResourcesData::responseReceived):
-        (WebCore::NetworkResourcesData::setResourceContent):
-        (WebCore::shouldBufferResourceData):
-        (WebCore::NetworkResourcesData::maybeAddResourceData):
-        (WebCore::NetworkResourcesData::maybeDecodeDataToContent):
-
-        Make NetworkResourcesData only create a text decoder for resources we
-        really think are text, and buffer resource data if it is text data
-        or if it is a resource that would otherwise not be buffered by WebCore
-        (such as XHRs with a DoNotBufferData policy). This ensures that the
-        Inspector will have data to show for resources that won't be cached.
-
-        * inspector/agents/InspectorPageAgent.cpp:
-        (WebCore::InspectorPageAgent::resourceContent):
-        (WebCore::InspectorPageAgent::sourceMapURLForResource):
-        (WebCore::InspectorPageAgent::searchInResource):
-        (WebCore::InspectorPageAgent::searchInResources):
-        (WebCore::hasTextContent): Deleted.
-        (WebCore::InspectorPageAgent::cachedResourceContent): Deleted.
-        (WebCore::InspectorPageAgent::createTextDecoder): Deleted.
-        (WebCore::textContentForCachedResource): Deleted.
-        * inspector/agents/InspectorPageAgent.h:
-        * inspector/agents/InspectorNetworkAgent.cpp:
-        (WebCore::InspectorNetworkAgent::didReceiveData):
-        (WebCore::InspectorNetworkAgent::willDestroyCachedResource):
-        (WebCore::InspectorNetworkAgent::getResponseBody):
-        (WebCore::InspectorNetworkAgent::shouldTreatAsText):
-        (WebCore::InspectorNetworkAgent::createTextDecoder):
-        (WebCore::InspectorNetworkAgent::textContentForCachedResource):
-        (WebCore::InspectorNetworkAgent::cachedResourceContent):
-        (WebCore::textContentForResourceData):
-        (WebCore::InspectorNetworkAgent::searchOtherRequests):
-        (WebCore::isErrorStatusCode): Deleted.
-        (WebCore::InspectorNetworkAgent::didFinishXHRLoading): Deleted.
-        * inspector/agents/InspectorNetworkAgent.h:
-        Move static PageAgent functions related to the generic data tuple
-        (content, base64Encoded) to NetworkAgent. Also generalize it to
-        not rely on the CachedResourceType, but instead rely on the MIME type.
-        This has a few changes in behavior:
-
-            - Images, may now be text if they have a text mime type (image/svg+xml).
-            - XHR / Fetch / Other may be sent as text if they have a text mime type.
-            - XHR / Fetch / Other are not assumed to be text, and may be sent as base64 encoded.
-        
-        For this to be useful the frontend should also check the mime type and
-        display an appropriate ContentView.
-
-2017-12-05  Youenn Fablet  <youenn@apple.com>
-
-        Implement https://w3c.github.io/ServiceWorker/#clients-claim
-        https://bugs.webkit.org/show_bug.cgi?id=180261
-
-        Reviewed by Chris Dumez.
-
-        Test: http/tests/workers/service/serviceworkerclients-claim.https.html
-
-        Implement claim by going to the storage process and then iterate over clients to see whether active worker can be set.
-        Update SWServerWorker to call registration tryClear/tryActivate whenever a service worker has no pending event.
-
-        * workers/service/ServiceWorkerClients.cpp:
-        (WebCore::ServiceWorkerClients::claim):
-        * workers/service/context/SWContextManager.h:
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::claim):
-        (WebCore::SWServer::doRegistrationMatching):
-        (WebCore::SWServer::doRegistrationMatching const): Deleted.
-        * workers/service/server/SWServer.h:
-        (WebCore::SWServer::Connection::doRegistrationMatching):
-        * workers/service/server/SWServerRegistration.cpp:
-        (WebCore::SWServerRegistration::controlClient):
-        * workers/service/server/SWServerRegistration.h:
-        * workers/service/server/SWServerToContextConnection.cpp:
-        (WebCore::SWServerToContextConnection::claim):
-        * workers/service/server/SWServerToContextConnection.h:
-        * workers/service/server/SWServerWorker.cpp:
-        (WebCore::SWServerWorker::claim):
-        * workers/service/server/SWServerWorker.h:
-
-2017-12-05  Per Arne Vollan  <pvollan@apple.com>
-
-        [Win] Scrollbars are sometimes not rendered in accelerated compositing mode.
-        https://bugs.webkit.org/show_bug.cgi?id=180431
-        <rdar://problem/34531264>
-
-        Reviewed by Simon Fraser.
-
-        No new tests, covered by existing tests.
-
-        When a scroll layer is required, we will create an overflow control hosts layer.
-        In this case the method RenderLayerCompositor::shouldCompositeOverflowControls()
-        should return true, otherwise the scrollbars will not be rendered.
-        * rendering/RenderLayerCompositor.cpp:
-        (WebCore::RenderLayerCompositor::shouldCompositeOverflowControls const):
-
-2017-12-05  Youenn Fablet  <youenn@apple.com>
-
-        Call "Terminate Service Worker" on all workers when all their clients are gone
-        https://bugs.webkit.org/show_bug.cgi?id=179552
-        <rdar://problem/35836323>
-
-        Unreviewed.
-
-        * workers/service/server/SWServer.cpp: Reducing from 60_s to 10_s based on bugzilla comment.
-
-2017-12-05  Chris Dumez  <cdumez@apple.com>
-
-        Add support for ServiceWorkerContainer.prototype.ready
-        https://bugs.webkit.org/show_bug.cgi?id=180383
-
-        Reviewed by Youenn Fablet.
-
-        Add support for ServiceWorkerContainer.prototype.ready:
-        - https://w3c.github.io/ServiceWorker/#navigator-service-worker-ready
-
-        No new tests, rebaselined existing test.
-
-        * workers/service/SWClientConnection.h:
-        * workers/service/ServiceWorkerContainer.cpp:
-        (WebCore::ServiceWorkerContainer::ServiceWorkerContainer):
-        (WebCore::ServiceWorkerContainer::ready):
-        * workers/service/ServiceWorkerContainer.h:
-        * workers/service/ServiceWorkerRegistrationKey.h:
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::resolveRegistrationReadyRequests):
-        * workers/service/server/SWServer.h:
-        * workers/service/server/SWServerRegistration.cpp:
-        (WebCore::SWServerRegistration::activate):
-        (WebCore::SWServerRegistration::setIsUninstalling):
-        * workers/service/server/SWServerRegistration.h:
-
-2017-12-05  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        Modernize WebThread code for further refactoring
-        https://bugs.webkit.org/show_bug.cgi?id=180344
-
-        Reviewed by Alex Christensen.
-
-        When touching Thread and its initialization component, we need to touch
-        web thread initialization code too. However, since web thread code is old,
-        it's style is not following to WebKit coding style guidelines.
-
-        This patch first modernizes WebThread code for further refactoring.
-
-        1. `Type*` instead of `Type *`.
-        2. Use std::call_once instead of pthread_once.
-        3. Use static_cast instead of C-cast.
-        4. Use nullptr instead of NULL.
-        5. Use `ret` or `!ret` instead of `ret != 0` or `ret == 0`.
-        6. Do not use #pragma unused.
-        7. if-else with one statement should not have braces.
-
-        In this patch, we do not change pthread_condition_t to WTF::Condition and
-        pthread_mutex_t to WTF::Lock since web thread code requires extra care about
-        threading.
-
-        No behavior change.
-
-        * platform/ios/wak/WebCoreThread.mm:
-        (-[NSObject releaseOnMainThread]):
-        (SendMessage):
-        (HandleDelegateSource):
-        (SendDelegateMessage):
-        (WebThreadAdoptAndRelease):
-        (lockWebCoreReleaseLock):
-        (unlockWebCoreReleaseLock):
-        (WebCoreObjCDeallocOnWebThreadImpl):
-        (WebCoreObjCDeallocWithWebThreadLockImpl):
-        (HandleWebThreadReleaseSource):
-        (WebThreadCallDelegate):
-        (WebThreadPostNotification):
-        (WebThreadCallDelegateAsync):
-        (WebThreadMakeNSInvocation):
-        (MainRunLoopAutoUnlock):
-        (_WebThreadAutoLock):
-        (WebRunLoopLock):
-        (WebRunLoopUnlock):
-        (MainRunLoopUnlockGuard):
-        (CurrentThreadContext):
-        (RunWebThread):
-        (StartWebThread):
-        (WebTimedConditionLock):
-        (_WebTryThreadLock):
-        (WebThreadUnlockFromAnyThread):
-        (WebThreadUnlockGuardForMail):
-        (_WebThreadUnlock):
-        (WebThreadIsLocked):
-        (WebThreadLockPopModal):
-        (WebThreadCurrentContext):
-        (WebThreadEnable):
-        (FreeThreadContext): Deleted.
-        (InitThreadContextKey): Deleted.
-
-2017-12-05  Alex Christensen  <achristensen@webkit.org>
-
-        Fix non-unified build after r225381
-        https://bugs.webkit.org/show_bug.cgi?id=180434
-
-        Reviewed by Keith Miller.
-
-        * loader/ResourceTimingInformation.cpp:
-        FrameLoader.h is included in other files that are combined with this file in unified builds,
-        but we need to merge r225381 to a branch that doesn't use unified builds.  This build failure
-        would've come up randomly in the future when we add files, too.
-
-2017-12-05  Simon Fraser  <simon.fraser@apple.com>
-
-        Remove webkitGetImageDataHD and webkitPutImageDataHD from canvas API
-        https://bugs.webkit.org/show_bug.cgi?id=180387
-
-        Reviewed by Dean Jackson.
-
-        CanvasRenderingContext2D.webkitGetImageDataHD and webkitPutImageDataHD were never standardized,
-        and Blink removed support in 2014 (https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/FOPH5dloGG8).
-
-        Since our canvas backing store is always 1x, they have no use anyway, so remove them.
-
-        * html/canvas/CanvasRenderingContext2D.cpp:
-        (WebCore::CanvasRenderingContext2D::putImageData):
-        (WebCore::CanvasRenderingContext2D::webkitGetImageDataHD const): Deleted.
-        (WebCore::CanvasRenderingContext2D::webkitPutImageDataHD): Deleted.
-        * html/canvas/CanvasRenderingContext2D.h:
-        * html/canvas/CanvasRenderingContext2D.idl:
-
-2017-12-05  Youenn Fablet  <youenn@apple.com>
-
-        Implement setting of service worker to client in SWServer without going to WebProcess
-        https://bugs.webkit.org/show_bug.cgi?id=180382
-
-        Reviewed by Chris Dumez.
-
-        No change of behavior.
-
-        This patch removes the notification of active worker setting from ScriptExecution/WebProcess up to SWServer/StorageProcess.
-        Instead, active worker setting is fully done/controlled in SWServer.
-        Whenever there is a change, SWServer notifies WebProcess and ScriptExecutionContext gets updated accordingly.
-
-        * dom/Document.cpp:
-        (WebCore::Document::setServiceWorkerConnection):
-        * dom/ScriptExecutionContext.cpp:
-        (WebCore::ScriptExecutionContext::setActiveServiceWorker):
-        * loader/DocumentLoader.cpp:
-        (WebCore::DocumentLoader::commitData):
-        * workers/service/SWClientConnection.h:
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::setClientActiveWorker):
-        (WebCore::SWServer::registerServiceWorkerClient):
-        (WebCore::SWServer::registrationFromServiceWorkerIdentifier):
-        (WebCore::SWServer::unregisterServiceWorkerClient):
-        (WebCore::SWServer::Connection::serviceWorkerStartedControllingClient): Deleted.
-        (WebCore::SWServer::Connection::serviceWorkerStoppedControllingClient): Deleted.
-        (WebCore::SWServer::serviceWorkerStartedControllingClient): Deleted.
-        (WebCore::SWServer::serviceWorkerStoppedControllingClient): Deleted.
-        * workers/service/server/SWServer.h:
-        * workers/service/server/SWServerRegistration.cpp:
-        (WebCore::SWServerRegistration::activate):
-
-2017-12-01  Filip Pizlo  <fpizlo@apple.com>
-
-        GC constraint solving should be parallel
-        https://bugs.webkit.org/show_bug.cgi?id=179934
-
-        Reviewed by JF Bastien.
-
-        No new tests because no change in behavior. This change is best tested using DOM-GC-intensive
-        benchmarks like Speedometer and Dromaeo.
-        
-        This parallelizes the DOM's output constraint, and makes some small changes to make this more
-        scalable.
-
-        * ForwardingHeaders/heap/SimpleMarkingConstraint.h: Added.
-        * ForwardingHeaders/heap/VisitingTimeout.h: Removed.
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-        * bindings/js/DOMGCOutputConstraint.cpp: Added.
-        (WebCore::DOMGCOutputConstraint::DOMGCOutputConstraint):
-        (WebCore::DOMGCOutputConstraint::~DOMGCOutputConstraint):
-        (WebCore::DOMGCOutputConstraint::executeImpl):
-        (WebCore::DOMGCOutputConstraint::doParallelWorkImpl):
-        (WebCore::DOMGCOutputConstraint::finishParallelWorkImpl):
-        * bindings/js/DOMGCOutputConstraint.h: Added.
-        * bindings/js/WebCoreJSClientData.cpp:
-        (WebCore::JSVMClientData::initNormalWorld):
-        * dom/Node.cpp:
-        (WebCore::Node::eventTargetDataConcurrently):
-        (WebCore::Node::ensureEventTargetData):
-        (WebCore::Node::clearEventTargetData):
-
-2017-12-05  Antoine Quint  <graouts@apple.com>
-
-        <video> and scale() transforms yield shrunk small or clipped controls
-        https://bugs.webkit.org/show_bug.cgi?id=180358
-        <rdar://problem/34436124>
-
-        Unreviewed.
-
-        Use DOMMatrix vs. WebKitCSSMatrix per Simon's post-commit review feedback.
-
-        * Modules/modern-media-controls/media/media-controller.js:
-        (MediaController.prototype._updateControlsSize):
-
-2017-12-04  Chris Dumez  <cdumez@apple.com>
-
-        Support container.getRegistration() / getRegistrations() inside service workers
-        https://bugs.webkit.org/show_bug.cgi?id=180360
-
-        Reviewed by Youenn Fablet.
-
-        Support container.getRegistration() / getRegistrations() inside service workers
-        by making sure we hop to the right thread when needed.
-
-        Test: http/tests/workers/service/ServiceWorkerGlobalScope_getRegistration.html
-
-        * dom/ScriptExecutionContext.cpp:
-        (WebCore::ScriptExecutionContext::postTaskTo):
-        * dom/ScriptExecutionContext.h:
-        * workers/service/SWClientConnection.cpp:
-        (WebCore::SWClientConnection::jobRejectedInServer):
-        (WebCore::SWClientConnection::registrationJobResolvedInServer):
-        (WebCore::SWClientConnection::unregistrationJobResolvedInServer):
-        (WebCore::SWClientConnection::startScriptFetchForServer):
-        (WebCore::SWClientConnection::clearPendingJobs):
-        * workers/service/SWClientConnection.h:
-        * workers/service/ServiceWorkerContainer.cpp:
-        (WebCore::ServiceWorkerContainer::getRegistration):
-        (WebCore::ServiceWorkerContainer::didFinishGetRegistrationRequest):
-        (WebCore::ServiceWorkerContainer::getRegistrations):
-        (WebCore::ServiceWorkerContainer::didFinishGetRegistrationsRequest):
-        (WebCore::ServiceWorkerContainer::stop):
-        * workers/service/ServiceWorkerContainer.h:
-
-2017-12-04  Simon Fraser  <simon.fraser@apple.com>
-
-        Cleanup code that computes iframe content offsets in FrameView
-        https://bugs.webkit.org/show_bug.cgi?id=180385
-
-        Reviewed by Zalan Bujtas.
-
-        The coordinate conversion functions in FrameView explicitly added borderLeft/paddingLeft
-        and borderTop/paddingTop to compute the offset from the contents of a frame to its parent renderer.
-        
-        This is equivalent to the call to contextBoxRect() that RenderWidget::updateWidgetGeometry() does,
-        which also takes left-side scrollbars into account.
-        
-        Coordinate offsets don't need height and width, so add RenderBox::contentBoxLocation() that just
-        computes the top left, and use it in FrameView.
-
-        * page/FrameView.cpp:
-        (WebCore::FrameView::invalidateRect):
-        (WebCore::FrameView::convertToContainingView const):
-        (WebCore::FrameView::convertFromContainingView const):
-        * platform/graphics/FloatPoint.h:
-        (WebCore::FloatPoint::scaled const):
-        (WebCore::FloatPoint::scaled): Deleted.
-        * rendering/RenderBox.cpp:
-        (WebCore::RenderBox::contentBoxLocation const):
-        * rendering/RenderBox.h:
-
-2017-12-04  Nan Wang  <n_wang@apple.com>
-
-        AX: AOM: Implement relation type properties
-        https://bugs.webkit.org/show_bug.cgi?id=179500
-
-        Reviewed by Ryosuke Niwa.
-
-        Accessibility Object Model
-        Explainer: https://wicg.github.io/aom/explainer.html
-        Spec: https://wicg.github.io/aom/spec/
-
-        Implemented the AOM support for activeDescendant, details and errorMessage.
-        The corresponding ARIA attributes all take IDREFs, and the AOM properties
-        take references to AccessibleNodes instead.
-
-        Test: accessibility/mac/AOM-relation-property.html
-
-        * accessibility/AccessibilityObject.cpp:
-        (WebCore::AccessibilityObject::getAttribute const):
-        (WebCore::AccessibilityObject::hasProperty const):
-        (WebCore::AccessibilityObject::stringValueForProperty const):
-        (WebCore::AccessibilityObject::boolValueForProperty const):
-        (WebCore::AccessibilityObject::intValueForProperty const):
-        (WebCore::AccessibilityObject::unsignedValueForProperty const):
-        (WebCore::AccessibilityObject::doubleValueForProperty const):
-        (WebCore::AccessibilityObject::elementValueForProperty const):
-        (WebCore::AccessibilityObject::supportsARIAAttributes const):
-        (WebCore::AccessibilityObject::elementsFromProperty const):
-        (WebCore::AccessibilityObject::elementsReferencedByProperty const):
-        (WebCore::AccessibilityObject::ariaActiveDescendantReferencingElements const):
-        (WebCore::AccessibilityObject::ariaDetailsElements const):
-        (WebCore::AccessibilityObject::ariaDetailsReferencingElements const):
-        (WebCore::AccessibilityObject::ariaErrorMessageElements const):
-        (WebCore::AccessibilityObject::ariaErrorMessageReferencingElements const):
-        * accessibility/AccessibilityObject.h:
-        * accessibility/AccessibilityRenderObject.cpp:
-        (WebCore::AccessibilityRenderObject::activeDescendant const):
-        * accessibility/AccessibleNode.cpp:
-        (WebCore::ariaAttributeMap):
-        (WebCore::isPropertyValueRelation):
-        (WebCore::AccessibleNode::attributeFromAXPropertyName):
-        (WebCore::AccessibleNode::setRelationProperty):
-        (WebCore::AccessibleNode::singleRelationValueForProperty):
-        (WebCore::AccessibleNode::activeDescendant const):
-        (WebCore::AccessibleNode::setActiveDescendant):
-        (WebCore::AccessibleNode::details const):
-        (WebCore::AccessibleNode::setDetails):
-        (WebCore::AccessibleNode::errorMessage const):
-        (WebCore::AccessibleNode::setErrorMessage):
-        * accessibility/AccessibleNode.h:
-        * accessibility/AccessibleNode.idl:
-        * accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
-        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
-
-2017-12-04  Simon Fraser  <simon.fraser@apple.com>
-
-        Minor DisplayRefreshMonitor-related cleanup
-        https://bugs.webkit.org/show_bug.cgi?id=179802
-
-        Reviewed by Sam Weinig.
-
-        New trace point for when the CVDisplayLink fires on its own thread.
-
-        Some #pragma once, and put all the WellKnownRunLoopOrders in one place.
-
-        * inspector/agents/InspectorTimelineAgent.cpp:
-        (WebCore::InspectorTimelineAgent::internalStart):
-        * platform/cf/RunLoopObserver.h:
-        * platform/graphics/DisplayRefreshMonitor.cpp:
-        (WebCore::DisplayRefreshMonitor::displayDidRefresh):
-        * platform/graphics/ca/LayerFlushScheduler.h:
-        * platform/graphics/ca/cocoa/LayerFlushSchedulerMac.cpp:
-        (WebCore::LayerFlushScheduler::LayerFlushScheduler):
-
-2017-12-04  David Quesada  <david_quesada@apple.com>
-
-        Add a class for parsing application manifests
-        https://bugs.webkit.org/show_bug.cgi?id=177973
-        rdar://problem/34747949
-
-        Reviewed by Geoffrey Garen.
-
-        Add a new struct ApplicationManifest, along with ApplicationManifestParser to initialize
-        ApplicationManifests from JSON data, according to the App Manifest spec. Just a basic subset
-        of the manifests's properties are implemented to start with.
-
-        ApplicationManifestParser is tested by new unit tests in TestWebKitAPI.
-
-        * Configurations/FeatureDefines.xcconfig: Add ENABLE_APPLICATION_MANIFEST feature flag.
-        * Modules/applicationmanifest/ApplicationManifest.h: Added.
-        * Modules/applicationmanifest/ApplicationManifestParser.cpp: Added.
-        (WebCore::ApplicationManifestParser::parse):
-        The main entry point for eventual clients (and currently the unit tests) to invoke
-        ApplicationManifestParser. There is a variant that accepts a ScriptExecutionContext that
-        uses the context exclusively for logging console warnings while parsing the manifest, and
-        not for actually executing any scripts.
-        (WebCore::ApplicationManifestParser::ApplicationManifestParser):
-        (WebCore::ApplicationManifestParser::parseManifest):
-        (WebCore::ApplicationManifestParser::logManifestPropertyNotAString):
-        (WebCore::ApplicationManifestParser::logManifestPropertyInvalidURL):
-        (WebCore::ApplicationManifestParser::logDeveloperWarning):
-        (WebCore::ApplicationManifestParser::parseStartURL):
-        (WebCore::ApplicationManifestParser::parseName):
-        (WebCore::ApplicationManifestParser::parseDescription):
-        (WebCore::ApplicationManifestParser::parseShortName):
-        (WebCore::isInScope):
-        (WebCore::ApplicationManifestParser::parseScope):
-        (WebCore::ApplicationManifestParser::parseGenericString):
-        * Modules/applicationmanifest/ApplicationManifestParser.h: Added.
-        * Sources.txt:
-        * WebCore.xcodeproj/project.pbxproj:
-        * features.json: Change the Web App Manifest feature status to "In Development"
-
-2017-12-04  Zalan Bujtas  <zalan@apple.com>
-
-        RenderMultiColumnFlow::fragmentedFlowDescendantInserted should not destroy incoming newDescendant
-        https://bugs.webkit.org/show_bug.cgi?id=180181
-
-        Reviewed by Antti Koivisto.
-
-        This is in preparation for having all multicolumn related tree mutation in RenderTreeUpdaterMultiColumn.
-
-        Covered by fast/multicol/column-span-range-crash.html
-
-        * rendering/RenderMultiColumnFlow.cpp:
-        (WebCore::RenderMultiColumnFlow::fragmentedFlowDescendantInserted):
-        * rendering/RenderMultiColumnFlow.h:
-        * style/RenderTreeUpdaterMultiColumn.cpp:
-        (WebCore::RenderTreeUpdater::MultiColumn::destroyFragmentedFlow):
-
-2017-12-04  JF Bastien  <jfbastien@apple.com>
-
-        Update std::expected to match libc++ coding style
-        https://bugs.webkit.org/show_bug.cgi?id=180264
-
-        Reviewed by Alex Christensen.
-
-        Update various uses of Expected, mostly renaming valueOr and
-        hasValue to the STL naming convention.
-
-        * Modules/cache/DOMCache.cpp:
-        (WebCore::DOMCache::retrieveRecords):
-        (WebCore::DOMCache::batchDeleteOperation):
-        (WebCore::DOMCache::batchPutOperation):
-        * Modules/cache/DOMCacheStorage.cpp:
-        (WebCore::DOMCacheStorage::retrieveCaches):
-        (WebCore::DOMCacheStorage::open):
-        (WebCore::DOMCacheStorage::remove):
-        * Modules/cache/WorkerCacheStorageConnection.cpp:
-        (WebCore::WorkerCacheStorageConnection::doRemove):
-        (WebCore::WorkerCacheStorageConnection::doRetrieveCaches):
-        (WebCore::recordsDataOrErrorFromRecords):
-        (WebCore::recordsOrErrorFromRecordsData):
-        * bindings/js/CachedScriptFetcher.cpp:
-        (WebCore::CachedScriptFetcher::requestScriptWithCache const):
-        * contentextensions/ContentExtensionCompiler.cpp:
-        (WebCore::ContentExtensions::compileRuleList):
-        * contentextensions/ContentExtensionParser.cpp:
-        (WebCore::ContentExtensions::getDomainList):
-        (WebCore::ContentExtensions::loadTrigger):
-        (WebCore::ContentExtensions::loadRule):
-        (WebCore::ContentExtensions::loadEncodedRules):
-        (WebCore::ContentExtensions::parseRuleList):
-        * css/CSSFontFaceSrcValue.cpp:
-        (WebCore::CSSFontFaceSrcValue::cachedFont):
-        * css/CSSImageSetValue.cpp:
-        (WebCore::CSSImageSetValue::loadBestFitImage):
-        * css/CSSImageValue.cpp:
-        (WebCore::CSSImageValue::loadImage):
-        * css/StyleRuleImport.cpp:
-        (WebCore::StyleRuleImport::requestStyleSheet):
-        * dom/CallbackResult.h:
-        (WebCore::CallbackResult<ReturnType>::type const):
-        (WebCore::CallbackResult<ReturnType>::releaseReturnValue):
-        * dom/Element.cpp:
-        (WebCore::Element::getIntegralAttribute const):
-        (WebCore::Element::getUnsignedIntegralAttribute const):
-        * dom/ExceptionOr.h:
-        (WebCore::ExceptionOr<ReturnType>::hasException const):
-        (WebCore::ExceptionOr<void>::hasException const):
-        * dom/ProcessingInstruction.cpp:
-        (WebCore::ProcessingInstruction::checkStyleSheet):
-        * html/HTMLInputElement.cpp:
-        (WebCore::HTMLInputElement::maxLengthAttributeChanged):
-        (WebCore::HTMLInputElement::minLengthAttributeChanged):
-        * html/HTMLLinkElement.cpp:
-        (WebCore::HTMLLinkElement::process):
-        * html/HTMLTextAreaElement.cpp:
-        (WebCore::HTMLTextAreaElement::maxLengthAttributeChanged):
-        (WebCore::HTMLTextAreaElement::minLengthAttributeChanged):
-        * html/parser/HTMLParserIdioms.cpp:
-        (WebCore::parseHTMLNonNegativeInteger):
-        * html/parser/HTMLParserIdioms.h:
-        (WebCore::limitToOnlyHTMLNonNegative):
-        * loader/CrossOriginPreflightChecker.cpp:
-        (WebCore::CrossOriginPreflightChecker::startPreflight):
-        * loader/DocumentLoader.cpp:
-        (WebCore::DocumentLoader::loadMainResource):
-        * loader/DocumentThreadableLoader.cpp:
-        (WebCore::DocumentThreadableLoader::loadRequest):
-        * loader/ImageLoader.cpp:
-        (WebCore::ImageLoader::updateFromElement):
-        * loader/LinkLoader.cpp:
-        (WebCore::LinkLoader::preloadIfNeeded):
-        (WebCore::LinkLoader::loadLink):
-        * loader/MediaResourceLoader.cpp:
-        (WebCore::MediaResourceLoader::requestResource):
-        * loader/TextTrackLoader.cpp:
-        (WebCore::TextTrackLoader::load):
-        * loader/cache/CachedSVGDocumentReference.cpp:
-        (WebCore::CachedSVGDocumentReference::load):
-        * loader/icon/IconLoader.cpp:
-        (WebCore::IconLoader::startLoading):
-        * platform/URLParser.cpp:
-        (WebCore::URLParser::parseIPv4Host):
-        * platform/graphics/avfoundation/cf/WebCoreAVCFResourceLoader.cpp:
-        (WebCore::WebCoreAVCFResourceLoader::startLoading):
-        * platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
-        (WebCore::WebCoreAVFResourceLoader::startLoading):
-        * svg/SVGFEImageElement.cpp:
-        (WebCore::SVGFEImageElement::requestImageResource):
-        * svg/SVGFontFaceUriElement.cpp:
-        (WebCore::SVGFontFaceUriElement::loadFont):
-        * svg/SVGUseElement.cpp:
-        (WebCore::SVGUseElement::updateExternalDocument):
-        * xml/XSLImportRule.cpp:
-        (WebCore::XSLImportRule::loadSheet):
-
-2017-12-04  Zalan Bujtas  <zalan@apple.com>
-
-        REGRESSION (r211531): Text flow changes and overlaps other text after double-click selecting paragraph
-        https://bugs.webkit.org/show_bug.cgi?id=180377
-        <rdar://problem/34337967>
-
-        Reviewed by Antti Koivisto.
-
-        Take floats into account when computing the available width for a certain vertical position.
-
-        Test: fast/block/float/simple-line-layout-float-shrink-line.html
-
-        * rendering/SimpleLineLayout.cpp:
-        (WebCore::SimpleLineLayout::updateLineConstrains):
-
-2017-12-04  Antoine Quint  <graouts@apple.com>
-
-        <video> and scale() transforms yield shrunk small or clipped controls
-        https://bugs.webkit.org/show_bug.cgi?id=180358
-        <rdar://problem/34436124>
-
-        Reviewed by Dean Jackson.
-
-        To compute the bounds of the media controls, we would call getBoundingClientRect()
-        on the root-most element in the shadow root, which is styled to have width and height
-        set to 100%, which allows to match the metrics of the host media element, without
-        the borders.
-
-        However, if the host media element has CSS transforms applied, these would be factored
-        into calls to getBoundingClientRect() and the controls would be too large and clipped,
-        in case the scale was more than 1, or shrunk, in case the scale was less than 1.
-
-        To obtain correct metrics, we computed the complete transformation matrix applied to
-        the host media element, and apply its inverted matrix to each corner point of the
-        bounds returned for the root-most container element in the shadow root.
-
-        Then we compute the width and height of this transformed rectangle and set those to
-        be our media controls' metrics.
-
-        Test: media/modern-media-controls/css/transformed-media.html
-
-        * Modules/modern-media-controls/media/media-controller.js:
-        (MediaController.prototype._updateControlsSize):
-        (MediaController.prototype._controlsWidth): Deleted.
-
-2017-12-04  Antoine Quint  <graouts@apple.com>
-
-        Cursor is not visible after exiting full screen video
-        https://bugs.webkit.org/show_bug.cgi?id=180247
-        <rdar://problem/33885922>
-
-        Reviewed by Dean Jackson.
-
-        There is a dedicated NSCursor method to temporarily hide the mouse cursor while the mouse is idle,
-        so we use this platform functionality, already exposed through the page chrome, instead which
-        implements the expected behavior. Now, the mouse cursor is hidden while the mouse is stationary
-        when a <video> is fullscreen, as before, but as soon as the user exits fullscreen, the mouse cursor
-        reappears.
-
-        No test provided as I don't believe this platform behavior can be tested, there is no API to query
-        whether the cursor is visible.
-
-        * page/EventHandler.cpp:
-        (WebCore::EventHandler::cancelAutoHideCursorTimer):
-        (WebCore::EventHandler::autoHideCursorTimerFired):
-
-2017-12-04  Chris Dumez  <cdumez@apple.com>
-
-        ServiceWorkerGlobalScope::skipWaiting(Ref<DeferredPromise>&&) is unsafe
-        https://bugs.webkit.org/show_bug.cgi?id=180372
-
-        Reviewed by Youenn Fablet.
-
-        Ref the WorkerThread and capture it in the lambda. Keep the pending promises in
-        a HashMap on the ServiceWorkerGlobalScope so that they stay on the worker thread.
-
-        * workers/service/ServiceWorkerGlobalScope.cpp:
-        (WebCore::ServiceWorkerGlobalScope::skipWaiting):
-        * workers/service/ServiceWorkerGlobalScope.h:
-
-2017-12-04  Brady Eidson  <beidson@apple.com>
-
-        Get a directory path to SWServers for storing ServiceWorker registrations.
-        https://bugs.webkit.org/show_bug.cgi?id=180362
-
-        Reviewed by Chris Dumez.
-
-        No new tests (No observable behavior change yet).
-
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::SWServer):
-        * workers/service/server/SWServer.h:
-
-2017-12-04  Devin Rousso  <webkit@devinrousso.com>
-
-        Web Inspector: provide method for recording CanvasRenderingContext2D from JavaScript
-        https://bugs.webkit.org/show_bug.cgi?id=175166
-        <rdar://problem/34040740>
-
-        Reviewed by Joseph Pecoraro.
-
-        No new tests, updated existing tests.
-
-        * inspector/InspectorCanvas.h:
-        * inspector/InspectorCanvas.cpp:
-        (WebCore::InspectorCanvas::resetRecordingData):
-
-        * inspector/InspectorCanvasAgent.h:
-        * inspector/InspectorCanvasAgent.cpp:
-        (WebCore::InspectorCanvasAgent::didFinishRecordingCanvasFrame):
-        (WebCore::InspectorCanvasAgent::consoleStartRecordingCanvas):
-
-        * inspector/InspectorInstrumentation.h:
-        * inspector/InspectorInstrumentation.cpp:
-        (WebCore::InspectorInstrumentation::consoleStartRecordingCanvas):
-        (WebCore::InspectorInstrumentation::consoleStartRecordingCanvasImpl):
-
-        * page/PageConsoleClient.h:
-        * page/PageConsoleClient.cpp:
-        (WebCore::PageConsoleClient::record):
-        (WebCore::PageConsoleClient::recordEnd):
-
-        * workers/WorkerConsoleClient.h:
-        * workers/WorkerConsoleClient.cpp:
-        (WebCore::WorkerConsoleClient::record):
-        (WebCore::WorkerConsoleClient::recordEnd):
-
-2017-12-04  Youenn Fablet  <youenn@apple.com>
-
-        Call "Terminate Service Worker" on all workers when all their clients are gone
-        https://bugs.webkit.org/show_bug.cgi?id=179552
-
-        Reviewed by Chris Dumez.
-
-        Tested manually.
-
-        When SWServer detects that there is no longer any client for a given client origin,
-        it iterates through the running workers to terminate them if they have the given client origin.
-        A timer of 60 seconds is used in case a user closes a tab or a window, and reopens one with the same origin shortly after.
-
-        * workers/service/server/SWServer.cpp:
-        (WebCore::SWServer::findClientByIdentifier):
-        (WebCore::SWServer::matchAll):
-        (WebCore::SWServer::registerServiceWorkerClient):
-        (WebCore::SWServer::unregisterServiceWorkerClient):
-        * workers/service/server/SWServer.h:
-
-2017-12-04  Antti Koivisto  <antti@apple.com>
-
-        Enable selector filtering for ::before and ::after pseudo element resolution
-        https://bugs.webkit.org/show_bug.cgi?id=180364
-
-        Reviewed by Ryosuke Niwa.
-
-        Since these pseudo elements are now resolved by TreeResolver we can use selector filter for them.
-
-        This is 10%+ progression in StyleBench pseudo element subtest.
-
-        * css/StyleResolver.cpp:
-        (WebCore::StyleResolver::pseudoStyleForElement):
-        * css/StyleResolver.h:
-        * style/StyleTreeResolver.cpp:
-        (WebCore::Style::TreeResolver::resolvePseudoStyle):
-
-2017-12-04  Youenn Fablet  <youenn@apple.com>
-
-        Add support https://w3c.github.io/ServiceWorker/#on-client-unload-algorithm
-        https://bugs.webkit.org/show_bug.cgi?id=180359
-
-        Reviewed by Chris Dumez.
-
-        This algorithm is needed for implementation of claim.
-        As per specification, it is run for every client unload, hence why this is put in removeClientUsingRegistration.
-
-        * workers/service/server/SWServerRegistration.cpp:
-        (WebCore::SWServerRegistration::removeClientUsingRegistration):
-        (WebCore::SWServerRegistration::handleClientUnload):
-        * workers/service/server/SWServerRegistration.h:
-
-2017-12-04  Antti Koivisto  <antti@apple.com>
-
-        Remove duplicates from selector filter hashes
-        https://bugs.webkit.org/show_bug.cgi?id=180354
-
-        Reviewed by Simon Fraser.
-
-        We have only four slots for hashes in RuleSet and adding more regresses performance. To use the limited slots
-        better we should eliminate duplicates.
-
-        This patch also switches to using std::array instead of a C array for the hashes.
-
-        The patch reduces the number of selectors passing through the selector filter in StyleBench by ~0.4%.
-
-        * css/ElementRuleCollector.cpp:
-        (WebCore::ElementRuleCollector::collectMatchingRulesForList):
-        * css/RuleSet.cpp:
-        (WebCore::RuleData::RuleData):
-        * css/RuleSet.h:
-        (WebCore::RuleData::descendantSelectorIdentifierHashes const):
-        * css/SelectorFilter.cpp:
-        (WebCore::collectDescendantSelectorIdentifierHashes):
-        (WebCore::SelectorFilter::collectIdentifierHashes):
-        * css/SelectorFilter.h:
-        (WebCore::SelectorFilter::fastRejectSelector const):
-
-2017-12-04  Youenn Fablet  <youenn@apple.com>
-
-        WorkerCacheStorageConnection should handle the case of terminated workers
-        https://bugs.webkit.org/show_bug.cgi?id=180304
-
-        Reviewed by Chris Dumez.
-
-        No web page observable change of behavior.
-
-        Reworked WorkerCacheStorageConnection hopping.
-        Instead of refing/unrefing itself, it refs the worker thread and the main thread connection.
-        This worker thread is then used on the way back from the main thread.
-
-        * Modules/cache/WorkerCacheStorageConnection.cpp:
-        (WebCore::WorkerCacheStorageConnection::create):
-        (WebCore::WorkerCacheStorageConnection::WorkerCacheStorageConnection):
-        (WebCore::WorkerCacheStorageConnection::doOpen):
-        (WebCore::WorkerCacheStorageConnection::doRemove):
-        (WebCore::WorkerCacheStorageConnection::doRetrieveCaches):
-        (WebCore::WorkerCacheStorageConnection::reference):
-        (WebCore::WorkerCacheStorageConnection::dereference):
-        (WebCore::WorkerCacheStorageConnection::doRetrieveRecords):
-        (WebCore::WorkerCacheStorageConnection::doBatchDeleteOperation):
-        (WebCore::WorkerCacheStorageConnection::doBatchPutOperation):
-        * Modules/cache/WorkerCacheStorageConnection.h:
-        * workers/WorkerGlobalScope.cpp:
-        (WebCore::WorkerGlobalScope::cacheStorageConnection):
-        * workers/WorkerGlobalScope.h:
-
-2017-12-04  Frederic Wang  <fwang@igalia.com>
-
-        Make ScrollingTreeNode::enclosingFrameNode return the node itself for frame nodes
-        https://bugs.webkit.org/show_bug.cgi?id=180353
-
-        Reviewed by Antonio Gomes.
-
-        This function was introduced in bug 175135 to solve a rendering bug with fixed positioned
-        nodes in overflow nodes. For a frame node, the reference frame to use for fixed nodes is
-        actually the frame node itself or otherwise we will get the same rendering bug. This patch
-        makes enclosingFrameNode return the node itself when it is a frame node and renames it to
-        clarify this behavior. Currently, enclosingFrameNode is not used for frame nodes so the
-        behavior is unchanged.
-
-        No new tests, behavior is unchanged.
-
-        * page/scrolling/ScrollingTreeNode.cpp:
-        (WebCore::ScrollingTreeNode::enclosingFrameNodeIncludingSelf): Start the search from a frame
-        scrolling node from the node itself. Renamed to make explicit that this function may include
-        the node itself.
-        * page/scrolling/ScrollingTreeNode.h: Renamed.
-
-2017-12-04  Michael Catanzaro  <mcatanzaro@igalia.com>
-
-        [WPE][GTK] Implement PAL::SleepDisabler
-        https://bugs.webkit.org/show_bug.cgi?id=178485
-
-        Reviewed by Carlos Garcia Campos.
-
-        Add a comment to warn about some odd use of SleepDisabler in HTMLMediaElement.
-
-        * html/HTMLMediaElement.cpp:
-        (WebCore::HTMLMediaElement::shouldDisableSleep const):
-
-2017-12-04  Frederic Wang  <fwang@igalia.com>
-
-        Bug 161300 - Move RenderMathMLRoot:RootType and RenderMathMLScripts:ScriptsType to element classes
-        https://bugs.webkit.org/show_bug.cgi?id=161300
-
-        Reviewed by Darin Adler.
-
-        RenderMathMLRoot::m_kind and RenderMathMLScripts::m_scriptType are initialized in the
-        constructors of the renderer classes from the tag name of the corresponding elements.
-        This patch moves them into the corresponding element classes and makes them const members
-        parsed in the constructors. It also introduces a MathMLRootElement class deriving from
-        MathMLRowElement to store the new member. Finally, the types are redefined as enum classes.
-
-        No new tests, behavior unchanged and already covered by existing tests.
-
-        * Sources.txt: Add MathMLRootElement files.
-        * WebCore.xcodeproj/project.pbxproj: Ditto.
-        * mathml/MathMLAllInOne.cpp: Ditto.
-        * mathml/MathMLRootElement.cpp:
-        (WebCore::element): Override this function to downcast to MathMLRootElement.
-        (WebCore::rootTypeOf): Helper function to parse the root type, moved from RenderMathMLRoot.
-        (WebCore::MathMLRootElement::MathMLRootElement): Initialize the root type.
-        (WebCore::MathMLRootElement::create):
-        (WebCore::MathMLRootElement::createElementRenderer): Moved from MathMLRowElement.
-        * mathml/MathMLRootElement.h: New class deriving from MathMLRowElement, with a RootType
-        member exposed to the renderer class.
-        * mathml/MathMLRowElement.cpp: Remove header for RenderMathMLRoot.h.
-        (WebCore::MathMLRowElement::createElementRenderer): Moved to MathMLRootElement.
-        * mathml/MathMLScriptsElement.cpp: Introduce a script type.
-        (WebCore::scriptTypeOf): Helper function to parse the script type, moved from
-        RenerMathMLScripts.
-        (WebCore::MathMLScriptsElement::MathMLScriptsElement): Initialize the script type.
-        * mathml/MathMLScriptsElement.h: Add new script type member.
-        (WebCore::MathMLScriptsElement::scriptType const): Expose the script type to the renderer
-        class.
-        * mathml/mathtags.in: Map <msqrt> and <mroot> to MathMLRootElement.
-        * rendering/mathml/RenderMathMLRoot.cpp:
-        (WebCore::RenderMathMLRoot::RenderMathMLRoot): Use MathMLRootElement and remove parsing of
-        the root type.
-        (WebCore::RenderMathMLRoot::rootType const): Helper function to access the root type from
-        the element class.
-        (WebCore::RenderMathMLRoot::isValid const): Use rootType() and add prefix for enum class
-        values.
-        (WebCore::RenderMathMLRoot::getBase const): Ditto.
-        (WebCore::RenderMathMLRoot::getIndex const): Ditto.
-        (WebCore::RenderMathMLRoot::horizontalParameters): Ditto.
-        (WebCore::RenderMathMLRoot::verticalParameters): Ditto.
-        (WebCore::RenderMathMLRoot::computePreferredLogicalWidths): Ditto.
-        (WebCore::RenderMathMLRoot::layoutBlock): Ditto.
-        (WebCore::RenderMathMLRoot::paint): Ditto.
-        * rendering/mathml/RenderMathMLRoot.h: Define root type as an enum class, replace
-        MathMLRowElement with MathMLRootElement, declare and use new rootType() function and remove
-        the m_kind member.
-        * rendering/mathml/RenderMathMLScripts.cpp:
-        (WebCore::RenderMathMLScripts::RenderMathMLScripts): Remove parsing of script type.
-        (WebCore::RenderMathMLScripts::scriptType const): Helper function to access the script type
-        from the element class.
-        (WebCore::RenderMathMLScripts::validateAndGetReferenceChildren): Use scriptType() and add
-        prefix for enum class values.
-        (WebCore::RenderMathMLScripts::computePreferredLogicalWidths): Ditto.
-        (WebCore::RenderMathMLScripts::verticalMetrics): Ditto.
-        (WebCore::RenderMathMLScripts::layoutBlock): Ditto.
-        * rendering/mathml/RenderMathMLScripts.h: Define root type as an enum class, declare the
-        scriptType() function and remove the m_scriptType member.
-        * rendering/mathml/RenderMathMLUnderOver.cpp:
-        (WebCore::RenderMathMLUnderOver::isValid const): Use scriptType() and add prefix for enum
-        class values.
-        (WebCore::RenderMathMLUnderOver::under const): Ditto.
-        (WebCore::RenderMathMLUnderOver::over const): Ditto.
-        (WebCore::RenderMathMLUnderOver::computePreferredLogicalWidths): Ditto.
-        (WebCore::RenderMathMLUnderOver::hasAccent const): Ditto.
-        (WebCore::RenderMathMLUnderOver::layoutBlock): Ditto.
-
-2017-12-04  Carlos Garcia Campos  <cgarcia@igalia.com>
-
-        [GStreamer] More leaks in TextCombinerGStreamer
-        https://bugs.webkit.org/show_bug.cgi?id=180331
-
-        Reviewed by Michael Catanzaro.
-
-        I've noticed more leaks reading the code, but I couldn't check them with valgrind, because I don't know how to
-        trigger that code path. This patch cleans up the file using smart pointer everywhere.
-
-        * platform/graphics/gstreamer/TextCombinerGStreamer.cpp:
-        (webkit_text_combiner_pad_init):
-        (webkitTextCombinerPadEvent):
-        (webkitTextCombinerReleasePad):
-
-2017-12-04  Jer Noble  <jer.noble@apple.com>
-
-        Include 'video/*' in image request Accept header if browser supports video media in image contexts.
-        https://bugs.webkit.org/show_bug.cgi?id=179178
-
-        Reviewed by Alex Christensen.
-
-        Test: http/tests/images/image-supports-video.html
-
-        Ensure that 'video/*' is included in the Accept header by asking the ImageDecoder whether "Video"
-        media is supported. The ImageDecoder will ask all it's constituent decoders, which aside from
-        ImageDecoderAVFObjC will say only support the "Image" media type.
-
-        Drive-by fix: Make sure the MIMETypeRegistry includes all the types supported by AVFoundation when
-        ImageDecoderAVFObjC is enabled. Also, now that Image reports it can support video mime types, check
-        whether MediaDocument can support a given mime type before asking ImageDocument.
-
-        * html/HTMLImageElement.cpp:
-        (WebCore::HTMLImageElement::bestFitSourceFromPictureElement):
-        * loader/LinkLoader.cpp:
-        (WebCore::LinkLoader::isSupportedType):
-        * loader/cache/CachedResourceRequest.cpp:
-        (WebCore::acceptHeaderValueFromType):
-        * platform/MIMETypeRegistry.cpp:
-        (WebCore::MIMETypeRegistry::isSupportedImageVideoOrSVGMIMEType):
-        (WebCore::MIMETypeRegistry::isSupportedImageOrSVGMIMEType): Deleted.
-        * platform/MIMETypeRegistry.h:
-        * platform/graphics/ImageDecoder.cpp:
-        (WebCore::ImageDecoder::supportsMediaType):
-        * platform/graphics/ImageDecoder.h:
-        * platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.h:
-        (WebCore::ImageDecoderAVFObjC::supportsMediaType):
-        * platform/graphics/avfoundation/objc/ImageDecoderAVFObjC.mm:
-        (WebCore::ImageDecoderAVFObjC::supportsContentType):
-        * platform/graphics/cg/ImageDecoderCG.h:
-        * platform/graphics/win/ImageDecoderDirect2D.h:
-        * platform/image-decoders/ScalableImageDecoder.h:
-        (WebCore::ScalableImageDecoder::supportsMediaType):
-        * html/parser/HTMLPreloadScanner.cpp:
-        (WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
-
-2017-12-03  Yusuke Suzuki  <utatane.tea@gmail.com>
-
-        WTF shouldn't have both Thread and ThreadIdentifier
-        https://bugs.webkit.org/show_bug.cgi?id=180308
-
-        Reviewed by Darin Adler.
-
-        No behavior change.
-
-        * Modules/indexeddb/IDBActiveDOMObject.h:
-        (WebCore::IDBActiveDOMObject::originThread const):
-        (WebCore::IDBActiveDOMObject::performCallbackOnOriginThread):
-        (WebCore::IDBActiveDOMObject::callFunctionOnOriginThread):
-        (WebCore::IDBActiveDOMObject::originThreadID const): Deleted.
-        * Modules/indexeddb/IDBCursor.cpp:
-        (WebCore::IDBCursor::IDBCursor):
-        (WebCore::IDBCursor::~IDBCursor):
-        (WebCore::IDBCursor::sourcesDeleted const):
-        (WebCore::IDBCursor::transaction const):
-        (WebCore::IDBCursor::update):
-        (WebCore::IDBCursor::advance):
-        (WebCore::IDBCursor::continueFunction):
-        (WebCore::IDBCursor::uncheckedIterateCursor):
-        (WebCore::IDBCursor::deleteFunction):
-        (WebCore::IDBCursor::setGetResult):
-        * Modules/indexeddb/IDBDatabase.cpp:
-        (WebCore::IDBDatabase::~IDBDatabase):
-        (WebCore::IDBDatabase::hasPendingActivity const):
-        (WebCore::IDBDatabase::name const):
-        (WebCore::IDBDatabase::version const):
-        (WebCore::IDBDatabase::objectStoreNames const):
-        (WebCore::IDBDatabase::renameObjectStore):
-        (WebCore::IDBDatabase::renameIndex):
-        (WebCore::IDBDatabase::createObjectStore):
-        (WebCore::IDBDatabase::transaction):
-        (WebCore::IDBDatabase::deleteObjectStore):
-        (WebCore::IDBDatabase::close):
-        (WebCore::IDBDatabase::connectionToServerLost):
-        (WebCore::IDBDatabase::maybeCloseInServer):
-        (WebCore::IDBDatabase::activeDOMObjectName const):
-        (WebCore::IDBDatabase::canSuspendForDocumentSuspension const):