ChangeLog   [plain text]


2021-04-08  Russell Epstein  <repstein@apple.com>

        Cherry-pick r272707. rdar://problem/76375033

    Use event loop to set title
    https://bugs.webkit.org/show_bug.cgi?id=218496
    
    Patch by Rob Buis <rbuis@igalia.com> on 2021-02-10
    Reviewed by Darin Adler.
    
    Source/WebCore:
    
    Use event loop to set title to avoid calling WebFrameLoaderClient
    within HTMLTitleElement::insertedIntoAncestor.
    
    * dom/Document.cpp:
    (WebCore::Document::updateTitle):
    * dom/Document.h:
    (WebCore::Document::titleWithDirection const):
    * loader/DocumentLoader.cpp:
    (WebCore::DocumentLoader::setTitle):
    * loader/EmptyClients.h:
    * page/Chrome.cpp:
    (WebCore::Chrome::print):
    * page/ChromeClient.h:
    
    Source/WebKit:
    
    Add title parameter to PrintFrame message.
    
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::printFrame):
    * UIProcess/WebPageProxy.h:
    * UIProcess/WebPageProxy.messages.in:
    * WebProcess/WebCoreSupport/WebChromeClient.cpp:
    (WebKit::WebChromeClient::print):
    * WebProcess/WebCoreSupport/WebChromeClient.h:
    
    Source/WebKitLegacy/mac:
    
    Adjust to API change.
    
    * WebCoreSupport/WebChromeClient.h:
    * WebCoreSupport/WebChromeClient.mm:
    (WebChromeClient::print):
    
    Source/WebKitLegacy/win:
    
    Adjust to API change.
    
    * WebCoreSupport/WebChromeClient.cpp:
    (WebChromeClient::print):
    * WebCoreSupport/WebChromeClient.h:
    
    Tools:
    
    Adapt unit tests to wait for title change tasks
    to be processed.
    
    * TestWebKitAPI/Tests/WebKit/PageLoadState.cpp:
    (TestWebKitAPI::didChangeTitle):
    (TestWebKitAPI::TEST):
    * TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
    (TEST):
    * TestWebKitAPI/Tests/WebKitGLib/TestAuthentication.cpp:
    (testWebViewAuthenticationFailure):
    (testWebViewAuthenticationNoCredential):
    (testWebViewAuthenticationSuccess):
    (testWebViewAuthenticationEmptyRealm):
    * TestWebKitAPI/Tests/WebKitGLib/TestBackForwardList.cpp:
    (testBackForwardListNavigation):
    * TestWebKitAPI/Tests/WebKitGLib/TestLoaderClient.cpp:
    (testWebViewTitle):
    * TestWebKitAPI/Tests/WebKitGLib/TestSSL.cpp:
    (testLoadFailedWithTLSErrors):
    * TestWebKitAPI/Tests/WebKitGLib/TestWebKitSettings.cpp:
    (testWebKitSettingsJavaScriptMarkup):
    * TestWebKitAPI/Tests/WebKitGLib/TestWebKitWebView.cpp:
    (testWebViewTitleChange):
    
    LayoutTests:
    
    Adapt tests to make sure pending title change tasks
    are processed before the test is done.
    
    * TestExpectations:
    * fast/dom/title-text-property-2.html:
    * fast/dom/title-text-property-assigning-empty-string.html:
    * fast/dom/title-text-property.html:
    * http/tests/globalhistory/history-delegate-basic-title-expected.txt:
    * http/tests/globalhistory/history-delegate-basic-title.html:
    * http/tests/loading/basic-auth-load-URL-with-consecutive-slashes-expected.txt:
    * http/tests/loading/basic-auth-load-URL-with-consecutive-slashes.html:
    * http/tests/loading/redirect-with-no-location-crash-expected.txt:
    * http/tests/loading/redirect-with-no-location-crash.html:
    * platform/mac-wk2/TestExpectations:
    * platform/win/http/tests/loading/basic-auth-load-URL-with-consecutive-slashes-expected.txt: Copied from LayoutTests/http/tests/loading/basic-auth-load-URL-with-consecutive-slashes-expected.txt.
    * platform/wk2/http/tests/loading/basic-auth-load-URL-with-consecutive-slashes-expected.txt:
    * platform/wk2/http/tests/loading/redirect-with-no-location-crash-expected.txt:
    
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272707 268f45cc-cd09-0410-ab3c-d52691b4dbfc

    2021-02-10  Rob Buis  <rbuis@igalia.com>

            Use event loop to set title
            https://bugs.webkit.org/show_bug.cgi?id=218496

            Reviewed by Darin Adler.

            Adjust to API change.

            * WebCoreSupport/WebChromeClient.h:
            * WebCoreSupport/WebChromeClient.mm:
            (WebChromeClient::print):

2021-02-16  Ruben Turcios  <rubent_22@apple.com>

        Cherry-pick r272550. rdar://problem/74409264

    Make the UserContentController for ServiceWorker pages be non-optional.
    <rdar://problem/71434565> and https://bugs.webkit.org/show_bug.cgi?id=221503
    
    Reviewed by Alex Christensen.
    Source/WebCore:
    
    * loader/EmptyClients.cpp:
    (WebCore::pageConfigurationWithEmptyClients):
    
    * page/Page.cpp:
    (WebCore::Page::Page):
    
    * page/PageConfiguration.cpp:
    (WebCore::PageConfiguration::PageConfiguration):
    * page/PageConfiguration.h:
    
    Source/WebKit:
    
    Normal Pages always have a UserContentProvider, even if they just create an empty default one.
    
    Same should be true for ServiceWorkers.
    
    * Shared/ServiceWorkerInitializationData.cpp:
    (WebKit::ServiceWorkerInitializationData::decode):
    * Shared/ServiceWorkerInitializationData.h:
    
    * UIProcess/WebProcessPool.cpp:
    (WebKit::WebProcessPool::userContentControllerIdentifierForServiceWorkers):
    (WebKit::WebProcessPool::createWebPage):
    * UIProcess/WebProcessPool.h:
    
    * UIProcess/WebProcessProxy.cpp:
    (WebKit::WebProcessProxy::enableServiceWorkers):
    * UIProcess/WebProcessProxy.h:
    
    * WebProcess/Storage/WebSWContextManagerConnection.cpp:
    (WebKit::m_userContentController):
    (WebKit::m_userAgent): Deleted.
    * WebProcess/Storage/WebSWContextManagerConnection.h:
    
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::m_limitsNavigationsToAppBoundDomains):
    
    Source/WebKitLegacy/mac:
    
    * WebView/WebView.mm:
    (-[WebView _commonInitializationWithFrameName:groupName:]):
    
    Source/WebKitLegacy/win:
    
    * WebView.cpp:
    (WebView::initWithFrame):
    
    
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@272550 268f45cc-cd09-0410-ab3c-d52691b4dbfc

    2021-02-08  Brady Eidson  <beidson@apple.com>

            Make the UserContentController for ServiceWorker pages be non-optional.
            <rdar://problem/71434565> and https://bugs.webkit.org/show_bug.cgi?id=221503

            Reviewed by Alex Christensen.

            * WebView/WebView.mm:
            (-[WebView _commonInitializationWithFrameName:groupName:]):

2021-02-02  Alan Coon  <alancoon@apple.com>

        Cherry-pick r271926. rdar://problem/73889676

    REGRESSION(r267641): WebKitDeveloperExtras preference has no effect for WebKitLegacy clients
    https://bugs.webkit.org/show_bug.cgi?id=220996
    <rdar://72173139>
    
    Reviewed by Sam Weinig.
    
    Source/WebKitLegacy/mac:
    
    Read back this preference when propagating it, because the value depends on
    more than just the preference key. For example, it allows Debug builds to act
    as if the preference is always enabled.
    
    * WebView/WebView.mm:
    (-[WebView _preferencesChanged:]):
    
    Source/WTF:
    
    This preference should use custom bindings for WebKitLegacy.
    
    * Scripts/Preferences/WebPreferencesDebug.yaml:
    
    
    git-svn-id: https://svn.webkit.org/repository/webkit/trunk@271926 268f45cc-cd09-0410-ab3c-d52691b4dbfc

    2021-01-26  BJ Burg  <bburg@apple.com>

            REGRESSION(r267641): WebKitDeveloperExtras preference has no effect for WebKitLegacy clients
            https://bugs.webkit.org/show_bug.cgi?id=220996
            <rdar://72173139>

            Reviewed by Sam Weinig.

            Read back this preference when propagating it, because the value depends on
            more than just the preference key. For example, it allows Debug builds to act
            as if the preference is always enabled.

            * WebView/WebView.mm:
            (-[WebView _preferencesChanged:]):

2021-01-07  Alexey Shvayka  <shvaikalesh@gmail.com>

        [JSC] Simplify get*PropertyNames() methods and EnumerationMode
        https://bugs.webkit.org/show_bug.cgi?id=212954

        Reviewed by Yusuke Suzuki.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::enumerate):

2021-01-06  Jer Noble  <jer.noble@apple.com>

        [Cocoa] Revert audioTimePitchAlgorithm to "TimeDomain" from "Spectral"
        https://bugs.webkit.org/show_bug.cgi?id=220341

        Reviewed by Youenn Fablet.

        Add a private preference to control what pitch correction algorithm will be used by MediaPlayer.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences _pitchCorrectionAlgorithm]):
        (-[WebPreferences _setPitchCorrectionAlgorithm:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2021-01-04  Jeff Miller  <jeffm@apple.com>

        Update user-visible copyright strings to include 2021
        https://bugs.webkit.org/show_bug.cgi?id=219901

        Reviewed by Anders Carlsson.

        * Info.plist:

2020-12-19  Rob Buis  <rbuis@igalia.com>

        Move FrameLoader::arePluginsEnabled to Frame
        https://bugs.webkit.org/show_bug.cgi?id=220022

        Reviewed by Sam Weinig.

        Adapt to API change.

        * WebCoreSupport/WebPluginInfoProvider.mm:
        (WebPluginInfoProvider::pluginInfo):
        * WebView/WebFrame.mm:
        (-[WebFrame _canProvideDocumentSource]):

2020-12-18  Megan Gardner  <megan_gardner@apple.com>

        Gate all of the code associated with app highlights
        https://bugs.webkit.org/show_bug.cgi?id=220003
        <rdar://problem/72451893>

        Reviewed by Tim Horton.

        * WebView/WebHTMLView.mm:
        (toTag):

2020-12-17  Rob Buis  <rbuis@igalia.com>

        Make FontCascade::CodePath an enum class
        https://bugs.webkit.org/show_bug.cgi?id=219947

        Reviewed by Alex Christensen.

        Adapt to enum class change.

        * WebView/WebView.mm:
        (+[WebView _setAlwaysUsesComplexTextCodePath:]):

2020-12-14  Chris Dumez  <cdumez@apple.com>

        Unreviewed, reverting r270768.

        Still crashes in debug in a different location

        Reverted changeset:

        "[GPUProcess] Crash under
        AudioDestinationCocoa::setIsPlaying(bool)"
        https://bugs.webkit.org/show_bug.cgi?id=219809
        https://trac.webkit.org/changeset/270768

2020-12-14  Chris Dumez  <cdumez@apple.com>

        [GPUProcess] Crash under AudioDestinationCocoa::setIsPlaying(bool)
        https://bugs.webkit.org/show_bug.cgi?id=219809

        Reviewed by Eric Carlson.

        * WebCoreSupport/WebPlatformStrategies.mm:

2020-12-11  Darin Adler  <darin@apple.com>

        [Cocoa] REGRESSION (r270315): WebKitLegacy builds fail with "unifdef" error message
        https://bugs.webkit.org/show_bug.cgi?id=219756

        Reviewed by Sam Weinig.

        Was seeing this error: Unifdef: can't open Debug/WebKitLegacy.framework/Versions/A/Headers/*.h.tmp: No such file or directory.
        Keith figured out it was because there are no public headers in the WebKitLegacy framework.

        * postprocess-headers.sh: Remove the line that post-processes public headers.

2020-12-10  Adam Roben  <aroben@apple.com>

        macOS Production WebKitLegacy build is broken on Xcode 10
        https://bugs.webkit.org/show_bug.cgi?id=219753

        Reviewed by Tim Horton.

        * Configurations/WebKitLegacy.xcconfig: Replaced :default= syntax that
        is only supported in Xcode 11.4 and newer with the equivalent
        WK_DEFAULT_PLATFORM_NAME variable.

2020-12-09  Per Arne Vollan  <pvollan@apple.com>

        [macOS] Change Universal Access zoom in the UI process
        https://bugs.webkit.org/show_bug.cgi?id=219635

        Reviewed by Darin Adler.

        Implement the method changeUniversalAccessZoomFocus in the WebKit legacy chrome client by changing
        the Universal Access zoom in-process.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::changeUniversalAccessZoomFocus):

2020-12-04  Adam Roben  <aroben@apple.com>

        More FALLBACK_PLATFORM adoption
        https://bugs.webkit.org/show_bug.cgi?id=219545

        Reviewed by Tim Horton.

        * Configurations/SDKVariant.xcconfig:
        WK_EMPTY_$(THIS_IS_NOT_EMPTY) evaluates to the empty string, not to
        NO.

2020-12-03  Adam Roben  <aroben@apple.com>

        Adopt FALLBACK_PLATFORM
        https://bugs.webkit.org/show_bug.cgi?id=219504

        Reviewed by Tim Horton.

        * Configurations/SDKVariant.xcconfig:
        * Configurations/WebKitLegacy.xcconfig:
        Use FALLBACK_PLATFORM it if it's defined, otherwise use PLATFORM_NAME
        as before.

2020-12-01  Keith Rollin  <krollin@apple.com>

        Consolidate header postprocessing scripts
        https://bugs.webkit.org/show_bug.cgi?id=219388
        <rdar://problem/71840357>

        Reviewed by David Kilzer.

        Our build system contains the following scripts to perform some
        postprocessing of headers that we export to the SDK:

            JavaScriptCore/postprocess-headers.sh
            WebKit/mac/postprocess-framework-headers.sh
            WebKitLegacy/mac/postprocess-headers.sh

        The preceding scripts are used when using the non-XCBuild -- or
        "legacy" -- Xcode build system. They are invoked in a custom Run
        Script build phase after the headers have been exported with the
        standard Xcode facility for creating frameworks.

        Alternatively, we also have the following postprocessing scripts:

            WebKit/Scripts/postprocess-header-rule
            JavaScriptCore/Scripts/postprocess-header-rule
            WebKitLegacy/scripts/postprocess-header-rule

        These scripts are used when using the XCBuild build system. They are
        invoked *during* the header export process to copy and postprocess the
        headers in one blow. They are part of a Custom Build Rule for
        exporting files ending in ".h".

        The reason why we have two sets of scripts is because of the different
        capabilities of the two Xcode build systems. The legacy system does
        not support a custom "export header" step that would allow us to copy
        and postprocess each header in a single step. Therefore, when using
        the legacy build system, we export in one build step and postprocess
        in a subsequent build step. And XCBuild doesn't like the approach
        taken by the old build system where files are exported first and then
        munged in a separate step, since that confuses its notion of the state
        of the build ("Hey! That file I exported in the previous build? I see
        now that it's been changed, so I'm going to export it again. And
        change its modification date. And then rebuild everything downstream
        that uses it."). Therefore, XCBuild added a facility for copying and
        postprocessing in one step.

        The scripts supporting each of these approaches are very similar to
        each other, such that there is a lot of code duplication between them.
        At the same time, by having two sets of scripts that are very similar
        to each other, we run the risk of "drift", where files in one set may
        get updated while their counterparts in the other set are not.

        Address this duplication by making the scripts in the "legacy" set be
        mere stubs that invoke the scripts in the new "XCBuild" set. In doing
        this, we also fix a case of drift: the legacy-based scripts made use
        of a timestamp file to determine if headers needed to be reprocessed
        and exported, while the XCBuild-based scripts used a "process the
        files and export them if any actual changes now exist between this new
        version and any previously-exported version" approach.

        Along the way, fix a bug in WebKitLegacy's postprocess-header-rule
        that resulted in WebKitAvailability.h not being processed. The
        practical effect of this bug is that the file ended up with both macOS
        and iOS code, along with the #if that controlled which chunk of code
        was compiled, instead of just the chunk of code specific to the
        targeted SDK. Normally, the unused chunk of code would get removed
        through the invocation of `unifdef`. But, because of the bug, the
        results of running `unifdef` were being discarded.

        * postprocess-headers.sh:

2020-11-30  Chris Dumez  <cdumez@apple.com>

        sessionStorage should not be cloned when a window is opened with rel=noopener
        https://bugs.webkit.org/show_bug.cgi?id=218804
        <rdar://problem/71286606>

        Reviewed by Alex Christensen.

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::dispatchCreatePage):

2020-11-21  Simon Fraser  <simon.fraser@apple.com>

        Add an Experimental Features for wheel event gestures becoming non-blocking
        https://bugs.webkit.org/show_bug.cgi?id=219236

        Reviewed by Sam Weinig.
        
        Add a feature flag for the behavior that is being added via webkit.org/b/218764,
        which is that only the first wheel event in a gesture is cancelable.

        * WebView/WebPreferencesDefaultValues.h:
        * WebView/WebPreferencesDefaultValues.mm:
        (WebKit::defaultWheelEventGesturesBecomeNonBlocking):

2020-11-19  Hoa Dinh  <dvh@apple.com>

        Code formatting: change instances of "@synthesize a=b" to "@synthesize a = b".
        https://bugs.webkit.org/show_bug.cgi?id=219094

        Reviewed by Wenson Hsieh.

        There was a mix of "@synthesize a=b" and "@synthesize a = b" in the codebase.
        Most of the instances are "@synthesize a = b", with spaces around the equal sign.
        With https://bugs.webkit.org/show_bug.cgi?id=219092, we're changing the behavior of
        the code style checker to require spaces around the equal sign.
        The change replace all the instances of "@synthesize a=b" with "@synthesize a = b".

        * WebView/WebFullScreenController.mm:
        * WebView/WebView.mm:

2020-11-16  Sam Weinig  <weinig@apple.com>

        Standardize enums that are used by Settings in preperation for autogeneration
        https://bugs.webkit.org/show_bug.cgi?id=218960

        Reviewed by Tim Horton.

        Update enum uses for renames and scoped syntax use.

        * WebView/WebFrame.mm:
        * WebView/WebView.mm:

2020-11-16  Devin Rousso  <drousso@apple.com>

        Ignore deprecation warnings for the uniform types C API
        https://bugs.webkit.org/show_bug.cgi?id=218989

        Reviewed by Tim Horton.

        These should eventually be replaced with the ObjC API `UniformTypeIdentifiers.framework`.
        See <https://developer.apple.com/documentation/uniformtypeidentifiers>.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
        (+[WebHTMLView _insertablePasteboardTypes]):
        (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):

2020-11-16  Megan Gardner  <megan_gardner@apple.com>

        Add menu support for app highlights for books
        https://bugs.webkit.org/show_bug.cgi?id=218879
        <rdar://problem/71352113>

        Reviewed by Alex Christensen.

        * WebView/WebHTMLView.mm:
        (toTag):

2020-11-13  Sam Weinig  <weinig@apple.com>

        Move some more WebKit and WebKitLegacy preferences bound to Settings to WebPreferences.yaml
        https://bugs.webkit.org/show_bug.cgi?id=218914

        Reviewed by Tim Horton.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        Remove explicit setting of Settings::setContentDispositionAttachmentSandboxEnabled as
        it is now handled by the generated code. Merge together a few sequential #ifdefs while
        in the area.

2020-11-12  Darin Adler  <darin@apple.com>

        Remove unused advanced plug-in features: snapshotting and plug-in load policy
        https://bugs.webkit.org/show_bug.cgi?id=218835

        Reviewed by Tim Horton.

        * WebView/WebPreferences.mm:
        (-[WebPreferences plugInSnapshottingEnabled]): Return NO.
        (-[WebPreferences setPlugInSnapshottingEnabled:]): Do nothing.

2020-11-12  Simon Fraser  <simon.fraser@apple.com>

        Force wheel event listeners on the root to be passive
        https://bugs.webkit.org/show_bug.cgi?id=218842
        <rdar://problem/71312668>

        Reviewed by Chris Dumez.

        Following Blink (https://www.chromestatus.com/feature/6662647093133312) force 'wheel' and
        'mousewheel' event listeners on root objects (window, document and body) to be passive if
        they were not explicitly registered as non-passive.

        This behavior is controlled by an experimental feature flag, and a linked-on-or-after check
        to avoid changing behavior for apps that embed WebKit until they link against new SDKs.

        * WebView/WebPreferencesDefaultValues.h:
        * WebView/WebPreferencesDefaultValues.mm:
        (WebKit::defaultPassiveTouchListenersAsDefaultOnDocument):
        (WebKit::defaultPassiveWheelListenersAsDefaultOnDocument):

2020-11-12  Sam Weinig  <weinig@apple.com>

        Move more WebKitLegacy specific settings usage to WebPreferences.yaml
        https://bugs.webkit.org/show_bug.cgi?id=218852

        Reviewed by Tim Horton.

        This batch focuses on settings with defaults based on SDK/host app conditions.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        * WebView/WebPreferencesDefaultValues.h:
        * WebView/WebPreferencesDefaultValues.mm:
        (WebKit::defaultAllowContentSecurityPolicySourceStarToMatchAnyProtocol):
        (WebKit::defaultLoadDeferringEnabled):
        (WebKit::defaultWindowFocusRestricted):
        (WebKit::defaultUsePreHTML5ParserQuirks):
        (WebKit::defaultNeedsAdobeFrameReloadingQuirk):
        (WebKit::defaultTreatsAnyTextCSSLinkAsStylesheet):
        (WebKit::defaultNeedsFrameNameFallbackToIdQuirk):
        (WebKit::defaultNeedsKeyboardEventDisambiguationQuirks):
        (WebKit::defaultEnforceCSSMIMETypeInNoQuirksMode):
        (WebKit::defaultNeedsIsLoadingInAPISenseQuirk):
        (WebKit::defaultUseLegacyBackgroundSizeShorthandBehavior):
        (WebKit::defaultAllowDisplayOfInsecureContent):
        (WebKit::defaultAllowRunningOfInsecureContent):
        (WebKit::defaultShouldConvertInvalidURLsToBlank):
        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (needsSelfRetainWhileLoadingQuirk):
        (-[WebView _preferencesChanged:]):
        (-[WebView dealloc]):
        (-[WebView setFrameLoadDelegate:]):
        (shouldEnableLoadDeferring): Deleted.
        (shouldRestrictWindowFocus): Deleted.
        (shouldUseLegacyBackgroundSizeShorthandBehavior): Deleted.
        (shouldAllowDisplayAndRunningOfInsecureContent): Deleted.
        (shouldAllowContentSecurityPolicySourceStarToMatchAnyProtocol): Deleted.
        (shouldConvertInvalidURLsToBlank): Deleted.
        (-[WebView _needsAdobeFrameReloadingQuirk]): Deleted.
        (-[WebView _needsLinkElementTextCSSQuirk]): Deleted.
        (-[WebView _needsFrameNameFallbackToIdQuirk]): Deleted.
        (-[WebView _needsIsLoadingInAPISenseQuirk]): Deleted.
        (-[WebView _needsKeyboardEventDisambiguationQuirks]): Deleted.
        (-[WebView _needsPreHTML5ParserQuirks]): Deleted.

2020-11-12  Zalan Bujtas  <zalan@apple.com>

        Show legacy line layout visual coverage instead of "simple line" layout.
        https://bugs.webkit.org/show_bug.cgi?id=218695

        Reviewed by Antti Koivisto.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences legacyLineLayoutVisualCoverageEnabled]):
        (-[WebPreferences setLegacyLineLayoutVisualCoverageEnabled:]):
        (-[WebPreferences simpleLineLayoutDebugBordersEnabled]): Deleted.
        (-[WebPreferences setSimpleLineLayoutDebugBordersEnabled:]): Deleted.
        * WebView/WebPreferencesPrivate.h:

2020-11-11  Sam Weinig  <weinig@apple.com>

        Move more WebKitLegacy preferences bound to Settings to WebPreferences.yaml
        https://bugs.webkit.org/show_bug.cgi?id=218826

        Reviewed by Tim Horton.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        Remove manual defaults for ShrinksStandaloneImagesToFit and ForceWebGLUsesLowPower
        now they are generated.

        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):
        Remove manual setting of AcceleratedCompositingForFixedPositionEnabled, ForceWebGLUsesLowPower, 
        RubberBandingForSubScrollableRegionsEnabled, ShrinksStandaloneImagesToFit and
        VisualViewportEnabled now that they are generated.


2020-11-11  John Wilander  <wilander@apple.com>

        PCM: Change from ad-click-attribution to private-click-measurement (in all forms, including .well-known URL)
        https://bugs.webkit.org/show_bug.cgi?id=218730
        <rdar://problem/71094296>

        Reviewed by Alex Christensen.

        Change to the official name of the proposed standard Private Click Measurement
        https://github.com/privacycg/private-click-measurement.

        This includes a change of the reporting URL from 
        "/.well-known/ad-click-attribution/" to
        "/.well-known/private-click-measurement/".

        * WebCoreSupport/WebChromeClient.mm:
        (stringForMessageSource):
        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences privateClickMeasurementEnabled]):
        (-[WebPreferences setPrivateClickMeasurementEnabled:]):
        (-[WebPreferences adClickAttributionEnabled]): Deleted.
        (-[WebPreferences setAdClickAttributionEnabled:]): Deleted.
        * WebView/WebPreferencesPrivate.h:

2020-11-11  Sam Weinig  <weinig@apple.com>

        Remove unused ExperimentalNotificationsEnabled setting
        https://bugs.webkit.org/show_bug.cgi?id=218813

        Reviewed by Tim Horton.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences setExperimentalNotificationsEnabled:]):
        (-[WebPreferences experimentalNotificationsEnabled]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):
        Obsolete ExperimentalNotificationsEnabled preference as it does nothing.

2020-11-10  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, reverting r269660.
        https://bugs.webkit.org/show_bug.cgi?id=218786

        Crashing in EWS iOS simulator bots

        Reverted changeset:

        "PCM: Change from ad-click-attribution to private-click-
        measurement (in all forms, including .well-known URL)"
        https://bugs.webkit.org/show_bug.cgi?id=218730
        https://trac.webkit.org/changeset/269660

2020-11-10  Chris Dumez  <cdumez@apple.com>

        Webkit incorrectly setting visibilityState to "prerender" when opening link in new tab
        https://bugs.webkit.org/show_bug.cgi?id=215851
        <rdar://problem/67817100>

        Reviewed by Geoff Garen.

        * DOM/DOMDocument.mm:
        (-[DOMDocument visibilityState]):
        * WebView/WebView.mm:
        (kit):

2020-11-10  Darin Adler  <darin@apple.com>

        Remove another function that implicitly uses the composed tree (intersects with range)
        https://bugs.webkit.org/show_bug.cgi?id=218726

        Reviewed by Ryosuke Niwa.

        * WebView/WebPDFView.mm:
        (isFrameInRange): Deleted. This function used intersects, and deleting it side-steps
        the issue of calling the intersects function template from outside WebCore.
        (-[WebPDFView countMatchesForText:inDOMRange:options:limit:markMatches:]):
        Use containsCrossingDocumentBoundaries instead of isFrameInRange.

2020-11-10  John Wilander  <wilander@apple.com>

        PCM: Change from ad-click-attribution to private-click-measurement (in all forms, including .well-known URL)
        https://bugs.webkit.org/show_bug.cgi?id=218730
        <rdar://problem/71094296>

        Reviewed by Devin Rousso.

        Change to the official name of the proposed standard Private Click Measurement
        https://github.com/privacycg/private-click-measurement.

        This includes a change of the reporting URL from 
        "/.well-known/ad-click-attribution/" to
        "/.well-known/private-click-measurement/".

        * WebCoreSupport/WebChromeClient.mm:
        (stringForMessageSource):
        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences privateClickMeasurementEnabled]):
        (-[WebPreferences setPrivateClickMeasurementEnabled:]):
        (-[WebPreferences adClickAttributionEnabled]): Deleted.
        (-[WebPreferences setAdClickAttributionEnabled:]): Deleted.
        * WebView/WebPreferencesPrivate.h:

2020-11-10  Simon Fraser  <simon.fraser@apple.com>

        Make PlatformWheelEventPhase an enum class
        https://bugs.webkit.org/show_bug.cgi?id=218772

        Reviewed by Tim Horton.

        Change PlatformWheelEventPhase to be an enum class.

        Changed code that maps between NSEventPhase and PlatformWheelEventPhase to not
        treat NSEventPhase as a set of bits, since it only ever contains one of the bits.

        * DOM/WebDOMOperations.mm:
        (toNSEventPhase):

2020-11-10  Said Abou-Hallawa  <said@apple.com>

        [macCatalyst] Fix various build breaks
        https://bugs.webkit.org/show_bug.cgi?id=218771

        Reviewed by Tim Horton.

        Use 'BOOL' instead of 'bool' for the functions arguments to resolve the 
        conflict with _setBoolValue which takes 'BOOL'.

        * WebView/WebPreferences.mm:
        (-[WebPreferences setAVKitEnabled:]):
        (-[WebPreferences setNetworkDataUsageTrackingEnabled:]):

2020-11-09  Said Abou-Hallawa  <said@apple.com>

        [GPU Process] Control the life cycle of the platform image by a new class named NativeImage
        https://bugs.webkit.org/show_bug.cgi?id=218427

        Reviewed by Simon Fraser.

        * DOM/DOM.mm:
        (-[DOMNode getPreviewSnapshotImage:andRects:]):
        * Misc/WebCache.mm:
        (+[WebCache imageForURL:]):
        * WebView/WebView.mm:
        (-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):

2020-11-09  Chris Dumez  <cdumez@apple.com>

        Unexpose obsolete HTMLAppletElement interface
        https://bugs.webkit.org/show_bug.cgi?id=218677

        Reviewed by Darin Adler.

        * DOM/DOMHTMLAppletElement.mm:
        (-[DOMHTMLAppletElement align]):
        (-[DOMHTMLAppletElement setAlign:]):
        (-[DOMHTMLAppletElement alt]):
        (-[DOMHTMLAppletElement setAlt:]):
        (-[DOMHTMLAppletElement archive]):
        (-[DOMHTMLAppletElement setArchive:]):
        (-[DOMHTMLAppletElement code]):
        (-[DOMHTMLAppletElement setCode:]):
        (-[DOMHTMLAppletElement codeBase]):
        (-[DOMHTMLAppletElement setCodeBase:]):
        (-[DOMHTMLAppletElement height]):
        (-[DOMHTMLAppletElement setHeight:]):
        (-[DOMHTMLAppletElement hspace]):
        (-[DOMHTMLAppletElement setHspace:]):
        (-[DOMHTMLAppletElement name]):
        (-[DOMHTMLAppletElement setName:]):
        (-[DOMHTMLAppletElement object]):
        (-[DOMHTMLAppletElement setObject:]):
        (-[DOMHTMLAppletElement vspace]):
        (-[DOMHTMLAppletElement setVspace:]):
        (-[DOMHTMLAppletElement width]):
        (-[DOMHTMLAppletElement setWidth:]):
        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::redirectDataToPlugin):

2020-11-09  Alan Bujtas  <zalan@apple.com>

        Unreviewed, reverting r269603.

        Needs Safari patch

        Reverted changeset:

        "Show legacy line layout visual coverage instead of "simple
        line" layout."
        https://bugs.webkit.org/show_bug.cgi?id=218695
        https://trac.webkit.org/changeset/269603

2020-11-09  Zalan Bujtas  <zalan@apple.com>

        Show legacy line layout visual coverage instead of "simple line" layout.
        https://bugs.webkit.org/show_bug.cgi?id=218695

        Reviewed by Antti Koivisto.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences legacyLineLayoutVisualCoverageEnabled]):
        (-[WebPreferences setLegacyLineLayoutVisualCoverageEnabled:]):
        (-[WebPreferences simpleLineLayoutDebugBordersEnabled]): Deleted.
        (-[WebPreferences setSimpleLineLayoutDebugBordersEnabled:]): Deleted.
        * WebView/WebPreferencesPrivate.h:

2020-11-06  Peng Liu  <peng.liu6@apple.com>

        PiP return to element full screen is not smooth on some websites
        https://bugs.webkit.org/show_bug.cgi?id=218419

        Reviewed by Jer Noble.

        * WebCoreSupport/WebChromeClient.h:
        (WebChromeClient::exitVideoFullscreenForVideoElement):
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::exitVideoFullscreenForVideoElement):

2020-11-04  Said Abou-Hallawa  <said@apple.com>

        [GPU Process] Move the internal GPU rendering flags from WebPage to WebProcess
        https://bugs.webkit.org/show_bug.cgi?id=218549

        Reviewed by Tim Horton.

        GPU Process can't be enabled for WK1.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences useGPUProcessForMediaEnabled]): Deleted.
        (-[WebPreferences setUseGPUProcessForMediaEnabled:]): Deleted.
        * WebView/WebPreferencesPrivate.h:

2020-11-04  David Kilzer  <ddkilzer@apple.com>

        WebKit should remove unused debug variant support
        <https://webkit.org/b/218315>
        <rdar://problem/70785369>

        Reviewed by Darin Adler.

        Remove support for building the debug variant since it is
        currently unused. We now set default values for the
        DEAD_CODE_STRIPPING, DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL and
        STRIP_INSTALLED_PRODUCT variables.

        Also move these values out of the Xcode project into
        Base.xcconfig files using the [config=Debug] specifier so that
        these overrides are next to the definitions.

        Additional changes in behavior are noted below.

        * Configurations/Base.xcconfig:
        * Configurations/WebKitLegacy.xcconfig:
        - Move definition of ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH
          in DEBUG_DEFINES from the Xcode project to
          WebKitLegacy.xcconfig.

2020-11-03  Sihui Liu  <sihui_liu@apple.com>

        Set up basic infrastructure for SpeechRecognition
        https://bugs.webkit.org/show_bug.cgi?id=218216
        <rdar://problem/70703788>

        Reviewed by Youenn Fablet.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

2020-11-03  David Kilzer  <ddkilzer@apple.com>

        Add test for cacheModelForMainBundle() in WebKitLegacy
        <https://webkit.org/b/217960>

        Reviewed by Darin Adler.

        * Configurations/DebugRelease.xcconfig:
        (WK_BUILD_FOR_TESTING): Add.
        - This single setting controls whether test code is built and
          test functions are exported.  Currently only Debug and Release
          configurations are supported.

        * Configurations/WebKitLegacy.xcconfig:
        (OTHER_CFLAGS):
        - Include necessary macro definition when WK_BUILD_FOR_TESTING
          is YES.
        (WK_CFLAGS_BUILD_FOR_TESTING_YES):
        - Define macro set when WK_BUILD_FOR_TESTING is YES.  Used by
          both OTHER_CFLAGS and OTHER_TAPI_FLAGS to enable test code.
        (OTHER_TAPI_FLAGS[sdk=iphone*]):
        - Include necessary macro definition when WK_BUILD_FOR_TESTING
          is YES.
        - Add -extra-private-header argument to declare exported
          functions in TestingFunctions.h when WK_BUILD_FOR_TESTING is
          YES.

        * TestingFunctions.h: Add.
        - Declare functions exported when WK_BUILD_FOR_TESTING is YES.

        * WebKit.Testing.exp: Add.
        - This contains a list of test functions that are only exported
          when WK_BUILD_FOR_TESTING is YES.

        * WebView/WebPreferences.mm:
        (cacheModelForMainBundle):
        - Add NSString *bundleIdentifier argument to make testable.
        (TestWebPreferencesCacheModelForMainBundle): Add.
        - Add function only used for testing, and only compiled when
          WK_BUILD_FOR_TESTING is YES.
        (+[WebPreferences initialize]):
        - Change to pass main bundle identifier as argument.

2020-11-02  Sam Weinig  <weinig@apple.com>

        [Testing] Match WebKitTestRunner and enable all "experimental" features in DumpRenderTree (cocoa)
        https://bugs.webkit.org/show_bug.cgi?id=218447

        Reviewed by Darin Adler.

        * Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb:
        * Scripts/PreferencesTemplates/WebPreferencesInternalFeatures.mm.erb:
        * WebView/WebFeature.m:
        (-[WebFeature initWithKey:preferencesKey:name:details:defaultValue:hidden:]):
        (-[WebFeature initWithKey:name:details:defaultValue:hidden:]): Deleted.
        * WebView/WebFeatureInternal.h:
        Handle non-standard preference keys by ensure we initialize WebFeatures with the generated 
        preferenceKey accessor rather than trying to derive it from the key directly.

2020-10-28  Sam Weinig  <weinig@apple.com>

        [Testing] Remove requirement of adding new SPI for each preference that needs testing
        https://bugs.webkit.org/show_bug.cgi?id=218267

        Reviewed by Simon Fraser.

        Expose a set of setters to for DumpRenderTree to use when setting preferences
        by string.

        * WebView/WebPreferences.mm:
        (-[WebPreferences _setBoolPreferenceForTestingWithValue:forKey:]):
        (-[WebPreferences _setUInt32PreferenceForTestingWithValue:forKey:]):
        (-[WebPreferences _setDoublePreferenceForTestingWithValue:forKey:]):
        (-[WebPreferences _setStringPreferenceForTestingWithValue:forKey:]):
        * WebView/WebPreferencesPrivate.h:

2020-10-27  Tetsuharu Ohzeki  <tetsuharu.ohzeki@gmail.com>

        Make WebCore::FocusDirection to enum class
        https://bugs.webkit.org/show_bug.cgi?id=218162

        Reviewed by Darin Adler.

        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::takeFocus):
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView becomeFirstResponder]):

2020-10-26  Zan Dobersek  <zdobersek@igalia.com>

        Remove Accelerated2dCanvasEnabled WebPreferences entry
        https://bugs.webkit.org/show_bug.cgi?id=218114

        Reviewed by Adrian Perez de Castro.

        * WebView/WebPreferences.mm:
        (-[WebPreferences accelerated2dCanvasEnabled]): Make the API function
        no-op and move it into the deprecated section.
        (-[WebPreferences setAccelerated2dCanvasEnabled:]): Ditto.

2020-10-21  Devin Rousso  <drousso@apple.com>

        [macOS WK1] provide a way for Apple-internal clients to disable link preview
        https://bugs.webkit.org/show_bug.cgi?id=217984
        <rdar://problem/70500022>

        Reviewed by Tim Horton.

        * WebView/WebViewPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _allowsLinkPreview]): Added.
        (-[WebView _setAllowsLinkPreview:]): Added.

        * WebView/WebImmediateActionController.h:
        * WebView/WebImmediateActionController.mm:
        (-[WebImmediateActionController isEnabled]): Added.
        (-[WebImmediateActionController setEnabled:]): Added.
        (-[WebImmediateActionController _cancelImmediateAction]):

2020-10-20  Sihui Liu  <sihui_liu@apple.com>

        Add stubs for SpeechRecognition
        https://bugs.webkit.org/show_bug.cgi?id=217780
        <rdar://problem/70350727>

        Reviewed by Youenn Fablet.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences _speechRecognitionEnabled]):
        (-[WebPreferences _setSpeechRecognitionEnabled:]):
        * WebView/WebPreferencesPrivate.h:

2020-10-20  Sam Weinig  <weinig@apple.com>

        Tweak WebPreferences*.yaml "exposed" key to only indicate that the key should not be changeable by the frontend
        https://bugs.webkit.org/show_bug.cgi?id=217918

        Reviewed by Darin Adler.

        Update to use new "exposed" prefix bindings and use default value explicitly
        when updating settings for non-exposed preferences.

        * Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
        * Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb:
        * Scripts/PreferencesTemplates/WebPreferencesInternalFeatures.mm.erb:
        * Scripts/PreferencesTemplates/WebViewPreferencesChangedGenerated.mm.erb:

2020-10-17  David Kilzer  <ddkilzer@apple.com>

        REGRESSION (r25430): Fix -Wstring-concatenation warning from open source clang
        <https://webkit.org/b/217884>

        Reviewed by Alexey Proskuryakov.

        * WebView/WebPreferences.mm:
        (cacheModelForMainBundle):
        - Add missing comma to fix unwanted string concatenation.

2020-10-17  Sam Weinig  <weinig@apple.com>

        Convert preferences in WebPreferencesPrivate.h to use @property syntax to make them more manageable
        https://bugs.webkit.org/show_bug.cgi?id=217877

        Reviewed by Simon Fraser.

        * WebView/WebPreferencesPrivate.h:
        Switch to using the @property syntax. No behavior change intended, just a cleanup.

2020-10-16  Devin Rousso  <drousso@apple.com>

        Web Inspector: rename `Highlight` so it doesn't conflict with CSS `Highlight`
        https://bugs.webkit.org/show_bug.cgi?id=217858

        Reviewed by Megan Gardner.

        No new tests as there is no behavior change since this is purely a rename.

        * WebInspector/WebNodeHighlightView.mm:
        (-[WebNodeHighlightView _layoutForNodeHighlight:parent:]):
        (-[WebNodeHighlightView _layoutForRectsHighlight:parent:]):
        (-[WebNodeHighlightView layoutSublayers:]):

2020-10-13  Keith Rollin  <krollin@apple.com>

        Remove leftover MACOSX_DEPLOYMENT_TARGET_macosx support
        https://bugs.webkit.org/show_bug.cgi?id=217649
        <rdar://problem/70236877>

        Reviewed by Darin Adler.

        Bug 42796 introduced MACOSX_DEPLOYMENT_TARGET_<PLATFORM> as "support
        for compiling WebKit against iOS SDKs". Support for the iOS part of
        this feature was later removed in several changes, including Bug
        139212, Bug 139463 and Bug 144762. However, vestiges have remained for
        five or six years in the form of MACOSX_DEPLOYMENT_TARGET_macosx. The
        inclusion of the platform in MACOSX_DEPLOYMENT_TARGET is no longer
        needed and can be removed.

        This changes brings most projects in conformance with other projects
        that don't support including the platform in MACOSX_DEPLOYMENT_TARGET,
        including WebEditingTester, gtest, WebKitTestRunner, MiniBrowser, and
        TestWebKitAPI.

        Along the way, remove a couple of left-over references to macOS 10.16,
        and a couple of places where [sdk=macosx*] was still being used.

        With this change, initialization of MACOSX_DEPLOYMENT_TARGET should be
        consistent across all projects, with two exceptions: WebKitLauncher
        (which hardcodes it to 10.12) and libwebrtc's copy of googletest
        (which hardcodes it to 10.4). The reasons for these hard-coded values
        is not apparent, so leave them be.

        * Configurations/DebugRelease.xcconfig:

2020-10-12  Darin Adler  <darin@apple.com>

        Eliminate some "using namespace WebCore" cases in global scope
        https://bugs.webkit.org/show_bug.cgi?id=217644

        Reviewed by Tim Horton.

        * Storage/WebStorageTrackerClient.h: Remove "using namespace WebCore".

2020-10-12  Luming Yin  <luming_yin@apple.com>

        [macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building 
        with Xcode 12 on macOS Big Sur SUs
        https://bugs.webkit.org/show_bug.cgi?id=217602
        rdar://70194453

        Reviewed by Darin Adler.

        The previous workaround turns out to be ineffective because we can't set the value of 
        TARGET_MAC_OS_X_VERSION_MAJOR based on a previous value of itself. Introduce a new 
        variable TARGET_MAC_OS_X_VERSION_MAJOR to determine whether we need to explicitly 
        adjust MAC_OS_X_VERSION_MAJOR to 110000.

        * Configurations/DebugRelease.xcconfig:

2020-10-12  Luming Yin  <luming_yin@apple.com>

        [macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building 
        with Xcode 12 on macOS Big Sur SUs
        https://bugs.webkit.org/show_bug.cgi?id=217602
        rdar://70194453

        Reviewed by Darin Adler.

        Due to a bug in Xcode (rdar://70185899), Xcode 12.0 and Xcode 12.1 Beta incorrectly includes the 
        minor release number in MAC_OS_X_VERSION_MAJOR, which causes Debug and Release builds of WebKit 
        to be misconfigured when building on macOS Big Sur SUs, leading to webpages failing to load.

        To work around the Xcode bug, when the MAC_OS_X_VERSION_MAJOR includes the minor version number, 
        drop the minor version number by explicitly setting TARGET_MAC_OS_X_VERSION_MAJOR to 110000.

        Note: This change should be reverted after <rdar://70185899> is resolved.

        * Configurations/DebugRelease.xcconfig:

2020-10-11  Luming Yin  <luming_yin@apple.com>

        Strip patch version from TARGET_MAC_OS_X_VERSION_MAJOR when building for macOS Big Sur 
        or later
        https://bugs.webkit.org/show_bug.cgi?id=217594
        rdar://70188497

        Reviewed by Darin Adler.

        To ensure successful Mac Catalyst WebKit builds, strip the patch version from 
        TARGET_MAC_OS_X_VERSION_MAJOR by using two `base:`s on MACOSX_DEPLOYMENT_TARGET.

        * Configurations/Base.xcconfig:

2020-10-11  Luming Yin  <luming_yin@apple.com>

        Ignore deployment suffix and identifier when computing major OS version for macOS 
        Big Sur and newer
        https://bugs.webkit.org/show_bug.cgi?id=217584
        rdar://70168426

        Reviewed by Darin Adler.

        Stop using MACOSX_DEPLOYMENT_TARGET:suffix:identifier to compute major OS versions. 
        Only use the deployment target base for macOS Big Sur and newer. Keep the manual 
        definitions for legacy versions of macOS.

        * Configurations/Base.xcconfig:

2020-10-06  Devin Rousso  <drousso@apple.com>

        Move platform logic for CSS `hover` and `pointer` media queries outside of WebCore
        https://bugs.webkit.org/show_bug.cgi?id=217413

        Reviewed by Tim Horton.

        * WebCoreSupport/WebChromeClient.h:
        (WebChromeClient::hoverSupportedByPrimaryPointingDevice const): Added.
        (WebChromeClient::pointerCharacteristicsOfPrimaryPointingDevice const): Added.
        Mouse devices are always supported.

2020-10-06  Devin Rousso  <drousso@apple.com>

        CSS hover and "pointer: fine" media queries do not evaluate to true with iOS 13.4 mouse support
        https://bugs.webkit.org/show_bug.cgi?id=209292
        <rdar://problem/60663124>

        Reviewed by Tim Horton.

        * WebCoreSupport/WebChromeClient.h:
        (WebChromeClient::hoverSupportedByAnyAvailablePointingDevice const): Added.
        (WebChromeClient::pointerCharacteristicsOfAllAvailablePointingDevices const): Added.
        Mouse devices are always supported.

2020-10-06  Simon Fraser  <simon.fraser@apple.com>

        Redundant rendering updates can be scheduled from inside Page::updateRendering()
        https://bugs.webkit.org/show_bug.cgi?id=216726

        Reviewed by Tim Horton.

        Provide the flags.

        * WebView/WebView.mm:
        (-[WebView _scheduleRenderingUpdateForPendingTileCacheRepaint]):

2020-10-05  Simon Fraser  <simon.fraser@apple.com>

        Use the "triggerRenderingUpdate" terminology in ChromeClient
        https://bugs.webkit.org/show_bug.cgi?id=217355

        Reviewed by Tim Horton.

        ChromeClient confusingly had both scheduleRenderingUpdate() and scheduleTimedRenderingUpdate().
        The former is for triggering an update soon, and the latter is a normal schedule, used by
        SVGImages because they have their own Page.

        Rename the one that the WebKits have to implement to triggerRenderingUpdate().

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::triggerRenderingUpdate):
        (WebChromeClient::scheduleRenderingUpdate): Deleted.

2020-10-05  Simon Fraser  <simon.fraser@apple.com>

        ChromeClient::needsImmediateRenderingUpdate() only existing to work around a WebKit1 bug
        https://bugs.webkit.org/show_bug.cgi?id=217338

        Reviewed by Said Abou-Hallawa.

        WebViewLayerFlushScheduler has a bug where scheduling inside the callback would fail
        because the RunLoopObserver was always invalidated at the end of the callback.

        If we fix this, we can remove ChromeClient::needsImmediateRenderingUpdate() which I believe
        only existed to work around this bug.

        * WebCoreSupport/WebChromeClient.h:
        * WebView/WebViewData.h:
        * WebView/WebViewData.mm:
        (WebViewLayerFlushScheduler::schedule):
        (WebViewLayerFlushScheduler::layerFlushCallback):

2020-10-05  Aditya Keerthi  <akeerthi@apple.com>

        [Contact Picker API] Introduce bindings for the Contact Picker API
        https://bugs.webkit.org/show_bug.cgi?id=216793
        <rdar://problem/69317957>

        Reviewed by Wenson Hsieh.

        Added plumbing to support the associated experimental test option.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences contactPickerAPIEnabled]):
        (-[WebPreferences setContactPickerAPIEnabled:]):
        * WebView/WebPreferencesPrivate.h:

2020-10-05  Sam Weinig  <weinig@apple.com>

        Remove support for enabling subpixel CSSOM values, it's off by default everywhere and known to be not-compatible with the web
        https://bugs.webkit.org/show_bug.cgi?id=217300

        Reviewed by Simon Fraser.

        Deprecate SPI for enabling subpixel CSSOM values. It is not web compatible.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences setSubpixelCSSOMElementMetricsEnabled:]):
        (-[WebPreferences subpixelCSSOMElementMetricsEnabled]):
        * WebView/WebPreferencesPrivate.h:

2020-10-05  Alex Christensen  <achristensen@webkit.org>

        Unify linkedOnOrAfter duplicate code and use SPI/WebCoreTestSupport instead of NSUserDefaults
        https://bugs.webkit.org/show_bug.cgi?id=217239

        Reviewed by Darin Adler.

        * DefaultDelegates/WebDefaultUIDelegate.mm:
        (-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
        * Misc/WebIconDatabase.mm:
        (+[WebIconDatabase sharedIconDatabase]):
        * Misc/WebKitVersionChecks.h:
        * Misc/WebKitVersionChecks.mm:
        (WebKitLinkTimeVersion):
        (linkedOnOrAfter): Deleted.
        * WebView/WebPreferencesDefaultValues.mm:
        (WebKit::defaultPassiveTouchListenersAsDefaultOnDocument):
        (WebKit::defaultShouldRestrictBaseURLSchemes):

2020-10-03  Yusuke Suzuki  <ysuzuki@apple.com>

        [JSC] Introduce JITOperationList to validate JIT-caged pointers
        https://bugs.webkit.org/show_bug.cgi?id=217261

        Reviewed by Saam Barati.

        * History/WebBackForwardList.mm:
        (+[WebBackForwardList initialize]):
        * History/WebHistoryItem.mm:
        (+[WebHistoryItem initialize]):
        * Misc/WebCache.mm:
        (+[WebCache initialize]):
        * Misc/WebElementDictionary.mm:
        (+[WebElementDictionary initialize]):
        * Misc/WebIconDatabase.mm:
        * Misc/WebStringTruncator.mm:
        (+[WebStringTruncator initialize]):
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (+[WebHostedNetscapePluginView initialize]):
        * Plugins/WebBaseNetscapePluginView.mm:
        * Plugins/WebBasePluginPackage.mm:
        (+[WebBasePluginPackage initialize]):
        * Plugins/WebNetscapePluginView.mm:
        (+[WebNetscapePluginView initialize]):
        * WebCoreSupport/WebEditorClient.mm:
        (+[WebUndoStep initialize]):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (+[WebFramePolicyListener initialize]):
        * WebView/WebArchive.mm:
        (+[WebArchivePrivate initialize]):
        * WebView/WebDataSource.mm:
        (+[WebDataSource initialize]):
        * WebView/WebHTMLView.mm:
        (+[WebHTMLViewPrivate initialize]):
        (+[WebHTMLView initialize]):
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        * WebView/WebResource.mm:
        (+[WebResourcePrivate initialize]):
        * WebView/WebTextIterator.mm:
        (+[WebTextIteratorPrivate initialize]):
        * WebView/WebView.mm:
        (+[WebView initialize]):
        * WebView/WebViewData.mm:
        (+[WebViewPrivate initialize]):

2020-10-01  Chris Dumez  <cdumez@apple.com>

        Add basic infrastructure for AudioWorklet
        https://bugs.webkit.org/show_bug.cgi?id=217153

        Reviewed by Sam Weinig.

        * WebCoreSupport/WebPlatformStrategies.mm:

2020-10-01  Sam Weinig  <weinig@apple.com>

        Remove duplicate definitions of @property (nonatomic) BOOL CSSIndividualTransformPropertiesEnabled
        https://bugs.webkit.org/show_bug.cgi?id=217182

        Reviewed by Alex Christensen.

        When the fix for ​https://webkit.org/b/216271 was landed, it added two definitions of
        the CSSIndividualTransformPropertiesEnabled property (though one getter was misnamed), leading 
        to linker warnings. This removes one of them.

        * WebView/WebPreferences.mm:
        (-[WebPreferences cssIndividualTransformPropertiesEnabled]): Deleted.

2020-10-01  Aditya Keerthi  <akeerthi@apple.com>

        [macCatalyst] Crash when attempting to display a select dropdown in a UIWebView
        https://bugs.webkit.org/show_bug.cgi?id=217148
        <rdar://problem/64004677>

        Reviewed by Darin Adler.

        When clicking on a select element in a Catalyst UIWebView, WebKit calls
        into UIKit to present a popover. On Catalyst, UIKit popovers call
        resignFirstResponder on the current first responder, when presented.
        Consequently, when an attempt to display the select dropdown is made,
        [WebHTMLView resignFirstResponder] is invoked. This method blurs the
        currently focused element, which tells UIKit to destroy the popover.
        Destroying the popover while its attempting to become first responder
        is not safe, leading to a crash.

        In [WebHTMLView resignFirstResponder], clearFocus is only called if
        [WebView _isPerformingProgrammaticFocus] is false. UIKit can take
        advantage of this to prevent blurring an element if the first
        responder is being resigned due to presenting a view associated with
        the same element.

        However, [WebHTMLView resignFirstResponder] also clears focus on the
        current page's FocusController, which can also cause the element to be
        blurred. To prevent this, guard the call on the same check as
        clearFocus.

        Note that this approach to preventing resignFirstResponder from blurring
        the focused element is similar to the approach taken in WebKit2.

        This change is made for all Cocoa platforms, since _isPerformingProgrammaticFocus
        is internal to WebKit and the only time it is true is within a call to
        WebChromeClient::makeFirstResponder. That method calls
        [WebUIDelegate webView:makeFirstResponder], which states in its
        documentation: "responder will always be a view that is in the view
        subhierarchy of the top-level web view for this WebView". Consequently,
        nextResponderIsInWebView will be true when _isPerformingProgrammaticFocus
        is true, meaning the change doesn't affect existing behavior.

        No new tests as the functionality is dependent on a UIKit change.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView resignFirstResponder]):

2020-09-29  Sam Weinig  <weinig@apple.com>

        [Preferences] Adopt shared preferences configuration and script in WebKit
        https://bugs.webkit.org/show_bug.cgi?id=217075

        Reviewed by Darin Adler.

        * Scripts/generate-preferences.sh:
        Update to account for new interface requiring the full path to each template.

2020-09-29  Alex Christensen  <achristensen@webkit.org>

        Unreviewed, reverting r267397.

        SPI is still used <rdar://problem/69749992>

        Reverted changeset:

        "Remove deprecated script and stylesheet injection SPI,
        replaced with more inclusively-named SPI"
        https://bugs.webkit.org/show_bug.cgi?id=214936
        https://trac.webkit.org/changeset/267397

2020-09-28  Sam Weinig  <weinig@apple.com>

        [Preferences] Move GeneratePreferences.rb and yaml configuration files to WTF to be shared
        https://bugs.webkit.org/show_bug.cgi?id=217056

        Reviewed by Darin Adler.

        Move GeneratePreferences.rb and WebPreferences*.yaml files from WebKitLegacy to WTF, and install them into the existing
        $SDKROOT/usr/local/install/wtf/Scripts for use by down stack projects.

        Also adds new script, generate-preferences.sh, to make editing / reviewing the invocation a bit easier as you don't
        have to use the tiny editor in the Run Scripts phase pane.

        Adds new build variable, WTF_BUILD_SCRIPTS_DIR, to easily specify the new location of the moved files.

        * Configurations/WebKitLegacy.xcconfig:
        * Scripts/GeneratePreferences.rb: Removed.
        * Scripts/generate-preferences.sh: Added.
        * WebView/WebPreferences.yaml: Removed.
        * WebView/WebPreferencesDebug.yaml: Removed.
        * WebView/WebPreferencesExperimental.yaml: Removed.
        * WebView/WebPreferencesInternal.yaml: Removed.

2020-09-28  Devin Rousso  <drousso@apple.com>

        [iOS] unable to airplay directly loaded fullscreen video
        https://bugs.webkit.org/show_bug.cgi?id=216858
        <rdar://problem/68746321>

        Reviewed by Eric Carlson.

        It's possible that `MediaPlayerPrivate::wirelessVideoPlaybackDisabled` is queried before a
        "real" `MediaPlayerPrivate` (i.e. not `NullMediaPlayerPrivate`) is initialized through one
        of the registered `MediaPlayerFactory` "engine"s. It's further possible that the value
        returned by `MediaPlayerPrivate::wirelessVideoPlaybackDisabled` will change as the new
        "real" `MediaPlayerPrivate` may have different logic. In this case, the `MediaPlayer`
        doesn't update its client (and therefore nothing "up" the tree, including the client's
        clients) with the new `MediaPlayerPrivate::wirelessVideoPlaybackDisabled` value, meaning
        that the old value will still be used.

        Add piping such that when the `MediaPlayerFactory` "engine" changes, the `MediaPlayer`
        notifies its client (which is further piped "up" the tree to the client's clients) which
        eventually causes `MediaPlayerPrivate::wirelessVideoPlaybackDisabled` to be re-evaluated.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::playbackControlsMediaEngineChanged): Added.
        * WebView/WebViewInternal.h:
        * WebView/WebView.mm:
        (-[WebView _playbackControlsMediaEngineChanged]): Added.

2020-09-27  Sam Weinig  <weinig@apple.com>

        Fix some typos found by Simon post-review for https://bugs.webkit.org/show_bug.cgi?id=217042

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):
        "rmeove" -> "remove".

2020-09-27  Sam Weinig  <weinig@apple.com>

        [Preferences] Generate base preferences for WebKitLegacy
        https://bugs.webkit.org/show_bug.cgi?id=217042

        Reviewed by Tim Horton.

        Imports (and sorts) WebPreferences.yaml from WebKit, and starts generation for
        for WebKitLegacy. To support this, a few tweaks to generation were required:
        
        - A new 'exposed' key was added to the configuration files which allows restricting
          which frontends a preference is exposed to. By default, preferences are exposed to
          all frontends. This is intended to be used for preferences that don't have a binding
          to WebCore (e.g. process model related preferences for Webkit). We will require a
          seperate concept for features that WebCore knows about, but are not supported by
          a frontend, but that will be added in future revisions.
          
          'exposed' is used in a few places that have 'custom' bindings to WebCore where 
          WebKitLegacy and WebKit don't use the same type or meaning for a preference, such
          as WebKitLegacy's FrameFlattening enum vs. WebKit's FrameFlatteningEnabled bool,
          or WebKitLegacy's WebSQLEnabled vs. WebKit's WebSQLDisabled. Eventually, it would
          be nice to make these match, but it is not required.
        
        - A new 'webKitLegacyPreferenceKey' key was added to the configuration files allowing
          for existing keys that don't match the default pattern of "WebKit" + keyName. This is
          to avoid changing the value of the preference key strings in WebPreferenceKeysPrivate.h,
          as I am not confident that changing them is kosher. I also went back and reverted the
          few I had already changed, just to be on the safe side.

        - Support was added in WebViewPreferencesChangedGenerated.mm.erb for non bool values.

        - Preferences that are conditionally compiled out (using the conditional key) no longer
          generate a default when they are compiled out, which required a little macro magic
          in WebPreferencesDefinitions.h.erb in the form of the new INITIALIZE_DEFAULT_PREFERENCES_FOR_
          macros.

        * Scripts/GeneratePreferences.rb:
        * Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
        * Scripts/PreferencesTemplates/WebViewPreferencesChangedGenerated.mm.erb:
        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        * WebView/WebPreferences.yaml:
        * WebView/WebPreferencesDebug.yaml:
        * WebView/WebPreferencesDefaultValues.h:
        * WebView/WebPreferencesDefaultValues.mm:
        (WebKit::defaultAllowsInlineMediaPlayback):
        (WebKit::defaultAllowsInlineMediaPlaybackAfterFullscreen):
        (WebKit::defaultAllowsPictureInPictureMediaPlayback):
        (WebKit::defaultJavaScriptCanOpenWindowsAutomatically):
        (WebKit::defaultInlineMediaPlaybackRequiresPlaysInlineAttribute):
        (WebKit::defaultPassiveTouchListenersAsDefaultOnDocument):
        (WebKit::defaultRequiresUserGestureToLoadVideo):
        (WebKit::defaultWebSQLEnabled):
        (WebKit::defaultAttachmentElementEnabled):
        (WebKit::defaultShouldRestrictBaseURLSchemes):
        * WebView/WebPreferencesExperimental.yaml:
        * WebView/WebPreferencesInternal.h:
        * WebView/WebPreferencesInternal.yaml:
        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (-[WebView _preferencesChanged:]):
        (shouldAllowPictureInPictureMediaPlayback): Deleted.
        (shouldAllowWindowOpenWithoutUserGesture): Deleted.
        (shouldRequireUserGestureToLoadVideo): Deleted.
        (shouldRestrictBaseURLSchemes): Deleted.
        * WebView/WebViewData.h:

2020-09-24  Simon Fraser  <simon.fraser@apple.com>

        WebKitLegacy should call Page::finalizeRenderingUpdate()
        https://bugs.webkit.org/show_bug.cgi?id=216958

        Reviewed by Tim Horton.

        This is a precursor to fixing webkit.org/b/216726. Page needs to track the phase
        of updateRendering that we are in, and to ease this tracking, WebKitLegacy needs to call
        Page::finalizeRenderingUpdate() so the state is tracked.
        
        Rename -_viewWillDrawInternal to -_updateRendering, and have it call updateRendering()
        and finalizeRenderingUpdate(). We can also move in the call to -_synchronizeCustomFixedPositionLayoutRect
        which both call sites do.
        
        Since updateRendering() is guaranteed to update layout, we know -_flushCompositingChanges would have
        never returned NO here, so we can remove the condition in LayerFlushController::flushLayers().
        
        -[WebHTMLView viewWillDraw] also does a similar -_web_updateLayoutAndStyleIfNeededRecursive
        then -_flushCompositingChanges but this is called from AppKit with a timing that we don't control;
        it may be redundant with -[WebView _updateRendering] but I leave that behavior unchanged.

        * WebView/WebView.mm:
        (-[WebView _updateRendering]):
        (-[WebView _forceRepaintForTesting]):
        (LayerFlushController::flushLayers):
        (-[WebView _viewWillDrawInternal]): Deleted.

2020-09-26  Sam Weinig  <weinig@apple.com>

        [Preferences] Generate Debug and Internal preferences for WebKitLegacy
        https://bugs.webkit.org/show_bug.cgi?id=217015

        Reviewed by Darin Adler.

        Imports WebPreferencesDebug.yaml and WebPreferencesInternal.yaml from WebKit and starts
        generating them. 
        
        In addition, preference yaml files must now be sorted alphabetically by preference name, and
        this is now enforced by GeneratePreferences.rb, generating an error if they are out of order.

        * Scripts/GeneratePreferences.rb:
        * Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
        * Scripts/PreferencesTemplates/WebPreferencesInternalFeatures.mm.erb: Added.
        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (+[WebPreferences _internalDebugFeatures]): Deleted.
        * WebView/WebPreferencesDebug.yaml:
        * WebView/WebPreferencesDefaultValues.h:
        * WebView/WebPreferencesExperimental.yaml:
        * WebView/WebPreferencesInternal.yaml:
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-09-26  Sam Weinig  <weinig@apple.com>

        [Preferences] It should be possible to have different default values for WebKitLegacy and WebKit in preference yaml files
        https://bugs.webkit.org/show_bug.cgi?id=216987

        Reviewed by Darin Adler.

        Add new syntax for default values that allows specializing based on both frontend (WebKit or 
        WebKitLegacy) and then futher based on platform macros. For example, the preference for 
        CSSTypedOMEnabled now looks like:
        
           CSSTypedOMEnabled:
             type: bool
             humanReadableName: "CSS Typed OM"
             humanReadableDescription: "Enable the CSS Typed OM"
             webcoreBinding: RuntimeEnabledFeatures
             condition: ENABLE(CSS_TYPED_OM)
             defaultValue:
               WebKitLegacy:
                 default: false
               WebKit:
                 "ENABLE(EXPERIMENTAL_FEATURES) && (PLATFORM(GTK) || PLATFORM(WPE))": true
                 default: false
        
        Which means that in WebKitLegacy, the default value is false, and in WebKit, the default
        value will be:
        
            #if ENABLE(EXPERIMENTAL_FEATURES) && (PLATFORM(GTK) || PLATFORM(WPE))
               true
            #else
               false
            #endif

        As many platform macro based conditions can be provided as wanted, and they are evaluated
        in the order specified in the file.
        
        The syntax currently always requires explicitly specifying WebKitLegacy and WebKit and default 
        for each, even if they are all the same, but could be extended in the future to allow compaction
        if that becomes desirable. There is also not yet support for conditionally enabling a feature
        based on os-feature-flags or linked-on-or-after checks, so those still require specifying the
        default value as a function, but that seems like a nice future improvement.
        
        As this is still staging for doing this for both WebKitLegacy and WebKit, this change only effects
        WebKitLegacy for now, and subsequent changes will move this to a shared location.

        * Scripts/GeneratePreferences.rb:
        * Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
        * Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb:
        * WebView/WebPreferencesExperimental.yaml:

2020-09-25  Antoine Quint  <graouts@webkit.org>

        Add an experimental feature flag for CSS individual transform properties
        https://bugs.webkit.org/show_bug.cgi?id=216271
        <rdar://problem/68914539>

        Reviewed by Dean Jackson.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences setCSSIndividualTransformPropertiesEnabled:]):
        (-[WebPreferences cssIndividualTransformPropertiesEnabled]):
        (-[WebPreferences CSSIndividualTransformPropertiesEnabled]):
        * WebView/WebPreferencesExperimental.yaml:
        * WebView/WebPreferencesPrivate.h:

2020-09-24  Darin Adler  <darin@apple.com>

        Add CSSConditionRule and CSSGroupingRule
        https://bugs.webkit.org/show_bug.cgi?id=216855

        Reviewed by Sam Weinig.

        * DOM/DOMCSS.mm:
        (kitClass): Added a default case since we don't intend to list every single rule type here.

2020-09-25  Sam Weinig  <weinig@apple.com>

        [Preferences] Start generating experimental feature preferences for legacy WebKit
        https://bugs.webkit.org/show_bug.cgi?id=216909

        Reviewed by Tim Horton.

        As a stepping stone to unified preferences definitions and generation, this adds
        generation of "experimental feature" preferences for WebKitLegacy. The generator
        is almost identical to the one in WebKit, but the templates are changed. The end
        goal will be to share the preferences definition (yaml) files. In this pass, I
        have copied WebPreferencesExperimental.yaml from WebKit, but change the default
        values to match the existing WebKitLegacy default values (and temporarily removed
        WebSQLDisabled, as WebKitLegacy has a WebSQLEnabled, and its not clear how to map
        to the inverse yet). I have also imported empty versions of WebPreferences.yaml, 
        WebPreferencesDebug.yaml, and  WebPreferencesInternal.yaml, to keep the generator 
        happy, these will be filled in subsequent changes or, if we decide on a good home 
        for them, perhaps in WTF, we can just switch to using the shared ones.

        Much of the change is moving around existing getter/setters in WebPreferences
        to go in their own category, with the intention to remove them when we we have
        determined no more callers remain.

        * Scripts: Added.
        * Scripts/GeneratePreferences.rb: Added.
        * Scripts/PreferencesTemplates: Added.
        * Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb: Added.
        * Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb: Added.
        * Scripts/PreferencesTemplates/WebViewPreferencesChangedGenerated.mm.erb: Added.
        * WebView/WebFeature.h: Added.
        * WebView/WebFeature.m: Added.
        (-[WebFeature initWithKey:preferenceKey:name:details:defaultValue:hidden:]):
        (-[WebFeature description]):
        * WebView/WebFeatureInternal.h: Added.
        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        * WebView/WebPreferences.yaml: Added.
        * WebView/WebPreferencesDebug.yaml: Added.
        * WebView/WebPreferencesDefaultValues.h: Added.
        * WebView/WebPreferencesDefaultValues.mm: Added.
        * WebView/WebPreferencesExperimental.yaml: Added.
        * WebView/WebPreferencesInternal.h: Added.
        * WebView/WebPreferencesInternal.yaml: Added.
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):
        * WebView/WebViewInternal.h:

2020-09-23  Peng Liu  <peng.liu6@apple.com>

        Add feature flags for GPU Process features
        https://bugs.webkit.org/show_bug.cgi?id=216901

        Reviewed by Tim Horton.

        Minor cleanups.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences useGPUProcessForMediaEnabled]):
        (-[WebPreferences setUseGPUProcessForMediaEnabled:]):
        (-[WebPreferences useGPUProcessForMedia]): Deleted.
        (-[WebPreferences setUseGPUProcessForMedia:]): Deleted.
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-09-23  Chris Dumez  <cdumez@apple.com>

        Turn off the legacy prefixed WebAudio API
        https://bugs.webkit.org/show_bug.cgi?id=216886

        Reviewed by Sam Weinig.

        Turn off the legacy prefixed WebAudio API, now that the modern unprefixed API has been enabled
        in r267488.

        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-09-23  Chris Dumez  <cdumez@apple.com>

        Turn on the modern unprefixed WebAudio API
        https://bugs.webkit.org/show_bug.cgi?id=216885

        Reviewed by Eric Carlson.

        Turn on the modern unprefixed WebAudio API now that we support most of the API
        besides AudioWorklet and now that we have a good pass rate on WPT tests.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

2020-09-21  Alex Christensen  <achristensen@webkit.org>

        Remove deprecated script and stylesheet injection SPI, replaced with more inclusively-named SPI
        https://bugs.webkit.org/show_bug.cgi?id=214936

        Reviewed by Youenn Fablet.

        rdar://64376341 tracks the adoption of the replacement.  Once that is done, we can remove the old SPI.

        * WebView/WebView.mm:
        (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]): Deleted.
        (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]): Deleted.
        (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]): Deleted.
        (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]): Deleted.
        * WebView/WebViewPrivate.h:

2020-09-20  Darin Adler  <darin@apple.com>

        Next step towards eliminating deprecated legacy positions
        https://bugs.webkit.org/show_bug.cgi?id=216751

        Reviewed by Sam Weinig.

        * DOM/DOMUIKitExtensions.mm:
        (-[DOMNode rangeOfContainingParagraph]):
        * WebView/WebFrame.mm:
        (-[WebFrame spaceFollowsWordInRange:]):
        (-[WebFrame caretRectAtNode:offset:affinity:]):
        (-[WebFrame focusedNodeHasContent]):
        Replaced calls to createLegacyEditingPosition with calls to
        makeDeprecatedLegacyPosition or makeContainerOffsetPosition.

2020-09-17  Sam Weinig  <weinig@apple.com>

        Remove runtime setting for enabling/disabling the UserTiming and ResourceTiming APIs
        https://bugs.webkit.org/show_bug.cgi?id=216556

        Reviewed by Darin Adler.

        Remove runtime setting for enabling/disabling UserTiming and ResourceTiming 
        APIs. They have both been on for a while in WebKit2 and there aren't any
        known uses cases for disabling them. In addition to removing the setting, 
        they are now enabled in LegacyWebKit as well.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences setUserTimingEnabled:]):
        (-[WebPreferences userTimingEnabled]):
        (-[WebPreferences setResourceTimingEnabled:]):
        (-[WebPreferences resourceTimingEnabled]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-09-17  Antoine Quint  <graouts@webkit.org>

        Remove the legacy animation code
        https://bugs.webkit.org/show_bug.cgi?id=216608

        Reviewed by Dean Jackson.

        Since we now have a single animation engine, the runtime flags to optionally enable the Web Animations engine are
        not needed anymore and are now removed.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences webAnimationsEnabled]): Deleted.
        (-[WebPreferences setWebAnimationsEnabled:]): Deleted.
        (-[WebPreferences webAnimationsCSSIntegrationEnabled]): Deleted.
        (-[WebPreferences setWebAnimationsCSSIntegrationEnabled:]): Deleted.
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-09-16  Sam Weinig  <weinig@apple.com>

        Remove runtime setting for enabling/disabling CSS shadow parts
        https://bugs.webkit.org/show_bug.cgi?id=216567

        Reviewed by Tim Horton.

        Remove runtime setting for enabling/disabling CSS shadow parts. It is
        on by default and there is no known reason one would need to disable it.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences setCSSShadowPartsEnabled:]):
        (-[WebPreferences cssShadowPartsEnabled]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-09-16  Sam Weinig  <weinig@apple.com>

        Remove runtime setting for enabling/disabling the isSecureContext API?
        https://bugs.webkit.org/show_bug.cgi?id=216562

        Reviewed by Darin Adler.

        Remove runtime setting for enabling/disabling the the isSecureContext attribute. 
        on window and the worker global scope. There is no known reason one would need 
        to disable it.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences setIsSecureContextAttributeEnabled:]):
        (-[WebPreferences isSecureContextAttributeEnabled]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-09-15  Sam Weinig  <weinig@apple.com>

        Remove runtime setting for enabling/disabling the fetch API
        https://bugs.webkit.org/show_bug.cgi?id=216519

        Reviewed by Alex Christensen.

        Remove runtime setting for enabling/disabling the fetch API. There is no
        reason one needs to disable it now and it has been on by default for
        a long enough time.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences setFetchAPIEnabled:]):
        (-[WebPreferences fetchAPIEnabled]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-09-15  Sam Weinig  <weinig@apple.com>

        Remove runtime setting for enabling/disabling custom elements
        https://bugs.webkit.org/show_bug.cgi?id=216518

        Reviewed by Tim Horton.

        Remove runtime setting for enabling/disabling custom elements. There is no
        reason one need to disable it now, and it has been on by default for
        a long enough time.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences setCustomElementsEnabled:]):
        (-[WebPreferences customElementsEnabled]):
        * WebView/WebPreferencesPrivate.h:

2020-09-14  Sam Weinig  <weinig@apple.com>

        Remove runtime setting for enabling/disabling ShadowDOM
        https://bugs.webkit.org/show_bug.cgi?id=216511

        Reviewed by Ryosuke Niwa.

        Remove runtime setting for enabling/disabling ShadowDOM. There is no
        reason one need to disable it now, and it has been on by default for
        a long enough time.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences setShadowDOMEnabled:]):
        (-[WebPreferences shadowDOMEnabled]):
        (-[WebPreferences setVideoPluginProxyEnabled:]):
        (-[WebPreferences isVideoPluginProxyEnabled]):
        (-[WebPreferences setHixie76WebSocketProtocolEnabled:]):
        (-[WebPreferences isHixie76WebSocketProtocolEnabled]):
        (-[WebPreferences setDiskImageCacheEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-09-14  Dean Jackson  <dino@apple.com>

        Enable WebGL2 by default
        https://bugs.webkit.org/show_bug.cgi?id=216464
        <rdar://problem/68811378>

        Reviewed by Sam Weinig.

        Our WebGL2 implementation is in good enough shape that we should
        enable it by default for broader testing.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

2020-09-10  Chris Dumez  <cdumez@apple.com>

        Unreviewed, reverting r266842 and r266883.

        Causes some assertions to be hit in debug builds

        Reverted changesets:

        "Some WebAudio tests give different output on different
        machines"
        https://bugs.webkit.org/show_bug.cgi?id=216371
        https://trac.webkit.org/changeset/266842

        "Unreviewed Windows build fix after r266842."
        https://trac.webkit.org/changeset/266883

2020-09-10  Chris Dumez  <cdumez@apple.com>

        Some WebAudio tests give different output on different machines
        https://bugs.webkit.org/show_bug.cgi?id=216371

        Reviewed by Alex Christensen.

        Add WebView SPI to set the hardware sample rate.

        * WebView/WebView.mm:
        (+[WebView _setHardwareSampleRateOverride:]):
        * WebView/WebViewPrivate.h:

2020-09-08  Megan Gardner  <megan_gardner@apple.com>

        Switch from deprecated secondarySelectedControlColor to unemphasizedSelectedContentBackgroundColor.
        https://bugs.webkit.org/show_bug.cgi?id=216207

        Reviewed by Darin Adler.

        * Plugins/WebPluginController.mm:
        (-[WebPluginController webPlugInContainerSelectionColor]):

2020-09-02  Darin Adler  <darin@apple.com>

        Remove EAffinity, UPSTREAM, DOWNSTREAM, SEL_DEFAULT_AFFINITY, and VisibleSelection::selectionType
        https://bugs.webkit.org/show_bug.cgi?id=216102

        Reviewed by Sam Weinig.

        * DOM/DOMUIKitExtensions.mm:
        (-[DOMNode rangeOfContainingParagraph]): Rely on default affinity.

        * WebCoreSupport/WebEditorClient.h:
        (kit): Use Affinity.
        (core): Ditto.
        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::shouldChangeSelectedRange): Ditto.
        * WebView/WebFrame.mm:
        (-[WebFrame _caretRectAtPosition:affinity:]): Ditto.
        (-[WebFrame _selectNSRange:]): Rely on default affinity.
        (-[WebFrame getDictationResultRanges:andMetadatas:]): Use isNone.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView insertText:]): Rely on default affinity.

2020-09-03  Devin Rousso  <drousso@apple.com>

        Web Inspector: allow special JavaScript breakpoints to be configured
        https://bugs.webkit.org/show_bug.cgi?id=215794

        Reviewed by Brian Burg.

        * WebView/WebScriptDebugger.mm:
        (WebScriptDebugger::WebScriptDebugger):

2020-09-02  Darin Adler  <darin@apple.com>

        Change Affinity into an enum class
        https://bugs.webkit.org/show_bug.cgi?id=216096

        Reviewed by Wenson Hsieh.

        * WebCoreSupport/WebEditorClient.h:
        (kit): Use prefix.
        (core): Ditto.

2020-09-01  Darin Adler  <darin@apple.com>

        Remove comparePositions and make VisiblePosition improvements
        https://bugs.webkit.org/show_bug.cgi?id=215982

        Reviewed by Sam Weinig.

        * WebCoreSupport/WebEditorClient.h:
        (kit): Update for changes to Affinity enumeration.
        (core): Ditto.
        * WebView/WebFrame.mm:
        (-[WebFrame characterBeforeCaretSelection]): Moved the code from
        FrameSelection::characterBeforeCaretSelection because it's a one-liner now.
        Added a call to updateLayout because it's unclear why we could do without it before.
        Also added a null check for frame, since there's no guarantee it's not null.
        (-[WebFrame characterAfterCaretSelection]): Ditto.
        (-[WebFrame selectionAtDocumentStart]): Ditto.
        (-[WebFrame selectNSRange:onElement:]): Ditto, but also added a comment because
        this method is not useful and almost certainly not used.
        (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]):
        Use VisiblePosition::defaultAffinity instead of VP_DEFAULT_AFFINITY.

2020-08-31  Sam Weinig  <weinig@apple.com>

        Many settings in RuntimeEnabledSettings should autogenerated Settings: Part 1
        https://bugs.webkit.org/show_bug.cgi?id=215981

        Reviewed by Darin Adler.

        This moves an initial chunk of RuntimeEnabledSettings settings to Settings.yaml, focusing
        on settings that don't require substantial refactoring or new features to work in Settings.yaml.

        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):
        Update changed settings to use Settings rather than RuntimeEnabledSettings.

2020-08-30  Timothy Horton  <timothy_horton@apple.com>

        Remove an unused addition point

        * WebCoreSupport/WebFrameLoaderClient.mm:

2020-08-28  Darin Adler  <darin@apple.com>

        Remove almost all the remaining uses of live ranges
        https://bugs.webkit.org/show_bug.cgi?id=215755

        Reviewed by Sam Weinig.

        * DOM/DOMRange.mm:
        (-[DOMRange text]): Use plainText.
        (-[DOMRange compareBoundaryPoints:sourceRange:]): Update for rename of
        compareBoundaryPointsForBindings.
        (-[DOMRange intersectsNode:]): Removed raiseOnDOMError.

        * DOM/DOMUIKitExtensions.mm:
        (firstNodeAfter): Moved Range::firstNode here since it's the only remaining caller;
        might need to keep legacy behavior depending on how this is used by UIKit.
        (-[DOMRange firstNode]): Call firstNodeAfter.

        * DOM/WebDOMOperations.mm:
        (-[DOMRange markupString]): Stop using Range::ownerDocument.

2020-08-27  Devin Rousso  <drousso@apple.com>

        [iOS] provide a way to get previously inserted alternatives for the selected text
        https://bugs.webkit.org/show_bug.cgi?id=215816
        <rdar://problem/66646042>

        Reviewed by Darin Adler.

        * WebView/WebView.mm:
        (-[WebView _dictationAlternatives:]):
        Create a `Vector<String>` from the returned `NSTextAlternatives *` now that the member
        `WebCore::AlternativeTextUIController::alternativesForContext` returns it.

2020-08-27  Youenn Fablet  <youenn@apple.com>

        Add support for TransformStream
        https://bugs.webkit.org/show_bug.cgi?id=215607

        Reviewed by Alex Christensen.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences transformStreamAPIEnabled]):
        (-[WebPreferences setTransformStreamAPIEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-08-25  Ryosuke Niwa  <rniwa@webkit.org>

        HashMap<Ref<T>>::take should return RefPtr<T>
        https://bugs.webkit.org/show_bug.cgi?id=215830

        Reviewed by Darin Adler.

        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::didCheckSucceed):

2020-08-25  Megan Gardner  <megan_gardner@apple.com>

        Trying to lookup when WebView is in a popover causes process to hang. Fix for Legacy WebView.
        https://bugs.webkit.org/show_bug.cgi?id=215792

        Reviewed by Tim Horton.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=214773 also needed in legacy WebView.
        The Lookup framework does not populate the menus that it vends with the option to 'lookup'
        words that are selected in popovers. WebKit should follow the pattern and not put the
        item in the menu as Lookup is not able to handle this situation. Also if Lookup is disabled
        via defaults, we should not show it in the menu.

        * WebView/WebHTMLView.mm:
        (customMenuFromDefaultItems):

2020-08-24  Aditya Keerthi  <akeerthi@apple.com>

        [macOS] Show picker for date and datetime-local input types
        https://bugs.webkit.org/show_bug.cgi?id=214946

        Reviewed by Darin Adler and Wenson Hsieh.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::createDateTimeChooser):

2020-08-19  Darin Adler  <darin@apple.com>

        Move node geometry functions from Range to RenderObject
        https://bugs.webkit.org/show_bug.cgi?id=215677

        Reviewed by Zalan Bujtas.

        * DOM/DOM.mm:
        (-[DOMRange boundingBox]): Call unionRect(RenderObject::absoluteTextRects).

2020-08-17  Darin Adler  <darin@apple.com>

        Create documentOrder function, start refactoring to use it instead of Range::compare functions
        https://bugs.webkit.org/show_bug.cgi?id=215551

        Reviewed by Chris Dumez.

        * WebView/WebFrame.mm:
        (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]):
        Rewrite to use makeSimpleRange and makeContainerOffsetPosition. Simplifies
        the null checks. Would love to remove the function but at this time it's
        still used by Apple's Mail app (albeit in a peculiar way, always passing a
        constant string).

2020-08-17  David Kilzer  <ddkilzer@apple.com>

        Clean up DragApplicationFlags after switch to OptionSet<>
        <https://webkit.org/b/215349>

        Reviewed by Darin Adler.

        Change WebCore::DragApplicationFlags to an enum class.

        * WebView/WebView.mm:
        (-[WebView applicationFlags:]): Deleted.
        (-[WebView _applicationFlagsForDrag:]):
        - Rename -applicationFlags: to -_applicationFlagsForDrag: since
          it's only used internally.
        - Switch to return OptionSet<WebCore::DragApplicationFlags>.
        (-[WebView draggingEntered:]):
        (-[WebView draggingUpdated:]):
        (-[WebView draggingExited:]):
        (-[WebView performDragOperation:]):
        - Switch to calling -_applicationFlagsForDrag:.

2020-08-12  Keith Rollin  <krollin@apple.com>

        Remove the need for defining USE_NEW_BUILD_SYSTEM
        https://bugs.webkit.org/show_bug.cgi?id=215439

        Reviewed by Darin Adler.

        When building WebKit for XCBuild, we currently require that the
        external build system (such as the Makefile, build-webkit, etc.)
        defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting
        controls parts of our build instructions that are sensitive to when
        XCBuild or the Legacy build system are being used. Notably, we need to
        know when to use our custom “copy and modify” scripts with copying
        certain header files (used with the Legacy build system) vs. using the
        enhanced Copy Headers build phase that’s enabled with
        APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild).
        The choice of which method to copy headers is used is controlled by
        USE_NEW_BUILD_SYSTEM.

        There is no built-in build setting that we can probe to help us
        determine which approach to take when copying and modifying headers,
        which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it
        turns out that we can *detect* which build system is being used by
        taking advantage of a subtle difference between the two systems. As
        noted in:

            https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10

            “When an .xcconfig file contains multiple assignments of the same
             build setting, later assignments using $(inherited) or
             $(<setting_name>) will inherit from earlier assignments in the
             .xcconfig. The legacy build system caused every use of
             $(inherited) or $(<setting_name>) skip any other values defined
             within the .xcconfig.”

        This difference can be exploited as follows:

            WK_WHICH_BUILD_SYSTEM = not_
            WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
            WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
            WK_USE_NEW_BUILD_SYSTEM_legacy = NO
            WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES

        We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the
        externally-defined USE_NEW_BUILD_SYSTEM.

        * Configurations/Base.xcconfig:
        * Configurations/WebKitLegacy.xcconfig:

2020-08-05  Tim Horton  <timothy_horton@apple.com>

        Remove all references to non-existent 10.16
        https://bugs.webkit.org/show_bug.cgi?id=215202

        Reviewed by Wenson Hsieh.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/Version.xcconfig:
        * Configurations/WebKitTargetConditionals.xcconfig:

2020-08-03  Youenn Fablet  <youenn@apple.com>

        Move user gesture propagation over promise behind a feature flag
        https://bugs.webkit.org/show_bug.cgi?id=215014

        Reviewed by Eric Carlson.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences userGesturePromisePropagationEnabled]):
        (-[WebPreferences setUserGesturePromisePropagationEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-08-03  Wenson Hsieh  <wenson_hsieh@apple.com>

        Remove the ENABLE_DATA_INTERACTION feature flag
        https://bugs.webkit.org/show_bug.cgi?id=215091

        Reviewed by Megan Gardner.

        * WebCoreSupport/WebDragClient.mm:
        * WebView/WebView.mm:
        * WebView/WebViewData.h:
        * WebView/WebViewInternal.h:

2020-08-02  Darin Adler  <darin@apple.com>

        Remove some member functions of Range and many calls to createLiveRange
        https://bugs.webkit.org/show_bug.cgi?id=215070

        Reviewed by Sam Weinig.

        * DOM/DOM.mm:
        (-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
        Use makeSimpleRange.
        (-[DOMRange textRects]): Ditto.

        * DOM/DOMDocument.mm: Update includes.
        * DOM/DOMRange.mm: Ditto.
        * DOM/DOMRangeInternal.h: Ditto.
        * DOM/DOMUIKitExtensions.mm: Ditto.
        * DOM/DOMUtility.mm: Ditto.

        * DOM/WebDOMOperations.mm:
        (-[DOMRange webArchive]): Use makeSimpleRange.
        (-[DOMRange markupString]): Ditto.

        * WebView/WebFrame.mm:
        (-[WebFrame _stringForRange:]): Use makeSimpleRange.
        (-[WebFrame _convertToDOMRange:]): Return a SimpleRange.
        (-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]): Ditto.
        (-[WebFrame _convertNSRangeToDOMRange:]): Update for above.
        (-[WebFrame _convertDOMRangeToNSRange:]): Use makeSimpleRange.
        (-[WebFrame _selectNSRange:]): Update for above.
        (-[WebFrame selectWithoutClosingTypingNSRange:]): Ditto.
        (-[WebFrame getDictationResultRanges:andMetadatas:]): Use makeSimpleRange.
        (-[WebFrame dictationResultMetadataForRange:]): Ditto.
        * WebView/WebFrameInternal.h: Update for above.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
        Use makeSimpleRange.
        (-[WebHTMLView attributedSubstringFromRange:]): Use auto.
        (-[WebHTMLView _attributedStringFromDOMRange:]): Deleted.
        (-[WebHTMLView attributedString]): Rewrote to use SimpleRange consistently.
        (-[WebHTMLView selectedAttributedString]): Ditto.

        * WebView/WebImmediateActionController.mm:
        (-[WebImmediateActionController _animationControllerForDataDetectedText]):
        Use makeSimpleRange.
        * WebView/WebTextIterator.mm:
        (-[WebTextIterator initWithRange:]): Ditto.

        * WebView/WebView.mm:
        (-[WebView _didConcludeEditDrag]): Remove createLiveRange.

2020-08-01  Darin Adler  <darin@apple.com>

        Remove Range::create and many more uses of live ranges
        https://bugs.webkit.org/show_bug.cgi?id=215004

        Reviewed by Sam Weinig.

        * DOM/DOMUIKitExtensions.mm:
        (-[DOMNode rangeOfContainingParagraph]): Use makeSimpleRange.

        * WebView/WebFrame.mm:
        (-[WebFrame _characterRangeAtPoint:]): Update since rangeAtPoint takes a SimpleRange.
        (-[WebFrame getDictationResultRanges:andMetadatas:]): Use document marker range function.

        * WebView/WebImmediateActionController.mm:
        (-[WebImmediateActionController _defaultAnimationController]): Use makeRangeSelectingNodeContents.
        (-[WebImmediateActionController _animationControllerForDataDetectedLink]): Ditto.

2020-07-31  Chris Dumez  <cdumez@apple.com>

        Add linked-on-after check to keep WebSQL working in UIWebView until apps are rebuilt with iOS 14 SDK
        https://bugs.webkit.org/show_bug.cgi?id=215035
        <rdar://problem/65003342>

        Reviewed by Tim Horton.

        Add linked-on-after check to keep WebSQL working in UIWebView until apps are rebuilt with iOS 14 SDK.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

2020-07-30  Darin Adler  <darin@apple.com>

        Further reduction in the use of live ranges, particularly in headers
        https://bugs.webkit.org/show_bug.cgi?id=214793

        Reviewed by Sam Weinig.

        * DOM/DOMHTML.mm:
        (-[DOMHTMLDocument createDocumentFragmentWithText:]): Use SimpleRange.
        * DOM/DOMUIKitExtensions.mm:
        (-[DOMRange move:inDirection:]): Ditto.
        (-[DOMRange extend:inDirection:]): Ditto.
        * DOM/WebDOMOperations.mm:
        (-[DOMRange webArchive]): Ditto.
        * WebView/WebFrame.mm:
        (-[WebFrame _firstRectForDOMRange:]): Moved a "*" to save a little work.
        (-[WebFrame setSelectedDOMRange:affinity:closeTyping:userTriggered:]):
        Use SimpleRange.
        (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:matchStyle:]):
        Ditto.
        (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
        Ditto.
        (-[WebFrame _documentFragmentForText:]): Ditto.
        * WebView/WebView.mm:
        (-[WebView DOMRangeOfString:relativeTo:options:]): Ditto.
        (-[WebView setSelectedDOMRange:affinity:]): Ditto.

2020-07-29  Darin Adler  <darin@apple.com>

        Improve range idioms and other changes to prepare the way for more reduction in live range use
        https://bugs.webkit.org/show_bug.cgi?id=214882

        Reviewed by Sam Weinig.

        * WebCoreSupport/WebEditorClient.mm:
        (insertionPointFromCurrentSelection): Simplify with makeSimpleRange.
        (WebEditorClient::requestCandidatesForSelection): Ditto.

        * WebView/WebFrame.mm:
        (-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]): Get rid of
        unnecessary construction of a range just to get an end point.
        (-[WebFrame wordOffsetInRange:]): Moved logic here from VisibleSelection.
        (-[WebFrame spaceFollowsWordInRange:]): Ditto.

2020-07-23  Darin Adler  <darin@apple.com>

        Stop using live ranges in SpellChecker.h and TextCheckingHelper.h
        https://bugs.webkit.org/show_bug.cgi?id=214648

        Reviewed by Sam Weinig.

        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::requestCheckingOfString): Pass the specific types of
        results we expect, rather than NSTextCheckingAllSystemTypes.

2020-07-22  Conrad Shultz  <conrad_shultz@apple.com>

        Update macOS Version macros
        https://bugs.webkit.org/show_bug.cgi?id=214653

        Reviewed by Tim Horton.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/Version.xcconfig:
        * Configurations/WebKitTargetConditionals.xcconfig:

2020-07-19  Darin Adler  <darin@apple.com>

        Remove live ranges from Editor.h and EditorClient.h
        https://bugs.webkit.org/show_bug.cgi?id=214261

        Reviewed by Sam Weinig.

        * DOM/DOMRange.mm:
        (kit): Added an overload to convert to a live range so we don't have
        to touch every call site.
        * DOM/DOMRangeInternal.h: Added the above.

        * WebCoreSupport/WebEditorClient.h: Updated for changes to EditorClient.

        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::shouldDeleteRange): Changed types to not use live ranges.
        (WebEditorClient::shouldApplyStyle): Ditto.
        (WebEditorClient::shouldMoveRangeAfterDelete): Ditto.
        (WebEditorClient::shouldBeginEditing): Ditto.
        (WebEditorClient::shouldEndEditing): Ditto.
        (WebEditorClient::shouldInsertText): Ditto.
        (WebEditorClient::shouldChangeSelectedRange): Ditto.
        (WebEditorClient::willWriteSelectionToPasteboard): Ditto.
        (WebEditorClient::getClientPasteboardData): Ditto.
        (WebEditorClient::shouldInsertNode): Ditto.
        (WebEditorClient::performTwoStepDrop): Ditto.

        * WebView/WebFrame.mm:
        (-[WebFrame _firstRectForDOMRange:]): Update to not use live range.
        (-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
        (-[WebFrame _rangeByAlteringCurrentSelection:direction:granularity:]): Ditto.
        (-[WebFrame _markDOMRange]): Ditto.
        (-[WebFrame _selectionRangeForFirstPoint:secondPoint:]): Ditto.
        (-[WebFrame _selectionRangeForPoint:]): Ditto.
        (-[WebFrame selectedDOMRange]): Ditto.
        (-[WebFrame elementRangeContainingCaretSelection]): Ditto.
        (-[WebFrame wordRangeContainingCaretSelection]): Ditto.
        (-[WebFrame rangeByMovingCurrentSelection:]): Ditto.
        (-[WebFrame rangeByExtendingCurrentSelection:]): Ditto.
        (-[WebFrame markedTextDOMRange]): Ditto.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _selectedRange]): Update to not use live range.
        (-[WebHTMLView firstRectForCharacterRange:]): Use NSZeroRect.
        (-[WebHTMLView countMatchesForText:inDOMRange:options:limit:markMatches:]):
        Update to not use live range.
        * WebView/WebTextCompletionController.mm:
        (-[WebTextCompletionController doCompletion]): Ditto.
        * WebView/WebTextIterator.mm:
        (-[WebTextIterator currentRange]): Ditto.
        * WebView/WebView.mm:
        (-[WebView textIteratorForRect:]): Ditto.
        (-[WebView editableDOMRangeForPoint:]): Ditto.
        (-[WebView selectedDOMRange]): Ditto.

2020-07-21  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (WebSQL disablement): Fudget app is unresponsive on launch
        https://bugs.webkit.org/show_bug.cgi?id=214620
        <rdar://problem/65443085>

        Reviewed by Geoffrey Garen.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        Add Fudget to the list of apps that can use WebSQL until linked on or after iOS 14.

2020-07-21  Eric Carlson  <eric.carlson@apple.com>

        Use AVRoutePickerView when available for choosing AirPlay devices
        https://bugs.webkit.org/show_bug.cgi?id=213497
        <rdar://problem/58610662>

        Reviewed by Jer Noble.

        * WebView/WebMediaPlaybackTargetPicker.h:
        (WebMediaPlaybackTargetPicker::~WebMediaPlaybackTargetPicker): Deleted.
        * WebView/WebMediaPlaybackTargetPicker.mm:
        (WebMediaPlaybackTargetPicker::create):
        (WebMediaPlaybackTargetPicker::WebMediaPlaybackTargetPicker):
        (WebMediaPlaybackTargetPicker::invalidate):
        (WebMediaPlaybackTargetPicker::platformView const): New override.

        * WebView/WebView.mm:
        (-[WebView _devicePicker]): Pass view to WebMediaPlaybackTargetPicker factory.

2020-07-17  Sam Weinig  <weinig@apple.com>

        Remove final vestigates of SimpleColor
        https://bugs.webkit.org/show_bug.cgi?id=214439

        Reviewed by Simon Fraser.

        * WebView/WebIndicateLayer.mm:
        Replace remaining makeSimpleColor() uses.

2020-07-17  Truitt Savell  <tsavell@apple.com>

        Unreviewed, reverting r264477.

        Broke the internal build

        Reverted changeset:

        "Use AVRoutePickerView when available for choosing AirPlay
        devices"
        https://bugs.webkit.org/show_bug.cgi?id=213497
        https://trac.webkit.org/changeset/264477

2020-07-16  Eric Carlson  <eric.carlson@apple.com>

        Use AVRoutePickerView when available for choosing AirPlay devices
        https://bugs.webkit.org/show_bug.cgi?id=213497
        <rdar://problem/58610662>

        Reviewed by Jer Noble.

        * WebView/WebMediaPlaybackTargetPicker.h:
        (WebMediaPlaybackTargetPicker::~WebMediaPlaybackTargetPicker): Deleted.
        * WebView/WebMediaPlaybackTargetPicker.mm:
        (WebMediaPlaybackTargetPicker::create):
        (WebMediaPlaybackTargetPicker::WebMediaPlaybackTargetPicker):
        (WebMediaPlaybackTargetPicker::invalidate):
        (WebMediaPlaybackTargetPicker::platformView const): New override.

        * WebView/WebView.mm:
        (-[WebView _devicePicker]): Pass view to WebMediaPlaybackTargetPicker factory.

2020-07-15  Darin Adler  <darin@apple.com>

        Remove a few more uses of the terms black/white list
        https://bugs.webkit.org/show_bug.cgi?id=214371

        Reviewed by Alex Christensen.

        * WebView/WebViewPrivate.h: Corrected a mistake in a comment.

2020-07-13  Keith Miller  <keith_miller@apple.com>

        Clean up SourceProvider and add caller relative load script to jsc.cpp
        https://bugs.webkit.org/show_bug.cgi?id=214205

        Reviewed by Yusuke Suzuki.

        Use the source origin's URL for the debugger since it's the true URL for the script.

        * WebView/WebScriptDebugger.mm:
        (WebScriptDebugger::sourceParsed):

2020-07-08  Darin Adler  <darin@apple.com>

        Remove live ranges from Document.h, AlternativeTextController.h, DictionaryLookup.h, and WebPage.h
        https://bugs.webkit.org/show_bug.cgi?id=214109

        Reviewed by Sam Weinig.

        * WebView/WebImmediateActionController.mm:
        (-[WebImmediateActionController _animationControllerForText]): Update since
        DictionaryLookup::rangeAtHitTestResult returns SimpleRange.

2020-07-09  Brian Burg  <bburg@apple.com>

        REGRESSION(r217248): ASSERT_NOT_REACHED() in toWebFrameLoadType()
        https://bugs.webkit.org/show_bug.cgi?id=214149

        Reviewed by Joseph Pecoraro.

        ASSERT_NOT_REACHED() is hit when the type is FrameLoadType::ReloadExpiredOnly. This happens
        when remote inspection triggers a reload via InspectorPageAgent::reload() and the
        'revalidateAllResources' optional argument is false or not specified.

        * WebView/WebFrame.mm:
        (toWebFrameLoadType):
        Remove the assert and add a note explaining why this load type that does not
        naturally occur in WK1 may nonetheless be triggered while remote inspecting.

2020-07-06  Simon Fraser  <simon.fraser@apple.com>

        BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS should not have trailing semicolons
        https://bugs.webkit.org/show_bug.cgi?id=214019

        Reviewed by Tim Horton.

        These macros are defined as:
        
        #define BEGIN_BLOCK_OBJC_EXCEPTIONS @try {
        #define END_BLOCK_OBJC_EXCEPTIONS } @catch(NSException *localException) { ReportBlockedObjCException(localException); }
        
        so they should not be used with trailing semicolons.

        * DOM/DOMCustomXPathNSResolver.mm:
        (DOMCustomXPathNSResolver::lookupNamespaceURI):
        * WebCoreSupport/PopupMenuMac.mm:
        (PopupMenuMac::show):
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::exceededDatabaseQuota):
        (WebChromeClient::reachedApplicationCacheOriginQuota):
        (WebChromeClient::runOpenPanel):
        (WebChromeClient::keyboardUIMode):
        (WebChromeClient::firstResponder):
        (WebChromeClient::makeFirstResponder):
        (WebChromeClient::attachRootGraphicsLayer):
        (WebChromeClient::setNeedsOneShotDrawingSynchronization):
        (WebChromeClient::scheduleRenderingUpdate):
        (WebChromeClient::enterVideoFullscreenForVideoElement):
        (WebChromeClient::exitVideoFullscreenForVideoElement):
        (WebChromeClient::exitVideoFullscreenToModeWithoutAnimation):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::createFrame):
        (WebFrameLoaderClient::objectContentType):
        (NetscapePluginWidget::notifyWidget):
        (WebFrameLoaderClient::createPlugin):
        (WebFrameLoaderClient::redirectDataToPlugin):
        (WebFrameLoaderClient::createJavaAppletWidget):
        * WebCoreSupport/WebGeolocationClient.mm:
        (WebGeolocationClient::setEnableHighAccuracy):
        (WebGeolocationClient::requestPermission):
        (-[WebGeolocationProviderInitializationListener initializationAllowedWebView:]):
        * WebCoreSupport/WebNotificationClient.mm:
        (WebNotificationClient::requestPermission):
        * WebCoreSupport/WebPluginInfoProvider.mm:
        (WebPluginInfoProvider::pluginInfo):
        * WebCoreSupport/WebVisitedLinkStore.mm:
        (WebVisitedLinkStore::populateVisitedLinksIfNeeded):
        * WebView/WebHTMLView.mm:
        (imageFromRect):

2020-07-06  Jonathan Bedard  <jbedard@apple.com>

        [Catalyst] Remove SPI header from WebDownload.h
        https://bugs.webkit.org/show_bug.cgi?id=214004
        <rdar://problem/65146575>

        Reviewed by Wenson Hsieh.

        * Misc/WebDownload.h: Remove SPI header.

2020-07-05  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, reverting r263960.
        https://bugs.webkit.org/show_bug.cgi?id=213980

        Re-land, because r263959 somehow fixed the build issue caused
        by r263953

        Reverted changeset:

        "Unreviewed, reverting r263953 and r263959."
        https://bugs.webkit.org/show_bug.cgi?id=213979
        https://trac.webkit.org/changeset/263960

2020-07-05  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, reverting r263953 and r263959.
        https://bugs.webkit.org/show_bug.cgi?id=213979

        Broke internal build

        Reverted changesets:

        "[Cocoa] Move almost all features from FeatureDefines.xcconfig
        to PlatformEnableCocoa.h"
        https://bugs.webkit.org/show_bug.cgi?id=212542
        https://trac.webkit.org/changeset/263953

        "[Cocoa] Remove FEATURE_DEFINES from the Cocoa/Xcode build
        system"
        https://bugs.webkit.org/show_bug.cgi?id=213976
        https://trac.webkit.org/changeset/263959

2020-07-05  Darin Adler  <darin@apple.com>

        [Cocoa] Remove FEATURE_DEFINES from the Cocoa/Xcode build system
        https://bugs.webkit.org/show_bug.cgi?id=213976

        Reviewed by Sam Weinig.

        * Configurations/FeatureDefines.xcconfig: Removed.
        * Configurations/WebKitLegacy.xcconfig: Removed FEATURE_DEFINES and the include of
        FeatureDefines.xcconfig.
        * MigrateHeaders.make: Removed FEATURE_DEFINES, FEATURE_DEFINE_FLAGS, and
        FEATURE_AND_PLATFORM_DEFINE_DEPENDENCIES. FEATURE_AND_PLATFORM_DEFINES is now used
        solely to determine if this is an internal SDK build, which should be cleaned up later.

2020-07-05  Andy Estes  <aestes@apple.com>

        [iOS] La Banque Postale app does not respect safe area insets on iOS 14
        https://bugs.webkit.org/show_bug.cgi?id=213974
        <rdar://problem/65109197>

        Reviewed by Darin Adler.

        La Banque Postale uses a fixed list of iOS versions that support safe area insets (versions
        11 through 13 at the time of writing). Since iOS 14 is not in this list, the app fails to
        apply top and bottom safe area insets to its web content. Work around this by adding the
        'device-ios12p' class to <body> as if the iOS major version were 13 (the app currently uses
        'device-ios12p' to represent both iOS 12 and iOS 13). This quirk will be disabled on
        versions of La Banque Postale that link against the iOS 14 SDK (or later).

        * Configurations/WebKitLegacy.xcconfig: Excluded LaBanquePostaleQuirks.js on Mac.
        * Resources/LaBanquePostaleQuirks.js: Added.
        * WebView/WebView.mm:
        (needsLaBanquePostaleQuirks): Added. Checks if the quirk is needed.
        (leakLaBanquePostaleQuirksScript): Added. Leaks an NSString containing the quirk script.
        (-[WebView _injectLaBanquePostaleQuirks]): Added. Injects the quirk as a user script.
        (-[WebView _commonInitializationWithFrameName:groupName:]):

2020-07-05  Darin Adler  <darin@apple.com>

        [Cocoa] Move almost all features from FeatureDefines.xcconfig to PlatformEnableCocoa.h
        https://bugs.webkit.org/show_bug.cgi?id=212542

        Reviewed by Sam Weinig.

        * Configurations/FeatureDefines.xcconfig: Delete everything except
        ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.

2020-07-04  Darin Adler  <darin@apple.com>

        [Cocoa] Remove all features from FeatureDefines.xcconfig that are already mentioned in PlatformEnableCocoa.h
        https://bugs.webkit.org/show_bug.cgi?id=213962

        Reviewed by Sam Weinig.

        * Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned
        in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.

2020-07-04  Darin Adler  <darin@apple.com>

        [Cocoa] Remove unconditional features from FeatureDefines.xcconfig, making sure they are covered in PlatformEnableCocoa.h
        https://bugs.webkit.org/show_bug.cgi?id=212418

        Reviewed by Sam Weinig.

        * Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,
        or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
        PlatformEnableCocoa.h.

2020-07-04  Darin Adler  <darin@apple.com>

        Update comment in FeatureDefines.xcconfig since PlatformEnableCocoa.h should be used instead
        https://bugs.webkit.org/show_bug.cgi?id=213952

        Reviewed by Sam Weinig.

        * Configurations/FeatureDefines.xcconfig: Updated comment.

2020-07-03  Sam Weinig  <weinig@apple.com>

        Remove support for ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE
        https://bugs.webkit.org/show_bug.cgi?id=213932

        Reviewed by Darin Adler.

        Removes support for non-standard <input type="datetime">, currently being 
        guarded by the macro ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE. This macro, was
        added back in 2013 as a temporary measure to support some engines who shipped
        support for <input type="datetime">. It is currently not enabled for any
        ports so now seems like as good a time as any to remove it.

        * Configurations/FeatureDefines.xcconfig:

2020-07-03  Sam Weinig  <weinig@apple.com>

        Add "-Wliteral-conversion" warning to Xcode based builds and fix the issues it finds
        https://bugs.webkit.org/show_bug.cgi?id=213931

        Reviewed by Darin Adler.

        * Configurations/Base.xcconfig:
        Add -Wliteral-conversion.

2020-07-01  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Allow the File object to be created with a replacement file
        https://bugs.webkit.org/show_bug.cgi?id=213825

        Reviewed by Darin Adler.

        * WebCoreSupport/WebPlatformStrategies.mm:

2020-06-30  Sam Weinig  <weinig@apple.com>

        Split Color serialization out of Color classes
        https://bugs.webkit.org/show_bug.cgi?id=213820

        Reviewed by Darin Adler.

        Adopt ColorSerialization.h serialization functions.

        * WebView/WebView.mm:
        (-[WebTextTouchBarItemController _webChangeColor:]):

2020-06-30  Kate Cheney  <katherine_cheney@apple.com>

        Remove NeedsInAppBrowserPrivacyQuirks flag from WebKitLegacy
        https://bugs.webkit.org/show_bug.cgi?id=213802
        <rdar://problem/64945642>

        Reviewed by Darin Adler.

        This feature is for testing only and is not needed in WebKitLegacy.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences needsInAppBrowserPrivacyQuirks]): Deleted.
        (-[WebPreferences setNeedsInAppBrowserPrivacyQuirks:]): Deleted.
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-06-30  Peng Liu  <peng.liu6@apple.com>

        Enable the support of FULLSCREEN_API in WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=213774

        Reviewed by Youenn Fablet.

        Replace the definition of ENABLE_FULLSCREEN_API in FeatureDefines.xcconfig with
        the one in PlatformEnableCocoa.h. We have to do that because WebKitTestRunner
        does not have a FeatureDefines.xcconfig but it uses "ENABLE(FULLSCREEN_API)"
        to conditionally compile code to test the element fullscreen API.
        WebKitTestRunner can use the macro defined in PlatformEnableCocoa.h.

        * Configurations/FeatureDefines.xcconfig:

2020-06-30  Andy Estes  <aestes@apple.com>

        [Xcode] Enable the "My Mac (Mac Catalyst)" destination in WebKit Xcode projects
        https://bugs.webkit.org/show_bug.cgi?id=213740

        Reviewed by Darin Adler.

        * Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this
        project supports building for Mac Catalyst.

2020-06-29  Tetsuharu Ohzeki  <tetsuharu.ohzeki@gmail.com>

        Remove ENABLE_STREAMS_API compilation flag
        https://bugs.webkit.org/show_bug.cgi?id=213728

        Reviewed by Sam Weinig.

        * Configurations/FeatureDefines.xcconfig:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-06-28  Geoffrey Garen  <ggaren@apple.com>

        Rename initializeThreading to initialize
        https://bugs.webkit.org/show_bug.cgi?id=213674

        Reviewed by Mark Lam.

        * History/WebBackForwardList.mm:
        (+[WebBackForwardList initialize]):
        * History/WebHistoryItem.mm:
        (+[WebHistoryItem initialize]):
        * Misc/WebCache.mm:
        (+[WebCache initialize]):
        * Misc/WebElementDictionary.mm:
        (+[WebElementDictionary initialize]):
        * Misc/WebIconDatabase.mm:
        * Misc/WebStringTruncator.mm:
        (+[WebStringTruncator initialize]):
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (+[WebHostedNetscapePluginView initialize]):
        * Plugins/WebBaseNetscapePluginView.mm:
        * Plugins/WebBasePluginPackage.mm:
        (+[WebBasePluginPackage initialize]):
        * Plugins/WebNetscapePluginView.mm:
        (+[WebNetscapePluginView initialize]):
        * WebCoreSupport/WebEditorClient.mm:
        (+[WebUndoStep initialize]):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (+[WebFramePolicyListener initialize]):
        * WebView/WebArchive.mm:
        (+[WebArchivePrivate initialize]):
        * WebView/WebDataSource.mm:
        (+[WebDataSource initialize]):
        * WebView/WebHTMLView.mm:
        (+[WebHTMLViewPrivate initialize]):
        (+[WebHTMLView initialize]):
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        * WebView/WebResource.mm:
        (+[WebResourcePrivate initialize]):
        * WebView/WebTextIterator.mm:
        (+[WebTextIteratorPrivate initialize]):
        * WebView/WebView.mm:
        (+[WebView initialize]):
        * WebView/WebViewData.mm:
        (+[WebViewPrivate initialize]):

2020-06-26  Geoffrey Garen  <ggaren@apple.com>

        WebSecurityOrigin needs to initialize the main thread
        https://bugs.webkit.org/show_bug.cgi?id=213675

        Reviewed by Tim Horton.

        Safari uses WebSecurityOrigin stand-alone in unit tests.

        (And any client can use WebSecurityOrigin without first using other
        WebKit data types.)

        * WebCoreSupport/WebSecurityOrigin.mm:
        (-[WebSecurityOrigin initWithURL:]):

2020-06-26  Geoffrey Garen  <ggaren@apple.com>

        Initializing the main thread should initialize the main run loop
        https://bugs.webkit.org/show_bug.cgi?id=213637

        Reviewed by Anders Carlsson.

        * History/WebBackForwardList.mm:
        (+[WebBackForwardList initialize]):
        * History/WebHistoryItem.mm:
        (+[WebHistoryItem initialize]):
        * Misc/WebCache.mm:
        (+[WebCache initialize]):
        * Misc/WebElementDictionary.mm:
        (+[WebElementDictionary initialize]):
        * Misc/WebIconDatabase.mm:
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (+[WebHostedNetscapePluginView initialize]):
        * Plugins/WebBaseNetscapePluginView.mm:
        * Plugins/WebBasePluginPackage.mm:
        (+[WebBasePluginPackage initialize]):
        * Plugins/WebNetscapePluginView.mm:
        (+[WebNetscapePluginView initialize]):
        * WebCoreSupport/WebEditorClient.mm:
        (+[WebUndoStep initialize]):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (+[WebFramePolicyListener initialize]):
        * WebView/WebArchive.mm:
        (+[WebArchivePrivate initialize]):
        * WebView/WebDataSource.mm:
        (+[WebDataSource initialize]):
        * WebView/WebHTMLView.mm:
        (+[WebHTMLViewPrivate initialize]):
        (+[WebHTMLView initialize]):
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        * WebView/WebResource.mm:
        (+[WebResourcePrivate initialize]):
        * WebView/WebTextIterator.mm:
        (+[WebTextIteratorPrivate initialize]):
        * WebView/WebView.mm:
        (+[WebView initialize]):
        * WebView/WebViewData.mm:
        (+[WebViewPrivate initialize]):

2020-06-26  Wenson Hsieh  <wenson_hsieh@apple.com>

        Add a test to verify that async clipboard API write access is granted when copying in subframes
        https://bugs.webkit.org/show_bug.cgi?id=213581

        Reviewed by Darin Adler.

        * WebView/WebView.mm:
        (-[WebView _executeCoreCommandByName:value:]):

        Adjust the behavior of this SPI to trigger the editing command in the focused frame, rather than always the
        mainframe. This matches the behavior of `WKBundlePageExecuteEditingCommand`, and is also consistent with
        user-triggered editing commands.

2020-06-24  David Kilzer  <ddkilzer@apple.com>

        Use ObjectIdentifier<>instead of WebCore::nextPlaybackTargetClientContextId() in Document.cpp
        <https://webkit.org/b/213546>
        <rdar://problem/61803576>

        Reviewed by Youenn Fablet.

        Switch from uint64_t to WebCore::PlaybackTargetClientContextIdentifier
        for contextId values.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::addPlaybackTargetPickerClient):
        (WebChromeClient::removePlaybackTargetPickerClient):
        (WebChromeClient::showPlaybackTargetPicker):
        (WebChromeClient::playbackTargetPickerClientStateDidChange):
        * WebView/WebMediaPlaybackTargetPicker.h:
        * WebView/WebMediaPlaybackTargetPicker.mm:
        (WebMediaPlaybackTargetPicker::addPlaybackTargetPickerClient):
        (WebMediaPlaybackTargetPicker::removePlaybackTargetPickerClient):
        (WebMediaPlaybackTargetPicker::showPlaybackTargetPicker):
        (WebMediaPlaybackTargetPicker::playbackTargetPickerClientStateDidChange):
        (WebMediaPlaybackTargetPicker::setPlaybackTarget):
        (WebMediaPlaybackTargetPicker::externalOutputDeviceAvailableDidChange):
        (WebMediaPlaybackTargetPicker::setShouldPlayToPlaybackTarget):
        (WebMediaPlaybackTargetPicker::playbackTargetPickerWasDismissed):
        * WebView/WebView.mm:
        (-[WebView _addPlaybackTargetPickerClient:]):
        (-[WebView _removePlaybackTargetPickerClient:]):
        (-[WebView _showPlaybackTargetPicker:location:hasVideo:]):
        (-[WebView _playbackTargetPickerClientStateDidChange:state:]):
        * WebView/WebViewInternal.h:

2020-06-24  Umar Iqbal  <uiqbal@apple.com>

        We should resurrect the older patch that collects some statistics of web API calls
        https://bugs.webkit.org/show_bug.cgi?id=213319

        Reviewed by Brent Fulgham.

        + Enabled ENABLE_WEB_API_STATISTICS flag
        
        * Configurations/FeatureDefines.xcconfig:

2020-06-22  Tim Horton  <timothy_horton@apple.com>

        Update macOS version macros
        https://bugs.webkit.org/show_bug.cgi?id=213484

        Reviewed by Alexey Proskuryakov.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/Version.xcconfig:
        * Configurations/WebKitTargetConditionals.xcconfig:

2020-06-19  Chris Dumez  <cdumez@apple.com>

        Move Prefixed WebAudio interfaces behind their own feature flag
        https://bugs.webkit.org/show_bug.cgi?id=213356

        Reviewed by Darin Adler.

        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-06-15  Alex Christensen  <achristensen@webkit.org>

        Provide alternatively-named SPI for user style sheets and scripts
        https://bugs.webkit.org/show_bug.cgi?id=213206

        Reviewed by Brady Eidson.

        * WebView/WebView.mm:
        (+[WebView _addOriginAccessAllowListEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
        (+[WebView _removeOriginAccessAllowListEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
        (+[WebView _resetOriginAccessAllowLists]):
        (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
        (+[WebView _addUserScriptToGroup:world:source:url:includeMatchPatternStrings:excludeMatchPatternStrings:injectionTime:injectedFrames:]):
        (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
        (+[WebView _addUserStyleSheetToGroup:world:source:url:includeMatchPatternStrings:excludeMatchPatternStrings:injectedFrames:]):
        (+[WebView _setFontAllowList:]):
        (+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Deleted.
        (+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Deleted.
        (+[WebView _resetOriginAccessWhitelists]): Deleted.
        (+[WebView _setFontWhitelist:]): Deleted.
        * WebView/WebViewPrivate.h:

2020-06-11  Sam Weinig  <weinig@apple.com>

        Document.currentScript does not work for SVGScriptElements
        https://bugs.webkit.org/show_bug.cgi?id=213104

        Reviewed by Yusuke Suzuki.

        * DOM/DOMDocument.mm:
        (-[DOMDocument currentScript]):
        Update to account for change in Document::currentScript() now returning an
        Element* that can be either an HTMLScriptElement or an SVGScriptElement. To
        keep API compatibility, only return non-null for HTMLScriptElements.

2020-06-12  Keith Rollin  <krollin@apple.com>

        Add dependencies for Migrate Headers and Generate Export Files build phases
        https://bugs.webkit.org/show_bug.cgi?id=213072
        <rdar://problem/64249345>

        Reviewed by Tim Horton.

        These build phases have incomplete specifications for the files they
        consume and produce, which can lead to incorrect builds. Address this
        by:

        - Adding the WebCore/PrivateHeaders directory (which contains the
          headers being migrated) as input to the Migrate Headers build phase
        - Touching a timestamp file when re-exporting any headers in the
          Migrate Headers build phase
        - Adding the timestamp file as an output of the Migrate Headers build
          phase
        - Adding the timestamp file as an input of the Generate Export Files
          build phase
        - Adding other files that Generate Export Files consumes to the list
          of input files

        In this way, if any exported headers are changed, both Migrate Headers
        and Generate Export Files will be run.

        * MigrateHeaders.make:

2020-06-11  Beth Dakin  <bdakin@apple.com>

        Replace instances of whitelist in WebCore with allowlist
        https://bugs.webkit.org/show_bug.cgi?id=213068

        Reviewed by Tim Horton.

        * WebView/WebView.mm:
        (+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
        (+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
        (+[WebView _resetOriginAccessWhitelists]):
        (+[WebView _setFontWhitelist:]):

2020-06-11  David Kilzer  <ddkilzer@apple.com>

        [IPC] Adopt enum class for DragSourceAction
        <https://webkit.org/b/212885>
        <rdar://problem/64094134>

        Reviewed by Darin Adler.

        Summary:
        - Add and use conversion functions between
          OptionSet<WebCore::DragSourceAction> and WebDragSourceAction.
        - Update method signatures.

        * WebCoreSupport/WebDragClient.h:
        * WebCoreSupport/WebDragClient.mm:
        (coreDragSourceActionMask): Add.
        (WebDragClient::dragSourceActionMaskForPoint):
        (WebDragClient::willPerformDragSourceAction):
        (WebDragClient::startDrag):
        * WebView/WebView.mm:
        (kit): Add.
        - Convert from Optional<WebCore::DragSourceAction> to
          WebDragSourceAction.
        (-[WebView _startDrag:]):
        * WebView/WebViewInternal.h:
        (kit): Add declaration to reuse function in WebDragClient.mm.

2020-06-10  Geoffrey Garen  <ggaren@apple.com>

        Some style improvements to main thread code
        https://bugs.webkit.org/show_bug.cgi?id=213051

        Reviewed by Darin Adler.

        Updated for rename.

        * History/WebBackForwardList.mm:
        (+[WebBackForwardList initialize]):
        * History/WebHistoryItem.mm:
        (+[WebHistoryItem initialize]):
        * Misc/WebCache.mm:
        (+[WebCache initialize]):
        * Misc/WebElementDictionary.mm:
        (+[WebElementDictionary initialize]):
        * Misc/WebIconDatabase.mm:
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (+[WebHostedNetscapePluginView initialize]):
        * Plugins/WebBaseNetscapePluginView.mm:
        * Plugins/WebBasePluginPackage.mm:
        (+[WebBasePluginPackage initialize]):
        * Plugins/WebNetscapePluginView.mm:
        (+[WebNetscapePluginView initialize]):
        * WebCoreSupport/WebEditorClient.mm:
        (+[WebUndoStep initialize]):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (+[WebFramePolicyListener initialize]):
        * WebView/WebArchive.mm:
        (+[WebArchivePrivate initialize]):
        * WebView/WebDataSource.mm:
        (+[WebDataSource initialize]):
        * WebView/WebHTMLView.mm:
        (+[WebHTMLViewPrivate initialize]):
        (+[WebHTMLView initialize]):
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        * WebView/WebResource.mm:
        (+[WebResourcePrivate initialize]):
        * WebView/WebTextIterator.mm:
        (+[WebTextIteratorPrivate initialize]):
        * WebView/WebView.mm:
        (+[WebView initialize]):
        * WebView/WebViewData.mm:
        (+[WebViewPrivate initialize]):

2020-06-09  Dean Jackson  <dino@apple.com>

        Stop using discriminatory names for WebGL and Plugin blocking
        https://bugs.webkit.org/show_bug.cgi?id=213000

        Reviewed by Simon Fraser.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (shouldBlockPlugin):
        (shouldBlockWebGL):

2020-06-08  Jonathan Bedard  <jbedard@apple.com>

        WebKitLegacy: Exclude NSURLConnectionSPI.h from watchOS
        https://bugs.webkit.org/show_bug.cgi?id=212942
        <rdar://problem/64141877>

        Reviewed by Alexey Proskuryakov.

        * Misc/WebDownload.h: Exclude NSURLConnectionSPI.h from watchOS, replace
        CFNSURLConnection.h with NSURLConnectionSPI.h.

2020-06-08  David Kilzer  <ddkilzer@apple.com>

        [IPC] Adopt enum class for DragOperation
        <https://webkit.org/b/212870>
        <rdar://problem/64069940>

        Reviewed by Darin Adler.

        * WebView/WebHTMLView.mm:
        (kit):
        * WebView/WebView.mm:
        (coreDragOperationMask):
        (kit):

2020-06-07  Philippe Normand  <pnormand@igalia.com>

        Remove ENABLE_VIDEO_TRACK ifdef guards
        https://bugs.webkit.org/show_bug.cgi?id=212568

        Reviewed by Youenn Fablet.

        * Configurations/FeatureDefines.xcconfig:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-06-06  David Kilzer  <ddkilzer@apple.com>

        Use OptionSet<DragOperation> for mask values
        <https://webkit.org/b/212605>

        Reviewed by Darin Adler.

        In broad strokes:
        - Replace use of DragOperation with OptionSet<DragOperation> or
          Optional<DragOperation>.
        - Rename function parameters and local variables to denote use
          of mask values.
        - Remove DragOperationNone enum value.
        - Replace DragOperationEvery enum value with anyDragOperation().

        * WebView/WebFrame.mm:
        (-[WebFrame _dragSourceEndedAt:operation:]):
        * WebView/WebHTMLView.mm:
        (kit): Add conversion function.
        (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
        (-[WebHTMLView draggingSession:sourceOperationMaskForDraggingContext:]):
        * WebView/WebView.mm:
        (coreDragOperationMask): Add conversion function.
        (kit): Ditto.
        - Map WebCore::DragOperationGeneric to _UIDragOperationMove
          based on logic in WebCore.  All other WebCore::DragOperation
          enum values map to _UIDragOperationNone.
        (-[WebView dragDataForSession:client:global:operation:]):
        (-[WebView _enteredDataInteraction:client:global:operation:]):
        (-[WebView _updatedDataInteraction:client:global:operation:]):
        (-[WebView draggingEntered:]):
        (-[WebView draggingUpdated:]):
        (-[WebView draggingExited:]):
        (-[WebView performDragOperation:]):
        * WebView/WebViewInternal.h:
        (CocoaDragOperation):
        - Add typedef so coreDragOperationMask() may be shared across
          platforms.
        (coreDragOperationMask): Add declaration.
        (coreOptions):
        - Remove redundant parameter name.

2020-06-06  Jonathan Bedard  <jbedard@apple.com>

        WebKitLegacy: Link to framework stubs for watchOS and tvOS
        https://bugs.webkit.org/show_bug.cgi?id=212855
        <rdar://problem/64049486>

        Reviewed by Tim Horton.

        * Configurations/Base.xcconfig: Define tvOS and watchOS major version macros.
        * Configurations/WebKitLegacy.xcconfig: Link to framework stubs for watchOS and tvOS.

2020-06-05  Jonathan Bedard  <jbedard@apple.com>

        WebKitLegacy: Feature guard WebChromeClient declarations
        https://bugs.webkit.org/show_bug.cgi?id=212857
        <rdar://problem/64050523>

        Unreviewed build fix.

        * WebCoreSupport/WebChromeClient.h: m_mockVideoPresentationModeEnabled declaration
        should be guarded on ENABLE(VIDEO_PRESENTATION_MODE).

2020-06-05  David Kilzer  <ddkilzer@apple.com>

        [IPC] Adopt enum class for AutocapitalizeType
        <https://webkit.org/b/212846>
        <rdar://problem/64042825>

        Reviewed by Darin Adler.

        Summary:
        - Move AutocapitalizeType into WebCore namespace.
        - Convert AutocapitalizeType to an enum class.
        - Add WTF::EnumTraits<AutocapitalizeType> for IPC.

        * DOM/DOMHTML.mm:
        (webAutocapitalizeType):

2020-06-05  David Kilzer  <ddkilzer@apple.com>

        [IPC] Adopt enum class for PluginLoadClientPolicy
        <https://webkit.org/b/212827>
        <rdar://problem/64030431>

        Reviewed by Alex Christensen.

        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage getPluginInfoFromPLists]):
        - Update for renamed PluginLoadClientPolicy enum.

2020-06-05  Andy Estes  <aestes@apple.com>

        [Apple Pay] Remove conditionals for ENABLE_APPLE_PAY_SESSION_V(3|4)
        https://bugs.webkit.org/show_bug.cgi?id=212541
        <rdar://problem/63781452>

        Reviewed by Darin Adler.

        APPLE_PAY_SESSION_V(3|4) is now enabled whenever APPLE_PAY itself is enabled.

        * Configurations/FeatureDefines.xcconfig:

2020-06-04  Tim Horton  <timothy_horton@apple.com>

        Work around broken system version macro
        https://bugs.webkit.org/show_bug.cgi?id=212726

        Reviewed by Dan Bernstein.

        * Configurations/DebugRelease.xcconfig:

2020-06-04  Andy Estes  <aestes@apple.com>

        [watchOS] Re-enable content filtering in the simulator build
        https://bugs.webkit.org/show_bug.cgi?id=212711
        <rdar://problem/63938350>

        Reviewed by Wenson Hsieh.

        * Configurations/FeatureDefines.xcconfig:

2020-06-02  Keith Rollin  <krollin@apple.com>

        Revert FEATURES_DEFINES related changes
        https://bugs.webkit.org/show_bug.cgi?id=212664
        <rdar://problem/63893033>

        Reviewed by Andy Estes.

        Bug 262310, Bug 262311, Bug 262318, and Bug 262331 involve changes to
        FEATURE_DEFINES and how the values there relate to those found in the
        Platform*.h files. Those changes break XCBuild (by removing the
        .xcfilelist related to UnifiedSources and the process for generating
        them), and so are being reverted.

        * Configurations/FeatureDefines.xcconfig:

2020-06-02  Peng Liu  <peng.liu6@apple.com>

        Stressing webkitSetPresentationMode leads to wrong inline video dimensions
        https://bugs.webkit.org/show_bug.cgi?id=202425

        Reviewed by Eric Carlson.

        Move DumpRenderTree's implementation of the mock video presentation mode from WebView
        to WebChromeClient and call videoElement.didStopBeingFullscreenElement() when a video
        element exits fullscreen.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::setMockVideoPresentationModeEnabled):
        (WebChromeClient::enterVideoFullscreenForVideoElement):
        (WebChromeClient::exitVideoFullscreenForVideoElement):
        (WebChromeClient::exitVideoFullscreenToModeWithoutAnimation):
        * WebView/WebView.mm:
        (-[WebView _enterVideoFullscreenForVideoElement:mode:]):
        (-[WebView _exitVideoFullscreen]):
        (-[WebView _setMockVideoPresentationModeEnabled:]): Deleted.
        * WebView/WebViewData.h:
        * WebView/WebViewInternal.h:

2020-06-01  David Kilzer  <ddkilzer@apple.com>

        Don't use casts to convert between WebCore::DragDestinationAction and {Web,WK}DragDestinationAction types
        <https://webkit.org/b/212507>

        Reviewed by Darin Adler.

        * WebCoreSupport/WebDragClient.mm:
        (kit):
        - Add conversion function to avoid casting.
        (WebDragClient::willPerformDragDestinationAction):
        - Make use of kit() conversion function.
        * WebView/WebView.mm:
        (coreDragDestinationActionMask):
        - Add conversion function to avoid casting.
        (-[WebView dragDataForSession:client:global:operation:]):
        (-[WebView actionMaskForDraggingInfo:]):
        - Make use of coreDragDestinationActionMask() conversion
          function.

2020-06-01  Sam Weinig  <weinig@apple.com>

        Extended Color: Replace Color constructors taking numeric values with type specific factory functions
        https://bugs.webkit.org/show_bug.cgi?id=212576

        Reviewed by Tim Horton.

        Replaces all remaining implicit and explicit uses of the Color constructors taking numeric
        values with explicit calls to makeSimpleColor/makeSimpleColorFromFloats/makeExtendedColor,
        giving us a consistent way to create colors. Also addes use constexpr SimpleColors where possible.

        * WebView/WebIndicateLayer.mm:

2020-05-29  Andy Estes  <aestes@apple.com>

        [Apple Pay] Remove conditionals for ENABLE_APPLE_PAY_SESSION_V(3|4)
        https://bugs.webkit.org/show_bug.cgi?id=212541

        Reviewed by Darin Adler.

        APPLE_PAY_SESSION_V(3|4) is now enabled whenever APPLE_PAY itself is enabled.

        * Configurations/FeatureDefines.xcconfig:

2020-05-29  David Kilzer  <ddkilzer@apple.com>

        REGRESSION (r260306): Compatibility issue leading to crash on macOS games
        <https://webkit.org/b/212546>
        <rdar://problem/62624078>

        Reviewed by Brent Fulgham.

        * WebView/WebView.mm:
        (_WebSafeForwarder._target):
        (_WebSafeForwarder._defaultTarget):
        - Change __weak attribute to __unsafe_unretained to fix the
          crash.

2020-05-29  Darin Adler  <darin@apple.com>

        Remove things from FeatureDefines.xcconfig that are covered by PlatformEnableCocoa.h
        https://bugs.webkit.org/show_bug.cgi?id=212418

        Rubber-stamped by Simon Fraser.

        * Configurations/FeatureDefines.xcconfig: Add back ENABLE_CSS_CONIC_GRADIENTS, removed
        by accident.

2020-05-27  Darin Adler  <darin@apple.com>

        Remove things from FeatureDefines.xcconfig that are covered by PlatformEnableCocoa.h
        https://bugs.webkit.org/show_bug.cgi?id=212418

        Reviewed by Andy Estes.

        * Configurations/FeatureDefines.xcconfig: Removed 83 of the 119 things defined in
        this file. There are 36 more that are slightly more complex that we can remove
        carefully later.

2020-05-29  Darin Adler  <darin@apple.com>

        [Cocoa] Pass all defines from Platform.h to various scripts, not just the ones from .xcconfig
        https://bugs.webkit.org/show_bug.cgi?id=212451

        Reviewed by Sam Weinig.

        * MigrateHeaders.make: Run the preprocessor on Platform.h and parse the output into
        FEATURE_AND_PLATFORM_DEFINES. Use that and FEATURE_AND_PLATFORM_DEFINE_DEPENDENCIES
        whenever we need a list of defines. Also took out some Windows-specific stuff since
        this is now only used on Mac platforms. Use ":=" when calling $(shell) to make sure
        the same shell command is not invoked over and over again.

2020-05-29  Keith Rollin  <krollin@apple.com>

        Revert switch to XCBuild
        https://bugs.webkit.org/show_bug.cgi?id=212530
        <rdar://problem/63764632>

        Unreviewed build fix.

        Bug 209890 enabled the use of XCBuild by default. Since then, some
        build issues have shown up. While addressing them, temporarily turn
        off the use of XCBuild by default.

        * Configurations/WebKitLegacy.xcconfig:

2020-05-29  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, reverting r262245.
        https://bugs.webkit.org/show_bug.cgi?id=212531

        "Caused WebCore's 'Check .xcfilelists' build phase to be ~100x
        slower"

        Reverted changeset:

        "[Cocoa] Pass all defines from Platform.h to various scripts,
        not just the ones from .xcconfig"
        https://bugs.webkit.org/show_bug.cgi?id=212451
        https://trac.webkit.org/changeset/262245

2020-05-28  Megan Gardner  <megan_gardner@apple.com>

        Responding to post commit review comments for https://bugs.webkit.org/show_bug.cgi?id=212060

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        * WebView/WebViewData.h:

2020-05-28  David Kilzer  <ddkilzer@apple.com>

        Follow-up build fix: [Cocoa] Pass all defines from Platform.h to various scripts, not just the ones from .xcconfig
        https://bugs.webkit.org/show_bug.cgi?id=212451

        Fixes the following build error:

            PhaseScriptExecution Migrate\ Headers BUILD_DIR/WebKitLegacy.build/Debug/WebKitLegacy.build/Script-1C6CB0510AA63EB000D23BFD.sh
                cd SOURCE_DIR/Source/WebKitLegacy
                /bin/sh -c BUILD_DIR/WebKitLegacy.build/Debug/WebKitLegacy.build/Script-1C6CB0510AA63EB000D23BFD.sh
            clang: warning: no such sysroot directory: 'macosx.internal' [-Wmissing-sysroot]
            In file included from <built-in>:1:
            In file included from BUILD_DIR/Debug/usr/local/include/wtf/Platform.h:44:
            BUILD_DIR/Debug/usr/local/include/wtf/PlatformOS.h:36:10: fatal error: 'Availability.h' file not found
            #include <Availability.h>
                     ^~~~~~~~~~~~~~~~
            1 error generated.
            sed -E -e 's/<WebCore\//<WebKitLegacy\//' -e "s/(^ *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/WebKitAvailability.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/WebKitAvailability.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
            sed -E -e 's/<WebCore\//<WebKitLegacy\//' -e "s/(^ *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/WebScriptObject.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/WebScriptObject.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
            sed -E -e 's/<WebCore\//<WebKitLegacy\//' -e "s/(^ *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/npapi.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/npapi.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
            sed -E -e 's/<WebCore\//<WebKitLegacy\//' -e "s/(^ *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/npfunctions.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/npfunctions.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
            sed -E -e 's/<WebCore\//<WebKitLegacy\//' -e "s/(^ *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/npruntime.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/npruntime.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
            sed -E -e 's/<WebCore\//<WebKitLegacy\//' -e "s/(^ *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/nptypes.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/nptypes.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
            clang: warning: no such sysroot directory: 'macosx.internal' [-Wmissing-sysroot]
            In file included from <built-in>:1:
            In file included from BUILD_DIR/Debug/usr/local/include/wtf/Platform.h:44:
            BUILD_DIR/Debug/usr/local/include/wtf/PlatformOS.h:36:10: fatal error: 'Availability.h' file not found
            #include <Availability.h>
                     ^~~~~~~~~~~~~~~~
            1 error generated.
            make[4]: Nothing to be done for `reexport_headers'.
            Command /bin/sh emitted errors but did not return a nonzero exit code to indicate failure

        * migrate-headers.sh: Pass SDKROOT environment variable on the
        command-line `make` invocations after r262245 added code to
        MigrateHeaders.make to set -isysroot based on the SDKROOT value.

2020-05-27  Darin Adler  <darin@apple.com>

        [Cocoa] Pass all defines from Platform.h to various scripts, not just the ones from .xcconfig
        https://bugs.webkit.org/show_bug.cgi?id=212451

        Reviewed by Sam Weinig.

        * MigrateHeaders.make: Run the preprocessor on Platform.h and parse the output into
        FEATURE_AND_PLATFORM_DEFINES. Use that and FEATURE_AND_PLATFORM_DEFINE_DEPENDENCIES
        whenever we need a list of defines. Also took out some Windows-specific stuff since
        this is now only used on Mac platforms.

2020-05-27  Devin Rousso  <drousso@apple.com>

        Web Inspector: replace `featureGuard` and `availability` with a combined `condition` that accepts any macro
        https://bugs.webkit.org/show_bug.cgi?id=210014

        Reviewed by Brian Burg.

        Previously, the generated InspectorBackendCommands.js would include code for things that the
        backend doesn't actually support. By using actual macros and preprocessing that file, we can
        ensure that the frontend doesn't incorrectly think that something is supported by the page
        being inspected:
         - the `Canvas` commands and events related to shader programs/pipelines should only exist
           when the corresponding context type exists, namely `ENABLE(WEBGL)` and `ENABLE(WEBGPU)`.
         - iOS doesn't support showing rulers, so create a variant of `DOM.setInspectModeEnabled`
           that only exists for `PLATFORM(IOS_FAMILY)` that doesn't have the `showRulers` optional
           parameter, as well as removing `Page.setShowRulers` entirely.
         - setting the forced appearance should only be possible if dark mode is supported.
         - web archives only exist if CF is used.

        * Configurations/FeatureDefines.xcconfig:
        Add `ENABLE_WEB_ARCHIVE` since it's always enabled in wtf/PlatformEnableCocoa.h.

2020-05-27  David Kilzer  <ddkilzer@apple.com>

        Use OptionSet<DragDestinationAction> for mask values
        <https://webkit.org/b/212115>
        <rdar://problem/63423380>

        Reviewed by Alex Christensen.

        * WebCoreSupport/WebDragClient.mm:
        (WebDragClient::willPerformDragDestinationAction):
        * WebView/WebView.mm:
        (-[WebView dragDataForSession:client:global:operation:]):
        (-[WebView actionMaskForDraggingInfo:]):

2020-05-26  Keith Rollin  <krollin@apple.com>

        Enable the use of XCBuild by default in Apple builds
        https://bugs.webkit.org/show_bug.cgi?id=209890
        <rdar://problem/44182078>

        Reviewed by Darin Adler.

        Switch from the "legacy" Xcode build system to the "new" build system
        (also known as "XCBuild"). Switching to the new system speeds up
        builds by a small percentage, better validates projects for
        build-related issues (such as dependency cycles), lets WebKit benefit
        from future improvements in XCBuild such as those coming from the
        underlying llbuild open source project, and prepares us for any other
        tools built for this new ecosystem.

        Specific changes:

        - Remove Xcode project and workspace settings that selected the Build
          system, allowing the default to take hold (which is currently the
          New build system).
        - Updated webkitdirs.pm with a terser check for Xcode version.
        - Update build-webkit and Makefile.shared to be explicit when using
          the old build system (no longer treat it as a default or fall-back
          configuration).
        - Update various xcconfig files similarly to treat the default as
          using the new build system.
        - Update various post-processing build steps to check for Xcode 11.4
          and to no longer treat the default as using the old build system.

        * Configurations/WebKitLegacy.xcconfig:

2020-05-21  Pinki Gyanchandani  <pgyanchandani@apple.com>

        Null Ptr Deref @ WebCore::ResourceResponse::platformLazyInit
        https://bugs.webkit.org/show_bug.cgi?id=212224

        Reviewed by Geoffrey Garen.

        Its possible that client can cancel the load implicitly or explicitly after its informed that load is committed, but code continues to assume that
        loading is still in progress. This was cause of crash.
        Added nullptr check before dereferencing the documentLoader, after client calls the commit load.

        * WebView/WebHTMLRepresentation.mm:
        (-[WebHTMLRepresentation receivedData:withDataSource:]):

2020-05-20  Darin Adler  <darin@apple.com>

        Dictation context should be an object identifier, not a type-punned pointer
        https://bugs.webkit.org/show_bug.cgi?id=212174

        Reviewed by Anders Carlsson.

        * WebCoreSupport/WebAlternativeTextClient.h: Use DictationContext instead of uint64_t.
        * WebCoreSupport/WebAlternativeTextClient.mm:
        (WebAlternativeTextClient::removeDictationAlternatives): Ditto.
        (WebAlternativeTextClient::showDictationAlternativeUI): Ditto.
        (WebAlternativeTextClient::dictationAlternatives): Ditto.

        * WebView/WebHTMLView.mm: Added include of DictationAlternative.h, now needed because
        it's forward declared in Editor.h.
        * WebView/WebView.mm: Ditto.
        (-[WebView _getWebCoreDictationAlternatives:fromTextAlternatives:]): Updated for change
        to DictationAlternative.
        (-[WebView _showDictationAlternativeUI:forDictationContext:]): Use DictationContext
        instead of uint64_t.
        (-[WebView _removeDictationAlternatives:]): Ditto.
        (-[WebView _dictationAlternatives:]): Ditto.
        * WebView/WebViewInternal.h: Updated for the above.

2020-05-20  Alex Christensen  <achristensen@webkit.org>

        Remove implicit URL->String conversion operators
        https://bugs.webkit.org/show_bug.cgi?id=211033

        Reviewed by Darin Adler.

        * DOM/DOMHTMLBaseElement.mm:
        (-[DOMHTMLBaseElement href]):

2020-05-20  Simon Fraser  <simon.fraser@apple.com>

        Plumb the display's nominal refresh rate down to ScrollingTree for use in scroll synchronization
        https://bugs.webkit.org/show_bug.cgi?id=212159

        Reviewed by Tim Horton.

        Plumb an Optional<unsigned> down windowScreenDidChange, which contains the nominal
        display refresh rate (as frames per second) if available. On macOS, we get this
        from CVDisplayLinkGetNominalOutputVideoRefreshPeriod().

        To read it, WebProcessPool::nominalFramesPerSecondForDisplay() makes a DisplayLink
        that doesn't get any observers, but that DisplayLink will very likely get used
        as soon as we schedule a rendering update.

        * WebView/WebView.mm:
        (-[WebView doWindowDidChangeScreen]):

2020-05-18  David Kilzer  <ddkilzer@apple.com>

        Replace TextIndicatorOptions with OptionSet<TextIndicatorOption>
        <https://webkit.org/b/212051>
        <rdar://problem/63368556>

        Reviewed by Simon Fraser.

        Use OptionSet<TextIndicatorOption> everywhere
        TextIndicatorOptions was previously used, plus:
        - Make TextIndicatorOption an enum class.  Remove
          "TextIndicatorOption" prefix so TextIndicatorOptionBar becomes
          TextIndicatorOption::Bar.
        - Remove TextIndicatorOptionDefault because OptionSet<>
          initializes to zero.
        - Replace static variables (including two globals in WebCore)
          with constexpr variables.

        * DOM/DOM.mm:
        (-[DOMNode getPreviewSnapshotImage:andRects:]):
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
        * WebView/WebImmediateActionController.h:
        * WebView/WebImmediateActionController.mm:
        (-[WebImmediateActionController _defaultAnimationController]):
        (-[WebImmediateActionController _animationControllerForDataDetectedText]):
        (-[WebImmediateActionController _animationControllerForDataDetectedLink]):
        (+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
        (-[WebImmediateActionController _animationControllerForText]):
        * WebView/WebView.mm:
        (-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
        (-[WebView _didConcludeEditDrag]):

2020-05-18  Peng Liu  <peng.liu6@apple.com>

        ASSERTION FAILED: media/modern-media-controls/media-controller/media-controller-resize.html crashes under stress tests
        https://bugs.webkit.org/show_bug.cgi?id=212052

        Reviewed by Jer Noble.

        Not able to reproduce the crash locally. But it does happen under stress tests
        on bots.

        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController windowDidExitFullScreen:]):
        Only call HTMLMediaElement::exitFullscreen() when the element is in fullscreen.

2020-05-18  Andy Estes  <aestes@apple.com>

        http/tests/ssl/applepay/ApplePayInstallmentConfiguration.https.html fails in public SDK builds
        https://bugs.webkit.org/show_bug.cgi?id=212000
        <rdar://problem/63323082>

        Reviewed by Youenn Fablet.

        * Configurations/FeatureDefines.xcconfig:

2020-05-15  Alex Christensen  <achristensen@webkit.org>

        Use enum serialization instead of casting to/from uint32_t
        https://bugs.webkit.org/show_bug.cgi?id=211885

        Reviewed by Geoffrey Garen.

        * DOM/DOMUIKitExtensions.mm:
        (-[DOMRange move:inDirection:]):
        (-[DOMRange extend:inDirection:]):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::webGLPolicyForURL const):
        (WebFrameLoaderClient::resolveWebGLPolicyForURL const):
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _canSmartCopyOrDelete]):
        * WebView/WebTextCompletionController.mm:
        (-[WebTextCompletionController doCompletion]):

2020-05-14  Chris Dumez  <cdumez@apple.com>

        Regression(r254856) Family Health iOS app is broken due to lack for WebSQL support
        https://bugs.webkit.org/show_bug.cgi?id=211896
        <rdar://problem/63025045>

        Reviewed by Maciej Stachowiak.

        Re-enable WebSQL support for Family Health iOS app with a linked-on-after check.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

2020-05-12  Chris Dumez  <cdumez@apple.com>

        [WK2] Neuter WKFrameIsFrameSet() / WKPageGetFrameSetLargestFrame() C API
        https://bugs.webkit.org/show_bug.cgi?id=211808

        Reviewed by Darin Adler.

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::dispatchDidBecomeFrameset): Deleted.

2020-05-11  Peng Liu  <peng.liu6@apple.com>

        Enable the mock video presentation mode in related layout tests and fix test failures
        https://bugs.webkit.org/show_bug.cgi?id=211645

        Reviewed by Darin Adler.

        Call HTMLVideoElement::didBecomeFullscreenElement() after a video element enters
        fullscreen (to be consistent with WK2).

        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController windowDidEnterFullScreen:]):
        * WebView/WebView.mm:
        (-[WebView _enterVideoFullscreenForVideoElement:mode:]):

2020-05-07  Darin Adler  <darin@apple.com>

        Remove USE(INSERTION_UNDO_GROUPING) checks in macOS platform code
        https://bugs.webkit.org/show_bug.cgi?id=211525

        Reviewed by Anders Carlsson.

        * WebView/WebHTMLView.mm: Use NSTextInputContextSPI.h.
        (-[WebHTMLView validAttributesForMarkedText]): Removed USE(INSERTION_UNDO_GROUPING).
        (-[WebHTMLView insertText:]): Ditto.

2020-05-06  Darin Adler  <darin@apple.com>

        Eliminate checks of USE(DICTATION_ALTERNATIVES) in Cocoa-specific code
        https://bugs.webkit.org/show_bug.cgi?id=211460

        Reviewed by Anders Carlsson.

        * WebCoreSupport/WebAlternativeTextClient.h: Removed USE(DICTATION_ALTERNATIVES).
        * WebCoreSupport/WebAlternativeTextClient.mm:
        (WebAlternativeTextClient::dictationAlternatives): Ditto.
        * WebView/WebHTMLView.mm: Ditto.
        * WebView/WebView.mm: Ditto. Also use modern for loop.
        * WebView/WebViewData.h: Ditto.
        * WebView/WebViewData.mm: Ditto.
        * WebView/WebViewInternal.h: Ditto.

2020-05-05  David Kilzer  <ddkilzer@apple.com>

        Fix deprecated NSGraphicsContext methods using 'graphicsPort'
        <https://webkit.org/b/211481>

        Reviewed by Darin Adler.

        - Replace uses of -graphicsPort with -CGContext.
        - Replace uses of -graphicsContextWithGraphicsPort:flipped: with
          -graphicsContextWithCGContext:flipped:.
        - Remove ALLOW_DEPRECATED_DECLARATIONS_{BEGIN,END} if possible.

        * Misc/WebKitNSStringExtras.mm:
        (-[NSString _web_drawAtPoint:font:textColor:]):
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView drawRect:]):
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
        (-[WebNetscapePluginView sendDrawRectEvent:]):
        * WebInspector/WebNodeHighlightView.mm:
        (-[WebNodeHighlightView drawRect:]):
        * WebView/WebFrame.mm:
        (-[WebFrame _drawRect:contentsOnly:]):
        * WebView/WebPDFView.mm:
        (-[WebPDFView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
        (-[WebPDFView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
        (-[WebPDFView _recursive:displayRectIgnoringOpacity:inContext:topView:]):

2020-05-05  Peng Liu  <peng.liu6@apple.com>

        Update WebKitTestRunner to support running multiple video fullscreen and Picture-in-Picture tests simultaneously
        https://bugs.webkit.org/show_bug.cgi?id=203723

        Reviewed by Jer Noble.

        When the flag MockVideoPresentationModeEnabled is true, WebView will ignore the requests to
        WebVideoFullscreenController, so that the DumpRenderTree can run multiple video fullscreen
        and picture-in-picture tests in parallel.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::setMockVideoPresentationModeEnabled):
        * WebView/WebView.mm:
        * WebView/WebViewData.h:
        * WebView/WebViewInternal.h:

2020-05-05  Darin Adler  <darin@apple.com>

        Remove now-uneeded HAVE macros related to PDF
        https://bugs.webkit.org/show_bug.cgi?id=211435

        Reviewed by Anders Carlsson.

        * WebView/WebFrameView.mm:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]): Removed HAVE(LEGACY_PDF_SUPPORT).
        * WebView/WebView.mm:
        (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]): Ditto.

2020-05-04  Darin Adler  <darin@apple.com>

        [Mac] Remove __MAC_OS_X_VERSION_MIN_REQUIRED checks for versions older than 10.14
        https://bugs.webkit.org/show_bug.cgi?id=211420

        Reviewed by Alex Christensen.

        * WebView/WebHTMLView.mm: Remove __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:]): Ditto.
        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:]): Deleted.
        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:shouldChangeFontReferenceColor:]): Deleted.

        * WebView/WebTextCompletionController.mm:
        (-[WebTextCompletionController _buildUI]): Remove some code only compiled with
        __MAC_OS_X_VERSION_MIN_REQUIRED < 101400.

2020-05-04  Darin Adler  <darin@apple.com>

        Make __IPHONE_OS_VERSION_MIN_REQUIRED checks against old versions explicit about watchOS and tvOS
        https://bugs.webkit.org/show_bug.cgi?id=211402

        Reviewed by Alexey Proskuryakov.

        * WebCoreSupport/WebEditorClient.mm:
        (attributesForAttributedStringConversion): Move from __IPHONE_OS_VERSION_MIN_REQUIRED
        to PLATFORM(WATCHOS) || PLATFORM(APPLETV).

        * WebView/WebUIDelegatePrivate.h: Move from __IPHONE_OS_VERSION_MIN_REQUIRED to
        TARGET_OS_IOS for a method that is based on dragging concepts not present in
        watchOS and tvOS.

        * WebView/WebView.mm: Move from __IPHONE_OS_VERSION_MIN_REQUIRED
        to PLATFORM(IOS).

        * WebView/WebViewPrivate.h: Move from __IPHONE_OS_VERSION_MIN_REQUIRED to
        TARGET_OS_IOS.

2020-05-04  Emilio Cobos Álvarez  <emilio@crisal.io>

        Put lh / rlh units behind a flag until bug 211351 is sorted out.
        https://bugs.webkit.org/show_bug.cgi?id=211356

        Reviewed by Antti Koivisto.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences lineHeightUnitsEnabled]):
        (-[WebPreferences setLineHeightUnitsEnabled:]):
        * WebView/WebView.mm:

2020-04-30  Ross Kirsling  <ross.kirsling@sony.com>

        TriState should be an enum class and use "Indeterminate" instead of "Mixed"
        https://bugs.webkit.org/show_bug.cgi?id=211268

        Reviewed by Mark Lam.

        * WebView/WebHTMLView.mm:
        (kit):
        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):

2020-04-30  Antoine Quint  <graouts@apple.com>

        Remove -[WebView setCSSAnimationsSuspended:]
        https://bugs.webkit.org/show_bug.cgi?id=211227
        <rdar://problem/62439454>

        Reviewed by Antti Koivisto.

        This SPI has no user and it has no equivalent for the new animation engine.

        * WebView/WebView.mm:
        * WebView/WebViewPrivate.h:

2020-04-28  Daniel Bates  <dabates@apple.com>

        [WebKitLegacy] Implement -hidePlaceholder and -showPlaceholderIfNecessary in terms of setCanShowPlaceholder()
        https://bugs.webkit.org/show_bug.cgi?id=211139

        Reviewed by Simon Fraser.

        Implement -hidePlaceholder and -showPlaceholderIfNecessary in terms of setCanShowPlaceholder()
        because:

            1. Unlike -hidePlaceholder and -showPlaceholderIfNecessary, setCanShowPlaceholder() does NOT of
               reach into the guts of the control and mutate its CSS.

            2. Because of (1), it works correctly should future code be written that modifies the structure
               of the guts or the CSS of the placeholder element (which is inside the guts of the control).

            3. Unlike -hidePlaceholder and -showPlaceholderIfNecessary, there is test coverage for setCanShowPlaceholder()
               to ensure (2).

        * DOM/WebDOMOperations.mm:
        (-[DOMNode hidePlaceholder]):
        (-[DOMNode showPlaceholderIfNecessary]):

2020-04-27  Antoine Quint  <graouts@apple.com>

        Clean up some useless includes of CSSAnimationController.h
        https://bugs.webkit.org/show_bug.cgi?id=211066

        Reviewed by Antti Koivisto.

        This file doesn't actually use any of the CSSAnimationController APIs.

        * WebView/WebFrame.mm:

2020-04-27  Antoine Quint  <graouts@apple.com>

        Remove allowsNewCSSAnimationsWhileSuspended and setAllowsNewCSSAnimationsWhileSuspended WebView SPIs
        https://bugs.webkit.org/show_bug.cgi?id=211067

        Reviewed by Tim Horton.

        There are no known clients for these SPIs.

        * WebView/WebView.mm:
        * WebView/WebViewPrivate.h:

2020-04-27  Antoine Quint  <graouts@apple.com>

        Rename CSSAnimationController accessors from animation() to legacyAnimation()
        https://bugs.webkit.org/show_bug.cgi?id=211082

        Reviewed by Simon Fraser.

        * WebView/WebView.mm:

2020-04-26  Darin Adler  <darin@apple.com>

        Replace more uses of live ranges with SimpleRange
        https://bugs.webkit.org/show_bug.cgi?id=211058

        Reviewed by Antti Koivisto.

        * DOM/DOM.mm:
        (-[DOMNode getPreviewSnapshotImage:andRects:]): Use SimpleRange.
        * WebCoreSupport/WebContextMenuClient.mm:
        (WebContextMenuClient::imageForCurrentSharingServicePickerItem): Ditto.

        * WebView/WebImmediateActionController.mm:
        (-[WebImmediateActionController _animationControllerForDataDetectedText]):
        Updated to use DetectedItem and SimpleRange.
        (+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
        Ditto.

2020-04-27  Rob Buis  <rbuis@igalia.com>

        Make loadURLIntoChildFrame private and non-exported
        https://bugs.webkit.org/show_bug.cgi?id=211051

        Reviewed by Darin Adler.

        Adapt createFrame to strictly create a subframe and
        not load anything.

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::createFrame):

2020-04-27  Ross Kirsling  <ross.kirsling@sony.com>

        [JSC] CallData/ConstructData should include CallType/ConstructType
        https://bugs.webkit.org/show_bug.cgi?id=211059

        Reviewed by Darin Adler.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::invoke):
        (WebKit::NetscapePluginInstanceProxy::invokeDefault):
        (WebKit::NetscapePluginInstanceProxy::construct):

2020-04-26  Darin Adler  <darin@apple.com>

        [Cocoa] stop using out arguments for document attributes when converting to attributed strings
        https://bugs.webkit.org/show_bug.cgi?id=211048

        Reviewed by Sam Weinig.

        * WebCoreSupport/WebSelectionServiceController.mm:
        (WebSelectionServiceController::handleSelectionServiceClick): Updated since
        attributedString returns a struct.
        * WebView/WebHTMLRepresentation.mm:
        (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): Ditto.
        Also use init instead of initWithString:@"".
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView textStorage]): DItto.
        (-[WebHTMLView attributedSubstringFromRange:]): Ditto.
        (-[WebHTMLView _attributedStringFromDOMRange:]): Ditto.
        (-[WebHTMLView _legacyAttributedStringFrom:offset:to:offset:]): Ditto.
        (-[WebHTMLView attributedString]): Ditto.
        (-[WebHTMLView selectedAttributedString]): Ditto.
        * WebView/WebImmediateActionController.mm:
        (+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
        Updated.

2020-04-11  Darin Adler  <darin@apple.com>

        Stop using live ranges in functions that return range of the selection
        https://bugs.webkit.org/show_bug.cgi?id=210396

        Reviewed by Sam Weinig.

        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::handleRequestedCandidates): Remove use of live range.
        * WebCoreSupport/WebSelectionServiceController.mm:
        (WebSelectionServiceController::handleSelectionServiceClick): Ditto.

        * WebView/WebFrame.mm:
        (-[WebFrame _rangeByAlteringCurrentSelection:direction:granularity:]):
        Use createLiveRange.
        (-[WebFrame _convertToNSRange:]): Changed to take SimpleRange.
        (-[WebFrame _convertDOMRangeToNSRange:]): Updated for the above.
        (-[WebFrame _markDOMRange]): Use createLiveRange.
        (-[WebFrame _selectionRangeForFirstPoint:secondPoint:]): Ditto.
        (-[WebFrame _selectionRangeForPoint:]): Ditto.
        (-[WebFrame _selectedNSRange]): Remove use of live range.
        (-[WebFrame selectedDOMRange]): Use crateLiveRange.
        (-[WebFrame elementRangeContainingCaretSelection]): Ditto.
        (-[WebFrame expandSelectionToWordContainingCaretSelection]): Tweaked
        coding style a little.
        (-[WebFrame expandSelectionToStartOfWordContainingCaretSelection]): Ditto.
        (-[WebFrame wordRangeContainingCaretSelection]): Use createLiveRange.
        (-[WebFrame rangeByMovingCurrentSelection:]): Ditto.
        (-[WebFrame rangeByExtendingCurrentSelection:]): Ditto.
        (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:matchStyle:]):
        Use createLiveRange.
        (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
        (-[WebFrame _documentFragmentForText:]): Ditto.
        * WebView/WebFrameInternal.h: Updated for changes above.

        * WebView/WebHTMLRepresentation.mm:
        (-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
        Remove use of live range.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _selectedRange]): Use createLiveRange.
        (-[WebHTMLView _lookUpInDictionaryFromMenu:]): Remove use of live range.
        (-[WebHTMLView markedRange]): Updated for change to _convertToNSRange.
        (-[WebHTMLView attributedSubstringFromRange:]): Ditto.
        (-[WebHTMLView _attributedStringFromDOMRange:]): Updated for changes to
        HTMLConverter.
        (-[WebHTMLView _legacyAttributedStringFrom:offset:to:offset:]): Remove
        use of live range.
        (-[WebHTMLView attributedString]): Ditto.
        (-[WebHTMLView selectedAttributedString]): Ditto.

        * WebView/WebImmediateActionController.h: Updated method to take a
        SimpleRange instead of a live range.
        * WebView/WebImmediateActionController.mm:
        (+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
        Remove use of live range.

        * WebView/WebTextCompletionController.mm:
        (-[WebTextCompletionController doCompletion]): Use createLiveRange.
        * WebView/WebView.mm:
        (-[WebView _didConcludeEditDrag]): Ditto.

2020-04-25  Alex Christensen  <achristensen@webkit.org>

        Prepare to remove automatic URL->String conversion operators
        https://bugs.webkit.org/show_bug.cgi?id=211007

        Reviewed by Darin Adler.

        * DOM/DOMDocument.mm:
        (-[DOMDocument URL]):
        * DOM/DOMHTMLAnchorElement.mm:
        (-[DOMHTMLAnchorElement href]):
        * DOM/DOMHTMLAreaElement.mm:
        (-[DOMHTMLAreaElement href]):
        * DOM/DOMHTMLEmbedElement.mm:
        (-[DOMHTMLEmbedElement src]):
        * DOM/DOMHTMLFormElement.mm:
        (-[DOMHTMLFormElement action]):
        * DOM/DOMHTMLFrameElement.mm:
        (-[DOMHTMLFrameElement src]):
        (-[DOMHTMLFrameElement location]):
        * DOM/DOMHTMLHtmlElement.mm:
        (-[DOMHTMLHtmlElement manifest]):
        * DOM/DOMHTMLIFrameElement.mm:
        (-[DOMHTMLIFrameElement src]):
        * DOM/DOMHTMLImageElement.mm:
        (-[DOMHTMLImageElement longDesc]):
        (-[DOMHTMLImageElement src]):
        (-[DOMHTMLImageElement currentSrc]):
        (-[DOMHTMLImageElement lowsrc]):
        * DOM/DOMHTMLInputElement.mm:
        (-[DOMHTMLInputElement src]):
        * DOM/DOMHTMLLinkElement.mm:
        (-[DOMHTMLLinkElement href]):
        * DOM/DOMHTMLMediaElement.mm:
        (-[DOMHTMLMediaElement src]):
        (-[DOMHTMLMediaElement currentSrc]):
        * DOM/DOMHTMLModElement.mm:
        (-[DOMHTMLModElement cite]):
        * DOM/DOMHTMLObjectElement.mm:
        (-[DOMHTMLObjectElement data]):
        * DOM/DOMHTMLQuoteElement.mm:
        (-[DOMHTMLQuoteElement cite]):
        * DOM/DOMHTMLScriptElement.mm:
        (-[DOMHTMLScriptElement src]):
        * DOM/DOMHTMLVideoElement.mm:
        (-[DOMHTMLVideoElement poster]):
        * DOM/DOMNode.mm:
        (-[DOMNode baseURI]):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::updateGlobalHistory):
        (WebFrameLoaderClient::setTitle):
        * WebView/WebImmediateActionController.mm:
        (-[WebImmediateActionController _animationControllerForDataDetectedLink]):
        * WebView/WebNotification.mm:
        (-[WebNotification iconURL]):
        * WebView/WebScriptDebugger.mm:
        (WebScriptDebugger::sourceParsed):
        (toNSURL): Deleted.

2020-04-25  Darin Adler  <darin@apple.com>

        Move URL to use StringView when returning substrings of the URL
        https://bugs.webkit.org/show_bug.cgi?id=210431

        Reviewed by Anders Carlsson.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (shouldTryAppLink): Compare hosts with == rather than using hostsAreEqual.

        * WebView/WebFrame.mm:
        (-[WebFrame _documentFragmentForImageData:withRelativeURLPart:andMIMEType:]):
        Updated since fakeURLWithRelativePart takes a StringView. Also use RetainPtr
        instead of an explicit call to release.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _web_documentFragmentFromPasteboard:pasteboardType:imageMIMEType:]):
        Updated since fakeURLWithRelativePart takes a StringView. No conversion
        directly from NSString to StringView, so we have to explicitly use a String.

        * WebView/WebImmediateActionController.mm:
        (-[WebImmediateActionController _defaultAnimationController]): Update
        since protocolIs takes a StringView. No conversion directly from
        NSString to StringView, so we have to explicitly use a String.

2020-04-24  Megan Gardner  <megan_gardner@apple.com>

        Make LEGACY_PDF_SUPPORT feature flag.
        https://bugs.webkit.org/show_bug.cgi?id=210868
        <rdar://problem/62199847>

        Reviewed by Tim Horton.

        * WebView/WebFrameView.mm:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
        * WebView/WebView.mm:

2020-04-24  Antoine Quint  <graouts@apple.com>

        Update the css/css-animations WPT tests
        https://bugs.webkit.org/show_bug.cgi?id=210964

        Reviewed by Dean Jackson.

        Expose the CSSCustomPropertiesAndValues experimental feature such that it may be set in DumpRenderTree.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences CSSCustomPropertiesAndValuesEnabled]):
        (-[WebPreferences setCSSCustomPropertiesAndValuesEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:

2020-04-23  Alex Christensen  <achristensen@webkit.org>

        Jesus Calling app needs more WebSQL
        https://bugs.webkit.org/show_bug.cgi?id=210889
        <rdar://problem/61795507>

        Reviewed by Chris Dumez.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

2020-04-22  Darin Adler  <darin@apple.com>

        [Cocoa] Build with UChar as char16_t even in builds that use Apple's internal SDK
        https://bugs.webkit.org/show_bug.cgi?id=210845

        Reviewed by Anders Carlsson.

        * Configurations/WebKitLegacy.xcconfig: Move ICU-configuring macros to Platform.h.

2020-04-22  Darin Adler  <darin@apple.com>

        [Cocoa] REGRESSION (r260485): Crash in Legacy WebKit createMenu item function (reproducible under Asan)
        https://bugs.webkit.org/show_bug.cgi?id=210888

        Reviewed by Alex Christensen.

        * WebView/WebHTMLView.mm:
        (createMenuItem): Speculative fix: Go back to using a local variable. Apparently
        the Objective-C for loop doesn't extend the lifetime of its argument the way the
        C++ range-based for loop does, so the local variable is needed.

2020-04-21  Peng Liu  <peng.liu6@apple.com>

        Fix MACCATALYST build failures
        https://bugs.webkit.org/show_bug.cgi?id=210815

        Reviewed by Tim Horton.

        * Configurations/FeatureDefines.xcconfig:

2020-04-19  Darin Adler  <darin@apple.com>

        [Cocoa] Use createNSArray in many more places that build NSArray objects from C++ collections
        https://bugs.webkit.org/show_bug.cgi?id=210702

        Reviewed by Alex Christensen.

        * DOM/DOM.mm:
        (kit): Use createNSArray.
        (-[DOMNode getPreviewSnapshotImage:andRects:]): Ditto. Also use makeNSArrayElement
        to convert FloatRect to an NSValue containing a CGRect, avoiding use of
        +[NSValue value:withObjCType:], while working on macOS where +[NSValue valueWithCGRect:]
        is not part of API.

        * History/WebBackForwardList.mm:
        (-[WebBackForwardList dictionaryRepresentation]): Use createNSArray, fewer local
        variables, and use constexpr instead of #define.
        (-[WebBackForwardList setToMatchDictionaryRepresentation:]): Use adoptNS instead
        of explicit release and reference instead of pointer.
        (vectorToNSArray): Deleted.
        (-[WebBackForwardList backListWithLimit:]): Use createNSArray. Also use RetainPtr for
        the "hack" here rather than explicit retain/release calls.
        (-[WebBackForwardList forwardListWithLimit:]): Ditto.

        * History/WebHistoryItem.mm:
        (kit): Added a retain/autorelease pair that is important to have predictable lifetime.
        (-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
        Added a missing null check.
        (-[WebHistoryItem initWithWebCoreHistoryItem:]): Added a FIXME about something I
        noticed that is not related to the rest of this patch.
        (-[WebHistoryItem children]): Use createNSArray.
        (-[WebHistoryItem _redirectURLs]): Ditto.

        * Misc/WebCoreStatistics.mm:
        (createNSCountedSet): Added. More efficient than the old code because it doesn't
        create many NSString objects for each key, but also shared between functions.
        (+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): Use createNSCountedSet.
        (+[WebCoreStatistics javaScriptObjectTypeCounts]): Ditto.

        * Misc/WebNSPasteboardExtras.mm:
        (-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
        Use @[] instead of NSMutableArray

        * Storage/WebDatabaseManager.mm:
        (-[WebDatabaseManager origins]): Use createNSArray.
        * Storage/WebStorageManager.mm:
        (-[WebStorageManager origins]): Ditto.
        * WebCoreSupport/WebApplicationCache.mm:
        (+[WebApplicationCache originsWithCache]): Ditto.
        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::updateSpellingUIWithGrammarString): Ditto.
        * WebCoreSupport/WebNotificationClient.mm:
        (WebNotificationClient::clearNotifications): Ditto.
        * WebView/WebArchive.mm:
        (-[WebArchive subresources]): Ditto.
        (-[WebArchive subframeArchives]): Ditto.
        * WebView/WebDataSource.mm:
        (-[WebDataSource subresources]): Ditto.

        * WebView/WebFrame.mm:
        (-[WebFrame _nodesFromList:]): Deleted. This was not declared in any header and
        was also unused.

        * WebView/WebFrameView.mm:
        (-[WebFrameView initWithFrame:]): Added a FIXME about something I noticed that is
        not related to the rest of this patch.

        * WebView/WebHTMLRepresentation.mm:
        (-[WebHTMLRepresentation controlsInForm:]): Use createNSArray.

        * WebView/WebHTMLView.mm:
        (createMenuItems): Use createNSArray. Also moved up in the file.
        (createMenuItem): Removed unneeded local variable.

        * WebView/WebView.mm:
        (-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
        Use createNSArray.

2020-04-20  Peng Liu  <peng.liu6@apple.com>

        Fix build failures when video fullscreen and picture-in-picture is disabled
        https://bugs.webkit.org/show_bug.cgi?id=210777

        Reviewed by Eric Carlson.

        * Configurations/FeatureDefines.xcconfig:

2020-04-20  Darin Adler  <darin@apple.com>

        Use #import instead of #include in Objective-C and don't use #pragma once
        https://bugs.webkit.org/show_bug.cgi?id=210724

        Reviewed by David Kilzer.

        * Configurations/WebKitLegacy.xcconfig: Removed MemoryMeasure.h from
        EXCLUDED_SOURCE_FILE_NAMES.

        * Misc/WebCache.mm:
        (+[WebCache emptyInMemoryResources]): Removed invocation of MemoryMeasure.
        This is no longer used for anything.

        * History/BackForwardList.mm:
        * Plugins/Hosted/ProxyRuntimeObject.mm:
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        * WebCoreSupport/SearchPopupMenuMac.mm:
        * WebCoreSupport/WebAlternativeTextClient.mm:
        * WebCoreSupport/WebSecurityOriginInternal.h:
        * WebInspector/WebInspector.mm:
        * WebView/WebFramePrivate.h:
        * WebView/WebScriptWorld.h:
        * WebView/WebView.mm:
        More #import, less #pragma once.

2020-04-18  Rob Buis  <rbuis@igalia.com>

        Reduce parameter list of the FrameLoadRequest constructor
        https://bugs.webkit.org/show_bug.cgi?id=210668

        Reviewed by Darin Adler.

        Adapt to API change.

        * Plugins/WebPluginController.mm:
        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
        * WebView/WebFrame.mm:
        (-[WebFrame loadRequest:]):
        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
        * WebView/WebPDFView.mm:
        (-[WebPDFView PDFViewWillClickOnLink:withURL:]):

2020-04-18  David Kilzer  <ddkilzer@apple.com>

        -[WebPreferences initWithCoder:] should use -[NSCoder decodeValueOfObjCType:at:size:]
        <https://webkit.org/b/210621>
        <rdar://problem/61906458>

        Reviewed by Anders Carlsson.

        * WebView/WebPreferences.mm:
        (-[WebPreferences initWithCoder:]):
        - Switch to -[NSCoder decodeValueOfObjCType:at:size:].

2020-04-17  David Kilzer  <ddkilzer@apple.com>

        [iOS WK1] -[_WebSafeForwarder asyncForwarder] uses non-static dispatch_once_t predicate
        <https://webkit.org/b/210625>

        Reviewed by Daniel Bates.

        Remove use of dispatch_once to initialize
        _WebSafeForwarder._asyncForwarder, and modernize both
        _WebSafeForwarder and _WebSafeAsyncForwarder classes.

        * WebView/WebView.mm:
        (@interface _WebSafeAsyncForwarder):
        - Make `_forwarder` weak.  It can't be strong or a retain cycle
          would be created between this object and _WebSafeForwarder.
        - Change return type from `id` to `instancetype` for
          -[_WebSafeAsyncForwarder initWithForwarder:].
        (@interface _WebSafeForwarder):
        - Make `_target` weak and rename from `target`.
        - Make `_defaultTarget` weak and rename from `defaultTarget`.
        - Rename `_asyncForwarder` from `asyncForwarder`.
        - Delete unused `asyncForwarderPred`.
        - Replace -asyncForwarder method declaration with a @property
          definition.
        (-[_WebSafeForwarder initWithTarget:defaultTarget:]):
        - Update for instance variable renames.
        - Iniitalize `_asyncForwarder` here.  There are (at most) eight
          _WebSafeForwarder objects created per WebView, so creating
          this object in the constructor seems reasonable.
        (-[_WebSafeForwarder asyncForwarder:]):
        - Delete this method (and use of dispatch_once, fixing the bug).
          Replace with @synthesize statement.
        (-[_WebSafeForwarder dealloc:]):
        - Update for instance variable renames, and assign nil to all
          instance variables.
        (-[_WebSafeForwarder forwardInvocation:]):
        (-[_WebSafeForwarder respondsToSelector:]):
        (-[_WebSafeForwarder methodSignatureForSelector:]):
        - Update for instance variable renames.
        (-[_WebSafeForwarder initWithForwarder:]):
        - Change return type from `id` to `instancetype`.

2020-04-17  Rob Buis  <rbuis@igalia.com>

        Move allowPlugins to FrameLoader
        https://bugs.webkit.org/show_bug.cgi?id=205876

        Reviewed by Darin Adler.

        Adapt to API change.

        * WebCoreSupport/WebPluginInfoProvider.mm:
        (WebPluginInfoProvider::pluginInfo):
        * WebView/WebFrame.mm:
        (-[WebFrame _canProvideDocumentSource]):

2020-04-13  Tim Horton  <timothy_horton@apple.com>

        REGRESSION (r259843): "Missing Plug-In" when dragging an image into Mail Compose
        https://bugs.webkit.org/show_bug.cgi?id=210458
        <rdar://problem/61735361>

        Reviewed by Wenson Hsieh.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::createPlugin):
        r259843 changed this code from making a dictionary with a set of key->object mappings
        to making a dictionary with an array of keys as its only key and an array of objects
        as that key's value. Not quite the same thing.

        Go back to dictionaryWithObjects:forKeys:.

2020-04-13  David Kilzer  <ddkilzer@apple.com>

        Fix clang static analyzer warnings about unused instance variables in WebIconDatabase, WKView
        <https://webkit.org/b/210427>

        Reviewed by Alex Christensen.

        * Misc/WebIconDatabase.h:
        (WebIconDatabase._private):
        - Use WK_UNUSED_INSTANCE_VARIABLE to ignore unused instance
          variable.

2020-04-11  Wenson Hsieh  <wenson_hsieh@apple.com>

        [macOS] [WK1] Touch Bar flashes when typing in Vietnamese in Mail
        https://bugs.webkit.org/show_bug.cgi?id=210394
        <rdar://problem/60099560>

        Reviewed by Tim Horton.

        In recent versions of macOS, changes to the animation of the candidate list touch bar item when it is expanded
        or collapsed using -updateWithInsertionPointVisibility: mean that back-to-back calls to hide and show the
        candidate list during the same runloop now result in a visible flicker, whereas it would remain still in prior
        releases.

        Combined with how `-[WebHTMLView insertText:]` in WebKitLegacy causes multiple selection change updates if the
        argument is an attributed string with the text replacement attribute, this means that there is now a visible
        flicker in the touch bar when using input methods that rely on the `NSTextInputReplacementRangeAttributeName`
        attribute. One such input method is Simple Telex (Vietnamese), when typing causes characters in other parts of
        the word to gain diacritics.

        To fix this, we make two small adjustments in WebKitLegacy (see below).

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView insertText:]):

        While inserting text (which may be an NSAttibutedString or NSString), we may come across an attribute indicating
        which part of the document to replace. In this case, we will select this range in the document before inserting
        the given text.

        This selection change is propagated to the client layer, which makes us briefly think that we have a ranged
        selection, causing the flicker described above. Address this by suppressing selection change notifications while
        we're selecting the range to replace, using the new `IgnoreSelectionChangeForScope` RAII object (see WebCore
        changes for more detail).

        * WebView/WebView.mm:
        (-[WebView updateTextTouchBar]):

        When updating the text touch bar (which contains the candidate list item) after a selection change, we currently
        handle the case where selection changes are ignored by hiding the candidate list; this doesn't seem right, since
        selection changes that are ignored should simply be ignored by the client. To fix this, push the
        `ignoreSelectionChanges()` check into the if statement.

2020-04-10  Darin Adler  <darin@apple.com>

        Move more from live range to SimpleRange: callers of absoluteTextRects
        https://bugs.webkit.org/show_bug.cgi?id=210369

        Reviewed by Anders Carlsson.

        * DOM/DOM.mm:
        (-[DOMNode textRects]): Moved implementation here. There's no reason for Node
        to have a textRects function, since it's a layout/rendering operation and a
        single node is also an unusual special case, but for now we will keep this
        legacy method for compatibility with old clients.
        (-[DOMRange textRects]): Changed to call RenderObject::absoluteTextRects
        instead of Range::absoluteTextRects.

        * WebView/WebFrame.mm:
        (-[WebFrame _rectsForRange:]): Changed to call -[DOMRange textRects] instead
        of Range::absoluteTextRects. Don't really need two identical methods but
        probably need to keep this around for compatiblitiy.

2020-04-08  Darin Adler  <darin@apple.com>

        [Cocoa] Simplify NSArray, NSDictionary, and NSNumber idioms throughout WebKit
        https://bugs.webkit.org/show_bug.cgi?id=210138

        Reviewed by Alex Christensen.

        * DOM/DOM.mm:
        (kit): Deleted overload that takes Vector<IntRect>.
        (-[DOMNode textRects]): Use createNSArray.
        (-[DOMRange textRects]): Ditto.

        * DOM/ExceptionHandlers.mm:
        (raiseDOMErrorException): Use @().

        * History/WebBackForwardList.mm:
        (-[WebBackForwardList dictionaryRepresentation]): Use @{}.

        * History/WebHistory.mm:
        (+[WebHistoryPrivate initialize]): Use @{}.
        (-[WebHistory _sendNotification:entries:]): Use @{}.

        * History/WebHistoryItem.mm:
        (-[WebHistoryItem initFromDictionaryRepresentation:]): Use makeVector<String>.
        (-[WebHistoryItem dictionaryRepresentation:]): Use createNSArray and @().

        * History/WebURLsWithTitles.m:
        (+[WebURLsWithTitles arrayWithIFURLsWithTitlesPboardType]): Use @[].
        (+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use @[].

        * Misc/WebCache.mm:
        (+[WebCache statistics]): Use @[], @{}, and @().
        * Misc/WebCoreStatistics.mm:
        (+[WebCoreStatistics memoryStatistics]): Ditto.

        * Misc/WebKitErrors.m:
        (-[NSError _webkit_initWithDomain:code:URL:]): Use @().
        (+[NSError _registerWebKitErrors]): Use @().
        (-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): Use @().

        * Misc/WebKitNSStringExtras.mm:
        (-[NSString _web_drawAtPoint:font:textColor:]): Use @{}.
        (-[NSString _web_widthWithFont:]): Use @{}.

        * Misc/WebNSFileManagerExtras.mm: Removed unneeded include.

        * Misc/WebNSPasteboardExtras.mm:
        (+[NSPasteboard _web_dragTypesForURL]): Use @[].
        (-[NSPasteboard _web_writeURL:andTitle:types:]): Use @[].
        (+[NSPasteboard _web_setFindPasteboardString:withOwner:]): Use @[].

        * Misc/WebNSURLExtras.mm: Removed unneeded include.

        * Plugins/Hosted/NetscapePluginHostManager.mm:
        (WebKit::NetscapePluginHostManager::spawnPluginHost): Use @{}.

        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCIdentifierInfo): Use @().

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::addValueToArray): Use @().

        * Plugins/Hosted/WebHostedNetscapePluginView.mm: Removed unneeded include.
        * Plugins/WebBasePluginPackage.mm: Ditto.

        * Plugins/WebPluginContainerCheck.mm:
        (-[WebPluginContainerCheck _actionInformationWithURL:]): Use @{}.

        * Plugins/WebPluginDatabase.mm:
        (+[WebPluginDatabase _defaultPlugInPaths]): Use @[].

        * Storage/WebDatabaseManager.mm:
        (-[WebDatabaseManager databasesWithOrigin:]): Use createNSArray.

        * WebCoreSupport/CorrectionPanel.mm:
        (CorrectionPanel::show): Use createNSArray.

        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::addMessageToConsole): Use @().

        * WebCoreSupport/WebEditorClient.mm:
        (attributesForAttributedStringConversion): Use @().
        (WebEditorClient::getGuessesForWord): Use makeVector<String>.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::actionDictionary const): Use @().
        (kit): Deleted overload that takes Vector<String>.
        (pluginView): Use @{}.
        (WebFrameLoaderClient::createPlugin): Use createNSArray, @{}, and @().
        (WebFrameLoaderClient::createJavaAppletWidget): Use createNSArray.

        * WebCoreSupport/WebOpenPanelResultListener.mm:
        (-[WebOpenPanelResultListener chooseFilenames:]): Use makeVector<String>.
        (-[WebOpenPanelResultListener chooseFilename:displayString:iconImage:]): Use @[].
        (-[WebOpenPanelResultListener chooseFilenames:displayString:iconImage:]): Use makeVector<String>.

        * WebCoreSupport/WebSelectionServiceController.mm:
        (WebSelectionServiceController::handleSelectionServiceClick):
        Comment out an unused argument.

        * WebView/WebFrame.mm:
        (-[WebFrame _rectsForRange:]): Use createNSArrray.
        (-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]): Use createNSArray and @[].
        (-[WebFrame childFrames]): Use @[].

        * WebView/WebHTMLView.mm:
        (+[WebHTMLView _selectionPasteboardTypes]): Use @[].
        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Use @[].
        (-[WebHTMLView knowsPageRange:]): Use @[].
        (-[WebHTMLView accessibilityAttributeValue:]): Use @[].
        (-[WebHTMLView copyFont:]): Use @[].
        (-[WebHTMLView _interpretKeyEvent:savingCommands:]): Use @[].
        (-[WebHTMLView selectionTextRects]): Use createNSArray.
        (-[WebHTMLView rectsForTextMatches]): Use createNSArray and @[].

        * WebView/WebPDFRepresentation.mm: Removed unneeded include.
        (+[WebPDFRepresentation postScriptMIMETypes]): Use @[].
        (+[WebPDFRepresentation supportedMIMETypes]): Use @[].

        * WebView/WebPDFView.mm:
        (-[WebPDFView elementAtPoint:]): Use @{} and @().
        (-[WebPDFView viewState]): Use @().
        (-[WebPDFView selectionTextRects]): Use @[].
        (-[WebPDFView pasteboardTypesForSelection]): Use @[].
        (-[WebPDFView _menuItemsFromPDFKitForEvent:]): Use @().
        (-[WebPDFView _openWithFinder:]): Use @{} and @().

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]): Use @().
        (-[WebPreferences _setUnsignedIntValue:forKey:]): Use @().
        (+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Use @().
        (-[WebPreferences setStorageBlockingPolicy:]): Use @{} and @().

        * WebView/WebScriptDebugger.mm:
        (WebScriptDebugger::sourceParsed): Use @().

        * WebView/WebTextCompletionController.mm:
        (-[WebTextCompletionController _placePopupWindow:]): Use @{}.

        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]): Use makeVector<String>.
        (-[WebView _contentsOfUserInterfaceItem:]): Use @().
        (toStringVector): Deleted.
        (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
        Use makeVector<String>.
        (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
        Use makeVector<String>.
        (-[WebView _elementAtWindowPoint:]): Use @{}.
        (-[WebView pasteboardTypesForSelection]): Use @[].
        (-[WebView pasteboardTypesForElement:]): Use @[].
        (-[WebView rectsForTextMatches]): Use @[].
        (-[WebView _searchWithGoogleFromMenu:]): Use @[].
        (-[WebView _setFontWhitelist:]): Use makeVector<String>.

2020-04-08  Daniel Bates  <dabates@apple.com>

        Track editable elements on screen
        https://bugs.webkit.org/show_bug.cgi?id=209888
        <rdar://problem/61196886>

        Reviewed by Simon Fraser.

        Add feature define to track editable elements on screen (enabled by default on iOS and iOS Simulator).

        * Configurations/FeatureDefines.xcconfig:

2020-04-08  Truitt Savell  <tsavell@apple.com>

        Unreviewed, reverting r259708.

        Broke the iOS device Build

        Reverted changeset:

        "Enable the use of XCBuild by default in Apple builds"
        https://bugs.webkit.org/show_bug.cgi?id=209890
        https://trac.webkit.org/changeset/259708

2020-04-08  Keith Rollin  <krollin@apple.com>

        Enable the use of XCBuild by default in Apple builds
        https://bugs.webkit.org/show_bug.cgi?id=209890
        <rdar://problem/44182078>

        Reviewed by Darin Adler.

        Switch from the "legacy" Xcode build system to the "new" build system
        (also known as "XCBuild"). Switching to the new system speeds up
        builds by a small percentage, better validates projects for
        build-related issues (such as dependency cycles), lets WebKit benefit
        from future improvements in XCBuild such as those coming from the
        underlying llbuild open source project, and prepares us for any other
        tools built for this new ecosystem.

        Specific changes:

        - Remove Xcode project and workspace settings that selected the Build
          system, allowing the default to take hold (which is currently the
          New build system).
        - Updated webkitdirs.pm with a terser check for Xcode version.
        - Update build-webkit and Makefile.shared to be explicit when using
          the old build system (no longer treat it as a default or fall-back
          configuration).
        - Update various xcconfig files similarly to treat the default as
          using the new build system.
        - Update various post-processing build steps to check for Xcode 11.4
          and to no longer treat the default as using the old build system.

        * Configurations/WebKitLegacy.xcconfig:

2020-04-06  Ross Kirsling  <ross.kirsling@sony.com>

        Update minimum ICU version to 60.2
        https://bugs.webkit.org/show_bug.cgi?id=209694

        Reviewed by Darin Adler.

        * Misc/WebKitNSStringExtras.mm:
        (-[NSString _web_drawAtPoint:font:textColor:]):
        (-[NSString _web_widthWithFont:]):
        * WebCoreSupport/WebVisitedLinkStore.mm:
        (WebVisitedLinkStore::addVisitedLink):
        * WebView/WebTextIterator.mm:
        (-[WebTextIterator currentTextPointer]):
        Manually convert between UChar and UniChar/unichar where needed.

2020-04-04  Darin Adler  <darin@apple.com>

        Stop using live ranges in DocumentMarkerController
        https://bugs.webkit.org/show_bug.cgi?id=209985

        Reviewed by Antti Koivisto.

        * DOM/DOM.mm:
        (-[DOMNode absoluteQuadAndInsideFixedPosition:]): Use unitedBoundingBoxes.
        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::handleRequestedCandidates): Use RenderObject::absoluteTextQuads.
        * WebView/WebFrame.mm:
        (-[WebFrame getDictationResultRanges:andMetadatas:]): Updated since DocumentMarker no
        longer has a dedicated metadata member function.
        (-[WebFrame dictationResultMetadataForRange:]):
        * WebView/WebImmediateActionController.mm:
        (+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
        Use RenderObject::absoluteTextQuads.

2020-04-04  Peng Liu  <peng.liu6@apple.com>

        REGRESSION (r259095): ASSERTION FAILED: m_videoFullscreenMode != VideoFullscreenModeNone seen with TestWebKitAPI.WebKitLegacy.AudioSessionCategoryIOS
        https://bugs.webkit.org/show_bug.cgi?id=209680

        Reviewed by Jer Noble.

        With this patch, the WebKit-Legacy can support multiple video elements request
        to enter video fullscreen almost at the same time, and only the last one will succeed.
        Also, this patch fixes webkit.org/b/209610 for WebKit-Legacy.

        * WebView/WebView.mm:
        * WebView/WebViewData.h:

2020-04-03  Alex Christensen  <achristensen@webkit.org>

        Add SPI to make WKUserScripts wait for a notification
        https://bugs.webkit.org/show_bug.cgi?id=209845
        <rdar://problem/60342299>

        Reviewed by Chris Dumez.

        * WebView/WebView.mm:
        (-[WebView _injectOutlookQuirksScript]):

2020-04-03  Tim Horton  <timothy_horton@apple.com>

        Add a visual debug indicator for locating and identifying all kinds of WebViews
        https://bugs.webkit.org/show_bug.cgi?id=209982
        <rdar://problem/60339870>

        Reviewed by Simon Fraser.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        Adopt for WebView on macOS (UIWebView will install it itself on iOS).

        * WebView/WebViewPrivate.h:
        Expose _installVisualIdentificationOverlayForViewIfNeeded:kind: for UIWebView's use.
        It is slightly unfortunate to expose SPI that uses UIView from a framework
        underneath UIKit, but there is no other single place where this code can live
        and not be a minor layering problem. Since it's debug UI, it seems passable.

2020-04-03  David Kilzer  <ddkilzer@apple.com>

        [Xcode] Replace ASAN_OTHER_CFLAGS and ASAN_OTHER_CPLUSPLUSFLAGS with $(inherited)
        <https://webkit.org/b/209963>
        <rdar://problem/61257504>

        Reviewed by Alexey Proskuryakov.

        * Configurations/Base.xcconfig:
        - Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and
          ASAN_OTHER_LDFLAGS.

2020-04-01  Darin Adler  <darin@apple.com>

        Remove all uses of live ranges from TextIterator
        https://bugs.webkit.org/show_bug.cgi?id=209723

        Reviewed by Antti Koivisto.

        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::updateSpellingUIWithGrammarString): Remove some unnecessary
        use of local variabels for NSString.
        (WebEditorClient::requestCandidatesForSelection): Pass a reference to a live
        range to plainText.
        * WebView/WebFrame.mm:
        (-[WebFrame _stringForRange:]): Ditto.
        (-[WebFrame _convertToNSRange:]): Use characterRange instead of
        TextIterator::getLocationAndLengthFromRange.

2020-04-01  Ryosuke Niwa  <rniwa@webkit.org>

        HTMLFormElement should use WeakPtr to keep track of its associated elements
        https://bugs.webkit.org/show_bug.cgi?id=209894

        Reviewed by Wenson Hsieh.

        * WebView/WebHTMLRepresentation.mm:
        (-[WebHTMLRepresentation elementWithName:inForm:]):
        (-[WebHTMLRepresentation controlsInForm:]):

2020-03-31  Wenson Hsieh  <wenson_hsieh@apple.com>

        Datalist option's label not used
        https://bugs.webkit.org/show_bug.cgi?id=201768
        <rdar://problem/55361186>

        Reviewed by Darin Adler.

        See WebCore/ChangeLog and WebKit/ChangeLog for more details.

        * WebCoreSupport/WebChromeClient.h:

2020-03-30  Devin Rousso  <drousso@apple.com>

        Web Inspector: provide a way to log messages from the network process
        https://bugs.webkit.org/show_bug.cgi?id=204775

        Reviewed by Brian Burg.

        ITP can be influenced by multiple pages simultaneously, meaning that sending a console
        message to the Web Inspector that's connected to the page that caused a change may not be
        useful as developers often don't test in complete isolation. As such, having a way to
        broadcast a console message to all Web Inspectors ensures that any changes caused by any
        page are always able to be seen, no matter which page is being actively inspected.

        * WebCoreSupport/WebChromeClient.mm:
        (stringForMessageSource):
        Add `ITPDebug` and `AdClickAttribution` message sources.

2020-03-29  Darin Adler  <darin@apple.com>

        Move TextIterator::rangeFromLocationAndLength off of live ranges
        https://bugs.webkit.org/show_bug.cgi?id=209408

        Reviewed by Antti Koivisto.

        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::checkTextOfParagraph): Use CharacterRange,
        resolveCharacterLocation/Range.
        (WebEditorClient::checkGrammarOfString): Ditto.
        (core): Ditto.
        (WebEditorClient::updateSpellingUIWithGrammarString): Ditto.
        (WebEditorClient::handleAcceptedCandidateWithSoftSpaces): Ditto.
        * WebView/WebFrame.mm:
        (-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]): Ditto.
        * WebView/WebView.mm:
        (textCheckingResultFromNSTextCheckingResult): Ditto.

2020-03-27  Wenson Hsieh  <wenson_hsieh@apple.com>

        DragData::containsURL() should avoid reading URL strings from the pasteboard
        https://bugs.webkit.org/show_bug.cgi?id=209642
        Work towards <rdar://problem/59611585>

        Reviewed by Tim Horton.

        See WebCore/ChangeLog for more details.

        * WebCoreSupport/WebPlatformStrategies.h:
        * WebCoreSupport/WebPlatformStrategies.mm:
        (WebPlatformStrategies::containsURLStringSuitableForLoading):
        (WebPlatformStrategies::urlStringSuitableForLoading):

2020-03-25  Wenson Hsieh  <wenson_hsieh@apple.com>

        Avoid querying pasteboard strings while dragging content over a potential drop target
        https://bugs.webkit.org/show_bug.cgi?id=209531

        Reviewed by Tim Horton and Ryosuke Niwa.

        Add PasteboardStrategy plumbing; see WebCore for more details.

        * WebCoreSupport/WebPlatformStrategies.h:
        * WebCoreSupport/WebPlatformStrategies.mm:
        (WebPlatformStrategies::containsStringSafeForDOMToReadForType):

2020-03-23  Wenson Hsieh  <wenson_hsieh@apple.com>

        Remove the unused method PasteboardStrategy::uniqueName()
        https://bugs.webkit.org/show_bug.cgi?id=209452

        Reviewed by Tim Horton.

        See WebCore/ChangeLog for more detail.

        * WebCoreSupport/WebPlatformStrategies.h:
        * WebCoreSupport/WebPlatformStrategies.mm:
        (WebPlatformStrategies::uniqueName): Deleted.

2020-03-23  Darin Adler  <darin@apple.com>

        Change TextIterator::rangeLength to not require a live range
        https://bugs.webkit.org/show_bug.cgi?id=209207

        Reviewed by Antti Koivisto.

        * WebCoreSupport/WebEditorClient.mm:
        (insertionPointFromCurrentSelection): Use characterCount.
        (WebEditorClient::requestCandidatesForSelection): Ditto.
        * WebView/WebFrame.mm:
        (-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]): Ditto.

2020-03-23  youenn fablet  <youenn@apple.com>

        Rename blankURL to aboutBlankURL
        https://bugs.webkit.org/show_bug.cgi?id=209344

        Reviewed by Darin Adler.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::updateGlobalHistory):
        * WebView/WebFrame.mm:
        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):

2020-03-20  Jer Noble  <jer.noble@apple.com>

        Ensure media cache directory is created before passing to AVURLAsset.
        https://bugs.webkit.org/show_bug.cgi?id=209341

        Reviewed by Eric Carlson.

        MediaPlayerPrivateAVFoundaionObjC will no longer create an asset cache in a temporary
        directory by default; ensure that it's media cache directory is set during initialization.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):

2020-03-20  Timothy Horton  <timothy_horton@apple.com>

        Improve the previous build fix.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        Darin points out that we have USE(WEB_THREAD), so might as well use it!

2020-03-20  Timothy Horton  <timothy_horton@apple.com>

        Fix the build.

        * WebCoreSupport/WebFrameLoaderClient.mm:

2020-03-20  Tim Horton  <timothy_horton@apple.com>

        Upstream a variety of Cocoa-platform HAVE and ENABLE macros
        https://bugs.webkit.org/show_bug.cgi?id=209307

        Reviewed by Andy Estes.

        * Configurations/FeatureDefines.xcconfig:

2020-03-20  Jacob Uphoff  <jacob_uphoff@apple.com>

        Unreviewed, reverting r258748.

        This commit broke the Catalina build

        Reverted changeset:

        "Upstream a variety of Cocoa-platform HAVE and ENABLE macros"
        https://bugs.webkit.org/show_bug.cgi?id=209307
        https://trac.webkit.org/changeset/258748

2020-03-19  Tim Horton  <timothy_horton@apple.com>

        Upstream a variety of Cocoa-platform HAVE and ENABLE macros
        https://bugs.webkit.org/show_bug.cgi?id=209307

        Reviewed by Andy Estes.

        * Configurations/FeatureDefines.xcconfig:

2020-03-19  youenn fablet  <youenn@apple.com>

        Make URL::path() return a StringView
        https://bugs.webkit.org/show_bug.cgi?id=209173

        Reviewed by Alex Christensen.

        * Misc/WebNSURLExtras.mm:
        (-[NSString _webkit_stringByReplacingValidPercentEscapes]):

2020-03-18  youenn fablet  <youenn@apple.com>

        FrameLoader should own its FrameLoaderClient
        https://bugs.webkit.org/show_bug.cgi?id=208918

        Reviewed by Geoff Garen.

        Update according new Frame/FrameLoader constructors and FrameLoaderClient interface.

        * WebCoreSupport/WebFrameLoaderClient.h:
        (WebFrameLoaderClient::setWebFrame):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::~WebFrameLoaderClient):
        (WebFrameLoaderClient::cancelledError const):
        (WebFrameLoaderClient::blockedError const):
        (WebFrameLoaderClient::blockedByContentBlockerError const):
        (WebFrameLoaderClient::cannotShowURLError const):
        (WebFrameLoaderClient::interruptedForPolicyChangeError const):
        (WebFrameLoaderClient::blockedByContentFilterError const):
        (WebFrameLoaderClient::cannotShowMIMETypeError const):
        (WebFrameLoaderClient::fileDoesNotExistError const):
        (WebFrameLoaderClient::pluginWillHandleLoadError const):
        (WebFrameLoaderClient::shouldFallBack const):
        (WebFrameLoaderClient::userAgent const):
        * WebView/WebFrame.mm:
        (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
        (+[WebFrame _createMainFrameWithPage:frameName:frameView:]):
        (+[WebFrame _createMainFrameWithSimpleHTMLDocumentWithPage:frameView:style:]):
        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

2020-03-17  Chris Dumez  <cdumez@apple.com>

        REGRESSION: [ macOS wk1 ] ASSERTION FAILED: _notifications.contains(notificationID) imported/w3c/web-platform-tests/notifications/constructor-basic.html is flaky crashing
        https://bugs.webkit.org/show_bug.cgi?id=207307
        <rdar://problem/59206964>

        Reviewed by Alex Christensen.

        * WebView/WebNotification.h:
        * WebView/WebNotification.mm:
        (-[WebNotification finalize]):

2020-03-17  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, reverting r258339.
        https://bugs.webkit.org/show_bug.cgi?id=209179

        "Is it sometimes breaking rendering" (Requested by youenn on
        #webkit).

        Reverted changeset:

        "FrameLoader should own its FrameLoaderClient"
        https://bugs.webkit.org/show_bug.cgi?id=208918
        https://trac.webkit.org/changeset/258339

2020-03-15  Darin Adler  <darin@apple.com>

        Move most of TextIterator off of live ranges
        https://bugs.webkit.org/show_bug.cgi?id=209129

        Reviewed by Antti Koivisto.

        * WebView/WebFrame.mm: Removed an include.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _legacyAttributedStringFrom:offset:to:offset:]):
        Add casts to unsigned.

        * WebView/WebTextIterator.mm:
        (-[WebTextIterator initWithRange:]): Leave _private->_textIterator
        as a nullptr if the passed-in range is nil since we no longer offer
        a way to create an empty TextIterator; other clients don't seem to
        need one.
        (-[WebTextIterator advance]): Check _private->_textIterator for null.
        (-[WebTextIterator atEnd]): Ditto.
        (-[WebTextIterator currentRange]): Ditto.
        (-[WebTextIterator currentTextPointer]): Ditto.
        (-[WebTextIterator currentTextLength]): Ditto.
        (-[WebTextIterator currentNode]): Ditto.
        (-[WebTextIterator currentText]): Ditto.

2020-03-16  Timothy Horton  <timothy_horton@apple.com>

        Always include System.framework in WebKitLegacy's CPLUSPLUSFLAGS
        https://bugs.webkit.org/show_bug.cgi?id=209147

        Reviewed by Darin Adler.

        * Configurations/Base.xcconfig:
        * Configurations/WebKitLegacy.xcconfig:
        Bring WebKitLegacy's xcconfigs in line with all the other projects,
        adding System.framework globally, and in Base.xcconfig.

2020-03-16  Simon Fraser  <simon.fraser@apple.com>

        Remove FrameView::scheduleRenderingUpdate()
        https://bugs.webkit.org/show_bug.cgi?id=209109

        Reviewed by Antti Koivisto.

        FrameView::scheduleRenderingUpdate() called through to compositor(), but that just
        turned around to call scheduleRenderingUpdate() via Page. So Remove it and change
        callers to call Page::scheduleRenderingUpdate() directly.

        * WebView/WebView.mm:

2020-03-13  Sergio Villar Senin  <svillar@igalia.com>

        [WebXR] IDLs, stubs and build configuration for WPE
        https://bugs.webkit.org/show_bug.cgi?id=208702

        Reviewed by Dean Jackson.

        * Configurations/FeatureDefines.xcconfig: Added ENABLE_WEBXR, off by default.

2020-03-15  Yusuke Suzuki  <ysuzuki@apple.com>

        Should not use variable-length-array (VLA)
        https://bugs.webkit.org/show_bug.cgi?id=209043

        Reviewed by Mark Lam.

        * Configurations/Base.xcconfig:

2020-03-12  Brent Fulgham  <bfulgham@apple.com>

        Correct preference handling and naming conventions in AppBound browsing preferences
        https://bugs.webkit.org/show_bug.cgi?id=209031
        <rdar://problem/60396298>

        Reviewed by John Wilander.

        This patch consistently uses the correct naming scheme for WebKit Internal Debug flags.
        They should be 'WebKitDebug', not 'WebKitInternal' or 'WebKitInternalDebug'.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences isInAppBrowserPrivacyEnabled]):
        (-[WebPreferences setInAppBrowserPrivacyEnabled:]):
        (-[WebPreferences needsInAppBrowserPrivacyQuirks]):
        (-[WebPreferences setNeedsInAppBrowserPrivacyQuirks:]):

2020-03-12  youenn fablet  <youenn@apple.com>

        FrameLoader should own its FrameLoaderClient
        https://bugs.webkit.org/show_bug.cgi?id=208918

        Reviewed by Geoffrey Garen.

        Update according new Frame/FrameLoader constructors and FrameLoaderClient interface.

        * WebCoreSupport/WebFrameLoaderClient.h:
        (WebFrameLoaderClient::setWebFrame):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::~WebFrameLoaderClient):
        (WebFrameLoaderClient::cancelledError const):
        (WebFrameLoaderClient::blockedError const):
        (WebFrameLoaderClient::blockedByContentBlockerError const):
        (WebFrameLoaderClient::cannotShowURLError const):
        (WebFrameLoaderClient::interruptedForPolicyChangeError const):
        (WebFrameLoaderClient::blockedByContentFilterError const):
        (WebFrameLoaderClient::cannotShowMIMETypeError const):
        (WebFrameLoaderClient::fileDoesNotExistError const):
        (WebFrameLoaderClient::pluginWillHandleLoadError const):
        (WebFrameLoaderClient::shouldFallBack const):
        (WebFrameLoaderClient::userAgent const):
        * WebView/WebFrame.mm:
        (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
        (+[WebFrame _createMainFrameWithPage:frameName:frameView:]):
        (+[WebFrame _createMainFrameWithSimpleHTMLDocumentWithPage:frameView:style:]):
        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

2020-03-08  Darin Adler  <darin@apple.com>

        Make TextIterator::range return a SimpleRange
        https://bugs.webkit.org/show_bug.cgi?id=208797

        Reviewed by Don Olmstead.

        * WebView/WebTextIterator.mm:
        (-[WebTextIterator currentRange]): Use createLiveRange.

2020-03-09  Simon Fraser  <simon.fraser@apple.com>

        ASSERT(!m_textCheckingRequest) on editing/spelling/spellcheck-async-remove-frame.html
        https://bugs.webkit.org/show_bug.cgi?id=126606

        Reviewed by Wenson Hsieh.

        SpellChecker's sequence numbers need to be unique between frames, because they are sent out
        to EditorClient which may be one per web view, so use a static to hold the current
        sequence number.

        Also convert from int to TextCheckingSequence to make them easier to find, and use
        Markable and Optional in TextCheckingRequestData to represent the unset state.

        * WebCoreSupport/WebEditorClient.h:
        * WebCoreSupport/WebEditorClient.mm:
        (-[WebEditorSpellCheckResponder initWithClient:identifier:results:]):
        (-[WebEditorSpellCheckResponder perform]):
        (WebEditorClient::didCheckSucceed):
        (WebEditorClient::requestCheckingOfString):
        (-[WebEditorSpellCheckResponder initWithClient:sequence:results:]): Deleted.

2020-03-09  Don Olmstead  <don.olmstead@sony.com>

        Remove obsolete feature flags
        https://bugs.webkit.org/show_bug.cgi?id=208830

        Reviewed by Alex Christensen.

        Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they
        are no longer used.

        * Configurations/FeatureDefines.xcconfig:
        * WebView/WebPreferences.mm: ENABLE(WIRELESS_TARGET_PLAYBACK) -> ENABLE(WIRELESS_PLAYBACK_TARGET)
        (+[WebPreferences initialize]):
        (-[WebPreferences allowsAirPlayForMediaPlayback]):
        (-[WebPreferences setAllowsAirPlayForMediaPlayback:]):

2020-03-09  Antoine Quint  <graouts@apple.com>

        Remove the compile-time flag for Pointer Events
        https://bugs.webkit.org/show_bug.cgi?id=208821
        <rdar://problem/60223471>

        Reviewed by Dean Jackson.

        * Configurations/FeatureDefines.xcconfig:

2020-03-07  Darin Adler  <darin@apple.com>

        Begin moving off of live ranges for WebKit internals
        https://bugs.webkit.org/show_bug.cgi?id=208432

        Reviewed by Daniel Bates.

        * WebCoreSupport/WebContextMenuClient.mm: Added include.
        * WebView/WebFrame.mm: Ditto.
        (-[WebFrame _convertToNSRange:]): Initialized out arguments.

2020-03-07  Brent Fulgham  <bfulgham@apple.com>

        Create a flag to disable in-app browser quirks
        https://bugs.webkit.org/show_bug.cgi?id=208777
        <rdar://problem/60062197>

        Reviewed by Simon Fraser.

        This patch makes the following changes:

        1. Adds a new flag 'NeedsInAppBrowserPrivacyQuirks' to allow quirks to be toggled
           during testing.
        2. Reclassify this new flag, and the existing 'InAppBrowserPrivacyEnabled' flag from 
           'settings' to Internal Debug settings

        The renamed flags are covered by existing tests.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]): Add new flag.
        (-[WebPreferences needsInAppBrowserPrivacyQuirks]): Ditto.
        (-[WebPreferences setNeedsInAppBrowserPrivacyQuirks:]): Ditto.
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:

2020-03-07  Daniel Bates  <dabates@apple.com>

        [iOS] Implement support for dictation alternatives
        https://bugs.webkit.org/show_bug.cgi?id=208720
        <rdar://problem/58540114>

        Reviewed by Brent Fulgham.

        Part 3

        Guard code that requires USE(AUTOCORRECTION_PANEL) to be enabled. Specifically, -_showDictationAlternativeUI
        calls -handleAcceptedAlternativeText, but the latter is only compiled in when USE(AUTOCORRECTION_PANEL)
        is enabled.

        Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
        compiled for iOS. I will do that in a subsequent change once after all the code is in place
        to do so.

        * WebView/WebView.mm:

2020-03-05  Sam Weinig  <weinig@apple.com>

        Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h
        https://bugs.webkit.org/show_bug.cgi?id=207436
        <rdar://problem/59296762>

        Reviewed by Darin Adler.

        * Configurations/FeatureDefines.xcconfig:
        Remove JSC related defines.

2020-03-06  Simon Fraser  <simon.fraser@apple.com>

        Flaky Test: editing/spelling/spellcheck-async.html
        https://bugs.webkit.org/show_bug.cgi?id=160571

        Reviewed by Ryosuke Niwa.
        
        Second try to fix this crash; the WebEditorClient can go away before all the NSSpellChecker
        callbacks are done (which happens off the main thread), so store a WeakPtr<WebEditorClient>.
        We have to create the WeakPtr on the main thread, and it gets copied into the first block.

        * WebCoreSupport/WebEditorClient.mm:
        (-[WebEditorSpellCheckResponder initWithClient:sequence:results:]):
        (-[WebEditorSpellCheckResponder perform]):
        (WebEditorClient::requestCheckingOfString):

2020-03-06  Simon Fraser  <simon.fraser@apple.com>

        Flaky Test: editing/spelling/spellcheck-async.html
        https://bugs.webkit.org/show_bug.cgi?id=160571

        Reviewed by Tim Horton.
        
        The old code called -performSelector:target:... with an autoreleased target,
        and nothing keeps the target alive until the call to -perform on the main thread.

        Change this to a block which copies in a RetainPtr<> to make ownership clearer
        and fix the crash.

        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::requestCheckingOfString):

2020-03-06  Jer Noble  <jer.noble@apple.com>

        [GPUP] Convert CDMFactory away from platformStrategies() and use WebProcess settings instead
        https://bugs.webkit.org/show_bug.cgi?id=208699

        Reviewed by Youenn Fablet.

        Remove Legacy CDM support from WebPlatformStrategies.

        * WebCoreSupport/WebPlatformStrategies.mm:

2020-03-06  Antoine Quint  <graouts@webkit.org>

        Remove the experimental flag for Pointer Events
        https://bugs.webkit.org/show_bug.cgi?id=208655
        <rdar://problem/60090545>

        Reviewed by Dean Jackson.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences syntheticEditingCommandsEnabled]):
        (-[WebPreferences setSyntheticEditingCommandsEnabled:]):
        (-[WebPreferences pointerEventsEnabled]): Deleted.
        (-[WebPreferences setPointerEventsEnabled:]): Deleted.
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:

2020-03-05  youenn fablet  <youenn@apple.com>

        Export NowPlaying commands to GPUProcess when media playing in GPUProcess is enabled
        https://bugs.webkit.org/show_bug.cgi?id=208568

        Reviewed by Eric Carlson.

        Use in-process now playing implementation.

        * WebCoreSupport/WebPlatformStrategies.mm:

2020-03-04  Ben Nham  <nham@apple.com>

        Remove initial layout throttler
        https://bugs.webkit.org/show_bug.cgi?id=208285

        Reviewed by Antti Koivisto.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences _setLayoutInterval:]): Deleted.
        (-[WebPreferences _layoutInterval]): Deleted.
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:

2020-03-03  Devin Rousso  <drousso@apple.com>

        Web Inspector: re-add `InspectorFrontendHost` support for moving the inspected window
        https://bugs.webkit.org/show_bug.cgi?id=208555

        Reviewed by Timothy Hatcher.

        Partially revert r257759, as the design changed enough such that this code is still useful.

        Allow the Web Inspector frontend to ask the containing app (via `InspectorFrontendClient`)
        whether it supports the given docking configuration.

        * WebCoreSupport/WebInspectorClient.h:
        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorFrontendClient::startWindowDrag): Added.
        (WebInspectorFrontendClient::supportsDockSide): Added.

2020-03-03  Devin Rousso  <drousso@apple.com>

        Web Inspector: setting the frontend appearance doesn't update the window when undocked
        https://bugs.webkit.org/show_bug.cgi?id=208503

        Reviewed by Timothy Hatcher.

        Notify the UIProcess when setting the forced appearance so platforms that support dark mode
        are able to run native code to adjust the appearance of the undocked window.

        * WebCoreSupport/WebInspectorClient.h:
        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorFrontendClient::setForcedAppearance): Added.

2020-03-02  Devin Rousso  <drousso@apple.com>

        Web Inspector: Items in the toolbar take up to much vertical space
        https://bugs.webkit.org/show_bug.cgi?id=204627
        <rdar://problem/59091905>

        Reviewed by Timothy Hatcher.

        Now that there is no toolbar area, there is nothing obstructing the ability for the window
        to be moved around when dragging via the title bar area. As such, we can remove the unused
        `InspectorFrontendHost` APIs.

        * WebCoreSupport/WebInspectorClient.h:
        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorFrontendClient::startWindowDrag): Deleted.

2020-03-02  Alan Coon  <alancoon@apple.com>

        Add new Mac target numbers
        https://bugs.webkit.org/show_bug.cgi?id=208398

        Reviewed by Alexey Proskuryakov.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/Version.xcconfig:
        * Configurations/WebKitTargetConditionals.xcconfig:

2020-03-02  Rob Buis  <rbuis@igalia.com>

        Add referrerpolicy attribute support for anchors
        https://bugs.webkit.org/show_bug.cgi?id=208424

        Reviewed by Darin Adler.

        Adjust to FrameLoadRequest API change.

        * WebView/WebPDFView.mm:
        (-[WebPDFView PDFViewWillClickOnLink:withURL:]):

2020-02-29  Yusuke Suzuki  <ysuzuki@apple.com>

        Remove std::lock_guard
        https://bugs.webkit.org/show_bug.cgi?id=206451

        Reviewed by Anders Carlsson.

        * DOM/DOMInternal.mm:
        (getDOMWrapper):
        (addDOMWrapper):
        (removeDOMWrapper):

2020-02-28  Jer Noble  <jer.noble@apple.com>

        [GPUP] Implement Modern EME API in the GPU Process
        https://bugs.webkit.org/show_bug.cgi?id=208090

        Reviewed by Eric Carlson.

        Adopt changes to PlatformStrategies.

        * GPUProcess/media/RemoteMediaPlayerProxy.cpp:
        (WebKit::RemoteMediaPlayerProxy::mediaPlayerKeyNeeded):
        * GPUProcess/media/RemoteMediaPlayerProxy.h:
        * WebCoreSupport/WebPlatformStrategies.mm:

2020-02-27  Daniel Bates  <dabates@apple.com>

        Change HitTestRequestType to an OptionSet
        https://bugs.webkit.org/show_bug.cgi?id=208334

        Reviewed by Wenson Hsieh.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::actionDictionary const):
        * WebView/WebFrame.mm:
        (-[WebFrame elementAtPoint:]):
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView elementAtPoint:allowShadowContent:]):
        * WebView/WebImmediateActionController.mm:
        (-[WebImmediateActionController performHitTestAtPoint:]):

2020-02-26  Ryosuke Niwa  <rniwa@webkit.org>

        Create AudioDestination in the GPU process
        https://bugs.webkit.org/show_bug.cgi?id=208179

        Reviewed by Jer Noble.

        Added WebMediaStrategy which is a wrapper around AudioDestination::create.

        * WebCoreSupport/WebPlatformStrategies.h:
        * WebCoreSupport/WebPlatformStrategies.mm:
        (WebMediaStrategy): Added.
        (WebPlatformStrategies::createMediaStrategy):

2020-02-25  Megan Gardner  <megan_gardner@apple.com>

        Build Fix
        https://bugs.webkit.org/show_bug.cgi?id=208224
        <rdar://problem/58879500>

        Fix Build.

        Reviewed by Tim Horton.

        * WebView/WebFrameView.mm:
        (+[WebFrameView _viewTypesAllowImageTypeOmission:]):
        * WebView/WebView.mm:
        (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]): 

2020-02-25  Justin Michaud  <justin_michaud@apple.com>

        Inline Cache delete by id/val
        https://bugs.webkit.org/show_bug.cgi?id=207522

        Reviewed by Keith Miller and Filip Pizlo.

        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::removeProperty):

2020-02-25  Antti Koivisto  <antti@apple.com>

        Remove throttling code from RenderLayerCompositor
        https://bugs.webkit.org/show_bug.cgi?id=208135

        Reviewed by Zalan Bujtas.

        * WebView/WebView.mm:
        (-[WebView _scheduleRenderingUpdateForPendingTileCacheRepaint]):
        (-[WebView _scheduleLayerFlushForPendingTileCacheRepaint]): Deleted.

2020-02-24  Simon Fraser  <simon.fraser@apple.com>

        Rename the clashing WebOverlayLayer classes
        https://bugs.webkit.org/show_bug.cgi?id=208156
        rdar://problem/59739250

        Reviewed by Tim Horton.

        The name WebOverlayLayer was used in two places. Rename them both to more specific names.

        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController init]):
        (-[WebOverlayLayer layoutSublayers]): Deleted.

2020-02-22  Darin Adler  <darin@apple.com>

        Fix some include mistakes and make some coding style tweaks to WebKit and WebKitTestRunner
        https://bugs.webkit.org/show_bug.cgi?id=208099

        Reviewed by Antti Koivisto.

        * DOM/DOMDocument.mm: Removed unneeded includes and re-sorted.
        * DOM/DOMDocumentFragment.mm: Ditto.
        * DOM/DOMHTMLFieldSetElement.mm: Ditto.

2020-02-22  Jer Noble  <jer.noble@apple.com>

        Stop using QTKit for rendering WK1 video fullscreen controls
        https://bugs.webkit.org/show_bug.cgi?id=207795
        <rdar://problem/48894915>

        Reviewed by Jon Lee.

        Switch to using AVPlayerView instead of QTHUD to render our fullscreen controls.

        In addition, switch to a modern NSWindow fullscreen API, with custom, smooth animations which 
        move the fullscreen window to a separate space. This requires subclassing AVPlayerView so that
        fullscreen toggling will signal to the controller, so that our fullscreen button and the inline
        version of same don't get out of sync. Because AVPlayerView requires an AVPlayer in order to
        display the video layer, and we won't necessarily have an AVPlayer for MSE-backed videos, instead
        install a custom overlay view inside the AVPlayerView in which to host the fullscreen video layer.

        * WebView/WebVideoFullscreenController.h:
        * WebView/WebVideoFullscreenController.mm:
        (-[WebOverlayLayer layoutSublayers]):
        (WebAVPlayerView_delegate):
        (WebAVPlayerView_setDelegate):
        (WebAVPlayerView_isFullScreen):
        (WebAVPlayerView_enterFullScreen):
        (WebAVPlayerView_exitFullScreen):
        (allocWebAVPlayerViewInstance):
        (-[WebVideoFullscreenController init]):
        (-[WebVideoFullscreenController dealloc]):
        (-[WebVideoFullscreenController fullscreenWindow]):
        (-[WebVideoFullscreenController windowDidLoad]):
        (-[WebVideoFullscreenController setVideoElement:]):
        (-[WebVideoFullscreenController enterFullscreen:]):
        (-[WebVideoFullscreenController exitFullscreen]):
        (-[WebVideoFullscreenController applicationDidResignActive:]):
        (-[WebVideoFullscreenController _requestExit]):
        (-[WebVideoFullscreenController _requestEnter]):
        (-[WebVideoFullscreenController cancelOperation:]):
        (-[WebVideoFullscreenController playerViewIsFullScreen:]):
        (-[WebVideoFullscreenController playerViewRequestEnterFullscreen:]):
        (-[WebVideoFullscreenController playerViewRequestExitFullscreen:]):
        (-[WebVideoFullscreenController customWindowsToEnterFullScreenForWindow:]):
        (-[WebVideoFullscreenController window:startCustomAnimationToEnterFullScreenWithDuration:]):
        (-[WebVideoFullscreenController customWindowsToExitFullScreenForWindow:]):
        (-[WebVideoFullscreenController window:startCustomAnimationToExitFullScreenWithDuration:]):
        (-[WebVideoFullscreenController windowDidEnterFullScreen:]):
        (-[WebVideoFullscreenController windowWillExitFullScreen:]):
        (-[WebVideoFullscreenController windowDidExitFullScreen:]):
        (-[WebVideoFullscreenController clearFadeAnimation]): Deleted.
        (-[WebVideoFullscreenController windowDidExitFullscreen]): Deleted.
        (-[WebVideoFullscreenController windowDidEnterFullscreen]): Deleted.
        (frameExpandedToRatioOfFrame): Deleted.
        (createBackgroundFullscreenWindow): Deleted.
        (-[WebVideoFullscreenController setupFadeAnimationIfNeededAndFadeIn:]): Deleted.
        (-[WebVideoFullscreenController applicationDidChangeScreenParameters:]): Deleted.
        (-[WebVideoFullscreenController updateMenuAndDockForFullscreen]): Deleted.
        (-[WebVideoFullscreenController requestExitFullscreenWithAnimation:]): Deleted.
        (-[WebVideoFullscreenController requestExitFullscreen]): Deleted.
        (-[WebVideoFullscreenController fadeHUDIn]): Deleted.
        (-[WebVideoFullscreenController observeValueForKeyPath:ofObject:change:context:]): Deleted.
        (-[WebVideoFullscreenController rateChanged:]): Deleted.
        (-[WebVideoFullscreenWindow initWithContentRect:styleMask:backing:defer:]): Deleted.
        (-[WebVideoFullscreenWindow dealloc]): Deleted.
        (-[WebVideoFullscreenWindow resignFirstResponder]): Deleted.
        (-[WebVideoFullscreenWindow canBecomeKeyWindow]): Deleted.
        (-[WebVideoFullscreenWindow mouseDown:]): Deleted.
        (-[WebVideoFullscreenWindow cancelOperation:]): Deleted.
        (-[WebVideoFullscreenWindow animatedResizeDidEnd]): Deleted.
        (-[WebVideoFullscreenWindow animateFromRect:toRect:withSubAnimation:controllerAction:]): Deleted.
        (-[WebVideoFullscreenWindow animationDidEnd:]): Deleted.
        (-[WebVideoFullscreenWindow mouseMoved:]): Deleted.
        * WebView/WebVideoFullscreenHUDWindowController.h: Removed.
        * WebView/WebVideoFullscreenHUDWindowController.mm: Removed.

2020-02-21  Wenson Hsieh  <wenson_hsieh@apple.com>

        [macOS] Large form controls are rendered at the wrong NSControlSize
        https://bugs.webkit.org/show_bug.cgi?id=208043
        <rdar://problem/59659134>

        Reviewed by Tim Horton.

        See WebCore ChangeLog for more details.

        * WebCoreSupport/PopupMenuMac.mm:
        (PopupMenuMac::show):

2020-02-21  Daniel Bates  <dabates@apple.com>

        [iOS][Legacy WebKit] Expose SPI for Page::revealCurrentSelection()
        https://bugs.webkit.org/show_bug.cgi?id=207960
        <rdar://problem/59604163>

        Reviewed by Wenson Hsieh.

        Together with <https://bugs.webkit.org/show_bug.cgi?id=207955> this allows a client to reveal
        the current selection when it's ready to do so.

        * WebView/WebView.mm:
        (-[WebView revealCurrentSelection]): Added.
        * WebView/WebViewPrivate.h:

2020-02-20  Megan Gardner  <megan_gardner@apple.com>

        Expose caret color for clients
        https://bugs.webkit.org/show_bug.cgi?id=207963
        <rdar://problem/57383170>

        Reviewed by Daniel Bates.

        Expose caret color for clients to use.

        * WebView/WebFrame.mm:
        (-[WebFrame textInsertionColor]):
        * WebView/WebFramePrivate.h:

2020-02-19  Daniel Bates  <dabates@apple.com>

        [iOS][LegacyWebKit] Override EditorClient::shouldRevealCurrentSelectionAfterInsertion()
        https://bugs.webkit.org/show_bug.cgi?id=207955
        <rdar://problem/59602916>

        Reviewed by Wenson Hsieh.

        Wire up EditorClient::shouldRevealCurrentSelectionAfterInsertion() in Legacy WebKit. This
        allows Legacy WebKit clients to toggle whether the current selection is revealed after
        an insertion, which they may want to do to achieve a desired UI effect.

        * WebCoreSupport/WebEditorClient.h:
        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::shouldRevealCurrentSelectionAfterInsertion const): Added. Ask the _UIKitDelegateForwarder
        if it responds to -shouldRevealCurrentSelectionAfterInsertion. If it does then return its
        response. Otherwise, return true to do what we do now: reveal the current selection after
        an insertion.

2020-02-18  Simon Fraser  <simon.fraser@apple.com>

        Move from "layer flush" terminology to "rendering update"
        https://bugs.webkit.org/show_bug.cgi?id=207870

        Reviewed by Tim Horton.

        Rename various functions and member variables to move away from the legacy "layer flush"
        terminology and instead use "rendering update", matching Page::updateRendering(). The fact
        that we have layers is an implementation detail.
        
        Change LayerFlushThrottlingState to be an OptionSet<>.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::scheduleRenderingUpdate):
        (WebChromeClient::scheduleCompositingLayerFlush): Deleted.
        * WebView/WebView.mm:
        (-[WebView _scheduleUpdateRendering]):
        (-[WebView _scheduleCompositingLayerFlush]): Deleted.
        * WebView/WebViewData.h:
        * WebView/WebViewInternal.h:

2020-02-14  Jon Lee  <jonlee@apple.com>

        Mask WebGL strings
        https://bugs.webkit.org/show_bug.cgi?id=207608

        Reviewed by Dean Jackson.

        Test: platform/mac/webgl/fingerprinting-strings.html

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:

2020-02-13  Said Abou-Hallawa  <said@apple.com>

        Unreviewed, rolling out r255158, 255405 and r255486

        Caused test flakiness and PLT regression.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences renderingUpdateThrottlingEnabled]): Deleted.
        (-[WebPreferences setRenderingUpdateThrottlingEnabled:]): Deleted.
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-02-12  Truitt Savell  <tsavell@apple.com>

        Unreviewed, rolling out r256463.

        Caused major flakiness on Mac wk2

        Reverted changeset:

        "REGRESSION (r255158): http/tests/frame-throttling/raf-
        throttle-in-cross-origin-subframe.html is a flaky failure"
        https://bugs.webkit.org/show_bug.cgi?id=206839
        https://trac.webkit.org/changeset/256463

2020-02-12  Simon Fraser  <simon.fraser@apple.com>

        Remove CSS_DEVICE_ADAPTATION
        https://bugs.webkit.org/show_bug.cgi?id=203479

        Reviewed by Tim Horton.

        CSS Working Group resolved to remove @viewport <https://github.com/w3c/csswg-drafts/issues/4766>,
        so remove the code.

        * Configurations/FeatureDefines.xcconfig:
        * DOM/DOMCSS.mm:
        (kitClass):

2020-02-12  Said Abou-Hallawa  <said@apple.com>

        REGRESSION (r255158): http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html is a flaky failure
        https://bugs.webkit.org/show_bug.cgi?id=206839

        Reviewed by Simon Fraser.

        Remove the WKPreference key 'RenderingUpdateThrottlingEnabled'.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences renderingUpdateThrottlingEnabled]): Deleted.
        (-[WebPreferences setRenderingUpdateThrottlingEnabled:]): Deleted.
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-02-10  Daniel Bates  <dabates@apple.com>

        Disallow setting base URL to a data or JavaScript URL
        https://bugs.webkit.org/show_bug.cgi?id=207136

        Reviewed by Brent Fulgham.

        Apply base URL restrictions to apps linked to a future WebKit to avoid breaking existing apps.

        * Misc/WebKitVersionChecks.h:
        * WebView/WebView.mm:
        (shouldRestrictBaseURLSchemes): Added.
        (-[WebView _commonInitializationWithFrameName:groupName:]): Update settings.

2020-02-10  Truitt Savell  <tsavell@apple.com>

        Unreviewed, rolling out r256091.

        Broke internal builds

        Reverted changeset:

        "Move trivial definitions from FeatureDefines.xcconfig to
        PlatformEnableCocoa.h"
        https://bugs.webkit.org/show_bug.cgi?id=207155
        https://trac.webkit.org/changeset/256091

2020-02-10  Truitt Savell  <tsavell@apple.com>

        Unreviewed, rolling out r256103.

        This patch is blocking the rollout of r256091

        Reverted changeset:

        "Move JavaScriptCore related feature defines from
        FeatureDefines.xcconfig to PlatformEnableCocoa.h"
        https://bugs.webkit.org/show_bug.cgi?id=207436
        https://trac.webkit.org/changeset/256103

2020-02-09  Keith Rollin  <krollin@apple.com>

        Re-enable LTO for ARM builds
        https://bugs.webkit.org/show_bug.cgi?id=207402
        <rdar://problem/49190767>

        Reviewed by Sam Weinig.

        Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
        Enabling it for ARM was left out due to a compiler issue. That issue
        has been fixed, and so now we can re-enable LTO for ARM.

        * Configurations/Base.xcconfig:

2020-02-08  Sam Weinig  <weinig@apple.com>

        Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h
        https://bugs.webkit.org/show_bug.cgi?id=207436

        Reviewed by Tim Horton.

        * Configurations/FeatureDefines.xcconfig:
        Remove ENABLE_FAST_JIT_PERMISSIONS and ENABLE_FTL_JIT.

2020-02-08  Sam Weinig  <weinig@apple.com>

        Move trivial definitions from FeatureDefines.xcconfig to PlatformEnableCocoa.h
        https://bugs.webkit.org/show_bug.cgi?id=207155

        Reviewed by Tim Horton.

        Move all trivial definitions (just ENABLE_FOO = ENABLE_FOO; or ENABLE_BAR = ;)
        from the FeatureDefines.xcconfigs to PlatformEnableCocoa.h, ensuring each one
        also has a default value in PlatformEnable.h

        To support the move, DerivedSources.make has been updated to generate the list 
        of ENABLE_* features by directly from preprocessing  Platform.h, rather than 
        just getting the partial list from the xcconfig file.

        * Configurations/FeatureDefines.xcconfig:
        * MigrateHeaders.make:

2020-02-07  Jon Lee  <jonlee@apple.com>

        Web Inspector: Revert slim toolbar
        https://bugs.webkit.org/show_bug.cgi?id=207422

        Reviewed by Timothy Hatcher.

        The slim toolbar needs a little more work before landing.

        This patch reverts r255547, r255557, r255890, r255892, r255893, r255901, r255980.

        * WebCoreSupport/WebInspectorClient.h:
        * WebCoreSupport/WebInspectorClient.mm:

2020-02-07  Chris Dumez  <cdumez@apple.com>

        [Hardening] Validate Geolocation access permission on UIProcess side
        https://bugs.webkit.org/show_bug.cgi?id=207393
        <rdar://problem/56816051>

        Reviewed by Brent Fulgham.

        * WebCoreSupport/WebGeolocationClient.h:
        * WebCoreSupport/WebGeolocationClient.mm:
        (WebGeolocationClient::startUpdating):
        (WebGeolocationClient::requestPermission):
        (-[WebGeolocationPolicyListener allow]):
        (-[WebGeolocationPolicyListener deny]):

2020-02-07  Alex Christensen  <achristensen@apple.com>

        Remember if we used legacy TLS in the back/forward cache like we remember if we have only secure content
        https://bugs.webkit.org/show_bug.cgi?id=207409
        rdar://problem/59275641

        Reviewed by Chris Dumez.

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::dispatchDidCommitLoad):

2020-02-07  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r256051.

        Broke internal builds.

        Reverted changeset:

        "Move trivial definitions from FeatureDefines.xcconfig to
        PlatformEnableCocoa.h"
        https://bugs.webkit.org/show_bug.cgi?id=207155
        https://trac.webkit.org/changeset/256051

2020-02-07  Daniel Bates  <dabates@apple.com>

        Legacy WebKit: Have linkedOnOrAfter() respect the NSDefault WebKitLinkedOnOrAfterEverything and opt DumpRenderTree in
        https://bugs.webkit.org/show_bug.cgi?id=207366

        Reviewed by Brent Fulgham.

        If the user default WebKitLinkedOnOrAfterEverything is enabled then have linkedOnOrAfter()
        always return true.

        * Misc/WebKitVersionChecks.mm:
        (linkedOnOrAfter): Read the user default WebKitLinkedOnOrAfterEverything once and cache it.
        If the default is enabled then early return true. Outside of tooling this default is unlikely
        to be set.

2020-02-07  Sam Weinig  <weinig@apple.com>

        Move trivial definitions from FeatureDefines.xcconfig to PlatformEnableCocoa.h
        https://bugs.webkit.org/show_bug.cgi?id=207155

        Reviewed by Tim Horton.

        Move all trivial definitions (just ENABLE_FOO = ENABLE_FOO; or ENABLE_BAR = ;)
        from the FeatureDefines.xcconfigs to PlatformEnableCocoa.h, ensuring each one
        also has a default value in PlatformEnable.h

        To support the move, DerivedSources.make has been updated to generate the list 
        of ENABLE_* features by directly from preprocessing  Platform.h, rather than 
        just getting the partial list from the xcconfig file.

        * Configurations/FeatureDefines.xcconfig:
        * MigrateHeaders.make:

2020-02-06  Brent Fulgham  <bfulgham@apple.com>

        Prevent navigating top level frames to Data URLs
        https://bugs.webkit.org/show_bug.cgi?id=206962
        <rdar://problem/56770676>

        Reviewed by Youenn Fablet.

        Expose a new off-by-default preference to allow top-level navigation to Data URIs.

        Tests:  fast/loader/data-url-frame-allowed.html, fast/loader/data-url-load-denied.html

        * WebCoreSupport/WebInspectorClient.mm:
        (-[WebInspectorWindowController init]):
        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences allowTopNavigationToDataURLs]):
        (-[WebPreferences setAllowTopNavigationToDataURLs:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-02-01  Devin Rousso  <drousso@apple.com>

        Web Inspector: move the items in the toolbar into the tab bar to save vertical space
        https://bugs.webkit.org/show_bug.cgi?id=204627

        Reviewed by Timothy Hatcher.

        Now that there is no toolbar area, there is nothing obstructing the ability for the window
        to be moved around when dragging via the title bar area. As such, we can remove the unused
        `InspectorFrontendHost` APIs.

        * WebCoreSupport/WebInspectorClient.h:
        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorFrontendClient::startWindowDrag): Deleted.

2020-01-31  Wenson Hsieh  <wenson_hsieh@apple.com>

        Add support for specifying background colors when setting marked text
        https://bugs.webkit.org/show_bug.cgi?id=207065
        <rdar://problem/57876140>

        Reviewed by Tim Horton.

        Adjust some call sites of Editor::setComposition().

        * WebView/WebFrame.mm:
        (-[WebFrame setMarkedText:selectedRange:]):
        (-[WebFrame setMarkedText:forCandidates:]):
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView setMarkedText:selectedRange:]):

2020-01-31  Antoine Quint  <graouts@apple.com>

        [WK1] hiddenPageCSSAnimationSuspensionEnabled should be enabled by default for Cocoa platforms
        https://bugs.webkit.org/show_bug.cgi?id=207042
        <rdar://problem/58934778>

        Reviewed by Zalan Bujtas.

        While HiddenPageCSSAnimationSuspensionEnabled is specified in WebPreferences.yaml to default to DEFAULT_HIDDEN_PAGE_CSS_ANIMATION_SUSPENSION_ENABLED,
        which is defined to be true on Cocoa platforms in WebPreferencesDefaultValues.h, it is hard-coded to @NO in WK1 although clearly the intent is for
        this preference to be enabled. So we switch that default value in WK1 as well.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

2020-01-30  Alex Christensen  <achristensen@webkit.org>

        Add WKNavigationDelegate SPI to disable TLS 1.0 and 1.1
        https://bugs.webkit.org/show_bug.cgi?id=206979

        Reviewed by Brady Eidson.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):

2020-01-29  Tim Horton  <timothy_horton@apple.com>

        Null deref under -[WebFrame isTelephoneNumberParsingAllowed]
        https://bugs.webkit.org/show_bug.cgi?id=206921

        Reviewed by Anders Carlsson.

        * WebView/WebFrame.mm:
        (-[WebFrame isTelephoneNumberParsingAllowed]):
        (-[WebFrame isTelephoneNumberParsingEnabled]):
        DataDetectors can hold on to a WebFrame on an operation queue before
        calling into these methods. In the meantime, it is possible for the
        WebView to be closed, resulting in a null core Frame.
        This is not reproducible in a test app, but a speculative fix seems fine.

2020-01-27  Antoine Quint  <graouts@apple.com>

        [Web Animations] Make Animation.timeline read-write only if a runtime flag is enabled
        https://bugs.webkit.org/show_bug.cgi?id=206173
        <rdar://problem/58527432>

        Reviewed by Dean Jackson.

        Add a new WebAnimationsMutableTimelines runtime flag.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences webAnimationsMutableTimelinesEnabled]):
        (-[WebPreferences setWebAnimationsMutableTimelinesEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-01-27  Simon Fraser  <simon.fraser@apple.com>

        REGRESSION (r253634): cricbuzz.com media controls vanish depending on page scale
        https://bugs.webkit.org/show_bug.cgi?id=206788
        rdar://problem/58780584

        Reviewed by Tim Horton.

        r253634 changed "delegatesPageScaling"'" to a flag on ScrollView. However, this changed behavior
        for subframes; Settings are propagated down, but only the main ScrollView had delegatesPageScaling
        set on it.
        
        "delegatesPageScaling" is a page-level thing (subframes don't independently zoom), so it
        should live on Page. Move it there.
        
        The bug was triggered by incorrectly taking page scale into account for rects in the compositing
        overlap map (see RenderLayerCompositor::addToOverlapMap()) in subframes, and those rects
        changing on zoom.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::transitionToCommittedForNewPage):

2020-01-27  Devin Rousso  <drousso@apple.com>

        Web Inspector: unable to evaluate in the isolated world of content scripts injected by safari app extensions
        https://bugs.webkit.org/show_bug.cgi?id=206110
        <rdar://problem/16945643>

        Reviewed by Timothy Hatcher, Joseph Pecoraro, and Brian Burg.

        In addition to evaluating in subframe execution contexts, add the ability for Web Inspector
        to evaluate in non-normal isolated worlds.

        * WebView/WebScriptWorld.mm:
        (-[WebScriptWorld init]):
        Treat isolated worlds created by API calls as `User` worlds.

2020-01-27  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Throttling requestAnimationFrame should be controlled by RenderingUpdateScheduler
        https://bugs.webkit.org/show_bug.cgi?id=204713

        Reviewed by Simon Fraser.

        Add a WKPreference key for RenderingUpdateThrottling.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences renderingUpdateThrottlingEnabled]):
        (-[WebPreferences setRenderingUpdateThrottlingEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-01-27  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r255131.

        Caused assertion failures on iOS debug bots.

        Reverted changeset:

        "Throttling requestAnimationFrame should be controlled by
        RenderingUpdateScheduler"
        https://bugs.webkit.org/show_bug.cgi?id=204713
        https://trac.webkit.org/changeset/255131

2020-01-27  Cathie Chen  <cathiechen@igalia.com>

        The value of AspectRatioOfImgFromWidthAndHeight for legacy mac isn't correct
        https://bugs.webkit.org/show_bug.cgi?id=206822

        Reviewed by Frédéric Wang.

        The value should be WebKitAspectRatioOfImgFromWidthAndHeightEnabled

        * WebView/WebPreferenceKeysPrivate.h:

2020-01-26  Said Abou-Hallawa  <said@apple.com>

        Throttling requestAnimationFrame should be controlled by RenderingUpdateScheduler
        https://bugs.webkit.org/show_bug.cgi?id=204713

        Reviewed by Simon Fraser.

        Add a WKPreference key for RenderingUpdateThrottling.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences renderingUpdateThrottlingEnabled]):
        (-[WebPreferences setRenderingUpdateThrottlingEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-01-25  Antti Koivisto  <antti@apple.com>

        [LFC][Integration] Re-enable line layout integration
        https://bugs.webkit.org/show_bug.cgi?id=206795
        <rdar://problem/58853907>

        Reviewed by Zalan Bujtas.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

2020-01-22  Daniel Bates  <dabates@apple.com>

        Legacy WebKit: Add SPI variant of -setSelectedDOMRange that can perform the selection as if triggered by the user
        https://bugs.webkit.org/show_bug.cgi?id=206622

        Reviewed by Wenson Hsieh.

        Add a new -setSelectedDOMRange SPI variant that takes a boolean to indicate whether the selection
        was triggered by the user.

        While I am here, I simplified and modernized the code. This includes moving the null check of
        Frame::page() to the top of the function. This let me eliminate the null check for Frame::view()
        because every frame that has a page must have a non-null view. I imported WebEditorClient.h
        to get WebKit::core(NSSelectionAffinity) and remove a C-style cast to WebCore::EAffinity.
        I also used more "auto".

        * WebView/WebFrame.mm:
        (-[WebFrame setSelectedDOMRange:affinity:closeTyping:]): Modified to call the newly added variant,
        passing "userTriggered:NO" to keep the current behavior.
        (-[WebFrame setSelectedDOMRange:affinity:closeTyping:userTriggered:]): Added.
        * WebView/WebFramePrivate.h:

2020-01-22  Zalan Bujtas  <zalan@apple.com>

        REGRESSION (r254923): [mac-wk1] http/tests/inspector/network/har/har-page.html crashing in WebCore::Display::Box::contentBox()
        https://bugs.webkit.org/show_bug.cgi?id=206600

        Unreviewed.

        r254923 missed this one place to turn off LFC integration.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

2020-01-21  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Make RenderingMode and AlphaPremultiplication enum classes and move them to separate headers
        https://bugs.webkit.org/show_bug.cgi?id=206516

        Reviewed by Tim Horton.

        * WebCoreSupport/WebContextMenuClient.mm:
        (WebContextMenuClient::imageForCurrentSharingServicePickerItem):

2020-01-21  Daniel Bates  <dabates@apple.com>

        Add Legacy WebKit SPI and WebKit IPI to show and hide placeholder
        https://bugs.webkit.org/show_bug.cgi?id=206459
        <rdar://problem/58700534>

        Reviewed by Wenson Hsieh.

        Add Legacy WebKit SPI to allow a client to control whether the placeholder can be shown or
        not when a form control is empty. This is for aesthetics.

        * DOM/DOMHTMLInputElement.mm:
        (-[DOMHTMLInputElement canShowPlaceholder]): Added.
        (-[DOMHTMLInputElement setCanShowPlaceholder:]): Added.
        * DOM/DOMHTMLInputElementPrivate.h:
        * DOM/DOMHTMLTextAreaElement.mm:
        (-[DOMHTMLTextAreaElement canShowPlaceholder]): Added.
        (-[DOMHTMLTextAreaElement setCanShowPlaceholder:]): Added.
        * DOM/DOMHTMLTextAreaElementPrivate.h:

2020-01-21  Rob Buis  <rbuis@igalia.com>

        Add build flag for stale-while-revalidate
        https://bugs.webkit.org/show_bug.cgi?id=204169

        Reviewed by Youenn Fablet.

        * Configurations/FeatureDefines.xcconfig:

2020-01-21  Sihui Liu  <sihui_liu@apple.com>

        Disable WebSQL everywhere by default except in tests
        https://bugs.webkit.org/show_bug.cgi?id=204907

        Reviewed by Ryosuke Niwa.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences webSQLEnabled]):
        (-[WebPreferences setWebSQLEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-01-20  David Kilzer  <ddkilzer@apple.com>

        Fix missing header guards and clean up empty files in WebCore, WebKitLegacy, WebKit, Tools
        <https://webkit.org/b/206505>

        Reviewed by Eric Carlson.

        * Misc/WebKitStatisticsPrivate.h:
        * Misc/WebLocalizableStrings.h: Modernize __OBJC__ and
         __cplusplus checks.
        * Misc/WebTypesInternal.h:
        * WebView/WebMediaPlaybackTargetPicker.h:
        - Add #pragma once statement.

2020-01-17  Cathie Chen  <cathiechen@igalia.com>

        Add support for scroll behavior parsing
        https://bugs.webkit.org/show_bug.cgi?id=205009

        Reviewed by Frédéric Wang.

        Based on the patch by Frédéric Wang.

        Add run time flag for CSSOMViewSmoothScrolling.

        * WebView/WebPreferenceKeysPrivate.h: Handle CSSOMViewSmoothScrolling by.
        * WebView/WebPreferences.mm:
        ([WebPreferences initialize]): Disable CSSOMViewSmoothScrolling by default.
        (-[WebPreferences CSSOMViewSmoothScrollingEnabled]): Getter.
        (-[WebPreferences setCSSOMViewSmoothScrollingEnabled:]): Setter.
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-01-16  David Kilzer  <ddkilzer@apple.com>

        Enable -Wconditional-uninitialized in WebInspectorUI, WebKitLegacy, WebKit projects
        <https://webkit.org/b/206270>
        <rdar://problem/58589767>

        Reviewed by Tim Horton.

        * Configurations/Base.xcconfig:
        (WARNING_CFLAGS): Add -Wconditional-uninitialized switch.
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
        Initialize `slot` stack variable.
        * WebView/WebPDFDocumentExtras.mm:
        (allScriptsInPDFDocument): Initialize `length` stack variable.
        Also add check that `length` is non-zero.

2020-01-16  Cathie Chen  <cathiechen@igalia.com>

        Mapping HTML attributes width/height to the default aspect ratio of <img>
        https://bugs.webkit.org/show_bug.cgi?id=201641

        Reviewed by Frédéric Wang

        Add experimental flag: AspectRatioOfImgFromWidthAndHeightEnabled.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        ([WebPreferences initialize]):
        (-[WebPreferences aspectRatioOfImgFromWidthAndHeightEnabled]):
        (-[WebPreferences setAspectRatioOfImgFromWidthAndHeightEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-01-14  Antti Koivisto  <antti@apple.com>

        [LFC][Integration] Support the feature flag in DumpRenderTree
        https://bugs.webkit.org/show_bug.cgi?id=206218

        Reviewed by Zalan Bujtas.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences layoutFormattingContextIntegrationEnabled]):
        (-[WebPreferences setLayoutFormattingContextIntegrationEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2020-01-09  Tim Horton  <timothy_horton@apple.com>

        Adopt TARGET_OS_MACCATALYST in more places
        https://bugs.webkit.org/show_bug.cgi?id=206040
        <rdar://problem/57127108>

        Reviewed by Simon Fraser.

        * Misc/WebDownload.h:

2020-01-08  Yusuke Suzuki  <ysuzuki@apple.com>

        Reduce binary size by purging C++ type information in Objective-C fields and parameters
        https://bugs.webkit.org/show_bug.cgi?id=205905

        Reviewed by Saam Barati.

        * Plugins/WebBaseNetscapePluginView.h:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView element]):
        * WebCoreSupport/WebEditorClient.mm:
        (_WebCreateFragment):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::transitionToCommittedForNewPage):
        (-[WebFramePolicyListener initWithFrame:identifier:policyFunction:defaultPolicy:]):
        (-[WebFramePolicyListener initWithFrame:identifier:policyFunction:defaultPolicy:appLinkURL:]):
        * WebCoreSupport/WebGeolocationClient.mm:
        (-[WebGeolocationPolicyListener initWithGeolocation:]):
        (-[WebGeolocationPolicyListener initWithGeolocation:forWebView:]):
        (-[WebGeolocationProviderInitializationListener initWithGeolocation:]):
        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorFrontendClient::resetState):
        (-[WebInspectorWindowController setFrontendClient:]):
        (-[WebInspectorWindowController setInspectorClient:]):
        (-[WebInspectorWindowController inspectorClient]):
        * WebInspector/WebInspectorFrontend.h:
        * WebInspector/WebInspectorFrontend.mm:
        * WebInspector/WebNodeHighlight.h:
        * WebInspector/WebNodeHighlight.mm:
        (-[WebNodeHighlight initWithTargetView:inspectorController:]):
        * WebView/WebArchive.mm:
        (-[WebArchive initWithMainResource:subresources:subframeArchives:]):
        * WebView/WebDataSource.mm:
        (-[WebDataSource _documentLoader]):
        (-[WebDataSource addSubresource:]):
        * WebView/WebDataSourceInternal.h:
        * WebView/WebFrame.mm:
        (getWebView):
        (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
        (-[WebFrame _unmarkAllBadGrammar]):
        (-[WebFrame _unmarkAllMisspellings]):
        (-[WebFrame _hasSelection]):
        (-[WebFrame _atMostOneFrameHasSelection]):
        (-[WebFrame _findFrameWithSelection]):
        (-[WebFrame _scrollDOMRangeToVisible:withInset:]):
        (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]):
        (-[WebFrame _documentFragmentWithNodesAsParagraphs:]):
        (-[WebFrame _canProvideDocumentSource]):
        (-[WebFrame _isDescendantOfFrame:]):
        (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
        (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
        (-[WebFrame setTimeoutsPaused:]):
        (-[WebFrame prepareForPause]):
        (-[WebFrame resumeFromPause]):
        (-[WebFrame resetTextAutosizingBeforeLayout]):
        (-[WebFrame _globalContextForScriptWorld:]):
        (-[WebFrame _layerTreeAsText]):
        (-[WebFrame _clearOpener]):
        (-[WebFrame focusedNodeHasContent]):
        (-[WebFrame _dispatchDidReceiveTitle:]):
        (-[WebFrame jsWrapperForNode:inScriptWorld:]):
        (-[WebFrame elementAtPoint:]):
        (-[WebFrame name]):
        (-[WebFrame DOMDocument]):
        (-[WebFrame frameElement]):
        (-[WebFrame provisionalDataSource]):
        (-[WebFrame dataSource]):
        (-[WebFrame loadRequest:]):
        (-[WebFrame findFrameNamed:]):
        (-[WebFrame parentFrame]):
        (-[WebFrame childFrames]):
        (-[WebFrame windowObject]):
        (-[WebFrame globalContext]):
        (-[WebFrame javaScriptContext]):
        * WebView/WebFrameInternal.h:
        * WebView/WebFrameView.mm:
        (-[WebFrameView _web_frame]):
        (-[WebFrameView _frameSizeChanged]):
        (-[WebFrameView _isVerticalDocument]):
        (-[WebFrameView _isFlippedDocument]):
        (-[WebFrameView keyDown:keyDown:]):
        * WebView/WebFullScreenController.mm:
        (-[WebFullScreenController _document]):
        * WebView/WebHTMLView.mm:
        (-[WebMenuTarget menuController]):
        (-[WebMenuTarget setMenuController:]):
        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
        (-[WebHTMLView _interpretKeyEvent:savingCommands:]):
        (-[WebHTMLView setPromisedDragTIFFDataSource:]):
        * WebView/WebHTMLViewInternal.h:
        * WebView/WebNotification.mm:
        (-[WebNotification initWithCoreNotification:notificationID:]):
        * WebView/WebNotificationInternal.h:
        * WebView/WebResource.mm:
        (-[WebResource _coreResource]):
        * WebView/WebResourceInternal.h:
        * WebView/WebVideoFullscreenController.h:
        * WebView/WebVideoFullscreenController.mm:
        (-[WebVideoFullscreenController videoElement]):
        (-[WebVideoFullscreenController setVideoElement:]):
        * WebView/WebVideoFullscreenHUDWindowController.h:
        * WebView/WebView.mm:
        (-[WebView page]):
        (-[WebView _enterVideoFullscreenForVideoElement:mode:]):
        (-[WebView _setUpPlaybackControlsManagerForMediaElement:]):
        (-[WebView _supportsFullScreenForElement:withKeyboard:]):
        (-[WebView _enterFullScreenForElement:]):
        (-[WebView _exitFullScreenForElement:]):
        * WebView/WebViewInternal.h:

2020-01-08  youenn fablet  <youenn@apple.com>

        Implement MediaRecorder backend in GPUProcess
        https://bugs.webkit.org/show_bug.cgi?id=205802

        Reviewed by Eric Carlson.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

2020-01-07  Said Abou-Hallawa  <sabouhallawa@apple.com>

        Implement css3-images image-orientation
        https://bugs.webkit.org/show_bug.cgi?id=89052

        Reviewed by Simon Fraser.

        Remove the ENABLE_CSS_IMAGE_ORIENTATION feature flag.

        * Configurations/FeatureDefines.xcconfig:

2020-01-07  Chris Dumez  <cdumez@apple.com>

        Remove document.origin
        https://bugs.webkit.org/show_bug.cgi?id=205681

        Reviewed by Geoffrey Garen.

        * DOM/DOMDocument.mm:
        (-[DOMDocument origin]):

2020-01-07  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r254132.
        https://bugs.webkit.org/show_bug.cgi?id=205868

        It is breaking WinCairo build and internal builds. (Requested
        by youenn on #webkit).

        Reverted changeset:

        "Implement MediaRecorder backend in GPUProcess"
        https://bugs.webkit.org/show_bug.cgi?id=205802
        https://trac.webkit.org/changeset/254132

2020-01-07  youenn fablet  <youenn@apple.com>

        Implement MediaRecorder backend in GPUProcess
        https://bugs.webkit.org/show_bug.cgi?id=205802

        Reviewed by Eric Carlson.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

2020-01-07  Carlos Garcia Campos  <cgarcia@igalia.com>

        [GTK][WPE] Add API to set purpose and hints of active editable element to input methods
        https://bugs.webkit.org/show_bug.cgi?id=205605

        Reviewed by Žan Doberšek.

        * DOM/DOMHTMLElement.mm: Use ENABLE(AUTOCORRECT) and ENABLE(AUTOCAPITALIZE).
        * WebCoreSupport/WebEditorClient.h: Update tom the new API to WebEditorClient::setInputMethodState.
        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::setInputMethodState): Ditto.

2020-01-07  Chris Fleizach  <cfleizach@apple.com>

        AX: Enable ACCESSIBILITY_ISOLATED_TREE
        https://bugs.webkit.org/show_bug.cgi?id=205535
        <rdar://problem/58131075>

        Reviewed by Zalan Bujtas.

        * Configurations/FeatureDefines.xcconfig:

2020-01-06  Mark Lam  <mark.lam@apple.com>

        Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
        https://bugs.webkit.org/show_bug.cgi?id=205776

        Reviewed by Saam Barati.

        * History/WebHistory.mm:
        (-[WebHistoryPrivate removeItemForURLString:]):
        * WebView/WebFrame.mm:

2020-01-06  Antoine Quint  <graouts@apple.com>

        [Web Animations] Enable CSS Animations via Web Animations for WebKitLegacy
        https://bugs.webkit.org/show_bug.cgi?id=205791

        Reviewed by Dean Jackson.

        It was an oversight that it had not been done along with the WebKit change.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

2020-01-05  Simon Fraser  <simon.fraser@apple.com>

        Fix a souce of WebKit1 test flakiness
        https://bugs.webkit.org/show_bug.cgi?id=205761

        Reviewed by Darin Adler.

        Some animation tests (and possibly many others) are flakey or broken in WK1 because
        there was no code to guarantee that Page::updateRendering() was called at notifyDone()
        time.
        
        WK2 calls DrawingArea::forceRepaint(), which does updateRendering(), flushes layers,
        and flushes a CATransaction.

        In WK1, we historically relied in AppKit to call -viewWillDraw on WebView and/or WebHTMLView,
        and just called [webView display] to make this happen. However, with layer backing, AppKit behavior
        changes, and WebCore changes that make more things happen with HTML event loop timing, this
        approach no longer works. The fix is to add WebView SPI, _forceRepaintForTesting, which emulates what
        WK2 is doing.

        * WebView/WebView.mm:
        (-[WebView _forceRepaintForTesting]):
        * WebView/WebViewPrivate.h:

2020-01-03  Chris Dumez  <cdumez@apple.com>

        Add support for DragEvent
        https://bugs.webkit.org/show_bug.cgi?id=205758

        Reviewed by Darin Adler.

        * WebView/WebPDFView.mm:
        (-[WebPDFView PDFViewWillClickOnLink:withURL:]):

2020-01-03  Yusuke Suzuki  <ysuzuki@apple.com>

        Put more WebCore/WebKit JS objects into IsoSubspace
        https://bugs.webkit.org/show_bug.cgi?id=205711

        Reviewed by Keith Miller.

        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyInstance::getMethod):
        (WebKit::ProxyRuntimeMethod::create): Deleted.
        (WebKit::ProxyRuntimeMethod::createStructure): Deleted.
        (WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod): Deleted.
        (WebKit::ProxyRuntimeMethod::finishCreation): Deleted.
        * Plugins/Hosted/ProxyRuntimeObject.h:
        (WebKit::ProxyRuntimeObject::create): Deleted.
        (WebKit::ProxyRuntimeObject::createStructure): Deleted.

2020-01-03  Chris Dumez  <cdumez@apple.com>

        Align XPathEvaluator.createNSResolver() / XPathResult.snapshotItem() with the specification
        https://bugs.webkit.org/show_bug.cgi?id=205699

        Reviewed by Alex Christensen.

        * DOM/DOMDocument.mm:
        (-[DOMDocument createNSResolver:]):

2019-12-22  Jeff Miller  <jeffm@apple.com>

        Update user-visible copyright strings to include 2020
        https://bugs.webkit.org/show_bug.cgi?id=205552

        Reviewed by Darin Adler.

        * Info.plist:

2019-12-20  Brian Burg  <bburg@apple.com>

        Web Inspector: convert some InspectorFrontendHost methods to getters
        https://bugs.webkit.org/show_bug.cgi?id=205475

        Reviewed by Devin Rousso.

        * WebCoreSupport/WebInspectorClient.h:
        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorFrontendClient::localizedStringsURL const):
        (WebInspectorFrontendClient::localizedStringsURL): Deleted.

2019-12-20  Alex Christensen  <achristensen@webkit.org>

        Allow a managed configuration to re-enable TLS 1.0 and 1.1
        https://bugs.webkit.org/show_bug.cgi?id=205479
        <rdar://problem/54493516>

        Reviewed by Geoffrey Garen.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):

2019-12-17  Kate Cheney  <katherine_cheney@apple.com>

        Add run-time flag for in-app browser privacy
        https://bugs.webkit.org/show_bug.cgi?id=205288
        <rdar://problem/57569206>

        Reviewed by John Wilander.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences isInAppBrowserPrivacyEnabled]):
        (-[WebPreferences setInAppBrowserPrivacyEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-12-16  Simon Fraser  <simon.fraser@apple.com>

        Change 'delegatesPageScaling' from a Setting to a flag on ScrollView
        https://bugs.webkit.org/show_bug.cgi?id=205319

        Reviewed by Tim Horton.

        delegatesPageScaling() is never toggled at runtime (even by tests), and it should
        be a flag on FrameView just like delegatesScrolling (maybe in future the flags can merge).

        So remove the Setting, and have DrawingArea control whether page scaling is delegated.
        
        In WebKit1, WebFrameLoaderClient::transitionToCommittedForNewPage() turns on delegated
        page scaling for iOS.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::transitionToCommittedForNewPage):
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-12-16  Antti Koivisto  <antti@apple.com>

        Remove display:contents feature flag
        https://bugs.webkit.org/show_bug.cgi?id=205276

        Reviewed by Ryosuke Niwa.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences displayContentsEnabled]): Deleted.
        (-[WebPreferences setDisplayContentsEnabled:]): Deleted.
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-12-14  David Kilzer  <ddkilzer@apple.com>

        Add release assert for selectedIndex in WebKit::WebPopupMenu::show()
        <https://webkit.org/b/205223>
        <rdar://problem/57929078>

        Reviewed by Wenson Hsieh.

        * WebCoreSupport/PopupMenuMac.h:
        (PopupMenuMac::show):
        - Rename `index` parameter to `selectedIndex`.
        * WebCoreSupport/PopupMenuMac.mm:
        (PopupMenuMac::show):
        - Rename `index` parameter to `selectedIndex`.

2019-12-13  Brady Eidson  <beidson@apple.com>

        Refactor ScriptController's proliferation of ExceptionDetails*.
        https://bugs.webkit.org/show_bug.cgi?id=205151

        Reviewed by Alex Christensen.

        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorFrontendClient::save):
        (WebInspectorFrontendClient::append):
        
        * WebView/WebFrame.mm:
        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
        (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):

        * WebView/WebView.mm:
        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):

2019-12-12  David Kilzer  <ddkilzer@apple.com>

        REGRESSION (r229930, r231063): WebKitLegacy.xcconfig overwrites OTHER_CFLAGS, OTHER_CPLUSPLUSFLAGS and OTHER_LDFLAGS from Base.xcconfig
        <https://webkit.org/b/205144>

        Reviewed by Alexey Proskuryakov.

        * Configurations/WebKitLegacy.xcconfig:
        (OTHER_CFLAGS): Add back $(inherited) to fix the bug.
        (OTHER_CFLAGS_COCOA_TOUCH): Add variable to hold value.
        (OTHER_CFLAGS_COCOA_TOUCH_YES): Remove unused $(inherited).
        (OTHER_CFLAGS_COCOA_TOUCH_NO): Ditto.
        (OTHER_CPLUSPLUSFLAGS): Add back $(inherited) to fix the
        bug, and don't assume $(OTHER_CFLAGS) is identical to this.
        (OTHER_LDFLAGS): Add back $(inherited) to fix the bug.

2019-12-09  Eric Carlson  <eric.carlson@apple.com>

        Rename media in the GPU process preference
        https://bugs.webkit.org/show_bug.cgi?id=205013
        <rdar://problem/57755319>

        Reviewed by Tim Horton.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences useGPUProcessForMedia]):
        (-[WebPreferences setUseGPUProcessForMedia:]):
        (-[WebPreferences outOfProcessMediaEnabled]): Deleted.
        (-[WebPreferences setOutOfProcessMediaEnabled:]): Deleted.
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-12-09  Alex Christensen  <achristensen@webkit.org>

        Re-disable TLS1.0 and TLS1.1 by default
        https://bugs.webkit.org/show_bug.cgi?id=204922
        <rdar://problem/57677752>

        Reviewed by Youenn Fablet.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):

2019-12-07  Tim Horton  <timothy_horton@apple.com>

        Implement encoding for DrawImage and DrawRoundedRect display list items
        https://bugs.webkit.org/show_bug.cgi?id=204881

        Reviewed by Simon Fraser.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

2019-12-06  Commit Queue  <commit-queue@webkit.org>

        Unreviewed, rolling out r253218.
        https://bugs.webkit.org/show_bug.cgi?id=204968

        Broke the build (Requested by ap on #webkit).

        Reverted changeset:

        "Remove various .order files."
        https://bugs.webkit.org/show_bug.cgi?id=204959
        https://trac.webkit.org/changeset/253218

2019-12-06  Keith Miller  <keith_miller@apple.com>

        Remove various .order files.
        https://bugs.webkit.org/show_bug.cgi?id=204959

        Reviewed by Yusuke Suzuki.

        These files are all super out of date and likely don't do anything anymore.
        The signatures of the functions have changed thus the mangled name has changed.

        * WebKit.order: Removed.

2019-12-05  Chris Dumez  <cdumez@apple.com>

        PageConfiguration::dragClient should use a smart pointer
        https://bugs.webkit.org/show_bug.cgi?id=204816

        Reviewed by Alex Christensen.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

2019-12-04  Chris Dumez  <cdumez@apple.com>

        PageConfiguration::progressTrackerClient should use a smart pointer
        https://bugs.webkit.org/show_bug.cgi?id=204854

        Reviewed by Alex Christensen.

        * WebCoreSupport/WebProgressTrackerClient.h:
        * WebCoreSupport/WebProgressTrackerClient.mm:
        (WebProgressTrackerClient::progressTrackerDestroyed): Deleted.
        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):

2019-12-04  Tim Horton  <timothy_horton@apple.com>

        Introduce a GPU process
        https://bugs.webkit.org/show_bug.cgi?id=204343

        Reviewed by Simon Fraser.

        * Configurations/FeatureDefines.xcconfig:

2019-12-03  Megan Gardner  <megan_gardner@apple.com>

        Add disabled highlight API skeleton
        https://bugs.webkit.org/show_bug.cgi?id=204809

        Reviewed by Ryosuke Niwa.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences highlightAPIEnabled]):
        (-[WebPreferences setHighlightAPIEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-12-03  Eric Carlson  <eric.carlson@apple.com>

        Add a runtime setting for media in the GPU process
        https://bugs.webkit.org/show_bug.cgi?id=204801
        <rdar://problem/57596199>

        Reviewed by Jer Noble.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences outOfProcessMediaEnabled]):
        (-[WebPreferences setOutOfProcessMediaEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-12-03  Antoine Quint  <graouts@apple.com>

        [Web Animations] Add a runtime flag for Web Animations composite operations
        https://bugs.webkit.org/show_bug.cgi?id=204718

        Reviewed by Dean Jackson.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences webAnimationsCompositeOperationsEnabled]):
        (-[WebPreferences setWebAnimationsCompositeOperationsEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-12-03  Chris Dumez  <cdumez@apple.com>

        PageConfiguration::alternativeTextClient should use a smart pointer
        https://bugs.webkit.org/show_bug.cgi?id=204777

        Reviewed by Anders Carlsson.

        * WebCoreSupport/WebAlternativeTextClient.h:
        * WebCoreSupport/WebAlternativeTextClient.mm:
        (WebAlternativeTextClient::pageDestroyed): Deleted.
        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):

2019-12-03  Carlos Garcia Campos  <cgarcia@igalia.com>

        [PSON] Tooltips from previous page shown on new page
        https://bugs.webkit.org/show_bug.cgi?id=204735

        Reviewed by Chris Dumez.

        Update to the new ChromeClient API.

        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::mouseDidMoveOverElement):
        (WebChromeClient::setToolTip):

2019-11-28  Fujii Hironori  <Hironori.Fujii@sony.com>

        Remove ENABLE_KEYBOARD_CODE_ATTRIBUTE and ENABLE_KEYBOARD_KEY_ATTRIBUTE macros
        https://bugs.webkit.org/show_bug.cgi?id=204666

        Reviewed by Ross Kirsling and Don Olmstead.

        * Configurations/FeatureDefines.xcconfig:

2019-11-26  Chris Dumez  <cdumez@apple.com>

        Drop ActiveDOMObject::shouldPreventEnteringBackForwardCache_DEPRECATED()
        https://bugs.webkit.org/show_bug.cgi?id=204626

        Reviewed by Ryosuke Niwa.

        * WebView/WebFrame.mm:
        (-[WebFrame _cacheabilityDictionary]):

2019-11-21  Daniel Bates  <dabates@apple.com>

        Remove unneeded code that annotated DOMHTMLElement as conforming to UITextInputTraits protocol
        https://bugs.webkit.org/show_bug.cgi?id=204464

        Reviewed by Wenson Hsieh.

        DOMHTMLElement never really conformed to the UITextInputTraits protocol. It was annotated as doing so
        in order to register with the runtime as part of advertising that it implemented two UITextInputTraits_Private
        messages in r222487: -acceptsAutofilledLoginCredentials and -representingPageURL. These messages were
        subsequently removed in r222991 (over years ago). So, we do not need to continue advertising UITextInputTraits
        conformance.

        * DOM/DOMHTMLInputElement.h:

2019-11-15  Eric Carlson  <eric.carlson@apple.com>

        Don't use AVCapture on watchOS and tvOS
        https://bugs.webkit.org/show_bug.cgi?id=204254
        <rdar://problem/45508044>

        Reviewed by Youenn Fablet.

        * Configurations/FeatureDefines.xcconfig:

2019-11-15  Myles C. Maxfield  <mmaxfield@apple.com>

        [Apple] Enable variation fonts on all Apple platforms
        https://bugs.webkit.org/show_bug.cgi?id=198100

        Reviewed by Simon Fraser.

        * Configurations/FeatureDefines.xcconfig:

2019-11-13  Myles C. Maxfield  <mmaxfield@apple.com>

        [Mac] Fix build
        https://bugs.webkit.org/show_bug.cgi?id=204136

        Reviewed by Alex Christensen.

        Remove deprecation warnings.

        * Plugins/WebPluginController.mm:
        (-[WebPluginController webPlugInContainerSelectionColor]):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::setCopiesOnScroll):
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView view:stringForToolTip:point:userData:]):
        (-[WebHTMLView pasteboardChangedOwner:]):
        (-[WebHTMLView pasteboard:provideDataForType:]):
        (-[WebHTMLView changeFont:]):
        (-[WebHTMLView changeColor:]):
        * WebView/WebPDFView.mm:
        (-[WebPDFView _openWithFinder:]):

2019-11-08  Daniel Bates  <dabates@apple.com>

        Add WebKit Legacy SPI to retrieve editable elements in rect
        https://bugs.webkit.org/show_bug.cgi?id=204006
        <rdar://problem/57024093>

        Reviewed by Wenson Hsieh.

        Add SPI to retrieve all the editable elements in a rect.

        * WebView/WebView.mm:
        (-[WebView _editableElementsInRect:]): Added.
        * WebView/WebViewPrivate.h:

2019-11-04  Alex Christensen  <achristensen@webkit.org>

        REGRESSION(r243947) Epson software updater fails to install new version
        https://bugs.webkit.org/show_bug.cgi?id=203809
        <rdar://problem/56002179>

        Reviewed by Brady Eidson.

        * Misc/WebDownload.mm:
        (shouldCallOnNetworkThread):
        (callOnDelegateThread):
        (isDelegateThread):
        (-[WebDownloadInternal downloadDidBegin:]):
        (-[WebDownloadInternal download:willSendRequest:redirectResponse:]):
        (-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
        (-[WebDownloadInternal download:didReceiveResponse:]):
        (-[WebDownloadInternal download:didReceiveDataOfLength:]):
        (-[WebDownloadInternal download:shouldDecodeSourceDataOfMIMEType:]):
        (-[WebDownloadInternal download:decideDestinationWithSuggestedFilename:]):
        (-[WebDownloadInternal download:didCreateDestination:]):
        (-[WebDownloadInternal downloadDidFinish:]):
        (-[WebDownloadInternal download:didFailWithError:]):

2019-11-02  Devin Rousso  <drousso@apple.com>

        Web Inspector: Add diagnostic logging for frontend feature usage
        https://bugs.webkit.org/show_bug.cgi?id=203579
        <rdar://problem/56717410>

        Reviewed by Brian Burg.

        Original patch by Matt Baker <mattbaker@apple.com>.

        * WebCoreSupport/WebInspectorClient.h:
        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorFrontendClient::supportsDiagnosticLogging): Added.
        (WebInspectorFrontendClient::logDiagnosticEvent): Added.

        * Configurations/FeatureDefines.xcconfig:
        Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS.

2019-10-30  Peng Liu  <peng.liu6@apple.com>

        [Picture-in-Picture Web API] Enable the support for iOS
        https://bugs.webkit.org/show_bug.cgi?id=202618

        Reviewed by Jer Noble.

        Enable the Picture-in-Picture API support for iOS (iPad only).

        * Configurations/FeatureDefines.xcconfig:

2019-10-29  Andy Estes  <aestes@apple.com>

        [Quick Look] Clean up LegacyPreviewLoaderClients
        https://bugs.webkit.org/show_bug.cgi?id=203472

        Reviewed by Brady Eidson.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::createPreviewLoaderClient):

2019-10-26  Chris Lord  <clord@igalia.com>

        Put OffscreenCanvas behind a build flag
        https://bugs.webkit.org/show_bug.cgi?id=203146

        Reviewed by Ryosuke Niwa.

        * Configurations/FeatureDefines.xcconfig:

2019-10-23  Andy Estes  <aestes@apple.com>

        [Quick Look] Rename PreviewLoader{,Client} to LegacyPreviewLoader{,Client}
        https://bugs.webkit.org/show_bug.cgi?id=203306

        Reviewed by Tim Horton.

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::createPreviewLoaderClient):
        * WebView/WebDataSource.mm:
        (-[WebDataSource _quickLookPreviewLoaderClient]):
        (-[WebDataSource _setQuickLookPreviewLoaderClient:]):
        * WebView/WebDataSourceInternal.h:

2019-10-22  Alex Christensen  <achristensen@webkit.org>

        Re-enable legacy TLS by default, keep runtime switch
        https://bugs.webkit.org/show_bug.cgi?id=203253

        Reviewed by Geoffrey Garen.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):

2019-10-21  Yusuke Suzuki  <ysuzuki@apple.com>

        [JSC] Thread JSGlobalObject* instead of ExecState*
        https://bugs.webkit.org/show_bug.cgi?id=202392

        Reviewed by Geoffrey Garen.

        * DOM/DOMInternal.mm:
        (-[WebScriptObject _initializeScriptDOMNodeImp]):
        * DOM/WebDOMOperations.mm:
        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::evaluate):
        (WebKit::NetscapePluginInstanceProxy::invoke):
        (WebKit::NetscapePluginInstanceProxy::invokeDefault):
        (WebKit::NetscapePluginInstanceProxy::construct):
        (WebKit::NetscapePluginInstanceProxy::getProperty):
        (WebKit::NetscapePluginInstanceProxy::setProperty):
        (WebKit::NetscapePluginInstanceProxy::removeProperty):
        (WebKit::NetscapePluginInstanceProxy::hasProperty):
        (WebKit::NetscapePluginInstanceProxy::hasMethod):
        (WebKit::NetscapePluginInstanceProxy::enumerate):
        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
        (WebKit::NetscapePluginInstanceProxy::marshalValue):
        (WebKit::NetscapePluginInstanceProxy::marshalValues):
        (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
        (WebKit::NetscapePluginInstanceProxy::demarshalValue):
        (WebKit::NetscapePluginInstanceProxy::demarshalValues):
        (WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
        * Plugins/Hosted/ProxyInstance.h:
        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyField::valueFromInstance const):
        (WebKit::ProxyField::setValueToInstance const):
        (WebKit::ProxyInstance::newRuntimeObject):
        (WebKit::ProxyInstance::invoke):
        (WebKit::ProxyRuntimeMethod::create):
        (WebKit::ProxyInstance::getMethod):
        (WebKit::ProxyInstance::invokeMethod):
        (WebKit::ProxyInstance::invokeDefaultMethod):
        (WebKit::ProxyInstance::invokeConstruct):
        (WebKit::ProxyInstance::defaultValue const):
        (WebKit::ProxyInstance::stringValue const):
        (WebKit::ProxyInstance::numberValue const):
        (WebKit::ProxyInstance::valueOf const):
        (WebKit::ProxyInstance::getPropertyNames):
        (WebKit::ProxyInstance::fieldValue const):
        (WebKit::ProxyInstance::setFieldValue const):
        * WebView/WebFrame.mm:
        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
        (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
        (-[WebFrame _globalContextForScriptWorld:]):
        (-[WebFrame jsWrapperForNode:inScriptWorld:]):
        (-[WebFrame globalContext]):
        * WebView/WebScriptDebugger.h:
        * WebView/WebScriptDebugger.mm:
        (WebScriptDebugger::sourceParsed):
        * WebView/WebView.mm:
        (+[WebView _reportException:inContext:]):
        (aeDescFromJSValue):
        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):

2019-10-22  Wenson Hsieh  <wenson_hsieh@apple.com>

        imported/w3c/web-platform-tests/clipboard-apis/async-navigator-clipboard-basics.https.html is flaky
        https://bugs.webkit.org/show_bug.cgi?id=203181

        Reviewed by Ryosuke Niwa.

        Add a changeCount argument to informationForItemAtIndex and allPasteboardItemInfo, and also make then return
        optional values. See WebCore ChangeLog for more details.

        * WebCoreSupport/WebPlatformStrategies.h:
        * WebCoreSupport/WebPlatformStrategies.mm:
        (WebPlatformStrategies::changeCount):
        (WebPlatformStrategies::addTypes):
        (WebPlatformStrategies::setTypes):
        (WebPlatformStrategies::setBufferForType):
        (WebPlatformStrategies::setURL):
        (WebPlatformStrategies::setColor):
        (WebPlatformStrategies::setStringForType):
        (WebPlatformStrategies::writeCustomData):
        (WebPlatformStrategies::informationForItemAtIndex):
        (WebPlatformStrategies::allPasteboardItemInfo):

2019-10-17  Devin Rousso  <drousso@apple.com>

        Web Inspector: rework frontend agent construction to allow commands/events to be controlled by the related target's type
        https://bugs.webkit.org/show_bug.cgi?id=200384
        <rdar://problem/53850352>

        Reviewed by Joseph Pecoraro.

        * WebCoreSupport/WebInspectorClient.h:
        (WebInspectorFrontendClient::debuggableType const): Added.
        Split the `Web` debuggable type into `Page` (WebCore::Page) and `WebPage` (WebKit::WebPageProxy).

2019-10-16  Chris Dumez  <cdumez@apple.com>

        Unreviewed, fix iOS Debug build after r251220.

        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-10-16  Chris Dumez  <cdumez@apple.com>

        Rename PageCache to BackForwardCache
        https://bugs.webkit.org/show_bug.cgi?id=203048

        Reviewed by Alex Christensen.

        Rename PageCache to BackForwardCache for clarity and consistency with the UIProcess's WebBackForwardCache.

        * History/BackForwardList.mm:
        (BackForwardList::addItem):
        (BackForwardList::setCapacity):
        * History/WebBackForwardList.mm:
        (-[WebBackForwardList pageCacheSize]):
        * History/WebHistoryItem.mm:
        * History/WebHistoryItemPrivate.h:
        * Misc/WebCache.mm:
        * Misc/WebCoreStatistics.mm:
        (+[WebCoreStatistics cachedPageCount]):
        (+[WebCoreStatistics cachedFrameCount]):
        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::forceLayoutOnRestoreFromBackForwardCache):
        (WebFrameLoaderClient::didRestoreFromBackForwardCache):
        * WebCoreSupport/WebVisitedLinkStore.mm:
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView layoutToMinimumPageWidth:height:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustingViewSize:]):
        (-[WebHTMLView setNeedsLayout:]):
        (-[WebHTMLView setNeedsToApplyStyles:]):
        * WebView/WebView.mm:
        (-[WebView _close]):
        (-[WebView _preferencesChanged:]):
        (+[WebView _setCacheModel:]):

2019-10-16  Chris Dumez  <cdumez@apple.com>

        [WK2] Move back/forward cache entry expiration from the WebProcess to the UIProcess
        https://bugs.webkit.org/show_bug.cgi?id=203034
        <rdar://problem/56332453>

        Reviewed by Antti Koivisto.

        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-10-15  Chris Dumez  <cdumez@apple.com>

        [macOS] Simplify main thread initialization
        https://bugs.webkit.org/show_bug.cgi?id=203001

        Reviewed by Geoff Garen.

        * History/WebBackForwardList.mm:
        (+[WebBackForwardList initialize]):
        * History/WebHistoryItem.mm:
        (+[WebHistoryItem initialize]):
        * Misc/WebCache.mm:
        (+[WebCache initialize]):
        * Misc/WebElementDictionary.mm:
        (+[WebElementDictionary initialize]):
        * Misc/WebIconDatabase.mm:
        * Misc/WebStringTruncator.mm:
        (+[WebStringTruncator initialize]):
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (+[WebHostedNetscapePluginView initialize]):
        * Plugins/WebBaseNetscapePluginView.mm:
        * Plugins/WebBasePluginPackage.mm:
        (+[WebBasePluginPackage initialize]):
        * Plugins/WebNetscapePluginView.mm:
        (+[WebNetscapePluginView initialize]):
        * WebCoreSupport/WebEditorClient.mm:
        (+[WebUndoStep initialize]):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (+[WebFramePolicyListener initialize]):
        * WebView/WebArchive.mm:
        (+[WebArchivePrivate initialize]):
        * WebView/WebDataSource.mm:
        (+[WebDataSource initialize]):
        * WebView/WebHTMLView.mm:
        (+[WebHTMLViewPrivate initialize]):
        (+[WebHTMLView initialize]):
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        * WebView/WebResource.mm:
        (+[WebResourcePrivate initialize]):
        * WebView/WebTextIterator.mm:
        (+[WebTextIteratorPrivate initialize]):
        * WebView/WebView.mm:
        (+[WebView initialize]):
        * WebView/WebViewData.mm:
        (+[WebViewPrivate initialize]):

2019-10-15  Peng Liu  <peng.liu6@apple.com>

        [Picture-in-Picture Web API] Implement HTMLVideoElement.requestPictureInPicture() / Document.exitPictureInPicture()
        https://bugs.webkit.org/show_bug.cgi?id=201024

        Reviewed by Eric Carlson.

        Add configurations for Picture-in-Picture API and also a preference option for it.

        * Configurations/FeatureDefines.xcconfig:
        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences pictureInPictureAPIEnabled]):
        (-[WebPreferences setPictureInPictureAPIEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-10-14  Chris Dumez  <cdumez@apple.com>

        [WK2] Have WebBackForwardCache class coordinate page caching in all WebProcesses
        https://bugs.webkit.org/show_bug.cgi?id=202929
        <rdar://problem/56250421>

        Reviewed by Alex Christensen.

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:

2019-10-14  Wenson Hsieh  <wenson_hsieh@apple.com>

        [Clipboard API] Refactor custom pasteboard writing codepaths to handle multiple items
        https://bugs.webkit.org/show_bug.cgi?id=202916

        Reviewed by Tim Horton.

        Adjust some method signatures.

        * WebCoreSupport/WebPlatformStrategies.h:
        * WebCoreSupport/WebPlatformStrategies.mm:
        (WebPlatformStrategies::writeCustomData):

2019-10-14  David Quesada  <david_quesada@apple.com>

        Remove WebCore::IOSApplication::isWebApp()
        https://bugs.webkit.org/show_bug.cgi?id=181259

        Reviewed by Alex Christensen.

        * WebCoreSupport/WebApplicationCache.mm:
        (applicationCacheBundleIdentifier):

2019-10-14  Wenson Hsieh  <wenson_hsieh@apple.com>

        [Clipboard API] Support writing multiple PasteboardCustomData with SharedBuffers to the pasteboard
        https://bugs.webkit.org/show_bug.cgi?id=202851

        Reviewed by Darin Adler.

        See WebCore ChangeLog for more details.

        * WebCoreSupport/WebPlatformStrategies.h:

2019-10-09  Wenson Hsieh  <wenson_hsieh@apple.com>

        [Clipboard API] Refactor Pasteboard item reading functions to work on both iOS and macOS
        https://bugs.webkit.org/show_bug.cgi?id=202647

        Reviewed by Tim Horton.

        Refactor iOS-specific pasteboard functions to be platform-agnostic. See WebCore ChangeLog for more details.

        * WebCoreSupport/WebPlatformStrategies.h:
        * WebCoreSupport/WebPlatformStrategies.mm:
        (WebPlatformStrategies::informationForItemAtIndex):
        (WebPlatformStrategies::allPasteboardItemInfo):
        (WebPlatformStrategies::getPasteboardItemsCount):
        (WebPlatformStrategies::readBufferFromPasteboard):
        (WebPlatformStrategies::readURLFromPasteboard):
        (WebPlatformStrategies::readStringFromPasteboard):
        (WebPlatformStrategies::writeToPasteboard):
        (WebPlatformStrategies::updateSupportedTypeIdentifiers):

2019-10-08  Antti Koivisto  <antti@apple.com>

        [CSS Shadow Parts] Enable by default
        https://bugs.webkit.org/show_bug.cgi?id=202644

        Reviewed by Ryosuke Niwa.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

2019-10-07  Ryosuke Niwa  <rniwa@webkit.org>

        Add IDL for requestIdleCallback
        https://bugs.webkit.org/show_bug.cgi?id=202653

        Reviewed by Geoffrey Garen.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-10-07  Yusuke Suzuki  <ysuzuki@apple.com>

        [JSC] Change signature of HostFunction to (JSGlobalObject*, CallFrame*)
        https://bugs.webkit.org/show_bug.cgi?id=202569

        Reviewed by Saam Barati.

        * WebView/WebScriptDebugger.h:

2019-10-04  Alex Christensen  <achristensen@webkit.org>

        Rename SchemeRegistry to LegacySchemeRegistry
        https://bugs.webkit.org/show_bug.cgi?id=202586

        Reviewed by Tim Horton.

        * WebView/WebView.mm:
        (+[WebView _setDomainRelaxationForbidden:forURLScheme:]):
        (+[WebView _registerURLSchemeAsSecure:]):
        (+[WebView _registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing:]):
        (+[WebView registerURLSchemeAsLocal:]):

2019-10-04  Alex Christensen  <achristensen@webkit.org>

        Simplify sandbox enabling macros
        https://bugs.webkit.org/show_bug.cgi?id=202536

        Reviewed by Brent Fulgham.

        * Configurations/FeatureDefines.xcconfig:

2019-10-02  Tim Horton  <timothy_horton@apple.com>

        Provide TAPI the full target triple instead of just the arch
        https://bugs.webkit.org/show_bug.cgi?id=202486

        Reviewed by Simon Fraser.

        * MigrateHeaders.make:
        For accuracy and consistency's sake, pass the whole target identifier
        instead of just one piece.

2019-10-01  Tim Horton  <timothy_horton@apple.com>

        Clean up some includes to make the build a bit faster
        https://bugs.webkit.org/show_bug.cgi?id=202444

        Reviewed by Geoff Garen.

        * WebView/WebFrame.mm:
        * WebView/WebView.mm:

2019-10-01  Antti Koivisto  <antti@apple.com>

        [CSS Shadow Parts] Parse 'part' attribute
        https://bugs.webkit.org/show_bug.cgi?id=202409

        Reviewed by Ryosuke Niwa.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences cssShadowPartsEnabled]):
        (-[WebPreferences setCSSShadowPartsEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-10-01  Alex Christensen  <achristensen@webkit.org>

        Progress towards successful CMake build on Mac
        https://bugs.webkit.org/show_bug.cgi?id=202426

        Rubber-stamped by Tim Horton.

        * WebView/WebDataSource.mm:

2019-10-01  Alex Christensen  <achristensen@webkit.org>

        Unify more WebKitLegacy sources
        https://bugs.webkit.org/show_bug.cgi?id=202410

        Reviewed by Tim Horton.

        * DOM/DOMHTML.mm:
        (-[DOMHTMLElement scrollXOffset]):
        (-[DOMHTMLElement scrollYOffset]):
        (-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
        (-[DOMHTMLElement absolutePosition::::]):
        (-[DOMHTMLInputElement setValueWithChangeEvent:]):
        (-[DOMHTMLInputElement setValueAsNumberWithChangeEvent:]):
        * DOM/DOMHTMLTextAreaElement.mm:
        (unwrap):
        (core):
        (kit):
        (-[DOMHTMLTextAreaElement autofocus]):
        (-[DOMHTMLTextAreaElement setAutofocus:]):
        (-[DOMHTMLTextAreaElement dirName]):
        (-[DOMHTMLTextAreaElement setDirName:]):
        (-[DOMHTMLTextAreaElement disabled]):
        (-[DOMHTMLTextAreaElement setDisabled:]):
        (-[DOMHTMLTextAreaElement form]):
        (-[DOMHTMLTextAreaElement maxLength]):
        (-[DOMHTMLTextAreaElement setMaxLength:]):
        (-[DOMHTMLTextAreaElement name]):
        (-[DOMHTMLTextAreaElement setName:]):
        (-[DOMHTMLTextAreaElement placeholder]):
        (-[DOMHTMLTextAreaElement setPlaceholder:]):
        (-[DOMHTMLTextAreaElement readOnly]):
        (-[DOMHTMLTextAreaElement setReadOnly:]):
        (-[DOMHTMLTextAreaElement required]):
        (-[DOMHTMLTextAreaElement setRequired:]):
        (-[DOMHTMLTextAreaElement rows]):
        (-[DOMHTMLTextAreaElement setRows:]):
        (-[DOMHTMLTextAreaElement cols]):
        (-[DOMHTMLTextAreaElement setCols:]):
        (-[DOMHTMLTextAreaElement wrap]):
        (-[DOMHTMLTextAreaElement setWrap:]):
        (-[DOMHTMLTextAreaElement type]):
        (-[DOMHTMLTextAreaElement defaultValue]):
        (-[DOMHTMLTextAreaElement setDefaultValue:]):
        (-[DOMHTMLTextAreaElement value]):
        (-[DOMHTMLTextAreaElement setValue:]):
        (-[DOMHTMLTextAreaElement textLength]):
        (-[DOMHTMLTextAreaElement willValidate]):
        (-[DOMHTMLTextAreaElement labels]):
        (-[DOMHTMLTextAreaElement selectionStart]):
        (-[DOMHTMLTextAreaElement setSelectionStart:]):
        (-[DOMHTMLTextAreaElement selectionEnd]):
        (-[DOMHTMLTextAreaElement setSelectionEnd:]):
        (-[DOMHTMLTextAreaElement selectionDirection]):
        (-[DOMHTMLTextAreaElement setSelectionDirection:]):
        (-[DOMHTMLTextAreaElement accessKey]):
        (-[DOMHTMLTextAreaElement setAccessKey:]):
        (-[DOMHTMLTextAreaElement autocomplete]):
        (-[DOMHTMLTextAreaElement setAutocomplete:]):
        (-[DOMHTMLTextAreaElement select]):
        (-[DOMHTMLTextAreaElement setRangeText:]):
        (-[DOMHTMLTextAreaElement setRangeText:start:end:selectionMode:]):
        (-[DOMHTMLTextAreaElement setSelectionRange:end:]):
        * DOM/DOMUIKitExtensions.mm:
        (-[DOMRange move:inDirection:]):
        (-[DOMRange extend:inDirection:]):
        (-[DOMNode borderRadii]):
        (-[DOMNode isSelectableBlock]):
        (-[DOMNode findExplodedTextNodeAtPoint:]):
        (-[DOMHTMLElement structuralComplexityContribution]):
        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (dataSource):
        * WebView/WebDataSource.mm:
        (addTypesFromClass):

2019-10-01  Alex Christensen  <achristensen@webkit.org>

        Fix internal build after r250549
        https://bugs.webkit.org/show_bug.cgi?id=202390

        Remove some more "using namespace WebCore"

        * History/WebBackForwardList.mm:
        (-[WebBackForwardList dictionaryRepresentation]):
        (vectorToNSArray):
        (-[WebBackForwardList backListWithLimit:]):
        (-[WebBackForwardList forwardListWithLimit:]):
        (-[WebBackForwardList description]):
        (-[WebBackForwardList pageCacheSize]):
        * Misc/WebSharingServicePickerController.mm:
        (WebSharingServicePickerClient::pageForSharingServicePicker):
        (WebSharingServicePickerClient::screenRectForCurrentSharingServicePickerItem):
        (-[WebSharingServicePickerController didShareImageData:confirmDataIsValidTIFFData:]):
        (-[WebSharingServicePickerController sharingService:didShareItems:]):
        * Plugins/WebBasePluginPackage.mm:
        (-[WebBasePluginPackage getPluginInfoFromPLists]):
        (-[WebBasePluginPackage pluginInfo]):
        * Plugins/WebPluginContainerCheck.mm:
        (-[WebPluginContainerCheck _continueWithPolicy:]):
        (-[WebPluginContainerCheck _isForbiddenFileLoad]):
        * Plugins/WebPluginController.mm:
        (initializeAudioSession):
        (-[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
        (-[WebPluginController superlayerForPluginView:]):
        (-[WebPluginController stopOnePlugin:]):
        (-[WebPluginController stopOnePluginForPageCache:]):
        (-[WebPluginController destroyOnePlugin:]):
        (-[WebPluginController startAllPlugins]):
        (-[WebPluginController addPlugin:]):
        (-[WebPluginController destroyPlugin:]):
        (-[WebPluginController destroyAllPlugins]):
        (-[WebPluginController processingUserGesture]):
        (-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
        (-[WebPluginController webPlugInContainerSelectionColor]):
        * Plugins/WebPluginDatabase.mm:
        (-[WebPluginDatabase refresh]):
        (-[WebPluginDatabase _removePlugin:]):
        * WebCoreSupport/WebApplicationCache.mm:
        (+[WebApplicationCache initializeWithBundleIdentifier:]):
        (webApplicationCacheStorage):
        * WebCoreSupport/WebApplicationCacheQuotaManager.mm:

2019-09-30  Alex Christensen  <achristensen@webkit.org>

        Resurrect Mac CMake build
        https://bugs.webkit.org/show_bug.cgi?id=202384

        Rubber-stamped by Tim Horton.

        * DefaultDelegates/WebDefaultPolicyDelegate.m:
        (-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):

2019-09-30  Alex Christensen  <achristensen@webkit.org>

        Unify more WebKitLegacy sources
        https://bugs.webkit.org/show_bug.cgi?id=202390

        Reviewed by Tim Horton.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (dataSource):
        (WebFrameLoaderClient::pageID const):
        (WebFrameLoaderClient::frameID const):
        (WebFrameLoaderClient::makeRepresentation):
        (WebFrameLoaderClient::forceLayoutOnRestoreFromPageCache):
        (WebFrameLoaderClient::convertMainResourceLoadToDownload):
        (WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
        (WebFrameLoaderClient::assignIdentifierToInitialRequest):
        (WebFrameLoaderClient::dispatchWillSendRequest):
        (WebFrameLoaderClient::shouldUseCredentialStorage):
        (WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
        (WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
        (WebFrameLoaderClient::connectionProperties):
        (WebFrameLoaderClient::dispatchDidReceiveResponse):
        (WebFrameLoaderClient::willCacheResponse const):
        (WebFrameLoaderClient::dispatchDidReceiveContentLength):
        (WebFrameLoaderClient::dispatchDidFinishLoading):
        (WebFrameLoaderClient::dispatchDidFailLoading):
        (WebFrameLoaderClient::dispatchWillPerformClientRedirect):
        (WebFrameLoaderClient::dispatchDidReceiveTitle):
        (WebFrameLoaderClient::dispatchDidCommitLoad):
        (WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
        (WebFrameLoaderClient::dispatchDidFailLoad):
        (WebFrameLoaderClient::dispatchDidReachLayoutMilestone):
        (WebFrameLoaderClient::dispatchCreatePage):
        (WebFrameLoaderClient::dispatchDecidePolicyForResponse):
        (shouldTryAppLink):
        (WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
        (WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
        (WebFrameLoaderClient::dispatchUnableToImplementPolicy):
        (makeFormFieldValuesDictionary):
        (WebFrameLoaderClient::dispatchWillSubmitForm):
        (WebFrameLoaderClient::revertToProvisionalState):
        (WebFrameLoaderClient::setMainDocumentError):
        (WebFrameLoaderClient::startDownload):
        (WebFrameLoaderClient::willChangeTitle):
        (WebFrameLoaderClient::didChangeTitle):
        (WebFrameLoaderClient::didReplaceMultipartContent):
        (WebFrameLoaderClient::committedLoad):
        (WebFrameLoaderClient::finishedLoading):
        (WebFrameLoaderClient::updateGlobalHistory):
        (WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
        (WebFrameLoaderClient::shouldGoToHistoryItem const):
        (WebFrameLoaderClient::didDisplayInsecureContent):
        (WebFrameLoaderClient::didRunInsecureContent):
        (WebFrameLoaderClient::cancelledError):
        (WebFrameLoaderClient::blockedError):
        (WebFrameLoaderClient::blockedByContentBlockerError):
        (WebFrameLoaderClient::cannotShowURLError):
        (WebFrameLoaderClient::interruptedForPolicyChangeError):
        (WebFrameLoaderClient::blockedByContentFilterError):
        (WebFrameLoaderClient::cannotShowMIMETypeError):
        (WebFrameLoaderClient::fileDoesNotExistError):
        (WebFrameLoaderClient::pluginWillHandleLoadError):
        (WebFrameLoaderClient::shouldFallBack):
        (WebFrameLoaderClient::canHandleRequest const):
        (WebFrameLoaderClient::saveViewStateToItem):
        (WebFrameLoaderClient::restoreViewState):
        (WebFrameLoaderClient::createDocumentLoader):
        (WebFrameLoaderClient::setTitle):
        (WebFrameLoaderClient::savePlatformDataToCachedFrame):
        (WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
        (WebFrameLoaderClient::transitionToCommittedForNewPage):
        (WebFrameLoaderClient::setUpPolicyListener):
        (WebFrameLoaderClient::actionDictionary const):
        (WebFrameLoaderClient::canCachePage const):
        (WebFrameLoaderClient::createFrame):
        (WebFrameLoaderClient::objectContentType):
        (PluginWidget::PluginWidget):
        (PluginWidget::invalidateRect):
        (NetscapePluginWidget::handleEvent):
        (NetscapePluginWidget::notifyWidget):
        (shouldBlockPlugin):
        (WebFrameLoaderClient::createPlugin):
        (WebFrameLoaderClient::redirectDataToPlugin):
        (WebFrameLoaderClient::createJavaAppletWidget):
        (shouldBlockWebGL):
        (WebFrameLoaderClient::webGLPolicyForURL const):
        (WebFrameLoaderClient::resolveWebGLPolicyForURL const):
        (WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
        (WebFrameLoaderClient::createNetworkingContext):
        (WebFrameLoaderClient::createPreviewLoaderClient):
        (WebFrameLoaderClient::getLoadDecisionForIcons):
        (webGetNSImage):
        (WebFrameLoaderClient::finishedLoadingIcon):
        (-[WebFramePolicyListener initWithFrame:identifier:policyFunction:defaultPolicy:]):
        (-[WebFramePolicyListener initWithFrame:identifier:policyFunction:defaultPolicy:appLinkURL:]):
        (-[WebFramePolicyListener invalidate]):
        (-[WebFramePolicyListener receivedPolicyDecision:]):
        (-[WebFramePolicyListener ignore]):
        (-[WebFramePolicyListener download]):
        (-[WebFramePolicyListener use]):
        (-[WebFramePolicyListener continue]):
        * WebInspector/WebInspector.mm:
        (-[WebInspector showWindow]):
        (-[WebInspector evaluateInFrontend:script:]):
        * WebView/WebClipView.mm:
        (-[WebClipView visibleRect]):
        (-[WebClipView _immediateScrollToPoint:]):
        * WebView/WebDataSource.mm:
        (-[WebDataSource _documentFragmentWithArchive:]):
        (-[WebDataSource _documentLoader]):
        (-[WebDataSource initWithRequest:]):
        (-[WebDataSource dealloc]):
        (-[WebDataSource data]):
        (-[WebDataSource webFrame]):
        (-[WebDataSource initialRequest]):
        (-[WebDataSource request]):
        (-[WebDataSource webArchive]):
        * WebView/WebFrame.mm:
        (core):
        (kit):
        (getWebView):
        (+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
        (+[WebFrame _createMainFrameWithPage:frameName:frameView:]):
        (+[WebFrame _createSubframeWithOwnerElement:frameName:frameView:]):
        (+[WebFrame _createMainFrameWithSimpleHTMLDocumentWithPage:frameView:style:]):
        (-[WebFrame _attachScriptDebugger]):
        (-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
        (-[WebFrame _unmarkAllBadGrammar]):
        (-[WebFrame _unmarkAllMisspellings]):
        (-[WebFrame _hasSelection]):
        (-[WebFrame _atMostOneFrameHasSelection]):
        (-[WebFrame _findFrameWithSelection]):
        (-[WebFrame _nodesFromList:]):
        (-[WebFrame _stringForRange:]):
        (-[WebFrame _paintBehaviorForDestinationContext:]):
        (-[WebFrame _drawRect:contentsOnly:]):
        (-[WebFrame _getVisibleRect:]):
        (-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
        (-[WebFrame _caretRectAtPosition:affinity:]):
        (-[WebFrame _scrollDOMRangeToVisible:]):
        (-[WebFrame _scrollDOMRangeToVisible:withInset:]):
        (-[WebFrame _rangeByAlteringCurrentSelection:direction:granularity:]):
        (-[WebFrame _selectionGranularity]):
        (-[WebFrame _convertToNSRange:]):
        (-[WebFrame _convertToDOMRange:]):
        (-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]):
        (-[WebFrame _documentFragmentWithMarkupString:baseURLString:]):
        (-[WebFrame _documentFragmentWithNodesAsParagraphs:]):
        (-[WebFrame _visiblePositionForPoint:]):
        (-[WebFrame _characterRangeAtPoint:]):
        (-[WebFrame _typingStyle]):
        (-[WebFrame _setTypingStyle:withUndoAction:]):
        (-[WebFrame _dragSourceEndedAt:operation:]):
        (-[WebFrame _canProvideDocumentSource]):
        (-[WebFrame _commitData:]):
        (-[WebFrame _isDescendantOfFrame:]):
        (-[WebFrame _bodyBackgroundColor]):
        (-[WebFrame _isFrameSet]):
        (-[WebFrame _isVisuallyNonEmpty]):
        (toWebFrameLoadType):
        (-[WebFrame _rectsForRange:]):
        (-[WebFrame _selectionRangeForFirstPoint:secondPoint:]):
        (-[WebFrame _selectionRangeForPoint:]):
        (-[WebFrame _selectNSRange:]):
        (-[WebFrame _isDisplayingStandaloneImage]):
        (-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
        (-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
        (-[WebFrame setTimeoutsPaused:]):
        (-[WebFrame prepareForPause]):
        (-[WebFrame resumeFromPause]):
        (-[WebFrame selectWithoutClosingTypingNSRange:]):
        (-[WebFrame _saveViewState]):
        (-[WebFrame deviceOrientationChanged]):
        (-[WebFrame renderedSizeOfNode:constrainedToWidth:]):
        (-[WebFrame deepestNodeAtViewportLocation:]):
        (-[WebFrame scrollableNodeAtViewportLocation:]):
        (-[WebFrame approximateNodeAtViewportLocation:]):
        (-[WebFrame revealSelectionAtExtent:]):
        (-[WebFrame setCaretColor:]):
        (-[WebFrame isTelephoneNumberParsingAllowed]):
        (-[WebFrame isTelephoneNumberParsingEnabled]):
        (-[WebFrame setSelectedDOMRange:affinity:closeTyping:]):
        (-[WebFrame selectNSRange:onElement:]):
        (-[WebFrame setMarkedText:selectedRange:]):
        (-[WebFrame setMarkedText:forCandidates:]):
        (-[WebFrame getDictationResultRanges:andMetadatas:]):
        (-[WebFrame dictationResultMetadataForRange:]):
        (+[WebFrame stringWithData:textEncodingName:]):
        (-[WebFrame fontForSelection:]):
        (-[WebFrame _userScrolled]):
        (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:matchStyle:]):
        (-[WebFrame resetTextAutosizingBeforeLayout]):
        (-[WebFrame _setTextAutosizingWidth:]):
        (-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
        (-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
        (-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]):
        (-[WebFrame _cacheabilityDictionary]):
        (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
        (-[WebFrame _globalContextForScriptWorld:]):
        (-[WebFrame setAccessibleName:]):
        (-[WebFrame enhancedAccessibilityEnabled]):
        (-[WebFrame setEnhancedAccessibility:]):
        (-[WebFrame _layerTreeAsText]):
        (-[WebFrame accessibilityRoot]):
        (-[WebFrame _clearOpener]):
        (-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]):
        (-[WebFrame focusedNodeHasContent]):
        (-[WebFrame _dispatchDidReceiveTitle:]):
        (-[WebFrame jsWrapperForNode:inScriptWorld:]):
        (-[WebFrame elementAtPoint:]):
        (-[WebFrame name]):
        (needsMicrosoftMessengerDOMDocumentWorkaround):
        (-[WebFrame DOMDocument]):
        (-[WebFrame frameElement]):
        (-[WebFrame provisionalDataSource]):
        (-[WebFrame dataSource]):
        (-[WebFrame loadRequest:]):
        (-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
        (-[WebFrame findFrameNamed:]):
        (-[WebFrame parentFrame]):
        (-[WebFrame childFrames]):
        (-[WebFrame windowObject]):
        (-[WebFrame globalContext]):
        (-[WebFrame javaScriptContext]):
        (dataSource): Deleted.
        * WebView/WebFrameView.mm:
        (-[WebFrameView _web_frame]):
        (-[WebFrameView _setDocumentView:]):
        (-[WebFrameView _verticalPageScrollDistance]):
        (-[WebFrameView _install]):
        (-[WebFrameView _frameSizeChanged]):
        (-[WebFrameView initWithFrame:]):
        (-[WebFrameView drawRect:]):
        (-[WebFrameView _scrollOverflowInDirection:granularity:]):
        (-[WebFrameView _isVerticalDocument]):
        (-[WebFrameView _isFlippedDocument]):
        (-[WebFrameView _scrollToBeginningOfDocument]):
        (-[WebFrameView _scrollToEndOfDocument]):
        (-[WebFrameView _horizontalPageScrollDistance]):
        (-[WebFrameView _pageVertically:]):
        (-[WebFrameView _pageHorizontally:]):
        (-[WebFrameView _scrollLineVertically:]):
        (-[WebFrameView _scrollLineHorizontally:]):
        (-[WebFrameView keyDown:keyDown:]):
        (addTypesFromClass): Deleted.
        * WebView/WebFullScreenController.mm:
        (screenRectOfContents):
        (-[WebFullScreenController element]):
        (-[WebFullScreenController setElement:]):
        (-[WebFullScreenController _document]):
        (-[WebFullScreenController _manager]):
        * WebView/WebHTMLView.mm:
        (toAction):
        (toTag):
        (-[NSView _web_setNeedsDisplayInRect:]):
        (promisedDataClient):
        (+[WebHTMLView _excludedElementsForAttributedStringConversion]):
        (-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
        (-[WebHTMLView _plainTextFromPasteboard:]):
        (-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
        (-[WebHTMLView readSelectionFromPasteboard:]):
        (-[WebHTMLView _selectedRange]):
        (-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
        (-[WebHTMLView _frameOrBoundsChanged]):
        (-[WebHTMLView _updateMouseoverWithEvent:]):
        (+[WebHTMLView _insertablePasteboardTypes]):
        (+[WebHTMLView _selectionPasteboardTypes]):
        (-[WebHTMLView pasteboard:provideDataForType:]):
        (-[WebHTMLView setScale:]):
        (-[WebHTMLView _canEdit]):
        (-[WebHTMLView _canEditRichly]):
        (-[WebHTMLView _hasSelection]):
        (-[WebHTMLView _hasSelectionOrInsertionPoint]):
        (-[WebHTMLView _hasInsertionPoint]):
        (-[WebHTMLView _isEditable]):
        (-[WebHTMLView _selectionDraggingImage]):
        (-[WebHTMLView _insertOrderedList]):
        (-[WebHTMLView _insertUnorderedList]):
        (-[WebHTMLView _canIncreaseSelectionListLevel]):
        (-[WebHTMLView _canDecreaseSelectionListLevel]):
        (-[WebHTMLView _increaseSelectionListLevel]):
        (-[WebHTMLView _increaseSelectionListLevelOrdered]):
        (-[WebHTMLView _increaseSelectionListLevelUnordered]):
        (-[WebHTMLView _decreaseSelectionListLevel]):
        (-[WebHTMLView _writeSelectionToPasteboard:]):
        (-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
        (-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumPageWidth:]):
        (-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]):
        (-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]):
        (-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]):
        (-[WebHTMLView coreCommandBySelector:]):
        (-[WebHTMLView coreCommandByName:]):
        (-[WebHTMLView validRequestorForSendType:returnType:]):
        (-[WebHTMLView jumpToSelection:]):
        (-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
        (-[WebHTMLView maintainsInactiveSelection]):
        (-[WebHTMLView reapplyStyles]):
        (-[WebHTMLView layoutToMinimumPageWidth:height:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustingViewSize:]):
        (-[WebHTMLView rightMouseUp:]):
        (fixMenusReceivedFromOldClients):
        (createShareMenuItem):
        (createMenuItem):
        (createMenuItems):
        (customMenuFromDefaultItems):
        (-[WebHTMLView menuForEvent:]):
        (-[WebHTMLView clearFocus]):
        (-[WebHTMLView setLayer:]):
        (-[WebHTMLView setNeedsLayout:]):
        (-[WebHTMLView setNeedsToApplyStyles:]):
        (-[WebHTMLView _invalidateGStatesForTree]):
        (-[WebHTMLView scrollWheel:]):
        (-[WebHTMLView acceptsFirstMouse:]):
        (-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
        (-[WebHTMLView mouseDown:]):
        (-[WebHTMLView touch:]):
        (-[WebHTMLView mouseDragged:]):
        (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
        (-[WebHTMLView draggedImage:endedAt:operation:]):
        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
        (-[WebHTMLView draggingSession:sourceOperationMaskForDraggingContext:]):
        (-[WebHTMLView draggingSession:endedAtPoint:operation:]):
        (-[WebHTMLView mouseUp:]):
        (-[WebHTMLView pressureChangeWithEvent:]):
        (isTextInput):
        (isInPasswordField):
        (currentKeyboardEvent):
        (-[WebHTMLView becomeFirstResponder]):
        (-[WebHTMLView resignFirstResponder]):
        (-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustViewSize:paginateScreenContent:]):
        (-[WebHTMLView _scaleFactorForPrintOperation:]):
        (-[WebHTMLView keyDown:]):
        (-[WebHTMLView keyUp:]):
        (-[WebHTMLView flagsChanged:]):
        (-[WebHTMLView centerSelectionInVisibleArea:]):
        (-[WebHTMLView _selectionStartFontAttributesAsRTF]):
        (-[WebHTMLView _fontAttributesFromFontPasteboard]):
        (-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
        (-[WebHTMLView _applyEditingStyleToSelection:withUndoAction:]):
        (-[WebHTMLView performKeyEquivalent:]):
        (-[WebHTMLView copyFont:]):
        (-[WebHTMLView pasteFont:]):
        (-[WebHTMLView changeFont:]):
        (-[WebHTMLView changeAttributes:]):
        (-[WebHTMLView _undoActionFromColorPanelWithSelector:]):
        (-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
        (-[WebHTMLView changeColor:]):
        (-[WebHTMLView checkSpelling:]):
        (-[WebHTMLView showGuessPanel:]):
        (-[WebHTMLView toggleBaseWritingDirection:]):
        (-[WebHTMLView changeBaseWritingDirection:]):
        (-[WebHTMLView _changeBaseWritingDirectionTo:]):
        (-[WebHTMLView _updateControlTints]):
        (-[WebHTMLView _selectionChanged]):
        (-[WebHTMLView _updateFontPanel]):
        (-[WebHTMLView _canSmartCopyOrDelete]):
        (-[WebHTMLView _lookUpInDictionaryFromMenu:]):
        (-[WebHTMLView quickLookWithEvent:]):
        (-[WebHTMLView _executeSavedKeypressCommands]):
        (-[WebHTMLView _interpretKeyEvent:savingCommands:]):
        (-[WebHTMLView _handleEditingKeyEvent:]):
        (-[WebHTMLView _web_updateLayoutAndStyleIfNeededRecursive]):
        (-[WebHTMLView ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
        (-[WebHTMLView attributedSubstringFromRange:]):
        (-[WebHTMLView hasMarkedText]):
        (extractUnderlines):
        (-[WebHTMLView setMarkedText:selectedRange:]):
        (-[WebHTMLView doCommandBySelector:]):
        (-[WebHTMLView insertText:]):
        (-[WebHTMLView _updateSecureInputState]):
        (-[WebHTMLView _updateSelectionForInputManager]):
        (-[WebHTMLView selectionTextRects]):
        (imageFromRect):
        (selectionImage):
        (-[WebHTMLView selectionImageForcingBlackText:selectionImageForcingBlackText:]):
        (-[WebHTMLView selectAll]):
        (-[WebHTMLView deselectAll]):
        (-[WebHTMLView _legacyAttributedStringFrom:offset:to:offset:]):
        (-[WebHTMLView attributedString]):
        (-[WebHTMLView selectedAttributedString]):
        (-[WebHTMLView elementAtPoint:allowShadowContent:]):
        (-[WebHTMLView countMatchesForText:inDOMRange:options:limit:markMatches:]):
        (-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
        (-[WebHTMLView markedTextMatchesAreHighlighted]):
        (-[WebHTMLView unmarkAllTextMatches]):
        (-[WebHTMLView rectsForTextMatches]):
        (-[WebHTMLView _findString:options:]):
        * WebView/WebImmediateActionController.mm:
        (-[WebImmediateActionController webView:didHandleScrollWheel:]):
        (-[WebImmediateActionController _cancelImmediateAction]):
        (-[WebImmediateActionController performHitTestAtPoint:]):
        (-[WebImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
        (-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
        (-[WebImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
        (-[WebImmediateActionController _defaultAnimationController]):
        (-[WebImmediateActionController _updateImmediateActionItem]):
        (-[WebImmediateActionController menuItemDidClose:]):
        (elementBoundingBoxInWindowCoordinatesFromNode):
        (-[WebImmediateActionController menuItem:itemFrameForPoint:]):
        (-[WebImmediateActionController menuItem:maxSizeForPoint:]):
        (-[WebImmediateActionController _animationControllerForDataDetectedText]):
        (-[WebImmediateActionController _animationControllerForDataDetectedLink]):
        (+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
        (-[WebImmediateActionController _animationControllerForText]):
        * WebView/WebPDFView.mm:
        (isFrameInRange):
        (-[WebPDFView pasteboardTypesForSelection]):
        (-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
        (-[WebPDFView PDFViewWillClickOnLink:withURL:]):
        * WebView/WebScriptDebugDelegate.mm:
        (-[WebScriptCallFrame _convertValueToObjcValue:]):
        * WebView/WebScriptDebugger.mm:
        (toNSString):
        (toWebFrame):
        (WebScriptDebugger::WebScriptDebugger):
        (WebScriptDebugger::sourceParsed):
        (WebScriptDebugger::handlePause):
        * WebView/WebScriptWorld.mm:
        (-[WebScriptWorld initWithWorld:]):
        (-[WebScriptWorld init]):
        (+[WebScriptWorld standardWorld]):
        (+[WebScriptWorld scriptWorldForGlobalContext:]):
        (core):
        (+[WebScriptWorld findOrCreateWorld:]):
        * WebView/WebView.mm:
        (coreOptions):
        (coreLayoutMilestones):
        (kitLayoutMilestones):
        (kit):
        (WebKit::DeferredPageDestructor::createDeferredPageDestructor):
        (WebKit::DeferredPageDestructor::DeferredPageDestructor):
        (-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
        (+[WebView _standardUserAgentWithApplicationName:]):
        (+[WebView _reportException:inContext:]):
        (shouldEnableLoadDeferring):
        (shouldRestrictWindowFocus):
        (needsOutlookQuirksScript):
        (-[WebView _injectOutlookQuirksScript]):
        (shouldUseLegacyBackgroundSizeShorthandBehavior):
        (shouldAllowWindowOpenWithoutUserGesture):
        (WebKitInitializeGamepadProviderIfNecessary):
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
        (-[WebView _replaceCurrentHistoryItem:]):
        (-[WebView updateLayoutIgnorePendingStyleSheets]):
        (-[WebView _requestStartDataInteraction:globalPosition:]):
        (-[WebView _startDrag:]):
        (-[WebView dragDataForSession:client:global:operation:]):
        (-[WebView _didConcludeEditDrag]):
        (+[WebView _setAlwaysUsesComplexTextCodePath:]):
        (+[WebView canCloseAllWebViews]):
        (+[WebView closeAllWebViews]):
        (-[WebView _dispatchUnloadEvent]):
        (-[WebView styleAtSelectionStart]):
        (-[WebView _didFinishScrollingOrZooming]):
        (-[WebView _close]):
        (-[WebView _isProcessingUserGesture]):
        (+[WebView _enableRemoteInspector]):
        (+[WebView _disableRemoteInspector]):
        (+[WebView _disableAutoStartRemoteInspector]):
        (+[WebView _isRemoteInspectorEnabled]):
        (+[WebView _hasRemoteInspectorSession]):
        (-[WebView _setHostApplicationProcessIdentifier:auditToken:]):
        (-[WebView _loadBackForwardListFromOtherView:]):
        (-[WebView _needsKeyboardEventDisambiguationQuirks]):
        (needsSelfRetainWhileLoadingQuirk):
        (-[WebView _needsPreHTML5ParserQuirks]):
        (-[WebView _preferencesChanged:]):
        (-[WebView _cacheFrameLoadDelegateImplementations]):
        (+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]):
        (+[WebView _registerViewClass:representationClass:forURLScheme:]):
        (+[WebView _decodeData:]):
        (-[WebView _didStartProvisionalLoadForFrame:]):
        (-[WebView _checkDidPerformFirstNavigation]):
        (-[WebView _cachedResponseForURL:]):
        (+[WebView _setShouldUseFontSmoothing:]):
        (+[WebView _shouldUseFontSmoothing]):
        (+[WebView _setUsesTestModeFocusRingColor:]):
        (+[WebView _usesTestModeFocusRingColor]):
        (-[WebView setAlwaysShowVerticalScroller:]):
        (-[WebView alwaysShowVerticalScroller]):
        (-[WebView setAlwaysShowHorizontalScroller:]):
        (-[WebView setProhibitsMainFrameScrolling:]):
        (-[WebView alwaysShowHorizontalScroller]):
        (-[WebView _setMediaLayer:forPluginView:]):
        (-[WebView _attachScriptDebuggerToAllFrames]):
        (-[WebView _detachScriptDebuggerFromAllFrames]):
        (+[WebView _productivityDocumentMIMETypes]):
        (-[WebView _setFixedLayoutSize:]):
        (-[WebView _synchronizeCustomFixedPositionLayoutRect]):
        (-[WebView _viewGeometryDidChange]):
        (-[WebView _overflowScrollPositionChangedTo:forNode:isUserScroll:]):
        (+[WebView _doNotStartObservingNetworkReachability]):
        (-[WebView _touchEventRegions]):
        (-[WebView textIteratorForRect:]):
        (-[WebView _executeCoreCommandByName:value:]):
        (-[WebView _isUsingAcceleratedCompositing]):
        (-[WebView _isSoftwareRenderable]):
        (-[WebView setTracksRepaints:]):
        (-[WebView isTrackingRepaints]):
        (-[WebView resetTrackedRepaints]):
        (-[WebView trackedRepaintRects]):
        (+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
        (+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
        (+[WebView _resetOriginAccessWhitelists]):
        (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
        (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
        (-[WebView allowsNewCSSAnimationsWhileSuspended]):
        (-[WebView setAllowsNewCSSAnimationsWhileSuspended:]):
        (-[WebView cssAnimationsSuspended]):
        (-[WebView setCSSAnimationsSuspended:]):
        (+[WebView _setDomainRelaxationForbidden:forURLScheme:]):
        (+[WebView _registerURLSchemeAsSecure:]):
        (+[WebView _registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing:]):
        (-[WebView _scaleWebView:atOrigin:]):
        (-[WebView _setUseFixedLayout:]):
        (-[WebView _useFixedLayout]):
        (-[WebView _fixedLayoutSize]):
        (-[WebView _setPaginationMode:]):
        (-[WebView _paginationMode]):
        (-[WebView _listenForLayoutMilestones:]):
        (-[WebView _layoutMilestones]):
        (-[WebView _setPaginationBehavesLikeColumns:]):
        (-[WebView _paginationBehavesLikeColumns]):
        (-[WebView _setPageLength:]):
        (-[WebView _pageLength]):
        (-[WebView _setGapBetweenPages:]):
        (-[WebView _gapBetweenPages]):
        (-[WebView _setPaginationLineGridEnabled:]):
        (-[WebView _paginationLineGridEnabled]):
        (-[WebView _pageCount]):
        (+[WebView _HTTPPipeliningEnabled]):
        (+[WebView _setHTTPPipeliningEnabled:]):
        (-[WebView shouldRequestCandidates]):
        (-[WebView removePluginInstanceViewsFor:]):
        (+[WebView registerURLSchemeAsLocal:]):
        (-[WebView doWindowDidChangeScreen]):
        (-[WebView _updateScreenScaleFromWindow]):
        (-[WebView goToBackForwardItem:]):
        (-[WebView _setZoomMultiplier:isTextOnly:]):
        (-[WebView setCustomTextEncodingName:]):
        (-[WebView windowScriptObject]):
        (-[WebView setHostWindow:]):
        (-[WebView applicationFlags:]):
        (-[WebView actionMaskForDraggingInfo:]):
        (-[WebView draggingEntered:]):
        (-[WebView draggingUpdated:]):
        (-[WebView draggingExited:]):
        (-[WebView performDragOperation:]):
        (incrementFrame):
        (+[WebView registerViewClass:representationClass:forMIMEType:]):
        (-[WebView moveDragCaretToPoint:]):
        (-[WebView removeDragCaret]):
        (-[WebView mainFrameIconURL]):
        (coreTextCheckingType):
        (textCheckingResultFromNSTextCheckingResult):
        (-[WebView candidateListTouchBarItem:endSelectingCandidateAtIndex:]):
        (-[WebView candidateListTouchBarItem:changedCandidateListVisibility:]):
        (-[WebView shouldClose]):
        (aeDescFromJSValue):
        (-[WebView aeDescByEvaluatingJavaScriptFromString:]):
        (-[WebView editableDOMRangeForPoint:]):
        (-[WebView setSelectedDOMRange:affinity:]):
        (-[WebView selectedDOMRange]):
        (-[WebView selectionAffinity]):
        (-[WebView setEditable:]):
        (-[WebView setTypingStyle:]):
        (-[WebView deleteSelection]):
        (-[WebView applyStyle:]):
        (-[WebView insertDictationPhrases:metadata:]):
        (-[WebView _selectionIsCaret]):
        (-[WebView _selectionIsAll]):
        (-[WebView _simplifyMarkup:endNode:]):
        (+[WebView _setCacheModel:]):
        (-[WebView _searchWithGoogleFromMenu:]):
        (-[WebView _retrieveKeyboardUIModeFromPreferences:]):
        (-[WebView _keyboardUIMode]):
        (-[WebView _mainCoreFrame]):
        (-[WebView _clearCredentials]):
        (-[WebView _flushCompositingChanges]):
        (-[WebView _scheduleLayerFlushForPendingTileCacheRepaint]):
        (-[WebView _hasActiveVideoForControlsInterface]):
        (-[WebView _setUpPlaybackControlsManagerForMediaElement:]):
        (-[WebView handleAcceptedAlternativeText:]):
        (-[WebView _getWebCoreDictationAlternatives:fromTextAlternatives:]):
        (-[WebView _animationControllerForDictionaryLookupPopupInfo:]):
        (-[WebView _setTextIndicator:]):
        (-[WebView _setTextIndicator:withLifetime:]):
        (-[WebView _clearTextIndicatorWithAnimation:]):
        (-[WebView _showDictionaryLookupPopup:]):
        (-[WebView _dictionaryLookupPopoverWillClose:]):
        (-[WebView showFormValidationMessage:withAnchorRect:]):
        (-[WebView textTouchBar]):
        (nsTextAlignmentFromRenderStyle):
        (-[WebView updateTextTouchBar]):
        (-[WebView updateTouchBar]):
        (-[WebView candidateList]):
        (-[WebView _geolocationDidFailWithMessage:]):
        (-[WebView _resetAllGeolocationPermission]):
        (-[WebView _notificationIDForTesting:]):

2019-09-25  Megan Gardner  <megan_gardner@apple.com>

        Update selections after scrolling for iframes and hide selections while iframes and overflow scrolls are scrolling.
        https://bugs.webkit.org/show_bug.cgi?id=202125

        Reviewed by Tim Horton.

        Filling out unused functions needed for new fix.

        * WebCoreSupport/WebEditorClient.h:

2019-09-24  Alex Christensen  <achristensen@webkit.org>

        Remove SchemeRegistry's list of URL schemes allowing local storage in private browsing, which is unused
        https://bugs.webkit.org/show_bug.cgi?id=202181

        Reviewed by Geoffrey Garen.

        * WebView/WebView.mm:
        (+[WebView _registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing:]):

2019-09-21  Chris Dumez  <cdumez@apple.com>

        Reduce use of SessionID::defaultSessionID() in WebKit
        https://bugs.webkit.org/show_bug.cgi?id=202080

        Reviewed by Alex Christensen.

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::convertMainResourceLoadToDownload):

2019-09-20  Keith Rollin  <krollin@apple.com>

        Remove some support for < iOS 13
        https://bugs.webkit.org/show_bug.cgi?id=202032
        <rdar://problem/55548468>

        Reviewed by Alex Christensen.

        Remove some support for iOS versions less than 13.0.

        Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED
        and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have
        values >= 130000. This means that expressions like
        "__IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and
        "__IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True.

        This removal is part of a series of patches effecting the removal of
        dead code for old versions of iOS. This particular pass involves
        changes in which Dan Bates was involved. These changes are isolated
        from other similar changes in order to facilitate the reviewing
        process.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _handleEditingKeyEvent:]):

2019-09-18  Jer Noble  <jer.noble@apple.com>

        Add -suspend and -resumeAllMediaPlayback to WebView
        https://bugs.webkit.org/show_bug.cgi?id=201951

        Reviewed by Eric Carlson.

        * WebView/WebView.mm:
        (-[WebView suspendAllMediaPlayback]):
        (-[WebView resumeAllMediaPlayback]):
        * WebView/WebViewPrivate.h:

2019-09-18  Chris Dumez  <cdumez@apple.com>

        BlobRegistry no longer needs SessionIDs
        https://bugs.webkit.org/show_bug.cgi?id=201936

        Reviewed by Geoffrey Garen.

        BlobRegistry no longer needs SessionIDs, now that we have a single session per WebProcess.

        * WebCoreSupport/WebPlatformStrategies.mm:

2019-09-18  Chris Dumez  <cdumez@apple.com>

        CacheStorageProvider::createCacheStorageConnection() does not need to take in a SessionID
        https://bugs.webkit.org/show_bug.cgi?id=201920

        Reviewed by Geoffrey Garen.

        CacheStorageProvider::createCacheStorageConnection() does not need to take in a SessionID.
        This sessionID is no longer used now that we have a session per WebProcess.

        * WebCoreSupport/WebPlatformStrategies.mm:

2019-09-18  Chris Dumez  <cdumez@apple.com>

        Drop FrameLoaderClient::sessionID()
        https://bugs.webkit.org/show_bug.cgi?id=201916

        Reviewed by Geoffrey Garen.

        Drop FrameLoaderClient::sessionID(). The Frame can get the sessionID from its page (Which is
        what the FrameLoaderClient::sessionID() ended up doing) and other call sites at WebKit2 layer
        can get the sessionID from the WebProcess singleton.

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:

2019-09-17  Chris Dumez  <cdumez@apple.com>

        Stop calling Page::setSessionID() from WebKit2
        https://bugs.webkit.org/show_bug.cgi?id=201888

        Reviewed by Alex Christensen.

        Stop calling Page::setSessionID() from WebKit2 since Page's sessionID can never change when
        using WebKit2 (We process-swap and create a new Page in a new process when changing data
        store). Instead, we now pass the sessionID ID when constructing the Page, as part of the
        PageConfiguration structure.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):

2019-09-09  Alex Christensen  <achristensen@webkit.org>

        Disable TLS 1.0 and 1.1 in WebSockets
        https://bugs.webkit.org/show_bug.cgi?id=201573

        Reviewed by Youenn Fablet.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):

2019-09-06  Alex Christensen  <achristensen@webkit.org>

        When disabling legacy private browsing for testing, change the SessionID back to what it was, not the defaultSessionID
        https://bugs.webkit.org/show_bug.cgi?id=201480

        Reviewed by Youenn Fablet.

        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-09-06  Rob Buis  <rbuis@igalia.com>

        Add runtime flag for lazy image loading
        https://bugs.webkit.org/show_bug.cgi?id=199794

        Reviewed by Frédéric Wang.

        Remove parts of r248409 that were meant for WK1 since
        lazy image loading is WK2 only.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences lazyImageLoadingEnabled]): Deleted.
        (-[WebPreferences setLazyImageLoadingEnabled:]): Deleted.
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-09-04  Alex Christensen  <achristensen@webkit.org>

        Remove unused SPI that accesses MemoryCache directly
        https://bugs.webkit.org/show_bug.cgi?id=201468

        Reviewed by Tim Horton.

        * Misc/WebCache.h:
        * Misc/WebCache.mm:
        (+[WebCache addImageToCache:forURL:]): Deleted.
        (+[WebCache addImageToCache:forURL:forFrame:]): Deleted.
        (+[WebCache removeImageFromCacheForURL:]): Deleted.
        (+[WebCache removeImageFromCacheForURL:forFrame:]): Deleted.

2019-08-30  Keith Rollin  <krollin@apple.com>

        Remove AppKitCompatibilityDeclarations.h
        https://bugs.webkit.org/show_bug.cgi?id=201283
        <rdar://problem/54822042>

        Reviewed by Alexey Proskuryakov.

        The two copies of these files -- on in WTF, one in MiniBrowser -- are
        empty and can be removed.

        * Misc/WebNSEventExtras.m:
        * Misc/WebNSViewExtras.m:
        * WebKitPrefix.h:

2019-08-30  Keith Rollin  <krollin@apple.com>

        Remove extra braces
        https://bugs.webkit.org/show_bug.cgi?id=201285

        Reviewed by Alexey Proskuryakov.

        Some code evolved such that there was only a single statement under an
        'if' statement. The braces surrounding the single-line block can now
        be removed.

        * WebView/WebView.mm:
        (-[WebView updateMediaTouchBar]):

2019-08-29  Keith Rollin  <krollin@apple.com>

        Update .xcconfig symbols to reflect the current set of past and future product versions.
        https://bugs.webkit.org/show_bug.cgi?id=200720
        <rdar://problem/54305032>

        Reviewed by Alex Christensen.

        Remove version symbols related to old OS's we no longer support,
        ensure that version symbols are defined for OS's we do support.

        * Configurations/Base.xcconfig:
        * Configurations/DebugRelease.xcconfig:
        * Configurations/Version.xcconfig:

2019-08-29  Keith Rollin  <krollin@apple.com>

        Remove support for macOS < 10.13 (part 3)
        https://bugs.webkit.org/show_bug.cgi?id=201224
        <rdar://problem/54795934>

        Reviewed by Darin Adler.

        Remove symbols in WebKitTargetConditionals.xcconfig related to macOS
        10.13, including WK_MACOS_1013 and WK_MACOS_BEFORE_1013, and suffixes
        like _MACOS_SINCE_1013.

        * Configurations/WebKitTargetConditionals.xcconfig:

2019-08-29  Dean Jackson  <dino@apple.com>

        GenerateTAPI WebKitLegacy.tbd fails on internal iOS Simulator builds
        https://bugs.webkit.org/show_bug.cgi?id=201200

        Reverting r249211 after Dan Bernstein pointed out it will cause
        an error with the public iOS 13 SDK.

        * Misc/WebDownload.h:

2019-08-28  Dean Jackson  <dino@apple.com>

        GenerateTAPI WebKitLegacy.tbd fails on internal iOS Simulator builds
        https://bugs.webkit.org/show_bug.cgi?id=201200

        Reviewed by Simon Fraser.

        We want to include Foundation/NSURLDownload.h if we're on
        a newer iOS.

        * Misc/WebDownload.h:

2019-08-28  Keith Rollin  <krollin@apple.com>

        Remove support for macOS < 10.13 (part 2)
        https://bugs.webkit.org/show_bug.cgi?id=201197
        <rdar://problem/54759985>

        Reviewed by Darin Adler.

        Update conditionals that reference WK_MACOS_1013 and suffixes like
        _MACOS_SINCE_1013, assuming that we're always building on 10.13 or
        later and that these conditionals are always True or False.

        See Bug 200694 for earlier changes in this area.

        * Configurations/FeatureDefines.xcconfig:

2019-08-27  Mark Lam  <mark.lam@apple.com>

        Refactor to use VM& instead of VM* at as many places as possible.
        https://bugs.webkit.org/show_bug.cgi?id=201172

        Reviewed by Yusuke Suzuki.

        * DOM/DOM.mm:
        (+[DOMNode _nodeFromJSWrapper:]):
        * DOM/DOMUtility.mm:
        (createDOMWrapper):
        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (identifierFromIdentifierRep):
        * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
        (WebKit::NetscapePluginInstanceProxy::enumerate):
        (WebKit::getObjectID):
        (WebKit::NetscapePluginInstanceProxy::addValueToArray):
        (WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
        (WebKit::NetscapePluginInstanceProxy::retainLocalObject):
        (WebKit::NetscapePluginInstanceProxy::releaseLocalObject):
        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyInstance::stringValue const):
        (WebKit::ProxyInstance::getPropertyNames):
        * WebView/WebFrame.mm:
        (-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):

2019-08-23  Chris Dumez  <cdumez@apple.com>

        [geolocation] Rename interfaces and remove [NoInterfaceObject]
        https://bugs.webkit.org/show_bug.cgi?id=200885

        Reviewed by Alex Christensen.

        * WebCoreSupport/WebGeolocationClient.h:
        * WebCoreSupport/WebGeolocationClient.mm:
        (WebGeolocationClient::lastPosition):
        * WebView/WebGeolocationPosition.mm:
        (-[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]):
        (core):
        (-[WebGeolocationPosition initWithTimestamp:latitude:longitude:accuracy:]):
        (-[WebGeolocationPosition initWithGeolocationPosition:]):
        * WebView/WebGeolocationPositionInternal.h:

2019-08-22  Andy Estes  <aestes@apple.com>

        [watchOS] Disable Content Filtering in the simulator build
        https://bugs.webkit.org/show_bug.cgi?id=201047

        Reviewed by Tim Horton.

        * Configurations/FeatureDefines.xcconfig:

2019-08-21  Tim Horton  <timothy_horton@apple.com>

        [Mail] Tapping top of message scrolls back to copied text instead of top of the message
        https://bugs.webkit.org/show_bug.cgi?id=200999
        <rdar://problem/54564878>

        Reviewed by Wenson Hsieh.

        * WebCoreSupport/WebEditorClient.h:
        * WebCoreSupport/WebEditorClient.mm:
        (WebEditorClient::shouldAllowSingleClickToChangeSelection const):
        Copy the existing behavior from EventHandler.
        We do not fix the bug in WebKitLegacy for a multitude of reasons, primarily
        because we do not know of any user impact.

2019-08-21  Ryosuke Niwa  <rniwa@webkit.org>

        Put keygen element behind a runtime flag and disable it by default
        https://bugs.webkit.org/show_bug.cgi?id=200850

        Reviewed by Antti Koivisto.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (-[WebPreferences keygenElementEnabled]):
        (-[WebPreferences setKeygenElementEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-08-19  Sihui Liu  <sihui_liu@apple.com>

        Remove IDB-specific quota
        https://bugs.webkit.org/show_bug.cgi?id=196545
        <rdar://problem/54201783>

        Reviewed by Youenn Fablet.

        * Storage/WebDatabaseManager.mm:
        (-[WebDatabaseManager setIDBPerOriginQuota:]): Deleted.
        * Storage/WebDatabaseManagerPrivate.h:

2019-08-18  Yusuke Suzuki  <ysuzuki@apple.com>

        [WTF] Add makeUnique<T>, which ensures T is fast-allocated, makeUnique / makeUniqueWithoutFastMallocCheck part
        https://bugs.webkit.org/show_bug.cgi?id=200620

        Reviewed by Geoffrey Garen.

        * History/WebHistory.mm:
        (-[WebHistoryPrivate init]):
        * History/WebHistoryItem.mm:
        (-[WebHistoryItem initFromDictionaryRepresentation:]):
        * Plugins/Hosted/NetscapePluginHostProxy.mm:
        (WKPCGetScriptableNPObjectReply):
        (WKPCBooleanReply):
        (WKPCBooleanAndDataReply):
        (WKPCInstantiatePluginReply):
        * Plugins/Hosted/ProxyInstance.mm:
        (WebKit::ProxyInstance::methodNamed):
        (WebKit::ProxyInstance::fieldNamed):
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        (-[WebHostedNetscapePluginView createPlugin]):
        * Plugins/WebNetscapePluginEventHandler.mm:
        (WebNetscapePluginEventHandler::create):
        * Plugins/WebNetscapePluginView.mm:
        (-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
        * Storage/WebDatabaseManagerClient.mm:
        (DidModifyOriginData::dispatchToMainThread):
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (addRedirectURL):
        (WebFrameLoaderClient::savePlatformDataToCachedFrame):
        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorClient::openLocalFrontend):
        * WebView/WebDeviceOrientationProviderMock.mm:
        * WebView/WebFrame.mm:
        (-[WebFrame _attachScriptDebugger]):
        * WebView/WebMediaPlaybackTargetPicker.mm:
        (WebMediaPlaybackTargetPicker::create):
        * WebView/WebTextIterator.mm:
        (-[WebTextIterator initWithRange:]):
        * WebView/WebView.mm:
        (-[WebView _injectOutlookQuirksScript]):
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
        (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
        (-[WebView _selectionServiceController]):
        (-[WebView _setTextIndicator:withLifetime:]):
        * WebView/WebViewData.mm:
        (WebViewLayerFlushScheduler::WebViewLayerFlushScheduler):
        (-[WebViewPrivate init]):

2019-08-17  Darin Adler  <darin@apple.com>

        Tidy up checks to see if a character is in the Latin-1 range by using isLatin1 consistently
        https://bugs.webkit.org/show_bug.cgi?id=200861

        Reviewed by Ross Kirsling.

        * Misc/WebKitNSStringExtras.mm:
        (canUseFastRenderer): Use isLatin1.

2019-08-16  Chris Dumez  <cdumez@apple.com>

        LocalStorageDatabaseTracker does not need to subclass ThreadSafeRefCounted
        https://bugs.webkit.org/show_bug.cgi?id=200825

        Reviewed by Alex Christensen.

        * Misc/WebKitVersionChecks.h:
        * Storage/WebStorageManager.mm:
        (WebKitInitializeStorageIfNecessary):

2019-08-16  Ryosuke Niwa  <rniwa@webkit.org>

        Split tabIndex computation for DOM and the rest of WebCore
        https://bugs.webkit.org/show_bug.cgi?id=200806

        Reviewed by Chris Dumez.

        * DOM/DOMHTMLElement.mm:
        (-[DOMHTMLElement tabIndex]):
        (-[DOMHTMLElement setTabIndex:]):

2019-08-15  Yusuke Suzuki  <ysuzuki@apple.com>

        [WTF] Add makeUnique<T>, which ensures T is fast-allocated, WTF_MAKE_FAST_ALLOCATED annotation part
        https://bugs.webkit.org/show_bug.cgi?id=200620

        Reviewed by Geoffrey Garen.

        * Plugins/Hosted/NetscapePluginInstanceProxy.h:
        * Plugins/Hosted/WebHostedNetscapePluginView.mm:
        * Plugins/WebNetscapePluginEventHandlerCocoa.h:
        * Storage/WebDatabaseManagerClient.mm:
        * WebCoreSupport/WebAlternativeTextClient.h:
        * WebCoreSupport/WebCachedFramePlatformData.h:
        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebContextMenuClient.h:
        * WebCoreSupport/WebDragClient.h:
        * WebCoreSupport/WebEditorClient.h:
        * WebCoreSupport/WebGeolocationClient.h:
        * WebCoreSupport/WebInspectorClient.h:
        * WebCoreSupport/WebNotificationClient.h:
        * WebCoreSupport/WebSelectionServiceController.h:
        * WebView/WebMediaPlaybackTargetPicker.h:

2019-08-15  Tim Horton  <timothy_horton@apple.com>

        Yellow Lookup highlight gets stuck over Mail messages
        https://bugs.webkit.org/show_bug.cgi?id=200778
        <rdar://problem/53868514>

        Reviewed by Wenson Hsieh.

        * WebView/WebView.mm:
        (-[WebView _showDictionaryLookupPopup:]):
        Add a dismissal callback so that when Reveal hides the panel, it also
        dismisses the yellow indicator. This matches the behavior in modern WebKit.

2019-08-15  Sihui Liu  <sihui_liu@apple.com>

        Some improvements on web storage
        https://bugs.webkit.org/show_bug.cgi?id=200373

        Reviewed by Geoffrey Garen.

        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]): notify storageNamespaceProvider about session change.

2019-08-15  Youenn Fablet  <youenn@apple.com>

        Always create a Document with a valid SessionID
        https://bugs.webkit.org/show_bug.cgi?id=200727

        Reviewed by Alex Christensen.

        Implement WebKit1 sessionID getter like done for WebKit2.
        Either the loader client has a page in which case the page session ID is used
        or the client has no page, in which case the default session ID is used.
        This is the same behavior as CachedResourceLoader.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::sessionID const):

2019-08-15  Simon Fraser  <simon.fraser@apple.com>

        Use ObjectIdentifier<FrameIdentifierType> for frameIDs
        https://bugs.webkit.org/show_bug.cgi?id=199986

        Reviewed by Ryosuke Niwa.

        Use the strongly-typed FrameIdentifier instead of uint64_t as frame identifiers everywhere.

        * WebCoreSupport/WebFrameLoaderClient.h:
        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::frameID const):

2019-08-14  Ryan Haddad  <ryanhaddad@apple.com>

        Unreviewed, rolling out r248526.

        Caused two IndexedDB perf tests to fail

        Reverted changeset:

        "Remove IDB-specific quota"
        https://bugs.webkit.org/show_bug.cgi?id=196545
        https://trac.webkit.org/changeset/248526

2019-08-14  Keith Rollin  <krollin@apple.com>

        Remove support for macOS < 10.13
        https://bugs.webkit.org/show_bug.cgi?id=200694
        <rdar://problem/54278851>

        Reviewed by Youenn Fablet.

        Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
        __MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
        101300. This means that expressions like
        "__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
        "__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.

        * WebCoreSupport/WebEditorClient.mm:
        * WebView/PDFViewSPI.h:
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:]):
        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:shouldChangeFontReferenceColor:]):
        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inContext:topView:]): Deleted.
        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]): Deleted.
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        * WebView/WebView.mm:
        (-[WebView performDragOperation:]):
        (LayerFlushController::flushLayers):
        (-[WebView updateMediaTouchBar]):
        * WebView/WebViewData.h:

2019-08-14  Youenn Fablet  <youenn@apple.com>

        ThreadableBlobRegistry::blobSize should take a SessionID as parameter
        https://bugs.webkit.org/show_bug.cgi?id=200671

        Reviewed by ALex Christensen.

        * WebCoreSupport/WebPlatformStrategies.mm:

2019-08-13  Youenn Fablet  <youenn@apple.com>

        Blob registries should be keyed by session IDs
        https://bugs.webkit.org/show_bug.cgi?id=200567

        Reviewed by Alex Christensen.

        * WebCoreSupport/WebPlatformStrategies.mm:
        (WebPlatformStrategies::createBlobRegistry):
        Ignore sessionID parameter for WK1.

2019-08-12  Chris Dumez  <cdumez@apple.com>

        Add threading assertions to RefCounted
        https://bugs.webkit.org/show_bug.cgi?id=200507

        Reviewed by Ryosuke Niwa.

        * WebView/WebView.mm:
        (+[WebView initialize]):
        Enable new RefCounted threading assertions for WebKitLegacy.

2019-08-12  Chris Dumez  <cdumez@apple.com>

        Unreviewed, rolling out r248525.

        Revert new threading assertions while I work on fixing the
        issues they exposed

        Reverted changeset:

        "Add threading assertions to RefCounted"
        https://bugs.webkit.org/show_bug.cgi?id=200507
        https://trac.webkit.org/changeset/248525

2019-08-12  Youenn Fablet  <youenn@apple.com>

        Remove IDB-specific quota
        https://bugs.webkit.org/show_bug.cgi?id=196545

        Reviewed by Alex Christensen.

        * Storage/WebDatabaseManager.mm:
        (-[WebDatabaseManager setIDBPerOriginQuota:]): Deleted.
        * Storage/WebDatabaseManagerPrivate.h:

2019-08-11  Chris Dumez  <cdumez@apple.com>

        Add threading assertions to RefCounted
        https://bugs.webkit.org/show_bug.cgi?id=200507

        Reviewed by Ryosuke Niwa.

        * WebView/WebView.mm:
        (+[WebView initialize]):
        Enable new RefCounted threading assertions for WebKitLegacy.

2019-08-10  Tim Horton  <timothy_horton@apple.com>

        Remove some more unused 32-bit code
        https://bugs.webkit.org/show_bug.cgi?id=200607

        Reviewed by Alexey Proskuryakov.

        * Configurations/WebKitLegacy.xcconfig:
        * Misc/WebSharingServicePickerController.mm:
        (-[WebSharingServicePickerController initWithItems:includeEditorServices:client:style:]):
        (-[WebSharingServicePickerController initWithSharingServicePicker:client:]):
        (-[WebSharingServicePickerController sharingService:didShareItems:]):
        * Plugins/WebNetscapePluginEventHandler.mm:
        * Plugins/WebNetscapePluginEventHandlerCarbon.h: Removed.
        * Plugins/WebNetscapePluginEventHandlerCarbon.mm: Removed.
        * Plugins/WebNetscapePluginEventHandlerCocoa.h:
        (WebNetscapePluginEventHandlerCocoa::installKeyEventHandler): Deleted.
        (WebNetscapePluginEventHandlerCocoa::removeKeyEventHandler): Deleted.
        * Plugins/WebNetscapePluginEventHandlerCocoa.mm:
        (WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
        (WebNetscapePluginEventHandlerCocoa::keyDown):
        (WebNetscapePluginEventHandlerCocoa::focusChanged):
        (WebNetscapePluginEventHandlerCocoa::installKeyEventHandler): Deleted.
        (WebNetscapePluginEventHandlerCocoa::removeKeyEventHandler): Deleted.
        (WebNetscapePluginEventHandlerCocoa::TSMEventHandler): Deleted.
        (WebNetscapePluginEventHandlerCocoa::handleTSMEvent): Deleted.
        * WebCoreSupport/WebContextMenuClient.mm:
        (WebContextMenuClient::contextMenuForEvent):
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]):
        (-[WebHTMLView pressureChangeWithEvent:]):
        * WebView/WebView.mm:
        (LayerFlushController::flushLayers):

2019-08-08  Rob Buis  <rbuis@igalia.com>

        Add runtime flag for lazy image loading
        https://bugs.webkit.org/show_bug.cgi?id=199794

        Reviewed by Darin Adler.

        Set lazyImageLoading runtime flag if preference is set.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences lazyImageLoadingEnabled]):
        (-[WebPreferences setLazyImageLoadingEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-08-07  Priyanka Agarwal  <pagarwal999@apple.com>

        Allow clients to toggle a text input field between being viewable and having characters hidden while maintaining 
        a yellow auto-filled appearance
        https://bugs.webkit.org/show_bug.cgi?id=200037
        rdar://problem/51900961

        Reviewed by Daniel Bates.

        * DOM/WebDOMOperations.mm:
        (-[DOMHTMLInputElement _isAutoFilledAndViewable]):
        (-[DOMHTMLInputElement _setAutoFilledAndViewable:]):
        * DOM/WebDOMOperationsPrivate.h:

2019-08-02  Keith Rollin  <krollin@apple.com>

        Consistently use Obj-C boolean literals
        https://bugs.webkit.org/show_bug.cgi?id=200405
        <rdar://problem/53880043>

        Reviewed by Simon Fraser, Joseph Pecoraro.

        There are places where we use equivalent but different expressions for
        Obj-C boolean objects. For example, we use both [NSNumber
        numberWithBool:YES] and @YES. There are places where both are used in
        the same function, such as -[WebPreferences initialize]. The boolean
        literal is in greater use and is more succinct, so standardize on
        that. Also, change @(YES/NO) to @YES/NO.

        * History/WebHistoryItem.mm:
        * WebView/WebFrame.mm:
        (-[WebFrame _cacheabilityDictionary]):
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

2019-08-01  Alex Christensen  <achristensen@webkit.org>

        Move FormData zip file generation to NetworkProcess and enable it for all WebKit clients for uploading directories
        https://bugs.webkit.org/show_bug.cgi?id=200102
        <rdar://problem/53275114>

        Reviewed by Darin Adler.

        * DefaultDelegates/WebDefaultUIDelegate.mm:
        (-[WebDefaultUIDelegate webView:shouldReplaceUploadFile:usingGeneratedFilename:]): Deleted.
        (-[WebDefaultUIDelegate webView:generateReplacementFile:]): Deleted.
        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::shouldReplaceWithGeneratedFileForUpload): Deleted.
        (WebChromeClient::generateReplacementFile): Deleted.
        * WebView/WebUIDelegatePrivate.h:

2019-07-25  Dean Jackson  <dino@apple.com>

        Add helper for ignoring deprecated implementation warnings
        https://bugs.webkit.org/show_bug.cgi?id=200135

        Reviewed by Wenson Hsieh.

        Add ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN/END macro which
        is IGNORE_WARNINGS_BEGIN("deprecated-implementations")

        * Misc/WebDownload.mm:
        (-[WebDownload initWithRequest:delegate:]):
        * Misc/WebIconDatabase.mm:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
        (-[WebBaseNetscapePluginView IGNORE_WARNINGS_END]): Deleted.
        * WebView/WebDynamicScrollBarsView.mm:
        (-[WebDynamicScrollBarsView ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
        (-[WebDynamicScrollBarsView IGNORE_WARNINGS_END]): Deleted.
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView draggingSourceOperationMaskForLocal:]):
        (-[WebHTMLView draggedImage:endedAt:operation:]):
        (-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
        (-[WebHTMLView accessibilityAttributeValue:]):
        (-[WebHTMLView ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
        (-[WebHTMLView characterIndexForPoint:]):
        (-[WebHTMLView firstRectForCharacterRange:]):
        (-[WebHTMLView attributedSubstringFromRange:]):
        (-[WebHTMLView setMarkedText:selectedRange:]):
        (-[WebHTMLView doCommandBySelector:]):
        (-[WebHTMLView insertText:]):
        (-[WebHTMLView IGNORE_WARNINGS_END]): Deleted.

2019-07-23  Wenson Hsieh  <wenson_hsieh@apple.com>

        [macOS 10.15] Web process crashes when attempting to show the font panel via Font > Show Fonts
        https://bugs.webkit.org/show_bug.cgi?id=200021
        <rdar://problem/53301325>

        Reviewed by Ryosuke Niwa.

        Implement a new editing client hook. In WebKit1, this always returns true on macOS and false on iOS.

        * WebCoreSupport/WebEditorClient.h:

2019-07-22  Simon Fraser  <simon.fraser@apple.com>

        Fix WebView iframe rendering in macOS Catalina
        https://bugs.webkit.org/show_bug.cgi?id=200022
        rdar://problem/49102040

        Reviewed by Darin Adler.

        Adapt to internal NSView method renames in Catalina.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inContext:topView:]):
        (-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inContext:topView:]): Deleted.

2019-07-22  Simon Fraser  <simon.fraser@apple.com>

        Enable CSSOMViewScrollingAPIEnabled in WebKit1
        https://bugs.webkit.org/show_bug.cgi?id=200008
        rdar://problem/53409062

        Reviewed by Tim Horton.

        Default WebKitCSSOMViewScrollingAPIEnabledPreferenceKey to YES, so that 
        CSSOMViewScrollingAPIEnabled is on for both WebKit1 and WebKit2.

        DumpRenderTree already turns this preference on, so this change is not
        detected by tests.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):

2019-07-22  Youenn Fablet  <youenn@apple.com>

        Disable MediaRecorder for legacy WebKit
        https://bugs.webkit.org/show_bug.cgi?id=200001
        <rdar://problem/53400030>

        Reviewed by Eric Carlson.

        Disable MediaRecorder by default in legacy WebKit.
        Add SPI to set/get this preference.

        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences _mediaRecorderEnabled]):
        (-[WebPreferences _setMediaRecorderEnabled:]):
        * WebView/WebPreferencesPrivate.h:

2019-07-18  Alex Christensen  <achristensen@webkit.org>

        Unify builds in WebKitLegacy/mac/DOM
        https://bugs.webkit.org/show_bug.cgi?id=199771

        Reviewed by Geoffrey Garen.

        * DOM/DOMAbstractView.mm:
        * DOM/DOMAttr.mm:
        * DOM/DOMBlob.mm:
        * DOM/DOMCDATASection.mm:
        * DOM/DOMCSSFontFaceRule.mm:
        * DOM/DOMCSSImportRule.mm:
        * DOM/DOMCSSMediaRule.mm:
        * DOM/DOMCSSPageRule.mm:
        * DOM/DOMCSSPrimitiveValue.mm:
        * DOM/DOMCSSRule.mm:
        * DOM/DOMCSSRuleList.mm:
        * DOM/DOMCSSStyleDeclaration.mm:
        * DOM/DOMCSSStyleRule.mm:
        * DOM/DOMCSSStyleSheet.mm:
        * DOM/DOMCSSUnknownRule.mm:
        * DOM/DOMCSSValue.mm:
        * DOM/DOMCSSValueList.mm:
        * DOM/DOMCharacterData.mm:
        * DOM/DOMComment.mm:
        * DOM/DOMCounter.mm:
        * DOM/DOMDocument.mm:
        * DOM/DOMDocumentFragment.mm:
        * DOM/DOMDocumentType.mm:
        * DOM/DOMEvent.mm:
        * DOM/DOMFile.mm:
        * DOM/DOMFileList.mm:
        * DOM/DOMHTMLAnchorElement.mm:
        * DOM/DOMHTMLAppletElement.mm:
        * DOM/DOMHTMLAreaElement.mm:
        * DOM/DOMHTMLBRElement.mm:
        * DOM/DOMHTMLBaseElement.mm:
        * DOM/DOMHTMLBaseFontElement.mm:
        * DOM/DOMHTMLBodyElement.mm:
        * DOM/DOMHTMLButtonElement.mm:
        * DOM/DOMHTMLCanvasElement.mm:
        * DOM/DOMHTMLCollection.mm:
        * DOM/DOMHTMLDListElement.mm:
        * DOM/DOMHTMLDirectoryElement.mm:
        * DOM/DOMHTMLDivElement.mm:
        * DOM/DOMHTMLDocument.mm:
        * DOM/DOMHTMLElement.mm:
        * DOM/DOMHTMLEmbedElement.mm:
        * DOM/DOMHTMLFieldSetElement.mm:
        * DOM/DOMHTMLFontElement.mm:
        * DOM/DOMHTMLFormElement.mm:
        * DOM/DOMHTMLFrameElement.mm:
        * DOM/DOMHTMLFrameSetElement.mm:
        * DOM/DOMHTMLHRElement.mm:
        * DOM/DOMHTMLHeadElement.mm:
        * DOM/DOMHTMLHeadingElement.mm:
        * DOM/DOMHTMLHtmlElement.mm:
        * DOM/DOMHTMLIFrameElement.mm:
        * DOM/DOMHTMLImageElement.mm:
        * DOM/DOMHTMLInputElement.mm:
        * DOM/DOMHTMLLIElement.mm:
        * DOM/DOMHTMLLabelElement.mm:
        * DOM/DOMHTMLLegendElement.mm:
        * DOM/DOMHTMLLinkElement.mm:
        * DOM/DOMHTMLMapElement.mm:
        * DOM/DOMHTMLMarqueeElement.mm:
        * DOM/DOMHTMLMediaElement.mm:
        * DOM/DOMHTMLMenuElement.mm:
        * DOM/DOMHTMLMetaElement.mm:
        * DOM/DOMHTMLModElement.mm:
        * DOM/DOMHTMLOListElement.mm:
        * DOM/DOMHTMLObjectElement.mm:
        * DOM/DOMHTMLOptGroupElement.mm:
        * DOM/DOMHTMLOptionElement.mm:
        * DOM/DOMHTMLOptionsCollection.mm:
        * DOM/DOMHTMLParagraphElement.mm:
        * DOM/DOMHTMLParamElement.mm:
        * DOM/DOMHTMLPreElement.mm:
        * DOM/DOMHTMLQuoteElement.mm:
        * DOM/DOMHTMLScriptElement.mm:
        * DOM/DOMHTMLSelectElement.mm:
        * DOM/DOMHTMLStyleElement.mm:
        * DOM/DOMHTMLTableCaptionElement.mm:
        * DOM/DOMHTMLTableCellElement.mm:
        * DOM/DOMHTMLTableColElement.mm:
        * DOM/DOMHTMLTableElement.mm:
        * DOM/DOMHTMLTableRowElement.mm:
        * DOM/DOMHTMLTableSectionElement.mm:
        * DOM/DOMHTMLTitleElement.mm:
        * DOM/DOMHTMLUListElement.mm:
        * DOM/DOMHTMLVideoElement.mm:
        * DOM/DOMKeyboardEvent.mm:
        * DOM/DOMMediaError.mm:
        * DOM/DOMMediaList.mm:
        * DOM/DOMMouseEvent.mm:
        * DOM/DOMMutationEvent.mm:
        * DOM/DOMNamedNodeMap.mm:
        * DOM/DOMNodeIterator.mm:
        * DOM/DOMNodeList.mm:
        * DOM/DOMOverflowEvent.mm:
        * DOM/DOMProcessingInstruction.mm:
        * DOM/DOMProgressEvent.mm:
        * DOM/DOMRGBColor.mm:
        * DOM/DOMRange.mm:
        * DOM/DOMRect.mm:
        * DOM/DOMStyleSheet.mm:
        * DOM/DOMStyleSheetList.mm:
        * DOM/DOMText.mm:
        * DOM/DOMTextEvent.mm:
        * DOM/DOMTimeRanges.mm:
        * DOM/DOMTokenList.mm:
        * DOM/DOMTreeWalker.mm:
        * DOM/DOMUIEvent.mm:
        * DOM/DOMWheelEvent.mm:
        * DOM/DOMXPath.mm:
        * DOM/DOMXPathExpression.mm:
        * DOM/DOMXPathResult.mm:

2019-07-17  Antoine Quint  <graouts@apple.com>

        Disable Pointer Events prior to watchOS 6
        https://bugs.webkit.org/show_bug.cgi?id=199890
        <rdar://problem/53206113>

        Reviewed by Dean Jackson.

        * Configurations/FeatureDefines.xcconfig:

2019-07-17  Zalan Bujtas  <zalan@apple.com>

        Unable to tap buttons at top of Wells Fargo app’s Payees screen
        https://bugs.webkit.org/show_bug.cgi?id=199846
        <rdar://problem/48112220>

        Reviewed by Simon Fraser.

        * WebView/WebFrame.mm:
        (-[WebFrame approximateNodeAtViewportLocation:]):

2019-07-17  Alex Christensen  <achristensen@webkit.org>

        Add a runtime-disabled dialog element skeleton
        https://bugs.webkit.org/show_bug.cgi?id=199839

        Reviewed by Ryosuke Niwa.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences dialogElementEnabled]):
        (-[WebPreferences setDialogElementEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):
        Add SPI to enable the dialog element for tests.

2019-07-15  Dean Jackson  <dino@apple.com>

        [WebGL] Remove software rendering and simplify context creation on macOS
        https://bugs.webkit.org/show_bug.cgi?id=199789

        Reviewed by Sam Weinig.

        Remove force software WebGL setting.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences forceSoftwareWebGLRendering]): Deleted.
        (-[WebPreferences setForceSoftwareWebGLRendering:]): Deleted.
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-07-13  Zalan Bujtas  <zalan@apple.com>

        Cannot bring up custom media controls at all on v.youku.com
        https://bugs.webkit.org/show_bug.cgi?id=199699
        <rdar://problem/51835327>

        Reviewed by Simon Fraser.

        * WebCoreSupport/WebFrameLoaderClient.mm:
        (WebFrameLoaderClient::actionDictionary const):
        * WebView/WebFrame.mm:
        (-[WebFrame elementAtPoint:]):
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView elementAtPoint:allowShadowContent:]):
        * WebView/WebImmediateActionController.mm:
        (-[WebImmediateActionController performHitTestAtPoint:]):

2019-07-12  Alex Christensen  <achristensen@webkit.org>

        Begin unifying WebKitLegacy sources
        https://bugs.webkit.org/show_bug.cgi?id=199730

        Reviewed by Keith Miller.

        * Configurations/WebKitLegacy.xcconfig:

2019-07-11  Pablo Saavedra  <psaavedra@igalia.com>

        [WPE][GTK] Build failure with ENABLE_ACCESSIBILITY=OFF
        https://bugs.webkit.org/show_bug.cgi?id=199625

        Added ENABLE(ACCESSIBILITY) and replaced HAVE(ACCESSIBILITY)
        with ENABLE(ACCESSIBILITY) in the code.

        Additionally, the TestRunner code generator now honors the
        Conditional IDL format.

        Reviewed by Konstantin Tokarev.

        * WebView/WebFrame.mm:
        (-[WebFrame setAccessibleName:]):
        (-[WebFrame enhancedAccessibilityEnabled]):
        (-[WebFrame setEnhancedAccessibility:]):
        (-[WebFrame accessibilityRoot]):

2019-07-08  Antoine Quint  <graouts@apple.com>

        [Pointer Events] Enable only on the most recent version of the supported iOS family
        https://bugs.webkit.org/show_bug.cgi?id=199562
        <rdar://problem/52766511>

        Reviewed by Dean Jackson.

        * Configurations/FeatureDefines.xcconfig:

2019-07-03  Sam Weinig  <weinig@apple.com>

        Adopt simple structured bindings in more places
        https://bugs.webkit.org/show_bug.cgi?id=199247

        Reviewed by Alex Christensen.

        Replaces simple uses of std::tie() with structured bindings. Does not touch
        uses of std::tie() that are not initial declarations, use std::ignore or in
        case where the binding is captured by a lambda, as structured bindings don't
        work for those cases yet.

        * WebView/WebImmediateActionController.mm:
        (-[WebImmediateActionController _animationControllerForText]):

2019-07-02  Devin Rousso  <drousso@apple.com>

        Web Inspector: Debug: "Reset Web Inspector" should also clear the saved window size and attachment side
        https://bugs.webkit.org/show_bug.cgi?id=198956

        Reviewed by Matt Baker.

        * WebCoreSupport/WebInspectorClient.h:
        * WebCoreSupport/WebInspectorClient.mm:
        (WebInspectorFrontendClient::resetWindowState): Added.

2019-06-28  Timothy Hatcher  <timothy@apple.com>

        Rename effectiveAppearanceIsInactive and useInactiveAppearance to better match UIUserInterfaceLevel.
        https://bugs.webkit.org/show_bug.cgi?id=199336
        rdar://problem/52348938

        Reviewed by Tim Horton.

        * WebView/WebView.mm:
        (-[WebView _commonInitializationWithFrameName:groupName:]):
        (-[WebView _setUseDarkAppearance:]):
        (-[WebView _useElevatedUserInterfaceLevel]):
        (-[WebView _setUseElevatedUserInterfaceLevel:]):
        (-[WebView _setUseDarkAppearance:useInactiveAppearance:]):
        (-[WebView _setUseDarkAppearance:useElevatedUserInterfaceLevel:]):
        (-[WebView _effectiveUserInterfaceLevelIsElevated]):
        (-[WebView viewDidChangeEffectiveAppearance]):
        (-[WebView _useInactiveAppearance]): Deleted.
        (-[WebView _setUseInactiveAppearance:]): Deleted.
        (-[WebView _effectiveAppearanceIsInactive]): Deleted.
        * WebView/WebViewPrivate.h:

2019-06-28  Konstantin Tokarev  <annulen@yandex.ru>

        Remove traces of ENABLE_ICONDATABASE remaining after its removal in 219733
        https://bugs.webkit.org/show_bug.cgi?id=199317

        Reviewed by Michael Catanzaro.

        While IconDatabase and all code using it was removed,
        ENABLE_ICONDATABASE still exists as build option and C++ macro.

        * Configurations/FeatureDefines.xcconfig:
        * WebView/WebView.mm:
        (-[WebView _cacheFrameLoadDelegateImplementations]): Use PLATFORM(MAC)
        guard instead of ENABLE_ICONDATABASE, because ENABLE_ICONDATABASE was
        enabled for macOS only.

2019-06-27  Timothy Hatcher  <timothy@apple.com>

        Move WebKitLegacy off of a couple AppKit ivars.
        https://bugs.webkit.org/show_bug.cgi?id=199279
        rdar://problem/34983438

        Reviewed by Tim Horton.

        * WebView/WebHTMLView.mm:
        (-[NSView _setSubviewsIvar:]): Added. Implement on older systems.
        (-[NSView _subviewsIvar]): Added. Ditto.
        (needsCursorRectsSupportAtPoint): Use _borderView property.
        (-[WebHTMLView _setAsideSubviews]): Use _subviewsIvar property.
        (-[NSWindow _web_borderView]): Deleted.

2019-06-27  Beth Dakin  <bdakin@apple.com>

        Upstream use of MACCATALYST
        https://bugs.webkit.org/show_bug.cgi?id=199245
        rdar://problem/51687723

        Reviewed by Tim Horton.

        * Configurations/Base.xcconfig:
        * Configurations/FeatureDefines.xcconfig:
        * Configurations/SDKVariant.xcconfig:

2019-06-27  Saam Barati  <sbarati@apple.com>

        Make WEBGPU enabled only on Mojave and later.

        Rubber-stamped by Myles C. Maxfield.

        * Configurations/FeatureDefines.xcconfig:

2019-06-16  Darin Adler  <darin@apple.com>

        Rename AtomicString to AtomString
        https://bugs.webkit.org/show_bug.cgi?id=195276

        Reviewed by Michael Catanzaro.

        * many files: Let do-webcore-rename do the renaming.

2019-06-14  Megan Gardner  <megan_gardner@apple.com>

        Move Synthetic Editing Commands to behind an experimental feature flag
        https://bugs.webkit.org/show_bug.cgi?id=198842
        <rdar://problem/50594700>

        Reviewed by Simon Fraser.

        Add plumbing for synthetic editing command feature flag.

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences syntheticEditingCommandsEnabled]):
        (-[WebPreferences setSyntheticEditingCommandsEnabled:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

2019-06-13  Antoine Quint  <graouts@apple.com>

        REGRESSION (r246103) [ Mojave+ WK1 ] Layout Test scrollbars/scrollbar-iframe-click-does-not-blur-content.html is timing out
        https://bugs.webkit.org/show_bug.cgi?id=198800
        <rdar://problem/51679634>

        Reviewed by Tim Horton.

        Expose a private method that we need to use from DumpRenderTree.

        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _hitViewForEvent:]):
        * WebView/WebHTMLViewPrivate.h:

2019-06-10  Sam Weinig  <weinig@apple.com>

        Remove Dashboard support
        https://bugs.webkit.org/show_bug.cgi?id=198615

        Reviewed by Ryosuke Niwa.

        Removes implementation, but keeps privatly exported interfaces and enums
        around until we can confirm there are no more users of them. 

        * Configurations/FeatureDefines.xcconfig:
        * Plugins/WebBaseNetscapePluginView.mm:
        (-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:]):
        * WebCoreSupport/WebChromeClient.h:
        * WebCoreSupport/WebChromeClient.mm:
        (WebChromeClient::annotatedRegionsChanged): Deleted.
        * WebView/WebClipView.mm:
        (-[WebClipView _focusRingVisibleRect]):
        (-[WebClipView scrollWheel:]):
        * WebView/WebDashboardRegion.h:
        * WebView/WebDashboardRegion.mm:
        * WebView/WebHTMLView.mm:
        (-[WebHTMLView _updateMouseoverWithEvent:]):
        (-[WebHTMLView acceptsFirstMouse:]):
        (-[WebHTMLView setDataSource:]):
        * WebView/WebPreferences.mm:
        (cacheModelForMainBundle):
        * WebView/WebUIDelegatePrivate.h:
        * WebView/WebView.mm:
        (-[WebView _needsPreHTML5ParserQuirks]):
        (-[WebView _preferencesChanged:]):
        (-[WebView _addScrollerDashboardRegions:]):
        (-[WebView _dashboardRegions]):
        (-[WebView _setDashboardBehavior:to:]):
        (-[WebView _dashboardBehavior:]):
        (-[WebView _addControlRect:clip:fromView:toDashboardRegions:]): Deleted.
        (-[WebView _addScrollerDashboardRegionsForFrameView:dashboardRegions:]): Deleted.
        (-[WebView _addScrollerDashboardRegions:from:]): Deleted.
        * WebView/WebViewData.h:
        * WebView/WebViewData.mm:
        (-[WebViewPrivate init]):
        * WebView/WebViewPrivate.h:

2019-06-10  Timothy Hatcher  <timothy@apple.com>

        Integrate dark mode support for iOS.
        https://bugs.webkit.org/show_bug.cgi?id=198687
        rdar://problem/51545643

        Reviewed by Tim Horton.

        * Configurations/FeatureDefines.xcconfig:

2019-06-07  Said Abou-Hallawa  <sabouhallawa@apple.com>

        REGRESSION (r244182) [WK1]: Page updates should always scheduleCompositingLayerFlush() immediately
        https://bugs.webkit.org/show_bug.cgi?id=198664

        Reviewed by Simon Fraser.

        WK1 has to skip using DisplayRefreshMonitor when layers need to be updated.

        * WebCoreSupport/WebChromeClient.h:
        (WebChromeClient::needsImmediateScheduleCompositingLayerFlush):

== Rolled over to ChangeLog-2019-06-05 ==