2020-10-14 Alan Coon Cherry-pick r268371. rdar://problem/70267767 [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 Patch by Luming Yin on 2020-10-12 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. PerformanceTests: * DecoderTest/Configurations/DebugRelease.xcconfig: * MediaTime/Configurations/DebugRelease.xcconfig: Source/bmalloc: * Configurations/DebugRelease.xcconfig: Source/JavaScriptCore: * Configurations/DebugRelease.xcconfig: Source/ThirdParty: * gtest/xcode/Config/General.xcconfig: Source/ThirdParty/ANGLE: * Configurations/DebugRelease.xcconfig: Source/ThirdParty/libwebrtc: * Configurations/DebugRelease.xcconfig: Source/WebCore: * Configurations/DebugRelease.xcconfig: Source/WebCore/PAL: * Configurations/DebugRelease.xcconfig: Source/WebInspectorUI: * Configurations/DebugRelease.xcconfig: Source/WebKit: * Configurations/DebugRelease.xcconfig: Source/WebKitLegacy/mac: * Configurations/DebugRelease.xcconfig: Source/WTF: * Configurations/DebugRelease.xcconfig: Tools: * ContentExtensionTester/Configurations/DebugRelease.xcconfig: * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: * ImageDiff/cg/Configurations/DebugRelease.xcconfig: * MiniBrowser/Configurations/DebugRelease.xcconfig: * TestWebKitAPI/Configurations/DebugRelease.xcconfig: * WebEditingTester/Configurations/DebugRelease.xcconfig: * WebKitTestRunner/Configurations/DebugRelease.xcconfig: * lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268371 268f45cc-cd09-0410-ab3c-d52691b4dbfc 2020-10-12 Luming Yin [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-14 Alan Coon Cherry-pick r268353. rdar://problem/70267767 [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 Patch by Luming Yin on 2020-10-12 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 is resolved. PerformanceTests: * DecoderTest/Configurations/DebugRelease.xcconfig: * MediaTime/Configurations/DebugRelease.xcconfig: Source/bmalloc: * Configurations/DebugRelease.xcconfig: Source/JavaScriptCore: * Configurations/DebugRelease.xcconfig: Source/ThirdParty: * gtest/xcode/Config/General.xcconfig: Source/ThirdParty/ANGLE: * Configurations/DebugRelease.xcconfig: Source/ThirdParty/libwebrtc: * Configurations/DebugRelease.xcconfig: Source/WebCore: * Configurations/DebugRelease.xcconfig: Source/WebCore/PAL: * Configurations/DebugRelease.xcconfig: Source/WebInspectorUI: * Configurations/DebugRelease.xcconfig: Source/WebKit: * Configurations/DebugRelease.xcconfig: Source/WebKitLegacy/mac: * Configurations/DebugRelease.xcconfig: Source/WTF: * Configurations/DebugRelease.xcconfig: Tools: * ContentExtensionTester/Configurations/DebugRelease.xcconfig: * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: * ImageDiff/cg/Configurations/DebugRelease.xcconfig: * MiniBrowser/Configurations/DebugRelease.xcconfig: * TestWebKitAPI/Configurations/DebugRelease.xcconfig: * WebEditingTester/Configurations/DebugRelease.xcconfig: * WebKitTestRunner/Configurations/DebugRelease.xcconfig: * lldb/lldbWebKitTester/Configurations/DebugRelease.xcconfig: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268353 268f45cc-cd09-0410-ab3c-d52691b4dbfc 2020-10-12 Luming Yin [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 is resolved. * Configurations/DebugRelease.xcconfig: 2020-10-11 Kocsen Chung Cherry-pick r268330. rdar://problem/70189394 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 Patch by Luming Yin on 2020-10-11 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: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268330 268f45cc-cd09-0410-ab3c-d52691b4dbfc 2020-10-11 Luming Yin 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 Kocsen Chung Cherry-pick r268327. rdar://problem/70189401 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 Patch by Luming Yin on 2020-10-11 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: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268327 268f45cc-cd09-0410-ab3c-d52691b4dbfc 2020-10-11 Luming Yin 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-02 Alan Coon Cherry-pick r266028. rdar://problem/69904377 Move node geometry functions from Range to RenderObject https://bugs.webkit.org/show_bug.cgi?id=215677 Reviewed by Zalan Bujtas. Source/WebCore: Moved functions that return quads and rectangles out of Range into RenderObject. We could find another home for them, but for now they make sense as static member functions there since RenderObject has the non-static member functions that they call on multiple nodes. Mostly did not change the design of these functions much, and was careful not to change behavior at all. But did change a few things: - Got rid of the functions that return a single unioned rectangle. Instead callers call unionRect at each call site. - Changed the "use selection height" boolean to a BoundingRectBehavior flag. * accessibility/AccessibilityRenderObject.cpp: (WebCore::boundsForRects): Call unionRect(RenderObject::absoluteTextRects) instead of Range::absoluteBoundingBox. * dom/DocumentMarkerController.cpp: (WebCore::updateRenderedRectsForMarker): Instead of passing "true", pass "RenderObject::BoundingRectBehavior::UseSelectionHeight". * dom/Range.cpp: (WebCore::Range::absoluteBoundingBox const): Deleted. (WebCore::Range::absoluteRectsForRangeInText const): Deleted. (WebCore::Range::absoluteTextRects const): Deleted. (WebCore::Range::getClientRects const): Call RenderObject::clientBorderAndTextRects. (WebCore::Range::getBoundingClientRect const): Call unionRect(RenderObject::clientBorderAndTextRects). (WebCore::Range::borderAndTextRects const): Deleted. (WebCore::Range::boundingRect const): Deleted. (WebCore::Range::absoluteBoundingRect const): Deleted. * dom/Range.h: Updated for above. * dom/SimpleRange.cpp: (WebCore::IntersectingNodeIterator::IntersectingNodeIterator): Fix bug affecting empty ranges by calling enforceEndInvariant. (WebCore::IntersectingNodeIterator::advance): Refactor to call enforceEndInvariant. (WebCore::IntersectingNodeIterator::advanceSkippingChildren): Ditto. (WebCore::IntersectingNodeIterator::enforceEndInvariant): Added. * dom/SimpleRange.h: Added enforceEndInvariant. * editing/FrameSelection.cpp: (WebCore::FrameSelection::getClippedVisibleTextRectangles const): Instead of passing a useSelectionHeight boolean, pass BoundingRectBehavior. * page/TextIndicator.cpp: (WebCore::absoluteBoundingRectForRange): Call unionRectIgnoringZeroRects(RenderObject::absoluteBorderAndTextRects). (WebCore::initializeIndicator): Call RenderObject::absoluteTextRects. * platform/graphics/GeometryUtilities.cpp: (WebCore::unionRectIgnoringZeroRects): Added. * platform/graphics/GeometryUtilities.h: Updated for above. * rendering/RenderLineBreak.h: Marked a lot of functions final. Added a default value for the absoluteQuads out argument. * rendering/RenderObject.cpp: (WebCore::RenderObject::addPDFURLRect): Tweaked code style a bit. (WebCore::RenderObject::absoluteTextQuads): Replaced boolean useSelectionHeight argument with a BoundingRectBehavior argument. Also added a downcast so the call to RenderLineBreak::absoluteQuads is a non-virtual function call. (WebCore::absoluteRectsForRangeInText): Added. (WebCore::RenderObject::absoluteTextRects): Replaced boolean useSelectionHeight argument with a BoundingRectBehavior argument. (WebCore::nodeBefore): Added. (WebCore::borderAndTextRects): Added. (WebCore::RenderObject::absoluteBorderAndTextRects): Added. (WebCore::RenderObject::clientBorderAndTextRects): Added. * rendering/RenderObject.h: Updated for above. Source/WebKit: * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp: (WebKit::InjectedBundleRangeHandle::boundingRectInWindowCoordinates const): Call unionRectIgnoringZeroRects(RenderObject::absoluteBorderAndTextRects). (WebKit::InjectedBundleRangeHandle::renderedImage): Call unionRectIgnoringZeroRects(RenderObject::absoluteBorderAndTextRects). * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::requestEvasionRectsAboveSelection): Call unionRect(RenderObject::absoluteTextRects). (WebKit::WebPage::requestDocumentEditingContext): Call unionRect(RenderObject::absoluteTextRects). Source/WebKitLegacy/mac: * DOM/DOM.mm: (-[DOMRange boundingBox]): Call unionRect(RenderObject::absoluteTextRects). Source/WebKitLegacy/win: * AccessibleTextImpl.cpp: (AccessibleText::scrollSubstringTo): Call unionRect(RenderObject::absoluteTextRects) instead of Range::absoluteBoundingBox. LayoutTests: * fast/dom/Range/scale-page-bounding-client-rect.html: Fix this test that accidentally depended on getting rects for an empty range (the contents of a div element with no text inside it) to instead get rects for a non-empty element (the div element, not just its contents). Test now works correctly, but results don't need to change. * fast/dom/Range/scale-page-client-rects.html: Ditto. git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266028 268f45cc-cd09-0410-ab3c-d52691b4dbfc 2020-08-19 Darin Adler 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-09-03 Alan Coon Cherry-pick r266265. rdar://problem/68168939 [iOS] provide a way to get previously inserted alternatives for the selected text https://bugs.webkit.org/show_bug.cgi?id=215816 Reviewed by Darin Adler. Source/WebCore: * editing/cocoa/AlternativeTextUIController.h: * editing/cocoa/AlternativeTextUIController.mm: (WebCore::AlternativeTextUIController::alternativesForContext): Return the raw `NSTextAlternatives *` and let the caller create the `Vector` if they need to so that callers that don't can use the actual `NSTextAlternatives *`. * editing/Editor.h: * editing/Editor.cpp: (WebCore::Editor::applyDictationAlternative): Added. (WebCore::Editor::applyDictationAlternativelternative): Deleted. * page/ContextMenuController.cpp: (WebCore::ContextMenuController::contextMenuItemSelected): Drive-by: fix typo. Source/WebKit: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView alternativesForSelectedText]): * UIProcess/WebPageProxy.h: * UIProcess/Cocoa/WebPageProxyCocoa.mm: (WebKit::WebPageProxy::platformDictationAlternatives): Added. * UIProcess/PageClient.h: * UIProcess/Cocoa/PageClientImplCocoa.h: * UIProcess/Cocoa/PageClientImplCocoa.mm: (WebKit::PageClientImplCocoa::dictationAlternatives): (WebKit::PageClientImplCocoa::platformDictationAlternatives): Added. Provide a way to get the raw `NSTextAlternatives *` for a given `WebCore::DictationContext`. * Shared/EditorState.h: * Shared/EditorState.cpp: (WebKit::EditorState::PostLayoutData::encode const): (WebKit::EditorState::PostLayoutData::decode): * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::getPlatformEditorState const): Include a `Vector` as part of the `EditorState` that contains all of the `WebCore::DictationContext` that exist in the currently selected range (or the range of the word containing the cursor if nothing is selected). * Platform/spi/ios/UIKitSPI.h: Source/WebKitLegacy/mac: * WebView/WebView.mm: (-[WebView _dictationAlternatives:]): Create a `Vector` from the returned `NSTextAlternatives *` now that the member `WebCore::AlternativeTextUIController::alternativesForContext` returns it. Tools: * TestWebKitAPI/Tests/WebKitCocoa/InsertTextAlternatives.mm: (InsertTextAlternatives.Simple): * TestWebKitAPI/ios/UIKitSPI.h: git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266265 268f45cc-cd09-0410-ab3c-d52691b4dbfc 2020-08-27 Devin Rousso [iOS] provide a way to get previously inserted alternatives for the selected text https://bugs.webkit.org/show_bug.cgi?id=215816 Reviewed by Darin Adler. * WebView/WebView.mm: (-[WebView _dictationAlternatives:]): Create a `Vector` from the returned `NSTextAlternatives *` now that the member `WebCore::AlternativeTextUIController::alternativesForContext` returns it. 2020-09-01 Alan Coon Cherry-pick r266143. rdar://problem/68164547 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. Source/WebKit: Update code based on Darin's suggestion for mirror fix in legacy webkit. * UIProcess/mac/WebContextMenuProxyMac.mm: (WebKit::WebContextMenuProxyMac::getContextMenuFromItems): Source/WebKitLegacy/mac: 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): git-svn-id: https://svn.webkit.org/repository/webkit/trunk@266143 268f45cc-cd09-0410-ab3c-d52691b4dbfc 2020-08-25 Megan Gardner 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-17 David Kilzer Clean up DragApplicationFlags after switch to OptionSet<> 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. (-[WebView draggingEntered:]): (-[WebView draggingUpdated:]): (-[WebView draggingExited:]): (-[WebView performDragOperation:]): - Switch to calling -_applicationFlagsForDrag:. 2020-08-12 Keith Rollin 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 $() will inherit from earlier assignments in the .xcconfig. The legacy build system caused every use of $(inherited) or $() 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 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 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 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 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 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 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 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 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 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 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 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 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 REGRESSION (WebSQL disablement): Fudget app is unresponsive on launch https://bugs.webkit.org/show_bug.cgi?id=214620 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 Use AVRoutePickerView when available for choosing AirPlay devices https://bugs.webkit.org/show_bug.cgi?id=213497 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 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 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 Use AVRoutePickerView when available for choosing AirPlay devices https://bugs.webkit.org/show_bug.cgi?id=213497 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 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 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 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 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 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 [Catalyst] Remove SPI header from WebDownload.h https://bugs.webkit.org/show_bug.cgi?id=214004 Reviewed by Wenson Hsieh. * Misc/WebDownload.h: Remove SPI header. 2020-07-05 Commit Queue 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 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 [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 [iOS] La Banque Postale app does not respect safe area insets on iOS 14 https://bugs.webkit.org/show_bug.cgi?id=213974 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 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 [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 [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 [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 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 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 , 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 . 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 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 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 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 Remove NeedsInAppBrowserPrivacyQuirks flag from WebKitLegacy https://bugs.webkit.org/show_bug.cgi?id=213802 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 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 [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 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 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 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 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 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 Use ObjectIdentifier<>instead of WebCore::nextPlaybackTargetClientContextId() in Document.cpp 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 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 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 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 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 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 Add dependencies for Migrate Headers and Generate Export Files build phases https://bugs.webkit.org/show_bug.cgi?id=213072 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 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 [IPC] Adopt enum class for DragSourceAction Reviewed by Darin Adler. Summary: - Add and use conversion functions between OptionSet 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 to WebDragSourceAction. (-[WebView _startDrag:]): * WebView/WebViewInternal.h: (kit): Add declaration to reuse function in WebDragClient.mm. 2020-06-10 Geoffrey Garen 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 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 WebKitLegacy: Exclude NSURLConnectionSPI.h from watchOS https://bugs.webkit.org/show_bug.cgi?id=212942 Reviewed by Alexey Proskuryakov. * Misc/WebDownload.h: Exclude NSURLConnectionSPI.h from watchOS, replace CFNSURLConnection.h with NSURLConnectionSPI.h. 2020-06-08 David Kilzer [IPC] Adopt enum class for DragOperation Reviewed by Darin Adler. * WebView/WebHTMLView.mm: (kit): * WebView/WebView.mm: (coreDragOperationMask): (kit): 2020-06-07 Philippe Normand 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 Use OptionSet for mask values Reviewed by Darin Adler. In broad strokes: - Replace use of DragOperation with OptionSet or Optional. - 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 WebKitLegacy: Link to framework stubs for watchOS and tvOS https://bugs.webkit.org/show_bug.cgi?id=212855 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 WebKitLegacy: Feature guard WebChromeClient declarations https://bugs.webkit.org/show_bug.cgi?id=212857 Unreviewed build fix. * WebCoreSupport/WebChromeClient.h: m_mockVideoPresentationModeEnabled declaration should be guarded on ENABLE(VIDEO_PRESENTATION_MODE). 2020-06-05 David Kilzer [IPC] Adopt enum class for AutocapitalizeType Reviewed by Darin Adler. Summary: - Move AutocapitalizeType into WebCore namespace. - Convert AutocapitalizeType to an enum class. - Add WTF::EnumTraits for IPC. * DOM/DOMHTML.mm: (webAutocapitalizeType): 2020-06-05 David Kilzer [IPC] Adopt enum class for PluginLoadClientPolicy Reviewed by Alex Christensen. * Plugins/WebBasePluginPackage.mm: (-[WebBasePluginPackage getPluginInfoFromPLists]): - Update for renamed PluginLoadClientPolicy enum. 2020-06-05 Andy Estes [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-06-04 Tim Horton 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 [watchOS] Re-enable content filtering in the simulator build https://bugs.webkit.org/show_bug.cgi?id=212711 Reviewed by Wenson Hsieh. * Configurations/FeatureDefines.xcconfig: 2020-06-02 Keith Rollin Revert FEATURES_DEFINES related changes https://bugs.webkit.org/show_bug.cgi?id=212664 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 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 Don't use casts to convert between WebCore::DragDestinationAction and {Web,WK}DragDestinationAction types 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 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 [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 REGRESSION (r260306): Compatibility issue leading to crash on macOS games 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 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 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 [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 Revert switch to XCBuild https://bugs.webkit.org/show_bug.cgi?id=212530 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 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 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 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 :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 ^~~~~~~~~~~~~~~~ 1 error generated. sed -E -e 's/ BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/WebKitAvailability.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders sed -E -e 's/ BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/WebScriptObject.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders sed -E -e 's/ BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/npapi.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders sed -E -e 's/ BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/npfunctions.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders sed -E -e 's/ BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/npruntime.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders sed -E -e 's/ 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 :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 ^~~~~~~~~~~~~~~~ 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 [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 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 Use OptionSet for mask values Reviewed by Alex Christensen. * WebCoreSupport/WebDragClient.mm: (WebDragClient::willPerformDragDestinationAction): * WebView/WebView.mm: (-[WebView dragDataForSession:client:global:operation:]): (-[WebView actionMaskForDraggingInfo:]): 2020-05-26 Keith Rollin Enable the use of XCBuild by default in Apple builds https://bugs.webkit.org/show_bug.cgi?id=209890 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 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 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 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 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 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 Replace TextIndicatorOptions with OptionSet Reviewed by Simon Fraser. Use OptionSet 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 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 http/tests/ssl/applepay/ApplePayInstallmentConfiguration.https.html fails in public SDK builds https://bugs.webkit.org/show_bug.cgi?id=212000 Reviewed by Youenn Fablet. * Configurations/FeatureDefines.xcconfig: 2020-05-15 Alex Christensen 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 Regression(r254856) Family Health iOS app is broken due to lack for WebSQL support https://bugs.webkit.org/show_bug.cgi?id=211896 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 [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 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 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 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 Fix deprecated NSGraphicsContext methods using 'graphicsPort' 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 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 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 [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 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 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 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 Remove -[WebView setCSSAnimationsSuspended:] https://bugs.webkit.org/show_bug.cgi?id=211227 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 [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 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 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 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 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 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 [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 [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 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 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 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 Make LEGACY_PDF_SUPPORT feature flag. https://bugs.webkit.org/show_bug.cgi?id=210868 Reviewed by Tim Horton. * WebView/WebFrameView.mm: (+[WebFrameView _viewTypesAllowImageTypeOmission:]): * WebView/WebView.mm: 2020-04-24 Antoine Quint 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 Jesus Calling app needs more WebSQL https://bugs.webkit.org/show_bug.cgi?id=210889 Reviewed by Chris Dumez. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): 2020-04-22 Darin Adler [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 [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 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 [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 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 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 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 -[WebPreferences initWithCoder:] should use -[NSCoder decodeValueOfObjCType:at:size:] Reviewed by Anders Carlsson. * WebView/WebPreferences.mm: (-[WebPreferences initWithCoder:]): - Switch to -[NSCoder decodeValueOfObjCType:at:size:]. 2020-04-17 David Kilzer [iOS WK1] -[_WebSafeForwarder asyncForwarder] uses non-static dispatch_once_t predicate 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 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 REGRESSION (r259843): "Missing Plug-In" when dragging an image into Mail Compose https://bugs.webkit.org/show_bug.cgi?id=210458 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 Fix clang static analyzer warnings about unused instance variables in WebIconDatabase, WKView Reviewed by Alex Christensen. * Misc/WebIconDatabase.h: (WebIconDatabase._private): - Use WK_UNUSED_INSTANCE_VARIABLE to ignore unused instance variable. 2020-04-11 Wenson Hsieh [macOS] [WK1] Touch Bar flashes when typing in Vietnamese in Mail https://bugs.webkit.org/show_bug.cgi?id=210394 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 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 [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. (-[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. (-[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. * WebCoreSupport/WebFrameLoaderClient.mm: (WebFrameLoaderClient::actionDictionary const): Use @(). (kit): Deleted overload that takes Vector. (pluginView): Use @{}. (WebFrameLoaderClient::createPlugin): Use createNSArray, @{}, and @(). (WebFrameLoaderClient::createJavaAppletWidget): Use createNSArray. * WebCoreSupport/WebOpenPanelResultListener.mm: (-[WebOpenPanelResultListener chooseFilenames:]): Use makeVector. (-[WebOpenPanelResultListener chooseFilename:displayString:iconImage:]): Use @[]. (-[WebOpenPanelResultListener chooseFilenames:displayString:iconImage:]): Use makeVector. * 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. (-[WebView _contentsOfUserInterfaceItem:]): Use @(). (toStringVector): Deleted. (+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]): Use makeVector. (+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]): Use makeVector. (-[WebView _elementAtWindowPoint:]): Use @{}. (-[WebView pasteboardTypesForSelection]): Use @[]. (-[WebView pasteboardTypesForElement:]): Use @[]. (-[WebView rectsForTextMatches]): Use @[]. (-[WebView _searchWithGoogleFromMenu:]): Use @[]. (-[WebView _setFontWhitelist:]): Use makeVector. 2020-04-08 Daniel Bates Track editable elements on screen https://bugs.webkit.org/show_bug.cgi?id=209888 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 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 Enable the use of XCBuild by default in Apple builds https://bugs.webkit.org/show_bug.cgi?id=209890 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 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 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 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 Add SPI to make WKUserScripts wait for a notification https://bugs.webkit.org/show_bug.cgi?id=209845 Reviewed by Chris Dumez. * WebView/WebView.mm: (-[WebView _injectOutlookQuirksScript]): 2020-04-03 Tim Horton Add a visual debug indicator for locating and identifying all kinds of WebViews https://bugs.webkit.org/show_bug.cgi?id=209982 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 [Xcode] Replace ASAN_OTHER_CFLAGS and ASAN_OTHER_CPLUSPLUSFLAGS with $(inherited) Reviewed by Alexey Proskuryakov. * Configurations/Base.xcconfig: - Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and ASAN_OTHER_LDFLAGS. 2020-04-01 Darin Adler 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 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 Datalist option's label not used https://bugs.webkit.org/show_bug.cgi?id=201768 Reviewed by Darin Adler. See WebCore/ChangeLog and WebKit/ChangeLog for more details. * WebCoreSupport/WebChromeClient.h: 2020-03-30 Devin Rousso 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 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 DragData::containsURL() should avoid reading URL strings from the pasteboard https://bugs.webkit.org/show_bug.cgi?id=209642 Work towards 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 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 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 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 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 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 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 Fix the build. * WebCoreSupport/WebFrameLoaderClient.mm: 2020-03-20 Tim Horton 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 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 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 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 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 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 Reviewed by Alex Christensen. * WebView/WebNotification.h: * WebView/WebNotification.mm: (-[WebNotification finalize]): 2020-03-17 Commit Queue 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 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 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 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 [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 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 Correct preference handling and naming conventions in AppBound browsing preferences https://bugs.webkit.org/show_bug.cgi?id=209031 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 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 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 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 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 Remove the compile-time flag for Pointer Events https://bugs.webkit.org/show_bug.cgi?id=208821 Reviewed by Dean Jackson. * Configurations/FeatureDefines.xcconfig: 2020-03-07 Darin Adler 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 Create a flag to disable in-app browser quirks https://bugs.webkit.org/show_bug.cgi?id=208777 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 [iOS] Implement support for dictation alternatives https://bugs.webkit.org/show_bug.cgi?id=208720 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 Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h https://bugs.webkit.org/show_bug.cgi?id=207436 Reviewed by Darin Adler. * Configurations/FeatureDefines.xcconfig: Remove JSC related defines. 2020-03-06 Simon Fraser 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. 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 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 [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 Remove the experimental flag for Pointer Events https://bugs.webkit.org/show_bug.cgi?id=208655 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 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 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 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 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 Web Inspector: Items in the toolbar take up to much 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-03-02 Alan Coon 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 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 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 [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 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 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 Build Fix https://bugs.webkit.org/show_bug.cgi?id=208224 Fix Build. Reviewed by Tim Horton. * WebView/WebFrameView.mm: (+[WebFrameView _viewTypesAllowImageTypeOmission:]): * WebView/WebView.mm: (+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]): 2020-02-25 Justin Michaud 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 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 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 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 Stop using QTKit for rendering WK1 video fullscreen controls https://bugs.webkit.org/show_bug.cgi?id=207795 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 [macOS] Large form controls are rendered at the wrong NSControlSize https://bugs.webkit.org/show_bug.cgi?id=208043 Reviewed by Tim Horton. See WebCore ChangeLog for more details. * WebCoreSupport/PopupMenuMac.mm: (PopupMenuMac::show): 2020-02-21 Daniel Bates [iOS][Legacy WebKit] Expose SPI for Page::revealCurrentSelection() https://bugs.webkit.org/show_bug.cgi?id=207960 Reviewed by Wenson Hsieh. Together with 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 Expose caret color for clients https://bugs.webkit.org/show_bug.cgi?id=207963 Reviewed by Daniel Bates. Expose caret color for clients to use. * WebView/WebFrame.mm: (-[WebFrame textInsertionColor]): * WebView/WebFramePrivate.h: 2020-02-19 Daniel Bates [iOS][LegacyWebKit] Override EditorClient::shouldRevealCurrentSelectionAfterInsertion() https://bugs.webkit.org/show_bug.cgi?id=207955 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 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 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 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 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 Remove CSS_DEVICE_ADAPTATION https://bugs.webkit.org/show_bug.cgi?id=203479 Reviewed by Tim Horton. CSS Working Group resolved to remove @viewport , so remove the code. * Configurations/FeatureDefines.xcconfig: * DOM/DOMCSS.mm: (kitClass): 2020-02-12 Said Abou-Hallawa 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 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 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 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 Re-enable LTO for ARM builds https://bugs.webkit.org/show_bug.cgi?id=207402 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 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 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 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 [Hardening] Validate Geolocation access permission on UIProcess side https://bugs.webkit.org/show_bug.cgi?id=207393 Reviewed by Brent Fulgham. * WebCoreSupport/WebGeolocationClient.h: * WebCoreSupport/WebGeolocationClient.mm: (WebGeolocationClient::startUpdating): (WebGeolocationClient::requestPermission): (-[WebGeolocationPolicyListener allow]): (-[WebGeolocationPolicyListener deny]): 2020-02-07 Alex Christensen 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 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 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 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 Prevent navigating top level frames to Data URLs https://bugs.webkit.org/show_bug.cgi?id=206962 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 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 Add support for specifying background colors when setting marked text https://bugs.webkit.org/show_bug.cgi?id=207065 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 [WK1] hiddenPageCSSAnimationSuspensionEnabled should be enabled by default for Cocoa platforms https://bugs.webkit.org/show_bug.cgi?id=207042 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 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 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 [Web Animations] Make Animation.timeline read-write only if a runtime flag is enabled https://bugs.webkit.org/show_bug.cgi?id=206173 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 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 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 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 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 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 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 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 [LFC][Integration] Re-enable line layout integration https://bugs.webkit.org/show_bug.cgi?id=206795 Reviewed by Zalan Bujtas. * WebView/WebPreferences.mm: (+[WebPreferences initialize]): 2020-01-22 Daniel Bates 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 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 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 Add Legacy WebKit SPI and WebKit IPI to show and hide placeholder https://bugs.webkit.org/show_bug.cgi?id=206459 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 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 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 Fix missing header guards and clean up empty files in WebCore, WebKitLegacy, WebKit, Tools 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 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 Enable -Wconditional-uninitialized in WebInspectorUI, WebKitLegacy, WebKit projects 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 Mapping HTML attributes width/height to the default aspect ratio of 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 [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 Adopt TARGET_OS_MACCATALYST in more places https://bugs.webkit.org/show_bug.cgi?id=206040 Reviewed by Simon Fraser. * Misc/WebDownload.h: 2020-01-08 Yusuke Suzuki 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 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 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 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 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 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 [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 AX: Enable ACCESSIBILITY_ISOLATED_TREE https://bugs.webkit.org/show_bug.cgi?id=205535 Reviewed by Zalan Bujtas. * Configurations/FeatureDefines.xcconfig: 2020-01-06 Mark Lam 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 [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 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 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 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 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 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 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 Allow a managed configuration to re-enable TLS 1.0 and 1.1 https://bugs.webkit.org/show_bug.cgi?id=205479 Reviewed by Geoffrey Garen. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): 2019-12-17 Kate Cheney Add run-time flag for in-app browser privacy https://bugs.webkit.org/show_bug.cgi?id=205288 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 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 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 Add release assert for selectedIndex in WebKit::WebPopupMenu::show() 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 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 REGRESSION (r229930, r231063): WebKitLegacy.xcconfig overwrites OTHER_CFLAGS, OTHER_CPLUSPLUSFLAGS and OTHER_LDFLAGS from Base.xcconfig 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 Rename media in the GPU process preference https://bugs.webkit.org/show_bug.cgi?id=205013 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 Re-disable TLS1.0 and TLS1.1 by default https://bugs.webkit.org/show_bug.cgi?id=204922 Reviewed by Youenn Fablet. * WebView/WebView.mm: (-[WebView _commonInitializationWithFrameName:groupName:]): 2019-12-07 Tim Horton 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 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 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 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 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 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 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 Add a runtime setting for media in the GPU process https://bugs.webkit.org/show_bug.cgi?id=204801 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 [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 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 [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 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 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 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 Don't use AVCapture on watchOS and tvOS https://bugs.webkit.org/show_bug.cgi?id=204254 Reviewed by Youenn Fablet. * Configurations/FeatureDefines.xcconfig: 2019-11-15 Myles C. Maxfield [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 [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 Add WebKit Legacy SPI to retrieve editable elements in rect https://bugs.webkit.org/show_bug.cgi?id=204006 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 REGRESSION(r243947) Epson software updater fails to install new version https://bugs.webkit.org/show_bug.cgi?id=203809 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 Web Inspector: Add diagnostic logging for frontend feature usage https://bugs.webkit.org/show_bug.cgi?id=203579 Reviewed by Brian Burg. Original patch by Matt Baker . * 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 [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 [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 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 [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 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 [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 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 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 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 Unreviewed, fix iOS Debug build after r251220. * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2019-10-16 Chris Dumez 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 [WK2] Move back/forward cache entry expiration from the WebProcess to the UIProcess https://bugs.webkit.org/show_bug.cgi?id=203034 Reviewed by Antti Koivisto. * WebView/WebView.mm: (-[WebView _preferencesChanged:]): 2019-10-15 Chris Dumez [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 [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 [WK2] Have WebBackForwardCache class coordinate page caching in all WebProcesses https://bugs.webkit.org/show_bug.cgi?id=202929 Reviewed by Alex Christensen. * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: 2019-10-14 Wenson Hsieh [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 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 [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 [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 [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 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 [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 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 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 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 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 [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 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 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 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 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 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 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 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 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 Remove some support for < iOS 13 https://bugs.webkit.org/show_bug.cgi?id=202032 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 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 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 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 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 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 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 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 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 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 Remove AppKitCompatibilityDeclarations.h https://bugs.webkit.org/show_bug.cgi?id=201283 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 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 Update .xcconfig symbols to reflect the current set of past and future product versions. https://bugs.webkit.org/show_bug.cgi?id=200720 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 Remove support for macOS < 10.13 (part 3) https://bugs.webkit.org/show_bug.cgi?id=201224 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 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 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 Remove support for macOS < 10.13 (part 2) https://bugs.webkit.org/show_bug.cgi?id=201197 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 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 [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 [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 [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 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 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 Remove IDB-specific quota https://bugs.webkit.org/show_bug.cgi?id=196545 Reviewed by Youenn Fablet. * Storage/WebDatabaseManager.mm: (-[WebDatabaseManager setIDBPerOriginQuota:]): Deleted. * Storage/WebDatabaseManagerPrivate.h: 2019-08-18 Yusuke Suzuki [WTF] Add makeUnique, 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 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 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 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 [WTF] Add makeUnique, 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 Yellow Lookup highlight gets stuck over Mail messages https://bugs.webkit.org/show_bug.cgi?id=200778 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 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 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 Use ObjectIdentifier 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 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 Remove support for macOS < 10.13 https://bugs.webkit.org/show_bug.cgi?id=200694 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 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 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 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 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 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 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 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 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 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 Consistently use Obj-C boolean literals https://bugs.webkit.org/show_bug.cgi?id=200405 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 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 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 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 [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 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 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 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 Disable MediaRecorder for legacy WebKit https://bugs.webkit.org/show_bug.cgi?id=200001 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 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 Disable Pointer Events prior to watchOS 6 https://bugs.webkit.org/show_bug.cgi?id=199890 Reviewed by Dean Jackson. * Configurations/FeatureDefines.xcconfig: 2019-07-17 Zalan Bujtas Unable to tap buttons at top of Wells Fargo app’s Payees screen https://bugs.webkit.org/show_bug.cgi?id=199846 Reviewed by Simon Fraser. * WebView/WebFrame.mm: (-[WebFrame approximateNodeAtViewportLocation:]): 2019-07-17 Alex Christensen 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 [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 Cannot bring up custom media controls at all on v.youku.com https://bugs.webkit.org/show_bug.cgi?id=199699 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 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 [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 [Pointer Events] Enable only on the most recent version of the supported iOS family https://bugs.webkit.org/show_bug.cgi?id=199562 Reviewed by Dean Jackson. * Configurations/FeatureDefines.xcconfig: 2019-07-03 Sam Weinig 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 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 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 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 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 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 Make WEBGPU enabled only on Mojave and later. Rubber-stamped by Myles C. Maxfield. * Configurations/FeatureDefines.xcconfig: 2019-06-16 Darin Adler 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 Move Synthetic Editing Commands to behind an experimental feature flag https://bugs.webkit.org/show_bug.cgi?id=198842 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 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 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 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 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 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 ==