blob: 84b783f02f802f58c97d7d29535b36ef490c6bec [file] [log] [blame]
2022-01-19 Alex Christensen <achristensen@webkit.org>
Allow experimental feature names to be hidden in WebKitAdditions
https://bugs.webkit.org/show_bug.cgi?id=235163
Reviewed by Chris Dumez.
* Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb:
2022-01-18 Alex Christensen <achristensen@webkit.org>
Use c++2a instead of gnu++2a for Cocoa builds
https://bugs.webkit.org/show_bug.cgi?id=234936
Reviewed by Sam Weinig.
* Configurations/Base.xcconfig:
* Configurations/WebKitLegacy.xcconfig:
* MigrateHeaders.make:
2022-01-15 Chris Dumez <cdumez@apple.com>
Introduce dynamicDowncast<>() for convenience
https://bugs.webkit.org/show_bug.cgi?id=235259
Reviewed by Darin Adler.
Start adopting dynamicDowncast<>().
* DOM/DOMUIKitExtensions.mm:
(-[DOMHTMLElement structuralComplexityContribution]):
* WebView/WebHTMLRepresentation.mm:
(inputElementFromDOMElement):
2022-01-13 Tim Horton <timothy_horton@apple.com>
Fix a few Objective-C object leaks due to early returns in `init`
https://bugs.webkit.org/show_bug.cgi?id=235162
<rdar://problem/87489048>
Reviewed by Wenson Hsieh.
* Storage/WebDatabaseQuotaManager.mm:
(WebCore::if):
2022-01-12 Matt Woodrow <mattwoodrow@apple.com>
_paintBehaviorForDestinationContext should consider kCGContextTypeDisplayList type contexts as potentially being snapshots
https://bugs.webkit.org/show_bug.cgi?id=234626
<rdar://83501315>
Reviewed by Simon Fraser.
_paintBehaviorForDestinationContext currently always returns `Normal` for contexts that aren't a bitmap context.
AppKit now provides a context that is of type kCGContextTypeDisplayList, and we want to still potentially consider it a
snapshot paint (if the other conditions below are met). This ensure images are sync decoded for consumers that just
want a single paint.
* WebView/WebFrame.mm:
(-[WebFrame _paintBehaviorForDestinationContext:]):
2022-01-11 Michael Saboff <msaboff@apple.com>
Fixed installhdr build failures in WebCore and WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=235059
Reviewed by Filip Pizlo.
Refactored how INSTALL_PATH is calculated to simplify the logic for the macOS / iOS
location difference for the WebKitLegacy framework. In WebKitLegacy.xcconfig, that
required changing NORMAL_PRODUCTION_FRAMEWORKS_DIR.
Added the configuration values, ALTERNATE_ROOT_PATH and OUTPUT_ALTERNATE_ROOT_PATH, for
iOS builds to drive the newly added create symlinks script.
Did the same rework as in WebCore configuration to eliminate using SYSTEM_CONTENT_PATH
twice for some paths.
* Configurations/WebKitLegacy.xcconfig:
2022-01-10 Alex Christensen <achristensen@webkit.org>
Start using C++20
https://bugs.webkit.org/show_bug.cgi?id=233963
Reviewed by Yusuke Suzuki.
* Configurations/Base.xcconfig:
* Configurations/WebKitLegacy.xcconfig:
* MigrateHeaders.make:
2022-01-10 Elliott Williams <emw@apple.com>
postprocess-headers.sh: Avoid redundant processing to speed up incremental Xcode builds
https://bugs.webkit.org/show_bug.cgi?id=234941
Reviewed by Jonathan Bedard.
* postprocess-headers.sh:
2022-01-07 Alex Christensen <achristensen@webkit.org>
Unreviewed, reverting r287698.
Broke an internal build
Reverted changeset:
"Start using C++20"
https://bugs.webkit.org/show_bug.cgi?id=233963
https://commits.webkit.org/r287698
2022-01-06 Tim Horton <timothy_horton@apple.com>
Move linkedOnOrAfter() to WTF
https://bugs.webkit.org/show_bug.cgi?id=234942
Reviewed by Darin Adler.
* DefaultDelegates/WebDefaultUIDelegate.mm:
(-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
* Misc/WebDownload.mm:
(shouldCallOnNetworkThread):
* Misc/WebIconDatabase.mm:
(+[WebIconDatabase sharedIconDatabase]):
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultAllowsPictureInPictureMediaPlayback):
(WebKit::defaultJavaScriptCanOpenWindowsAutomatically):
(WebKit::defaultPassiveTouchListenersAsDefaultOnDocument):
(WebKit::defaultRequiresUserGestureToLoadVideo):
(WebKit::defaultWebSQLEnabled):
(WebKit::defaultShouldRestrictBaseURLSchemes):
(WebKit::defaultShouldConvertInvalidURLsToBlank):
(WebKit::defaultPassiveWheelListenersAsDefaultOnDocument):
(WebKit::defaultWheelEventGesturesBecomeNonBlocking):
* WebView/WebView.mm:
(needsLaBanquePostaleQuirks):
2022-01-06 Alex Christensen <achristensen@webkit.org>
Start using C++20
https://bugs.webkit.org/show_bug.cgi?id=233963
Reviewed by Yusuke Suzuki.
* Configurations/Base.xcconfig:
* Configurations/WebKitLegacy.xcconfig:
* MigrateHeaders.make:
2022-01-06 Jean-Yves Avenard <jya@apple.com>
Have CachedRawResourceClient and related networking actors use SharedBuffer.
https://bugs.webkit.org/show_bug.cgi?id=232424
rdar://84744687
Reviewed by Youenn Fablet.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::committedLoad):
(WebFrameLoaderClient::createPreviewLoaderClient):
* WebView/WebFrame.mm:
(-[WebFrame _commitData:]):
2022-01-05 Tim Horton <timothy_horton@apple.com>
Move more SDK checks to linkedOnOrAfter()
https://bugs.webkit.org/show_bug.cgi?id=234875
Reviewed by Sam Weinig.
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultJavaScriptCanOpenWindowsAutomatically):
* WebView/WebView.mm:
(needsLaBanquePostaleQuirks):
2022-01-02 Wenson Hsieh <wenson_hsieh@apple.com>
[WebKit2] Camera continuity is disabled in richly editable content
https://bugs.webkit.org/show_bug.cgi?id=234773
rdar://46323417
Reviewed by Darin Adler.
Drive-by fix: add a missing `ALLOW_DEPRECATED_DECLARATIONS_END` for the unbalanced BEGIN declaration.
* WebView/WebHTMLView.mm:
(+[WebHTMLView _insertablePasteboardTypes]):
2022-01-01 Jeff Miller <jeffm@apple.com>
Update user-visible copyright strings to include 2022
https://bugs.webkit.org/show_bug.cgi?id=234263
Reviewed by Anders Carlsson.
* Info.plist:
2021-12-22 Michael Saboff <msaboff@apple.com>
Fix WebKit Build issues when using system content path
https://bugs.webkit.org/show_bug.cgi?id=234624
Reviewed by Filip Pizlo.
Added SYSTEM_CONTENT_PATH processing to NORMAL_PRODUCTION_FRAMEWORKS_DIR.
* Configurations/WebKitLegacy.xcconfig:
2021-12-21 Brady Eidson <beidson@apple.com>
Make Notification identifiers be a UUID string instead of a uint64_t
https://bugs.webkit.org/show_bug.cgi?id=234534
Reviewed by Alex Christensen.
* WebCoreSupport/WebNotificationClient.h:
* WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::show):
(WebNotificationClient::cancel):
(WebNotificationClient::notificationObjectDestroyed):
(WebNotificationClient::clearNotifications): Deleted.
2021-12-21 Wenson Hsieh <wenson_hsieh@apple.com>
Add support for a UI delegate method to decide how to handle detected modal containers
https://bugs.webkit.org/show_bug.cgi?id=234440
rdar://77073735
Reviewed by Darin Adler.
See WebKit ChangeLog for more details.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::decidePolicyForModalContainer):
2021-12-19 Wenson Hsieh <wenson_hsieh@apple.com>
Add client layer plumbing for classifying modal container controls
https://bugs.webkit.org/show_bug.cgi?id=234320
Reviewed by Dean Jackson.
See WebCore/ChangeLog for more details.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::classifyModalContainerControls):
2021-12-17 Simon Fraser <simon.fraser@apple.com>
Read the default value of the ScrollAnimatorEnabled setting from NSUserDefaults
https://bugs.webkit.org/show_bug.cgi?id=234456
Reviewed by Tim Horton.
It's impossible for a test to run with an animated keyboard scroll because platformAllowsScrollAnimation(),
which reads from NSUserDefaults, always trumps the Setting.
Fix by initializing the setting from NSUserDefaults and removing the platformAllowsScrollAnimation()
check. This allows for a WebKitTestRunner test override the setting.
Unfortunately in WebKitLegacy AppKit code consults the @"NSScrollAnimationEnabled" key, so
DumpRenderTree has to continue to initialize this NSUserDefault to @NO and tests that
try to change the Setting will fail.
* WebView/WebPreferencesDefaultValues.h:
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultScrollAnimatorEnabled):
2021-12-18 Chris Dumez <cdumez@apple.com>
Convert ProtectionSpace enums into enum classes
https://bugs.webkit.org/show_bug.cgi?id=234455
Reviewed by Alex Christensen.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
2021-12-16 Alex Christensen <achristensen@webkit.org>
Fix iOS debug build
https://bugs.webkit.org/show_bug.cgi?id=234365
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2021-12-15 Darin Adler <darin@apple.com>
Many call sites use makeNeverDestroyed, but could instead take advantage of the NeverDestroyed deduction guide
https://bugs.webkit.org/show_bug.cgi?id=234350
Reviewed by Sam Weinig.
* Misc/WebNSPasteboardExtras.mm:
(writableTypesForImageWithoutArchive): Use deduction.
(writableTypesForImageWithArchive):
* Misc/WebNSURLExtras.mm:
(-[NSString _webkit_rangeOfURLScheme]): Ditto.
* WebView/WebDataSource.mm:
(+[WebDataSource _repTypesAllowImageTypeOmission:]): Ditto.
* WebView/WebFrameView.mm:
(+[WebFrameView _viewTypesAllowImageTypeOmission:]): Ditto.
2021-12-14 Jean-Yves Avenard <jya@apple.com>
Rename SharedBuffer classes.
https://bugs.webkit.org/show_bug.cgi?id=233677
rdar://problem/85963900
Reviewed by Youenn Fablet.
SharedBuffer are renamed FragmentedSharedBuffer and
ContiguousSharedBuffer to SharedBuffer to better reflect their actual
types.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
* WebView/WebDataSource.mm:
* WebView/WebHTMLView.mm:
* WebView/WebResource.mm:
2021-12-13 Jean-Yves Avenard <jya@apple.com>
Distinguish contiguous SharedBuffer from non-contiguous one and guarantee immutability
https://bugs.webkit.org/show_bug.cgi?id=233030
rdar://85333814
Reviewed by Darin Adler.
* DOM/DOMUIKitExtensions.mm:
(-[DOMHTMLImageElement dataRepresentation:]):
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::getClientPasteboardData):
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::bufferForType):
(WebPlatformStrategies::readBufferFromPasteboard):
* WebView/WebDataSource.mm:
(-[WebDataSource data]):
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation documentSource]):
* WebView/WebHTMLView.mm:
(createShareMenuItem):
* WebView/WebResource.mm:
(-[WebResource encodeWithCoder:]):
(-[WebResource data]):
(-[WebResource _stringValue]):
2021-12-11 Antti Koivisto <antti@apple.com>
Remove redundant StyleRule::Type enum
https://bugs.webkit.org/show_bug.cgi?id=234156
Reviewed by Alan Bujtas.
* DOM/DOMCSS.mm:
(kitClass):
* DOM/DOMCSSRule.mm:
(-[DOMCSSRule type]):
2021-12-10 Michael Saboff <msaboff@apple.com>
https://bugs.webkit.org/show_bug.cgi?id=234173
Update Install Paths for build system changes
Reviewed by Yusuke Suzuki.
Updated install paths for changes in the build system that use a system path prefix.
* Configurations/WebKitLegacy.xcconfig:
2021-12-10 Devin Rousso <drousso@apple.com>
Allow `Pasteboard::readBuffer` to read from the pasteboard as a whole instead of a specific item
https://bugs.webkit.org/show_bug.cgi?id=233940
Reviewed by Wenson Hsieh.
In order to match the WK1 implementation of `-pasteFont:` <https://webkit.org/b/191379>, we
need to read from the font pasteboard as a whole, not a specific item. Make the `index` into
an `std::optional` so that we can have this behavior without needing to have a new method.
No change in behavior.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::readBufferFromPasteboard):
2021-12-09 Devin Rousso <drousso@apple.com>
Add a `DOMPasteAccessCategory` to control which pasteboard the WebProcess is granted access to when pasting
https://bugs.webkit.org/show_bug.cgi?id=233939
Reviewed by Wenson Hsieh.
Implementing `-pasteFont:` <https://webkit.org/b/191379> requires that we read from the font
pasteboard instead of the general pasteboard. In order to allow web content to trigger this
(e.g. `document.execCommand("PasteFont"))`) we must have a way for the WebProcess to signal
that it wishes to read from the font pasteboard instead of the general pasteboard. As such,
create and pass along a `DOMPasteAccessCategory` to `requestDOMPasteAccess`.
No change in behavior.
* WebCoreSupport/WebEditorClient.h:
(WebEditorClient::requestDOMPasteAccess):
2021-12-09 Myles C. Maxfield <mmaxfield@apple.com> and Don Olmstead <don.olmstead@sony.com>
Move TextCodec files from WebCore/platform/text to WebCore/PAL/text
https://bugs.webkit.org/show_bug.cgi?id=233683
Reviewed by Yusuke Suzuki.
Update to use the new PAL files.
* Misc/WebNSURLExtras.mm:
(-[NSString _webkit_stringByReplacingValidPercentEscapes]):
* WebView/WebFrame.mm:
(+[WebFrame stringWithData:textEncodingName:]):
* WebView/WebPreferences.mm:
(+[WebPreferences _systemCFStringEncoding]):
(+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]):
* WebView/WebResource.mm:
(-[WebResource _stringValue]):
2021-12-09 Myles C. Maxfield <mmaxfield@apple.com>
[WebGPU] [MacCatalyst] Fix WebGPU Mac Catalyst build in Apple's internal build system
https://bugs.webkit.org/show_bug.cgi?id=234072
Unreviewed.
* Configurations/WebKitLegacy.xcconfig:
2021-12-09 Myles C. Maxfield <mmaxfield@apple.com>
[WebGPU] Fix WebGPU build in Apple's internal build system
https://bugs.webkit.org/show_bug.cgi?id=234070
Unreviewed.
The PAL headers get put in a different place.
* Configurations/WebKitLegacy.xcconfig:
2021-12-08 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r286632.
Broke 3 tests on iOS
Reverted changeset:
"Add a `DOMPasteAccessCategory` to control which pasteboard
the WebProcess is granted access to when pasting"
https://bugs.webkit.org/show_bug.cgi?id=233939
https://commits.webkit.org/r286632
2021-12-07 Wenson Hsieh <wenson_hsieh@apple.com>
Add support for `navigator.requestCookieConsent()` behind a disabled feature flag
https://bugs.webkit.org/show_bug.cgi?id=233890
rdar://86117718
Reviewed by Darin Adler.
Add an implementation stub for the new chrome client hook, `requestCookieConsent()`.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::requestCookieConsent):
2021-12-07 Devin Rousso <drousso@apple.com>
Add a `DOMPasteAccessCategory` to control which pasteboard the WebProcess is granted access to when pasting
https://bugs.webkit.org/show_bug.cgi?id=233939
Reviewed by Wenson Hsieh.
Implementing `-pasteFont:` <https://webkit.org/b/191379> requires that we read from the font
pasteboard instead of the general pasteboard. In order to allow web content to trigger this
(e.g. `document.execCommand("PasteFont"))`) we must have a way for the WebProcess to signal
that it wishes to read from the font pasteboard instead of the general pasteboard. As such,
create and pass along a `DOMPasteAccessCategory` to `requestDOMPasteAccess`.
No change in behavior.
* WebCoreSupport/WebEditorClient.h:
(WebEditorClient::requestDOMPasteAccess):
2021-12-07 Cameron McCormack <heycam@apple.com>
Move FontCache singleton and instance on WorkerGlobalScope to ThreadGlobalData
https://bugs.webkit.org/show_bug.cgi?id=233747
Reviewed by Darin Adler.
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics cachedFontDataCount]):
(+[WebCoreStatistics cachedFontDataInactiveCount]):
(+[WebCoreStatistics purgeInactiveFontData]):
Update existing main thread callers of FontCache::singleton() to use
FontCache::forCurrentThread().
2021-12-06 Devin Rousso <drousso@apple.com>
Change IDL `Date` to be backed by `WallTime` to avoid confusion when converting to native dates
https://bugs.webkit.org/show_bug.cgi?id=233781
Reviewed by Darin Adler.
JS `Date` is milliseconds-based, but some native dates (e.g. `NSDate`) are seconds-based.
`WallTime` will help avoid confusion since not a generic type (e.g. `double`) and instead
has explicitly defined conversion methods to seconds, milliseconds, etc..
* DOM/DOMInternal.h:
(kit):
(core):
* DOM/DOMHTMLMediaElement.mm:
(-[DOMHTMLMediaElement getStartDate]):
2021-12-02 Myles C. Maxfield <mmaxfield@apple.com>
[WebGPU] Hook up navigator.gpu.requestAdapter()
https://bugs.webkit.org/show_bug.cgi?id=233619
Reviewed by Dean Jackson.
* Configurations/WebKitLegacy.xcconfig: We have to be able to #include files from WebGPU.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createGPUForWebGPU const): Hook up GPUImpl to WebCore.
2021-12-02 Chris Dumez <cdumez@apple.com>
[WK2] Make Web Lock API work across multiple WebProcesses
https://bugs.webkit.org/show_bug.cgi?id=233719
Reviewed by Alex Christensen.
See WebCore changelog.
* WebView/WebView.mm:
(getOrCreateWebLockRegistry):
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
2021-12-01 Chris Dumez <cdumez@apple.com>
Regression(r283912) Broke backward compatibility for Swift bindings
https://bugs.webkit.org/show_bug.cgi?id=233701
<rdar://85627701>
Reviewed by Darin Adler.
Rename EpochTimeStamp back to DOMTimeStamp in DOMObject.h & DOMEvent.h
since those are API headers and we need to maintain backward compatibility.
* DOM/DOMEvent.h:
* DOM/DOMEvent.mm:
(-[DOMEvent timeStamp]):
* DOM/DOMObject.h:
2021-11-24 David Kilzer <ddkilzer@apple.com>
Compiler should be able to check localized format strings for consistency
<https://webkit.org/b/232686>
<rdar://problem/84994345>
Reviewed by Darin Adler.
* Misc/WebLocalizableStringsInternal.mm:
(WebLocalizedStringInternal):
- Use localizedNSString() instead of localizedString() to
eliminate the need to convert from
CFString -> String -> NSString.
2021-11-16 Nikolaos Mouchtaris <nmouchtaris@apple.com>
Rename TextDecoration to TextDecorationLine
https://bugs.webkit.org/show_bug.cgi?id=232729
Reviewed by Myles C. Maxfield.
* WebView/WebView.mm:
(-[WebView updateTextTouchBar]):
2021-11-11 Nikolaos Mouchtaris <nmouchtaris@apple.com>
Make scroll granularity an enum class
https://bugs.webkit.org/show_bug.cgi?id=232641
Reviewed by Cameron McCormack.
* WebView/WebFrameView.mm:
(-[WebFrameView _scrollToBeginningOfDocument]):
(-[WebFrameView _scrollToEndOfDocument]):
(-[WebFrameView _pageVertically:]):
(-[WebFrameView _pageHorizontally:]):
(-[WebFrameView _scrollLineVertically:]):
(-[WebFrameView _scrollLineHorizontally:]):
2021-11-11 Sam Weinig <weinig@apple.com>
Factor platform specific code out of HTMLModelElement
https://bugs.webkit.org/show_bug.cgi?id=232848
Reviewed by Dean Jackson.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
Use DummyModelPlayerProvider for the DummyModelPlayerProvider since the feature
is not supported for WebKitLegacy at the moment.
2021-11-10 Darin Adler <darin@apple.com>
[CF] Reduce duplication and unneeded buffer allocations and copying in URL code, also remove unused methods and functions
https://bugs.webkit.org/show_bug.cgi?id=232220
Reviewed by Alex Christensen.
* Misc/WebNSURLExtras.h: Tweaked comments a bit. No need to say methods are "new", since
that won't be true in the future. Removed unused methods
+[NSURL _web_URLWithUserTypedString:relativeToURL:],
+[NSURL _webkit_URLWithUserTypedString:relativeToURL:],
+[NSURL _web_URLWithData:], +[NSURL _web_URLWithData:relatveToURL:].
Wanted to remove even more nearly unused methods: many were used only
inside the WebKit project, in legacy plug-in code, and some seemed unused,
but it wasn't easy for me to quickly verify that.
* Misc/WebNSURLExtras.mm: Removed "using namespace WebCore" and
"using namespace WTF".
(+[NSURL _web_URLWithUserTypedString:relativeToURL:]): Deleted.
(+[NSURL _web_URLWithUserTypedString:]): Use WTF prefix explicitly.
(+[NSURL _webkit_URLWithUserTypedString:relativeToURL:]): Deleted.
(+[NSURL _webkit_URLWithUserTypedString:]): Use WTF prefix explicitly.
(+[NSURL _web_URLWithDataAsString:]): Removed special case for nil since the code
will do the right thing with nil without an explicit check.
(+[NSURL _web_URLWithDataAsString:relativeToURL]): Ditto. Also formatted the code
as a one-liner.
(+[NSURL _web_URLWithData:]): Deleted.
(+[NSURL _web_URLWithData:relativeToURL:]): Deleted.
(-[NSURL _web_originalData]): Use WTF prefix explicitly.
(-[NSURL _web_originalDataAsString]): Ditto.
(-[NSURL _web_isEmpty]): Use bridge_cast and make code style checker happy by using
"!" instead of "== 0".
(-[NSURL _web_URLCString]): Use WTF prefix explicitly.
(-[NSURL _webkit_canonicalize]): Use WebCore prefix explicitly.
(-[NSURL _webkit_URLByRemovingFragment]): Use WTF prefix explicitly.
(-[NSURL _web_schemeSeparatorWithoutColon]): Deleted.
(-[NSURL _web_dataForURLComponentType:]): Deleted.
(-[NSURL _web_hostData]): Use WTF prefix explicitly. Rearranged for clarity and
slightly improved efficiency as well.
(-[NSString _web_isUserVisibleURL]): Use WTF prefix explicitly.
(-[NSString _webkit_stringByReplacingValidPercentEscapes]): Use WebCore prefix
explicitly.
(-[NSString _web_decodeHostName]): Use WTF prefix explicitly.
(-[NSString _web_encodeHostName]): Ditto.
(-[NSString _webkit_decodeHostName]): Ditto.
(-[NSString _webkit_encodeHostName]): Ditto.
2021-11-10 Tim Nguyen <ntim@apple.com>
Migrate DialogElementEnabled from RuntimeFlags to Settings
https://bugs.webkit.org/show_bug.cgi?id=232926
Reviewed by Youenn Fablet.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences dialogElementEnabled]): Deleted.
(-[WebPreferences setDialogElementEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
2021-11-09 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r285536.
https://bugs.webkit.org/show_bug.cgi?id=232915
causes API test crashes
Reverted changeset:
"[CF] Reduce duplication and unneeded buffer allocations and
copying in URL code, also remove unused methods and functions"
https://bugs.webkit.org/show_bug.cgi?id=232220
https://commits.webkit.org/r285536
2021-10-28 Darin Adler <darin@apple.com>
[CF] Reduce duplication and unneeded buffer allocations and copying in URL code, also remove unused methods and functions
https://bugs.webkit.org/show_bug.cgi?id=232220
Reviewed by Alex Christensen.
* Misc/WebNSURLExtras.h: Tweaked comments a bit. No need to say methods are "new", since
that won't be true in the future. Removed unused methods
+[NSURL _web_URLWithUserTypedString:relativeToURL:],
+[NSURL _webkit_URLWithUserTypedString:relativeToURL:],
+[NSURL _web_URLWithData:], +[NSURL _web_URLWithData:relatveToURL:].
Wanted to remove even more nearly unused methods: many were used only
inside the WebKit project, in legacy plug-in code, and some seemed unused,
but it wasn't easy for me to quickly verify that.
* Misc/WebNSURLExtras.mm: Removed "using namespace WebCore" and
"using namespace WTF".
(+[NSURL _web_URLWithUserTypedString:relativeToURL:]): Deleted.
(+[NSURL _web_URLWithUserTypedString:]): Use WTF prefix explicitly.
(+[NSURL _webkit_URLWithUserTypedString:relativeToURL:]): Deleted.
(+[NSURL _webkit_URLWithUserTypedString:]): Use WTF prefix explicitly.
(+[NSURL _web_URLWithDataAsString:]): Removed special case for nil since the code
will do the right thing with nil without an explicit check.
(+[NSURL _web_URLWithDataAsString:relativeToURL]): Ditto. Also formatted the code
as a one-liner.
(+[NSURL _web_URLWithData:]): Deleted.
(+[NSURL _web_URLWithData:relativeToURL:]): Deleted.
(-[NSURL _web_originalData]): Use WTF prefix explicitly.
(-[NSURL _web_originalDataAsString]): Ditto.
(-[NSURL _web_isEmpty]): Use bridge_cast and make code style checker happy by using
"!" instead of "== 0".
(-[NSURL _web_URLCString]): Use WTF prefix explicitly.
(-[NSURL _webkit_canonicalize]): Use WebCore prefix explicitly.
(-[NSURL _webkit_URLByRemovingFragment]): Use WTF prefix explicitly.
(-[NSURL _web_schemeSeparatorWithoutColon]): Deleted.
(-[NSURL _web_dataForURLComponentType:]): Deleted.
(-[NSURL _web_hostData]): Use WTF prefix explicitly. Rearranged for clarity and
slightly improved efficiency as well.
(-[NSString _web_isUserVisibleURL]): Use WTF prefix explicitly.
(-[NSString _webkit_stringByReplacingValidPercentEscapes]): Use WebCore prefix
explicitly.
(-[NSString _web_decodeHostName]): Use WTF prefix explicitly.
(-[NSString _web_encodeHostName]): Ditto.
(-[NSString _webkit_decodeHostName]): Ditto.
(-[NSString _webkit_encodeHostName]): Ditto.
2021-11-06 David Kilzer <ddkilzer@apple.com>
Remove empty directories from from svn.webkit.org repository as of r285357
<https://webkit.org/b/232773>
Unreviewed clean up.
* Plugins/Hosted: Removed.
2021-11-05 Nikolaos Mouchtaris <nmouchtaris@apple.com>
Make scroll bar mode an enum class
https://bugs.webkit.org/show_bug.cgi?id=232651
Reviewed by Simon Fraser.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView setAllowsHorizontalScrolling:]):
(-[WebDynamicScrollBarsView updateScrollers]):
(-[WebDynamicScrollBarsView allowsHorizontalScrolling]):
(-[WebDynamicScrollBarsView allowsVerticalScrolling]):
* WebView/WebView.mm:
(-[WebView setAlwaysShowVerticalScroller:]):
(-[WebView alwaysShowVerticalScroller]):
(-[WebView setAlwaysShowHorizontalScroller:]):
(-[WebView alwaysShowHorizontalScroller]):
2021-11-03 Chris Dumez <cdumez@apple.com>
Unreviewed iOS build fix.
* WebCoreSupport/WebNotificationClient.mm:
(-[WebNotificationPolicyListener NO_RETURN_DUE_TO_ASSERT]):
(-[WebNotificationPolicyListener denyOnlyThisRequest]): Deleted.
(-[WebNotificationPolicyListener shouldClearCache]): Deleted.
2021-11-01 Brady Eidson <beidson@apple.com>
Make WebChromeClient's m_webView pointer weak.
https://bugs.webkit.org/show_bug.cgi?id=232588
Reviewed by David Kilzer.
* WebCoreSupport/WebChromeClient.h:
2021-10-29 Alex Christensen <achristensen@webkit.org>
Fix internal macOS build after r285047
https://bugs.webkit.org/show_bug.cgi?id=232462
* MigrateHeaders.make:
2021-10-29 David Kilzer <ddkilzer@apple.com>
[WebKitLegacy] Enable -Wformat=2 warnings
<https://webkit.org/b/232333>
<rdar://problem/84681560>
Reviewed by Darin Adler.
* Configurations/Base.xcconfig:
(WARNING_CFLAGS):
- Replace -Wformat-security with -Wformat=2, which enables more
warnings like -Wformat-nonliteral.
* Misc/WebLocalizableStringsInternal.h:
(WebLocalizedStringInternal):
- Add NS_FORMAT_ARGUMENT() macro to fix -Wformat-nonliteral
warnings.
2021-10-29 Alex Christensen <achristensen@webkit.org>
Remove code inside ENABLE(NETSCAPE_PLUGIN_API)
https://bugs.webkit.org/show_bug.cgi?id=232462
Reviewed by Anders Carlsson.
* Plugins/Hosted/HostedNetscapePluginStream.h: Removed.
* Plugins/Hosted/HostedNetscapePluginStream.mm: Removed.
* Plugins/Hosted/NetscapePluginHostManager.h: Removed.
* Plugins/Hosted/NetscapePluginHostManager.mm: Removed.
* Plugins/Hosted/NetscapePluginHostProxy.h: Removed.
* Plugins/Hosted/NetscapePluginHostProxy.mm: Removed.
* Plugins/Hosted/NetscapePluginInstanceProxy.h: Removed.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm: Removed.
* Plugins/Hosted/ProxyInstance.h: Removed.
* Plugins/Hosted/ProxyInstance.mm: Removed.
* Plugins/Hosted/ProxyRuntimeObject.h: Removed.
* Plugins/Hosted/ProxyRuntimeObject.mm: Removed.
* Plugins/Hosted/WebHostedNetscapePluginView.h: Removed.
* Plugins/Hosted/WebHostedNetscapePluginView.mm: Removed.
* Plugins/Hosted/WebKitPluginAgent.defs: Removed.
* Plugins/Hosted/WebKitPluginAgentReply.defs: Removed.
* Plugins/Hosted/WebKitPluginClient.defs: Removed.
* Plugins/Hosted/WebKitPluginHost.defs: Removed.
* Plugins/Hosted/WebKitPluginHostTypes.defs: Removed.
* Plugins/Hosted/WebKitPluginHostTypes.h: Removed.
* Plugins/Hosted/WebTextInputWindowController.h: Removed.
* Plugins/Hosted/WebTextInputWindowController.m: Removed.
* Plugins/WebBaseNetscapePluginView.h: Removed.
* Plugins/WebBaseNetscapePluginView.mm: Removed.
* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage pluginWithPath:]):
* Plugins/WebNetscapePluginEventHandler.h: Removed.
* Plugins/WebNetscapePluginEventHandler.mm: Removed.
* Plugins/WebNetscapePluginEventHandlerCocoa.h: Removed.
* Plugins/WebNetscapePluginEventHandlerCocoa.mm: Removed.
* Plugins/WebNetscapePluginPackage.h: Removed.
* Plugins/WebNetscapePluginPackage.mm: Removed.
* Plugins/WebNetscapePluginStream.h: Removed.
* Plugins/WebNetscapePluginStream.mm: Removed.
* Plugins/WebNetscapePluginView.h: Removed.
* Plugins/WebNetscapePluginView.mm: Removed.
* Plugins/WebPluginController.mm:
(-[WebPluginController destroyPlugin:]):
(-[WebPluginController destroyAllPlugins]):
* Plugins/WebPluginDatabase.mm:
(PluginPackageCandidates::update):
(-[WebPluginDatabase removePluginInstanceViewsFor:]):
(-[WebPluginDatabase destroyAllPluginInstanceViews]):
* Plugins/WebPluginRequest.h: Removed.
* Plugins/WebPluginRequest.m: Removed.
* Plugins/npapi.mm: Removed.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createWindow):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchCreatePage):
(WebFrameLoaderClient::createPlugin):
(WebFrameLoaderClient::redirectDataToPlugin):
(NetscapePluginWidget::NetscapePluginWidget): Deleted.
(NetscapePluginWidget::platformLayer const): Deleted.
(NetscapePluginWidget::getFormValue): Deleted.
(NetscapePluginWidget::handleEvent): Deleted.
(NetscapePluginWidget::clipRectChanged): Deleted.
(NetscapePluginWidget::notifyWidget): Deleted.
* WebView/WebFrame.mm:
(-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]): Deleted.
(-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]): Deleted.
* WebView/WebFramePrivate.h:
* WebView/WebHTMLView.mm:
(needsCursorRectsSupportAtPoint):
(-[WebHTMLView viewWillMoveToHostWindow:]):
(-[WebHTMLView viewDidMoveToHostWindow]):
(-[WebHTMLView _web_makePluginSubviewsPerformSelector:withObject:]): Deleted.
(-[WebHTMLView _pauseNullEventsForAllNetscapePlugins]): Deleted.
(-[WebHTMLView _resumeNullEventsForAllNetscapePlugins]): Deleted.
* WebView/WebHTMLViewPrivate.h:
* WebView/WebView.mm:
2021-10-28 Per Arne Vollan <pvollan@apple.com>
Layout test is crashing inside WebChromeClient::createWindow
https://bugs.webkit.org/show_bug.cgi?id=232460
<rdar://81344393>
Reviewed by Brent Fulgham.
Add null check for local NetscapePluginHostProxy pointer variable.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::didCreateWindow):
2021-10-28 Alex Christensen <achristensen@webkit.org>
Disable NETSCAPE_PLUGIN_API at build time on macOS and Windows
https://bugs.webkit.org/show_bug.cgi?id=232396
Reviewed by Geoff Garen.
* WebView/WebFramePrivate.h:
* WebView/WebHTMLViewPrivate.h:
2021-10-28 Youenn Fablet <youenn@apple.com>
[ Mac wk1 ] 2 media-capabilities/webrtc tests are flaky failures
https://bugs.webkit.org/show_bug.cgi?id=232283
<rdar://problem/84637007>
Reviewed by Eric Carlson.
* WebView/WebView.mm:
2021-10-24 Ian Anderson <iana@apple.com>
Enable the modules verifier for WebKitLegacy in Apple internal when using a new enough Xcode
https://bugs.webkit.org/show_bug.cgi?id=232190
Reviewed by David Kilzer.
Add WK_XCODE_VERSION_BEFORE_13_1 build settings to WebKitLegacy and then
use them to enable the modules verifier in Xcode 13.1 and later.
* Configurations/Base.xcconfig:
* Configurations/WebKitLegacy.xcconfig:
2021-10-22 Ian Anderson <iana@apple.com>
Add a module map file for PrivateFrameworks/WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=230735
Reviewed by David Kilzer.
Define modules for the Cocoa Touch environment. macOS can't define
modules in WebKitLegacy because it's a nested framework on that
platform.
Set up the modules verifier tool for Apple Internal (it's not supported
in the public Xcode). Don't enable it yet because some of the Safari
builders use too old of an Xcode.
Add the Apple Internal guards for NSURLDownload from WebDownload.h
NSURLDownloadSPI.h so it can be included in the module.
WebCreateFragmentInternal.h is an Objective-C++ header, but the
WebKitLegacy module should be usable by plain Objective-C clients.
C++ guards so that it can be included in the module.
Switch a few quoted includes to framework style angle includes, which
are required for modules.
Add some missing includes.
* Configurations/WebKitLegacy.xcconfig:
* DOM/DOMEventListener.h:
* DOM/DOMEventTarget.h:
* DOM/DOMNodeFilter.h:
* DOM/DOMXPathNSResolver.h:
* DOM/WebDOMOperationsPrivate.h:
* History/WebHistoryItemPrivate.h:
* Misc/NSURLDownloadSPI.h:
* Misc/WebCache.h:
* Misc/WebDownload.h:
* Misc/WebKitErrorsPrivate.h:
* Misc/WebLocalizableStrings.h:
* Misc/WebUserContentURLPattern.h:
* Plugins/Hosted/WebKitPluginHostTypes.h:
* Plugins/WebPlugin.h:
* Plugins/WebPluginContainer.h:
* Storage/WebDatabaseManagerPrivate.h:
* Storage/WebDatabaseQuotaManager.h:
* Storage/WebStorageManagerPrivate.h:
* WebCoreSupport/WebCreateFragmentInternal.h:
* WebCoreSupport/WebSecurityOriginPrivate.h:
* WebView/WebDeviceOrientation.h:
* WebView/WebDeviceOrientationProvider.h:
* WebView/WebDeviceOrientationProviderMock.h:
* WebView/WebEditingDelegatePrivate.h:
* WebView/WebFormDelegatePrivate.h:
* WebView/WebGeolocationPosition.h:
* WebView/WebResourceLoadDelegatePrivate.h:
2021-10-22 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r284713.
https://bugs.webkit.org/show_bug.cgi?id=232187
Broke some Apple internal builds
Reverted changeset:
"Add a module map file for PrivateFrameworks/WebKitLegacy"
https://bugs.webkit.org/show_bug.cgi?id=230735
https://commits.webkit.org/r284713
2021-10-22 Ian Anderson <iana@apple.com>
Add a module map file for PrivateFrameworks/WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=230735
Reviewed by David Kilzer.
Define modules for the Cocoa Touch environment. macOS can't define
modules in WebKitLegacy because it's a nested framework on that
platform.
Enable the modules verifier tool for Apple Internal (it's not supported
in the public Xcode).
Add the Apple Internal guards for NSURLDownload from WebDownload.h to
NSURLDownloadSPI.h so it can be included in the module.
WebCreateFragmentInternal.h is an Objective-C++ header, but the
WebKitLegacy module should be usable by plain Objective-C clients. Add
C++ guards so that it can be included in the module.
Switch a few quoted includes to framework style angle includes, which
are required for modules.
Add some missing includes.
* Configurations/WebKitLegacy.xcconfig:
* DOM/DOMEventListener.h:
* DOM/DOMEventTarget.h:
* DOM/DOMNodeFilter.h:
* DOM/DOMXPathNSResolver.h:
* DOM/WebDOMOperationsPrivate.h:
* History/WebHistoryItemPrivate.h:
* Misc/NSURLDownloadSPI.h:
* Misc/WebCache.h:
* Misc/WebDownload.h:
* Misc/WebKitErrorsPrivate.h:
* Misc/WebLocalizableStrings.h:
* Misc/WebUserContentURLPattern.h:
* Plugins/Hosted/WebKitPluginHostTypes.h:
* Plugins/WebPlugin.h:
* Plugins/WebPluginContainer.h:
* Storage/WebDatabaseManagerPrivate.h:
* Storage/WebDatabaseQuotaManager.h:
* Storage/WebStorageManagerPrivate.h:
* WebCoreSupport/WebCreateFragmentInternal.h:
* WebCoreSupport/WebSecurityOriginPrivate.h:
* WebView/WebDeviceOrientation.h:
* WebView/WebDeviceOrientationProvider.h:
* WebView/WebDeviceOrientationProviderMock.h:
* WebView/WebEditingDelegatePrivate.h:
* WebView/WebFormDelegatePrivate.h:
* WebView/WebGeolocationPosition.h:
* WebView/WebResourceLoadDelegatePrivate.h:
2021-10-19 Darin Adler <darin@apple.com>
[Cocoa] Merge and simplify the nsColor family of functions
https://bugs.webkit.org/show_bug.cgi?id=231992
Reviewed by Anders Carlsson.
* DOM/DOMRGBColor.mm:
(-[DOMRGBColor color]): Use cocoaColor instead of nsColor.
* Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:]): Use colorFromCocoaColor
instead of colorFromNSColor.
* WebView/WebFrame.mm:
(-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]): Use
colorFromCocoaColor instead of colorFromNSColor.
(-[WebFrame _bodyBackgroundColor]): Use cocoaColor instead of
nsColor.
* WebView/WebHTMLView.mm:
(extractUnderlines): Use colorFromCocoaColor instead of
colorFromNSColor.
* WebView/WebView.mm:
(-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
Use cocoaColor instead of -[UIColor initWithCGColor:] and cachedCGColor.
(-[WebTextTouchBarItemController _webChangeColor:]): Use colorFromCocoaColor
instead of colorFromNSColor.
(-[WebView updateTextTouchBar]): Use cocoaColor instead of nsColor.
2021-10-19 Chris Dumez <cdumez@apple.com>
cachedCGColor() and nsColor() should return smart pointers
https://bugs.webkit.org/show_bug.cgi?id=231909
Reviewed by Tim Horton.
r276283 attempted to make cachedCGColor() and nsColor() thread-safe but the fix was incomplete
since those functions return unretained objects that can be released from the cache on any
other thread. This patch updates cachedCGColor() and nsColor() to return a RetainPtr to address
the issue.
* DOM/DOMRGBColor.mm:
(-[DOMRGBColor color]):
* WebView/WebFrame.mm:
(-[WebFrame _bodyBackgroundColor]):
* WebView/WebView.mm:
(-[WebView updateTextTouchBar]):
2021-10-18 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r284240.
https://bugs.webkit.org/show_bug.cgi?id=231931
NeedDifferentArchitectureToWorkWithWebpushd
Reverted changeset:
"WebKit Managed Notifications: Skeleton NotificationProvider."
https://bugs.webkit.org/show_bug.cgi?id=231786
https://commits.webkit.org/r284240
2021-10-15 Brady Eidson <beidson@apple.com>
WebKit Managed Notifications: Skeleton NotificationProvider.
<rdar://84275562> and https://bugs.webkit.org/show_bug.cgi?id=231786
Reviewed by Alex Christensen.
* WebCoreSupport/WebNotificationClient.mm:
(-[WebNotificationPolicyListener NO_RETURN_DUE_TO_ASSERT]):
(-[WebNotificationPolicyListener denyOnlyThisRequest]): Deleted.
2021-10-14 Alex Christensen <achristensen@webkit.org>
Remove Variant.h
https://bugs.webkit.org/show_bug.cgi?id=231744
Reviewed by Darin Adler.
* DOM/DOMHTMLOptionsCollection.mm:
2021-10-14 Myles C. Maxfield <mmaxfield@apple.com>
All the SDKVariant.xcconfig files should match
https://bugs.webkit.org/show_bug.cgi?id=231663
Reviewed by Youenn Fablet.
* Configurations/SDKVariant.xcconfig:
2021-10-14 David Kilzer <ddkilzer@apple.com>
Modernize WebDatabaseManagerClient
<https://webkit.org/b/231549>
<rdar://problem/84129168>
Reviewed by Sihui Liu.
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager init]):
- Add WebKit namespace to
WebDatabaseManagerClient::sharedWebDatabaseManagerClient()
and convert reference into pointer.
* Storage/WebDatabaseManagerClient.h:
(WebKit::WebDatabaseManagerClient):
- Put WebDatabaseManagerClient in WebKit namespace.
* Storage/WebDatabaseManagerClient.mm:
- Put WebDatabaseManagerClient in WebKit namespace.
(WebKit::WebDatabaseManagerClient::sharedWebDatabaseManagerClient):
- Update to use NeverDestroyed<> and to return a reference.
2021-10-13 Chris Dumez <cdumez@apple.com>
Drop makeWeakPtr() and use WeakPtr { } directly
https://bugs.webkit.org/show_bug.cgi?id=231679
Reviewed by Darin Adler.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCandidatesForSelection):
2021-10-13 Megan Gardner <megan_gardner@apple.com>
Remove adjustForIOSCaretWhenScrolling() code
https://bugs.webkit.org/show_bug.cgi?id=230454
Reviewed by Simon Fraser.
The "adjustForIOSCaretWhenScrolling" code attempted to over-scroll horizontally at the start
or end of an overflow scroll in order to make space for the caret to show. However, it was
wrong in various ways. It always did this, even for scrollers with no visible caret. It was
web-detectable that the scrollX for a scroller could end up as -2. And removing the code
doesn't result in obviously incorrect behavior.
* DOM/DOMHTML.mm:
(-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
* WebView/WebFrame.mm:
(-[WebFrame _scrollDOMRangeToVisible:]):
(-[WebFrame _scrollDOMRangeToVisible:withInset:]):
2021-10-13 Alex Christensen <achristensen@webkit.org>
Remove WTF::Variant and WTF::get
https://bugs.webkit.org/show_bug.cgi?id=231675
Reviewed by Chris Dumez.
* WebView/WebFrame.mm:
(-[WebFrame getDictationResultRanges:andMetadatas:]):
(-[WebFrame dictationResultMetadataForRange:]):
2021-10-12 Jer Noble <jer.noble@apple.com>
[Build-time perf] Forward-declare more things in Document.h
https://bugs.webkit.org/show_bug.cgi?id=231489
Reviewed by Myles C. Maxfield.
Move the folowing enumerations outside their classes so that they can be forward-declared:
- MediaProducer::MediaStateFlags -> MediaProducerMediaStateFlags
- MediaProducer::MediaCaptureKind -> MediaProducerMediaCaptureKind
- MediaProducer::MutedState -> MediaProducerMutedState
* DOM/DOMDocument.mm:
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::playbackTargetPickerClientStateDidChange):
* WebView/WebMediaPlaybackTargetPicker.h:
* WebView/WebMediaPlaybackTargetPicker.mm:
(WebMediaPlaybackTargetPicker::playbackTargetPickerClientStateDidChange):
* WebView/WebView.mm:
(-[WebView _playbackTargetPickerClientStateDidChange:state:]):
* WebView/WebViewInternal.h:
2021-10-12 Alex Christensen <achristensen@webkit.org>
Use std::variant instead of WTF::Variant
https://bugs.webkit.org/show_bug.cgi?id=231629
Reviewed by Chris Dumez.
* DOM/DOMHTMLSelectElement.mm:
(-[DOMHTMLSelectElement add:before:]):
2021-10-12 Chris Dumez <cdumez@apple.com>
Allow direct construction of WeakPtr without makeWeakPtr()
https://bugs.webkit.org/show_bug.cgi?id=231580
Reviewed by Darin Adler.
Allow direct construction of WeakPtr without makeWeakPtr(), and deprecate makeWeakPtr().
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCheckingOfString):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::getLoadDecisionForIcons):
2021-10-11 Chris Dumez <cdumez@apple.com>
DOMTimeStamp is now EpochTimeStamp
https://bugs.webkit.org/show_bug.cgi?id=231496
Reviewed by Sam Weinig.
* DOM/DOMEvent.h:
* DOM/DOMEvent.mm:
(-[DOMEvent timeStamp]):
* DOM/DOMObject.h:
2021-10-08 Jer Noble <jer.noble@apple.com>
[Build-time perf] Forward-declare more things in Element.h
https://bugs.webkit.org/show_bug.cgi?id=231283
Reviewed by Myles C. Maxfield.
Include ElementInlines.h in various necessary places.
* WebView/WebHTMLRepresentation.mm:
2021-10-07 Darin Adler <darin@apple.com>
Get rid of the deviceClass function, up-leveling to deviceClassIsSmallScreen
https://bugs.webkit.org/show_bug.cgi?id=231344
Reviewed by Tim Horton.
* WebView/WebPreferences.mm: Removed uneeded Device.h include.
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultAllowsInlineMediaPlayback): Use !deviceClassIsSmallScreen
instead of deviceClass == iPad.
(WebKit::defaultAllowsInlineMediaPlaybackAfterFullscreen): Use
deviceClassIsSmallScreen instead of deviceClass != iPad.
(WebKit::defaultInlineMediaPlaybackRequiresPlaysInlineAttribute): Ditto.
(WebKit::defaultMediaSourceEnabled): Use !deviceClassIsSmallScreen instead of
deviceClass != iPhone and != iPod, and also remove unneeded compile time conditionals.
2021-10-05 Tim Horton <timothy_horton@apple.com>
<model> should be draggable, similar to <img>
https://bugs.webkit.org/show_bug.cgi?id=229246
Reviewed by Wenson Hsieh.
* WebView/WebView.mm:
(kit):
Do nothing for <model> drags in legacy WebKit.
2021-10-03 David Kilzer <ddkilzer@apple.com>
WTF::RetainPtr<> allows assignment of two pointer types that are not assignable
<https://webkit.org/b/230406>
<rdar://problem/83241893>
Reviewed by Darin Adler.
* Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage pluginWithPath:]):
- Use explicit type with RetainPtr<> to match return type.
2021-10-01 Chris Dumez <cdumez@apple.com>
Drop support for macOS < 10.15
https://bugs.webkit.org/show_bug.cgi?id=231085
Reviewed by Darin Adler.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:]):
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:]): Deleted.
2021-10-01 Ian Anderson <iana@apple.com>
WebKitLegacy's module map files don't get installed
https://bugs.webkit.org/show_bug.cgi?id=230736
Reviewed by David Kilzer.
Revert r271607 because it doesn't work and isn't the right approach.
* Configurations/WebKitLegacy.xcconfig:
* History/WebBackForwardListPrivate.h:
* Misc/WebKitLegacy_Private.h: Removed.
* Misc/WebKitLegacy_iOS_Private.h: Removed.
* Misc/WebKitLegacy_macOS_Private.h: Removed.
2021-09-29 Chris Dumez <cdumez@apple.com>
Make WebLocalizedString() thread-safe
https://bugs.webkit.org/show_bug.cgi?id=230954
Reviewed by Alexey Proskuryakov.
Make WebLocalizedString() thread-safe. It takes minimal effort to make it thread-safe given
that the NSBundle API is thread-safe [1] and clients keep calling it on the background thread.
[1] https://developer.apple.com/documentation/foundation/nslocalizedstringwithdefaultvalue
"As of OS X 10.11 and iOS 9, NSBundle is thread-safe. As such, you can safely call
NSLocalizedStringWithDefaultValue from any execution context."
* Misc/WebLocalizableStrings.mm:
2021-09-28 Chris Dumez <cdumez@apple.com>
Move Cross-Origin-Opener-Policy handling to the NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=230812
<rdar://83504842>
Reviewed by Youenn Fablet.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
2021-09-23 Tim Horton <timothy_horton@apple.com>
Move more linked-on-or-after checks to WebCore::linkedOnOrAfter()
https://bugs.webkit.org/show_bug.cgi?id=230694
Reviewed by Wenson Hsieh.
* Misc/WebDownload.mm:
(shouldCallOnNetworkThread):
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultRequiresUserGestureToLoadVideo):
(WebKit::defaultWebSQLEnabled):
(WebKit::defaultShouldConvertInvalidURLsToBlank):
2021-09-23 Tim Horton <timothy_horton@apple.com>
shouldAllowPictureInPictureMediaPlayback should use WebCore's linkedOnOrAfter()
https://bugs.webkit.org/show_bug.cgi?id=230674
Reviewed by Simon Fraser.
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultAllowsPictureInPictureMediaPlayback):
Adopt the WebCore API (which supports overrides for Safari and for testing).
2021-09-23 Brent Fulgham <bfulgham@apple.com>
Remove XSS Auditor: Part 3 (Deprecate API)
https://bugs.webkit.org/show_bug.cgi?id=230661
<rdar://problem/83428911>
Reviewed by Mark Lam.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences isXSSAuditorEnabled]):
(-[WebPreferences setXSSAuditorEnabled:]):
* WebView/WebPreferencesPrivate.h:
2021-09-22 Chris Dumez <cdumez@apple.com>
Drop makeRef() and use Ref { } instead
https://bugs.webkit.org/show_bug.cgi?id=230626
Reviewed by Alex Christensen.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCheckingOfString):
2021-09-21 Chris Dumez <cdumez@apple.com>
Drop makeRefPtr() and use RefPtr { } directly instead
https://bugs.webkit.org/show_bug.cgi?id=230564
Reviewed by Alex Christensen.
* DOM/DOM.mm:
(-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::imageForCurrentSharingServicePickerItem):
* WebCoreSupport/WebDragClient.mm:
(WebDragClient::declareAndWriteDragImage):
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation elementWithName:inForm:]):
(-[WebHTMLRepresentation controlsInForm:]):
* WebView/WebView.mm:
(-[WebView updateTextTouchBar]):
2021-09-21 David Kilzer <ddkilzer@apple.com>
Rename {checked,dynamic}_ns_cast<> to {checked,dynamic}_objc_cast<>
<https://webkit.org/b/230508>
<rdar://problem/83323145>
Reviewed by Brent Fulgham.
* WebCoreSupport/WebDragClient.mm:
* WebView/WebHTMLView.mm:
- Import <wtf/cocoa/TypeCastsCocoa.h> for future move of
WTF::dynamic_objc_cast<> from RetainPtr.h to that header.
2021-09-20 Chris Dumez <cdumez@apple.com>
Stop using makeRef(*this) / makeRefPtr(this)
https://bugs.webkit.org/show_bug.cgi?id=230464
Reviewed by Alex Christensen.
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::start):
* Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::start):
2021-09-17 Alex Christensen <achristensen@webkit.org>
Use ObjectIdentifier for ResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=230278
Reviewed by Michael Catanzaro.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebFrameLoaderClient::dispatchWillSendRequest):
(WebFrameLoaderClient::shouldUseCredentialStorage):
(WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
(WebFrameLoaderClient::connectionProperties):
(WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebFrameLoaderClient::willCacheResponse const):
(WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebFrameLoaderClient::dispatchDidFinishLoading):
(WebFrameLoaderClient::dispatchDidFailLoading):
* WebView/WebDocumentLoaderMac.h:
* WebView/WebDocumentLoaderMac.mm:
(WebDocumentLoaderMac::increaseLoadCount):
(WebDocumentLoaderMac::decreaseLoadCount):
* WebView/WebViewInternal.h:
2021-09-17 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Add fast property enumeration mode for JSON.stringify
https://bugs.webkit.org/show_bug.cgi?id=230393
Reviewed by Mark Lam.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::demarshalValues):
2021-09-14 Chris Dumez <cdumez@apple.com>
[Hardening] Validate IDBValue's blob paths in WebIDBServer::putOrAdd()
https://bugs.webkit.org/show_bug.cgi?id=230233
<rdar://79562514>
Reviewed by Brady Eidson.
* WebCoreSupport/WebPlatformStrategies.mm:
2021-09-13 Youenn Fablet <youenn@apple.com>
Remove WritableStream runtime flag
https://bugs.webkit.org/show_bug.cgi?id=230148
Reviewed by Sihui Liu.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences writableStreamAPIEnabled]): Deleted.
(-[WebPreferences setWritableStreamAPIEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
2021-09-11 David Kilzer <ddkilzer@apple.com>
CFNotificationCenterAddObserver() should use weak observers
<https://webkit.org/b/230168>
<rdar://problem/82987695>
Reviewed by Darin Adler.
* WebView/WebHTMLView.mm:
(hardwareKeyboardAvailabilityChangedCallback):
- Modernize syntax for WeakObjCPtr constructor.
(-[WebHTMLView initWithFrame:]):
- Use _CFNotificationObserverIsObjC to fix the bug.
- Extract local variables and change notificationName cast to be
ARC-ready. Remove notificationName from autoreleasePool.
(-[WebHTMLView dealloc]):
- Extract local variable and change notificationName cast to be
ARC-ready. Remove notificationName from autoreleasePool.
2021-09-08 Jean-Yves Avenard <jya@apple.com>
Safari TP 131 audio canPlayType() reports false negatives
https://bugs.webkit.org/show_bug.cgi?id=229799
rdar://problem/82776747
Reviewed by Youenn Fablet.
* WebView/WebPreferencesDefaultValues.h:
* WebView/WebPreferencesDefaultValues.mm: Remove no longer used method.
2021-09-07 Sihui Liu <sihui_liu@apple.com>
Add basic support for Storage API
https://bugs.webkit.org/show_bug.cgi?id=229925
Reviewed by Darin Adler.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
2021-08-31 Chris Dumez <cdumez@apple.com>
Enable SharedArrayBuffer support when COOP/COEP headers are used
https://bugs.webkit.org/show_bug.cgi?id=229559
<rdar://problem/82391945>
Reviewed by Alex Christensen.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
2021-08-31 Sihui Liu <sihui_liu@apple.com>
REGRESSION (r281771): ASSERTION FAILED: !m_deletionHasBegun under WebCore::Permissions::~Permissions()
https://bugs.webkit.org/show_bug.cgi?id=229714
<rdar://problem/82581552>
Reviewed by Chris Dumez.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
2021-08-26 Darin Adler <darin@apple.com>
Cut down on use of CFGetTypeID, using dynamic_cf_cast instead; related streamlining
https://bugs.webkit.org/show_bug.cgi?id=229414
Reviewed by Tim Horton.
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage bundleVersion]): Use dynamic_cf_cast.
2021-08-30 Sihui Liu <sihui_liu@apple.com>
Add stubs for Permissions API
https://bugs.webkit.org/show_bug.cgi?id=229339
<rdar://problem/82442205>
Reviewed by Chris Dumez.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
2021-08-24 Chris Dumez <cdumez@apple.com>
[WK2] Implement process-swapping based on Cross-Origin-Opener-Policy HTTP header
https://bugs.webkit.org/show_bug.cgi?id=229203
<rdar://problem/82047686>
Reviewed by Alex Christensen.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
2021-08-19 Megan Gardner <megan_gardner@apple.com>
Remove old unused code and out of date comments.
https://bugs.webkit.org/show_bug.cgi?id=229210
Reviewed by Anders Carlsson.
* WebView/WebView.mm:
* WebView/WebViewPrivate.h:
2021-08-19 Alex Christensen <achristensen@webkit.org>
Remove more non-inclusive language from Source
https://bugs.webkit.org/show_bug.cgi?id=229230
Reviewed by Myles C. Maxfield.
* WebKit.order:
* WebView/WebViewPrivate.h:
2021-08-19 Simon Fraser <simon.fraser@apple.com>
Rename Element::clientRect() which does not return a value in web-exposed "client" coordinates
https://bugs.webkit.org/show_bug.cgi?id=229243
Reviewed by Wenson Hsieh.
The result of Element::clientRect() is in the coordinate space of the root view,
not in the space of the Element's Frame, so does not match the other functions on Element
with "client" in the name.
Rename to Element::boundingBoxInRootViewCoordinates() for clarity.
* WebCoreSupport/WebValidationMessageClient.mm:
(WebValidationMessageClient::showValidationMessage):
(WebValidationMessageClient::updateValidationBubbleStateIfNeeded):
2021-08-19 Simon Fraser <simon.fraser@apple.com>
Rename EventHandler::sendScrollEvent() to scheduleScrollEvent() since the event is not sent synchronously
https://bugs.webkit.org/show_bug.cgi?id=229256
Reviewed by Geoffrey Garen.
Rename EventHandler::sendScrollEvent() and FrameView::sendScrollEvent()
to scheduleScrollEvent() since the event dispatch happens via the next rendering update.
* WebView/WebFrame.mm:
(-[WebFrame sendScrollEvent]):
2021-08-16 David Kilzer <ddkilzer@apple.com>
"make analyze" should run clang static analyzer in deep mode
<https://webkit.org/b/229127>
<rdar://problem/81960587>
Reviewed by Alexey Proskuryakov.
* migrate-headers.sh:
- Treat "analyze" the same as "build" for "ACTION" environment
variable.
2021-08-16 David Kilzer <ddkilzer@apple.com>
-[WebView initWithCoder:] should use -[NSCoder decodeValueOfObjCType:at:size:]
<https://webkit.org/b/229121>
<rdar://problem/81956163>
Reviewed by Anders Carlsson.
* WebView/WebView.mm:
(-[WebView initWithCoder:]):
- Switch to -[NSCoder decodeValueOfObjCType:at:size:].
2021-08-13 Chris Dumez <cdumez@apple.com>
Add Cross-Origin-Embedder-Policy support for Blob URLs
https://bugs.webkit.org/show_bug.cgi?id=229041
Reviewed by Alex Christensen.
* WebCoreSupport/WebPlatformStrategies.mm:
2021-08-12 Chris Dumez <cdumez@apple.com>
Regression(r273194) Exception being thrown in [WebMainThreadInvoker forwardInvocation] should be autoreleased
https://bugs.webkit.org/show_bug.cgi?id=229056
Reviewed by Geoffrey Garen.
Exception being thrown in [WebMainThreadInvoker forwardInvocation] should be autoreleased. I got this wrong
in r273194.
* Misc/WebNSObjectExtras.mm:
(-[WebMainThreadInvoker forwardInvocation:]):
2021-08-12 Youenn Fablet <youenn@apple.com>
REGRESSION (r280726): [ Big Sur wk1 ] 25 imported/w3c/web-platform-tests/fetch/ failing
https://bugs.webkit.org/show_bug.cgi?id=228926
<rdar://problem/81715332>
Reviewed by Eric Carlson.
isFeatureFlagEnabled is called when creating/initializing WebPreferences.
It used to check for WebView, which triggers the execution of WebView initialize method
while DumpRenderTree is in the middle of creating its testing setup, including its storage testing sessions.
Instead, check for WebResource to remove this side effect and get back to past DumpRenderTree initialization.
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::isFeatureFlagEnabled):
2021-08-11 Peng Liu <peng.liu6@apple.com>
Function _os_feature_enabled_impl() expects compile-time static strings as arguments
https://bugs.webkit.org/show_bug.cgi?id=229017
<rdar://81813732>
Reviewed by Tim Horton.
There are multiple issues in the current implementation of `isFeatureFlagEnabled()`.
1. `_os_feature_enabled_impl()` expects compile-time static strings as arguments.
So we should not use `String` here.
2. As Simon Fraser pointed out, `String::characters8()` is not null terminated.
* WebView/WebPreferencesDefaultValues.h:
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::isFeatureFlagEnabled):
2021-08-10 Peng Liu <peng.liu6@apple.com>
REGRESSION (r280726): [ Big Sur wk1 ] 25 imported/w3c/web-platform-tests/fetch/ failing
https://bugs.webkit.org/show_bug.cgi?id=228926
Reviewed by Jer Noble.
Revert a part of r280726 while investigating the test failures.
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::isFeatureFlagEnabled):
2021-08-10 Chris Dumez <cdumez@apple.com>
Add Cross-Origin-Opener-Policy support for Blob URLs
https://bugs.webkit.org/show_bug.cgi?id=228924
Reviewed by Alex Christensen.
* WebCoreSupport/WebPlatformStrategies.mm:
2021-08-10 Chris Dumez <cdumez@apple.com>
Document.baseURI is inaccurate for iframe srcdoc documents
https://bugs.webkit.org/show_bug.cgi?id=228933
Reviewed by Alex Christensen.
* DOM/DOMHTMLBaseElement.mm:
(-[DOMHTMLBaseElement href]):
2021-08-09 Chris Dumez <cdumez@apple.com>
Blob URL changes after loading it
https://bugs.webkit.org/show_bug.cgi?id=228923
Reviewed by Geoff Garen.
* WebCoreSupport/WebPlatformStrategies.mm:
2021-08-09 Myles C. Maxfield <mmaxfield@apple.com>
Support WTF logging channels
https://bugs.webkit.org/show_bug.cgi?id=228768
Reviewed by Fujii Hironori.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2021-08-07 Myles C. Maxfield <mmaxfield@apple.com>
Deduplicate logging channel algorithms
https://bugs.webkit.org/show_bug.cgi?id=228809
Reviewed by Fujii Hironori.
* Misc/WebKitLogInitialization.h: Copied from Source/WebKit/Platform/LogInitialization.h.
* Misc/WebKitLogInitialization.mm: Copied from Source/WebKitLegacy/mac/Misc/WebKitLogging.m.
(WebKit::logChannels):
(ReportDiscardedDelegateException):
* Misc/WebKitLogging.h:
* Misc/WebKitLogging.m:
(ReportDiscardedDelegateException): Deleted.
* WebCoreSupport/WebDragClient.mm:
* WebView/WebDelegateImplementationCaching.mm:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2021-08-07 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r280756.
https://bugs.webkit.org/show_bug.cgi?id=228897
Broke gtk build
Reverted changeset:
"Deduplicate logging channel algorithms"
https://bugs.webkit.org/show_bug.cgi?id=228809
https://commits.webkit.org/r280756
2021-08-07 Myles C. Maxfield <mmaxfield@apple.com>
Deduplicate logging channel algorithms
https://bugs.webkit.org/show_bug.cgi?id=228809
Reviewed by Fujii Hironori.
* Misc/WebKitLogInitialization.h: Copied from Source/WebKit/Platform/LogInitialization.h.
* Misc/WebKitLogInitialization.mm: Copied from Source/WebKitLegacy/mac/Misc/WebKitLogging.m.
(WebKit::logChannels):
(ReportDiscardedDelegateException):
* Misc/WebKitLogging.h:
* Misc/WebKitLogging.m:
(ReportDiscardedDelegateException): Deleted.
* WebCoreSupport/WebDragClient.mm:
* WebView/WebDelegateImplementationCaching.mm:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2021-08-06 Peng Liu <peng.liu6@apple.com>
[macOS] Clean up Feature Flags related code
https://bugs.webkit.org/show_bug.cgi?id=228803
<rdar://problem/81142982>
Reviewed by Tim Horton.
On macOS, Safari Technology Preview or a local build WebKit/Safari will always
get the default preference values through the "Feature Flags" SPI. Unfortunately,
this approach won't work if the OS does not provide correct default preference values.
With this patch, we only get default preference values with the SPI for system
WebKit on macOS. For all other cases, we use hardcoded values. So that
WebKit will always get the correct default preference values.
This patch also fixes a few mistakes in two preferences: "webm_webaudio" and "vp8_decoder".
* WebView/WebPreferencesDefaultValues.h:
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::isFeatureFlagEnabled):
(WebKit::defaultIncrementalPDFEnabled):
(WebKit::defaultWebXREnabled):
(WebKit::defaultWebMParserEnabled):
(WebKit::defaultWebMWebAudioEnabled):
(WebKit::defaultVP8DecoderEnabled):
(WebKit::defaultVP9DecoderEnabled):
2021-08-05 Cameron McCormack <heycam@apple.com>
Stop tracking form elements with FormController
https://bugs.webkit.org/show_bug.cgi?id=228724
<rdar://problem/81435095>
Reviewed by Darin Adler.
formElementsCharacterCount is unused and can be removed.
* WebView/WebFrame.mm:
* WebView/WebFramePrivate.h:
2021-07-29 Myles C. Maxfield <mmaxfield@apple.com>
Stop building WebGPU and the WHLSL compiler to decrease binary size
https://bugs.webkit.org/show_bug.cgi?id=228179
Reviewed by Dean Jackson, Robin Morisset, and Devin Rousso.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences webGPUEnabled]): Deleted.
(-[WebPreferences setWebGPUEnabled:]): Deleted.
* WebView/WebPreferencesDefaultValues.h:
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultWebGPUEnabled): Deleted.
* WebView/WebPreferencesPrivate.h:
2021-07-26 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS Monterey] Pressing Fn+E should present the emoji picker when editing
https://bugs.webkit.org/show_bug.cgi?id=228300
rdar://77558672
Reviewed by Tim Horton.
Apply a similar fix, this time for WebKit1 on macOS.
* WebView/WebHTMLView.mm:
(-[WebHTMLView insertText:]):
Only append "insertText:" for a corresponding NSEvent with the Function key held down if it doesn't also map
to a item in the main menu.
2021-07-16 Megan Gardner <megan_gardner@apple.com>
Pipe App Highlight scrolling through UI Process in preparation for Note Overlay avoidance.
https://bugs.webkit.org/show_bug.cgi?id=227914
Reviewed by Tim Horton.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::scrollMainFrameToRevealRect const):
2021-07-15 Jean-Yves Avenard <jya@apple.com>
[Wk1] media/media-source/media-webm-opus-partial.html is a consistent failure (Enable VP8/VP9/Vorbis/Opus in WebKitLegacy)
https://bugs.webkit.org/show_bug.cgi?id=228005
rdar://80346720
Reviewed by Jer Noble.
* WebView/WebPreferencesDefaultValues.h: Add relevant settings getter methods.
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultWebMParserEnabled):
(WebKit::defaultVP8DecoderEnabled):
(WebKit::defaultVP9DecoderEnabled):
2021-07-15 Chris Dumez <cdumez@apple.com>
Add initial support for BroadcastChannel behind a runtime flag
https://bugs.webkit.org/show_bug.cgi?id=227924
Reviewed by Sam Weinig.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _preferencesChanged:]):
2021-07-15 Megan Gardner <megan_gardner@apple.com>
Rename scrollRectIntoView to scrollContainingScrollViewsToRevealRect for clarity.
https://bugs.webkit.org/show_bug.cgi?id=227995
Reviewed by Tim Horton.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::scrollContainingScrollViewsToRevealRect const):
(WebChromeClient::scrollRectIntoView const): Deleted.
2021-07-14 Rob Buis <rbuis@igalia.com>
Rename hasOverflowClip() to prepare for the real overflow:clip
https://bugs.webkit.org/show_bug.cgi?id=227899
Reviewed by Simon Fraser.
Rename hasOverflowClip() to prepare for the real overflow:clip.
* DOM/DOMHTML.mm:
(-[DOMHTMLElement scrollXOffset]):
(-[DOMHTMLElement scrollYOffset]):
(-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
2021-06-25 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r279266.
https://bugs.webkit.org/show_bug.cgi?id=227402
Causes crash loop
Reverted changeset:
"Remove references to order files"
https://bugs.webkit.org/show_bug.cgi?id=227377
https://trac.webkit.org/changeset/279266
2021-06-24 Sihui Liu <sihui_liu@apple.com>
Remove references to order files
https://bugs.webkit.org/show_bug.cgi?id=227377
rdar://76070556
Reviewed by Mark Lam.
* Configurations/WebKitLegacy.xcconfig:
2021-06-22 Wenson Hsieh <wenson_hsieh@apple.com>
[Live Text] [macOS] Add an internal option to disable inline text selection in images
https://bugs.webkit.org/show_bug.cgi?id=227265
rdar://79460142
Reviewed by Tim Horton.
Rename ContextMenuItemTagLookUpImage to ContextMenuItemTagQuickLookImage.
* WebView/WebHTMLView.mm:
(toTag):
2021-06-21 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] [WebKitLegacy] Non-actionable "Look Up" action appears when right clicking images
https://bugs.webkit.org/show_bug.cgi?id=227240
Reviewed by Devin Rousso.
Override the new client hook and return false in legacy WebKit.
* WebCoreSupport/WebContextMenuClient.h:
2021-06-17 Alex Christensen <achristensen@webkit.org>
Remove empty header WebTypesInternal.h
https://bugs.webkit.org/show_bug.cgi?id=227094
Reviewed by Fujii Hironori.
* DefaultDelegates/WebDefaultUIDelegate.mm:
* History/WebBackForwardList.mm:
* History/WebHistory.mm:
* History/WebHistoryItem.mm:
* Misc/WebDownload.mm:
* Misc/WebElementDictionary.mm:
* Misc/WebNSDataExtras.h:
* Misc/WebTypesInternal.h: Removed.
* Plugins/WebBasePluginPackage.mm:
* Plugins/WebNetscapePluginPackage.mm:
* WebView/WebArchive.mm:
* WebView/WebDelegateImplementationCaching.h:
* WebView/WebHTMLRepresentation.mm:
* WebView/WebHTMLView.mm:
* WebView/WebPDFDocumentExtras.mm:
* WebView/WebPDFRepresentation.mm:
* WebView/WebTextCompletionController.mm:
* WebView/WebTextIterator.mm:
* WebView/WebViewData.h:
* WebView/WebViewInternal.h:
2021-06-16 Chris Dumez <cdumez@apple.com>
Document's execCommand() / queryCommand*() should throw an exception on non-HTML/XHTML documents
https://bugs.webkit.org/show_bug.cgi?id=227016
Reviewed by Darin Adler.
Update ObjC bindings since the WebCore API now returns ExceptionOr<> types.
* DOM/DOMDocument.mm:
(-[DOMDocument execCommand:userInterface:value:]):
(-[DOMDocument queryCommandEnabled:]):
(-[DOMDocument queryCommandIndeterm:]):
(-[DOMDocument queryCommandState:]):
(-[DOMDocument queryCommandSupported:]):
(-[DOMDocument queryCommandValue:]):
2021-06-11 Megan Gardner <megan_gardner@apple.com>
Rename AppHighlight group to QuickNote to correctly reflect feature.
https://bugs.webkit.org/show_bug.cgi?id=226888
Reviewed by Tim Horton.
* WebView/WebHTMLView.mm:
(toTag):
* WebView/WebUIDelegatePrivate.h:
2021-06-10 Alex Christensen <achristensen@webkit.org>
Re-enable legacy WebView plug-ins (but not NPAPI)
https://bugs.webkit.org/show_bug.cgi?id=226890
<rdar://79075349>
Reviewed by Tim Horton.
In r276720 I put the check in the wrong place.
This should also fix rdar://77179042 again, which I broke, fixed, broke, and am now fixing again.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin):
2021-06-08 Devin Rousso <drousso@apple.com>
[Payment Request] upstream new features
https://bugs.webkit.org/show_bug.cgi?id=226740
<rdar://problem/78963132>
Reviewed by Andy Estes.
- recurring line items (`HAVE_PASSKIT_RECURRING_SUMMARY_ITEM` and `ENABLE_APPLE_PAY_RECURRING_LINE_ITEM`)
- deferred line items (`HAVE_PASSKIT_DEFERRED_SUMMARY_ITEM` and `ENABLE_APPLE_PAY_DEFERRED_LINE_ITEM`)
- estimated shipping dates (`HAVE_PASSKIT_SHIPPING_METHOD_DATE_COMPONENTS_RANGE` and `ENABLE_APPLE_PAY_SHIPPING_METHOD_DATE_COMPONENTS_RANGE`)
- coupon code entry (`HAVE_PASSKIT_COUPON_CODE` and `ENABLE_APPLE_PAY_COUPON_CODE`)
- shipped vs in-store pickup (`HAVE_PASSKIT_SHIPPING_CONTACT_EDITING_MODE` and `ENABLE_APPLE_PAY_SHIPPING_CONTACT_EDITING_MODE`)
* WebCoreSupport/WebPaymentCoordinatorClient.h:
* WebCoreSupport/WebPaymentCoordinatorClient.mm:
(WebPaymentCoordinatorClient::completeCouponCodeChange): Renamed from `WebPaymentCoordinatorClient::completePaymentMethodModeChange`.
2021-06-07 Wenson Hsieh <wenson_hsieh@apple.com>
Upstream WebKit support for Live Text
https://bugs.webkit.org/show_bug.cgi?id=226706
<rdar://problem/78933684>
Reviewed by Tim Horton.
* WebView/WebHTMLView.mm: Replace IMAGE_EXTRACTION with IMAGE_ANALYSIS.
2021-06-06 Wenson Hsieh <wenson_hsieh@apple.com>
Turn TextIteratorBehaviorFlag into an enum class and wrap it in OptionSet
https://bugs.webkit.org/show_bug.cgi?id=226691
Reviewed by Darin Adler.
See WebCore/ChangeLog for more information.
* WebView/WebFrame.mm:
(-[WebFrame _stringForRange:]):
2021-06-05 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Move DataDetectors softlinking in DataDetectorsSPI.h out into a separate PAL header
https://bugs.webkit.org/show_bug.cgi?id=226669
Reviewed by Sam Weinig.
Adopt the new PAL softlinking header in a few places. See WebCore/ChangeLog for more details.
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _clearImmediateActionState]):
(-[WebImmediateActionController immediateActionRecognizerWillBeginAnimation:]):
(-[WebImmediateActionController _animationControllerForDataDetectedText]):
(-[WebImmediateActionController _animationControllerForDataDetectedLink]):
2021-06-04 Chris Dumez <cdumez@apple.com>
Use Vector<uint8_t> instead of Vector<char> to store bytes in SharedBuffer
https://bugs.webkit.org/show_bug.cgi?id=226623
Reviewed by Darin Adler.
Use Vector<uint8_t> instead of Vector<char> to store bytes in SharedBuffer. Also have SharedBuffer::data()
return a `const uint8_t*` instead of `const char*`. This is our preferred type to store bytes.
* Plugins/Hosted/HostedNetscapePluginStream.h:
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::didReceiveData):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluateJavaScript):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView pluginView:receivedData:]):
* Plugins/WebNetscapePluginStream.h:
* Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::didReceiveData):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView pluginView:receivedData:]):
(-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
2021-06-01 Darin Adler <darin@apple.com>
Remove <wtf/Optional.h>
https://bugs.webkit.org/show_bug.cgi?id=226437
Reviewed by Chris Dumez.
* DOM/DOMRangeInternal.h: Added import of <optional>.
* WebView/WebGeolocationPosition.mm: Removed import of <wtf/Optional.h>.
* WebView/WebGeolocationPositionInternal.h: Added import of <optional>.
2021-06-01 Antti Koivisto <antti@apple.com>
Rename InlineBox to LegacyInlineBox
https://bugs.webkit.org/show_bug.cgi?id=226501
Reviewed by Alan Bujtas.
* DOM/DOMUIKitExtensions.mm:
2021-05-30 Darin Adler <darin@apple.com>
Remove WTF::Optional synonym for std::optional, using that class template directly instead
https://bugs.webkit.org/show_bug.cgi?id=226433
Reviewed by Chris Dumez.
* <many files>: Let the do-webcore-rename script rename Optional<> to std::optional<>.
2021-05-27 Darin Adler <darin@apple.com>
Next step toward using std::optional directly instead of through WTF::Optional typedef
https://bugs.webkit.org/show_bug.cgi?id=226280
Reviewed by Chris Dumez.
* <many files>: Accept the renaming done by do-webcore-rename.
2021-05-25 Tim Horton <timothy_horton@apple.com>
Virtualize GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=226170
Reviewed by Simon Fraser.
* Misc/WebCoreStatistics.mm:
(-[WebFrame printToCGContext:pageWidth:pageHeight:]):
* Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:]):
* WebInspector/WebNodeHighlightView.mm:
(-[WebNodeHighlightView drawRect:]):
* WebView/WebFrame.mm:
(-[WebFrame _drawRect:contentsOnly:]):
2021-05-24 Sam Weinig <weinig@apple.com>
Convert DestinationColorSpace from an enum to class wrapping a platform color space (CGColorSpaceRef for CG ports, etc.)
https://bugs.webkit.org/show_bug.cgi?id=226143
Reviewed by Darin Adler.
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::imageForCurrentSharingServicePickerItem):
Update for new DestinationColorSpace class.
2021-05-24 Darin Adler <darin@apple.com>
Remove StringBuilder::appendLiteral
https://bugs.webkit.org/show_bug.cgi?id=226137
Reviewed by Chris Dumez.
* WebView/WebHTMLRepresentation.mm:
(regExpForLabels): Use append instead of appendLiteral.
Also imrpove local variable names a bit.
2021-05-24 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r277940.
https://bugs.webkit.org/show_bug.cgi?id=226182
Caused Safari crash under IPC::typeFromCFTypeRef
Reverted changeset:
"Convert DestinationColorSpace from an enum to class wrapping
a platform color space (CGColorSpaceRef for CG ports, etc.)"
https://bugs.webkit.org/show_bug.cgi?id=226143
https://trac.webkit.org/changeset/277940
2021-05-24 Chris Dumez <cdumez@apple.com>
Drop CheckedLock / CheckedCondition aliases
https://bugs.webkit.org/show_bug.cgi?id=226176
Reviewed by Kate Cheney.
Drop CheckedLock / CheckedCondition aliases now that they are the default.
* DOM/DOMInternal.mm:
2021-05-23 Sam Weinig <weinig@apple.com>
Convert DestinationColorSpace from an enum to class wrapping a platform color space (CGColorSpaceRef for CG ports, etc.)
https://bugs.webkit.org/show_bug.cgi?id=226143
Reviewed by Darin Adler.
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::imageForCurrentSharingServicePickerItem):
Update for new DestinationColorSpace class.
2021-05-22 Chris Dumez <cdumez@apple.com>
Replace LockHolder with Locker in local variables
https://bugs.webkit.org/show_bug.cgi?id=226133
Reviewed by Darin Adler.
Replace LockHolder with Locker in local variables. It is shorter and it allows switching the lock
type more easily since the compiler with deduce the lock type T for Locker<T>.
* WebView/WebView.mm:
(-[WebView _synchronizeCustomFixedPositionLayoutRect]):
(-[WebView _setCustomFixedPositionLayoutRectInWebThread:synchronize:]):
(-[WebView _setCustomFixedPositionLayoutRect:]):
(-[WebView _fetchCustomFixedPositionLayoutRect:]):
2021-05-22 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r277913.
https://bugs.webkit.org/show_bug.cgi?id=226140
Caused multiple layout-test crash on mac debug queues
Reverted changeset:
"Replace LockHolder with Locker in local variables"
https://bugs.webkit.org/show_bug.cgi?id=226133
https://trac.webkit.org/changeset/277913
2021-05-21 Chris Dumez <cdumez@apple.com>
Replace LockHolder with Locker in local variables
https://bugs.webkit.org/show_bug.cgi?id=226133
Reviewed by Darin Adler.
Replace LockHolder with Locker in local variables. It is shorter and it allows switching the lock
type more easily since the compiler with deduce the lock type T for Locker<T>.
* WebView/WebView.mm:
(-[WebView _synchronizeCustomFixedPositionLayoutRect]):
(-[WebView _setCustomFixedPositionLayoutRectInWebThread:synchronize:]):
(-[WebView _setCustomFixedPositionLayoutRect:]):
(-[WebView _fetchCustomFixedPositionLayoutRect:]):
2021-05-21 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Adopt QLItem in WKImageExtractionPreviewController
https://bugs.webkit.org/show_bug.cgi?id=226114
rdar://76657718
Reviewed by Tim Horton.
Adopt the new QuickLookUI softlinking header in PAL.
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController webViewClosed]):
2021-05-21 Chris Dumez <cdumez@apple.com>
Replace more static Locks with CheckedLocks in WebKit / WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=226093
Reviewed by Darin Adler.
Replace more static Locks with CheckedLocks so that we can benefit from Clang Thread Safety Analysis.
* DOM/DOMInternal.mm:
(getDOMWrapper):
(addDOMWrapper):
(removeDOMWrapper):
2021-05-20 Alexey Shvayka <shvaikalesh@gmail.com>
[WebIDL] Remove [ImplicitThis] and [CustomProxyToJSObject] extended attributes
https://bugs.webkit.org/show_bug.cgi?id=223758
Reviewed by Sam Weinig.
Use inherits<T> instead of toJSDOMWindow() if the value is never a JSProxy.
* WebView/WebView.mm:
(+[WebView _reportException:inContext:]):
2021-05-19 Sam Weinig <weinig@apple.com>
Update Base64 encoding/decoding to match more modern WebKit conventions
https://bugs.webkit.org/show_bug.cgi?id=225920
Reviewed by Chris Dumez.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::wrapCryptoKey const):
(WebChromeClient::unwrapCryptoKey const):
Update to use new Optional returning defaultWebCryptoMasterKey().
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::save):
Update to use new Optional returning base64Decode().
2021-05-17 Peng Liu <peng.liu6@apple.com>
[GPUP] WebContent process should not pull audio session category from the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=225826
Reviewed by Darin Adler.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setAudioSessionCategoryOverride:]):
2021-05-15 Ryosuke Niwa <rniwa@webkit.org>
Delete WebSQL code from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=225739
Reviewed by Sihui Liu.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2021-05-13 Megan Gardner <megan_gardner@apple.com>
Add textIndicator bounce for AppHighlights on scroll.
https://bugs.webkit.org/show_bug.cgi?id=225727
Reviewed by Tim Horton.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setTextIndicator const):
* WebView/WebHTMLView.mm:
(-[WebHTMLView quickLookWithEvent:]):
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController webView:didHandleScrollWheel:]):
(-[WebImmediateActionController _cancelImmediateAction]):
(-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WebImmediateActionController _defaultAnimationController]):
(-[WebImmediateActionController menuItemDidClose:]):
(-[WebImmediateActionController _animationControllerForDataDetectedText]):
(-[WebImmediateActionController _animationControllerForDataDetectedLink]):
* WebView/WebView.mm:
(-[WebView _animationControllerForDictionaryLookupPopupInfo:]):
(-[WebView _setTextIndicator:]):
(-[WebView _setTextIndicator:withLifetime:]):
(-[WebView _clearTextIndicatorWithAnimation:]):
(-[WebView _showDictionaryLookupPopup:]):
(-[WebView _dictionaryLookupPopoverWillClose:]):
* WebView/WebViewInternal.h:
2021-05-12 Chris Dumez <cdumez@apple.com>
Notification.requestPermission() should return a Promise
https://bugs.webkit.org/show_bug.cgi?id=225712
Reviewed by Darin Adler.
Update code now that WebCore passes a CompletionHandler instead of a
NotificationPermissionCallback.
* WebCoreSupport/WebNotificationClient.h:
* WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::requestPermission):
(-[WebNotificationPolicyListener initWithCompletionHandler:]):
(-[WebNotificationPolicyListener allow]):
(-[WebNotificationPolicyListener deny]):
2021-05-12 Chris Dumez <cdumez@apple.com>
Queue notification permission requests for the same origin on WebKit side
https://bugs.webkit.org/show_bug.cgi?id=225701
<rdar://76804977>
Reviewed by Geoffrey Garen.
Remove some dead code.
* WebCoreSupport/WebNotificationClient.h:
* WebCoreSupport/WebNotificationClient.mm:
2021-05-10 Wenson Hsieh <wenson_hsieh@apple.com>
Make WebCore::HitTestRequest::RequestType an enum class
https://bugs.webkit.org/show_bug.cgi?id=225597
Reviewed by Sam Weinig.
See WebCore/ChangeLog for more details.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::actionDictionary const):
* WebView/WebFrame.mm:
(-[WebFrame elementAtPoint:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView elementAtPoint:allowShadowContent:]):
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController performHitTestAtPoint:]):
2021-05-08 Darin Adler <darin@apple.com>
[Cocoa] Remove the one use of String::toInt from WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=225568
Reviewed by Sam Weinig.
* DOM/DOMHTMLInputElement.mm:
(-[DOMHTMLInputElement setSize:]): Use -[NSString intValue] instead of WTF::String::toInt.
Both functions ignore leading spaces, and both ignore trailing junk, so there is no
significant change in behavior.
2021-05-07 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Set the -isSourceEditable property when presenting webpage translation popup
https://bugs.webkit.org/show_bug.cgi?id=225515
<rdar://problem/77658040>
Reviewed by Tim Horton.
See WebCore/ChangeLog for more details.
* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::handleTranslation):
* WebView/WebView.mm:
(-[WebView _handleContextMenuTranslation:]):
(-[WebView _handleContextMenuTranslation:selectionBounds:menuLocation:]): Deleted.
* WebView/WebViewInternal.h:
2021-05-04 Alex Christensen <achristensen@webkit.org>
Remove unused references to PageGroup from WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=225359
Reviewed by Sihui Liu.
* History/WebHistory.mm:
* History/WebHistoryInternal.h:
* Storage/WebStorageManager.mm:
* WebView/WebView.mm:
2021-05-03 Devin Rousso <drousso@apple.com>
[macCatalyst] "Enter Full Screen" button in media controls disappears
https://bugs.webkit.org/show_bug.cgi?id=225210
<rdar://problem/77010150>
Reviewed by Eric Carlson.
In order for the "Enter Full Screen" media controls button to stay visible the `<video>`
must return `true` for `HTMLMediaElement::webkitSupportsFullscreen`, which calls into
`MediaPlayerPrivate::supportsFullscreen`. On macOS and iOS, this will always return `true`
because of `ENABLE(FULLSCREEN_API)`, but on macCatalyst that's not enabled, so we instead
use `DeprecatedGlobalSettings::avKitEnabled`, but this is only set in the WebProcess (and
WK1). With the GPUProcess enabled, this value is not set, so the `RemoteMediaPlayerProxy`
will instead get `false`.
This patch removes `DeprecatedGlobalSettings::avKitEnabled` since it's enabled on WK1 and
non-GPUProcess WK2, and the related iOS-only SPI appears to not be used anywhere internally,
instead having callsites just check `HAVE(AVKIT)`.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::supportsVideoFullscreen):
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferencesPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences avKitEnabled]): Deleted.
(-[WebPreferences setAVKitEnabled:]): Deleted.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2021-05-03 Sam Weinig <weinig@apple.com>
Remove default parameter values for color space and pixel format from ImageBuffer::create to make it clear everwhere we are explicitly requesting SRGB/BGRA8 buffers
https://bugs.webkit.org/show_bug.cgi?id=225288
Reviewed by Anders Carlsson.
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::imageForCurrentSharingServicePickerItem):
Pass arguments explicitly that were previously default values.
2021-04-29 Darin Adler <darin@apple.com>
Extend SortedArrayMap further to work on case-folded strings, use in MIMETypeRegistry
https://bugs.webkit.org/show_bug.cgi?id=224968
Reviewed by Sam Weinig.
* WebView/WebHTMLRepresentation.mm:
(createNSArray): Renamed from newArrayWithStrings so this overloads the createNSArray
function from VectorCocoa.h so we can use the two interchangably and handle both FixedVector
and HashSet with the smae code.
(+[WebHTMLRepresentation supportedMediaMIMETypes]): Updated for name change.
(+[WebHTMLRepresentation supportedNonImageMIMETypes]): Ditto.
(+[WebHTMLRepresentation supportedImageMIMETypes]): Ditto.
(+[WebHTMLRepresentation unsupportedTextMIMETypes]): Ditto.
2021-04-28 Alex Christensen <achristensen@webkit.org>
Remove support for NPAPI plugins in WebView
https://bugs.webkit.org/show_bug.cgi?id=224449
Reviewed by Geoffrey Garen.
In r275912 I turned off all plugin support in WebView after looking into use of NP_Initialize, the entry point for NPAPI plugins.
That was too aggressive, as we found some use of the older WebKit plugin entry point, plugInViewWithArguments, and reverted in r276652.
This cuts out only support for NPAPI plugins for now.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin):
2021-04-28 Chris Dumez <cdumez@apple.com>
Drop ModernUnprefixedWebAudio & AudioWorklet experimental feature flags
https://bugs.webkit.org/show_bug.cgi?id=225130
Reviewed by Eric Carlson.
Drop ModernUnprefixedWebAudio & AudioWorklet experimental feature flags now that
these features have shipped. It also doesn't make sense to disable them given
that the prefixed WebAudio API is no longer exposed and there is no feature flag
to turn the legacy prefixed API back on.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences modernUnprefixedWebAudioEnabled]): Deleted.
(-[WebPreferences setModernUnprefixedWebAudioEnabled:]): Deleted.
(-[WebPreferences audioWorkletEnabled]): Deleted.
(-[WebPreferences setAudioWorkletEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
2021-04-27 Alex Christensen <achristensen@webkit.org>
charset in contentType used in Blob.prototype.slice(start, end, contentType) is lost
https://bugs.webkit.org/show_bug.cgi?id=225057
Reviewed by Chris Dumez.
* WebCoreSupport/WebPlatformStrategies.mm:
2021-04-27 Alex Christensen <achristensen@webkit.org>
Unreviewed, reverting r275912.
rdar://77179042
Broke internal client
Reverted changeset:
"Remove support for NPAPI plugins in WebView"
https://bugs.webkit.org/show_bug.cgi?id=224449
https://commits.webkit.org/r275912
2021-04-23 Chris Dumez <cdumez@apple.com>
Improve our constructDeletedValue() template specializations
https://bugs.webkit.org/show_bug.cgi?id=224889
Reviewed by Darin Adler.
Improve our constructDeletedValue() template specializations and make them more consistent:
- Use placement-new instead of object assignment since we don't want/need to destroy the
existing object (since it is uninitialized).
- Do as little initialization as possible for performance reasons.
* History/BinaryPropertyList.cpp:
(IntegerArray::integers const):
(IntegerArray::size const):
(IntegerArrayHashTraits::constructDeletedValue):
(IntegerArrayHashTraits::isDeletedValue):
(IntegerArray::markDeleted): Deleted.
(IntegerArray::isDeletedValue const): Deleted.
(IntegerArray::deletedValueSize): Deleted.
2021-04-19 Kimmo Kinnunen <kkinnunen@apple.com>
Enable -Wthread-safety, add attributes to custom lock classes, and provide macros to declare guards
https://bugs.webkit.org/show_bug.cgi?id=221614
<rdar://problem/74396781>
Reviewed by David Kilzer.
Add -Wthread-safety to compile flags.
* Configurations/Base.xcconfig:
2021-04-17 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Add some support for webpage translation in WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=224683
<rdar://problem/75641882>
Reviewed by Darin Adler.
Add support for the webpage translation context menu item in WebKitLegacy. See below for more details.
* WebView/WebHTMLView.mm:
(toAction):
(toTag):
Introduce the `WebMenuItemTagTranslate` enum value, and use it as the tag value when creating an `NSMenuItem`
for the Translate action.
(createMenuItem):
* WebView/WebUIDelegatePrivate.h:
Unfortunately, in order to support a particular internal client of WebKitLegacy, we need to expose
`WebMenuItemTagTranslate` as an enum value in this existing enumeration of context menu item tags. This is
because the client's implementation of `-webView:contextMenuItemsForElement:defaultMenuItems:` rejects context
menu items by default, unless the item tag is within the set of item tags that they support.
This client will need to add the enum value of `WebMenuItemTagTranslate` into their allow-list.
* WebView/WebView.mm:
(+[WebView _canHandleContextMenuTranslation]):
Softlink against and check with `TranslationUIServices` to see if we should be showing the Translate menu item.
(-[WebView _handleContextMenuTranslation:selectionBounds:menuLocation:]):
Handle the menu action by creating and presenting a new `LTUITranslationViewController` using the given
information.
* WebView/WebViewInternal.h:
2021-04-17 Tyler Wilcock <twilco.o@protonmail.com>
Consider making CSSStyleSheet::rules() just an alias of CSSStyleSheet::cssRules().
https://bugs.webkit.org/show_bug.cgi?id=197725
Reviewed by Darin Adler.
CSSStyleSheet.rules has been changed to alias CSSStyleSheet.cssRulesForBindings. Now,
to access just the CSSRuleList, CSSStyleSheet.cssRules must be called.
* DOM/DOMCSSStyleSheet.mm:
(-[DOMCSSStyleSheet rules]):
Update this function to call IMPL->cssRules instead of IMPL->rules.
2021-04-16 Ryosuke Niwa <rniwa@webkit.org>
Deploy Ref/RefPtr in Editor
https://bugs.webkit.org/show_bug.cgi?id=224708
Reviewed by Wenson Hsieh.
* WebView/WebFrame.mm:
(-[WebFrame fontForSelection:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateFontPanel]):
* WebView/WebView.mm:
(-[WebView updateTextTouchBar]):
2021-04-16 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Refactor some webpage translation code
https://bugs.webkit.org/show_bug.cgi?id=224680
Work towards <rdar://75641882>
Reviewed by Tim Horton.
See WebCore ChangeLog for more details.
* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::handleTranslation):
* WebView/WebView.mm:
(-[WebView _handleContextMenuTranslation:selectionBounds:menuLocation:]):
Add an empty stub with a `FIXME` for the time being.
* WebView/WebViewInternal.h:
2021-04-16 Peng Liu <peng.liu6@apple.com>
[GPUP] WebContent process should not create AVOutputContext instances when media in GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=224469
Reviewed by Eric Carlson.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setMockMediaPlaybackTargetPickerState):
* WebView/WebMediaPlaybackTargetPicker.h:
* WebView/WebMediaPlaybackTargetPicker.mm:
(WebMediaPlaybackTargetPicker::setMockMediaPlaybackTargetPickerState):
* WebView/WebView.mm:
(-[WebView _setMockMediaPlaybackTargetPickerName:state:]):
* WebView/WebViewInternal.h:
2021-04-15 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r276107.
https://bugs.webkit.org/show_bug.cgi?id=224653
It broke non-Cocoa clean builds
Reverted changeset:
"[GPUP] WebContent process should not create AVOutputContext
instances when media in GPU Process is enabled"
https://bugs.webkit.org/show_bug.cgi?id=224469
https://trac.webkit.org/changeset/276107
2021-04-15 Peng Liu <peng.liu6@apple.com>
[GPUP] WebContent process should not create AVOutputContext instances when media in GPU Process is enabled
https://bugs.webkit.org/show_bug.cgi?id=224469
Reviewed by Eric Carlson.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setMockMediaPlaybackTargetPickerState):
* WebView/WebMediaPlaybackTargetPicker.h:
* WebView/WebMediaPlaybackTargetPicker.mm:
(WebMediaPlaybackTargetPicker::setMockMediaPlaybackTargetPickerState):
* WebView/WebView.mm:
(-[WebView _setMockMediaPlaybackTargetPickerName:state:]):
* WebView/WebViewInternal.h:
2021-04-15 Tim Horton <timothy_horton@apple.com>
Add a mechanism to dump the PlatformCALayer subtree of a GraphicsLayer, for testing
https://bugs.webkit.org/show_bug.cgi?id=224595
Reviewed by Simon Fraser.
* WebView/WebFrame.mm:
(-[WebFrame _layerTreeAsText]):
Adopt the RenderLayerCompositor version of layerTreeAsText.
2021-04-13 Alex Christensen <achristensen@webkit.org>
Remove support for NPAPI plugins in WebView
https://bugs.webkit.org/show_bug.cgi?id=224449
Reviewed by Chris Dumez.
* WebView/WebPreferences.mm:
(-[WebPreferences setPlugInsEnabled:]):
2021-04-12 Peng Liu <peng.liu6@apple.com>
Fix some issues hidden by unified build
https://bugs.webkit.org/show_bug.cgi?id=224457
Reviewed by Eric Carlson.
Some small fixes and clean-up. The issues are hidden by the unified build mechanism
and were found in a local build.
* DOM/DOMTokenList.mm:
* Plugins/WebPluginController.mm:
* WebCoreSupport/WebFrameLoaderClient.h:
* WebView/WebDataSource.mm:
* WebView/WebFrameView.mm:
* WebView/WebHTMLViewInternal.h:
* WebView/WebImmediateActionController.mm:
* WebView/WebPDFView.mm:
2021-04-02 Darin Adler <darin@apple.com>
Use Hasher more, remove IntegerHasher, fix hashing-related mistakes
https://bugs.webkit.org/show_bug.cgi?id=224138
Reviewed by Chris Dumez.
* History/BinaryPropertyList.cpp: Use HashTraits instead of WTF::GenericHashTraits.
2021-03-31 Chris Dumez <cdumez@apple.com>
Use MACH_PORT_VALID() when wanting to check if a mach port is valid
https://bugs.webkit.org/show_bug.cgi?id=224004
Reviewed by Darin Adler.
Use MACH_PORT_VALID() when wanting to check if a mach port is valid, instead of checking for
MACH_PORT_NULL. MACH_PORT_VALID() is the correct way to check for validity since it also checks
for the MACH_PORT_DEAD value.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WebKit::NetscapePluginHostProxy::processRequests):
2021-03-28 Sam Weinig <weinig@apple.com>
Remove ENABLE_INDEXED_DATABASE & ENABLE_INDEXED_DATABASE_IN_WORKERS, it seems like it is on for all ports
https://bugs.webkit.org/show_bug.cgi?id=223810
Reviewed by Simon Fraser.
Remove ENABLE_INDEXED_DATABASE & ENABLE_INDEXED_DATABASE_IN_WORKERS conditionals.
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager deleteAllIndexedDatabases]):
2021-03-26 David Kilzer <ddkilzer@apple.com>
WebFeature class fails to copy/retain its instance variables
<https://webkit.org/b/223823>
Reviewed by Sam Weinig.
* WebView/WebFeature.m:
(-[WebFeature initWithKey:preferenceKey:name:details:defaultValue:hidden:]):
- Copy (and thereby retain) instance variables, fulfilling the
promise of its @property declarations and preventing
use-after-release issues.
(-[WebFeature dealloc]): Add.
- Release the instance variables copied in the constructor.
2021-03-26 Jessie Berlin <jberlin@webkit.org>
Update the BEFORE/SINCE, SYSTEM_VERSION_PREFIX, and MACOSX_DEPLOYMENT_TARGET flags
https://bugs.webkit.org/show_bug.cgi?id=223779
Reviewed by Tim Horton.
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
2021-03-25 Jessie Berlin <jberlin@webkit.org>
Remove 10.13 DEPLOYMENT_TARGETs and SYSTEM_VERSION_PREFIXs
https://bugs.webkit.org/show_bug.cgi?id=223765
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
2021-03-23 Tim Horton <timothy_horton@apple.com>
Consolidate Books bundle checks
https://bugs.webkit.org/show_bug.cgi?id=223664
<rdar://problem/75754750>
Reviewed by Wenson Hsieh.
* WebView/WebViewData.mm:
(currentRunLoop):
2021-03-22 Jean-Yves Avenard <jya@apple.com>
Move management of RemoteCommandListener from MediaSessionManagerCocoa into NowPlayingManager
https://bugs.webkit.org/show_bug.cgi?id=223435
<rdar://problem/75567198>
Reviewed by Eric Carlson.
* WebCoreSupport/WebPlatformStrategies.mm: Remove methods, use default implementation instead.
2021-03-22 Devin Rousso <drousso@apple.com>
Remove unused JS and CSS files of media controls
https://bugs.webkit.org/show_bug.cgi?id=214955
<rdar://problem/66604040>
Reviewed by Eric Carlson.
Cocoa platforms are already using modern media controls so there's no reason to keep the old
media controls resources/logic around any longer. It just wastes space.
The non-iOS Apple controls must be kept though as they are still used on Windows.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferencesPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences modernMediaControlsEnabled]): Deleted.
(-[WebPreferences setModernMediaControlsEnabled:]): Deleted.
Replace `ModernMediaControlsEnabled` setting with `ENABLE_MODERN_MEDIA_CONTROLS` build flag.
2021-03-16 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r274499.
https://bugs.webkit.org/show_bug.cgi?id=223268
Not a correct fix
Reverted changeset:
"[WebView _touchEventRegions] needs to take the web lock"
https://bugs.webkit.org/show_bug.cgi?id=223266
https://trac.webkit.org/changeset/274499
2021-03-16 Antti Koivisto <antti@apple.com>
REGRESSION (r272300): [iOS] ASSERTION FAILED: Unsafe to ref/deref from different threads under WebViewLayerFlushScheduler::layerFlushCallback
https://bugs.webkit.org/show_bug.cgi?id=222712
<rdar://problem/75022845>
Reviewed by Simon Fraser.
We are scheduling a layer flush from a layerFlushCallback and so rescheduling the RunLoopObserver.
This is fine in itself but becomes a problem when the main thread web lock auto-unlock observer
runs before that observer. Then that layer flush runs without the web lock held and messes up
ref/deref main thread asserts (isMainThread() returns false when the web lock is not held).
* WebView/WebViewData.mm:
(WebViewLayerFlushScheduler::layerFlushCallback):
Fix by explicitly taking the lock.
2021-03-16 Antti Koivisto <antti@apple.com>
[WebView _touchEventRegions] needs to take the web lock
https://bugs.webkit.org/show_bug.cgi?id=223266
Reviewed by Simon Fraser.
Clicking anything in UIWebView test app in debug build hits thread assert immediately.
* WebView/WebView.mm:
(-[WebView _touchEventRegions]):
2021-03-11 Chris Dumez <cdumez@apple.com>
Introduce WorkQueue::main() to get the main thread's work queue
https://bugs.webkit.org/show_bug.cgi?id=223087
Reviewed by Geoffrey Garen.
Introduce WorkQueue::main() to get the main thread's work queue. This allows us to port some more code from
dispatch_queue to WorkQueue. It also simplifies some code that has to deal that sometimes needs to run on
the main thread and other times on a background queue. Having a single WorkQueue type to represent both the
main thread and a background queue makes writing such code more convenient.
* Misc/WebDownload.mm:
(callOnDelegateThreadAndWait):
2021-03-10 Chris Dumez <cdumez@apple.com>
Use RetainPtr<> / OSObjectPtr<> more in WebKit
https://bugs.webkit.org/show_bug.cgi?id=223030
Reviewed by Darin Adler.
* Misc/WebElementDictionary.mm:
(lookupTable):
(addLookupKey):
(+[WebElementDictionary initializeLookupTable]):
(-[WebElementDictionary _fillCache]):
(-[WebElementDictionary objectForKey:]):
* WebView/WebView.mm:
(+[WebView _makeAllWebViewsPerformSelector:]):
(-[WebView _removeFromAllWebViewsSet]):
(-[WebView _addToAllWebViewsSet]):
(+[WebView closeAllWebViews]):
(+[WebView _maxCacheModelInAnyInstance]):
2021-03-09 Sam Weinig <weinig@apple.com>
Remove CSSParserContext::enforcesCSSMIMETypeInNoQuirksMode as it is unused
https://bugs.webkit.org/show_bug.cgi?id=222949
Reviewed by Darin Adler.
At some point in the past we stoped doing anything with the enforcesCSSMIMETypeInNoQuirksMode
bit on CSSParserContext.
The only time it was ever disabled was when running ancient versions of iWeb, a product that
itself hasn't existed for over a decade, so I think we are ok to remove it.
* WebView/WebPreferencesDefaultValues.h:
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultEnforceCSSMIMETypeInNoQuirksMode): Deleted.
2021-03-09 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Add a way to trigger webpage translation via the context menu
https://bugs.webkit.org/show_bug.cgi?id=222953
<rdar://problem/73901967>
Reviewed by Devin Rousso.
Add (no-op) handling for the new enum value.
* WebView/WebHTMLView.mm:
(toTag):
2021-03-08 Sam Weinig <weinig@apple.com>
Remove quirks for the no longer supported iAd Producer
https://bugs.webkit.org/show_bug.cgi?id=222894
Reviewed by Chris Dumez.
Remove two quirks that were only for iAd Producer, which is no longer
supported on the latest macOS operating systems.
* WebView/WebPreferencesDefaultValues.h:
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultNeedsIsLoadingInAPISenseQuirk): Deleted.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(shouldRespectPriorityInCSSAttributeSetters): Deleted.
2021-03-06 Sam Weinig <weinig@apple.com>
Simplify DumpRenderTree WebPreferences reset
https://bugs.webkit.org/show_bug.cgi?id=218024
<rdar://problem/70764568>
Reviewed by Simon Fraser.
* WebView/WebPreferences.mm:
(WebPreferencesPrivate::WebPreferencesPrivate):
(-[WebPreferences encodeWithCoder:]):
(-[WebPreferences _valueForKey:]):
(-[WebPreferences _setStringValue:forKey:]):
(-[WebPreferences _setStringArrayValueForKey:forKey:]):
(-[WebPreferences _setIntegerValue:forKey:]):
(-[WebPreferences _setUnsignedIntValue:forKey:]):
(-[WebPreferences _setFloatValue:forKey:]):
(-[WebPreferences _setBoolValue:forKey:]):
(-[WebPreferences _setLongLongValue:forKey:]):
(-[WebPreferences _setUnsignedLongLongValue:forKey:]):
(-[WebPreferences _startBatchingUpdates]):
(-[WebPreferences _stopBatchingUpdates]):
(-[WebPreferences _batchUpdatePreferencesInBlock:]):
(-[WebPreferences _resetForTesting]):
(-[WebPreferences _postPreferencesChangedNotification]):
(-[WebPreferences _postPreferencesChangedAPINotification]):
(-[WebPreferences _invalidateCachedPreferences]):
(WebPreferencesPrivate::~WebPreferencesPrivate): Deleted.
* WebView/WebPreferencesPrivate.h:
Add new helpers for testing to reset and batch updates.
2021-03-05 Chris Dumez <cdumez@apple.com>
Update ApplicationCacheStorage::originsWithCache() to return a HashSet<SecurityOriginData> instead of a Vector<Ref<SecurityOrigin>>
https://bugs.webkit.org/show_bug.cgi?id=222828
Reviewed by Darin Adler.
Update ApplicationCacheStorage::originsWithCache() to return a HashSet<SecurityOriginData> instead of a Vector<Ref<SecurityOrigin>>.
Using a HashSet makes sure we do not return duplicates (which do occur as per ApplicationCacheStorage implementation) and makes typing
more consistent with other similar storage functions. Using SecurityOriginData is more lightweight and sufficient for our use cases.
It also takes care of a FIXME comment in WebsiteDataStore::fetchDataAndApply about switching to SecurityOriginData.
* WebCoreSupport/WebApplicationCache.mm:
(+[WebApplicationCache diskUsageForOrigin:]):
(+[WebApplicationCache deleteCacheForOrigin:]):
(+[WebApplicationCache originsWithCache]):
* WebCoreSupport/WebApplicationCacheQuotaManager.mm:
(-[WebApplicationCacheQuotaManager usage]):
2021-03-05 Chris Dumez <cdumez@apple.com>
Reduce use of CFRetain() / CFRelease() / CFAutoRelease() in WebKit
https://bugs.webkit.org/show_bug.cgi?id=222760
Reviewed by Darin Adler.
Reduce use of CFRetain() / CFRelease() / CFAutoRelease() in WebKit by using RetainPtr<>.
* Misc/WebLocalizableStrings.mm:
* Misc/WebNSDataExtras.mm:
(-[NSString _web_capitalizeRFC822HeaderFieldName]):
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::preferredBundleLocalizationName):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView status:]):
* WebCoreSupport/WebProgressTrackerClient.mm:
(WebProgressTrackerClient::progressEstimateChanged):
* WebInspector/WebNodeHighlightView.mm:
(layerPathWithHole):
(layerPath):
* WebView/WebFrame.mm:
(createUniqueWebDataURL):
* WebView/WebView.mm:
(+[WebView _setCacheModel:]):
2021-03-04 Chris Dumez <cdumez@apple.com>
[macOS][WK2] Changing the system language does not update navigator.language
https://bugs.webkit.org/show_bug.cgi?id=222619
Reviewed by Per Arne Vollan.
We need to listen for AppleLanguagePreferencesChangedNotification on mac WK1.
This used to happen implicitly inside WTF::platformUserPreferredLanguages() but
it is now explicit since we don't want/need it when using CFPREFS_DIRECT_MODE in WK2.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2021-03-03 Chris Dumez <cdumez@apple.com>
Unreviewed, reverting r273851.
Caused some tests failures on macOS Big Sur
Reverted changeset:
"[macOS][WK2] Changing the system language does not update
navigator.language"
https://bugs.webkit.org/show_bug.cgi?id=222619
https://commits.webkit.org/r273851
2021-03-03 Chris Dumez <cdumez@apple.com>
[macOS][WK2] Changing the system language does not update navigator.language
https://bugs.webkit.org/show_bug.cgi?id=222619
Reviewed by Per Arne Vollan.
We need to listen for AppleLanguagePreferencesChangedNotification on mac WK1.
This used to happen implicitly inside WTF::platformUserPreferredLanguages() but
it is now explicit since we don't want/need it when using CFPREFS_DIRECT_MODE in WK2.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2021-03-03 Chris Dumez <cdumez@apple.com>
Use adoptNS() right away after calling [obj copy] / [obj mutableCopy]
https://bugs.webkit.org/show_bug.cgi?id=222634
Reviewed by Darin Adler.
Use adoptNS() right away after calling [obj copy] / [obj mutableCopy] to minimize the chance of leaks.
* Misc/WebNSPasteboardExtras.mm:
(_writableTypesForImageWithArchive):
* WebCoreSupport/WebApplicationCache.mm:
(overrideBundleIdentifier):
(+[WebApplicationCache initializeWithBundleIdentifier:]):
(applicationCacheBundleIdentifier):
* WebView/WebPreferences.mm:
(classIBCreatorID):
(+[WebPreferences _setIBCreatorID:]):
(+[WebPreferences _IBCreatorID]):
2021-03-03 Megan Gardner <megan_gardner@apple.com>
Preserve information about the origin of the app highlight request
https://bugs.webkit.org/show_bug.cgi?id=222223
Reviewed by Wenson Hsieh.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::storeAppHighlight const):
2021-03-01 Peng Liu <peng.liu6@apple.com>
Rename the delegate property of WebAVPlayerView to webDelegate to fix a build failure with new SDKs
https://bugs.webkit.org/show_bug.cgi?id=222560
Reviewed by Jer Noble.
We have to rename the `delegate` property of `WebAVPlayerView` because AVKit adds
a `delegate` property to `AVPlayerView` which will conflict with the one in WebKit.
* WebView/WebVideoFullscreenController.mm:
(WebAVPlayerView_webDelegate):
(WebAVPlayerView_setWebDelegate):
(WebAVPlayerView_isFullScreen):
(WebAVPlayerView_enterFullScreen):
(WebAVPlayerView_exitFullScreen):
(allocWebAVPlayerViewInstance):
(-[WebVideoFullscreenController dealloc]):
(-[WebVideoFullscreenController windowDidLoad]):
(WebAVPlayerView_delegate): Deleted.
(WebAVPlayerView_setDelegate): Deleted.
2021-02-28 Darin Adler <darin@apple.com>
[iOS] Reduce use of retain/release in WAKWindow and remove unneeded methods from that class
https://bugs.webkit.org/show_bug.cgi?id=222330
Reviewed by Chris Dumez.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Call LegacyTileCache functions directly rather
than indirecting through WAKWindow methods.
(-[WebView viewDidMoveToWindow]): Ditto. Also tweaked conditionals a little for clarity.
2021-02-26 Chris Dumez <cdumez@apple.com>
Reduce explicit usage of [objC retain] in WebKit
https://bugs.webkit.org/show_bug.cgi?id=222439
Reviewed by Darin Adler.
Reduce explicit usage of [objC retain] in WebKit by using RetainPtr<>.
* Misc/WebNSURLExtras.mm:
(-[NSString _webkit_rangeOfURLScheme]):
* Misc/WebStringTruncator.mm:
(+[WebStringTruncator centerTruncateString:toWidth:]):
* Storage/WebStorageManager.mm:
(+[WebStorageManager _storageDirectoryPath]):
* WebCoreSupport/WebEditorClient.mm:
(_WebCreateFragment):
* WebView/WebHTMLRepresentation.mm:
(+[WebHTMLRepresentation supportedMIMETypes]):
(+[WebHTMLRepresentation supportedMediaMIMETypes]):
(+[WebHTMLRepresentation supportedNonImageMIMETypes]):
(+[WebHTMLRepresentation supportedImageMIMETypes]):
(+[WebHTMLRepresentation unsupportedTextMIMETypes]):
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::isFeatureFlagEnabled):
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
(-[WebView _close]):
(-[WebView _checkDidPerformFirstNavigation]):
(-[WebView setPreferences:]):
(-[WebView preferences]):
(-[WebView setGroupName:]):
* WebView/WebViewData.h:
2021-02-25 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r273462.
Caused API build failures
Reverted changeset:
"[iOS] Reduce use of retain/release in WAKWindow and remove
unneeded methods from that class"
https://bugs.webkit.org/show_bug.cgi?id=222330
https://commits.webkit.org/r273462
2021-02-23 Darin Adler <darin@apple.com>
[iOS] Reduce use of retain/release in WAKWindow and remove unneeded methods from that class
https://bugs.webkit.org/show_bug.cgi?id=222330
Reviewed by Chris Dumez.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Call LegacyTileCache functions directly rather
than indirecting through WAKWindow methods.
(-[WebView viewDidMoveToWindow]): Ditto. Also tweaked conditionals a little for clarity.
2021-02-22 Chris Dumez <cdumez@apple.com>
Use adoptNS() as soon as we [[ObjcClass alloc] init] to avoid leaks
https://bugs.webkit.org/show_bug.cgi?id=222237
Reviewed by Darin Adler.
* DefaultDelegates/WebDefaultUIDelegate.mm:
(+[WebDefaultUIDelegate sharedUIDelegate]):
* History/WebHistoryItem.mm:
(-[WebHistoryItem copyWithZone:]):
* Misc/WebIconDatabase.mm:
(+[WebIconDatabase sharedIconDatabase]):
* Misc/WebNSPasteboardExtras.mm:
(_writableTypesForImageWithoutArchive):
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView cacheSnapshot]):
* Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::deliverData):
* Plugins/WebPluginController.mm:
(pluginViews):
(-[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(+[WebPluginController addPlugInView:]):
(+[WebPluginController isPlugInView:]):
(-[WebPluginController destroyPlugin:]):
(-[WebPluginController destroyAllPlugins]):
* Plugins/WebPluginDatabase.mm:
(sharedDatabase):
(+[WebPluginDatabase sharedDatabase]):
(+[WebPluginDatabase sharedDatabaseIfExists]):
(+[WebPluginDatabase closeSharedDatabase]):
(-[WebPluginDatabase refresh]):
(-[WebPluginDatabase _plugInPaths]):
(-[WebPluginDatabase _removePlugin:]):
* Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb:
* Scripts/PreferencesTemplates/WebPreferencesInternalFeatures.mm.erb:
* WebView/WebDataSource.mm:
(+[WebDataSource _repTypesAllowImageTypeOmission:]):
* WebView/WebFrameView.mm:
(+[WebFrameView _viewTypesAllowImageTypeOmission:]):
* WebView/WebFullScreenController.mm:
(createBackgroundFullscreenWindow):
* WebView/WebHTMLRepresentation.mm:
(regExpForLabels):
* WebView/WebHTMLView.mm:
(+[WebHTMLView _insertablePasteboardTypes]):
* WebView/WebPreferences.mm:
(standardPreferences):
(webPreferencesInstances):
(+[WebPreferences standardPreferences]):
(+[WebPreferences _getInstanceForIdentifier:]):
(+[WebPreferences _setInstance:forIdentifier:]):
(+[WebPreferences _checkLastReferenceForIdentifier:]):
* WebView/WebView.mm:
(schemesWithRepresentationsSet):
(outlookQuirksUserScriptContents):
(-[WebView _injectOutlookQuirksScript]):
(laBanquePostaleQuirksScript):
(-[WebView _injectLaBanquePostaleQuirks]):
(+[WebView _registerViewClass:representationClass:forURLScheme:]):
(+[WebView _representationExistsForURLScheme:]):
(+[WebView automaticallyNotifiesObserversForKey:]):
(-[WebView _declaredKeys]):
(-[WebView addPluginInstanceView:]):
(-[WebView _enterFullScreenForElement:]):
* WebView/WebViewData.h:
2021-02-19 Chris Dumez <cdumez@apple.com>
Review remaining usage of autorelease to make sure it is necessary
https://bugs.webkit.org/show_bug.cgi?id=222177
Reviewed by Geoffrey Garen.
* Misc/WebNSObjectExtras.mm:
(-[WebMainThreadInvoker forwardInvocation:]):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController init]):
2021-02-19 Devin Rousso <drousso@apple.com>
[Payment Request] add support for Apple Pay payment method mode
https://bugs.webkit.org/show_bug.cgi?id=222128
<rdar://problem/72320278>
Reviewed by Wenson Hsieh.
* WebCoreSupport/WebPaymentCoordinatorClient.h:
* WebCoreSupport/WebPaymentCoordinatorClient.mm:
(WebPaymentCoordinatorClient::completePaymentMethodModeChange):
2021-02-19 Devin Rousso <drousso@apple.com>
[Payment Request] add an `object data` to `PaymentDetailsBase` so that data specific to Apple Pay can be provided
https://bugs.webkit.org/show_bug.cgi?id=222002
<rdar://problem/72319946>
Reviewed by Tim Horton.
* WebCoreSupport/WebPaymentCoordinatorClient.h:
* WebCoreSupport/WebPaymentCoordinatorClient.mm:
(WebPaymentCoordinatorClient::completeShippingMethodSelection):
(WebPaymentCoordinatorClient::completeShippingContactSelection):
(WebPaymentCoordinatorClient::completePaymentMethodSelection):
Use `ApplePay*Update` instead of duplicating its structure in another object (`ApplePaySessionPaymentRequest::*Update`).
2021-02-18 Wenson Hsieh <wenson_hsieh@apple.com>
Plumb an Optional<PageIdentifier> through WebPasteboardProxy
https://bugs.webkit.org/show_bug.cgi?id=222071
Reviewed by Tim Horton.
Add `const PasteboardContext*` arguments to the `PasteboardStrategy` methods on `WebPlatformStrategies`.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::getTypes):
(WebPlatformStrategies::bufferForType):
(WebPlatformStrategies::getPathnamesForType):
(WebPlatformStrategies::allStringsForType):
(WebPlatformStrategies::stringForType):
(WebPlatformStrategies::changeCount):
(WebPlatformStrategies::color):
(WebPlatformStrategies::url):
(WebPlatformStrategies::addTypes):
(WebPlatformStrategies::setTypes):
(WebPlatformStrategies::setBufferForType):
(WebPlatformStrategies::setURL):
(WebPlatformStrategies::setColor):
(WebPlatformStrategies::setStringForType):
(WebPlatformStrategies::getNumberOfFiles):
(WebPlatformStrategies::typesSafeForDOMToReadAndWrite):
(WebPlatformStrategies::writeCustomData):
(WebPlatformStrategies::containsStringSafeForDOMToReadForType):
(WebPlatformStrategies::informationForItemAtIndex):
(WebPlatformStrategies::allPasteboardItemInfo):
(WebPlatformStrategies::getPasteboardItemsCount):
(WebPlatformStrategies::readBufferFromPasteboard):
(WebPlatformStrategies::readURLFromPasteboard):
(WebPlatformStrategies::readStringFromPasteboard):
(WebPlatformStrategies::containsURLStringSuitableForLoading):
(WebPlatformStrategies::urlStringSuitableForLoading):
(WebPlatformStrategies::writeToPasteboard):
(WebPlatformStrategies::updateSupportedTypeIdentifiers):
2021-02-17 Wenson Hsieh <wenson_hsieh@apple.com>
Plumb an Optional<PageIdentifier> through Pasteboard-related codepaths
https://bugs.webkit.org/show_bug.cgi?id=221987
Reviewed by Tim Horton.
Create and pass in a `PasteboardContext` when creating a `Pasteboard`. See WebCore ChangeLog for more details.
* WebCoreSupport/WebDragClient.mm:
(WebDragClient::declareAndWriteDragImage):
2021-02-17 Chris Dumez <cdumez@apple.com>
Reduce explicit usage of [objC autorelease] in WebKit even further
https://bugs.webkit.org/show_bug.cgi?id=222060
Reviewed by Darin Adler.
Reduce explicit usage of [objC autorelease] in WebKit further by using RetainPtr.
* DOM/DOM.mm:
(kit):
* DOM/DOMAbstractView.mm:
(kit):
* DOM/DOMBlob.mm:
(kit):
* DOM/DOMCSSRule.mm:
(kit):
* DOM/DOMCSSRuleList.mm:
(kit):
* DOM/DOMCSSStyleDeclaration.mm:
(kit):
* DOM/DOMCSSValue.mm:
(kit):
* DOM/DOMCounter.mm:
(kit):
* DOM/DOMEvent.mm:
(kit):
* DOM/DOMFileList.mm:
(kit):
* DOM/DOMHTMLCollection.mm:
(kit):
* DOM/DOMHTMLOptionsCollection.mm:
(kit):
* DOM/DOMImplementation.mm:
(kit):
* DOM/DOMMediaError.mm:
(kit):
* DOM/DOMMediaList.mm:
(kit):
* DOM/DOMNamedNodeMap.mm:
(kit):
* DOM/DOMNode.mm:
(kit):
* DOM/DOMNodeIterator.mm:
(kit):
* DOM/DOMNodeList.mm:
(kit):
* DOM/DOMRGBColor.mm:
(kit):
* DOM/DOMRange.mm:
(kit):
* DOM/DOMRect.mm:
(kit):
* DOM/DOMStyleSheet.mm:
(kit):
* DOM/DOMStyleSheetList.mm:
(kit):
* DOM/DOMTimeRanges.mm:
(kit):
* DOM/DOMTokenList.mm:
(kit):
* DOM/DOMTreeWalker.mm:
(kit):
* DOM/DOMXPath.mm:
(kit):
* DOM/DOMXPathExpression.mm:
(kit):
* DOM/DOMXPathResult.mm:
(kit):
* DOM/WebDOMOperations.mm:
(-[DOMNode webArchive]):
(-[DOMNode webArchiveByFilteringSubframes:]):
(-[DOMRange webArchive]):
* DefaultDelegates/WebDefaultContextMenuDelegate.mm:
(-[WebDefaultUIDelegate menuItemWithTag:target:representedObject:]):
* History/WebBackForwardList.mm:
(kit):
(-[WebBackForwardList addItem:]):
(-[WebBackForwardList backItem]):
(-[WebBackForwardList currentItem]):
(-[WebBackForwardList forwardItem]):
(-[WebBackForwardList itemAtIndex:]):
* History/WebHistory.mm:
(-[WebHistoryPrivate data]):
* History/WebHistoryItem.mm:
(kit):
(+[WebHistoryItem entryWithURL:]):
* Misc/WebKitNSStringExtras.mm:
(-[NSString _webkit_stringByTrimmingWhitespace]):
* Misc/WebNSDataExtras.mm:
(-[NSData _webkit_parseRFC822HeaderFields]):
* Misc/WebNSObjectExtras.mm:
(-[WebMainThreadInvoker forwardInvocation:]):
(-[WebMainThreadInvoker handleException:]):
(+[NSObject _webkit_invokeOnMainThread]):
(-[NSObject _webkit_invokeOnMainThread]):
* Misc/WebNSURLExtras.mm:
(-[NSURL _web_originalDataAsString]):
(-[NSURL _web_hostString]):
* Plugins/Hosted/HostedNetscapePluginStream.mm:
(WebKit::HostedNetscapePluginStream::pluginCancelledConnectionError const):
* Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage pluginWithPath:]):
* Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::pluginCancelledConnectionError const):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView sendEvent:isDrawRect:]):
* Plugins/WebPluginContainerCheck.mm:
(+[WebPluginContainerCheck checkWithRequest:target:resultObject:selector:controller:contextInfo:]):
* Plugins/WebPluginDatabase.mm:
(-[WebPluginDatabase _plugInPaths]):
* WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep stepWithUndoStep:]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::convertMainResourceLoadToDownload):
(makeFormFieldValuesDictionary):
(WebFrameLoaderClient::pluginWillHandleLoadError const):
(WebFrameLoaderClient::createPlugin):
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController webView:contextMenuItemsForElement:defaultMenuItems:]):
* WebCoreSupport/WebSecurityOrigin.mm:
* WebView/WebArchive.mm:
(-[WebArchive data]):
* WebView/WebDataSource.mm:
(-[WebDataSource _fileWrapperForURL:]):
(-[WebDataSource webArchive]):
(-[WebDataSource mainResource]):
(-[WebDataSource subresourceForURL:]):
* WebView/WebDeviceOrientationProviderMock.mm:
(-[WebDeviceOrientationProviderMockInternal lastOrientation]):
* WebView/WebFrame.mm:
(-[WebFrame elementAtPoint:]):
(-[WebFrame parentFrame]):
* WebView/WebFrameView.mm:
(-[WebFrameView initWithFrame:]):
(-[WebFrameView _setCustomScrollViewClass:]):
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation documentSource]):
(-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
* WebView/WebHTMLView.mm:
(+[WebHTMLView _excludedElementsForAttributedStringConversion]):
(-[WebHTMLView _plainTextFromPasteboard:]):
(-[WebHTMLView view:stringForToolTip:point:userData:]):
(-[WebHTMLView rightMouseUp:]):
(-[WebHTMLView menuForEvent:]):
(-[WebHTMLView scrollWheel:]):
(-[WebHTMLView acceptsFirstMouse:]):
(-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
(-[WebHTMLView mouseDown:]):
(-[WebHTMLView mouseDragged:]):
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
(-[WebHTMLView mouseUp:]):
(-[WebHTMLView keyDown:]):
(-[WebHTMLView keyUp:]):
(-[WebHTMLView flagsChanged:]):
(-[WebHTMLView _fontAttributesFromFontPasteboard]):
(-[WebHTMLView performKeyEquivalent:]):
(-[WebHTMLView textStorage]):
(-[WebHTMLView pasteboardTypesForSelection]):
(-[WebHTMLView _legacyAttributedStringFrom:offset:to:offset:]):
(-[WebHTMLView attributedString]):
(-[WebHTMLView selectedAttributedString]):
(-[WebHTMLView elementAtPoint:allowShadowContent:]):
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _defaultAnimationController]):
* WebView/WebNotification.mm:
(-[WebNotification origin]):
* WebView/WebPDFView.mm:
(-[WebPDFView selectionImageForcingBlackText:]):
(-[WebPDFView _scaledAttributedString:]):
* WebView/WebResource.mm:
(-[WebResource _initWithData:URL:MIMEType:textEncodingName:frameName:response:copyData:]):
(-[WebResource _fileWrapperRepresentation]):
(-[WebResource _response]):
* WebView/WebScriptWorld.mm:
(+[WebScriptWorld world]):
(+[WebScriptWorld findOrCreateWorld:]):
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController init]):
* WebView/WebView.mm:
(-[WebView _menuForElement:defaultItems:]):
(+[WebView _registerViewClass:representationClass:forURLScheme:]):
(-[WebView _displayURL]):
(-[WebView textIteratorForRect:]):
(+[WebView MIMETypesShownAsHTML]):
2021-02-17 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Introduce a new context menu item to preview images
https://bugs.webkit.org/show_bug.cgi?id=221917
<rdar://problem/74363578>
Reviewed by Darin Adler and Tim Horton.
Legacy WebKit won't be supporting this new context menu action; see other ChangeLog entries for more details.
* WebView/WebHTMLView.mm:
(toTag):
2021-02-16 Megan Gardner <megan_gardner@apple.com>
Change App Highlights API to operate in terms of a single serialized highlight at a time
https://bugs.webkit.org/show_bug.cgi?id=221802
Reviewed by Tim Horton.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::storeAppHighlight const):
(WebChromeClient::updateAppHighlightsStorage const): Deleted.
2021-02-16 Chris Dumez <cdumez@apple.com>
Reduce explicit usage of [objC release] in WebKit even more
https://bugs.webkit.org/show_bug.cgi?id=221914
Reviewed by Alex Christensen.
* History/WebHistory.mm:
(+[WebHistory setOptionalSharedHistory:]):
* Plugins/WebPluginDatabase.mm:
(+[WebPluginDatabase setAdditionalWebPlugInPaths:]):
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::enterFullScreenForElement):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory):
(NetscapePluginWidget::getFormValue):
* WebInspector/WebNodeHighlightView.mm:
(-[WebNodeHighlightView _attach:numLayers:]):
* WebView/WebFrameView.mm:
(-[WebFrameView _makeDocumentViewForDataSource:]):
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
(-[WebView _closePluginDatabases]):
(-[WebView _close]):
(-[WebView inspector]):
(-[WebView setShowingInspectorIndication:]):
(-[WebView _setFormDelegate:]):
(-[WebView _formDelegateForwarder]):
(-[WebView _UIKitDelegateForwarder]):
(-[WebView _policyDelegateForwarder]):
(-[WebView _UIDelegateForwarder]):
(-[WebView _editingDelegateForwarder]):
(-[WebView _setUIKitDelegate:]):
(-[WebView caretChangeListeners]):
(-[WebView addCaretChangeListener:]):
(-[WebView _setAdditionalWebPlugInPaths:]):
(-[WebView setBackgroundColor:]):
(-[WebView backgroundColor]):
(-[WebView _fixedPositionContent]):
(-[WebView setUIDelegate:]):
(-[WebView _resourceLoadDelegateForwarder]):
(-[WebView setResourceLoadDelegate:]):
(-[WebView setPolicyDelegate:]):
(-[WebView _frameLoadDelegateForwarder]):
(-[WebView setFrameLoadDelegate:]):
(-[WebView setApplicationNameForUserAgent:]):
(-[WebView applicationNameForUserAgent]):
(-[WebView setMediaStyle:]):
(-[WebView mediaStyle]):
(-[WebView _userAgentString]):
(-[WebView setHostWindow:]):
(-[WebView hostWindow]):
(-[WebView setCurrentNodeHighlight:]):
(-[WebView currentNodeHighlight]):
(-[WebView _allowsLinkPreview]):
(-[WebView _setAllowsLinkPreview:]):
(-[WebView setEditingDelegate:]):
(-[WebView _immediateActionController]):
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate dealloc]):
2021-02-12 Chris Dumez <cdumez@apple.com>
Reduce explicit usage of [objC release] in WebKit
https://bugs.webkit.org/show_bug.cgi?id=221780
<rdar://problem/74282389>
Reviewed by Darin Adler.
Apply review feedback from Darin Adler and Sam Weinig after r272789.
* DOM/DOMUIKitExtensions.mm:
(-[DOMNode absoluteQuads]):
(-[DOMHTMLAreaElement absoluteQuadsWithOwner:]):
* DOM/ExceptionHandlers.mm:
(raiseDOMErrorException):
* DefaultDelegates/WebDefaultUIDelegate.mm:
(-[WebDefaultUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:]):
* History/WebHistory.mm:
(-[WebHistoryPrivate visitedURL:withTitle:]):
(-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
* History/WebHistoryItem.mm:
(-[WebHistoryItem initFromDictionaryRepresentation:]):
* Misc/WebNSDataExtras.mm:
(-[NSData _webkit_parseRFC822HeaderFields]):
* Misc/WebNSPasteboardExtras.mm:
(-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::performRequest):
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createWindow):
(WebChromeClient::addMessageToConsole):
* WebCoreSupport/WebEditorClient.mm:
(attributesForAttributedStringConversion):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::actionDictionary const):
(WebFrameLoaderClient::createFrame):
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController initWithInspectedWebView:isUnderTest:]):
(-[WebInspectorWindowController window]):
* WebView/WebDataSource.mm:
(-[WebDataSource _documentFragmentWithArchive:]):
(-[WebDataSource _makeRepresentation]):
* WebView/WebFrame.mm:
* WebView/WebFrameView.mm:
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateMouseoverWithEvent:]):
* WebView/WebNavigationData.mm:
* WebView/WebPDFRepresentation.mm:
(-[WebPDFRepresentation finishedLoadingWithDataSource:]):
* WebView/WebPDFView.mm:
(-[WebPDFView _menuItemsFromPDFKitForEvent:]):
* WebView/WebPolicyDelegate.mm:
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::sourceParsed):
* WebView/WebView.mm:
(-[WebView _openNewWindowWithRequest:]):
* WebView/WebWindowAnimation.h:
* WebView/WebWindowAnimation.mm:
(-[WebWindowScaleAnimation setSubAnimation:]):
2021-02-12 Chris Dumez <cdumez@apple.com>
Reduce explicit usage of [objC release] in WebKit
https://bugs.webkit.org/show_bug.cgi?id=221780
Reviewed by Alex Christensen.
Reduce explicit usage of [objC release] in WebKit by using smart pointers.
* DOM/DOMUIKitExtensions.mm:
(-[DOMNode absoluteQuads]):
(-[DOMHTMLAreaElement absoluteQuadsWithOwner:]):
* DOM/ExceptionHandlers.mm:
(raiseDOMErrorException):
* DefaultDelegates/WebDefaultUIDelegate.mm:
(-[WebDefaultUIDelegate webView:runJavaScriptTextInputPanelWithPrompt:defaultText:initiatedByFrame:]):
* History/WebHistory.mm:
(-[WebHistoryPrivate init]):
(-[WebHistoryPrivate dealloc]):
(-[WebHistoryPrivate removeItemFromDateCaches:]):
(-[WebHistoryPrivate addItemToDateCaches:]):
(-[WebHistoryPrivate visitedURL:withTitle:]):
(-[WebHistoryPrivate addItem:discardDuplicate:]):
(-[WebHistoryPrivate rebuildHistoryByDayIfNeeded:]):
(-[WebHistoryPrivate removeAllItems]):
(-[WebHistoryPrivate orderedLastVisitedDays]):
(-[WebHistoryPrivate loadHistoryGutsFromURL:savedItemsCount:collectDiscardedItemsInto:error:]):
(-[WebHistoryPrivate addVisitedLinksToVisitedLinkStore:]):
(-[WebHistory loadFromURL:error:]):
(-[WebHistory _visitedURL:withTitle:method:wasFailure:]):
* History/WebHistoryItem.mm:
(-[WebHistoryItem initFromDictionaryRepresentation:]):
* Misc/WebDownload.mm:
(-[WebDownloadInternal dealloc]):
(-[WebDownloadInternal setRealDelegate:]):
(-[WebDownloadInternal downloadDidBegin:]):
(-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
(-[WebDownloadInternal download:didReceiveResponse:]):
(-[WebDownloadInternal download:didReceiveDataOfLength:]):
(-[WebDownloadInternal download:decideDestinationWithSuggestedFilename:]):
(-[WebDownloadInternal download:didCreateDestination:]):
(-[WebDownloadInternal downloadDidFinish:]):
(-[WebDownloadInternal download:didFailWithError:]):
* Misc/WebNSDataExtras.mm:
(-[NSData _webkit_parseRFC822HeaderFields]):
* Misc/WebNSPasteboardExtras.mm:
(-[NSPasteboard _web_writeFileWrapperAsRTFDAttachment:]):
(-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::performRequest):
* Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::didReceiveData):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView pluginView:receivedData:]):
(-[WebNetscapePluginView loadPluginRequest:]):
(-[WebNetscapePluginView loadRequest:inTarget:withNotifyData:sendNotification:]):
* Plugins/WebPluginController.mm:
(-[WebPluginController pluginView:receivedResponse:]):
* Plugins/WebPluginDatabase.mm:
(-[WebPluginDatabase refresh]):
(-[WebPluginDatabase _removePlugin:]):
(-[WebPluginDatabase _scanForNewPlugins]):
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createWindow):
(WebChromeClient::addMessageToConsole):
(WebChromeClient::mouseDidMoveOverElement):
(WebChromeClient::exceededDatabaseQuota):
(WebChromeClient::reachedApplicationCacheOriginQuota):
(WebChromeClient::runOpenPanel):
(WebChromeClient::exitFullScreenForElement):
* WebCoreSupport/WebEditorClient.mm:
(attributesForAttributedStringConversion):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::forceLayoutForNonHTML):
(WebFrameLoaderClient::dispatchCreatePage):
(WebFrameLoaderClient::committedLoad):
(WebFrameLoaderClient::prepareForDataSourceReplacement):
(WebFrameLoaderClient::createDocumentLoader):
(WebFrameLoaderClient::savePlatformDataToCachedFrame):
(WebFrameLoaderClient::transitionToCommittedForNewPage):
(WebFrameLoaderClient::actionDictionary const):
(WebFrameLoaderClient::createFrame):
(pluginView):
(WebFrameLoaderClient::createPlugin):
* WebCoreSupport/WebGeolocationClient.mm:
(WebGeolocationClient::requestPermission):
(-[WebGeolocationProviderInitializationListener initializationAllowedWebView:]):
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController init]):
(-[WebInspectorWindowController initWithInspectedWebView:isUnderTest:]):
(-[WebInspectorWindowController dealloc]):
(-[WebInspectorWindowController frontendWebView]):
(-[WebInspectorWindowController window]):
(-[WebInspectorWindowController showWindow:]):
(-[WebInspectorWindowController webView:runOpenPanelForFileButtonWithResultListener:allowMultipleFiles:]):
* WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::requestPermission):
(WebNotificationClient::checkPermission):
* WebView/WebArchive.mm:
(-[WebArchivePrivate dealloc]):
(-[WebArchive initWithMainResource:subresources:subframeArchives:]):
(-[WebArchive mainResource]):
(-[WebArchive subresources]):
(-[WebArchive subframeArchives]):
* WebView/WebDataSource.mm:
(-[WebDataSource _documentFragmentWithArchive:]):
(-[WebDataSource _makeRepresentation]):
* WebView/WebFrame.mm:
(-[WebFramePrivate dealloc]):
(-[WebFramePrivate setWebFrameView:]):
(+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
(+[WebFrame _createMainFrameWithPage:frameName:frameView:]):
(+[WebFrame _createMainFrameWithSimpleHTMLDocumentWithPage:frameView:style:]):
(-[WebFrame getDictationResultRanges:andMetadatas:]):
(-[WebFrame frameView]):
* WebView/WebFrameInternal.h:
* WebView/WebFrameView.mm:
(-[WebFrameViewPrivate dealloc]):
(-[WebFrameView _scrollView]):
(-[WebFrameView _install]):
(-[WebFrameView initWithFrame:]):
(-[WebFrameView _setCustomScrollViewClass:]):
* WebView/WebFullScreenController.mm:
(-[WebFullScreenController init]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateMouseoverWithEvent:]):
* WebView/WebNavigationData.mm:
(-[WebNavigationDataPrivate dealloc]):
(-[WebNavigationData initWithURLString:title:originalRequest:response:hasSubstituteData:clientRedirectSource:]):
(-[WebNavigationData url]):
(-[WebNavigationData title]):
(-[WebNavigationData originalRequest]):
(-[WebNavigationData response]):
(-[WebNavigationData clientRedirectSource]):
* WebView/WebPDFDocumentExtras.mm:
(allScriptsInPDFDocument):
* WebView/WebPDFRepresentation.mm:
(-[WebPDFRepresentation finishedLoadingWithDataSource:]):
* WebView/WebPDFView.mm:
(-[WebPDFView menuForEvent:]):
(-[WebPDFView countMatchesForText:inDOMRange:options:limit:markMatches:]):
(-[WebPDFView attributedString]):
(-[WebPDFView selectionImageForcingBlackText:]):
(-[WebPDFView _menuItemsFromPDFKitForEvent:]):
(-[WebPDFView _nextMatchFor:direction:caseSensitive:wrap:fromSelection:startInSelection:]):
* WebView/WebPolicyDelegate.mm:
(-[WebPolicyDecisionListenerPrivate initWithTarget:action:]):
(-[WebPolicyDecisionListenerPrivate dealloc]):
(-[WebPolicyDecisionListener _usePolicy:]):
(-[WebPolicyDecisionListener _invalidate]):
* WebView/WebPreferences.mm:
(+[WebPreferences _setIBCreatorID:]):
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::sourceParsed):
* WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController _buildUI]):
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController init]):
* WebView/WebView.mm:
(-[WebView _registerDraggedTypes]):
(-[WebView _commonInitializationWithFrameName:groupName:]):
(+[WebView _supportedFileExtensions]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
(-[WebView _downloadURL:]):
(-[WebView _openNewWindowWithRequest:]):
(-[WebView _didStartProvisionalLoadForFrame:]):
(-[WebView caretChanged]):
(-[WebView setBackgroundColor:]):
(+[WebView setMIMETypesShownAsHTML:]):
(-[WebView setPreferences:]):
(-[WebView setPreferencesIdentifier:]):
(-[WebView setCurrentNodeHighlight:]):
(-[WebView stopLoadingAndClear]):
(-[WebView _openFrameInNewWindowFromMenu:]):
(-[WebView _searchWithGoogleFromMenu:]):
* WebView/WebWindowAnimation.mm:
(-[WebWindowScaleAnimation setSubAnimation:]):
2021-02-10 Rob Buis <rbuis@igalia.com>
Use event loop to set title
https://bugs.webkit.org/show_bug.cgi?id=218496
Reviewed by Darin Adler.
Adjust to API change.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::print):
2021-02-08 Ryan Haddad <ryanhaddad@apple.com>
Permission request API for MediaKeySystem access support
https://bugs.webkit.org/show_bug.cgi?id=221187
Unreviewed build fix for macCatalyst.
* WebCoreSupport/WebMediaKeySystemClient.h: Add a check for ENABLE(ENCRYPTED_MEDIA).
2021-02-08 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r272480, r272481, and r272500.
https://bugs.webkit.org/show_bug.cgi?id=221586
Caused assertion failure seen with EME tests
Reverted changesets:
"Permission request API for MediaKeySystem access support"
https://bugs.webkit.org/show_bug.cgi?id=221187
https://trac.webkit.org/changeset/272480
"Unreviewed, build fix after r272480"
https://trac.webkit.org/changeset/272481
"Permission request API for MediaKeySystem access support"
https://bugs.webkit.org/show_bug.cgi?id=221187
https://trac.webkit.org/changeset/272500
2021-02-08 Brady Eidson <beidson@apple.com>
Make the UserContentController for ServiceWorker pages be non-optional.
<rdar://problem/71434565> and https://bugs.webkit.org/show_bug.cgi?id=221503
Reviewed by Alex Christensen.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2021-02-08 Ryan Haddad <ryanhaddad@apple.com>
Permission request API for MediaKeySystem access support
https://bugs.webkit.org/show_bug.cgi?id=221187
Unreviewed build fix for macCatalyst.
* WebCoreSupport/WebMediaKeySystemClient.h: Add a check for ENABLE(ENCRYPTED_MEDIA).
2021-01-29 Darin Adler <darin@apple.com>
Check activeDocumentLoader() for null consistently everywhere
https://bugs.webkit.org/show_bug.cgi?id=221167
Reviewed by Anders Carlsson.
* Plugins/WebNetscapePluginStream.mm:
(WebNetscapePluginStream::cancelLoadWithError): Added null check before calling
isLoadingMainResource.
2021-01-30 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Remove support for image controls
https://bugs.webkit.org/show_bug.cgi?id=221156
Reviewed by Tim Horton.
Turn these legacy WebKit SPI methods into empty stubs.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences imageControlsEnabled]):
(-[WebPreferences setImageControlsEnabled:]):
2021-01-26 BJ Burg <bburg@apple.com>
REGRESSION(r267641): WebKitDeveloperExtras preference has no effect for WebKitLegacy clients
https://bugs.webkit.org/show_bug.cgi?id=220996
<rdar://72173139>
Reviewed by Sam Weinig.
Read back this preference when propagating it, because the value depends on
more than just the preference key. For example, it allows Debug builds to act
as if the preference is always enabled.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2021-01-22 Nikolas Zimmermann <nzimmermann@igalia.com>
Finish introduction of RenderLayerScrollableArea: remove remaining glue code from RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=220851
Reviewed by Simon Fraser.
Remove the last remaining glue code from RenderLayer, that was added
in r271559 to minimize the patch size. After this patch all call sites
use RenderLayerScrollableArea directly, removing the need for proxy
methods in RenderLayer that forward to RenderLayerScrollableArea.
The decade old bug 60305 (Separate scrolling code out of RenderLayer)
is finally closed.
Covered by existing tests.
* DOM/DOMHTML.mm:
(-[DOMHTMLElement scrollXOffset]):
(-[DOMHTMLElement scrollYOffset]):
(-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
* WebView/WebFrame.mm:
(-[WebFrame _scrollDOMRangeToVisible:]):
(-[WebFrame _scrollDOMRangeToVisible:withInset:]):
2021-01-25 Chris Dumez <cdumez@apple.com>
Support AbortSignal in addEventListenerOptions to unsubscribe from events
https://bugs.webkit.org/show_bug.cgi?id=218753
<rdar://problem/71258012>
Reviewed by Darin Adler.
Minor build fixes.
* DOM/DOMNode.mm:
2021-01-21 Devin Rousso <drousso@apple.com>
[Apple Pay] use the first item in `shippingOptions` even when it's not `selected`
https://bugs.webkit.org/show_bug.cgi?id=220810
Reviewed by Andy Estes.
* WebCoreSupport/WebChromeClient.mm:
(stringForMessageSource):
Add a new `PaymentRequest` value to the `ChannelSource` enum.
2021-01-20 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Include an origin identifier when writing promised image data to the drag pasteboard
https://bugs.webkit.org/show_bug.cgi?id=220782
Reviewed by Megan Gardner.
See WebKit ChangeLog for more details.
* Misc/WebNSPasteboardExtras.mm:
(-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
2021-01-19 Keith Rollin <krollin@apple.com>
Modularize WebKitLegacy.framework
https://bugs.webkit.org/show_bug.cgi?id=220026
<rdar://57173237>
Reviewed by Darin Adler.
Add .modulemap files to WebKitLegacy to help speed up client builds.
In WebKitLegacy.xcconfig, enable module creation for macOS and iOS.
Add the associated umbrella header files, and enable the validation of
the module files.
For WebHTMLViewPrivate.h, ensure that ENABLE_NETSCAPE_PLUGIN_API is
defined before checking its value, thereby avoiding a compiler
warning-turned-error that an uninitialized symbol is being used.
For WebBackForwardListPrivate.h, make the parameter name in a function
comment match the actual parameter name, thereby avoiding a
warning-turned-error from the tool that processes headers into built
modules.
* Configurations/WebKitLegacy.xcconfig:
* History/WebBackForwardListPrivate.h:
* Misc/WebKitLegacy_Private.h: Added.
* Misc/WebKitLegacy_iOS_Private.h: Added.
* Misc/WebKitLegacy_macOS_Private.h: Copied from Source/WebKitLegacy/mac/History/WebBackForwardListPrivate.h.
* WebView/WebHTMLViewPrivate.h:
2021-01-18 Nikolas Zimmermann <nzimmermann@igalia.com>
Remove recently added glue code: RenderLayer::(setAdjustForIOSCaretWhenScrolling / setScrollShouldClearLatchedState / setConstrainsScrollingToContentEdge)
https://bugs.webkit.org/show_bug.cgi?id=220708
Reviewed by Adrian Perez de Castro.
Follow-up on patch adressing the removal of the glue code that
forwards calls from RenderLayer to RenderLayerScrollableArea (see
webkit.org/b/60305).
Covered by existing tests.
* DOM/DOMHTML.mm:
(-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
* WebView/WebFrame.mm:
(-[WebFrame _scrollDOMRangeToVisible:]):
(-[WebFrame _scrollDOMRangeToVisible:withInset:]):
2021-01-18 Nikolas Zimmermann <nzimmermann@igalia.com>
Remove recently added glue code: RenderLayer::(scrollToOffset / scrollToXOffset / scrollToYOffset)
https://bugs.webkit.org/show_bug.cgi?id=220705
Reviewed by Adrian Perez de Castro.
Follow-up on patch adressing the removal of the glue code that
forwards calls from RenderLayer to RenderLayerScrollableArea (see
webkit.org/b/60305).
Covered by existing tests.
* DOM/DOMHTML.mm:
(-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
2021-01-14 Geoffrey Garen <ggaren@apple.com>
Removed most uses of dispatch_async(dispatch_get_main_queue(), ...)
https://bugs.webkit.org/show_bug.cgi?id=220066
Reviewed by Antti Koivisto.
dispatch_async has two downsides:
(1) Its order is undefined (and in practice highly variable) relative to
other WebKit operations. This sometimes causes flakiness.
(2) It doesn't honor the RunLoop first paint optimization.
We can use RunLoop::dispatch() instead.
* Plugins/npapi.mm:
(NPN_PluginThreadAsyncCall):
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCandidatesForSelection):
* WebCoreSupport/WebFrameLoaderClient.mm:
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):
* WebView/WebView.mm:
(+[WebView willEnterBackgroundWithCompletionHandler:]):
(-[_WebSafeAsyncForwarder forwardInvocation:]):
(-[WebView performDragOperation:]):
(-[WebView setEditable:]):
2021-01-13 Alex Christensen <achristensen@webkit.org>
Remove deprecated script and stylesheet injection SPI, replaced with more inclusively-named SPI
https://bugs.webkit.org/show_bug.cgi?id=214936
Reviewed by Youenn Fablet.
rdar://64376341 tracks the adoption of the replacement. Once that is done, we can remove the old SPI.
* WebView/WebView.mm:
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]): Deleted.
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]): Deleted.
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]): Deleted.
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]): Deleted.
* WebView/WebViewPrivate.h:
2021-01-13 Martin Robinson <mrobinson@igalia.com>
Scroll-snap points should be triggered during programmatic scroll
https://bugs.webkit.org/show_bug.cgi?id=145330
<rdar://problem/21467780>
Reviewed by Simon Fraser.
* DOM/DOMHTML.mm:
(-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]): Update to use
ScrollPositionChangeOptions.
2021-01-12 Tim Horton <timothy_horton@apple.com>
QuickLook snapshots are missing some image content
https://bugs.webkit.org/show_bug.cgi?id=220571
<rdar://problem/72184373>
Reviewed by Simon Fraser.
* WebView/WebFrame.mm:
(-[WebFrame _paintBehaviorForDestinationContext:]):
Quick Look snapshots use WebView, and call displayRectIgnoringOpacity:inContext:
in order to paint it into a bitmap context. However, if the WebView is layer-backed,
including for reasons outside of WebKit or Quick Look's control, it currently
does a "normal" paint (as opposed to a snapshotting + flattening paint).
This results in async image decoding kicking in, which is undesirable
for a snapshot, since there is no opportunity to repaint when the decode
is complete.
It is difficult to detect all cases in which WebView is being painted into
an offscreen context, but one case that we can easily detect, and which
fixes Quick Look, is if the WebView itself is not hosted in a window.
So, if not hosted in a window, do a snapshotting+flattening paint.
2021-01-11 Alex Christensen <achristensen@webkit.org>
Use sendWithAsyncReply instead of dataCallback for icon loading
https://bugs.webkit.org/show_bug.cgi?id=220381
Reviewed by Youenn Fablet.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::prepareForDataSourceReplacement):
(WebFrameLoaderClient::getLoadDecisionForIcons):
(WebFrameLoaderClient::finishedLoadingIcon):
2021-01-07 Alexey Shvayka <shvaikalesh@gmail.com>
[JSC] Simplify get*PropertyNames() methods and EnumerationMode
https://bugs.webkit.org/show_bug.cgi?id=212954
Reviewed by Yusuke Suzuki.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::enumerate):
2021-01-06 Jer Noble <jer.noble@apple.com>
[Cocoa] Revert audioTimePitchAlgorithm to "TimeDomain" from "Spectral"
https://bugs.webkit.org/show_bug.cgi?id=220341
Reviewed by Youenn Fablet.
Add a private preference to control what pitch correction algorithm will be used by MediaPlayer.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences _pitchCorrectionAlgorithm]):
(-[WebPreferences _setPitchCorrectionAlgorithm:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2021-01-04 Jeff Miller <jeffm@apple.com>
Update user-visible copyright strings to include 2021
https://bugs.webkit.org/show_bug.cgi?id=219901
Reviewed by Anders Carlsson.
* Info.plist:
2020-12-19 Rob Buis <rbuis@igalia.com>
Move FrameLoader::arePluginsEnabled to Frame
https://bugs.webkit.org/show_bug.cgi?id=220022
Reviewed by Sam Weinig.
Adapt to API change.
* WebCoreSupport/WebPluginInfoProvider.mm:
(WebPluginInfoProvider::pluginInfo):
* WebView/WebFrame.mm:
(-[WebFrame _canProvideDocumentSource]):
2020-12-18 Megan Gardner <megan_gardner@apple.com>
Gate all of the code associated with app highlights
https://bugs.webkit.org/show_bug.cgi?id=220003
<rdar://problem/72451893>
Reviewed by Tim Horton.
* WebView/WebHTMLView.mm:
(toTag):
2020-12-17 Rob Buis <rbuis@igalia.com>
Make FontCascade::CodePath an enum class
https://bugs.webkit.org/show_bug.cgi?id=219947
Reviewed by Alex Christensen.
Adapt to enum class change.
* WebView/WebView.mm:
(+[WebView _setAlwaysUsesComplexTextCodePath:]):
2020-12-14 Chris Dumez <cdumez@apple.com>
Unreviewed, reverting r270768.
Still crashes in debug in a different location
Reverted changeset:
"[GPUProcess] Crash under
AudioDestinationCocoa::setIsPlaying(bool)"
https://bugs.webkit.org/show_bug.cgi?id=219809
https://trac.webkit.org/changeset/270768
2020-12-14 Chris Dumez <cdumez@apple.com>
[GPUProcess] Crash under AudioDestinationCocoa::setIsPlaying(bool)
https://bugs.webkit.org/show_bug.cgi?id=219809
Reviewed by Eric Carlson.
* WebCoreSupport/WebPlatformStrategies.mm:
2020-12-11 Darin Adler <darin@apple.com>
[Cocoa] REGRESSION (r270315): WebKitLegacy builds fail with "unifdef" error message
https://bugs.webkit.org/show_bug.cgi?id=219756
Reviewed by Sam Weinig.
Was seeing this error: Unifdef: can't open Debug/WebKitLegacy.framework/Versions/A/Headers/*.h.tmp: No such file or directory.
Keith figured out it was because there are no public headers in the WebKitLegacy framework.
* postprocess-headers.sh: Remove the line that post-processes public headers.
2020-12-10 Adam Roben <aroben@apple.com>
macOS Production WebKitLegacy build is broken on Xcode 10
https://bugs.webkit.org/show_bug.cgi?id=219753
Reviewed by Tim Horton.
* Configurations/WebKitLegacy.xcconfig: Replaced :default= syntax that
is only supported in Xcode 11.4 and newer with the equivalent
WK_DEFAULT_PLATFORM_NAME variable.
2020-12-09 Per Arne Vollan <pvollan@apple.com>
[macOS] Change Universal Access zoom in the UI process
https://bugs.webkit.org/show_bug.cgi?id=219635
Reviewed by Darin Adler.
Implement the method changeUniversalAccessZoomFocus in the WebKit legacy chrome client by changing
the Universal Access zoom in-process.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::changeUniversalAccessZoomFocus):
2020-12-04 Adam Roben <aroben@apple.com>
More FALLBACK_PLATFORM adoption
https://bugs.webkit.org/show_bug.cgi?id=219545
Reviewed by Tim Horton.
* Configurations/SDKVariant.xcconfig:
WK_EMPTY_$(THIS_IS_NOT_EMPTY) evaluates to the empty string, not to
NO.
2020-12-03 Adam Roben <aroben@apple.com>
Adopt FALLBACK_PLATFORM
https://bugs.webkit.org/show_bug.cgi?id=219504
Reviewed by Tim Horton.
* Configurations/SDKVariant.xcconfig:
* Configurations/WebKitLegacy.xcconfig:
Use FALLBACK_PLATFORM it if it's defined, otherwise use PLATFORM_NAME
as before.
2020-12-01 Keith Rollin <krollin@apple.com>
Consolidate header postprocessing scripts
https://bugs.webkit.org/show_bug.cgi?id=219388
<rdar://problem/71840357>
Reviewed by David Kilzer.
Our build system contains the following scripts to perform some
postprocessing of headers that we export to the SDK:
JavaScriptCore/postprocess-headers.sh
WebKit/mac/postprocess-framework-headers.sh
WebKitLegacy/mac/postprocess-headers.sh
The preceding scripts are used when using the non-XCBuild -- or
"legacy" -- Xcode build system. They are invoked in a custom Run
Script build phase after the headers have been exported with the
standard Xcode facility for creating frameworks.
Alternatively, we also have the following postprocessing scripts:
WebKit/Scripts/postprocess-header-rule
JavaScriptCore/Scripts/postprocess-header-rule
WebKitLegacy/scripts/postprocess-header-rule
These scripts are used when using the XCBuild build system. They are
invoked *during* the header export process to copy and postprocess the
headers in one blow. They are part of a Custom Build Rule for
exporting files ending in ".h".
The reason why we have two sets of scripts is because of the different
capabilities of the two Xcode build systems. The legacy system does
not support a custom "export header" step that would allow us to copy
and postprocess each header in a single step. Therefore, when using
the legacy build system, we export in one build step and postprocess
in a subsequent build step. And XCBuild doesn't like the approach
taken by the old build system where files are exported first and then
munged in a separate step, since that confuses its notion of the state
of the build ("Hey! That file I exported in the previous build? I see
now that it's been changed, so I'm going to export it again. And
change its modification date. And then rebuild everything downstream
that uses it."). Therefore, XCBuild added a facility for copying and
postprocessing in one step.
The scripts supporting each of these approaches are very similar to
each other, such that there is a lot of code duplication between them.
At the same time, by having two sets of scripts that are very similar
to each other, we run the risk of "drift", where files in one set may
get updated while their counterparts in the other set are not.
Address this duplication by making the scripts in the "legacy" set be
mere stubs that invoke the scripts in the new "XCBuild" set. In doing
this, we also fix a case of drift: the legacy-based scripts made use
of a timestamp file to determine if headers needed to be reprocessed
and exported, while the XCBuild-based scripts used a "process the
files and export them if any actual changes now exist between this new
version and any previously-exported version" approach.
Along the way, fix a bug in WebKitLegacy's postprocess-header-rule
that resulted in WebKitAvailability.h not being processed. The
practical effect of this bug is that the file ended up with both macOS
and iOS code, along with the #if that controlled which chunk of code
was compiled, instead of just the chunk of code specific to the
targeted SDK. Normally, the unused chunk of code would get removed
through the invocation of `unifdef`. But, because of the bug, the
results of running `unifdef` were being discarded.
* postprocess-headers.sh:
2020-11-30 Chris Dumez <cdumez@apple.com>
sessionStorage should not be cloned when a window is opened with rel=noopener
https://bugs.webkit.org/show_bug.cgi?id=218804
<rdar://problem/71286606>
Reviewed by Alex Christensen.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchCreatePage):
2020-11-21 Simon Fraser <simon.fraser@apple.com>
Add an Experimental Features for wheel event gestures becoming non-blocking
https://bugs.webkit.org/show_bug.cgi?id=219236
Reviewed by Sam Weinig.
Add a feature flag for the behavior that is being added via webkit.org/b/218764,
which is that only the first wheel event in a gesture is cancelable.
* WebView/WebPreferencesDefaultValues.h:
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultWheelEventGesturesBecomeNonBlocking):
2020-11-19 Hoa Dinh <dvh@apple.com>
Code formatting: change instances of "@synthesize a=b" to "@synthesize a = b".
https://bugs.webkit.org/show_bug.cgi?id=219094
Reviewed by Wenson Hsieh.
There was a mix of "@synthesize a=b" and "@synthesize a = b" in the codebase.
Most of the instances are "@synthesize a = b", with spaces around the equal sign.
With https://bugs.webkit.org/show_bug.cgi?id=219092, we're changing the behavior of
the code style checker to require spaces around the equal sign.
The change replace all the instances of "@synthesize a=b" with "@synthesize a = b".
* WebView/WebFullScreenController.mm:
* WebView/WebView.mm:
2020-11-16 Sam Weinig <weinig@apple.com>
Standardize enums that are used by Settings in preperation for autogeneration
https://bugs.webkit.org/show_bug.cgi?id=218960
Reviewed by Tim Horton.
Update enum uses for renames and scoped syntax use.
* WebView/WebFrame.mm:
* WebView/WebView.mm:
2020-11-16 Devin Rousso <drousso@apple.com>
Ignore deprecation warnings for the uniform types C API
https://bugs.webkit.org/show_bug.cgi?id=218989
Reviewed by Tim Horton.
These should eventually be replaced with the ObjC API `UniformTypeIdentifiers.framework`.
See <https://developer.apple.com/documentation/uniformtypeidentifiers>.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
(+[WebHTMLView _insertablePasteboardTypes]):
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
2020-11-16 Megan Gardner <megan_gardner@apple.com>
Add menu support for app highlights for books
https://bugs.webkit.org/show_bug.cgi?id=218879
<rdar://problem/71352113>
Reviewed by Alex Christensen.
* WebView/WebHTMLView.mm:
(toTag):
2020-11-13 Sam Weinig <weinig@apple.com>
Move some more WebKit and WebKitLegacy preferences bound to Settings to WebPreferences.yaml
https://bugs.webkit.org/show_bug.cgi?id=218914
Reviewed by Tim Horton.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Remove explicit setting of Settings::setContentDispositionAttachmentSandboxEnabled as
it is now handled by the generated code. Merge together a few sequential #ifdefs while
in the area.
2020-11-12 Darin Adler <darin@apple.com>
Remove unused advanced plug-in features: snapshotting and plug-in load policy
https://bugs.webkit.org/show_bug.cgi?id=218835
Reviewed by Tim Horton.
* WebView/WebPreferences.mm:
(-[WebPreferences plugInSnapshottingEnabled]): Return NO.
(-[WebPreferences setPlugInSnapshottingEnabled:]): Do nothing.
2020-11-12 Simon Fraser <simon.fraser@apple.com>
Force wheel event listeners on the root to be passive
https://bugs.webkit.org/show_bug.cgi?id=218842
<rdar://problem/71312668>
Reviewed by Chris Dumez.
Following Blink (https://www.chromestatus.com/feature/6662647093133312) force 'wheel' and
'mousewheel' event listeners on root objects (window, document and body) to be passive if
they were not explicitly registered as non-passive.
This behavior is controlled by an experimental feature flag, and a linked-on-or-after check
to avoid changing behavior for apps that embed WebKit until they link against new SDKs.
* WebView/WebPreferencesDefaultValues.h:
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultPassiveTouchListenersAsDefaultOnDocument):
(WebKit::defaultPassiveWheelListenersAsDefaultOnDocument):
2020-11-12 Sam Weinig <weinig@apple.com>
Move more WebKitLegacy specific settings usage to WebPreferences.yaml
https://bugs.webkit.org/show_bug.cgi?id=218852
Reviewed by Tim Horton.
This batch focuses on settings with defaults based on SDK/host app conditions.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebPreferencesDefaultValues.h:
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultAllowContentSecurityPolicySourceStarToMatchAnyProtocol):
(WebKit::defaultLoadDeferringEnabled):
(WebKit::defaultWindowFocusRestricted):
(WebKit::defaultUsePreHTML5ParserQuirks):
(WebKit::defaultNeedsAdobeFrameReloadingQuirk):
(WebKit::defaultTreatsAnyTextCSSLinkAsStylesheet):
(WebKit::defaultNeedsFrameNameFallbackToIdQuirk):
(WebKit::defaultNeedsKeyboardEventDisambiguationQuirks):
(WebKit::defaultEnforceCSSMIMETypeInNoQuirksMode):
(WebKit::defaultNeedsIsLoadingInAPISenseQuirk):
(WebKit::defaultUseLegacyBackgroundSizeShorthandBehavior):
(WebKit::defaultAllowDisplayOfInsecureContent):
(WebKit::defaultAllowRunningOfInsecureContent):
(WebKit::defaultShouldConvertInvalidURLsToBlank):
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(needsSelfRetainWhileLoadingQuirk):
(-[WebView _preferencesChanged:]):
(-[WebView dealloc]):
(-[WebView setFrameLoadDelegate:]):
(shouldEnableLoadDeferring): Deleted.
(shouldRestrictWindowFocus): Deleted.
(shouldUseLegacyBackgroundSizeShorthandBehavior): Deleted.
(shouldAllowDisplayAndRunningOfInsecureContent): Deleted.
(shouldAllowContentSecurityPolicySourceStarToMatchAnyProtocol): Deleted.
(shouldConvertInvalidURLsToBlank): Deleted.
(-[WebView _needsAdobeFrameReloadingQuirk]): Deleted.
(-[WebView _needsLinkElementTextCSSQuirk]): Deleted.
(-[WebView _needsFrameNameFallbackToIdQuirk]): Deleted.
(-[WebView _needsIsLoadingInAPISenseQuirk]): Deleted.
(-[WebView _needsKeyboardEventDisambiguationQuirks]): Deleted.
(-[WebView _needsPreHTML5ParserQuirks]): Deleted.
2020-11-12 Zalan Bujtas <zalan@apple.com>
Show legacy line layout visual coverage instead of "simple line" layout.
https://bugs.webkit.org/show_bug.cgi?id=218695
Reviewed by Antti Koivisto.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences legacyLineLayoutVisualCoverageEnabled]):
(-[WebPreferences setLegacyLineLayoutVisualCoverageEnabled:]):
(-[WebPreferences simpleLineLayoutDebugBordersEnabled]): Deleted.
(-[WebPreferences setSimpleLineLayoutDebugBordersEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
2020-11-11 Sam Weinig <weinig@apple.com>
Move more WebKitLegacy preferences bound to Settings to WebPreferences.yaml
https://bugs.webkit.org/show_bug.cgi?id=218826
Reviewed by Tim Horton.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
Remove manual defaults for ShrinksStandaloneImagesToFit and ForceWebGLUsesLowPower
now they are generated.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Remove manual setting of AcceleratedCompositingForFixedPositionEnabled, ForceWebGLUsesLowPower,
RubberBandingForSubScrollableRegionsEnabled, ShrinksStandaloneImagesToFit and
VisualViewportEnabled now that they are generated.
2020-11-11 John Wilander <wilander@apple.com>
PCM: Change from ad-click-attribution to private-click-measurement (in all forms, including .well-known URL)
https://bugs.webkit.org/show_bug.cgi?id=218730
<rdar://problem/71094296>
Reviewed by Alex Christensen.
Change to the official name of the proposed standard Private Click Measurement
https://github.com/privacycg/private-click-measurement.
This includes a change of the reporting URL from
"/.well-known/ad-click-attribution/" to
"/.well-known/private-click-measurement/".
* WebCoreSupport/WebChromeClient.mm:
(stringForMessageSource):
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences privateClickMeasurementEnabled]):
(-[WebPreferences setPrivateClickMeasurementEnabled:]):
(-[WebPreferences adClickAttributionEnabled]): Deleted.
(-[WebPreferences setAdClickAttributionEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
2020-11-11 Sam Weinig <weinig@apple.com>
Remove unused ExperimentalNotificationsEnabled setting
https://bugs.webkit.org/show_bug.cgi?id=218813
Reviewed by Tim Horton.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setExperimentalNotificationsEnabled:]):
(-[WebPreferences experimentalNotificationsEnabled]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Obsolete ExperimentalNotificationsEnabled preference as it does nothing.
2020-11-10 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r269660.
https://bugs.webkit.org/show_bug.cgi?id=218786
Crashing in EWS iOS simulator bots
Reverted changeset:
"PCM: Change from ad-click-attribution to private-click-
measurement (in all forms, including .well-known URL)"
https://bugs.webkit.org/show_bug.cgi?id=218730
https://trac.webkit.org/changeset/269660
2020-11-10 Chris Dumez <cdumez@apple.com>
Webkit incorrectly setting visibilityState to "prerender" when opening link in new tab
https://bugs.webkit.org/show_bug.cgi?id=215851
<rdar://problem/67817100>
Reviewed by Geoff Garen.
* DOM/DOMDocument.mm:
(-[DOMDocument visibilityState]):
* WebView/WebView.mm:
(kit):
2020-11-10 Darin Adler <darin@apple.com>
Remove another function that implicitly uses the composed tree (intersects with range)
https://bugs.webkit.org/show_bug.cgi?id=218726
Reviewed by Ryosuke Niwa.
* WebView/WebPDFView.mm:
(isFrameInRange): Deleted. This function used intersects, and deleting it side-steps
the issue of calling the intersects function template from outside WebCore.
(-[WebPDFView countMatchesForText:inDOMRange:options:limit:markMatches:]):
Use containsCrossingDocumentBoundaries instead of isFrameInRange.
2020-11-10 John Wilander <wilander@apple.com>
PCM: Change from ad-click-attribution to private-click-measurement (in all forms, including .well-known URL)
https://bugs.webkit.org/show_bug.cgi?id=218730
<rdar://problem/71094296>
Reviewed by Devin Rousso.
Change to the official name of the proposed standard Private Click Measurement
https://github.com/privacycg/private-click-measurement.
This includes a change of the reporting URL from
"/.well-known/ad-click-attribution/" to
"/.well-known/private-click-measurement/".
* WebCoreSupport/WebChromeClient.mm:
(stringForMessageSource):
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences privateClickMeasurementEnabled]):
(-[WebPreferences setPrivateClickMeasurementEnabled:]):
(-[WebPreferences adClickAttributionEnabled]): Deleted.
(-[WebPreferences setAdClickAttributionEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
2020-11-10 Simon Fraser <simon.fraser@apple.com>
Make PlatformWheelEventPhase an enum class
https://bugs.webkit.org/show_bug.cgi?id=218772
Reviewed by Tim Horton.
Change PlatformWheelEventPhase to be an enum class.
Changed code that maps between NSEventPhase and PlatformWheelEventPhase to not
treat NSEventPhase as a set of bits, since it only ever contains one of the bits.
* DOM/WebDOMOperations.mm:
(toNSEventPhase):
2020-11-10 Said Abou-Hallawa <said@apple.com>
[macCatalyst] Fix various build breaks
https://bugs.webkit.org/show_bug.cgi?id=218771
Reviewed by Tim Horton.
Use 'BOOL' instead of 'bool' for the functions arguments to resolve the
conflict with _setBoolValue which takes 'BOOL'.
* WebView/WebPreferences.mm:
(-[WebPreferences setAVKitEnabled:]):
(-[WebPreferences setNetworkDataUsageTrackingEnabled:]):
2020-11-09 Said Abou-Hallawa <said@apple.com>
[GPU Process] Control the life cycle of the platform image by a new class named NativeImage
https://bugs.webkit.org/show_bug.cgi?id=218427
Reviewed by Simon Fraser.
* DOM/DOM.mm:
(-[DOMNode getPreviewSnapshotImage:andRects:]):
* Misc/WebCache.mm:
(+[WebCache imageForURL:]):
* WebView/WebView.mm:
(-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
2020-11-09 Chris Dumez <cdumez@apple.com>
Unexpose obsolete HTMLAppletElement interface
https://bugs.webkit.org/show_bug.cgi?id=218677
Reviewed by Darin Adler.
* DOM/DOMHTMLAppletElement.mm:
(-[DOMHTMLAppletElement align]):
(-[DOMHTMLAppletElement setAlign:]):
(-[DOMHTMLAppletElement alt]):
(-[DOMHTMLAppletElement setAlt:]):
(-[DOMHTMLAppletElement archive]):
(-[DOMHTMLAppletElement setArchive:]):
(-[DOMHTMLAppletElement code]):
(-[DOMHTMLAppletElement setCode:]):
(-[DOMHTMLAppletElement codeBase]):
(-[DOMHTMLAppletElement setCodeBase:]):
(-[DOMHTMLAppletElement height]):
(-[DOMHTMLAppletElement setHeight:]):
(-[DOMHTMLAppletElement hspace]):
(-[DOMHTMLAppletElement setHspace:]):
(-[DOMHTMLAppletElement name]):
(-[DOMHTMLAppletElement setName:]):
(-[DOMHTMLAppletElement object]):
(-[DOMHTMLAppletElement setObject:]):
(-[DOMHTMLAppletElement vspace]):
(-[DOMHTMLAppletElement setVspace:]):
(-[DOMHTMLAppletElement width]):
(-[DOMHTMLAppletElement setWidth:]):
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::redirectDataToPlugin):
2020-11-09 Alan Bujtas <zalan@apple.com>
Unreviewed, reverting r269603.
Needs Safari patch
Reverted changeset:
"Show legacy line layout visual coverage instead of "simple
line" layout."
https://bugs.webkit.org/show_bug.cgi?id=218695
https://trac.webkit.org/changeset/269603
2020-11-09 Zalan Bujtas <zalan@apple.com>
Show legacy line layout visual coverage instead of "simple line" layout.
https://bugs.webkit.org/show_bug.cgi?id=218695
Reviewed by Antti Koivisto.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences legacyLineLayoutVisualCoverageEnabled]):
(-[WebPreferences setLegacyLineLayoutVisualCoverageEnabled:]):
(-[WebPreferences simpleLineLayoutDebugBordersEnabled]): Deleted.
(-[WebPreferences setSimpleLineLayoutDebugBordersEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
2020-11-06 Peng Liu <peng.liu6@apple.com>
PiP return to element full screen is not smooth on some websites
https://bugs.webkit.org/show_bug.cgi?id=218419
Reviewed by Jer Noble.
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::exitVideoFullscreenForVideoElement):
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::exitVideoFullscreenForVideoElement):
2020-11-04 Said Abou-Hallawa <said@apple.com>
[GPU Process] Move the internal GPU rendering flags from WebPage to WebProcess
https://bugs.webkit.org/show_bug.cgi?id=218549
Reviewed by Tim Horton.
GPU Process can't be enabled for WK1.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences useGPUProcessForMediaEnabled]): Deleted.
(-[WebPreferences setUseGPUProcessForMediaEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
2020-11-04 David Kilzer <ddkilzer@apple.com>
WebKit should remove unused debug variant support
<https://webkit.org/b/218315>
<rdar://problem/70785369>
Reviewed by Darin Adler.
Remove support for building the debug variant since it is
currently unused. We now set default values for the
DEAD_CODE_STRIPPING, DEBUG_DEFINES, GCC_OPTIMIZATION_LEVEL and
STRIP_INSTALLED_PRODUCT variables.
Also move these values out of the Xcode project into
Base.xcconfig files using the [config=Debug] specifier so that
these overrides are next to the definitions.
Additional changes in behavior are noted below.
* Configurations/Base.xcconfig:
* Configurations/WebKitLegacy.xcconfig:
- Move definition of ENABLE_WEBKIT_UNSET_DYLD_FRAMEWORK_PATH
in DEBUG_DEFINES from the Xcode project to
WebKitLegacy.xcconfig.
2020-11-03 Sihui Liu <sihui_liu@apple.com>
Set up basic infrastructure for SpeechRecognition
https://bugs.webkit.org/show_bug.cgi?id=218216
<rdar://problem/70703788>
Reviewed by Youenn Fablet.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
2020-11-03 David Kilzer <ddkilzer@apple.com>
Add test for cacheModelForMainBundle() in WebKitLegacy
<https://webkit.org/b/217960>
Reviewed by Darin Adler.
* Configurations/DebugRelease.xcconfig:
(WK_BUILD_FOR_TESTING): Add.
- This single setting controls whether test code is built and
test functions are exported. Currently only Debug and Release
configurations are supported.
* Configurations/WebKitLegacy.xcconfig:
(OTHER_CFLAGS):
- Include necessary macro definition when WK_BUILD_FOR_TESTING
is YES.
(WK_CFLAGS_BUILD_FOR_TESTING_YES):
- Define macro set when WK_BUILD_FOR_TESTING is YES. Used by
both OTHER_CFLAGS and OTHER_TAPI_FLAGS to enable test code.
(OTHER_TAPI_FLAGS[sdk=iphone*]):
- Include necessary macro definition when WK_BUILD_FOR_TESTING
is YES.
- Add -extra-private-header argument to declare exported
functions in TestingFunctions.h when WK_BUILD_FOR_TESTING is
YES.
* TestingFunctions.h: Add.
- Declare functions exported when WK_BUILD_FOR_TESTING is YES.
* WebKit.Testing.exp: Add.
- This contains a list of test functions that are only exported
when WK_BUILD_FOR_TESTING is YES.
* WebView/WebPreferences.mm:
(cacheModelForMainBundle):
- Add NSString *bundleIdentifier argument to make testable.
(TestWebPreferencesCacheModelForMainBundle): Add.
- Add function only used for testing, and only compiled when
WK_BUILD_FOR_TESTING is YES.
(+[WebPreferences initialize]):
- Change to pass main bundle identifier as argument.
2020-11-02 Sam Weinig <weinig@apple.com>
[Testing] Match WebKitTestRunner and enable all "experimental" features in DumpRenderTree (cocoa)
https://bugs.webkit.org/show_bug.cgi?id=218447
Reviewed by Darin Adler.
* Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb:
* Scripts/PreferencesTemplates/WebPreferencesInternalFeatures.mm.erb:
* WebView/WebFeature.m:
(-[WebFeature initWithKey:preferencesKey:name:details:defaultValue:hidden:]):
(-[WebFeature initWithKey:name:details:defaultValue:hidden:]): Deleted.
* WebView/WebFeatureInternal.h:
Handle non-standard preference keys by ensure we initialize WebFeatures with the generated
preferenceKey accessor rather than trying to derive it from the key directly.
2020-10-28 Sam Weinig <weinig@apple.com>
[Testing] Remove requirement of adding new SPI for each preference that needs testing
https://bugs.webkit.org/show_bug.cgi?id=218267
Reviewed by Simon Fraser.
Expose a set of setters to for DumpRenderTree to use when setting preferences
by string.
* WebView/WebPreferences.mm:
(-[WebPreferences _setBoolPreferenceForTestingWithValue:forKey:]):
(-[WebPreferences _setUInt32PreferenceForTestingWithValue:forKey:]):
(-[WebPreferences _setDoublePreferenceForTestingWithValue:forKey:]):
(-[WebPreferences _setStringPreferenceForTestingWithValue:forKey:]):
* WebView/WebPreferencesPrivate.h:
2020-10-27 Tetsuharu Ohzeki <tetsuharu.ohzeki@gmail.com>
Make WebCore::FocusDirection to enum class
https://bugs.webkit.org/show_bug.cgi?id=218162
Reviewed by Darin Adler.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::takeFocus):
* WebView/WebHTMLView.mm:
(-[WebHTMLView becomeFirstResponder]):
2020-10-26 Zan Dobersek <zdobersek@igalia.com>
Remove Accelerated2dCanvasEnabled WebPreferences entry
https://bugs.webkit.org/show_bug.cgi?id=218114
Reviewed by Adrian Perez de Castro.
* WebView/WebPreferences.mm:
(-[WebPreferences accelerated2dCanvasEnabled]): Make the API function
no-op and move it into the deprecated section.
(-[WebPreferences setAccelerated2dCanvasEnabled:]): Ditto.
2020-10-21 Devin Rousso <drousso@apple.com>
[macOS WK1] provide a way for Apple-internal clients to disable link preview
https://bugs.webkit.org/show_bug.cgi?id=217984
<rdar://problem/70500022>
Reviewed by Tim Horton.
* WebView/WebViewPrivate.h:
* WebView/WebView.mm:
(-[WebView _allowsLinkPreview]): Added.
(-[WebView _setAllowsLinkPreview:]): Added.
* WebView/WebImmediateActionController.h:
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController isEnabled]): Added.
(-[WebImmediateActionController setEnabled:]): Added.
(-[WebImmediateActionController _cancelImmediateAction]):
2020-10-20 Sihui Liu <sihui_liu@apple.com>
Add stubs for SpeechRecognition
https://bugs.webkit.org/show_bug.cgi?id=217780
<rdar://problem/70350727>
Reviewed by Youenn Fablet.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences _speechRecognitionEnabled]):
(-[WebPreferences _setSpeechRecognitionEnabled:]):
* WebView/WebPreferencesPrivate.h:
2020-10-20 Sam Weinig <weinig@apple.com>
Tweak WebPreferences*.yaml "exposed" key to only indicate that the key should not be changeable by the frontend
https://bugs.webkit.org/show_bug.cgi?id=217918
Reviewed by Darin Adler.
Update to use new "exposed" prefix bindings and use default value explicitly
when updating settings for non-exposed preferences.
* Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
* Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb:
* Scripts/PreferencesTemplates/WebPreferencesInternalFeatures.mm.erb:
* Scripts/PreferencesTemplates/WebViewPreferencesChangedGenerated.mm.erb:
2020-10-17 David Kilzer <ddkilzer@apple.com>
REGRESSION (r25430): Fix -Wstring-concatenation warning from open source clang
<https://webkit.org/b/217884>
Reviewed by Alexey Proskuryakov.
* WebView/WebPreferences.mm:
(cacheModelForMainBundle):
- Add missing comma to fix unwanted string concatenation.
2020-10-17 Sam Weinig <weinig@apple.com>
Convert preferences in WebPreferencesPrivate.h to use @property syntax to make them more manageable
https://bugs.webkit.org/show_bug.cgi?id=217877
Reviewed by Simon Fraser.
* WebView/WebPreferencesPrivate.h:
Switch to using the @property syntax. No behavior change intended, just a cleanup.
2020-10-16 Devin Rousso <drousso@apple.com>
Web Inspector: rename `Highlight` so it doesn't conflict with CSS `Highlight`
https://bugs.webkit.org/show_bug.cgi?id=217858
Reviewed by Megan Gardner.
No new tests as there is no behavior change since this is purely a rename.
* WebInspector/WebNodeHighlightView.mm:
(-[WebNodeHighlightView _layoutForNodeHighlight:parent:]):
(-[WebNodeHighlightView _layoutForRectsHighlight:parent:]):
(-[WebNodeHighlightView layoutSublayers:]):
2020-10-13 Keith Rollin <krollin@apple.com>
Remove leftover MACOSX_DEPLOYMENT_TARGET_macosx support
https://bugs.webkit.org/show_bug.cgi?id=217649
<rdar://problem/70236877>
Reviewed by Darin Adler.
Bug 42796 introduced MACOSX_DEPLOYMENT_TARGET_<PLATFORM> as "support
for compiling WebKit against iOS SDKs". Support for the iOS part of
this feature was later removed in several changes, including Bug
139212, Bug 139463 and Bug 144762. However, vestiges have remained for
five or six years in the form of MACOSX_DEPLOYMENT_TARGET_macosx. The
inclusion of the platform in MACOSX_DEPLOYMENT_TARGET is no longer
needed and can be removed.
This changes brings most projects in conformance with other projects
that don't support including the platform in MACOSX_DEPLOYMENT_TARGET,
including WebEditingTester, gtest, WebKitTestRunner, MiniBrowser, and
TestWebKitAPI.
Along the way, remove a couple of left-over references to macOS 10.16,
and a couple of places where [sdk=macosx*] was still being used.
With this change, initialization of MACOSX_DEPLOYMENT_TARGET should be
consistent across all projects, with two exceptions: WebKitLauncher
(which hardcodes it to 10.12) and libwebrtc's copy of googletest
(which hardcodes it to 10.4). The reasons for these hard-coded values
is not apparent, so leave them be.
* Configurations/DebugRelease.xcconfig:
2020-10-12 Darin Adler <darin@apple.com>
Eliminate some "using namespace WebCore" cases in global scope
https://bugs.webkit.org/show_bug.cgi?id=217644
Reviewed by Tim Horton.
* Storage/WebStorageTrackerClient.h: Remove "using namespace WebCore".
2020-10-12 Luming Yin <luming_yin@apple.com>
[macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building
with Xcode 12 on macOS Big Sur SUs
https://bugs.webkit.org/show_bug.cgi?id=217602
rdar://70194453
Reviewed by Darin Adler.
The previous workaround turns out to be ineffective because we can't set the value of
TARGET_MAC_OS_X_VERSION_MAJOR based on a previous value of itself. Introduce a new
variable TARGET_MAC_OS_X_VERSION_MAJOR to determine whether we need to explicitly
adjust MAC_OS_X_VERSION_MAJOR to 110000.
* Configurations/DebugRelease.xcconfig:
2020-10-12 Luming Yin <luming_yin@apple.com>
[macOS] Workaround for MAC_OS_X_VERSION_MAJOR incorrectly including minor version when building
with Xcode 12 on macOS Big Sur SUs
https://bugs.webkit.org/show_bug.cgi?id=217602
rdar://70194453
Reviewed by Darin Adler.
Due to a bug in Xcode (rdar://70185899), Xcode 12.0 and Xcode 12.1 Beta incorrectly includes the
minor release number in MAC_OS_X_VERSION_MAJOR, which causes Debug and Release builds of WebKit
to be misconfigured when building on macOS Big Sur SUs, leading to webpages failing to load.
To work around the Xcode bug, when the MAC_OS_X_VERSION_MAJOR includes the minor version number,
drop the minor version number by explicitly setting TARGET_MAC_OS_X_VERSION_MAJOR to 110000.
Note: This change should be reverted after <rdar://70185899> is resolved.
* Configurations/DebugRelease.xcconfig:
2020-10-11 Luming Yin <luming_yin@apple.com>
Strip patch version from TARGET_MAC_OS_X_VERSION_MAJOR when building for macOS Big Sur
or later
https://bugs.webkit.org/show_bug.cgi?id=217594
rdar://70188497
Reviewed by Darin Adler.
To ensure successful Mac Catalyst WebKit builds, strip the patch version from
TARGET_MAC_OS_X_VERSION_MAJOR by using two `base:`s on MACOSX_DEPLOYMENT_TARGET.
* Configurations/Base.xcconfig:
2020-10-11 Luming Yin <luming_yin@apple.com>
Ignore deployment suffix and identifier when computing major OS version for macOS
Big Sur and newer
https://bugs.webkit.org/show_bug.cgi?id=217584
rdar://70168426
Reviewed by Darin Adler.
Stop using MACOSX_DEPLOYMENT_TARGET:suffix:identifier to compute major OS versions.
Only use the deployment target base for macOS Big Sur and newer. Keep the manual
definitions for legacy versions of macOS.
* Configurations/Base.xcconfig:
2020-10-06 Devin Rousso <drousso@apple.com>
Move platform logic for CSS `hover` and `pointer` media queries outside of WebCore
https://bugs.webkit.org/show_bug.cgi?id=217413
Reviewed by Tim Horton.
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::hoverSupportedByPrimaryPointingDevice const): Added.
(WebChromeClient::pointerCharacteristicsOfPrimaryPointingDevice const): Added.
Mouse devices are always supported.
2020-10-06 Devin Rousso <drousso@apple.com>
CSS hover and "pointer: fine" media queries do not evaluate to true with iOS 13.4 mouse support
https://bugs.webkit.org/show_bug.cgi?id=209292
<rdar://problem/60663124>
Reviewed by Tim Horton.
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::hoverSupportedByAnyAvailablePointingDevice const): Added.
(WebChromeClient::pointerCharacteristicsOfAllAvailablePointingDevices const): Added.
Mouse devices are always supported.
2020-10-06 Simon Fraser <simon.fraser@apple.com>
Redundant rendering updates can be scheduled from inside Page::updateRendering()
https://bugs.webkit.org/show_bug.cgi?id=216726
Reviewed by Tim Horton.
Provide the flags.
* WebView/WebView.mm:
(-[WebView _scheduleRenderingUpdateForPendingTileCacheRepaint]):
2020-10-05 Simon Fraser <simon.fraser@apple.com>
Use the "triggerRenderingUpdate" terminology in ChromeClient
https://bugs.webkit.org/show_bug.cgi?id=217355
Reviewed by Tim Horton.
ChromeClient confusingly had both scheduleRenderingUpdate() and scheduleTimedRenderingUpdate().
The former is for triggering an update soon, and the latter is a normal schedule, used by
SVGImages because they have their own Page.
Rename the one that the WebKits have to implement to triggerRenderingUpdate().
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::triggerRenderingUpdate):
(WebChromeClient::scheduleRenderingUpdate): Deleted.
2020-10-05 Simon Fraser <simon.fraser@apple.com>
ChromeClient::needsImmediateRenderingUpdate() only existing to work around a WebKit1 bug
https://bugs.webkit.org/show_bug.cgi?id=217338
Reviewed by Said Abou-Hallawa.
WebViewLayerFlushScheduler has a bug where scheduling inside the callback would fail
because the RunLoopObserver was always invalidated at the end of the callback.
If we fix this, we can remove ChromeClient::needsImmediateRenderingUpdate() which I believe
only existed to work around this bug.
* WebCoreSupport/WebChromeClient.h:
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(WebViewLayerFlushScheduler::schedule):
(WebViewLayerFlushScheduler::layerFlushCallback):
2020-10-05 Aditya Keerthi <akeerthi@apple.com>
[Contact Picker API] Introduce bindings for the Contact Picker API
https://bugs.webkit.org/show_bug.cgi?id=216793
<rdar://problem/69317957>
Reviewed by Wenson Hsieh.
Added plumbing to support the associated experimental test option.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences contactPickerAPIEnabled]):
(-[WebPreferences setContactPickerAPIEnabled:]):
* WebView/WebPreferencesPrivate.h:
2020-10-05 Sam Weinig <weinig@apple.com>
Remove support for enabling subpixel CSSOM values, it's off by default everywhere and known to be not-compatible with the web
https://bugs.webkit.org/show_bug.cgi?id=217300
Reviewed by Simon Fraser.
Deprecate SPI for enabling subpixel CSSOM values. It is not web compatible.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences setSubpixelCSSOMElementMetricsEnabled:]):
(-[WebPreferences subpixelCSSOMElementMetricsEnabled]):
* WebView/WebPreferencesPrivate.h:
2020-10-05 Alex Christensen <achristensen@webkit.org>
Unify linkedOnOrAfter duplicate code and use SPI/WebCoreTestSupport instead of NSUserDefaults
https://bugs.webkit.org/show_bug.cgi?id=217239
Reviewed by Darin Adler.
* DefaultDelegates/WebDefaultUIDelegate.mm:
(-[WebDefaultUIDelegate webView:dragDestinationActionMaskForDraggingInfo:]):
* Misc/WebIconDatabase.mm:
(+[WebIconDatabase sharedIconDatabase]):
* Misc/WebKitVersionChecks.h:
* Misc/WebKitVersionChecks.mm:
(WebKitLinkTimeVersion):
(linkedOnOrAfter): Deleted.
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultPassiveTouchListenersAsDefaultOnDocument):
(WebKit::defaultShouldRestrictBaseURLSchemes):
2020-10-03 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Introduce JITOperationList to validate JIT-caged pointers
https://bugs.webkit.org/show_bug.cgi?id=217261
Reviewed by Saam Barati.
* History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]):
* History/WebHistoryItem.mm:
(+[WebHistoryItem initialize]):
* Misc/WebCache.mm:
(+[WebCache initialize]):
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]):
* Misc/WebIconDatabase.mm:
* Misc/WebStringTruncator.mm:
(+[WebStringTruncator initialize]):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]):
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage initialize]):
* Plugins/WebNetscapePluginView.mm:
(+[WebNetscapePluginView initialize]):
* WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep initialize]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(+[WebFramePolicyListener initialize]):
* WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]):
* WebView/WebDataSource.mm:
(+[WebDataSource initialize]):
* WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebResource.mm:
(+[WebResourcePrivate initialize]):
* WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]):
* WebView/WebView.mm:
(+[WebView initialize]):
* WebView/WebViewData.mm:
(+[WebViewPrivate initialize]):
2020-10-01 Chris Dumez <cdumez@apple.com>
Add basic infrastructure for AudioWorklet
https://bugs.webkit.org/show_bug.cgi?id=217153
Reviewed by Sam Weinig.
* WebCoreSupport/WebPlatformStrategies.mm:
2020-10-01 Sam Weinig <weinig@apple.com>
Remove duplicate definitions of @property (nonatomic) BOOL CSSIndividualTransformPropertiesEnabled
https://bugs.webkit.org/show_bug.cgi?id=217182
Reviewed by Alex Christensen.
When the fix for ​https://webkit.org/b/216271 was landed, it added two definitions of
the CSSIndividualTransformPropertiesEnabled property (though one getter was misnamed), leading
to linker warnings. This removes one of them.
* WebView/WebPreferences.mm:
(-[WebPreferences cssIndividualTransformPropertiesEnabled]): Deleted.
2020-10-01 Aditya Keerthi <akeerthi@apple.com>
[macCatalyst] Crash when attempting to display a select dropdown in a UIWebView
https://bugs.webkit.org/show_bug.cgi?id=217148
<rdar://problem/64004677>
Reviewed by Darin Adler.
When clicking on a select element in a Catalyst UIWebView, WebKit calls
into UIKit to present a popover. On Catalyst, UIKit popovers call
resignFirstResponder on the current first responder, when presented.
Consequently, when an attempt to display the select dropdown is made,
[WebHTMLView resignFirstResponder] is invoked. This method blurs the
currently focused element, which tells UIKit to destroy the popover.
Destroying the popover while its attempting to become first responder
is not safe, leading to a crash.
In [WebHTMLView resignFirstResponder], clearFocus is only called if
[WebView _isPerformingProgrammaticFocus] is false. UIKit can take
advantage of this to prevent blurring an element if the first
responder is being resigned due to presenting a view associated with
the same element.
However, [WebHTMLView resignFirstResponder] also clears focus on the
current page's FocusController, which can also cause the element to be
blurred. To prevent this, guard the call on the same check as
clearFocus.
Note that this approach to preventing resignFirstResponder from blurring
the focused element is similar to the approach taken in WebKit2.
This change is made for all Cocoa platforms, since _isPerformingProgrammaticFocus
is internal to WebKit and the only time it is true is within a call to
WebChromeClient::makeFirstResponder. That method calls
[WebUIDelegate webView:makeFirstResponder], which states in its
documentation: "responder will always be a view that is in the view
subhierarchy of the top-level web view for this WebView". Consequently,
nextResponderIsInWebView will be true when _isPerformingProgrammaticFocus
is true, meaning the change doesn't affect existing behavior.
No new tests as the functionality is dependent on a UIKit change.
* WebView/WebHTMLView.mm:
(-[WebHTMLView resignFirstResponder]):
2020-09-29 Sam Weinig <weinig@apple.com>
[Preferences] Adopt shared preferences configuration and script in WebKit
https://bugs.webkit.org/show_bug.cgi?id=217075
Reviewed by Darin Adler.
* Scripts/generate-preferences.sh:
Update to account for new interface requiring the full path to each template.
2020-09-29 Alex Christensen <achristensen@webkit.org>
Unreviewed, reverting r267397.
SPI is still used <rdar://problem/69749992>
Reverted changeset:
"Remove deprecated script and stylesheet injection SPI,
replaced with more inclusively-named SPI"
https://bugs.webkit.org/show_bug.cgi?id=214936
https://trac.webkit.org/changeset/267397
2020-09-28 Sam Weinig <weinig@apple.com>
[Preferences] Move GeneratePreferences.rb and yaml configuration files to WTF to be shared
https://bugs.webkit.org/show_bug.cgi?id=217056
Reviewed by Darin Adler.
Move GeneratePreferences.rb and WebPreferences*.yaml files from WebKitLegacy to WTF, and install them into the existing
$SDKROOT/usr/local/install/wtf/Scripts for use by down stack projects.
Also adds new script, generate-preferences.sh, to make editing / reviewing the invocation a bit easier as you don't
have to use the tiny editor in the Run Scripts phase pane.
Adds new build variable, WTF_BUILD_SCRIPTS_DIR, to easily specify the new location of the moved files.
* Configurations/WebKitLegacy.xcconfig:
* Scripts/GeneratePreferences.rb: Removed.
* Scripts/generate-preferences.sh: Added.
* WebView/WebPreferences.yaml: Removed.
* WebView/WebPreferencesDebug.yaml: Removed.
* WebView/WebPreferencesExperimental.yaml: Removed.
* WebView/WebPreferencesInternal.yaml: Removed.
2020-09-28 Devin Rousso <drousso@apple.com>
[iOS] unable to airplay directly loaded fullscreen video
https://bugs.webkit.org/show_bug.cgi?id=216858
<rdar://problem/68746321>
Reviewed by Eric Carlson.
It's possible that `MediaPlayerPrivate::wirelessVideoPlaybackDisabled` is queried before a
"real" `MediaPlayerPrivate` (i.e. not `NullMediaPlayerPrivate`) is initialized through one
of the registered `MediaPlayerFactory` "engine"s. It's further possible that the value
returned by `MediaPlayerPrivate::wirelessVideoPlaybackDisabled` will change as the new
"real" `MediaPlayerPrivate` may have different logic. In this case, the `MediaPlayer`
doesn't update its client (and therefore nothing "up" the tree, including the client's
clients) with the new `MediaPlayerPrivate::wirelessVideoPlaybackDisabled` value, meaning
that the old value will still be used.
Add piping such that when the `MediaPlayerFactory` "engine" changes, the `MediaPlayer`
notifies its client (which is further piped "up" the tree to the client's clients) which
eventually causes `MediaPlayerPrivate::wirelessVideoPlaybackDisabled` to be re-evaluated.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::playbackControlsMediaEngineChanged): Added.
* WebView/WebViewInternal.h:
* WebView/WebView.mm:
(-[WebView _playbackControlsMediaEngineChanged]): Added.
2020-09-27 Sam Weinig <weinig@apple.com>
Fix some typos found by Simon post-review for https://bugs.webkit.org/show_bug.cgi?id=217042
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
"rmeove" -> "remove".
2020-09-27 Sam Weinig <weinig@apple.com>
[Preferences] Generate base preferences for WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=217042
Reviewed by Tim Horton.
Imports (and sorts) WebPreferences.yaml from WebKit, and starts generation for
for WebKitLegacy. To support this, a few tweaks to generation were required:
- A new 'exposed' key was added to the configuration files which allows restricting
which frontends a preference is exposed to. By default, preferences are exposed to
all frontends. This is intended to be used for preferences that don't have a binding
to WebCore (e.g. process model related preferences for Webkit). We will require a
seperate concept for features that WebCore knows about, but are not supported by
a frontend, but that will be added in future revisions.
'exposed' is used in a few places that have 'custom' bindings to WebCore where
WebKitLegacy and WebKit don't use the same type or meaning for a preference, such
as WebKitLegacy's FrameFlattening enum vs. WebKit's FrameFlatteningEnabled bool,
or WebKitLegacy's WebSQLEnabled vs. WebKit's WebSQLDisabled. Eventually, it would
be nice to make these match, but it is not required.
- A new 'webKitLegacyPreferenceKey' key was added to the configuration files allowing
for existing keys that don't match the default pattern of "WebKit" + keyName. This is
to avoid changing the value of the preference key strings in WebPreferenceKeysPrivate.h,
as I am not confident that changing them is kosher. I also went back and reverted the
few I had already changed, just to be on the safe side.
- Support was added in WebViewPreferencesChangedGenerated.mm.erb for non bool values.
- Preferences that are conditionally compiled out (using the conditional key) no longer
generate a default when they are compiled out, which required a little macro magic
in WebPreferencesDefinitions.h.erb in the form of the new INITIALIZE_DEFAULT_PREFERENCES_FOR_
macros.
* Scripts/GeneratePreferences.rb:
* Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
* Scripts/PreferencesTemplates/WebViewPreferencesChangedGenerated.mm.erb:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebPreferences.yaml:
* WebView/WebPreferencesDebug.yaml:
* WebView/WebPreferencesDefaultValues.h:
* WebView/WebPreferencesDefaultValues.mm:
(WebKit::defaultAllowsInlineMediaPlayback):
(WebKit::defaultAllowsInlineMediaPlaybackAfterFullscreen):
(WebKit::defaultAllowsPictureInPictureMediaPlayback):
(WebKit::defaultJavaScriptCanOpenWindowsAutomatically):
(WebKit::defaultInlineMediaPlaybackRequiresPlaysInlineAttribute):
(WebKit::defaultPassiveTouchListenersAsDefaultOnDocument):
(WebKit::defaultRequiresUserGestureToLoadVideo):
(WebKit::defaultWebSQLEnabled):
(WebKit::defaultAttachmentElementEnabled):
(WebKit::defaultShouldRestrictBaseURLSchemes):
* WebView/WebPreferencesExperimental.yaml:
* WebView/WebPreferencesInternal.h:
* WebView/WebPreferencesInternal.yaml:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _preferencesChanged:]):
(shouldAllowPictureInPictureMediaPlayback): Deleted.
(shouldAllowWindowOpenWithoutUserGesture): Deleted.
(shouldRequireUserGestureToLoadVideo): Deleted.
(shouldRestrictBaseURLSchemes): Deleted.
* WebView/WebViewData.h:
2020-09-24 Simon Fraser <simon.fraser@apple.com>
WebKitLegacy should call Page::finalizeRenderingUpdate()
https://bugs.webkit.org/show_bug.cgi?id=216958
Reviewed by Tim Horton.
This is a precursor to fixing webkit.org/b/216726. Page needs to track the phase
of updateRendering that we are in, and to ease this tracking, WebKitLegacy needs to call
Page::finalizeRenderingUpdate() so the state is tracked.
Rename -_viewWillDrawInternal to -_updateRendering, and have it call updateRendering()
and finalizeRenderingUpdate(). We can also move in the call to -_synchronizeCustomFixedPositionLayoutRect
which both call sites do.
Since updateRendering() is guaranteed to update layout, we know -_flushCompositingChanges would have
never returned NO here, so we can remove the condition in LayerFlushController::flushLayers().
-[WebHTMLView viewWillDraw] also does a similar -_web_updateLayoutAndStyleIfNeededRecursive
then -_flushCompositingChanges but this is called from AppKit with a timing that we don't control;
it may be redundant with -[WebView _updateRendering] but I leave that behavior unchanged.
* WebView/WebView.mm:
(-[WebView _updateRendering]):
(-[WebView _forceRepaintForTesting]):
(LayerFlushController::flushLayers):
(-[WebView _viewWillDrawInternal]): Deleted.
2020-09-26 Sam Weinig <weinig@apple.com>
[Preferences] Generate Debug and Internal preferences for WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=217015
Reviewed by Darin Adler.
Imports WebPreferencesDebug.yaml and WebPreferencesInternal.yaml from WebKit and starts
generating them.
In addition, preference yaml files must now be sorted alphabetically by preference name, and
this is now enforced by GeneratePreferences.rb, generating an error if they are out of order.
* Scripts/GeneratePreferences.rb:
* Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
* Scripts/PreferencesTemplates/WebPreferencesInternalFeatures.mm.erb: Added.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(+[WebPreferences _internalDebugFeatures]): Deleted.
* WebView/WebPreferencesDebug.yaml:
* WebView/WebPreferencesDefaultValues.h:
* WebView/WebPreferencesExperimental.yaml:
* WebView/WebPreferencesInternal.yaml:
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-09-26 Sam Weinig <weinig@apple.com>
[Preferences] It should be possible to have different default values for WebKitLegacy and WebKit in preference yaml files
https://bugs.webkit.org/show_bug.cgi?id=216987
Reviewed by Darin Adler.
Add new syntax for default values that allows specializing based on both frontend (WebKit or
WebKitLegacy) and then futher based on platform macros. For example, the preference for
CSSTypedOMEnabled now looks like:
CSSTypedOMEnabled:
type: bool
humanReadableName: "CSS Typed OM"
humanReadableDescription: "Enable the CSS Typed OM"
webcoreBinding: RuntimeEnabledFeatures
condition: ENABLE(CSS_TYPED_OM)
defaultValue:
WebKitLegacy:
default: false
WebKit:
"ENABLE(EXPERIMENTAL_FEATURES) && (PLATFORM(GTK) || PLATFORM(WPE))": true
default: false
Which means that in WebKitLegacy, the default value is false, and in WebKit, the default
value will be:
#if ENABLE(EXPERIMENTAL_FEATURES) && (PLATFORM(GTK) || PLATFORM(WPE))
true
#else
false
#endif
As many platform macro based conditions can be provided as wanted, and they are evaluated
in the order specified in the file.
The syntax currently always requires explicitly specifying WebKitLegacy and WebKit and default
for each, even if they are all the same, but could be extended in the future to allow compaction
if that becomes desirable. There is also not yet support for conditionally enabling a feature
based on os-feature-flags or linked-on-or-after checks, so those still require specifying the
default value as a function, but that seems like a nice future improvement.
As this is still staging for doing this for both WebKitLegacy and WebKit, this change only effects
WebKitLegacy for now, and subsequent changes will move this to a shared location.
* Scripts/GeneratePreferences.rb:
* Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb:
* Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb:
* WebView/WebPreferencesExperimental.yaml:
2020-09-25 Antoine Quint <graouts@webkit.org>
Add an experimental feature flag for CSS individual transform properties
https://bugs.webkit.org/show_bug.cgi?id=216271
<rdar://problem/68914539>
Reviewed by Dean Jackson.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences setCSSIndividualTransformPropertiesEnabled:]):
(-[WebPreferences cssIndividualTransformPropertiesEnabled]):
(-[WebPreferences CSSIndividualTransformPropertiesEnabled]):
* WebView/WebPreferencesExperimental.yaml:
* WebView/WebPreferencesPrivate.h:
2020-09-24 Darin Adler <darin@apple.com>
Add CSSConditionRule and CSSGroupingRule
https://bugs.webkit.org/show_bug.cgi?id=216855
Reviewed by Sam Weinig.
* DOM/DOMCSS.mm:
(kitClass): Added a default case since we don't intend to list every single rule type here.
2020-09-25 Sam Weinig <weinig@apple.com>
[Preferences] Start generating experimental feature preferences for legacy WebKit
https://bugs.webkit.org/show_bug.cgi?id=216909
Reviewed by Tim Horton.
As a stepping stone to unified preferences definitions and generation, this adds
generation of "experimental feature" preferences for WebKitLegacy. The generator
is almost identical to the one in WebKit, but the templates are changed. The end
goal will be to share the preferences definition (yaml) files. In this pass, I
have copied WebPreferencesExperimental.yaml from WebKit, but change the default
values to match the existing WebKitLegacy default values (and temporarily removed
WebSQLDisabled, as WebKitLegacy has a WebSQLEnabled, and its not clear how to map
to the inverse yet). I have also imported empty versions of WebPreferences.yaml,
WebPreferencesDebug.yaml, and WebPreferencesInternal.yaml, to keep the generator
happy, these will be filled in subsequent changes or, if we decide on a good home
for them, perhaps in WTF, we can just switch to using the shared ones.
Much of the change is moving around existing getter/setters in WebPreferences
to go in their own category, with the intention to remove them when we we have
determined no more callers remain.
* Scripts: Added.
* Scripts/GeneratePreferences.rb: Added.
* Scripts/PreferencesTemplates: Added.
* Scripts/PreferencesTemplates/WebPreferencesDefinitions.h.erb: Added.
* Scripts/PreferencesTemplates/WebPreferencesExperimentalFeatures.mm.erb: Added.
* Scripts/PreferencesTemplates/WebViewPreferencesChangedGenerated.mm.erb: Added.
* WebView/WebFeature.h: Added.
* WebView/WebFeature.m: Added.
(-[WebFeature initWithKey:preferenceKey:name:details:defaultValue:hidden:]):
(-[WebFeature description]):
* WebView/WebFeatureInternal.h: Added.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
* WebView/WebPreferences.yaml: Added.
* WebView/WebPreferencesDebug.yaml: Added.
* WebView/WebPreferencesDefaultValues.h: Added.
* WebView/WebPreferencesDefaultValues.mm: Added.
* WebView/WebPreferencesExperimental.yaml: Added.
* WebView/WebPreferencesInternal.h: Added.
* WebView/WebPreferencesInternal.yaml: Added.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
* WebView/WebViewInternal.h:
2020-09-23 Peng Liu <peng.liu6@apple.com>
Add feature flags for GPU Process features
https://bugs.webkit.org/show_bug.cgi?id=216901
Reviewed by Tim Horton.
Minor cleanups.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences useGPUProcessForMediaEnabled]):
(-[WebPreferences setUseGPUProcessForMediaEnabled:]):
(-[WebPreferences useGPUProcessForMedia]): Deleted.
(-[WebPreferences setUseGPUProcessForMedia:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-09-23 Chris Dumez <cdumez@apple.com>
Turn off the legacy prefixed WebAudio API
https://bugs.webkit.org/show_bug.cgi?id=216886
Reviewed by Sam Weinig.
Turn off the legacy prefixed WebAudio API, now that the modern unprefixed API has been enabled
in r267488.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-09-23 Chris Dumez <cdumez@apple.com>
Turn on the modern unprefixed WebAudio API
https://bugs.webkit.org/show_bug.cgi?id=216885
Reviewed by Eric Carlson.
Turn on the modern unprefixed WebAudio API now that we support most of the API
besides AudioWorklet and now that we have a good pass rate on WPT tests.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2020-09-21 Alex Christensen <achristensen@webkit.org>
Remove deprecated script and stylesheet injection SPI, replaced with more inclusively-named SPI
https://bugs.webkit.org/show_bug.cgi?id=214936
Reviewed by Youenn Fablet.
rdar://64376341 tracks the adoption of the replacement. Once that is done, we can remove the old SPI.
* WebView/WebView.mm:
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:]): Deleted.
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]): Deleted.
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:]): Deleted.
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]): Deleted.
* WebView/WebViewPrivate.h:
2020-09-20 Darin Adler <darin@apple.com>
Next step towards eliminating deprecated legacy positions
https://bugs.webkit.org/show_bug.cgi?id=216751
Reviewed by Sam Weinig.
* DOM/DOMUIKitExtensions.mm:
(-[DOMNode rangeOfContainingParagraph]):
* WebView/WebFrame.mm:
(-[WebFrame spaceFollowsWordInRange:]):
(-[WebFrame caretRectAtNode:offset:affinity:]):
(-[WebFrame focusedNodeHasContent]):
Replaced calls to createLegacyEditingPosition with calls to
makeDeprecatedLegacyPosition or makeContainerOffsetPosition.
2020-09-17 Sam Weinig <weinig@apple.com>
Remove runtime setting for enabling/disabling the UserTiming and ResourceTiming APIs
https://bugs.webkit.org/show_bug.cgi?id=216556
Reviewed by Darin Adler.
Remove runtime setting for enabling/disabling UserTiming and ResourceTiming
APIs. They have both been on for a while in WebKit2 and there aren't any
known uses cases for disabling them. In addition to removing the setting,
they are now enabled in LegacyWebKit as well.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setUserTimingEnabled:]):
(-[WebPreferences userTimingEnabled]):
(-[WebPreferences setResourceTimingEnabled:]):
(-[WebPreferences resourceTimingEnabled]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-09-17 Antoine Quint <graouts@webkit.org>
Remove the legacy animation code
https://bugs.webkit.org/show_bug.cgi?id=216608
Reviewed by Dean Jackson.
Since we now have a single animation engine, the runtime flags to optionally enable the Web Animations engine are
not needed anymore and are now removed.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences webAnimationsEnabled]): Deleted.
(-[WebPreferences setWebAnimationsEnabled:]): Deleted.
(-[WebPreferences webAnimationsCSSIntegrationEnabled]): Deleted.
(-[WebPreferences setWebAnimationsCSSIntegrationEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-09-16 Sam Weinig <weinig@apple.com>
Remove runtime setting for enabling/disabling CSS shadow parts
https://bugs.webkit.org/show_bug.cgi?id=216567
Reviewed by Tim Horton.
Remove runtime setting for enabling/disabling CSS shadow parts. It is
on by default and there is no known reason one would need to disable it.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setCSSShadowPartsEnabled:]):
(-[WebPreferences cssShadowPartsEnabled]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-09-16 Sam Weinig <weinig@apple.com>
Remove runtime setting for enabling/disabling the isSecureContext API?
https://bugs.webkit.org/show_bug.cgi?id=216562
Reviewed by Darin Adler.
Remove runtime setting for enabling/disabling the the isSecureContext attribute.
on window and the worker global scope. There is no known reason one would need
to disable it.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setIsSecureContextAttributeEnabled:]):
(-[WebPreferences isSecureContextAttributeEnabled]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-09-15 Sam Weinig <weinig@apple.com>
Remove runtime setting for enabling/disabling the fetch API
https://bugs.webkit.org/show_bug.cgi?id=216519
Reviewed by Alex Christensen.
Remove runtime setting for enabling/disabling the fetch API. There is no
reason one needs to disable it now and it has been on by default for
a long enough time.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setFetchAPIEnabled:]):
(-[WebPreferences fetchAPIEnabled]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-09-15 Sam Weinig <weinig@apple.com>
Remove runtime setting for enabling/disabling custom elements
https://bugs.webkit.org/show_bug.cgi?id=216518
Reviewed by Tim Horton.
Remove runtime setting for enabling/disabling custom elements. There is no
reason one need to disable it now, and it has been on by default for
a long enough time.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setCustomElementsEnabled:]):
(-[WebPreferences customElementsEnabled]):
* WebView/WebPreferencesPrivate.h:
2020-09-14 Sam Weinig <weinig@apple.com>
Remove runtime setting for enabling/disabling ShadowDOM
https://bugs.webkit.org/show_bug.cgi?id=216511
Reviewed by Ryosuke Niwa.
Remove runtime setting for enabling/disabling ShadowDOM. There is no
reason one need to disable it now, and it has been on by default for
a long enough time.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setShadowDOMEnabled:]):
(-[WebPreferences shadowDOMEnabled]):
(-[WebPreferences setVideoPluginProxyEnabled:]):
(-[WebPreferences isVideoPluginProxyEnabled]):
(-[WebPreferences setHixie76WebSocketProtocolEnabled:]):
(-[WebPreferences isHixie76WebSocketProtocolEnabled]):
(-[WebPreferences setDiskImageCacheEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-09-14 Dean Jackson <dino@apple.com>
Enable WebGL2 by default
https://bugs.webkit.org/show_bug.cgi?id=216464
<rdar://problem/68811378>
Reviewed by Sam Weinig.
Our WebGL2 implementation is in good enough shape that we should
enable it by default for broader testing.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2020-09-10 Chris Dumez <cdumez@apple.com>
Unreviewed, reverting r266842 and r266883.
Causes some assertions to be hit in debug builds
Reverted changesets:
"Some WebAudio tests give different output on different
machines"
https://bugs.webkit.org/show_bug.cgi?id=216371
https://trac.webkit.org/changeset/266842
"Unreviewed Windows build fix after r266842."
https://trac.webkit.org/changeset/266883
2020-09-10 Chris Dumez <cdumez@apple.com>
Some WebAudio tests give different output on different machines
https://bugs.webkit.org/show_bug.cgi?id=216371
Reviewed by Alex Christensen.
Add WebView SPI to set the hardware sample rate.
* WebView/WebView.mm:
(+[WebView _setHardwareSampleRateOverride:]):
* WebView/WebViewPrivate.h:
2020-09-08 Megan Gardner <megan_gardner@apple.com>
Switch from deprecated secondarySelectedControlColor to unemphasizedSelectedContentBackgroundColor.
https://bugs.webkit.org/show_bug.cgi?id=216207
Reviewed by Darin Adler.
* Plugins/WebPluginController.mm:
(-[WebPluginController webPlugInContainerSelectionColor]):
2020-09-02 Darin Adler <darin@apple.com>
Remove EAffinity, UPSTREAM, DOWNSTREAM, SEL_DEFAULT_AFFINITY, and VisibleSelection::selectionType
https://bugs.webkit.org/show_bug.cgi?id=216102
Reviewed by Sam Weinig.
* DOM/DOMUIKitExtensions.mm:
(-[DOMNode rangeOfContainingParagraph]): Rely on default affinity.
* WebCoreSupport/WebEditorClient.h:
(kit): Use Affinity.
(core): Ditto.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::shouldChangeSelectedRange): Ditto.
* WebView/WebFrame.mm:
(-[WebFrame _caretRectAtPosition:affinity:]): Ditto.
(-[WebFrame _selectNSRange:]): Rely on default affinity.
(-[WebFrame getDictationResultRanges:andMetadatas:]): Use isNone.
* WebView/WebHTMLView.mm:
(-[WebHTMLView insertText:]): Rely on default affinity.
2020-09-03 Devin Rousso <drousso@apple.com>
Web Inspector: allow special JavaScript breakpoints to be configured
https://bugs.webkit.org/show_bug.cgi?id=215794
Reviewed by Brian Burg.
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::WebScriptDebugger):
2020-09-02 Darin Adler <darin@apple.com>
Change Affinity into an enum class
https://bugs.webkit.org/show_bug.cgi?id=216096
Reviewed by Wenson Hsieh.
* WebCoreSupport/WebEditorClient.h:
(kit): Use prefix.
(core): Ditto.
2020-09-01 Darin Adler <darin@apple.com>
Remove comparePositions and make VisiblePosition improvements
https://bugs.webkit.org/show_bug.cgi?id=215982
Reviewed by Sam Weinig.
* WebCoreSupport/WebEditorClient.h:
(kit): Update for changes to Affinity enumeration.
(core): Ditto.
* WebView/WebFrame.mm:
(-[WebFrame characterBeforeCaretSelection]): Moved the code from
FrameSelection::characterBeforeCaretSelection because it's a one-liner now.
Added a call to updateLayout because it's unclear why we could do without it before.
Also added a null check for frame, since there's no guarantee it's not null.
(-[WebFrame characterAfterCaretSelection]): Ditto.
(-[WebFrame selectionAtDocumentStart]): Ditto.
(-[WebFrame selectNSRange:onElement:]): Ditto, but also added a comment because
this method is not useful and almost certainly not used.
(-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]):
Use VisiblePosition::defaultAffinity instead of VP_DEFAULT_AFFINITY.
2020-08-31 Sam Weinig <weinig@apple.com>
Many settings in RuntimeEnabledSettings should autogenerated Settings: Part 1
https://bugs.webkit.org/show_bug.cgi?id=215981
Reviewed by Darin Adler.
This moves an initial chunk of RuntimeEnabledSettings settings to Settings.yaml, focusing
on settings that don't require substantial refactoring or new features to work in Settings.yaml.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Update changed settings to use Settings rather than RuntimeEnabledSettings.
2020-08-30 Timothy Horton <timothy_horton@apple.com>
Remove an unused addition point
* WebCoreSupport/WebFrameLoaderClient.mm:
2020-08-28 Darin Adler <darin@apple.com>
Remove almost all the remaining uses of live ranges
https://bugs.webkit.org/show_bug.cgi?id=215755
Reviewed by Sam Weinig.
* DOM/DOMRange.mm:
(-[DOMRange text]): Use plainText.
(-[DOMRange compareBoundaryPoints:sourceRange:]): Update for rename of
compareBoundaryPointsForBindings.
(-[DOMRange intersectsNode:]): Removed raiseOnDOMError.
* DOM/DOMUIKitExtensions.mm:
(firstNodeAfter): Moved Range::firstNode here since it's the only remaining caller;
might need to keep legacy behavior depending on how this is used by UIKit.
(-[DOMRange firstNode]): Call firstNodeAfter.
* DOM/WebDOMOperations.mm:
(-[DOMRange markupString]): Stop using Range::ownerDocument.
2020-08-27 Devin Rousso <drousso@apple.com>
[iOS] provide a way to get previously inserted alternatives for the selected text
https://bugs.webkit.org/show_bug.cgi?id=215816
<rdar://problem/66646042>
Reviewed by Darin Adler.
* WebView/WebView.mm:
(-[WebView _dictationAlternatives:]):
Create a `Vector<String>` from the returned `NSTextAlternatives *` now that the member
`WebCore::AlternativeTextUIController::alternativesForContext` returns it.
2020-08-27 Youenn Fablet <youenn@apple.com>
Add support for TransformStream
https://bugs.webkit.org/show_bug.cgi?id=215607
Reviewed by Alex Christensen.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences transformStreamAPIEnabled]):
(-[WebPreferences setTransformStreamAPIEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-08-25 Ryosuke Niwa <rniwa@webkit.org>
HashMap<Ref<T>>::take should return RefPtr<T>
https://bugs.webkit.org/show_bug.cgi?id=215830
Reviewed by Darin Adler.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::didCheckSucceed):
2020-08-25 Megan Gardner <megan_gardner@apple.com>
Trying to lookup when WebView is in a popover causes process to hang. Fix for Legacy WebView.
https://bugs.webkit.org/show_bug.cgi?id=215792
Reviewed by Tim Horton.
Fix for https://bugs.webkit.org/show_bug.cgi?id=214773 also needed in legacy WebView.
The Lookup framework does not populate the menus that it vends with the option to 'lookup'
words that are selected in popovers. WebKit should follow the pattern and not put the
item in the menu as Lookup is not able to handle this situation. Also if Lookup is disabled
via defaults, we should not show it in the menu.
* WebView/WebHTMLView.mm:
(customMenuFromDefaultItems):
2020-08-24 Aditya Keerthi <akeerthi@apple.com>
[macOS] Show picker for date and datetime-local input types
https://bugs.webkit.org/show_bug.cgi?id=214946
Reviewed by Darin Adler and Wenson Hsieh.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createDateTimeChooser):
2020-08-19 Darin Adler <darin@apple.com>
Move node geometry functions from Range to RenderObject
https://bugs.webkit.org/show_bug.cgi?id=215677
Reviewed by Zalan Bujtas.
* DOM/DOM.mm:
(-[DOMRange boundingBox]): Call unionRect(RenderObject::absoluteTextRects).
2020-08-17 Darin Adler <darin@apple.com>
Create documentOrder function, start refactoring to use it instead of Range::compare functions
https://bugs.webkit.org/show_bug.cgi?id=215551
Reviewed by Chris Dumez.
* WebView/WebFrame.mm:
(-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]):
Rewrite to use makeSimpleRange and makeContainerOffsetPosition. Simplifies
the null checks. Would love to remove the function but at this time it's
still used by Apple's Mail app (albeit in a peculiar way, always passing a
constant string).
2020-08-17 David Kilzer <ddkilzer@apple.com>
Clean up DragApplicationFlags after switch to OptionSet<>
<https://webkit.org/b/215349>
Reviewed by Darin Adler.
Change WebCore::DragApplicationFlags to an enum class.
* WebView/WebView.mm:
(-[WebView applicationFlags:]): Deleted.
(-[WebView _applicationFlagsForDrag:]):
- Rename -applicationFlags: to -_applicationFlagsForDrag: since
it's only used internally.
- Switch to return OptionSet<WebCore::DragApplicationFlags>.
(-[WebView draggingEntered:]):
(-[WebView draggingUpdated:]):
(-[WebView draggingExited:]):
(-[WebView performDragOperation:]):
- Switch to calling -_applicationFlagsForDrag:.
2020-08-12 Keith Rollin <krollin@apple.com>
Remove the need for defining USE_NEW_BUILD_SYSTEM
https://bugs.webkit.org/show_bug.cgi?id=215439
Reviewed by Darin Adler.
When building WebKit for XCBuild, we currently require that the
external build system (such as the Makefile, build-webkit, etc.)
defines the USE_NEW_BUILD_SYSTEM=YES build setting. This build setting
controls parts of our build instructions that are sensitive to when
XCBuild or the Legacy build system are being used. Notably, we need to
know when to use our custom “copy and modify” scripts with copying
certain header files (used with the Legacy build system) vs. using the
enhanced Copy Headers build phase that’s enabled with
APPLY_RULES_IN_COPY_HEADERS=YES (introduced with and used by XCBuild).
The choice of which method to copy headers is used is controlled by
USE_NEW_BUILD_SYSTEM.
There is no built-in build setting that we can probe to help us
determine which approach to take when copying and modifying headers,
which is why we need to define USE_NEW_BUILD_SYSTEM ourselves. But it
turns out that we can *detect* which build system is being used by
taking advantage of a subtle difference between the two systems. As
noted in:
https://developer.apple.com/documentation/xcode-release-notes/build-system-release-notes-for-xcode-10
“When an .xcconfig file contains multiple assignments of the same
build setting, later assignments using $(inherited) or
$(<setting_name>) will inherit from earlier assignments in the
.xcconfig. The legacy build system caused every use of
$(inherited) or $(<setting_name>) skip any other values defined
within the .xcconfig.”
This difference can be exploited as follows:
WK_WHICH_BUILD_SYSTEM = not_
WK_WHICH_BUILD_SYSTEM = $(inherited)legacy
WK_USE_NEW_BUILD_SYSTEM = $(WK_USE_NEW_BUILD_SYSTEM_$(WK_WHICH_BUILD_SYSTEM))
WK_USE_NEW_BUILD_SYSTEM_legacy = NO
WK_USE_NEW_BUILD_SYSTEM_not_legacy = YES
We can then use WK_USE_NEW_BUILD_SYSTEM where we used to use the
externally-defined USE_NEW_BUILD_SYSTEM.
* Configurations/Base.xcconfig:
* Configurations/WebKitLegacy.xcconfig:
2020-08-05 Tim Horton <timothy_horton@apple.com>
Remove all references to non-existent 10.16
https://bugs.webkit.org/show_bug.cgi?id=215202
Reviewed by Wenson Hsieh.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
2020-08-03 Youenn Fablet <youenn@apple.com>
Move user gesture propagation over promise behind a feature flag
https://bugs.webkit.org/show_bug.cgi?id=215014
Reviewed by Eric Carlson.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences userGesturePromisePropagationEnabled]):
(-[WebPreferences setUserGesturePromisePropagationEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-08-03 Wenson Hsieh <wenson_hsieh@apple.com>
Remove the ENABLE_DATA_INTERACTION feature flag
https://bugs.webkit.org/show_bug.cgi?id=215091
Reviewed by Megan Gardner.
* WebCoreSupport/WebDragClient.mm:
* WebView/WebView.mm:
* WebView/WebViewData.h:
* WebView/WebViewInternal.h:
2020-08-02 Darin Adler <darin@apple.com>
Remove some member functions of Range and many calls to createLiveRange
https://bugs.webkit.org/show_bug.cgi?id=215070
Reviewed by Sam Weinig.
* DOM/DOM.mm:
(-[DOMRange renderedImageForcingBlackText:renderedImageForcingBlackText:]):
Use makeSimpleRange.
(-[DOMRange textRects]): Ditto.
* DOM/DOMDocument.mm: Update includes.
* DOM/DOMRange.mm: Ditto.
* DOM/DOMRangeInternal.h: Ditto.
* DOM/DOMUIKitExtensions.mm: Ditto.
* DOM/DOMUtility.mm: Ditto.
* DOM/WebDOMOperations.mm:
(-[DOMRange webArchive]): Use makeSimpleRange.
(-[DOMRange markupString]): Ditto.
* WebView/WebFrame.mm:
(-[WebFrame _stringForRange:]): Use makeSimpleRange.
(-[WebFrame _convertToDOMRange:]): Return a SimpleRange.
(-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]): Ditto.
(-[WebFrame _convertNSRangeToDOMRange:]): Update for above.
(-[WebFrame _convertDOMRangeToNSRange:]): Use makeSimpleRange.
(-[WebFrame _selectNSRange:]): Update for above.
(-[WebFrame selectWithoutClosingTypingNSRange:]): Ditto.
(-[WebFrame getDictationResultRanges:andMetadatas:]): Use makeSimpleRange.
(-[WebFrame dictationResultMetadataForRange:]): Ditto.
* WebView/WebFrameInternal.h: Update for above.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
Use makeSimpleRange.
(-[WebHTMLView attributedSubstringFromRange:]): Use auto.
(-[WebHTMLView _attributedStringFromDOMRange:]): Deleted.
(-[WebHTMLView attributedString]): Rewrote to use SimpleRange consistently.
(-[WebHTMLView selectedAttributedString]): Ditto.
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _animationControllerForDataDetectedText]):
Use makeSimpleRange.
* WebView/WebTextIterator.mm:
(-[WebTextIterator initWithRange:]): Ditto.
* WebView/WebView.mm:
(-[WebView _didConcludeEditDrag]): Remove createLiveRange.
2020-08-01 Darin Adler <darin@apple.com>
Remove Range::create and many more uses of live ranges
https://bugs.webkit.org/show_bug.cgi?id=215004
Reviewed by Sam Weinig.
* DOM/DOMUIKitExtensions.mm:
(-[DOMNode rangeOfContainingParagraph]): Use makeSimpleRange.
* WebView/WebFrame.mm:
(-[WebFrame _characterRangeAtPoint:]): Update since rangeAtPoint takes a SimpleRange.
(-[WebFrame getDictationResultRanges:andMetadatas:]): Use document marker range function.
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _defaultAnimationController]): Use makeRangeSelectingNodeContents.
(-[WebImmediateActionController _animationControllerForDataDetectedLink]): Ditto.
2020-07-31 Chris Dumez <cdumez@apple.com>
Add linked-on-after check to keep WebSQL working in UIWebView until apps are rebuilt with iOS 14 SDK
https://bugs.webkit.org/show_bug.cgi?id=215035
<rdar://problem/65003342>
Reviewed by Tim Horton.
Add linked-on-after check to keep WebSQL working in UIWebView until apps are rebuilt with iOS 14 SDK.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2020-07-30 Darin Adler <darin@apple.com>
Further reduction in the use of live ranges, particularly in headers
https://bugs.webkit.org/show_bug.cgi?id=214793
Reviewed by Sam Weinig.
* DOM/DOMHTML.mm:
(-[DOMHTMLDocument createDocumentFragmentWithText:]): Use SimpleRange.
* DOM/DOMUIKitExtensions.mm:
(-[DOMRange move:inDirection:]): Ditto.
(-[DOMRange extend:inDirection:]): Ditto.
* DOM/WebDOMOperations.mm:
(-[DOMRange webArchive]): Ditto.
* WebView/WebFrame.mm:
(-[WebFrame _firstRectForDOMRange:]): Moved a "*" to save a little work.
(-[WebFrame setSelectedDOMRange:affinity:closeTyping:userTriggered:]):
Use SimpleRange.
(-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:matchStyle:]):
Ditto.
(-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
Ditto.
(-[WebFrame _documentFragmentForText:]): Ditto.
* WebView/WebView.mm:
(-[WebView DOMRangeOfString:relativeTo:options:]): Ditto.
(-[WebView setSelectedDOMRange:affinity:]): Ditto.
2020-07-29 Darin Adler <darin@apple.com>
Improve range idioms and other changes to prepare the way for more reduction in live range use
https://bugs.webkit.org/show_bug.cgi?id=214882
Reviewed by Sam Weinig.
* WebCoreSupport/WebEditorClient.mm:
(insertionPointFromCurrentSelection): Simplify with makeSimpleRange.
(WebEditorClient::requestCandidatesForSelection): Ditto.
* WebView/WebFrame.mm:
(-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]): Get rid of
unnecessary construction of a range just to get an end point.
(-[WebFrame wordOffsetInRange:]): Moved logic here from VisibleSelection.
(-[WebFrame spaceFollowsWordInRange:]): Ditto.
2020-07-23 Darin Adler <darin@apple.com>
Stop using live ranges in SpellChecker.h and TextCheckingHelper.h
https://bugs.webkit.org/show_bug.cgi?id=214648
Reviewed by Sam Weinig.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCheckingOfString): Pass the specific types of
results we expect, rather than NSTextCheckingAllSystemTypes.
2020-07-22 Conrad Shultz <conrad_shultz@apple.com>
Update macOS Version macros
https://bugs.webkit.org/show_bug.cgi?id=214653
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
2020-07-19 Darin Adler <darin@apple.com>
Remove live ranges from Editor.h and EditorClient.h
https://bugs.webkit.org/show_bug.cgi?id=214261
Reviewed by Sam Weinig.
* DOM/DOMRange.mm:
(kit): Added an overload to convert to a live range so we don't have
to touch every call site.
* DOM/DOMRangeInternal.h: Added the above.
* WebCoreSupport/WebEditorClient.h: Updated for changes to EditorClient.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::shouldDeleteRange): Changed types to not use live ranges.
(WebEditorClient::shouldApplyStyle): Ditto.
(WebEditorClient::shouldMoveRangeAfterDelete): Ditto.
(WebEditorClient::shouldBeginEditing): Ditto.
(WebEditorClient::shouldEndEditing): Ditto.
(WebEditorClient::shouldInsertText): Ditto.
(WebEditorClient::shouldChangeSelectedRange): Ditto.
(WebEditorClient::willWriteSelectionToPasteboard): Ditto.
(WebEditorClient::getClientPasteboardData): Ditto.
(WebEditorClient::shouldInsertNode): Ditto.
(WebEditorClient::performTwoStepDrop): Ditto.
* WebView/WebFrame.mm:
(-[WebFrame _firstRectForDOMRange:]): Update to not use live range.
(-[WebFrame _scrollDOMRangeToVisible:]): Ditto.
(-[WebFrame _rangeByAlteringCurrentSelection:direction:granularity:]): Ditto.
(-[WebFrame _markDOMRange]): Ditto.
(-[WebFrame _selectionRangeForFirstPoint:secondPoint:]): Ditto.
(-[WebFrame _selectionRangeForPoint:]): Ditto.
(-[WebFrame selectedDOMRange]): Ditto.
(-[WebFrame elementRangeContainingCaretSelection]): Ditto.
(-[WebFrame wordRangeContainingCaretSelection]): Ditto.
(-[WebFrame rangeByMovingCurrentSelection:]): Ditto.
(-[WebFrame rangeByExtendingCurrentSelection:]): Ditto.
(-[WebFrame markedTextDOMRange]): Ditto.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _selectedRange]): Update to not use live range.
(-[WebHTMLView firstRectForCharacterRange:]): Use NSZeroRect.
(-[WebHTMLView countMatchesForText:inDOMRange:options:limit:markMatches:]):
Update to not use live range.
* WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController doCompletion]): Ditto.
* WebView/WebTextIterator.mm:
(-[WebTextIterator currentRange]): Ditto.
* WebView/WebView.mm:
(-[WebView textIteratorForRect:]): Ditto.
(-[WebView editableDOMRangeForPoint:]): Ditto.
(-[WebView selectedDOMRange]): Ditto.
2020-07-21 Tim Horton <timothy_horton@apple.com>
REGRESSION (WebSQL disablement): Fudget app is unresponsive on launch
https://bugs.webkit.org/show_bug.cgi?id=214620
<rdar://problem/65443085>
Reviewed by Geoffrey Garen.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
Add Fudget to the list of apps that can use WebSQL until linked on or after iOS 14.
2020-07-21 Eric Carlson <eric.carlson@apple.com>
Use AVRoutePickerView when available for choosing AirPlay devices
https://bugs.webkit.org/show_bug.cgi?id=213497
<rdar://problem/58610662>
Reviewed by Jer Noble.
* WebView/WebMediaPlaybackTargetPicker.h:
(WebMediaPlaybackTargetPicker::~WebMediaPlaybackTargetPicker): Deleted.
* WebView/WebMediaPlaybackTargetPicker.mm:
(WebMediaPlaybackTargetPicker::create):
(WebMediaPlaybackTargetPicker::WebMediaPlaybackTargetPicker):
(WebMediaPlaybackTargetPicker::invalidate):
(WebMediaPlaybackTargetPicker::platformView const): New override.
* WebView/WebView.mm:
(-[WebView _devicePicker]): Pass view to WebMediaPlaybackTargetPicker factory.
2020-07-17 Sam Weinig <weinig@apple.com>
Remove final vestigates of SimpleColor
https://bugs.webkit.org/show_bug.cgi?id=214439
Reviewed by Simon Fraser.
* WebView/WebIndicateLayer.mm:
Replace remaining makeSimpleColor() uses.
2020-07-17 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r264477.
Broke the internal build
Reverted changeset:
"Use AVRoutePickerView when available for choosing AirPlay
devices"
https://bugs.webkit.org/show_bug.cgi?id=213497
https://trac.webkit.org/changeset/264477
2020-07-16 Eric Carlson <eric.carlson@apple.com>
Use AVRoutePickerView when available for choosing AirPlay devices
https://bugs.webkit.org/show_bug.cgi?id=213497
<rdar://problem/58610662>
Reviewed by Jer Noble.
* WebView/WebMediaPlaybackTargetPicker.h:
(WebMediaPlaybackTargetPicker::~WebMediaPlaybackTargetPicker): Deleted.
* WebView/WebMediaPlaybackTargetPicker.mm:
(WebMediaPlaybackTargetPicker::create):
(WebMediaPlaybackTargetPicker::WebMediaPlaybackTargetPicker):
(WebMediaPlaybackTargetPicker::invalidate):
(WebMediaPlaybackTargetPicker::platformView const): New override.
* WebView/WebView.mm:
(-[WebView _devicePicker]): Pass view to WebMediaPlaybackTargetPicker factory.
2020-07-15 Darin Adler <darin@apple.com>
Remove a few more uses of the terms black/white list
https://bugs.webkit.org/show_bug.cgi?id=214371
Reviewed by Alex Christensen.
* WebView/WebViewPrivate.h: Corrected a mistake in a comment.
2020-07-13 Keith Miller <keith_miller@apple.com>
Clean up SourceProvider and add caller relative load script to jsc.cpp
https://bugs.webkit.org/show_bug.cgi?id=214205
Reviewed by Yusuke Suzuki.
Use the source origin's URL for the debugger since it's the true URL for the script.
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::sourceParsed):
2020-07-08 Darin Adler <darin@apple.com>
Remove live ranges from Document.h, AlternativeTextController.h, DictionaryLookup.h, and WebPage.h
https://bugs.webkit.org/show_bug.cgi?id=214109
Reviewed by Sam Weinig.
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _animationControllerForText]): Update since
DictionaryLookup::rangeAtHitTestResult returns SimpleRange.
2020-07-09 Brian Burg <bburg@apple.com>
REGRESSION(r217248): ASSERT_NOT_REACHED() in toWebFrameLoadType()
https://bugs.webkit.org/show_bug.cgi?id=214149
Reviewed by Joseph Pecoraro.
ASSERT_NOT_REACHED() is hit when the type is FrameLoadType::ReloadExpiredOnly. This happens
when remote inspection triggers a reload via InspectorPageAgent::reload() and the
'revalidateAllResources' optional argument is false or not specified.
* WebView/WebFrame.mm:
(toWebFrameLoadType):
Remove the assert and add a note explaining why this load type that does not
naturally occur in WK1 may nonetheless be triggered while remote inspecting.
2020-07-06 Simon Fraser <simon.fraser@apple.com>
BEGIN_BLOCK_OBJC_EXCEPTIONS/END_BLOCK_OBJC_EXCEPTIONS should not have trailing semicolons
https://bugs.webkit.org/show_bug.cgi?id=214019
Reviewed by Tim Horton.
These macros are defined as:
#define BEGIN_BLOCK_OBJC_EXCEPTIONS @try {
#define END_BLOCK_OBJC_EXCEPTIONS } @catch(NSException *localException) { ReportBlockedObjCException(localException); }
so they should not be used with trailing semicolons.
* DOM/DOMCustomXPathNSResolver.mm:
(DOMCustomXPathNSResolver::lookupNamespaceURI):
* WebCoreSupport/PopupMenuMac.mm:
(PopupMenuMac::show):
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::exceededDatabaseQuota):
(WebChromeClient::reachedApplicationCacheOriginQuota):
(WebChromeClient::runOpenPanel):
(WebChromeClient::keyboardUIMode):
(WebChromeClient::firstResponder):
(WebChromeClient::makeFirstResponder):
(WebChromeClient::attachRootGraphicsLayer):
(WebChromeClient::setNeedsOneShotDrawingSynchronization):
(WebChromeClient::scheduleRenderingUpdate):
(WebChromeClient::enterVideoFullscreenForVideoElement):
(WebChromeClient::exitVideoFullscreenForVideoElement):
(WebChromeClient::exitVideoFullscreenToModeWithoutAnimation):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createFrame):
(WebFrameLoaderClient::objectContentType):
(NetscapePluginWidget::notifyWidget):
(WebFrameLoaderClient::createPlugin):
(WebFrameLoaderClient::redirectDataToPlugin):
(WebFrameLoaderClient::createJavaAppletWidget):
* WebCoreSupport/WebGeolocationClient.mm:
(WebGeolocationClient::setEnableHighAccuracy):
(WebGeolocationClient::requestPermission):
(-[WebGeolocationProviderInitializationListener initializationAllowedWebView:]):
* WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::requestPermission):
* WebCoreSupport/WebPluginInfoProvider.mm:
(WebPluginInfoProvider::pluginInfo):
* WebCoreSupport/WebVisitedLinkStore.mm:
(WebVisitedLinkStore::populateVisitedLinksIfNeeded):
* WebView/WebHTMLView.mm:
(imageFromRect):
2020-07-06 Jonathan Bedard <jbedard@apple.com>
[Catalyst] Remove SPI header from WebDownload.h
https://bugs.webkit.org/show_bug.cgi?id=214004
<rdar://problem/65146575>
Reviewed by Wenson Hsieh.
* Misc/WebDownload.h: Remove SPI header.
2020-07-05 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r263960.
https://bugs.webkit.org/show_bug.cgi?id=213980
Re-land, because r263959 somehow fixed the build issue caused
by r263953
Reverted changeset:
"Unreviewed, reverting r263953 and r263959."
https://bugs.webkit.org/show_bug.cgi?id=213979
https://trac.webkit.org/changeset/263960
2020-07-05 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r263953 and r263959.
https://bugs.webkit.org/show_bug.cgi?id=213979
Broke internal build
Reverted changesets:
"[Cocoa] Move almost all features from FeatureDefines.xcconfig
to PlatformEnableCocoa.h"
https://bugs.webkit.org/show_bug.cgi?id=212542
https://trac.webkit.org/changeset/263953
"[Cocoa] Remove FEATURE_DEFINES from the Cocoa/Xcode build
system"
https://bugs.webkit.org/show_bug.cgi?id=213976
https://trac.webkit.org/changeset/263959
2020-07-05 Darin Adler <darin@apple.com>
[Cocoa] Remove FEATURE_DEFINES from the Cocoa/Xcode build system
https://bugs.webkit.org/show_bug.cgi?id=213976
Reviewed by Sam Weinig.
* Configurations/FeatureDefines.xcconfig: Removed.
* Configurations/WebKitLegacy.xcconfig: Removed FEATURE_DEFINES and the include of
FeatureDefines.xcconfig.
* MigrateHeaders.make: Removed FEATURE_DEFINES, FEATURE_DEFINE_FLAGS, and
FEATURE_AND_PLATFORM_DEFINE_DEPENDENCIES. FEATURE_AND_PLATFORM_DEFINES is now used
solely to determine if this is an internal SDK build, which should be cleaned up later.
2020-07-05 Andy Estes <aestes@apple.com>
[iOS] La Banque Postale app does not respect safe area insets on iOS 14
https://bugs.webkit.org/show_bug.cgi?id=213974
<rdar://problem/65109197>
Reviewed by Darin Adler.
La Banque Postale uses a fixed list of iOS versions that support safe area insets (versions
11 through 13 at the time of writing). Since iOS 14 is not in this list, the app fails to
apply top and bottom safe area insets to its web content. Work around this by adding the
'device-ios12p' class to <body> as if the iOS major version were 13 (the app currently uses
'device-ios12p' to represent both iOS 12 and iOS 13). This quirk will be disabled on
versions of La Banque Postale that link against the iOS 14 SDK (or later).
* Configurations/WebKitLegacy.xcconfig: Excluded LaBanquePostaleQuirks.js on Mac.
* Resources/LaBanquePostaleQuirks.js: Added.
* WebView/WebView.mm:
(needsLaBanquePostaleQuirks): Added. Checks if the quirk is needed.
(leakLaBanquePostaleQuirksScript): Added. Leaks an NSString containing the quirk script.
(-[WebView _injectLaBanquePostaleQuirks]): Added. Injects the quirk as a user script.
(-[WebView _commonInitializationWithFrameName:groupName:]):
2020-07-05 Darin Adler <darin@apple.com>
[Cocoa] Move almost all features from FeatureDefines.xcconfig to PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212542
Reviewed by Sam Weinig.
* Configurations/FeatureDefines.xcconfig: Delete everything except
ENABLE_EXPERIMENTAL_FEATURES and ENABLE_WEBRTC.
2020-07-04 Darin Adler <darin@apple.com>
[Cocoa] Remove all features from FeatureDefines.xcconfig that are already mentioned in PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=213962
Reviewed by Sam Weinig.
* Configurations/FeatureDefines.xcconfig: Removed all features that were mentioned
in PlatformEnableCocoa.h; the rules in that file now define whether they are enabled.
2020-07-04 Darin Adler <darin@apple.com>
[Cocoa] Remove unconditional features from FeatureDefines.xcconfig, making sure they are covered in PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212418
Reviewed by Sam Weinig.
* Configurations/FeatureDefines.xcconfig: Removed features that are either unconditionally not enabled,
or unconditionally enabled. Double checked that all the enabled ones are either in PlatformEnable.h or
PlatformEnableCocoa.h.
2020-07-04 Darin Adler <darin@apple.com>
Update comment in FeatureDefines.xcconfig since PlatformEnableCocoa.h should be used instead
https://bugs.webkit.org/show_bug.cgi?id=213952
Reviewed by Sam Weinig.
* Configurations/FeatureDefines.xcconfig: Updated comment.
2020-07-03 Sam Weinig <weinig@apple.com>
Remove support for ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE
https://bugs.webkit.org/show_bug.cgi?id=213932
Reviewed by Darin Adler.
Removes support for non-standard <input type="datetime">, currently being
guarded by the macro ENABLE_INPUT_TYPE_DATETIME_INCOMPLETE. This macro, was
added back in 2013 as a temporary measure to support some engines who shipped
support for <input type="datetime">. It is currently not enabled for any
ports so now seems like as good a time as any to remove it.
* Configurations/FeatureDefines.xcconfig:
2020-07-03 Sam Weinig <weinig@apple.com>
Add "-Wliteral-conversion" warning to Xcode based builds and fix the issues it finds
https://bugs.webkit.org/show_bug.cgi?id=213931
Reviewed by Darin Adler.
* Configurations/Base.xcconfig:
Add -Wliteral-conversion.
2020-07-01 Said Abou-Hallawa <sabouhallawa@apple.com>
Allow the File object to be created with a replacement file
https://bugs.webkit.org/show_bug.cgi?id=213825
Reviewed by Darin Adler.
* WebCoreSupport/WebPlatformStrategies.mm:
2020-06-30 Sam Weinig <weinig@apple.com>
Split Color serialization out of Color classes
https://bugs.webkit.org/show_bug.cgi?id=213820
Reviewed by Darin Adler.
Adopt ColorSerialization.h serialization functions.
* WebView/WebView.mm:
(-[WebTextTouchBarItemController _webChangeColor:]):
2020-06-30 Kate Cheney <katherine_cheney@apple.com>
Remove NeedsInAppBrowserPrivacyQuirks flag from WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=213802
<rdar://problem/64945642>
Reviewed by Darin Adler.
This feature is for testing only and is not needed in WebKitLegacy.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences needsInAppBrowserPrivacyQuirks]): Deleted.
(-[WebPreferences setNeedsInAppBrowserPrivacyQuirks:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-06-30 Peng Liu <peng.liu6@apple.com>
Enable the support of FULLSCREEN_API in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=213774
Reviewed by Youenn Fablet.
Replace the definition of ENABLE_FULLSCREEN_API in FeatureDefines.xcconfig with
the one in PlatformEnableCocoa.h. We have to do that because WebKitTestRunner
does not have a FeatureDefines.xcconfig but it uses "ENABLE(FULLSCREEN_API)"
to conditionally compile code to test the element fullscreen API.
WebKitTestRunner can use the macro defined in PlatformEnableCocoa.h.
* Configurations/FeatureDefines.xcconfig:
2020-06-30 Andy Estes <aestes@apple.com>
[Xcode] Enable the "My Mac (Mac Catalyst)" destination in WebKit Xcode projects
https://bugs.webkit.org/show_bug.cgi?id=213740
Reviewed by Darin Adler.
* Configurations/Base.xcconfig: Set SUPPORTS_MACCATALYST to YES to tell Xcode that this
project supports building for Mac Catalyst.
2020-06-29 Tetsuharu Ohzeki <tetsuharu.ohzeki@gmail.com>
Remove ENABLE_STREAMS_API compilation flag
https://bugs.webkit.org/show_bug.cgi?id=213728
Reviewed by Sam Weinig.
* Configurations/FeatureDefines.xcconfig:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-06-28 Geoffrey Garen <ggaren@apple.com>
Rename initializeThreading to initialize
https://bugs.webkit.org/show_bug.cgi?id=213674
Reviewed by Mark Lam.
* History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]):
* History/WebHistoryItem.mm:
(+[WebHistoryItem initialize]):
* Misc/WebCache.mm:
(+[WebCache initialize]):
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]):
* Misc/WebIconDatabase.mm:
* Misc/WebStringTruncator.mm:
(+[WebStringTruncator initialize]):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]):
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage initialize]):
* Plugins/WebNetscapePluginView.mm:
(+[WebNetscapePluginView initialize]):
* WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep initialize]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(+[WebFramePolicyListener initialize]):
* WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]):
* WebView/WebDataSource.mm:
(+[WebDataSource initialize]):
* WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebResource.mm:
(+[WebResourcePrivate initialize]):
* WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]):
* WebView/WebView.mm:
(+[WebView initialize]):
* WebView/WebViewData.mm:
(+[WebViewPrivate initialize]):
2020-06-26 Geoffrey Garen <ggaren@apple.com>
WebSecurityOrigin needs to initialize the main thread
https://bugs.webkit.org/show_bug.cgi?id=213675
Reviewed by Tim Horton.
Safari uses WebSecurityOrigin stand-alone in unit tests.
(And any client can use WebSecurityOrigin without first using other
WebKit data types.)
* WebCoreSupport/WebSecurityOrigin.mm:
(-[WebSecurityOrigin initWithURL:]):
2020-06-26 Geoffrey Garen <ggaren@apple.com>
Initializing the main thread should initialize the main run loop
https://bugs.webkit.org/show_bug.cgi?id=213637
Reviewed by Anders Carlsson.
* History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]):
* History/WebHistoryItem.mm:
(+[WebHistoryItem initialize]):
* Misc/WebCache.mm:
(+[WebCache initialize]):
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]):
* Misc/WebIconDatabase.mm:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]):
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage initialize]):
* Plugins/WebNetscapePluginView.mm:
(+[WebNetscapePluginView initialize]):
* WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep initialize]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(+[WebFramePolicyListener initialize]):
* WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]):
* WebView/WebDataSource.mm:
(+[WebDataSource initialize]):
* WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebResource.mm:
(+[WebResourcePrivate initialize]):
* WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]):
* WebView/WebView.mm:
(+[WebView initialize]):
* WebView/WebViewData.mm:
(+[WebViewPrivate initialize]):
2020-06-26 Wenson Hsieh <wenson_hsieh@apple.com>
Add a test to verify that async clipboard API write access is granted when copying in subframes
https://bugs.webkit.org/show_bug.cgi?id=213581
Reviewed by Darin Adler.
* WebView/WebView.mm:
(-[WebView _executeCoreCommandByName:value:]):
Adjust the behavior of this SPI to trigger the editing command in the focused frame, rather than always the
mainframe. This matches the behavior of `WKBundlePageExecuteEditingCommand`, and is also consistent with
user-triggered editing commands.
2020-06-24 David Kilzer <ddkilzer@apple.com>
Use ObjectIdentifier<>instead of WebCore::nextPlaybackTargetClientContextId() in Document.cpp
<https://webkit.org/b/213546>
<rdar://problem/61803576>
Reviewed by Youenn Fablet.
Switch from uint64_t to WebCore::PlaybackTargetClientContextIdentifier
for contextId values.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::addPlaybackTargetPickerClient):
(WebChromeClient::removePlaybackTargetPickerClient):
(WebChromeClient::showPlaybackTargetPicker):
(WebChromeClient::playbackTargetPickerClientStateDidChange):
* WebView/WebMediaPlaybackTargetPicker.h:
* WebView/WebMediaPlaybackTargetPicker.mm:
(WebMediaPlaybackTargetPicker::addPlaybackTargetPickerClient):
(WebMediaPlaybackTargetPicker::removePlaybackTargetPickerClient):
(WebMediaPlaybackTargetPicker::showPlaybackTargetPicker):
(WebMediaPlaybackTargetPicker::playbackTargetPickerClientStateDidChange):
(WebMediaPlaybackTargetPicker::setPlaybackTarget):
(WebMediaPlaybackTargetPicker::externalOutputDeviceAvailableDidChange):
(WebMediaPlaybackTargetPicker::setShouldPlayToPlaybackTarget):
(WebMediaPlaybackTargetPicker::playbackTargetPickerWasDismissed):
* WebView/WebView.mm:
(-[WebView _addPlaybackTargetPickerClient:]):
(-[WebView _removePlaybackTargetPickerClient:]):
(-[WebView _showPlaybackTargetPicker:location:hasVideo:]):
(-[WebView _playbackTargetPickerClientStateDidChange:state:]):
* WebView/WebViewInternal.h:
2020-06-24 Umar Iqbal <uiqbal@apple.com>
We should resurrect the older patch that collects some statistics of web API calls
https://bugs.webkit.org/show_bug.cgi?id=213319
Reviewed by Brent Fulgham.
+ Enabled ENABLE_WEB_API_STATISTICS flag
* Configurations/FeatureDefines.xcconfig:
2020-06-22 Tim Horton <timothy_horton@apple.com>
Update macOS version macros
https://bugs.webkit.org/show_bug.cgi?id=213484
Reviewed by Alexey Proskuryakov.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
2020-06-19 Chris Dumez <cdumez@apple.com>
Move Prefixed WebAudio interfaces behind their own feature flag
https://bugs.webkit.org/show_bug.cgi?id=213356
Reviewed by Darin Adler.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-06-15 Alex Christensen <achristensen@webkit.org>
Provide alternatively-named SPI for user style sheets and scripts
https://bugs.webkit.org/show_bug.cgi?id=213206
Reviewed by Brady Eidson.
* WebView/WebView.mm:
(+[WebView _addOriginAccessAllowListEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
(+[WebView _removeOriginAccessAllowListEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
(+[WebView _resetOriginAccessAllowLists]):
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
(+[WebView _addUserScriptToGroup:world:source:url:includeMatchPatternStrings:excludeMatchPatternStrings:injectionTime:injectedFrames:]):
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
(+[WebView _addUserStyleSheetToGroup:world:source:url:includeMatchPatternStrings:excludeMatchPatternStrings:injectedFrames:]):
(+[WebView _setFontAllowList:]):
(+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Deleted.
(+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]): Deleted.
(+[WebView _resetOriginAccessWhitelists]): Deleted.
(+[WebView _setFontWhitelist:]): Deleted.
* WebView/WebViewPrivate.h:
2020-06-11 Sam Weinig <weinig@apple.com>
Document.currentScript does not work for SVGScriptElements
https://bugs.webkit.org/show_bug.cgi?id=213104
Reviewed by Yusuke Suzuki.
* DOM/DOMDocument.mm:
(-[DOMDocument currentScript]):
Update to account for change in Document::currentScript() now returning an
Element* that can be either an HTMLScriptElement or an SVGScriptElement. To
keep API compatibility, only return non-null for HTMLScriptElements.
2020-06-12 Keith Rollin <krollin@apple.com>
Add dependencies for Migrate Headers and Generate Export Files build phases
https://bugs.webkit.org/show_bug.cgi?id=213072
<rdar://problem/64249345>
Reviewed by Tim Horton.
These build phases have incomplete specifications for the files they
consume and produce, which can lead to incorrect builds. Address this
by:
- Adding the WebCore/PrivateHeaders directory (which contains the
headers being migrated) as input to the Migrate Headers build phase
- Touching a timestamp file when re-exporting any headers in the
Migrate Headers build phase
- Adding the timestamp file as an output of the Migrate Headers build
phase
- Adding the timestamp file as an input of the Generate Export Files
build phase
- Adding other files that Generate Export Files consumes to the list
of input files
In this way, if any exported headers are changed, both Migrate Headers
and Generate Export Files will be run.
* MigrateHeaders.make:
2020-06-11 Beth Dakin <bdakin@apple.com>
Replace instances of whitelist in WebCore with allowlist
https://bugs.webkit.org/show_bug.cgi?id=213068
Reviewed by Tim Horton.
* WebView/WebView.mm:
(+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
(+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
(+[WebView _resetOriginAccessWhitelists]):
(+[WebView _setFontWhitelist:]):
2020-06-11 David Kilzer <ddkilzer@apple.com>
[IPC] Adopt enum class for DragSourceAction
<https://webkit.org/b/212885>
<rdar://problem/64094134>
Reviewed by Darin Adler.
Summary:
- Add and use conversion functions between
OptionSet<WebCore::DragSourceAction> and WebDragSourceAction.
- Update method signatures.
* WebCoreSupport/WebDragClient.h:
* WebCoreSupport/WebDragClient.mm:
(coreDragSourceActionMask): Add.
(WebDragClient::dragSourceActionMaskForPoint):
(WebDragClient::willPerformDragSourceAction):
(WebDragClient::startDrag):
* WebView/WebView.mm:
(kit): Add.
- Convert from Optional<WebCore::DragSourceAction> to
WebDragSourceAction.
(-[WebView _startDrag:]):
* WebView/WebViewInternal.h:
(kit): Add declaration to reuse function in WebDragClient.mm.
2020-06-10 Geoffrey Garen <ggaren@apple.com>
Some style improvements to main thread code
https://bugs.webkit.org/show_bug.cgi?id=213051
Reviewed by Darin Adler.
Updated for rename.
* History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]):
* History/WebHistoryItem.mm:
(+[WebHistoryItem initialize]):
* Misc/WebCache.mm:
(+[WebCache initialize]):
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]):
* Misc/WebIconDatabase.mm:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]):
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage initialize]):
* Plugins/WebNetscapePluginView.mm:
(+[WebNetscapePluginView initialize]):
* WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep initialize]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(+[WebFramePolicyListener initialize]):
* WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]):
* WebView/WebDataSource.mm:
(+[WebDataSource initialize]):
* WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebResource.mm:
(+[WebResourcePrivate initialize]):
* WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]):
* WebView/WebView.mm:
(+[WebView initialize]):
* WebView/WebViewData.mm:
(+[WebViewPrivate initialize]):
2020-06-09 Dean Jackson <dino@apple.com>
Stop using discriminatory names for WebGL and Plugin blocking
https://bugs.webkit.org/show_bug.cgi?id=213000
Reviewed by Simon Fraser.
* WebCoreSupport/WebFrameLoaderClient.mm:
(shouldBlockPlugin):
(shouldBlockWebGL):
2020-06-08 Jonathan Bedard <jbedard@apple.com>
WebKitLegacy: Exclude NSURLConnectionSPI.h from watchOS
https://bugs.webkit.org/show_bug.cgi?id=212942
<rdar://problem/64141877>
Reviewed by Alexey Proskuryakov.
* Misc/WebDownload.h: Exclude NSURLConnectionSPI.h from watchOS, replace
CFNSURLConnection.h with NSURLConnectionSPI.h.
2020-06-08 David Kilzer <ddkilzer@apple.com>
[IPC] Adopt enum class for DragOperation
<https://webkit.org/b/212870>
<rdar://problem/64069940>
Reviewed by Darin Adler.
* WebView/WebHTMLView.mm:
(kit):
* WebView/WebView.mm:
(coreDragOperationMask):
(kit):
2020-06-07 Philippe Normand <pnormand@igalia.com>
Remove ENABLE_VIDEO_TRACK ifdef guards
https://bugs.webkit.org/show_bug.cgi?id=212568
Reviewed by Youenn Fablet.
* Configurations/FeatureDefines.xcconfig:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-06-06 David Kilzer <ddkilzer@apple.com>
Use OptionSet<DragOperation> for mask values
<https://webkit.org/b/212605>
Reviewed by Darin Adler.
In broad strokes:
- Replace use of DragOperation with OptionSet<DragOperation> or
Optional<DragOperation>.
- Rename function parameters and local variables to denote use
of mask values.
- Remove DragOperationNone enum value.
- Replace DragOperationEvery enum value with anyDragOperation().
* WebView/WebFrame.mm:
(-[WebFrame _dragSourceEndedAt:operation:]):
* WebView/WebHTMLView.mm:
(kit): Add conversion function.
(-[WebHTMLView draggingSourceOperationMaskForLocal:]):
(-[WebHTMLView draggingSession:sourceOperationMaskForDraggingContext:]):
* WebView/WebView.mm:
(coreDragOperationMask): Add conversion function.
(kit): Ditto.
- Map WebCore::DragOperationGeneric to _UIDragOperationMove
based on logic in WebCore. All other WebCore::DragOperation
enum values map to _UIDragOperationNone.
(-[WebView dragDataForSession:client:global:operation:]):
(-[WebView _enteredDataInteraction:client:global:operation:]):
(-[WebView _updatedDataInteraction:client:global:operation:]):
(-[WebView draggingEntered:]):
(-[WebView draggingUpdated:]):
(-[WebView draggingExited:]):
(-[WebView performDragOperation:]):
* WebView/WebViewInternal.h:
(CocoaDragOperation):
- Add typedef so coreDragOperationMask() may be shared across
platforms.
(coreDragOperationMask): Add declaration.
(coreOptions):
- Remove redundant parameter name.
2020-06-06 Jonathan Bedard <jbedard@apple.com>
WebKitLegacy: Link to framework stubs for watchOS and tvOS
https://bugs.webkit.org/show_bug.cgi?id=212855
<rdar://problem/64049486>
Reviewed by Tim Horton.
* Configurations/Base.xcconfig: Define tvOS and watchOS major version macros.
* Configurations/WebKitLegacy.xcconfig: Link to framework stubs for watchOS and tvOS.
2020-06-05 Jonathan Bedard <jbedard@apple.com>
WebKitLegacy: Feature guard WebChromeClient declarations
https://bugs.webkit.org/show_bug.cgi?id=212857
<rdar://problem/64050523>
Unreviewed build fix.
* WebCoreSupport/WebChromeClient.h: m_mockVideoPresentationModeEnabled declaration
should be guarded on ENABLE(VIDEO_PRESENTATION_MODE).
2020-06-05 David Kilzer <ddkilzer@apple.com>
[IPC] Adopt enum class for AutocapitalizeType
<https://webkit.org/b/212846>
<rdar://problem/64042825>
Reviewed by Darin Adler.
Summary:
- Move AutocapitalizeType into WebCore namespace.
- Convert AutocapitalizeType to an enum class.
- Add WTF::EnumTraits<AutocapitalizeType> for IPC.
* DOM/DOMHTML.mm:
(webAutocapitalizeType):
2020-06-05 David Kilzer <ddkilzer@apple.com>
[IPC] Adopt enum class for PluginLoadClientPolicy
<https://webkit.org/b/212827>
<rdar://problem/64030431>
Reviewed by Alex Christensen.
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage getPluginInfoFromPLists]):
- Update for renamed PluginLoadClientPolicy enum.
2020-06-05 Andy Estes <aestes@apple.com>
[Apple Pay] Remove conditionals for ENABLE_APPLE_PAY_SESSION_V(3|4)
https://bugs.webkit.org/show_bug.cgi?id=212541
<rdar://problem/63781452>
Reviewed by Darin Adler.
APPLE_PAY_SESSION_V(3|4) is now enabled whenever APPLE_PAY itself is enabled.
* Configurations/FeatureDefines.xcconfig:
2020-06-04 Tim Horton <timothy_horton@apple.com>
Work around broken system version macro
https://bugs.webkit.org/show_bug.cgi?id=212726
Reviewed by Dan Bernstein.
* Configurations/DebugRelease.xcconfig:
2020-06-04 Andy Estes <aestes@apple.com>
[watchOS] Re-enable content filtering in the simulator build
https://bugs.webkit.org/show_bug.cgi?id=212711
<rdar://problem/63938350>
Reviewed by Wenson Hsieh.
* Configurations/FeatureDefines.xcconfig:
2020-06-02 Keith Rollin <krollin@apple.com>
Revert FEATURES_DEFINES related changes
https://bugs.webkit.org/show_bug.cgi?id=212664
<rdar://problem/63893033>
Reviewed by Andy Estes.
Bug 262310, Bug 262311, Bug 262318, and Bug 262331 involve changes to
FEATURE_DEFINES and how the values there relate to those found in the
Platform*.h files. Those changes break XCBuild (by removing the
.xcfilelist related to UnifiedSources and the process for generating
them), and so are being reverted.
* Configurations/FeatureDefines.xcconfig:
2020-06-02 Peng Liu <peng.liu6@apple.com>
Stressing webkitSetPresentationMode leads to wrong inline video dimensions
https://bugs.webkit.org/show_bug.cgi?id=202425
Reviewed by Eric Carlson.
Move DumpRenderTree's implementation of the mock video presentation mode from WebView
to WebChromeClient and call videoElement.didStopBeingFullscreenElement() when a video
element exits fullscreen.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setMockVideoPresentationModeEnabled):
(WebChromeClient::enterVideoFullscreenForVideoElement):
(WebChromeClient::exitVideoFullscreenForVideoElement):
(WebChromeClient::exitVideoFullscreenToModeWithoutAnimation):
* WebView/WebView.mm:
(-[WebView _enterVideoFullscreenForVideoElement:mode:]):
(-[WebView _exitVideoFullscreen]):
(-[WebView _setMockVideoPresentationModeEnabled:]): Deleted.
* WebView/WebViewData.h:
* WebView/WebViewInternal.h:
2020-06-01 David Kilzer <ddkilzer@apple.com>
Don't use casts to convert between WebCore::DragDestinationAction and {Web,WK}DragDestinationAction types
<https://webkit.org/b/212507>
Reviewed by Darin Adler.
* WebCoreSupport/WebDragClient.mm:
(kit):
- Add conversion function to avoid casting.
(WebDragClient::willPerformDragDestinationAction):
- Make use of kit() conversion function.
* WebView/WebView.mm:
(coreDragDestinationActionMask):
- Add conversion function to avoid casting.
(-[WebView dragDataForSession:client:global:operation:]):
(-[WebView actionMaskForDraggingInfo:]):
- Make use of coreDragDestinationActionMask() conversion
function.
2020-06-01 Sam Weinig <weinig@apple.com>
Extended Color: Replace Color constructors taking numeric values with type specific factory functions
https://bugs.webkit.org/show_bug.cgi?id=212576
Reviewed by Tim Horton.
Replaces all remaining implicit and explicit uses of the Color constructors taking numeric
values with explicit calls to makeSimpleColor/makeSimpleColorFromFloats/makeExtendedColor,
giving us a consistent way to create colors. Also addes use constexpr SimpleColors where possible.
* WebView/WebIndicateLayer.mm:
2020-05-29 Andy Estes <aestes@apple.com>
[Apple Pay] Remove conditionals for ENABLE_APPLE_PAY_SESSION_V(3|4)
https://bugs.webkit.org/show_bug.cgi?id=212541
Reviewed by Darin Adler.
APPLE_PAY_SESSION_V(3|4) is now enabled whenever APPLE_PAY itself is enabled.
* Configurations/FeatureDefines.xcconfig:
2020-05-29 David Kilzer <ddkilzer@apple.com>
REGRESSION (r260306): Compatibility issue leading to crash on macOS games
<https://webkit.org/b/212546>
<rdar://problem/62624078>
Reviewed by Brent Fulgham.
* WebView/WebView.mm:
(_WebSafeForwarder._target):
(_WebSafeForwarder._defaultTarget):
- Change __weak attribute to __unsafe_unretained to fix the
crash.
2020-05-29 Darin Adler <darin@apple.com>
Remove things from FeatureDefines.xcconfig that are covered by PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212418
Rubber-stamped by Simon Fraser.
* Configurations/FeatureDefines.xcconfig: Add back ENABLE_CSS_CONIC_GRADIENTS, removed
by accident.
2020-05-27 Darin Adler <darin@apple.com>
Remove things from FeatureDefines.xcconfig that are covered by PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=212418
Reviewed by Andy Estes.
* Configurations/FeatureDefines.xcconfig: Removed 83 of the 119 things defined in
this file. There are 36 more that are slightly more complex that we can remove
carefully later.
2020-05-29 Darin Adler <darin@apple.com>
[Cocoa] Pass all defines from Platform.h to various scripts, not just the ones from .xcconfig
https://bugs.webkit.org/show_bug.cgi?id=212451
Reviewed by Sam Weinig.
* MigrateHeaders.make: Run the preprocessor on Platform.h and parse the output into
FEATURE_AND_PLATFORM_DEFINES. Use that and FEATURE_AND_PLATFORM_DEFINE_DEPENDENCIES
whenever we need a list of defines. Also took out some Windows-specific stuff since
this is now only used on Mac platforms. Use ":=" when calling $(shell) to make sure
the same shell command is not invoked over and over again.
2020-05-29 Keith Rollin <krollin@apple.com>
Revert switch to XCBuild
https://bugs.webkit.org/show_bug.cgi?id=212530
<rdar://problem/63764632>
Unreviewed build fix.
Bug 209890 enabled the use of XCBuild by default. Since then, some
build issues have shown up. While addressing them, temporarily turn
off the use of XCBuild by default.
* Configurations/WebKitLegacy.xcconfig:
2020-05-29 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r262245.
https://bugs.webkit.org/show_bug.cgi?id=212531
"Caused WebCore's 'Check .xcfilelists' build phase to be ~100x
slower"
Reverted changeset:
"[Cocoa] Pass all defines from Platform.h to various scripts,
not just the ones from .xcconfig"
https://bugs.webkit.org/show_bug.cgi?id=212451
https://trac.webkit.org/changeset/262245
2020-05-28 Megan Gardner <megan_gardner@apple.com>
Responding to post commit review comments for https://bugs.webkit.org/show_bug.cgi?id=212060
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
* WebView/WebViewData.h:
2020-05-28 David Kilzer <ddkilzer@apple.com>
Follow-up build fix: [Cocoa] Pass all defines from Platform.h to various scripts, not just the ones from .xcconfig
https://bugs.webkit.org/show_bug.cgi?id=212451
Fixes the following build error:
PhaseScriptExecution Migrate\ Headers BUILD_DIR/WebKitLegacy.build/Debug/WebKitLegacy.build/Script-1C6CB0510AA63EB000D23BFD.sh
cd SOURCE_DIR/Source/WebKitLegacy
/bin/sh -c BUILD_DIR/WebKitLegacy.build/Debug/WebKitLegacy.build/Script-1C6CB0510AA63EB000D23BFD.sh
clang: warning: no such sysroot directory: 'macosx.internal' [-Wmissing-sysroot]
In file included from <built-in>:1:
In file included from BUILD_DIR/Debug/usr/local/include/wtf/Platform.h:44:
BUILD_DIR/Debug/usr/local/include/wtf/PlatformOS.h:36:10: fatal error: 'Availability.h' file not found
#include <Availability.h>
^~~~~~~~~~~~~~~~
1 error generated.
sed -E -e 's/<WebCore\//<WebKitLegacy\//' -e "s/(^ *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/WebKitAvailability.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/WebKitAvailability.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
sed -E -e 's/<WebCore\//<WebKitLegacy\//' -e "s/(^ *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/WebScriptObject.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/WebScriptObject.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
sed -E -e 's/<WebCore\//<WebKitLegacy\//' -e "s/(^ *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/npapi.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/npapi.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
sed -E -e 's/<WebCore\//<WebKitLegacy\//' -e "s/(^ *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/npfunctions.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/npfunctions.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
sed -E -e 's/<WebCore\//<WebKitLegacy\//' -e "s/(^ *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/npruntime.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/npruntime.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
sed -E -e 's/<WebCore\//<WebKitLegacy\//' -e "s/(^ *)WEBCORE_EXPORT /\1/" BUILD_DIR/Debug/DerivedSources/WebKitLegacy/WebCorePrivateHeaders/nptypes.h > BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders/nptypes.h; touch BUILD_DIR/Debug/WebKitLegacy.framework/Versions/A/PrivateHeaders
clang: warning: no such sysroot directory: 'macosx.internal' [-Wmissing-sysroot]
In file included from <built-in>:1:
In file included from BUILD_DIR/Debug/usr/local/include/wtf/Platform.h:44:
BUILD_DIR/Debug/usr/local/include/wtf/PlatformOS.h:36:10: fatal error: 'Availability.h' file not found
#include <Availability.h>
^~~~~~~~~~~~~~~~
1 error generated.
make[4]: Nothing to be done for `reexport_headers'.
Command /bin/sh emitted errors but did not return a nonzero exit code to indicate failure
* migrate-headers.sh: Pass SDKROOT environment variable on the
command-line `make` invocations after r262245 added code to
MigrateHeaders.make to set -isysroot based on the SDKROOT value.
2020-05-27 Darin Adler <darin@apple.com>
[Cocoa] Pass all defines from Platform.h to various scripts, not just the ones from .xcconfig
https://bugs.webkit.org/show_bug.cgi?id=212451
Reviewed by Sam Weinig.
* MigrateHeaders.make: Run the preprocessor on Platform.h and parse the output into
FEATURE_AND_PLATFORM_DEFINES. Use that and FEATURE_AND_PLATFORM_DEFINE_DEPENDENCIES
whenever we need a list of defines. Also took out some Windows-specific stuff since
this is now only used on Mac platforms.
2020-05-27 Devin Rousso <drousso@apple.com>
Web Inspector: replace `featureGuard` and `availability` with a combined `condition` that accepts any macro
https://bugs.webkit.org/show_bug.cgi?id=210014
Reviewed by Brian Burg.
Previously, the generated InspectorBackendCommands.js would include code for things that the
backend doesn't actually support. By using actual macros and preprocessing that file, we can
ensure that the frontend doesn't incorrectly think that something is supported by the page
being inspected:
- the `Canvas` commands and events related to shader programs/pipelines should only exist
when the corresponding context type exists, namely `ENABLE(WEBGL)` and `ENABLE(WEBGPU)`.
- iOS doesn't support showing rulers, so create a variant of `DOM.setInspectModeEnabled`
that only exists for `PLATFORM(IOS_FAMILY)` that doesn't have the `showRulers` optional
parameter, as well as removing `Page.setShowRulers` entirely.
- setting the forced appearance should only be possible if dark mode is supported.
- web archives only exist if CF is used.
* Configurations/FeatureDefines.xcconfig:
Add `ENABLE_WEB_ARCHIVE` since it's always enabled in wtf/PlatformEnableCocoa.h.
2020-05-27 David Kilzer <ddkilzer@apple.com>
Use OptionSet<DragDestinationAction> for mask values
<https://webkit.org/b/212115>
<rdar://problem/63423380>
Reviewed by Alex Christensen.
* WebCoreSupport/WebDragClient.mm:
(WebDragClient::willPerformDragDestinationAction):
* WebView/WebView.mm:
(-[WebView dragDataForSession:client:global:operation:]):
(-[WebView actionMaskForDraggingInfo:]):
2020-05-26 Keith Rollin <krollin@apple.com>
Enable the use of XCBuild by default in Apple builds
https://bugs.webkit.org/show_bug.cgi?id=209890
<rdar://problem/44182078>
Reviewed by Darin Adler.
Switch from the "legacy" Xcode build system to the "new" build system
(also known as "XCBuild"). Switching to the new system speeds up
builds by a small percentage, better validates projects for
build-related issues (such as dependency cycles), lets WebKit benefit
from future improvements in XCBuild such as those coming from the
underlying llbuild open source project, and prepares us for any other
tools built for this new ecosystem.
Specific changes:
- Remove Xcode project and workspace settings that selected the Build
system, allowing the default to take hold (which is currently the
New build system).
- Updated webkitdirs.pm with a terser check for Xcode version.
- Update build-webkit and Makefile.shared to be explicit when using
the old build system (no longer treat it as a default or fall-back
configuration).
- Update various xcconfig files similarly to treat the default as
using the new build system.
- Update various post-processing build steps to check for Xcode 11.4
and to no longer treat the default as using the old build system.
* Configurations/WebKitLegacy.xcconfig:
2020-05-21 Pinki Gyanchandani <pgyanchandani@apple.com>
Null Ptr Deref @ WebCore::ResourceResponse::platformLazyInit
https://bugs.webkit.org/show_bug.cgi?id=212224
Reviewed by Geoffrey Garen.
Its possible that client can cancel the load implicitly or explicitly after its informed that load is committed, but code continues to assume that
loading is still in progress. This was cause of crash.
Added nullptr check before dereferencing the documentLoader, after client calls the commit load.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation receivedData:withDataSource:]):
2020-05-20 Darin Adler <darin@apple.com>
Dictation context should be an object identifier, not a type-punned pointer
https://bugs.webkit.org/show_bug.cgi?id=212174
Reviewed by Anders Carlsson.
* WebCoreSupport/WebAlternativeTextClient.h: Use DictationContext instead of uint64_t.
* WebCoreSupport/WebAlternativeTextClient.mm:
(WebAlternativeTextClient::removeDictationAlternatives): Ditto.
(WebAlternativeTextClient::showDictationAlternativeUI): Ditto.
(WebAlternativeTextClient::dictationAlternatives): Ditto.
* WebView/WebHTMLView.mm: Added include of DictationAlternative.h, now needed because
it's forward declared in Editor.h.
* WebView/WebView.mm: Ditto.
(-[WebView _getWebCoreDictationAlternatives:fromTextAlternatives:]): Updated for change
to DictationAlternative.
(-[WebView _showDictationAlternativeUI:forDictationContext:]): Use DictationContext
instead of uint64_t.
(-[WebView _removeDictationAlternatives:]): Ditto.
(-[WebView _dictationAlternatives:]): Ditto.
* WebView/WebViewInternal.h: Updated for the above.
2020-05-20 Alex Christensen <achristensen@webkit.org>
Remove implicit URL->String conversion operators
https://bugs.webkit.org/show_bug.cgi?id=211033
Reviewed by Darin Adler.
* DOM/DOMHTMLBaseElement.mm:
(-[DOMHTMLBaseElement href]):
2020-05-20 Simon Fraser <simon.fraser@apple.com>
Plumb the display's nominal refresh rate down to ScrollingTree for use in scroll synchronization
https://bugs.webkit.org/show_bug.cgi?id=212159
Reviewed by Tim Horton.
Plumb an Optional<unsigned> down windowScreenDidChange, which contains the nominal
display refresh rate (as frames per second) if available. On macOS, we get this
from CVDisplayLinkGetNominalOutputVideoRefreshPeriod().
To read it, WebProcessPool::nominalFramesPerSecondForDisplay() makes a DisplayLink
that doesn't get any observers, but that DisplayLink will very likely get used
as soon as we schedule a rendering update.
* WebView/WebView.mm:
(-[WebView doWindowDidChangeScreen]):
2020-05-18 David Kilzer <ddkilzer@apple.com>
Replace TextIndicatorOptions with OptionSet<TextIndicatorOption>
<https://webkit.org/b/212051>
<rdar://problem/63368556>
Reviewed by Simon Fraser.
Use OptionSet<TextIndicatorOption> everywhere
TextIndicatorOptions was previously used, plus:
- Make TextIndicatorOption an enum class. Remove
"TextIndicatorOption" prefix so TextIndicatorOptionBar becomes
TextIndicatorOption::Bar.
- Remove TextIndicatorOptionDefault because OptionSet<>
initializes to zero.
- Replace static variables (including two globals in WebCore)
with constexpr variables.
* DOM/DOM.mm:
(-[DOMNode getPreviewSnapshotImage:andRects:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
* WebView/WebImmediateActionController.h:
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _defaultAnimationController]):
(-[WebImmediateActionController _animationControllerForDataDetectedText]):
(-[WebImmediateActionController _animationControllerForDataDetectedLink]):
(+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
(-[WebImmediateActionController _animationControllerForText]):
* WebView/WebView.mm:
(-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
(-[WebView _didConcludeEditDrag]):
2020-05-18 Peng Liu <peng.liu6@apple.com>
ASSERTION FAILED: media/modern-media-controls/media-controller/media-controller-resize.html crashes under stress tests
https://bugs.webkit.org/show_bug.cgi?id=212052
Reviewed by Jer Noble.
Not able to reproduce the crash locally. But it does happen under stress tests
on bots.
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController windowDidExitFullScreen:]):
Only call HTMLMediaElement::exitFullscreen() when the element is in fullscreen.
2020-05-18 Andy Estes <aestes@apple.com>
http/tests/ssl/applepay/ApplePayInstallmentConfiguration.https.html fails in public SDK builds
https://bugs.webkit.org/show_bug.cgi?id=212000
<rdar://problem/63323082>
Reviewed by Youenn Fablet.
* Configurations/FeatureDefines.xcconfig:
2020-05-15 Alex Christensen <achristensen@webkit.org>
Use enum serialization instead of casting to/from uint32_t
https://bugs.webkit.org/show_bug.cgi?id=211885
Reviewed by Geoffrey Garen.
* DOM/DOMUIKitExtensions.mm:
(-[DOMRange move:inDirection:]):
(-[DOMRange extend:inDirection:]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::webGLPolicyForURL const):
(WebFrameLoaderClient::resolveWebGLPolicyForURL const):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _canSmartCopyOrDelete]):
* WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController doCompletion]):
2020-05-14 Chris Dumez <cdumez@apple.com>
Regression(r254856) Family Health iOS app is broken due to lack for WebSQL support
https://bugs.webkit.org/show_bug.cgi?id=211896
<rdar://problem/63025045>
Reviewed by Maciej Stachowiak.
Re-enable WebSQL support for Family Health iOS app with a linked-on-after check.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2020-05-12 Chris Dumez <cdumez@apple.com>
[WK2] Neuter WKFrameIsFrameSet() / WKPageGetFrameSetLargestFrame() C API
https://bugs.webkit.org/show_bug.cgi?id=211808
Reviewed by Darin Adler.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidBecomeFrameset): Deleted.
2020-05-11 Peng Liu <peng.liu6@apple.com>
Enable the mock video presentation mode in related layout tests and fix test failures
https://bugs.webkit.org/show_bug.cgi?id=211645
Reviewed by Darin Adler.
Call HTMLVideoElement::didBecomeFullscreenElement() after a video element enters
fullscreen (to be consistent with WK2).
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController windowDidEnterFullScreen:]):
* WebView/WebView.mm:
(-[WebView _enterVideoFullscreenForVideoElement:mode:]):
2020-05-07 Darin Adler <darin@apple.com>
Remove USE(INSERTION_UNDO_GROUPING) checks in macOS platform code
https://bugs.webkit.org/show_bug.cgi?id=211525
Reviewed by Anders Carlsson.
* WebView/WebHTMLView.mm: Use NSTextInputContextSPI.h.
(-[WebHTMLView validAttributesForMarkedText]): Removed USE(INSERTION_UNDO_GROUPING).
(-[WebHTMLView insertText:]): Ditto.
2020-05-06 Darin Adler <darin@apple.com>
Eliminate checks of USE(DICTATION_ALTERNATIVES) in Cocoa-specific code
https://bugs.webkit.org/show_bug.cgi?id=211460
Reviewed by Anders Carlsson.
* WebCoreSupport/WebAlternativeTextClient.h: Removed USE(DICTATION_ALTERNATIVES).
* WebCoreSupport/WebAlternativeTextClient.mm:
(WebAlternativeTextClient::dictationAlternatives): Ditto.
* WebView/WebHTMLView.mm: Ditto.
* WebView/WebView.mm: Ditto. Also use modern for loop.
* WebView/WebViewData.h: Ditto.
* WebView/WebViewData.mm: Ditto.
* WebView/WebViewInternal.h: Ditto.
2020-05-05 David Kilzer <ddkilzer@apple.com>
Fix deprecated NSGraphicsContext methods using 'graphicsPort'
<https://webkit.org/b/211481>
Reviewed by Darin Adler.
- Replace uses of -graphicsPort with -CGContext.
- Replace uses of -graphicsContextWithGraphicsPort:flipped: with
-graphicsContextWithCGContext:flipped:.
- Remove ALLOW_DEPRECATED_DECLARATIONS_{BEGIN,END} if possible.
* Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:]):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView drawRect:]):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView saveAndSetNewPortStateForUpdate:]):
(-[WebNetscapePluginView sendDrawRectEvent:]):
* WebInspector/WebNodeHighlightView.mm:
(-[WebNodeHighlightView drawRect:]):
* WebView/WebFrame.mm:
(-[WebFrame _drawRect:contentsOnly:]):
* WebView/WebPDFView.mm:
(-[WebPDFView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:]):
(-[WebPDFView _recursiveDisplayAllDirtyWithLockFocus:visRect:]):
(-[WebPDFView _recursive:displayRectIgnoringOpacity:inContext:topView:]):
2020-05-05 Peng Liu <peng.liu6@apple.com>
Update WebKitTestRunner to support running multiple video fullscreen and Picture-in-Picture tests simultaneously
https://bugs.webkit.org/show_bug.cgi?id=203723
Reviewed by Jer Noble.
When the flag MockVideoPresentationModeEnabled is true, WebView will ignore the requests to
WebVideoFullscreenController, so that the DumpRenderTree can run multiple video fullscreen
and picture-in-picture tests in parallel.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::setMockVideoPresentationModeEnabled):
* WebView/WebView.mm:
* WebView/WebViewData.h:
* WebView/WebViewInternal.h:
2020-05-05 Darin Adler <darin@apple.com>
Remove now-uneeded HAVE macros related to PDF
https://bugs.webkit.org/show_bug.cgi?id=211435
Reviewed by Anders Carlsson.
* WebView/WebFrameView.mm:
(+[WebFrameView _viewTypesAllowImageTypeOmission:]): Removed HAVE(LEGACY_PDF_SUPPORT).
* WebView/WebView.mm:
(+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]): Ditto.
2020-05-04 Darin Adler <darin@apple.com>
[Mac] Remove __MAC_OS_X_VERSION_MIN_REQUIRED checks for versions older than 10.14
https://bugs.webkit.org/show_bug.cgi?id=211420
Reviewed by Alex Christensen.
* WebView/WebHTMLView.mm: Remove __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400.
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:]): Ditto.
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:]): Deleted.
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:shouldChangeFontReferenceColor:]): Deleted.
* WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController _buildUI]): Remove some code only compiled with
__MAC_OS_X_VERSION_MIN_REQUIRED < 101400.
2020-05-04 Darin Adler <darin@apple.com>
Make __IPHONE_OS_VERSION_MIN_REQUIRED checks against old versions explicit about watchOS and tvOS
https://bugs.webkit.org/show_bug.cgi?id=211402
Reviewed by Alexey Proskuryakov.
* WebCoreSupport/WebEditorClient.mm:
(attributesForAttributedStringConversion): Move from __IPHONE_OS_VERSION_MIN_REQUIRED
to PLATFORM(WATCHOS) || PLATFORM(APPLETV).
* WebView/WebUIDelegatePrivate.h: Move from __IPHONE_OS_VERSION_MIN_REQUIRED to
TARGET_OS_IOS for a method that is based on dragging concepts not present in
watchOS and tvOS.
* WebView/WebView.mm: Move from __IPHONE_OS_VERSION_MIN_REQUIRED
to PLATFORM(IOS).
* WebView/WebViewPrivate.h: Move from __IPHONE_OS_VERSION_MIN_REQUIRED to
TARGET_OS_IOS.
2020-05-04 Emilio Cobos Álvarez <emilio@crisal.io>
Put lh / rlh units behind a flag until bug 211351 is sorted out.
https://bugs.webkit.org/show_bug.cgi?id=211356
Reviewed by Antti Koivisto.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences lineHeightUnitsEnabled]):
(-[WebPreferences setLineHeightUnitsEnabled:]):
* WebView/WebView.mm:
2020-04-30 Ross Kirsling <ross.kirsling@sony.com>
TriState should be an enum class and use "Indeterminate" instead of "Mixed"
https://bugs.webkit.org/show_bug.cgi?id=211268
Reviewed by Mark Lam.
* WebView/WebHTMLView.mm:
(kit):
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
2020-04-30 Antoine Quint <graouts@apple.com>
Remove -[WebView setCSSAnimationsSuspended:]
https://bugs.webkit.org/show_bug.cgi?id=211227
<rdar://problem/62439454>
Reviewed by Antti Koivisto.
This SPI has no user and it has no equivalent for the new animation engine.
* WebView/WebView.mm:
* WebView/WebViewPrivate.h:
2020-04-28 Daniel Bates <dabates@apple.com>
[WebKitLegacy] Implement -hidePlaceholder and -showPlaceholderIfNecessary in terms of setCanShowPlaceholder()
https://bugs.webkit.org/show_bug.cgi?id=211139
Reviewed by Simon Fraser.
Implement -hidePlaceholder and -showPlaceholderIfNecessary in terms of setCanShowPlaceholder()
because:
1. Unlike -hidePlaceholder and -showPlaceholderIfNecessary, setCanShowPlaceholder() does NOT of
reach into the guts of the control and mutate its CSS.
2. Because of (1), it works correctly should future code be written that modifies the structure
of the guts or the CSS of the placeholder element (which is inside the guts of the control).
3. Unlike -hidePlaceholder and -showPlaceholderIfNecessary, there is test coverage for setCanShowPlaceholder()
to ensure (2).
* DOM/WebDOMOperations.mm:
(-[DOMNode hidePlaceholder]):
(-[DOMNode showPlaceholderIfNecessary]):
2020-04-27 Antoine Quint <graouts@apple.com>
Clean up some useless includes of CSSAnimationController.h
https://bugs.webkit.org/show_bug.cgi?id=211066
Reviewed by Antti Koivisto.
This file doesn't actually use any of the CSSAnimationController APIs.
* WebView/WebFrame.mm:
2020-04-27 Antoine Quint <graouts@apple.com>
Remove allowsNewCSSAnimationsWhileSuspended and setAllowsNewCSSAnimationsWhileSuspended WebView SPIs
https://bugs.webkit.org/show_bug.cgi?id=211067
Reviewed by Tim Horton.
There are no known clients for these SPIs.
* WebView/WebView.mm:
* WebView/WebViewPrivate.h:
2020-04-27 Antoine Quint <graouts@apple.com>
Rename CSSAnimationController accessors from animation() to legacyAnimation()
https://bugs.webkit.org/show_bug.cgi?id=211082
Reviewed by Simon Fraser.
* WebView/WebView.mm:
2020-04-26 Darin Adler <darin@apple.com>
Replace more uses of live ranges with SimpleRange
https://bugs.webkit.org/show_bug.cgi?id=211058
Reviewed by Antti Koivisto.
* DOM/DOM.mm:
(-[DOMNode getPreviewSnapshotImage:andRects:]): Use SimpleRange.
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::imageForCurrentSharingServicePickerItem): Ditto.
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _animationControllerForDataDetectedText]):
Updated to use DetectedItem and SimpleRange.
(+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
Ditto.
2020-04-27 Rob Buis <rbuis@igalia.com>
Make loadURLIntoChildFrame private and non-exported
https://bugs.webkit.org/show_bug.cgi?id=211051
Reviewed by Darin Adler.
Adapt createFrame to strictly create a subframe and
not load anything.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createFrame):
2020-04-27 Ross Kirsling <ross.kirsling@sony.com>
[JSC] CallData/ConstructData should include CallType/ConstructType
https://bugs.webkit.org/show_bug.cgi?id=211059
Reviewed by Darin Adler.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
2020-04-26 Darin Adler <darin@apple.com>
[Cocoa] stop using out arguments for document attributes when converting to attributed strings
https://bugs.webkit.org/show_bug.cgi?id=211048
Reviewed by Sam Weinig.
* WebCoreSupport/WebSelectionServiceController.mm:
(WebSelectionServiceController::handleSelectionServiceClick): Updated since
attributedString returns a struct.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]): Ditto.
Also use init instead of initWithString:@"".
* WebView/WebHTMLView.mm:
(-[WebHTMLView textStorage]): DItto.
(-[WebHTMLView attributedSubstringFromRange:]): Ditto.
(-[WebHTMLView _attributedStringFromDOMRange:]): Ditto.
(-[WebHTMLView _legacyAttributedStringFrom:offset:to:offset:]): Ditto.
(-[WebHTMLView attributedString]): Ditto.
(-[WebHTMLView selectedAttributedString]): Ditto.
* WebView/WebImmediateActionController.mm:
(+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
Updated.
2020-04-11 Darin Adler <darin@apple.com>
Stop using live ranges in functions that return range of the selection
https://bugs.webkit.org/show_bug.cgi?id=210396
Reviewed by Sam Weinig.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::handleRequestedCandidates): Remove use of live range.
* WebCoreSupport/WebSelectionServiceController.mm:
(WebSelectionServiceController::handleSelectionServiceClick): Ditto.
* WebView/WebFrame.mm:
(-[WebFrame _rangeByAlteringCurrentSelection:direction:granularity:]):
Use createLiveRange.
(-[WebFrame _convertToNSRange:]): Changed to take SimpleRange.
(-[WebFrame _convertDOMRangeToNSRange:]): Updated for the above.
(-[WebFrame _markDOMRange]): Use createLiveRange.
(-[WebFrame _selectionRangeForFirstPoint:secondPoint:]): Ditto.
(-[WebFrame _selectionRangeForPoint:]): Ditto.
(-[WebFrame _selectedNSRange]): Remove use of live range.
(-[WebFrame selectedDOMRange]): Use crateLiveRange.
(-[WebFrame elementRangeContainingCaretSelection]): Ditto.
(-[WebFrame expandSelectionToWordContainingCaretSelection]): Tweaked
coding style a little.
(-[WebFrame expandSelectionToStartOfWordContainingCaretSelection]): Ditto.
(-[WebFrame wordRangeContainingCaretSelection]): Use createLiveRange.
(-[WebFrame rangeByMovingCurrentSelection:]): Ditto.
(-[WebFrame rangeByExtendingCurrentSelection:]): Ditto.
(-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:matchStyle:]):
Use createLiveRange.
(-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]): Ditto.
(-[WebFrame _documentFragmentForText:]): Ditto.
* WebView/WebFrameInternal.h: Updated for changes above.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation attributedStringFrom:startOffset:to:endOffset:]):
Remove use of live range.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _selectedRange]): Use createLiveRange.
(-[WebHTMLView _lookUpInDictionaryFromMenu:]): Remove use of live range.
(-[WebHTMLView markedRange]): Updated for change to _convertToNSRange.
(-[WebHTMLView attributedSubstringFromRange:]): Ditto.
(-[WebHTMLView _attributedStringFromDOMRange:]): Updated for changes to
HTMLConverter.
(-[WebHTMLView _legacyAttributedStringFrom:offset:to:offset:]): Remove
use of live range.
(-[WebHTMLView attributedString]): Ditto.
(-[WebHTMLView selectedAttributedString]): Ditto.
* WebView/WebImmediateActionController.h: Updated method to take a
SimpleRange instead of a live range.
* WebView/WebImmediateActionController.mm:
(+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
Remove use of live range.
* WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController doCompletion]): Use createLiveRange.
* WebView/WebView.mm:
(-[WebView _didConcludeEditDrag]): Ditto.
2020-04-25 Alex Christensen <achristensen@webkit.org>
Prepare to remove automatic URL->String conversion operators
https://bugs.webkit.org/show_bug.cgi?id=211007
Reviewed by Darin Adler.
* DOM/DOMDocument.mm:
(-[DOMDocument URL]):
* DOM/DOMHTMLAnchorElement.mm:
(-[DOMHTMLAnchorElement href]):
* DOM/DOMHTMLAreaElement.mm:
(-[DOMHTMLAreaElement href]):
* DOM/DOMHTMLEmbedElement.mm:
(-[DOMHTMLEmbedElement src]):
* DOM/DOMHTMLFormElement.mm:
(-[DOMHTMLFormElement action]):
* DOM/DOMHTMLFrameElement.mm:
(-[DOMHTMLFrameElement src]):
(-[DOMHTMLFrameElement location]):
* DOM/DOMHTMLHtmlElement.mm:
(-[DOMHTMLHtmlElement manifest]):
* DOM/DOMHTMLIFrameElement.mm:
(-[DOMHTMLIFrameElement src]):
* DOM/DOMHTMLImageElement.mm:
(-[DOMHTMLImageElement longDesc]):
(-[DOMHTMLImageElement src]):
(-[DOMHTMLImageElement currentSrc]):
(-[DOMHTMLImageElement lowsrc]):
* DOM/DOMHTMLInputElement.mm:
(-[DOMHTMLInputElement src]):
* DOM/DOMHTMLLinkElement.mm:
(-[DOMHTMLLinkElement href]):
* DOM/DOMHTMLMediaElement.mm:
(-[DOMHTMLMediaElement src]):
(-[DOMHTMLMediaElement currentSrc]):
* DOM/DOMHTMLModElement.mm:
(-[DOMHTMLModElement cite]):
* DOM/DOMHTMLObjectElement.mm:
(-[DOMHTMLObjectElement data]):
* DOM/DOMHTMLQuoteElement.mm:
(-[DOMHTMLQuoteElement cite]):
* DOM/DOMHTMLScriptElement.mm:
(-[DOMHTMLScriptElement src]):
* DOM/DOMHTMLVideoElement.mm:
(-[DOMHTMLVideoElement poster]):
* DOM/DOMNode.mm:
(-[DOMNode baseURI]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory):
(WebFrameLoaderClient::setTitle):
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _animationControllerForDataDetectedLink]):
* WebView/WebNotification.mm:
(-[WebNotification iconURL]):
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::sourceParsed):
(toNSURL): Deleted.
2020-04-25 Darin Adler <darin@apple.com>
Move URL to use StringView when returning substrings of the URL
https://bugs.webkit.org/show_bug.cgi?id=210431
Reviewed by Anders Carlsson.
* WebCoreSupport/WebFrameLoaderClient.mm:
(shouldTryAppLink): Compare hosts with == rather than using hostsAreEqual.
* WebView/WebFrame.mm:
(-[WebFrame _documentFragmentForImageData:withRelativeURLPart:andMIMEType:]):
Updated since fakeURLWithRelativePart takes a StringView. Also use RetainPtr
instead of an explicit call to release.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _web_documentFragmentFromPasteboard:pasteboardType:imageMIMEType:]):
Updated since fakeURLWithRelativePart takes a StringView. No conversion
directly from NSString to StringView, so we have to explicitly use a String.
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _defaultAnimationController]): Update
since protocolIs takes a StringView. No conversion directly from
NSString to StringView, so we have to explicitly use a String.
2020-04-24 Megan Gardner <megan_gardner@apple.com>
Make LEGACY_PDF_SUPPORT feature flag.
https://bugs.webkit.org/show_bug.cgi?id=210868
<rdar://problem/62199847>
Reviewed by Tim Horton.
* WebView/WebFrameView.mm:
(+[WebFrameView _viewTypesAllowImageTypeOmission:]):
* WebView/WebView.mm:
2020-04-24 Antoine Quint <graouts@apple.com>
Update the css/css-animations WPT tests
https://bugs.webkit.org/show_bug.cgi?id=210964
Reviewed by Dean Jackson.
Expose the CSSCustomPropertiesAndValues experimental feature such that it may be set in DumpRenderTree.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences CSSCustomPropertiesAndValuesEnabled]):
(-[WebPreferences setCSSCustomPropertiesAndValuesEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
2020-04-23 Alex Christensen <achristensen@webkit.org>
Jesus Calling app needs more WebSQL
https://bugs.webkit.org/show_bug.cgi?id=210889
<rdar://problem/61795507>
Reviewed by Chris Dumez.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2020-04-22 Darin Adler <darin@apple.com>
[Cocoa] Build with UChar as char16_t even in builds that use Apple's internal SDK
https://bugs.webkit.org/show_bug.cgi?id=210845
Reviewed by Anders Carlsson.
* Configurations/WebKitLegacy.xcconfig: Move ICU-configuring macros to Platform.h.
2020-04-22 Darin Adler <darin@apple.com>
[Cocoa] REGRESSION (r260485): Crash in Legacy WebKit createMenu item function (reproducible under Asan)
https://bugs.webkit.org/show_bug.cgi?id=210888
Reviewed by Alex Christensen.
* WebView/WebHTMLView.mm:
(createMenuItem): Speculative fix: Go back to using a local variable. Apparently
the Objective-C for loop doesn't extend the lifetime of its argument the way the
C++ range-based for loop does, so the local variable is needed.
2020-04-21 Peng Liu <peng.liu6@apple.com>
Fix MACCATALYST build failures
https://bugs.webkit.org/show_bug.cgi?id=210815
Reviewed by Tim Horton.
* Configurations/FeatureDefines.xcconfig:
2020-04-19 Darin Adler <darin@apple.com>
[Cocoa] Use createNSArray in many more places that build NSArray objects from C++ collections
https://bugs.webkit.org/show_bug.cgi?id=210702
Reviewed by Alex Christensen.
* DOM/DOM.mm:
(kit): Use createNSArray.
(-[DOMNode getPreviewSnapshotImage:andRects:]): Ditto. Also use makeNSArrayElement
to convert FloatRect to an NSValue containing a CGRect, avoiding use of
+[NSValue value:withObjCType:], while working on macOS where +[NSValue valueWithCGRect:]
is not part of API.
* History/WebBackForwardList.mm:
(-[WebBackForwardList dictionaryRepresentation]): Use createNSArray, fewer local
variables, and use constexpr instead of #define.
(-[WebBackForwardList setToMatchDictionaryRepresentation:]): Use adoptNS instead
of explicit release and reference instead of pointer.
(vectorToNSArray): Deleted.
(-[WebBackForwardList backListWithLimit:]): Use createNSArray. Also use RetainPtr for
the "hack" here rather than explicit retain/release calls.
(-[WebBackForwardList forwardListWithLimit:]): Ditto.
* History/WebHistoryItem.mm:
(kit): Added a retain/autorelease pair that is important to have predictable lifetime.
(-[WebHistoryItem initWithURLString:title:displayTitle:lastVisitedTimeInterval:]):
Added a missing null check.
(-[WebHistoryItem initWithWebCoreHistoryItem:]): Added a FIXME about something I
noticed that is not related to the rest of this patch.
(-[WebHistoryItem children]): Use createNSArray.
(-[WebHistoryItem _redirectURLs]): Ditto.
* Misc/WebCoreStatistics.mm:
(createNSCountedSet): Added. More efficient than the old code because it doesn't
create many NSString objects for each key, but also shared between functions.
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]): Use createNSCountedSet.
(+[WebCoreStatistics javaScriptObjectTypeCounts]): Ditto.
* Misc/WebNSPasteboardExtras.mm:
(-[NSPasteboard _web_declareAndWriteDragImageForElement:URL:title:archive:source:]):
Use @[] instead of NSMutableArray
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager origins]): Use createNSArray.
* Storage/WebStorageManager.mm:
(-[WebStorageManager origins]): Ditto.
* WebCoreSupport/WebApplicationCache.mm:
(+[WebApplicationCache originsWithCache]): Ditto.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::updateSpellingUIWithGrammarString): Ditto.
* WebCoreSupport/WebNotificationClient.mm:
(WebNotificationClient::clearNotifications): Ditto.
* WebView/WebArchive.mm:
(-[WebArchive subresources]): Ditto.
(-[WebArchive subframeArchives]): Ditto.
* WebView/WebDataSource.mm:
(-[WebDataSource subresources]): Ditto.
* WebView/WebFrame.mm:
(-[WebFrame _nodesFromList:]): Deleted. This was not declared in any header and
was also unused.
* WebView/WebFrameView.mm:
(-[WebFrameView initWithFrame:]): Added a FIXME about something I noticed that is
not related to the rest of this patch.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation controlsInForm:]): Use createNSArray.
* WebView/WebHTMLView.mm:
(createMenuItems): Use createNSArray. Also moved up in the file.
(createMenuItem): Removed unneeded local variable.
* WebView/WebView.mm:
(-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
Use createNSArray.
2020-04-20 Peng Liu <peng.liu6@apple.com>
Fix build failures when video fullscreen and picture-in-picture is disabled
https://bugs.webkit.org/show_bug.cgi?id=210777
Reviewed by Eric Carlson.
* Configurations/FeatureDefines.xcconfig:
2020-04-20 Darin Adler <darin@apple.com>
Use #import instead of #include in Objective-C and don't use #pragma once
https://bugs.webkit.org/show_bug.cgi?id=210724
Reviewed by David Kilzer.
* Configurations/WebKitLegacy.xcconfig: Removed MemoryMeasure.h from
EXCLUDED_SOURCE_FILE_NAMES.
* Misc/WebCache.mm:
(+[WebCache emptyInMemoryResources]): Removed invocation of MemoryMeasure.
This is no longer used for anything.
* History/BackForwardList.mm:
* Plugins/Hosted/ProxyRuntimeObject.mm:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
* WebCoreSupport/SearchPopupMenuMac.mm:
* WebCoreSupport/WebAlternativeTextClient.mm:
* WebCoreSupport/WebSecurityOriginInternal.h:
* WebInspector/WebInspector.mm:
* WebView/WebFramePrivate.h:
* WebView/WebScriptWorld.h:
* WebView/WebView.mm:
More #import, less #pragma once.
2020-04-18 Rob Buis <rbuis@igalia.com>
Reduce parameter list of the FrameLoadRequest constructor
https://bugs.webkit.org/show_bug.cgi?id=210668
Reviewed by Darin Adler.
Adapt to API change.
* Plugins/WebPluginController.mm:
(-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
* WebView/WebFrame.mm:
(-[WebFrame loadRequest:]):
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
2020-04-18 David Kilzer <ddkilzer@apple.com>
-[WebPreferences initWithCoder:] should use -[NSCoder decodeValueOfObjCType:at:size:]
<https://webkit.org/b/210621>
<rdar://problem/61906458>
Reviewed by Anders Carlsson.
* WebView/WebPreferences.mm:
(-[WebPreferences initWithCoder:]):
- Switch to -[NSCoder decodeValueOfObjCType:at:size:].
2020-04-17 David Kilzer <ddkilzer@apple.com>
[iOS WK1] -[_WebSafeForwarder asyncForwarder] uses non-static dispatch_once_t predicate
<https://webkit.org/b/210625>
Reviewed by Daniel Bates.
Remove use of dispatch_once to initialize
_WebSafeForwarder._asyncForwarder, and modernize both
_WebSafeForwarder and _WebSafeAsyncForwarder classes.
* WebView/WebView.mm:
(@interface _WebSafeAsyncForwarder):
- Make `_forwarder` weak. It can't be strong or a retain cycle
would be created between this object and _WebSafeForwarder.
- Change return type from `id` to `instancetype` for
-[_WebSafeAsyncForwarder initWithForwarder:].
(@interface _WebSafeForwarder):
- Make `_target` weak and rename from `target`.
- Make `_defaultTarget` weak and rename from `defaultTarget`.
- Rename `_asyncForwarder` from `asyncForwarder`.
- Delete unused `asyncForwarderPred`.
- Replace -asyncForwarder method declaration with a @property
definition.
(-[_WebSafeForwarder initWithTarget:defaultTarget:]):
- Update for instance variable renames.
- Iniitalize `_asyncForwarder` here. There are (at most) eight
_WebSafeForwarder objects created per WebView, so creating
this object in the constructor seems reasonable.
(-[_WebSafeForwarder asyncForwarder:]):
- Delete this method (and use of dispatch_once, fixing the bug).
Replace with @synthesize statement.
(-[_WebSafeForwarder dealloc:]):
- Update for instance variable renames, and assign nil to all
instance variables.
(-[_WebSafeForwarder forwardInvocation:]):
(-[_WebSafeForwarder respondsToSelector:]):
(-[_WebSafeForwarder methodSignatureForSelector:]):
- Update for instance variable renames.
(-[_WebSafeForwarder initWithForwarder:]):
- Change return type from `id` to `instancetype`.
2020-04-17 Rob Buis <rbuis@igalia.com>
Move allowPlugins to FrameLoader
https://bugs.webkit.org/show_bug.cgi?id=205876
Reviewed by Darin Adler.
Adapt to API change.
* WebCoreSupport/WebPluginInfoProvider.mm:
(WebPluginInfoProvider::pluginInfo):
* WebView/WebFrame.mm:
(-[WebFrame _canProvideDocumentSource]):
2020-04-13 Tim Horton <timothy_horton@apple.com>
REGRESSION (r259843): "Missing Plug-In" when dragging an image into Mail Compose
https://bugs.webkit.org/show_bug.cgi?id=210458
<rdar://problem/61735361>
Reviewed by Wenson Hsieh.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin):
r259843 changed this code from making a dictionary with a set of key->object mappings
to making a dictionary with an array of keys as its only key and an array of objects
as that key's value. Not quite the same thing.
Go back to dictionaryWithObjects:forKeys:.
2020-04-13 David Kilzer <ddkilzer@apple.com>
Fix clang static analyzer warnings about unused instance variables in WebIconDatabase, WKView
<https://webkit.org/b/210427>
Reviewed by Alex Christensen.
* Misc/WebIconDatabase.h:
(WebIconDatabase._private):
- Use WK_UNUSED_INSTANCE_VARIABLE to ignore unused instance
variable.
2020-04-11 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] [WK1] Touch Bar flashes when typing in Vietnamese in Mail
https://bugs.webkit.org/show_bug.cgi?id=210394
<rdar://problem/60099560>
Reviewed by Tim Horton.
In recent versions of macOS, changes to the animation of the candidate list touch bar item when it is expanded
or collapsed using -updateWithInsertionPointVisibility: mean that back-to-back calls to hide and show the
candidate list during the same runloop now result in a visible flicker, whereas it would remain still in prior
releases.
Combined with how `-[WebHTMLView insertText:]` in WebKitLegacy causes multiple selection change updates if the
argument is an attributed string with the text replacement attribute, this means that there is now a visible
flicker in the touch bar when using input methods that rely on the `NSTextInputReplacementRangeAttributeName`
attribute. One such input method is Simple Telex (Vietnamese), when typing causes characters in other parts of
the word to gain diacritics.
To fix this, we make two small adjustments in WebKitLegacy (see below).
* WebView/WebHTMLView.mm:
(-[WebHTMLView insertText:]):
While inserting text (which may be an NSAttibutedString or NSString), we may come across an attribute indicating
which part of the document to replace. In this case, we will select this range in the document before inserting
the given text.
This selection change is propagated to the client layer, which makes us briefly think that we have a ranged
selection, causing the flicker described above. Address this by suppressing selection change notifications while
we're selecting the range to replace, using the new `IgnoreSelectionChangeForScope` RAII object (see WebCore
changes for more detail).
* WebView/WebView.mm:
(-[WebView updateTextTouchBar]):
When updating the text touch bar (which contains the candidate list item) after a selection change, we currently
handle the case where selection changes are ignored by hiding the candidate list; this doesn't seem right, since
selection changes that are ignored should simply be ignored by the client. To fix this, push the
`ignoreSelectionChanges()` check into the if statement.
2020-04-10 Darin Adler <darin@apple.com>
Move more from live range to SimpleRange: callers of absoluteTextRects
https://bugs.webkit.org/show_bug.cgi?id=210369
Reviewed by Anders Carlsson.
* DOM/DOM.mm:
(-[DOMNode textRects]): Moved implementation here. There's no reason for Node
to have a textRects function, since it's a layout/rendering operation and a
single node is also an unusual special case, but for now we will keep this
legacy method for compatibility with old clients.
(-[DOMRange textRects]): Changed to call RenderObject::absoluteTextRects
instead of Range::absoluteTextRects.
* WebView/WebFrame.mm:
(-[WebFrame _rectsForRange:]): Changed to call -[DOMRange textRects] instead
of Range::absoluteTextRects. Don't really need two identical methods but
probably need to keep this around for compatiblitiy.
2020-04-08 Darin Adler <darin@apple.com>
[Cocoa] Simplify NSArray, NSDictionary, and NSNumber idioms throughout WebKit
https://bugs.webkit.org/show_bug.cgi?id=210138
Reviewed by Alex Christensen.
* DOM/DOM.mm:
(kit): Deleted overload that takes Vector<IntRect>.
(-[DOMNode textRects]): Use createNSArray.
(-[DOMRange textRects]): Ditto.
* DOM/ExceptionHandlers.mm:
(raiseDOMErrorException): Use @().
* History/WebBackForwardList.mm:
(-[WebBackForwardList dictionaryRepresentation]): Use @{}.
* History/WebHistory.mm:
(+[WebHistoryPrivate initialize]): Use @{}.
(-[WebHistory _sendNotification:entries:]): Use @{}.
* History/WebHistoryItem.mm:
(-[WebHistoryItem initFromDictionaryRepresentation:]): Use makeVector<String>.
(-[WebHistoryItem dictionaryRepresentation:]): Use createNSArray and @().
* History/WebURLsWithTitles.m:
(+[WebURLsWithTitles arrayWithIFURLsWithTitlesPboardType]): Use @[].
(+[WebURLsWithTitles writeURLs:andTitles:toPasteboard:]): Use @[].
* Misc/WebCache.mm:
(+[WebCache statistics]): Use @[], @{}, and @().
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics memoryStatistics]): Ditto.
* Misc/WebKitErrors.m:
(-[NSError _webkit_initWithDomain:code:URL:]): Use @().
(+[NSError _registerWebKitErrors]): Use @().
(-[NSError _initWithPluginErrorCode:contentURL:pluginPageURL:pluginName:MIMEType:]): Use @().
* Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:]): Use @{}.
(-[NSString _web_widthWithFont:]): Use @{}.
* Misc/WebNSFileManagerExtras.mm: Removed unneeded include.
* Misc/WebNSPasteboardExtras.mm:
(+[NSPasteboard _web_dragTypesForURL]): Use @[].
(-[NSPasteboard _web_writeURL:andTitle:types:]): Use @[].
(+[NSPasteboard _web_setFindPasteboardString:withOwner:]): Use @[].
* Misc/WebNSURLExtras.mm: Removed unneeded include.
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::spawnPluginHost): Use @{}.
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCIdentifierInfo): Use @().
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::addValueToArray): Use @().
* Plugins/Hosted/WebHostedNetscapePluginView.mm: Removed unneeded include.
* Plugins/WebBasePluginPackage.mm: Ditto.
* Plugins/WebPluginContainerCheck.mm:
(-[WebPluginContainerCheck _actionInformationWithURL:]): Use @{}.
* Plugins/WebPluginDatabase.mm:
(+[WebPluginDatabase _defaultPlugInPaths]): Use @[].
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager databasesWithOrigin:]): Use createNSArray.
* WebCoreSupport/CorrectionPanel.mm:
(CorrectionPanel::show): Use createNSArray.
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::addMessageToConsole): Use @().
* WebCoreSupport/WebEditorClient.mm:
(attributesForAttributedStringConversion): Use @().
(WebEditorClient::getGuessesForWord): Use makeVector<String>.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::actionDictionary const): Use @().
(kit): Deleted overload that takes Vector<String>.
(pluginView): Use @{}.
(WebFrameLoaderClient::createPlugin): Use createNSArray, @{}, and @().
(WebFrameLoaderClient::createJavaAppletWidget): Use createNSArray.
* WebCoreSupport/WebOpenPanelResultListener.mm:
(-[WebOpenPanelResultListener chooseFilenames:]): Use makeVector<String>.
(-[WebOpenPanelResultListener chooseFilename:displayString:iconImage:]): Use @[].
(-[WebOpenPanelResultListener chooseFilenames:displayString:iconImage:]): Use makeVector<String>.
* WebCoreSupport/WebSelectionServiceController.mm:
(WebSelectionServiceController::handleSelectionServiceClick):
Comment out an unused argument.
* WebView/WebFrame.mm:
(-[WebFrame _rectsForRange:]): Use createNSArrray.
(-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]): Use createNSArray and @[].
(-[WebFrame childFrames]): Use @[].
* WebView/WebHTMLView.mm:
(+[WebHTMLView _selectionPasteboardTypes]): Use @[].
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]): Use @[].
(-[WebHTMLView knowsPageRange:]): Use @[].
(-[WebHTMLView accessibilityAttributeValue:]): Use @[].
(-[WebHTMLView copyFont:]): Use @[].
(-[WebHTMLView _interpretKeyEvent:savingCommands:]): Use @[].
(-[WebHTMLView selectionTextRects]): Use createNSArray.
(-[WebHTMLView rectsForTextMatches]): Use createNSArray and @[].
* WebView/WebPDFRepresentation.mm: Removed unneeded include.
(+[WebPDFRepresentation postScriptMIMETypes]): Use @[].
(+[WebPDFRepresentation supportedMIMETypes]): Use @[].
* WebView/WebPDFView.mm:
(-[WebPDFView elementAtPoint:]): Use @{} and @().
(-[WebPDFView viewState]): Use @().
(-[WebPDFView selectionTextRects]): Use @[].
(-[WebPDFView pasteboardTypesForSelection]): Use @[].
(-[WebPDFView _menuItemsFromPDFKitForEvent:]): Use @().
(-[WebPDFView _openWithFinder:]): Use @{} and @().
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Use @().
(-[WebPreferences _setUnsignedIntValue:forKey:]): Use @().
(+[WebPreferences _setInitialDefaultTextEncodingToSystemEncoding]): Use @().
(-[WebPreferences setStorageBlockingPolicy:]): Use @{} and @().
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::sourceParsed): Use @().
* WebView/WebTextCompletionController.mm:
(-[WebTextCompletionController _placePopupWindow:]): Use @{}.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): Use makeVector<String>.
(-[WebView _contentsOfUserInterfaceItem:]): Use @().
(toStringVector): Deleted.
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
Use makeVector<String>.
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
Use makeVector<String>.
(-[WebView _elementAtWindowPoint:]): Use @{}.
(-[WebView pasteboardTypesForSelection]): Use @[].
(-[WebView pasteboardTypesForElement:]): Use @[].
(-[WebView rectsForTextMatches]): Use @[].
(-[WebView _searchWithGoogleFromMenu:]): Use @[].
(-[WebView _setFontWhitelist:]): Use makeVector<String>.
2020-04-08 Daniel Bates <dabates@apple.com>
Track editable elements on screen
https://bugs.webkit.org/show_bug.cgi?id=209888
<rdar://problem/61196886>
Reviewed by Simon Fraser.
Add feature define to track editable elements on screen (enabled by default on iOS and iOS Simulator).
* Configurations/FeatureDefines.xcconfig:
2020-04-08 Truitt Savell <tsavell@apple.com>
Unreviewed, reverting r259708.
Broke the iOS device Build
Reverted changeset:
"Enable the use of XCBuild by default in Apple builds"
https://bugs.webkit.org/show_bug.cgi?id=209890
https://trac.webkit.org/changeset/259708
2020-04-08 Keith Rollin <krollin@apple.com>
Enable the use of XCBuild by default in Apple builds
https://bugs.webkit.org/show_bug.cgi?id=209890
<rdar://problem/44182078>
Reviewed by Darin Adler.
Switch from the "legacy" Xcode build system to the "new" build system
(also known as "XCBuild"). Switching to the new system speeds up
builds by a small percentage, better validates projects for
build-related issues (such as dependency cycles), lets WebKit benefit
from future improvements in XCBuild such as those coming from the
underlying llbuild open source project, and prepares us for any other
tools built for this new ecosystem.
Specific changes:
- Remove Xcode project and workspace settings that selected the Build
system, allowing the default to take hold (which is currently the
New build system).
- Updated webkitdirs.pm with a terser check for Xcode version.
- Update build-webkit and Makefile.shared to be explicit when using
the old build system (no longer treat it as a default or fall-back
configuration).
- Update various xcconfig files similarly to treat the default as
using the new build system.
- Update various post-processing build steps to check for Xcode 11.4
and to no longer treat the default as using the old build system.
* Configurations/WebKitLegacy.xcconfig:
2020-04-06 Ross Kirsling <ross.kirsling@sony.com>
Update minimum ICU version to 60.2
https://bugs.webkit.org/show_bug.cgi?id=209694
Reviewed by Darin Adler.
* Misc/WebKitNSStringExtras.mm:
(-[NSString _web_drawAtPoint:font:textColor:]):
(-[NSString _web_widthWithFont:]):
* WebCoreSupport/WebVisitedLinkStore.mm:
(WebVisitedLinkStore::addVisitedLink):
* WebView/WebTextIterator.mm:
(-[WebTextIterator currentTextPointer]):
Manually convert between UChar and UniChar/unichar where needed.
2020-04-04 Darin Adler <darin@apple.com>
Stop using live ranges in DocumentMarkerController
https://bugs.webkit.org/show_bug.cgi?id=209985
Reviewed by Antti Koivisto.
* DOM/DOM.mm:
(-[DOMNode absoluteQuadAndInsideFixedPosition:]): Use unitedBoundingBoxes.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::handleRequestedCandidates): Use RenderObject::absoluteTextQuads.
* WebView/WebFrame.mm:
(-[WebFrame getDictationResultRanges:andMetadatas:]): Updated since DocumentMarker no
longer has a dedicated metadata member function.
(-[WebFrame dictationResultMetadataForRange:]):
* WebView/WebImmediateActionController.mm:
(+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
Use RenderObject::absoluteTextQuads.
2020-04-04 Peng Liu <peng.liu6@apple.com>
REGRESSION (r259095): ASSERTION FAILED: m_videoFullscreenMode != VideoFullscreenModeNone seen with TestWebKitAPI.WebKitLegacy.AudioSessionCategoryIOS
https://bugs.webkit.org/show_bug.cgi?id=209680
Reviewed by Jer Noble.
With this patch, the WebKit-Legacy can support multiple video elements request
to enter video fullscreen almost at the same time, and only the last one will succeed.
Also, this patch fixes webkit.org/b/209610 for WebKit-Legacy.
* WebView/WebView.mm:
* WebView/WebViewData.h:
2020-04-03 Alex Christensen <achristensen@webkit.org>
Add SPI to make WKUserScripts wait for a notification
https://bugs.webkit.org/show_bug.cgi?id=209845
<rdar://problem/60342299>
Reviewed by Chris Dumez.
* WebView/WebView.mm:
(-[WebView _injectOutlookQuirksScript]):
2020-04-03 Tim Horton <timothy_horton@apple.com>
Add a visual debug indicator for locating and identifying all kinds of WebViews
https://bugs.webkit.org/show_bug.cgi?id=209982
<rdar://problem/60339870>
Reviewed by Simon Fraser.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
Adopt for WebView on macOS (UIWebView will install it itself on iOS).
* WebView/WebViewPrivate.h:
Expose _installVisualIdentificationOverlayForViewIfNeeded:kind: for UIWebView's use.
It is slightly unfortunate to expose SPI that uses UIView from a framework
underneath UIKit, but there is no other single place where this code can live
and not be a minor layering problem. Since it's debug UI, it seems passable.
2020-04-03 David Kilzer <ddkilzer@apple.com>
[Xcode] Replace ASAN_OTHER_CFLAGS and ASAN_OTHER_CPLUSPLUSFLAGS with $(inherited)
<https://webkit.org/b/209963>
<rdar://problem/61257504>
Reviewed by Alexey Proskuryakov.
* Configurations/Base.xcconfig:
- Remove ASAN_OTHER_CFLAGS, ASAN_OTHER_CPLUSPLUSFLAGS and
ASAN_OTHER_LDFLAGS.
2020-04-01 Darin Adler <darin@apple.com>
Remove all uses of live ranges from TextIterator
https://bugs.webkit.org/show_bug.cgi?id=209723
Reviewed by Antti Koivisto.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::updateSpellingUIWithGrammarString): Remove some unnecessary
use of local variabels for NSString.
(WebEditorClient::requestCandidatesForSelection): Pass a reference to a live
range to plainText.
* WebView/WebFrame.mm:
(-[WebFrame _stringForRange:]): Ditto.
(-[WebFrame _convertToNSRange:]): Use characterRange instead of
TextIterator::getLocationAndLengthFromRange.
2020-04-01 Ryosuke Niwa <rniwa@webkit.org>
HTMLFormElement should use WeakPtr to keep track of its associated elements
https://bugs.webkit.org/show_bug.cgi?id=209894
Reviewed by Wenson Hsieh.
* WebView/WebHTMLRepresentation.mm:
(-[WebHTMLRepresentation elementWithName:inForm:]):
(-[WebHTMLRepresentation controlsInForm:]):
2020-03-31 Wenson Hsieh <wenson_hsieh@apple.com>
Datalist option's label not used
https://bugs.webkit.org/show_bug.cgi?id=201768
<rdar://problem/55361186>
Reviewed by Darin Adler.
See WebCore/ChangeLog and WebKit/ChangeLog for more details.
* WebCoreSupport/WebChromeClient.h:
2020-03-30 Devin Rousso <drousso@apple.com>
Web Inspector: provide a way to log messages from the network process
https://bugs.webkit.org/show_bug.cgi?id=204775
Reviewed by Brian Burg.
ITP can be influenced by multiple pages simultaneously, meaning that sending a console
message to the Web Inspector that's connected to the page that caused a change may not be
useful as developers often don't test in complete isolation. As such, having a way to
broadcast a console message to all Web Inspectors ensures that any changes caused by any
page are always able to be seen, no matter which page is being actively inspected.
* WebCoreSupport/WebChromeClient.mm:
(stringForMessageSource):
Add `ITPDebug` and `AdClickAttribution` message sources.
2020-03-29 Darin Adler <darin@apple.com>
Move TextIterator::rangeFromLocationAndLength off of live ranges
https://bugs.webkit.org/show_bug.cgi?id=209408
Reviewed by Antti Koivisto.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::checkTextOfParagraph): Use CharacterRange,
resolveCharacterLocation/Range.
(WebEditorClient::checkGrammarOfString): Ditto.
(core): Ditto.
(WebEditorClient::updateSpellingUIWithGrammarString): Ditto.
(WebEditorClient::handleAcceptedCandidateWithSoftSpaces): Ditto.
* WebView/WebFrame.mm:
(-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]): Ditto.
* WebView/WebView.mm:
(textCheckingResultFromNSTextCheckingResult): Ditto.
2020-03-27 Wenson Hsieh <wenson_hsieh@apple.com>
DragData::containsURL() should avoid reading URL strings from the pasteboard
https://bugs.webkit.org/show_bug.cgi?id=209642
Work towards <rdar://problem/59611585>
Reviewed by Tim Horton.
See WebCore/ChangeLog for more details.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::containsURLStringSuitableForLoading):
(WebPlatformStrategies::urlStringSuitableForLoading):
2020-03-25 Wenson Hsieh <wenson_hsieh@apple.com>
Avoid querying pasteboard strings while dragging content over a potential drop target
https://bugs.webkit.org/show_bug.cgi?id=209531
Reviewed by Tim Horton and Ryosuke Niwa.
Add PasteboardStrategy plumbing; see WebCore for more details.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::containsStringSafeForDOMToReadForType):
2020-03-23 Wenson Hsieh <wenson_hsieh@apple.com>
Remove the unused method PasteboardStrategy::uniqueName()
https://bugs.webkit.org/show_bug.cgi?id=209452
Reviewed by Tim Horton.
See WebCore/ChangeLog for more detail.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::uniqueName): Deleted.
2020-03-23 Darin Adler <darin@apple.com>
Change TextIterator::rangeLength to not require a live range
https://bugs.webkit.org/show_bug.cgi?id=209207
Reviewed by Antti Koivisto.
* WebCoreSupport/WebEditorClient.mm:
(insertionPointFromCurrentSelection): Use characterCount.
(WebEditorClient::requestCandidatesForSelection): Ditto.
* WebView/WebFrame.mm:
(-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]): Ditto.
2020-03-23 youenn fablet <youenn@apple.com>
Rename blankURL to aboutBlankURL
https://bugs.webkit.org/show_bug.cgi?id=209344
Reviewed by Darin Adler.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::updateGlobalHistory):
* WebView/WebFrame.mm:
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
2020-03-20 Jer Noble <jer.noble@apple.com>
Ensure media cache directory is created before passing to AVURLAsset.
https://bugs.webkit.org/show_bug.cgi?id=209341
Reviewed by Eric Carlson.
MediaPlayerPrivateAVFoundaionObjC will no longer create an asset cache in a temporary
directory by default; ensure that it's media cache directory is set during initialization.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2020-03-20 Timothy Horton <timothy_horton@apple.com>
Improve the previous build fix.
* WebCoreSupport/WebFrameLoaderClient.mm:
Darin points out that we have USE(WEB_THREAD), so might as well use it!
2020-03-20 Timothy Horton <timothy_horton@apple.com>
Fix the build.
* WebCoreSupport/WebFrameLoaderClient.mm:
2020-03-20 Tim Horton <timothy_horton@apple.com>
Upstream a variety of Cocoa-platform HAVE and ENABLE macros
https://bugs.webkit.org/show_bug.cgi?id=209307
Reviewed by Andy Estes.
* Configurations/FeatureDefines.xcconfig:
2020-03-20 Jacob Uphoff <jacob_uphoff@apple.com>
Unreviewed, reverting r258748.
This commit broke the Catalina build
Reverted changeset:
"Upstream a variety of Cocoa-platform HAVE and ENABLE macros"
https://bugs.webkit.org/show_bug.cgi?id=209307
https://trac.webkit.org/changeset/258748
2020-03-19 Tim Horton <timothy_horton@apple.com>
Upstream a variety of Cocoa-platform HAVE and ENABLE macros
https://bugs.webkit.org/show_bug.cgi?id=209307
Reviewed by Andy Estes.
* Configurations/FeatureDefines.xcconfig:
2020-03-19 youenn fablet <youenn@apple.com>
Make URL::path() return a StringView
https://bugs.webkit.org/show_bug.cgi?id=209173
Reviewed by Alex Christensen.
* Misc/WebNSURLExtras.mm:
(-[NSString _webkit_stringByReplacingValidPercentEscapes]):
2020-03-18 youenn fablet <youenn@apple.com>
FrameLoader should own its FrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=208918
Reviewed by Geoff Garen.
Update according new Frame/FrameLoader constructors and FrameLoaderClient interface.
* WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient::setWebFrame):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::~WebFrameLoaderClient):
(WebFrameLoaderClient::cancelledError const):
(WebFrameLoaderClient::blockedError const):
(WebFrameLoaderClient::blockedByContentBlockerError const):
(WebFrameLoaderClient::cannotShowURLError const):
(WebFrameLoaderClient::interruptedForPolicyChangeError const):
(WebFrameLoaderClient::blockedByContentFilterError const):
(WebFrameLoaderClient::cannotShowMIMETypeError const):
(WebFrameLoaderClient::fileDoesNotExistError const):
(WebFrameLoaderClient::pluginWillHandleLoadError const):
(WebFrameLoaderClient::shouldFallBack const):
(WebFrameLoaderClient::userAgent const):
* WebView/WebFrame.mm:
(+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
(+[WebFrame _createMainFrameWithPage:frameName:frameView:]):
(+[WebFrame _createMainFrameWithSimpleHTMLDocumentWithPage:frameView:style:]):
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
2020-03-17 Chris Dumez <cdumez@apple.com>
REGRESSION: [ macOS wk1 ] ASSERTION FAILED: _notifications.contains(notificationID) imported/w3c/web-platform-tests/notifications/constructor-basic.html is flaky crashing
https://bugs.webkit.org/show_bug.cgi?id=207307
<rdar://problem/59206964>
Reviewed by Alex Christensen.
* WebView/WebNotification.h:
* WebView/WebNotification.mm:
(-[WebNotification finalize]):
2020-03-17 Commit Queue <commit-queue@webkit.org>
Unreviewed, reverting r258339.
https://bugs.webkit.org/show_bug.cgi?id=209179
"Is it sometimes breaking rendering" (Requested by youenn on
#webkit).
Reverted changeset:
"FrameLoader should own its FrameLoaderClient"
https://bugs.webkit.org/show_bug.cgi?id=208918
https://trac.webkit.org/changeset/258339
2020-03-15 Darin Adler <darin@apple.com>
Move most of TextIterator off of live ranges
https://bugs.webkit.org/show_bug.cgi?id=209129
Reviewed by Antti Koivisto.
* WebView/WebFrame.mm: Removed an include.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _legacyAttributedStringFrom:offset:to:offset:]):
Add casts to unsigned.
* WebView/WebTextIterator.mm:
(-[WebTextIterator initWithRange:]): Leave _private->_textIterator
as a nullptr if the passed-in range is nil since we no longer offer
a way to create an empty TextIterator; other clients don't seem to
need one.
(-[WebTextIterator advance]): Check _private->_textIterator for null.
(-[WebTextIterator atEnd]): Ditto.
(-[WebTextIterator currentRange]): Ditto.
(-[WebTextIterator currentTextPointer]): Ditto.
(-[WebTextIterator currentTextLength]): Ditto.
(-[WebTextIterator currentNode]): Ditto.
(-[WebTextIterator currentText]): Ditto.
2020-03-16 Timothy Horton <timothy_horton@apple.com>
Always include System.framework in WebKitLegacy's CPLUSPLUSFLAGS
https://bugs.webkit.org/show_bug.cgi?id=209147
Reviewed by Darin Adler.
* Configurations/Base.xcconfig:
* Configurations/WebKitLegacy.xcconfig:
Bring WebKitLegacy's xcconfigs in line with all the other projects,
adding System.framework globally, and in Base.xcconfig.
2020-03-16 Simon Fraser <simon.fraser@apple.com>
Remove FrameView::scheduleRenderingUpdate()
https://bugs.webkit.org/show_bug.cgi?id=209109
Reviewed by Antti Koivisto.
FrameView::scheduleRenderingUpdate() called through to compositor(), but that just
turned around to call scheduleRenderingUpdate() via Page. So Remove it and change
callers to call Page::scheduleRenderingUpdate() directly.
* WebView/WebView.mm:
2020-03-13 Sergio Villar Senin <svillar@igalia.com>
[WebXR] IDLs, stubs and build configuration for WPE
https://bugs.webkit.org/show_bug.cgi?id=208702
Reviewed by Dean Jackson.
* Configurations/FeatureDefines.xcconfig: Added ENABLE_WEBXR, off by default.
2020-03-15 Yusuke Suzuki <ysuzuki@apple.com>
Should not use variable-length-array (VLA)
https://bugs.webkit.org/show_bug.cgi?id=209043
Reviewed by Mark Lam.
* Configurations/Base.xcconfig:
2020-03-12 Brent Fulgham <bfulgham@apple.com>
Correct preference handling and naming conventions in AppBound browsing preferences
https://bugs.webkit.org/show_bug.cgi?id=209031
<rdar://problem/60396298>
Reviewed by John Wilander.
This patch consistently uses the correct naming scheme for WebKit Internal Debug flags.
They should be 'WebKitDebug', not 'WebKitInternal' or 'WebKitInternalDebug'.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences isInAppBrowserPrivacyEnabled]):
(-[WebPreferences setInAppBrowserPrivacyEnabled:]):
(-[WebPreferences needsInAppBrowserPrivacyQuirks]):
(-[WebPreferences setNeedsInAppBrowserPrivacyQuirks:]):
2020-03-12 youenn fablet <youenn@apple.com>
FrameLoader should own its FrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=208918
Reviewed by Geoffrey Garen.
Update according new Frame/FrameLoader constructors and FrameLoaderClient interface.
* WebCoreSupport/WebFrameLoaderClient.h:
(WebFrameLoaderClient::setWebFrame):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::~WebFrameLoaderClient):
(WebFrameLoaderClient::cancelledError const):
(WebFrameLoaderClient::blockedError const):
(WebFrameLoaderClient::blockedByContentBlockerError const):
(WebFrameLoaderClient::cannotShowURLError const):
(WebFrameLoaderClient::interruptedForPolicyChangeError const):
(WebFrameLoaderClient::blockedByContentFilterError const):
(WebFrameLoaderClient::cannotShowMIMETypeError const):
(WebFrameLoaderClient::fileDoesNotExistError const):
(WebFrameLoaderClient::pluginWillHandleLoadError const):
(WebFrameLoaderClient::shouldFallBack const):
(WebFrameLoaderClient::userAgent const):
* WebView/WebFrame.mm:
(+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
(+[WebFrame _createMainFrameWithPage:frameName:frameView:]):
(+[WebFrame _createMainFrameWithSimpleHTMLDocumentWithPage:frameView:style:]):
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
2020-03-08 Darin Adler <darin@apple.com>
Make TextIterator::range return a SimpleRange
https://bugs.webkit.org/show_bug.cgi?id=208797
Reviewed by Don Olmstead.
* WebView/WebTextIterator.mm:
(-[WebTextIterator currentRange]): Use createLiveRange.
2020-03-09 Simon Fraser <simon.fraser@apple.com>
ASSERT(!m_textCheckingRequest) on editing/spelling/spellcheck-async-remove-frame.html
https://bugs.webkit.org/show_bug.cgi?id=126606
Reviewed by Wenson Hsieh.
SpellChecker's sequence numbers need to be unique between frames, because they are sent out
to EditorClient which may be one per web view, so use a static to hold the current
sequence number.
Also convert from int to TextCheckingSequence to make them easier to find, and use
Markable and Optional in TextCheckingRequestData to represent the unset state.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(-[WebEditorSpellCheckResponder initWithClient:identifier:results:]):
(-[WebEditorSpellCheckResponder perform]):
(WebEditorClient::didCheckSucceed):
(WebEditorClient::requestCheckingOfString):
(-[WebEditorSpellCheckResponder initWithClient:sequence:results:]): Deleted.
2020-03-09 Don Olmstead <don.olmstead@sony.com>
Remove obsolete feature flags
https://bugs.webkit.org/show_bug.cgi?id=208830
Reviewed by Alex Christensen.
Remove ENABLE_CUSTOM_SCHEME_HANDLER and ENABLE_MAC_VIDEO_TOOLBOX since they
are no longer used.
* Configurations/FeatureDefines.xcconfig:
* WebView/WebPreferences.mm: ENABLE(WIRELESS_TARGET_PLAYBACK) -> ENABLE(WIRELESS_PLAYBACK_TARGET)
(+[WebPreferences initialize]):
(-[WebPreferences allowsAirPlayForMediaPlayback]):
(-[WebPreferences setAllowsAirPlayForMediaPlayback:]):
2020-03-09 Antoine Quint <graouts@apple.com>
Remove the compile-time flag for Pointer Events
https://bugs.webkit.org/show_bug.cgi?id=208821
<rdar://problem/60223471>
Reviewed by Dean Jackson.
* Configurations/FeatureDefines.xcconfig:
2020-03-07 Darin Adler <darin@apple.com>
Begin moving off of live ranges for WebKit internals
https://bugs.webkit.org/show_bug.cgi?id=208432
Reviewed by Daniel Bates.
* WebCoreSupport/WebContextMenuClient.mm: Added include.
* WebView/WebFrame.mm: Ditto.
(-[WebFrame _convertToNSRange:]): Initialized out arguments.
2020-03-07 Brent Fulgham <bfulgham@apple.com>
Create a flag to disable in-app browser quirks
https://bugs.webkit.org/show_bug.cgi?id=208777
<rdar://problem/60062197>
Reviewed by Simon Fraser.
This patch makes the following changes:
1. Adds a new flag 'NeedsInAppBrowserPrivacyQuirks' to allow quirks to be toggled
during testing.
2. Reclassify this new flag, and the existing 'InAppBrowserPrivacyEnabled' flag from
'settings' to Internal Debug settings
The renamed flags are covered by existing tests.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Add new flag.
(-[WebPreferences needsInAppBrowserPrivacyQuirks]): Ditto.
(-[WebPreferences setNeedsInAppBrowserPrivacyQuirks:]): Ditto.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
2020-03-07 Daniel Bates <dabates@apple.com>
[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>
Reviewed by Brent Fulgham.
Part 3
Guard code that requires USE(AUTOCORRECTION_PANEL) to be enabled. Specifically, -_showDictationAlternativeUI
calls -handleAcceptedAlternativeText, but the latter is only compiled in when USE(AUTOCORRECTION_PANEL)
is enabled.
Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.
* WebView/WebView.mm:
2020-03-05 Sam Weinig <weinig@apple.com>
Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=207436
<rdar://problem/59296762>
Reviewed by Darin Adler.
* Configurations/FeatureDefines.xcconfig:
Remove JSC related defines.
2020-03-06 Simon Fraser <simon.fraser@apple.com>
Flaky Test: editing/spelling/spellcheck-async.html
https://bugs.webkit.org/show_bug.cgi?id=160571
Reviewed by Ryosuke Niwa.
Second try to fix this crash; the WebEditorClient can go away before all the NSSpellChecker
callbacks are done (which happens off the main thread), so store a WeakPtr<WebEditorClient>.
We have to create the WeakPtr on the main thread, and it gets copied into the first block.
* WebCoreSupport/WebEditorClient.mm:
(-[WebEditorSpellCheckResponder initWithClient:sequence:results:]):
(-[WebEditorSpellCheckResponder perform]):
(WebEditorClient::requestCheckingOfString):
2020-03-06 Simon Fraser <simon.fraser@apple.com>
Flaky Test: editing/spelling/spellcheck-async.html
https://bugs.webkit.org/show_bug.cgi?id=160571
Reviewed by Tim Horton.
The old code called -performSelector:target:... with an autoreleased target,
and nothing keeps the target alive until the call to -perform on the main thread.
Change this to a block which copies in a RetainPtr<> to make ownership clearer
and fix the crash.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCheckingOfString):
2020-03-06 Jer Noble <jer.noble@apple.com>
[GPUP] Convert CDMFactory away from platformStrategies() and use WebProcess settings instead
https://bugs.webkit.org/show_bug.cgi?id=208699
Reviewed by Youenn Fablet.
Remove Legacy CDM support from WebPlatformStrategies.
* WebCoreSupport/WebPlatformStrategies.mm:
2020-03-06 Antoine Quint <graouts@webkit.org>
Remove the experimental flag for Pointer Events
https://bugs.webkit.org/show_bug.cgi?id=208655
<rdar://problem/60090545>
Reviewed by Dean Jackson.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences syntheticEditingCommandsEnabled]):
(-[WebPreferences setSyntheticEditingCommandsEnabled:]):
(-[WebPreferences pointerEventsEnabled]): Deleted.
(-[WebPreferences setPointerEventsEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
2020-03-05 youenn fablet <youenn@apple.com>
Export NowPlaying commands to GPUProcess when media playing in GPUProcess is enabled
https://bugs.webkit.org/show_bug.cgi?id=208568
Reviewed by Eric Carlson.
Use in-process now playing implementation.
* WebCoreSupport/WebPlatformStrategies.mm:
2020-03-04 Ben Nham <nham@apple.com>
Remove initial layout throttler
https://bugs.webkit.org/show_bug.cgi?id=208285
Reviewed by Antti Koivisto.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences _setLayoutInterval:]): Deleted.
(-[WebPreferences _layoutInterval]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
2020-03-03 Devin Rousso <drousso@apple.com>
Web Inspector: re-add `InspectorFrontendHost` support for moving the inspected window
https://bugs.webkit.org/show_bug.cgi?id=208555
Reviewed by Timothy Hatcher.
Partially revert r257759, as the design changed enough such that this code is still useful.
Allow the Web Inspector frontend to ask the containing app (via `InspectorFrontendClient`)
whether it supports the given docking configuration.
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::startWindowDrag): Added.
(WebInspectorFrontendClient::supportsDockSide): Added.
2020-03-03 Devin Rousso <drousso@apple.com>
Web Inspector: setting the frontend appearance doesn't update the window when undocked
https://bugs.webkit.org/show_bug.cgi?id=208503
Reviewed by Timothy Hatcher.
Notify the UIProcess when setting the forced appearance so platforms that support dark mode
are able to run native code to adjust the appearance of the undocked window.
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::setForcedAppearance): Added.
2020-03-02 Devin Rousso <drousso@apple.com>
Web Inspector: Items in the toolbar take up to much vertical space
https://bugs.webkit.org/show_bug.cgi?id=204627
<rdar://problem/59091905>
Reviewed by Timothy Hatcher.
Now that there is no toolbar area, there is nothing obstructing the ability for the window
to be moved around when dragging via the title bar area. As such, we can remove the unused
`InspectorFrontendHost` APIs.
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::startWindowDrag): Deleted.
2020-03-02 Alan Coon <alancoon@apple.com>
Add new Mac target numbers
https://bugs.webkit.org/show_bug.cgi?id=208398
Reviewed by Alexey Proskuryakov.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
* Configurations/WebKitTargetConditionals.xcconfig:
2020-03-02 Rob Buis <rbuis@igalia.com>
Add referrerpolicy attribute support for anchors
https://bugs.webkit.org/show_bug.cgi?id=208424
Reviewed by Darin Adler.
Adjust to FrameLoadRequest API change.
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
2020-02-29 Yusuke Suzuki <ysuzuki@apple.com>
Remove std::lock_guard
https://bugs.webkit.org/show_bug.cgi?id=206451
Reviewed by Anders Carlsson.
* DOM/DOMInternal.mm:
(getDOMWrapper):
(addDOMWrapper):
(removeDOMWrapper):
2020-02-28 Jer Noble <jer.noble@apple.com>
[GPUP] Implement Modern EME API in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=208090
Reviewed by Eric Carlson.
Adopt changes to PlatformStrategies.
* GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerKeyNeeded):
* GPUProcess/media/RemoteMediaPlayerProxy.h:
* WebCoreSupport/WebPlatformStrategies.mm:
2020-02-27 Daniel Bates <dabates@apple.com>
Change HitTestRequestType to an OptionSet
https://bugs.webkit.org/show_bug.cgi?id=208334
Reviewed by Wenson Hsieh.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::actionDictionary const):
* WebView/WebFrame.mm:
(-[WebFrame elementAtPoint:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView elementAtPoint:allowShadowContent:]):
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController performHitTestAtPoint:]):
2020-02-26 Ryosuke Niwa <rniwa@webkit.org>
Create AudioDestination in the GPU process
https://bugs.webkit.org/show_bug.cgi?id=208179
Reviewed by Jer Noble.
Added WebMediaStrategy which is a wrapper around AudioDestination::create.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebMediaStrategy): Added.
(WebPlatformStrategies::createMediaStrategy):
2020-02-25 Megan Gardner <megan_gardner@apple.com>
Build Fix
https://bugs.webkit.org/show_bug.cgi?id=208224
<rdar://problem/58879500>
Fix Build.
Reviewed by Tim Horton.
* WebView/WebFrameView.mm:
(+[WebFrameView _viewTypesAllowImageTypeOmission:]):
* WebView/WebView.mm:
(+[WebView _viewClass:andRepresentationClass:forMIMEType:allowingPlugins:]):
2020-02-25 Justin Michaud <justin_michaud@apple.com>
Inline Cache delete by id/val
https://bugs.webkit.org/show_bug.cgi?id=207522
Reviewed by Keith Miller and Filip Pizlo.
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::removeProperty):
2020-02-25 Antti Koivisto <antti@apple.com>
Remove throttling code from RenderLayerCompositor
https://bugs.webkit.org/show_bug.cgi?id=208135
Reviewed by Zalan Bujtas.
* WebView/WebView.mm:
(-[WebView _scheduleRenderingUpdateForPendingTileCacheRepaint]):
(-[WebView _scheduleLayerFlushForPendingTileCacheRepaint]): Deleted.
2020-02-24 Simon Fraser <simon.fraser@apple.com>
Rename the clashing WebOverlayLayer classes
https://bugs.webkit.org/show_bug.cgi?id=208156
rdar://problem/59739250
Reviewed by Tim Horton.
The name WebOverlayLayer was used in two places. Rename them both to more specific names.
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController init]):
(-[WebOverlayLayer layoutSublayers]): Deleted.
2020-02-22 Darin Adler <darin@apple.com>
Fix some include mistakes and make some coding style tweaks to WebKit and WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=208099
Reviewed by Antti Koivisto.
* DOM/DOMDocument.mm: Removed unneeded includes and re-sorted.
* DOM/DOMDocumentFragment.mm: Ditto.
* DOM/DOMHTMLFieldSetElement.mm: Ditto.
2020-02-22 Jer Noble <jer.noble@apple.com>
Stop using QTKit for rendering WK1 video fullscreen controls
https://bugs.webkit.org/show_bug.cgi?id=207795
<rdar://problem/48894915>
Reviewed by Jon Lee.
Switch to using AVPlayerView instead of QTHUD to render our fullscreen controls.
In addition, switch to a modern NSWindow fullscreen API, with custom, smooth animations which
move the fullscreen window to a separate space. This requires subclassing AVPlayerView so that
fullscreen toggling will signal to the controller, so that our fullscreen button and the inline
version of same don't get out of sync. Because AVPlayerView requires an AVPlayer in order to
display the video layer, and we won't necessarily have an AVPlayer for MSE-backed videos, instead
install a custom overlay view inside the AVPlayerView in which to host the fullscreen video layer.
* WebView/WebVideoFullscreenController.h:
* WebView/WebVideoFullscreenController.mm:
(-[WebOverlayLayer layoutSublayers]):
(WebAVPlayerView_delegate):
(WebAVPlayerView_setDelegate):
(WebAVPlayerView_isFullScreen):
(WebAVPlayerView_enterFullScreen):
(WebAVPlayerView_exitFullScreen):
(allocWebAVPlayerViewInstance):
(-[WebVideoFullscreenController init]):
(-[WebVideoFullscreenController dealloc]):
(-[WebVideoFullscreenController fullscreenWindow]):
(-[WebVideoFullscreenController windowDidLoad]):
(-[WebVideoFullscreenController setVideoElement:]):
(-[WebVideoFullscreenController enterFullscreen:]):
(-[WebVideoFullscreenController exitFullscreen]):
(-[WebVideoFullscreenController applicationDidResignActive:]):
(-[WebVideoFullscreenController _requestExit]):
(-[WebVideoFullscreenController _requestEnter]):
(-[WebVideoFullscreenController cancelOperation:]):
(-[WebVideoFullscreenController playerViewIsFullScreen:]):
(-[WebVideoFullscreenController playerViewRequestEnterFullscreen:]):
(-[WebVideoFullscreenController playerViewRequestExitFullscreen:]):
(-[WebVideoFullscreenController customWindowsToEnterFullScreenForWindow:]):
(-[WebVideoFullscreenController window:startCustomAnimationToEnterFullScreenWithDuration:]):
(-[WebVideoFullscreenController customWindowsToExitFullScreenForWindow:]):
(-[WebVideoFullscreenController window:startCustomAnimationToExitFullScreenWithDuration:]):
(-[WebVideoFullscreenController windowDidEnterFullScreen:]):
(-[WebVideoFullscreenController windowWillExitFullScreen:]):
(-[WebVideoFullscreenController windowDidExitFullScreen:]):
(-[WebVideoFullscreenController clearFadeAnimation]): Deleted.
(-[WebVideoFullscreenController windowDidExitFullscreen]): Deleted.
(-[WebVideoFullscreenController windowDidEnterFullscreen]): Deleted.
(frameExpandedToRatioOfFrame): Deleted.
(createBackgroundFullscreenWindow): Deleted.
(-[WebVideoFullscreenController setupFadeAnimationIfNeededAndFadeIn:]): Deleted.
(-[WebVideoFullscreenController applicationDidChangeScreenParameters:]): Deleted.
(-[WebVideoFullscreenController updateMenuAndDockForFullscreen]): Deleted.
(-[WebVideoFullscreenController requestExitFullscreenWithAnimation:]): Deleted.
(-[WebVideoFullscreenController requestExitFullscreen]): Deleted.
(-[WebVideoFullscreenController fadeHUDIn]): Deleted.
(-[WebVideoFullscreenController observeValueForKeyPath:ofObject:change:context:]): Deleted.
(-[WebVideoFullscreenController rateChanged:]): Deleted.
(-[WebVideoFullscreenWindow initWithContentRect:styleMask:backing:defer:]): Deleted.
(-[WebVideoFullscreenWindow dealloc]): Deleted.
(-[WebVideoFullscreenWindow resignFirstResponder]): Deleted.
(-[WebVideoFullscreenWindow canBecomeKeyWindow]): Deleted.
(-[WebVideoFullscreenWindow mouseDown:]): Deleted.
(-[WebVideoFullscreenWindow cancelOperation:]): Deleted.
(-[WebVideoFullscreenWindow animatedResizeDidEnd]): Deleted.
(-[WebVideoFullscreenWindow animateFromRect:toRect:withSubAnimation:controllerAction:]): Deleted.
(-[WebVideoFullscreenWindow animationDidEnd:]): Deleted.
(-[WebVideoFullscreenWindow mouseMoved:]): Deleted.
* WebView/WebVideoFullscreenHUDWindowController.h: Removed.
* WebView/WebVideoFullscreenHUDWindowController.mm: Removed.
2020-02-21 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS] Large form controls are rendered at the wrong NSControlSize
https://bugs.webkit.org/show_bug.cgi?id=208043
<rdar://problem/59659134>
Reviewed by Tim Horton.
See WebCore ChangeLog for more details.
* WebCoreSupport/PopupMenuMac.mm:
(PopupMenuMac::show):
2020-02-21 Daniel Bates <dabates@apple.com>
[iOS][Legacy WebKit] Expose SPI for Page::revealCurrentSelection()
https://bugs.webkit.org/show_bug.cgi?id=207960
<rdar://problem/59604163>
Reviewed by Wenson Hsieh.
Together with <https://bugs.webkit.org/show_bug.cgi?id=207955> this allows a client to reveal
the current selection when it's ready to do so.
* WebView/WebView.mm:
(-[WebView revealCurrentSelection]): Added.
* WebView/WebViewPrivate.h:
2020-02-20 Megan Gardner <megan_gardner@apple.com>
Expose caret color for clients
https://bugs.webkit.org/show_bug.cgi?id=207963
<rdar://problem/57383170>
Reviewed by Daniel Bates.
Expose caret color for clients to use.
* WebView/WebFrame.mm:
(-[WebFrame textInsertionColor]):
* WebView/WebFramePrivate.h:
2020-02-19 Daniel Bates <dabates@apple.com>
[iOS][LegacyWebKit] Override EditorClient::shouldRevealCurrentSelectionAfterInsertion()
https://bugs.webkit.org/show_bug.cgi?id=207955
<rdar://problem/59602916>
Reviewed by Wenson Hsieh.
Wire up EditorClient::shouldRevealCurrentSelectionAfterInsertion() in Legacy WebKit. This
allows Legacy WebKit clients to toggle whether the current selection is revealed after
an insertion, which they may want to do to achieve a desired UI effect.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::shouldRevealCurrentSelectionAfterInsertion const): Added. Ask the _UIKitDelegateForwarder
if it responds to -shouldRevealCurrentSelectionAfterInsertion. If it does then return its
response. Otherwise, return true to do what we do now: reveal the current selection after
an insertion.
2020-02-18 Simon Fraser <simon.fraser@apple.com>
Move from "layer flush" terminology to "rendering update"
https://bugs.webkit.org/show_bug.cgi?id=207870
Reviewed by Tim Horton.
Rename various functions and member variables to move away from the legacy "layer flush"
terminology and instead use "rendering update", matching Page::updateRendering(). The fact
that we have layers is an implementation detail.
Change LayerFlushThrottlingState to be an OptionSet<>.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::scheduleRenderingUpdate):
(WebChromeClient::scheduleCompositingLayerFlush): Deleted.
* WebView/WebView.mm:
(-[WebView _scheduleUpdateRendering]):
(-[WebView _scheduleCompositingLayerFlush]): Deleted.
* WebView/WebViewData.h:
* WebView/WebViewInternal.h:
2020-02-14 Jon Lee <jonlee@apple.com>
Mask WebGL strings
https://bugs.webkit.org/show_bug.cgi?id=207608
Reviewed by Dean Jackson.
Test: platform/mac/webgl/fingerprinting-strings.html
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
2020-02-13 Said Abou-Hallawa <said@apple.com>
Unreviewed, rolling out r255158, 255405 and r255486
Caused test flakiness and PLT regression.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences renderingUpdateThrottlingEnabled]): Deleted.
(-[WebPreferences setRenderingUpdateThrottlingEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-02-12 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r256463.
Caused major flakiness on Mac wk2
Reverted changeset:
"REGRESSION (r255158): http/tests/frame-throttling/raf-
throttle-in-cross-origin-subframe.html is a flaky failure"
https://bugs.webkit.org/show_bug.cgi?id=206839
https://trac.webkit.org/changeset/256463
2020-02-12 Simon Fraser <simon.fraser@apple.com>
Remove CSS_DEVICE_ADAPTATION
https://bugs.webkit.org/show_bug.cgi?id=203479
Reviewed by Tim Horton.
CSS Working Group resolved to remove @viewport <https://github.com/w3c/csswg-drafts/issues/4766>,
so remove the code.
* Configurations/FeatureDefines.xcconfig:
* DOM/DOMCSS.mm:
(kitClass):
2020-02-12 Said Abou-Hallawa <said@apple.com>
REGRESSION (r255158): http/tests/frame-throttling/raf-throttle-in-cross-origin-subframe.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=206839
Reviewed by Simon Fraser.
Remove the WKPreference key 'RenderingUpdateThrottlingEnabled'.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences renderingUpdateThrottlingEnabled]): Deleted.
(-[WebPreferences setRenderingUpdateThrottlingEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-02-10 Daniel Bates <dabates@apple.com>
Disallow setting base URL to a data or JavaScript URL
https://bugs.webkit.org/show_bug.cgi?id=207136
Reviewed by Brent Fulgham.
Apply base URL restrictions to apps linked to a future WebKit to avoid breaking existing apps.
* Misc/WebKitVersionChecks.h:
* WebView/WebView.mm:
(shouldRestrictBaseURLSchemes): Added.
(-[WebView _commonInitializationWithFrameName:groupName:]): Update settings.
2020-02-10 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r256091.
Broke internal builds
Reverted changeset:
"Move trivial definitions from FeatureDefines.xcconfig to
PlatformEnableCocoa.h"
https://bugs.webkit.org/show_bug.cgi?id=207155
https://trac.webkit.org/changeset/256091
2020-02-10 Truitt Savell <tsavell@apple.com>
Unreviewed, rolling out r256103.
This patch is blocking the rollout of r256091
Reverted changeset:
"Move JavaScriptCore related feature defines from
FeatureDefines.xcconfig to PlatformEnableCocoa.h"
https://bugs.webkit.org/show_bug.cgi?id=207436
https://trac.webkit.org/changeset/256103
2020-02-09 Keith Rollin <krollin@apple.com>
Re-enable LTO for ARM builds
https://bugs.webkit.org/show_bug.cgi?id=207402
<rdar://problem/49190767>
Reviewed by Sam Weinig.
Bug 190758 re-enabled LTO for Production builds for x86-family CPUs.
Enabling it for ARM was left out due to a compiler issue. That issue
has been fixed, and so now we can re-enable LTO for ARM.
* Configurations/Base.xcconfig:
2020-02-08 Sam Weinig <weinig@apple.com>
Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=207436
Reviewed by Tim Horton.
* Configurations/FeatureDefines.xcconfig:
Remove ENABLE_FAST_JIT_PERMISSIONS and ENABLE_FTL_JIT.
2020-02-08 Sam Weinig <weinig@apple.com>
Move trivial definitions from FeatureDefines.xcconfig to PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=207155
Reviewed by Tim Horton.
Move all trivial definitions (just ENABLE_FOO = ENABLE_FOO; or ENABLE_BAR = ;)
from the FeatureDefines.xcconfigs to PlatformEnableCocoa.h, ensuring each one
also has a default value in PlatformEnable.h
To support the move, DerivedSources.make has been updated to generate the list
of ENABLE_* features by directly from preprocessing Platform.h, rather than
just getting the partial list from the xcconfig file.
* Configurations/FeatureDefines.xcconfig:
* MigrateHeaders.make:
2020-02-07 Jon Lee <jonlee@apple.com>
Web Inspector: Revert slim toolbar
https://bugs.webkit.org/show_bug.cgi?id=207422
Reviewed by Timothy Hatcher.
The slim toolbar needs a little more work before landing.
This patch reverts r255547, r255557, r255890, r255892, r255893, r255901, r255980.
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
2020-02-07 Chris Dumez <cdumez@apple.com>
[Hardening] Validate Geolocation access permission on UIProcess side
https://bugs.webkit.org/show_bug.cgi?id=207393
<rdar://problem/56816051>
Reviewed by Brent Fulgham.
* WebCoreSupport/WebGeolocationClient.h:
* WebCoreSupport/WebGeolocationClient.mm:
(WebGeolocationClient::startUpdating):
(WebGeolocationClient::requestPermission):
(-[WebGeolocationPolicyListener allow]):
(-[WebGeolocationPolicyListener deny]):
2020-02-07 Alex Christensen <achristensen@apple.com>
Remember if we used legacy TLS in the back/forward cache like we remember if we have only secure content
https://bugs.webkit.org/show_bug.cgi?id=207409
rdar://problem/59275641
Reviewed by Chris Dumez.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidCommitLoad):
2020-02-07 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r256051.
Broke internal builds.
Reverted changeset:
"Move trivial definitions from FeatureDefines.xcconfig to
PlatformEnableCocoa.h"
https://bugs.webkit.org/show_bug.cgi?id=207155
https://trac.webkit.org/changeset/256051
2020-02-07 Daniel Bates <dabates@apple.com>
Legacy WebKit: Have linkedOnOrAfter() respect the NSDefault WebKitLinkedOnOrAfterEverything and opt DumpRenderTree in
https://bugs.webkit.org/show_bug.cgi?id=207366
Reviewed by Brent Fulgham.
If the user default WebKitLinkedOnOrAfterEverything is enabled then have linkedOnOrAfter()
always return true.
* Misc/WebKitVersionChecks.mm:
(linkedOnOrAfter): Read the user default WebKitLinkedOnOrAfterEverything once and cache it.
If the default is enabled then early return true. Outside of tooling this default is unlikely
to be set.
2020-02-07 Sam Weinig <weinig@apple.com>
Move trivial definitions from FeatureDefines.xcconfig to PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=207155
Reviewed by Tim Horton.
Move all trivial definitions (just ENABLE_FOO = ENABLE_FOO; or ENABLE_BAR = ;)
from the FeatureDefines.xcconfigs to PlatformEnableCocoa.h, ensuring each one
also has a default value in PlatformEnable.h
To support the move, DerivedSources.make has been updated to generate the list
of ENABLE_* features by directly from preprocessing Platform.h, rather than
just getting the partial list from the xcconfig file.
* Configurations/FeatureDefines.xcconfig:
* MigrateHeaders.make:
2020-02-06 Brent Fulgham <bfulgham@apple.com>
Prevent navigating top level frames to Data URLs
https://bugs.webkit.org/show_bug.cgi?id=206962
<rdar://problem/56770676>
Reviewed by Youenn Fablet.
Expose a new off-by-default preference to allow top-level navigation to Data URIs.
Tests: fast/loader/data-url-frame-allowed.html, fast/loader/data-url-load-denied.html
* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController init]):
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences allowTopNavigationToDataURLs]):
(-[WebPreferences setAllowTopNavigationToDataURLs:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-02-01 Devin Rousso <drousso@apple.com>
Web Inspector: move the items in the toolbar into the tab bar to save vertical space
https://bugs.webkit.org/show_bug.cgi?id=204627
Reviewed by Timothy Hatcher.
Now that there is no toolbar area, there is nothing obstructing the ability for the window
to be moved around when dragging via the title bar area. As such, we can remove the unused
`InspectorFrontendHost` APIs.
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::startWindowDrag): Deleted.
2020-01-31 Wenson Hsieh <wenson_hsieh@apple.com>
Add support for specifying background colors when setting marked text
https://bugs.webkit.org/show_bug.cgi?id=207065
<rdar://problem/57876140>
Reviewed by Tim Horton.
Adjust some call sites of Editor::setComposition().
* WebView/WebFrame.mm:
(-[WebFrame setMarkedText:selectedRange:]):
(-[WebFrame setMarkedText:forCandidates:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView setMarkedText:selectedRange:]):
2020-01-31 Antoine Quint <graouts@apple.com>
[WK1] hiddenPageCSSAnimationSuspensionEnabled should be enabled by default for Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=207042
<rdar://problem/58934778>
Reviewed by Zalan Bujtas.
While HiddenPageCSSAnimationSuspensionEnabled is specified in WebPreferences.yaml to default to DEFAULT_HIDDEN_PAGE_CSS_ANIMATION_SUSPENSION_ENABLED,
which is defined to be true on Cocoa platforms in WebPreferencesDefaultValues.h, it is hard-coded to @NO in WK1 although clearly the intent is for
this preference to be enabled. So we switch that default value in WK1 as well.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2020-01-30 Alex Christensen <achristensen@webkit.org>
Add WKNavigationDelegate SPI to disable TLS 1.0 and 1.1
https://bugs.webkit.org/show_bug.cgi?id=206979
Reviewed by Brady Eidson.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2020-01-29 Tim Horton <timothy_horton@apple.com>
Null deref under -[WebFrame isTelephoneNumberParsingAllowed]
https://bugs.webkit.org/show_bug.cgi?id=206921
Reviewed by Anders Carlsson.
* WebView/WebFrame.mm:
(-[WebFrame isTelephoneNumberParsingAllowed]):
(-[WebFrame isTelephoneNumberParsingEnabled]):
DataDetectors can hold on to a WebFrame on an operation queue before
calling into these methods. In the meantime, it is possible for the
WebView to be closed, resulting in a null core Frame.
This is not reproducible in a test app, but a speculative fix seems fine.
2020-01-27 Antoine Quint <graouts@apple.com>
[Web Animations] Make Animation.timeline read-write only if a runtime flag is enabled
https://bugs.webkit.org/show_bug.cgi?id=206173
<rdar://problem/58527432>
Reviewed by Dean Jackson.
Add a new WebAnimationsMutableTimelines runtime flag.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences webAnimationsMutableTimelinesEnabled]):
(-[WebPreferences setWebAnimationsMutableTimelinesEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-01-27 Simon Fraser <simon.fraser@apple.com>
REGRESSION (r253634): cricbuzz.com media controls vanish depending on page scale
https://bugs.webkit.org/show_bug.cgi?id=206788
rdar://problem/58780584
Reviewed by Tim Horton.
r253634 changed "delegatesPageScaling"'" to a flag on ScrollView. However, this changed behavior
for subframes; Settings are propagated down, but only the main ScrollView had delegatesPageScaling
set on it.
"delegatesPageScaling" is a page-level thing (subframes don't independently zoom), so it
should live on Page. Move it there.
The bug was triggered by incorrectly taking page scale into account for rects in the compositing
overlap map (see RenderLayerCompositor::addToOverlapMap()) in subframes, and those rects
changing on zoom.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
2020-01-27 Devin Rousso <drousso@apple.com>
Web Inspector: unable to evaluate in the isolated world of content scripts injected by safari app extensions
https://bugs.webkit.org/show_bug.cgi?id=206110
<rdar://problem/16945643>
Reviewed by Timothy Hatcher, Joseph Pecoraro, and Brian Burg.
In addition to evaluating in subframe execution contexts, add the ability for Web Inspector
to evaluate in non-normal isolated worlds.
* WebView/WebScriptWorld.mm:
(-[WebScriptWorld init]):
Treat isolated worlds created by API calls as `User` worlds.
2020-01-27 Said Abou-Hallawa <sabouhallawa@apple.com>
Throttling requestAnimationFrame should be controlled by RenderingUpdateScheduler
https://bugs.webkit.org/show_bug.cgi?id=204713
Reviewed by Simon Fraser.
Add a WKPreference key for RenderingUpdateThrottling.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences renderingUpdateThrottlingEnabled]):
(-[WebPreferences setRenderingUpdateThrottlingEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-01-27 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r255131.
Caused assertion failures on iOS debug bots.
Reverted changeset:
"Throttling requestAnimationFrame should be controlled by
RenderingUpdateScheduler"
https://bugs.webkit.org/show_bug.cgi?id=204713
https://trac.webkit.org/changeset/255131
2020-01-27 Cathie Chen <cathiechen@igalia.com>
The value of AspectRatioOfImgFromWidthAndHeight for legacy mac isn't correct
https://bugs.webkit.org/show_bug.cgi?id=206822
Reviewed by Frédéric Wang.
The value should be WebKitAspectRatioOfImgFromWidthAndHeightEnabled
* WebView/WebPreferenceKeysPrivate.h:
2020-01-26 Said Abou-Hallawa <said@apple.com>
Throttling requestAnimationFrame should be controlled by RenderingUpdateScheduler
https://bugs.webkit.org/show_bug.cgi?id=204713
Reviewed by Simon Fraser.
Add a WKPreference key for RenderingUpdateThrottling.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences renderingUpdateThrottlingEnabled]):
(-[WebPreferences setRenderingUpdateThrottlingEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-01-25 Antti Koivisto <antti@apple.com>
[LFC][Integration] Re-enable line layout integration
https://bugs.webkit.org/show_bug.cgi?id=206795
<rdar://problem/58853907>
Reviewed by Zalan Bujtas.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2020-01-22 Daniel Bates <dabates@apple.com>
Legacy WebKit: Add SPI variant of -setSelectedDOMRange that can perform the selection as if triggered by the user
https://bugs.webkit.org/show_bug.cgi?id=206622
Reviewed by Wenson Hsieh.
Add a new -setSelectedDOMRange SPI variant that takes a boolean to indicate whether the selection
was triggered by the user.
While I am here, I simplified and modernized the code. This includes moving the null check of
Frame::page() to the top of the function. This let me eliminate the null check for Frame::view()
because every frame that has a page must have a non-null view. I imported WebEditorClient.h
to get WebKit::core(NSSelectionAffinity) and remove a C-style cast to WebCore::EAffinity.
I also used more "auto".
* WebView/WebFrame.mm:
(-[WebFrame setSelectedDOMRange:affinity:closeTyping:]): Modified to call the newly added variant,
passing "userTriggered:NO" to keep the current behavior.
(-[WebFrame setSelectedDOMRange:affinity:closeTyping:userTriggered:]): Added.
* WebView/WebFramePrivate.h:
2020-01-22 Zalan Bujtas <zalan@apple.com>
REGRESSION (r254923): [mac-wk1] http/tests/inspector/network/har/har-page.html crashing in WebCore::Display::Box::contentBox()
https://bugs.webkit.org/show_bug.cgi?id=206600
Unreviewed.
r254923 missed this one place to turn off LFC integration.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2020-01-21 Said Abou-Hallawa <sabouhallawa@apple.com>
Make RenderingMode and AlphaPremultiplication enum classes and move them to separate headers
https://bugs.webkit.org/show_bug.cgi?id=206516
Reviewed by Tim Horton.
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::imageForCurrentSharingServicePickerItem):
2020-01-21 Daniel Bates <dabates@apple.com>
Add Legacy WebKit SPI and WebKit IPI to show and hide placeholder
https://bugs.webkit.org/show_bug.cgi?id=206459
<rdar://problem/58700534>
Reviewed by Wenson Hsieh.
Add Legacy WebKit SPI to allow a client to control whether the placeholder can be shown or
not when a form control is empty. This is for aesthetics.
* DOM/DOMHTMLInputElement.mm:
(-[DOMHTMLInputElement canShowPlaceholder]): Added.
(-[DOMHTMLInputElement setCanShowPlaceholder:]): Added.
* DOM/DOMHTMLInputElementPrivate.h:
* DOM/DOMHTMLTextAreaElement.mm:
(-[DOMHTMLTextAreaElement canShowPlaceholder]): Added.
(-[DOMHTMLTextAreaElement setCanShowPlaceholder:]): Added.
* DOM/DOMHTMLTextAreaElementPrivate.h:
2020-01-21 Rob Buis <rbuis@igalia.com>
Add build flag for stale-while-revalidate
https://bugs.webkit.org/show_bug.cgi?id=204169
Reviewed by Youenn Fablet.
* Configurations/FeatureDefines.xcconfig:
2020-01-21 Sihui Liu <sihui_liu@apple.com>
Disable WebSQL everywhere by default except in tests
https://bugs.webkit.org/show_bug.cgi?id=204907
Reviewed by Ryosuke Niwa.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences webSQLEnabled]):
(-[WebPreferences setWebSQLEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-01-20 David Kilzer <ddkilzer@apple.com>
Fix missing header guards and clean up empty files in WebCore, WebKitLegacy, WebKit, Tools
<https://webkit.org/b/206505>
Reviewed by Eric Carlson.
* Misc/WebKitStatisticsPrivate.h:
* Misc/WebLocalizableStrings.h: Modernize __OBJC__ and
__cplusplus checks.
* Misc/WebTypesInternal.h:
* WebView/WebMediaPlaybackTargetPicker.h:
- Add #pragma once statement.
2020-01-17 Cathie Chen <cathiechen@igalia.com>
Add support for scroll behavior parsing
https://bugs.webkit.org/show_bug.cgi?id=205009
Reviewed by Frédéric Wang.
Based on the patch by Frédéric Wang.
Add run time flag for CSSOMViewSmoothScrolling.
* WebView/WebPreferenceKeysPrivate.h: Handle CSSOMViewSmoothScrolling by.
* WebView/WebPreferences.mm:
([WebPreferences initialize]): Disable CSSOMViewSmoothScrolling by default.
(-[WebPreferences CSSOMViewSmoothScrollingEnabled]): Getter.
(-[WebPreferences setCSSOMViewSmoothScrollingEnabled:]): Setter.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-01-16 David Kilzer <ddkilzer@apple.com>
Enable -Wconditional-uninitialized in WebInspectorUI, WebKitLegacy, WebKit projects
<https://webkit.org/b/206270>
<rdar://problem/58589767>
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
(WARNING_CFLAGS): Add -Wconditional-uninitialized switch.
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
Initialize `slot` stack variable.
* WebView/WebPDFDocumentExtras.mm:
(allScriptsInPDFDocument): Initialize `length` stack variable.
Also add check that `length` is non-zero.
2020-01-16 Cathie Chen <cathiechen@igalia.com>
Mapping HTML attributes width/height to the default aspect ratio of <img>
https://bugs.webkit.org/show_bug.cgi?id=201641
Reviewed by Frédéric Wang
Add experimental flag: AspectRatioOfImgFromWidthAndHeightEnabled.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
([WebPreferences initialize]):
(-[WebPreferences aspectRatioOfImgFromWidthAndHeightEnabled]):
(-[WebPreferences setAspectRatioOfImgFromWidthAndHeightEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-01-14 Antti Koivisto <antti@apple.com>
[LFC][Integration] Support the feature flag in DumpRenderTree
https://bugs.webkit.org/show_bug.cgi?id=206218
Reviewed by Zalan Bujtas.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences layoutFormattingContextIntegrationEnabled]):
(-[WebPreferences setLayoutFormattingContextIntegrationEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2020-01-09 Tim Horton <timothy_horton@apple.com>
Adopt TARGET_OS_MACCATALYST in more places
https://bugs.webkit.org/show_bug.cgi?id=206040
<rdar://problem/57127108>
Reviewed by Simon Fraser.
* Misc/WebDownload.h:
2020-01-08 Yusuke Suzuki <ysuzuki@apple.com>
Reduce binary size by purging C++ type information in Objective-C fields and parameters
https://bugs.webkit.org/show_bug.cgi?id=205905
Reviewed by Saam Barati.
* Plugins/WebBaseNetscapePluginView.h:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView element]):
* WebCoreSupport/WebEditorClient.mm:
(_WebCreateFragment):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
(-[WebFramePolicyListener initWithFrame:identifier:policyFunction:defaultPolicy:]):
(-[WebFramePolicyListener initWithFrame:identifier:policyFunction:defaultPolicy:appLinkURL:]):
* WebCoreSupport/WebGeolocationClient.mm:
(-[WebGeolocationPolicyListener initWithGeolocation:]):
(-[WebGeolocationPolicyListener initWithGeolocation:forWebView:]):
(-[WebGeolocationProviderInitializationListener initWithGeolocation:]):
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::resetState):
(-[WebInspectorWindowController setFrontendClient:]):
(-[WebInspectorWindowController setInspectorClient:]):
(-[WebInspectorWindowController inspectorClient]):
* WebInspector/WebInspectorFrontend.h:
* WebInspector/WebInspectorFrontend.mm:
* WebInspector/WebNodeHighlight.h:
* WebInspector/WebNodeHighlight.mm:
(-[WebNodeHighlight initWithTargetView:inspectorController:]):
* WebView/WebArchive.mm:
(-[WebArchive initWithMainResource:subresources:subframeArchives:]):
* WebView/WebDataSource.mm:
(-[WebDataSource _documentLoader]):
(-[WebDataSource addSubresource:]):
* WebView/WebDataSourceInternal.h:
* WebView/WebFrame.mm:
(getWebView):
(-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
(-[WebFrame _unmarkAllBadGrammar]):
(-[WebFrame _unmarkAllMisspellings]):
(-[WebFrame _hasSelection]):
(-[WebFrame _atMostOneFrameHasSelection]):
(-[WebFrame _findFrameWithSelection]):
(-[WebFrame _scrollDOMRangeToVisible:withInset:]):
(-[WebFrame _documentFragmentWithMarkupString:baseURLString:]):
(-[WebFrame _documentFragmentWithNodesAsParagraphs:]):
(-[WebFrame _canProvideDocumentSource]):
(-[WebFrame _isDescendantOfFrame:]):
(-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
(-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
(-[WebFrame setTimeoutsPaused:]):
(-[WebFrame prepareForPause]):
(-[WebFrame resumeFromPause]):
(-[WebFrame resetTextAutosizingBeforeLayout]):
(-[WebFrame _globalContextForScriptWorld:]):
(-[WebFrame _layerTreeAsText]):
(-[WebFrame _clearOpener]):
(-[WebFrame focusedNodeHasContent]):
(-[WebFrame _dispatchDidReceiveTitle:]):
(-[WebFrame jsWrapperForNode:inScriptWorld:]):
(-[WebFrame elementAtPoint:]):
(-[WebFrame name]):
(-[WebFrame DOMDocument]):
(-[WebFrame frameElement]):
(-[WebFrame provisionalDataSource]):
(-[WebFrame dataSource]):
(-[WebFrame loadRequest:]):
(-[WebFrame findFrameNamed:]):
(-[WebFrame parentFrame]):
(-[WebFrame childFrames]):
(-[WebFrame windowObject]):
(-[WebFrame globalContext]):
(-[WebFrame javaScriptContext]):
* WebView/WebFrameInternal.h:
* WebView/WebFrameView.mm:
(-[WebFrameView _web_frame]):
(-[WebFrameView _frameSizeChanged]):
(-[WebFrameView _isVerticalDocument]):
(-[WebFrameView _isFlippedDocument]):
(-[WebFrameView keyDown:keyDown:]):
* WebView/WebFullScreenController.mm:
(-[WebFullScreenController _document]):
* WebView/WebHTMLView.mm:
(-[WebMenuTarget menuController]):
(-[WebMenuTarget setMenuController:]):
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
(-[WebHTMLView _interpretKeyEvent:savingCommands:]):
(-[WebHTMLView setPromisedDragTIFFDataSource:]):
* WebView/WebHTMLViewInternal.h:
* WebView/WebNotification.mm:
(-[WebNotification initWithCoreNotification:notificationID:]):
* WebView/WebNotificationInternal.h:
* WebView/WebResource.mm:
(-[WebResource _coreResource]):
* WebView/WebResourceInternal.h:
* WebView/WebVideoFullscreenController.h:
* WebView/WebVideoFullscreenController.mm:
(-[WebVideoFullscreenController videoElement]):
(-[WebVideoFullscreenController setVideoElement:]):
* WebView/WebVideoFullscreenHUDWindowController.h:
* WebView/WebView.mm:
(-[WebView page]):
(-[WebView _enterVideoFullscreenForVideoElement:mode:]):
(-[WebView _setUpPlaybackControlsManagerForMediaElement:]):
(-[WebView _supportsFullScreenForElement:withKeyboard:]):
(-[WebView _enterFullScreenForElement:]):
(-[WebView _exitFullScreenForElement:]):
* WebView/WebViewInternal.h:
2020-01-08 youenn fablet <youenn@apple.com>
Implement MediaRecorder backend in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=205802
Reviewed by Eric Carlson.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
2020-01-07 Said Abou-Hallawa <sabouhallawa@apple.com>
Implement css3-images image-orientation
https://bugs.webkit.org/show_bug.cgi?id=89052
Reviewed by Simon Fraser.
Remove the ENABLE_CSS_IMAGE_ORIENTATION feature flag.
* Configurations/FeatureDefines.xcconfig:
2020-01-07 Chris Dumez <cdumez@apple.com>
Remove document.origin
https://bugs.webkit.org/show_bug.cgi?id=205681
Reviewed by Geoffrey Garen.
* DOM/DOMDocument.mm:
(-[DOMDocument origin]):
2020-01-07 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r254132.
https://bugs.webkit.org/show_bug.cgi?id=205868
It is breaking WinCairo build and internal builds. (Requested
by youenn on #webkit).
Reverted changeset:
"Implement MediaRecorder backend in GPUProcess"
https://bugs.webkit.org/show_bug.cgi?id=205802
https://trac.webkit.org/changeset/254132
2020-01-07 youenn fablet <youenn@apple.com>
Implement MediaRecorder backend in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=205802
Reviewed by Eric Carlson.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
2020-01-07 Carlos Garcia Campos <cgarcia@igalia.com>
[GTK][WPE] Add API to set purpose and hints of active editable element to input methods
https://bugs.webkit.org/show_bug.cgi?id=205605
Reviewed by Žan Doberšek.
* DOM/DOMHTMLElement.mm: Use ENABLE(AUTOCORRECT) and ENABLE(AUTOCAPITALIZE).
* WebCoreSupport/WebEditorClient.h: Update tom the new API to WebEditorClient::setInputMethodState.
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::setInputMethodState): Ditto.
2020-01-07 Chris Fleizach <cfleizach@apple.com>
AX: Enable ACCESSIBILITY_ISOLATED_TREE
https://bugs.webkit.org/show_bug.cgi?id=205535
<rdar://problem/58131075>
Reviewed by Zalan Bujtas.
* Configurations/FeatureDefines.xcconfig:
2020-01-06 Mark Lam <mark.lam@apple.com>
Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED.
https://bugs.webkit.org/show_bug.cgi?id=205776
Reviewed by Saam Barati.
* History/WebHistory.mm:
(-[WebHistoryPrivate removeItemForURLString:]):
* WebView/WebFrame.mm:
2020-01-06 Antoine Quint <graouts@apple.com>
[Web Animations] Enable CSS Animations via Web Animations for WebKitLegacy
https://bugs.webkit.org/show_bug.cgi?id=205791
Reviewed by Dean Jackson.
It was an oversight that it had not been done along with the WebKit change.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2020-01-05 Simon Fraser <simon.fraser@apple.com>
Fix a souce of WebKit1 test flakiness
https://bugs.webkit.org/show_bug.cgi?id=205761
Reviewed by Darin Adler.
Some animation tests (and possibly many others) are flakey or broken in WK1 because
there was no code to guarantee that Page::updateRendering() was called at notifyDone()
time.
WK2 calls DrawingArea::forceRepaint(), which does updateRendering(), flushes layers,
and flushes a CATransaction.
In WK1, we historically relied in AppKit to call -viewWillDraw on WebView and/or WebHTMLView,
and just called [webView display] to make this happen. However, with layer backing, AppKit behavior
changes, and WebCore changes that make more things happen with HTML event loop timing, this
approach no longer works. The fix is to add WebView SPI, _forceRepaintForTesting, which emulates what
WK2 is doing.
* WebView/WebView.mm:
(-[WebView _forceRepaintForTesting]):
* WebView/WebViewPrivate.h:
2020-01-03 Chris Dumez <cdumez@apple.com>
Add support for DragEvent
https://bugs.webkit.org/show_bug.cgi?id=205758
Reviewed by Darin Adler.
* WebView/WebPDFView.mm:
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
2020-01-03 Yusuke Suzuki <ysuzuki@apple.com>
Put more WebCore/WebKit JS objects into IsoSubspace
https://bugs.webkit.org/show_bug.cgi?id=205711
Reviewed by Keith Miller.
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::getMethod):
(WebKit::ProxyRuntimeMethod::create): Deleted.
(WebKit::ProxyRuntimeMethod::createStructure): Deleted.
(WebKit::ProxyRuntimeMethod::ProxyRuntimeMethod): Deleted.
(WebKit::ProxyRuntimeMethod::finishCreation): Deleted.
* Plugins/Hosted/ProxyRuntimeObject.h:
(WebKit::ProxyRuntimeObject::create): Deleted.
(WebKit::ProxyRuntimeObject::createStructure): Deleted.
2020-01-03 Chris Dumez <cdumez@apple.com>
Align XPathEvaluator.createNSResolver() / XPathResult.snapshotItem() with the specification
https://bugs.webkit.org/show_bug.cgi?id=205699
Reviewed by Alex Christensen.
* DOM/DOMDocument.mm:
(-[DOMDocument createNSResolver:]):
2019-12-22 Jeff Miller <jeffm@apple.com>
Update user-visible copyright strings to include 2020
https://bugs.webkit.org/show_bug.cgi?id=205552
Reviewed by Darin Adler.
* Info.plist:
2019-12-20 Brian Burg <bburg@apple.com>
Web Inspector: convert some InspectorFrontendHost methods to getters
https://bugs.webkit.org/show_bug.cgi?id=205475
Reviewed by Devin Rousso.
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::localizedStringsURL const):
(WebInspectorFrontendClient::localizedStringsURL): Deleted.
2019-12-20 Alex Christensen <achristensen@webkit.org>
Allow a managed configuration to re-enable TLS 1.0 and 1.1
https://bugs.webkit.org/show_bug.cgi?id=205479
<rdar://problem/54493516>
Reviewed by Geoffrey Garen.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2019-12-17 Kate Cheney <katherine_cheney@apple.com>
Add run-time flag for in-app browser privacy
https://bugs.webkit.org/show_bug.cgi?id=205288
<rdar://problem/57569206>
Reviewed by John Wilander.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences isInAppBrowserPrivacyEnabled]):
(-[WebPreferences setInAppBrowserPrivacyEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-12-16 Simon Fraser <simon.fraser@apple.com>
Change 'delegatesPageScaling' from a Setting to a flag on ScrollView
https://bugs.webkit.org/show_bug.cgi?id=205319
Reviewed by Tim Horton.
delegatesPageScaling() is never toggled at runtime (even by tests), and it should
be a flag on FrameView just like delegatesScrolling (maybe in future the flags can merge).
So remove the Setting, and have DrawingArea control whether page scaling is delegated.
In WebKit1, WebFrameLoaderClient::transitionToCommittedForNewPage() turns on delegated
page scaling for iOS.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::transitionToCommittedForNewPage):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-12-16 Antti Koivisto <antti@apple.com>
Remove display:contents feature flag
https://bugs.webkit.org/show_bug.cgi?id=205276
Reviewed by Ryosuke Niwa.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences displayContentsEnabled]): Deleted.
(-[WebPreferences setDisplayContentsEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-12-14 David Kilzer <ddkilzer@apple.com>
Add release assert for selectedIndex in WebKit::WebPopupMenu::show()
<https://webkit.org/b/205223>
<rdar://problem/57929078>
Reviewed by Wenson Hsieh.
* WebCoreSupport/PopupMenuMac.h:
(PopupMenuMac::show):
- Rename `index` parameter to `selectedIndex`.
* WebCoreSupport/PopupMenuMac.mm:
(PopupMenuMac::show):
- Rename `index` parameter to `selectedIndex`.
2019-12-13 Brady Eidson <beidson@apple.com>
Refactor ScriptController's proliferation of ExceptionDetails*.
https://bugs.webkit.org/show_bug.cgi?id=205151
Reviewed by Alex Christensen.
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::save):
(WebInspectorFrontendClient::append):
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
* WebView/WebView.mm:
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2019-12-12 David Kilzer <ddkilzer@apple.com>
REGRESSION (r229930, r231063): WebKitLegacy.xcconfig overwrites OTHER_CFLAGS, OTHER_CPLUSPLUSFLAGS and OTHER_LDFLAGS from Base.xcconfig
<https://webkit.org/b/205144>
Reviewed by Alexey Proskuryakov.
* Configurations/WebKitLegacy.xcconfig:
(OTHER_CFLAGS): Add back $(inherited) to fix the bug.
(OTHER_CFLAGS_COCOA_TOUCH): Add variable to hold value.
(OTHER_CFLAGS_COCOA_TOUCH_YES): Remove unused $(inherited).
(OTHER_CFLAGS_COCOA_TOUCH_NO): Ditto.
(OTHER_CPLUSPLUSFLAGS): Add back $(inherited) to fix the
bug, and don't assume $(OTHER_CFLAGS) is identical to this.
(OTHER_LDFLAGS): Add back $(inherited) to fix the bug.
2019-12-09 Eric Carlson <eric.carlson@apple.com>
Rename media in the GPU process preference
https://bugs.webkit.org/show_bug.cgi?id=205013
<rdar://problem/57755319>
Reviewed by Tim Horton.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences useGPUProcessForMedia]):
(-[WebPreferences setUseGPUProcessForMedia:]):
(-[WebPreferences outOfProcessMediaEnabled]): Deleted.
(-[WebPreferences setOutOfProcessMediaEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-12-09 Alex Christensen <achristensen@webkit.org>
Re-disable TLS1.0 and TLS1.1 by default
https://bugs.webkit.org/show_bug.cgi?id=204922
<rdar://problem/57677752>
Reviewed by Youenn Fablet.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2019-12-07 Tim Horton <timothy_horton@apple.com>
Implement encoding for DrawImage and DrawRoundedRect display list items
https://bugs.webkit.org/show_bug.cgi?id=204881
Reviewed by Simon Fraser.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2019-12-06 Commit Queue <commit-queue@webkit.org>
Unreviewed, rolling out r253218.
https://bugs.webkit.org/show_bug.cgi?id=204968
Broke the build (Requested by ap on #webkit).
Reverted changeset:
"Remove various .order files."
https://bugs.webkit.org/show_bug.cgi?id=204959
https://trac.webkit.org/changeset/253218
2019-12-06 Keith Miller <keith_miller@apple.com>
Remove various .order files.
https://bugs.webkit.org/show_bug.cgi?id=204959
Reviewed by Yusuke Suzuki.
These files are all super out of date and likely don't do anything anymore.
The signatures of the functions have changed thus the mangled name has changed.
* WebKit.order: Removed.
2019-12-05 Chris Dumez <cdumez@apple.com>
PageConfiguration::dragClient should use a smart pointer
https://bugs.webkit.org/show_bug.cgi?id=204816
Reviewed by Alex Christensen.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
2019-12-04 Chris Dumez <cdumez@apple.com>
PageConfiguration::progressTrackerClient should use a smart pointer
https://bugs.webkit.org/show_bug.cgi?id=204854
Reviewed by Alex Christensen.
* WebCoreSupport/WebProgressTrackerClient.h:
* WebCoreSupport/WebProgressTrackerClient.mm:
(WebProgressTrackerClient::progressTrackerDestroyed): Deleted.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
2019-12-04 Tim Horton <timothy_horton@apple.com>
Introduce a GPU process
https://bugs.webkit.org/show_bug.cgi?id=204343
Reviewed by Simon Fraser.
* Configurations/FeatureDefines.xcconfig:
2019-12-03 Megan Gardner <megan_gardner@apple.com>
Add disabled highlight API skeleton
https://bugs.webkit.org/show_bug.cgi?id=204809
Reviewed by Ryosuke Niwa.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences highlightAPIEnabled]):
(-[WebPreferences setHighlightAPIEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-12-03 Eric Carlson <eric.carlson@apple.com>
Add a runtime setting for media in the GPU process
https://bugs.webkit.org/show_bug.cgi?id=204801
<rdar://problem/57596199>
Reviewed by Jer Noble.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences outOfProcessMediaEnabled]):
(-[WebPreferences setOutOfProcessMediaEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-12-03 Antoine Quint <graouts@apple.com>
[Web Animations] Add a runtime flag for Web Animations composite operations
https://bugs.webkit.org/show_bug.cgi?id=204718
Reviewed by Dean Jackson.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences webAnimationsCompositeOperationsEnabled]):
(-[WebPreferences setWebAnimationsCompositeOperationsEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-12-03 Chris Dumez <cdumez@apple.com>
PageConfiguration::alternativeTextClient should use a smart pointer
https://bugs.webkit.org/show_bug.cgi?id=204777
Reviewed by Anders Carlsson.
* WebCoreSupport/WebAlternativeTextClient.h:
* WebCoreSupport/WebAlternativeTextClient.mm:
(WebAlternativeTextClient::pageDestroyed): Deleted.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2019-12-03 Carlos Garcia Campos <cgarcia@igalia.com>
[PSON] Tooltips from previous page shown on new page
https://bugs.webkit.org/show_bug.cgi?id=204735
Reviewed by Chris Dumez.
Update to the new ChromeClient API.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::mouseDidMoveOverElement):
(WebChromeClient::setToolTip):
2019-11-28 Fujii Hironori <Hironori.Fujii@sony.com>
Remove ENABLE_KEYBOARD_CODE_ATTRIBUTE and ENABLE_KEYBOARD_KEY_ATTRIBUTE macros
https://bugs.webkit.org/show_bug.cgi?id=204666
Reviewed by Ross Kirsling and Don Olmstead.
* Configurations/FeatureDefines.xcconfig:
2019-11-26 Chris Dumez <cdumez@apple.com>
Drop ActiveDOMObject::shouldPreventEnteringBackForwardCache_DEPRECATED()
https://bugs.webkit.org/show_bug.cgi?id=204626
Reviewed by Ryosuke Niwa.
* WebView/WebFrame.mm:
(-[WebFrame _cacheabilityDictionary]):
2019-11-21 Daniel Bates <dabates@apple.com>
Remove unneeded code that annotated DOMHTMLElement as conforming to UITextInputTraits protocol
https://bugs.webkit.org/show_bug.cgi?id=204464
Reviewed by Wenson Hsieh.
DOMHTMLElement never really conformed to the UITextInputTraits protocol. It was annotated as doing so
in order to register with the runtime as part of advertising that it implemented two UITextInputTraits_Private
messages in r222487: -acceptsAutofilledLoginCredentials and -representingPageURL. These messages were
subsequently removed in r222991 (over years ago). So, we do not need to continue advertising UITextInputTraits
conformance.
* DOM/DOMHTMLInputElement.h:
2019-11-15 Eric Carlson <eric.carlson@apple.com>
Don't use AVCapture on watchOS and tvOS
https://bugs.webkit.org/show_bug.cgi?id=204254
<rdar://problem/45508044>
Reviewed by Youenn Fablet.
* Configurations/FeatureDefines.xcconfig:
2019-11-15 Myles C. Maxfield <mmaxfield@apple.com>
[Apple] Enable variation fonts on all Apple platforms
https://bugs.webkit.org/show_bug.cgi?id=198100
Reviewed by Simon Fraser.
* Configurations/FeatureDefines.xcconfig:
2019-11-13 Myles C. Maxfield <mmaxfield@apple.com>
[Mac] Fix build
https://bugs.webkit.org/show_bug.cgi?id=204136
Reviewed by Alex Christensen.
Remove deprecation warnings.
* Plugins/WebPluginController.mm:
(-[WebPluginController webPlugInContainerSelectionColor]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::setCopiesOnScroll):
* WebView/WebHTMLView.mm:
(-[WebHTMLView view:stringForToolTip:point:userData:]):
(-[WebHTMLView pasteboardChangedOwner:]):
(-[WebHTMLView pasteboard:provideDataForType:]):
(-[WebHTMLView changeFont:]):
(-[WebHTMLView changeColor:]):
* WebView/WebPDFView.mm:
(-[WebPDFView _openWithFinder:]):
2019-11-08 Daniel Bates <dabates@apple.com>
Add WebKit Legacy SPI to retrieve editable elements in rect
https://bugs.webkit.org/show_bug.cgi?id=204006
<rdar://problem/57024093>
Reviewed by Wenson Hsieh.
Add SPI to retrieve all the editable elements in a rect.
* WebView/WebView.mm:
(-[WebView _editableElementsInRect:]): Added.
* WebView/WebViewPrivate.h:
2019-11-04 Alex Christensen <achristensen@webkit.org>
REGRESSION(r243947) Epson software updater fails to install new version
https://bugs.webkit.org/show_bug.cgi?id=203809
<rdar://problem/56002179>
Reviewed by Brady Eidson.
* Misc/WebDownload.mm:
(shouldCallOnNetworkThread):
(callOnDelegateThread):
(isDelegateThread):
(-[WebDownloadInternal downloadDidBegin:]):
(-[WebDownloadInternal download:willSendRequest:redirectResponse:]):
(-[WebDownloadInternal download:didReceiveAuthenticationChallenge:]):
(-[WebDownloadInternal download:didReceiveResponse:]):
(-[WebDownloadInternal download:didReceiveDataOfLength:]):
(-[WebDownloadInternal download:shouldDecodeSourceDataOfMIMEType:]):
(-[WebDownloadInternal download:decideDestinationWithSuggestedFilename:]):
(-[WebDownloadInternal download:didCreateDestination:]):
(-[WebDownloadInternal downloadDidFinish:]):
(-[WebDownloadInternal download:didFailWithError:]):
2019-11-02 Devin Rousso <drousso@apple.com>
Web Inspector: Add diagnostic logging for frontend feature usage
https://bugs.webkit.org/show_bug.cgi?id=203579
<rdar://problem/56717410>
Reviewed by Brian Burg.
Original patch by Matt Baker <mattbaker@apple.com>.
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::supportsDiagnosticLogging): Added.
(WebInspectorFrontendClient::logDiagnosticEvent): Added.
* Configurations/FeatureDefines.xcconfig:
Add `ENABLE_INSPECTOR_TELEMETRY`, which is only enabled for macOS.
2019-10-30 Peng Liu <peng.liu6@apple.com>
[Picture-in-Picture Web API] Enable the support for iOS
https://bugs.webkit.org/show_bug.cgi?id=202618
Reviewed by Jer Noble.
Enable the Picture-in-Picture API support for iOS (iPad only).
* Configurations/FeatureDefines.xcconfig:
2019-10-29 Andy Estes <aestes@apple.com>
[Quick Look] Clean up LegacyPreviewLoaderClients
https://bugs.webkit.org/show_bug.cgi?id=203472
Reviewed by Brady Eidson.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPreviewLoaderClient):
2019-10-26 Chris Lord <clord@igalia.com>
Put OffscreenCanvas behind a build flag
https://bugs.webkit.org/show_bug.cgi?id=203146
Reviewed by Ryosuke Niwa.
* Configurations/FeatureDefines.xcconfig:
2019-10-23 Andy Estes <aestes@apple.com>
[Quick Look] Rename PreviewLoader{,Client} to LegacyPreviewLoader{,Client}
https://bugs.webkit.org/show_bug.cgi?id=203306
Reviewed by Tim Horton.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPreviewLoaderClient):
* WebView/WebDataSource.mm:
(-[WebDataSource _quickLookPreviewLoaderClient]):
(-[WebDataSource _setQuickLookPreviewLoaderClient:]):
* WebView/WebDataSourceInternal.h:
2019-10-22 Alex Christensen <achristensen@webkit.org>
Re-enable legacy TLS by default, keep runtime switch
https://bugs.webkit.org/show_bug.cgi?id=203253
Reviewed by Geoffrey Garen.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2019-10-21 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Thread JSGlobalObject* instead of ExecState*
https://bugs.webkit.org/show_bug.cgi?id=202392
Reviewed by Geoffrey Garen.
* DOM/DOMInternal.mm:
(-[WebScriptObject _initializeScriptDOMNodeImp]):
* DOM/WebDOMOperations.mm:
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
(WebKit::NetscapePluginInstanceProxy::marshalValue):
(WebKit::NetscapePluginInstanceProxy::marshalValues):
(WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
(WebKit::NetscapePluginInstanceProxy::demarshalValue):
(WebKit::NetscapePluginInstanceProxy::demarshalValues):
(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):
* Plugins/Hosted/ProxyInstance.h:
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyField::valueFromInstance const):
(WebKit::ProxyField::setValueToInstance const):
(WebKit::ProxyInstance::newRuntimeObject):
(WebKit::ProxyInstance::invoke):
(WebKit::ProxyRuntimeMethod::create):
(WebKit::ProxyInstance::getMethod):
(WebKit::ProxyInstance::invokeMethod):
(WebKit::ProxyInstance::invokeDefaultMethod):
(WebKit::ProxyInstance::invokeConstruct):
(WebKit::ProxyInstance::defaultValue const):
(WebKit::ProxyInstance::stringValue const):
(WebKit::ProxyInstance::numberValue const):
(WebKit::ProxyInstance::valueOf const):
(WebKit::ProxyInstance::getPropertyNames):
(WebKit::ProxyInstance::fieldValue const):
(WebKit::ProxyInstance::setFieldValue const):
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
(-[WebFrame _globalContextForScriptWorld:]):
(-[WebFrame jsWrapperForNode:inScriptWorld:]):
(-[WebFrame globalContext]):
* WebView/WebScriptDebugger.h:
* WebView/WebScriptDebugger.mm:
(WebScriptDebugger::sourceParsed):
* WebView/WebView.mm:
(+[WebView _reportException:inContext:]):
(aeDescFromJSValue):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
2019-10-22 Wenson Hsieh <wenson_hsieh@apple.com>
imported/w3c/web-platform-tests/clipboard-apis/async-navigator-clipboard-basics.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=203181
Reviewed by Ryosuke Niwa.
Add a changeCount argument to informationForItemAtIndex and allPasteboardItemInfo, and also make then return
optional values. See WebCore ChangeLog for more details.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::changeCount):
(WebPlatformStrategies::addTypes):
(WebPlatformStrategies::setTypes):
(WebPlatformStrategies::setBufferForType):
(WebPlatformStrategies::setURL):
(WebPlatformStrategies::setColor):
(WebPlatformStrategies::setStringForType):
(WebPlatformStrategies::writeCustomData):
(WebPlatformStrategies::informationForItemAtIndex):
(WebPlatformStrategies::allPasteboardItemInfo):
2019-10-17 Devin Rousso <drousso@apple.com>
Web Inspector: rework frontend agent construction to allow commands/events to be controlled by the related target's type
https://bugs.webkit.org/show_bug.cgi?id=200384
<rdar://problem/53850352>
Reviewed by Joseph Pecoraro.
* WebCoreSupport/WebInspectorClient.h:
(WebInspectorFrontendClient::debuggableType const): Added.
Split the `Web` debuggable type into `Page` (WebCore::Page) and `WebPage` (WebKit::WebPageProxy).
2019-10-16 Chris Dumez <cdumez@apple.com>
Unreviewed, fix iOS Debug build after r251220.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-10-16 Chris Dumez <cdumez@apple.com>
Rename PageCache to BackForwardCache
https://bugs.webkit.org/show_bug.cgi?id=203048
Reviewed by Alex Christensen.
Rename PageCache to BackForwardCache for clarity and consistency with the UIProcess's WebBackForwardCache.
* History/BackForwardList.mm:
(BackForwardList::addItem):
(BackForwardList::setCapacity):
* History/WebBackForwardList.mm:
(-[WebBackForwardList pageCacheSize]):
* History/WebHistoryItem.mm:
* History/WebHistoryItemPrivate.h:
* Misc/WebCache.mm:
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics cachedPageCount]):
(+[WebCoreStatistics cachedFrameCount]):
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::forceLayoutOnRestoreFromBackForwardCache):
(WebFrameLoaderClient::didRestoreFromBackForwardCache):
* WebCoreSupport/WebVisitedLinkStore.mm:
* WebView/WebHTMLView.mm:
(-[WebHTMLView layoutToMinimumPageWidth:height:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustingViewSize:]):
(-[WebHTMLView setNeedsLayout:]):
(-[WebHTMLView setNeedsToApplyStyles:]):
* WebView/WebView.mm:
(-[WebView _close]):
(-[WebView _preferencesChanged:]):
(+[WebView _setCacheModel:]):
2019-10-16 Chris Dumez <cdumez@apple.com>
[WK2] Move back/forward cache entry expiration from the WebProcess to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=203034
<rdar://problem/56332453>
Reviewed by Antti Koivisto.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-10-15 Chris Dumez <cdumez@apple.com>
[macOS] Simplify main thread initialization
https://bugs.webkit.org/show_bug.cgi?id=203001
Reviewed by Geoff Garen.
* History/WebBackForwardList.mm:
(+[WebBackForwardList initialize]):
* History/WebHistoryItem.mm:
(+[WebHistoryItem initialize]):
* Misc/WebCache.mm:
(+[WebCache initialize]):
* Misc/WebElementDictionary.mm:
(+[WebElementDictionary initialize]):
* Misc/WebIconDatabase.mm:
* Misc/WebStringTruncator.mm:
(+[WebStringTruncator initialize]):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(+[WebHostedNetscapePluginView initialize]):
* Plugins/WebBaseNetscapePluginView.mm:
* Plugins/WebBasePluginPackage.mm:
(+[WebBasePluginPackage initialize]):
* Plugins/WebNetscapePluginView.mm:
(+[WebNetscapePluginView initialize]):
* WebCoreSupport/WebEditorClient.mm:
(+[WebUndoStep initialize]):
* WebCoreSupport/WebFrameLoaderClient.mm:
(+[WebFramePolicyListener initialize]):
* WebView/WebArchive.mm:
(+[WebArchivePrivate initialize]):
* WebView/WebDataSource.mm:
(+[WebDataSource initialize]):
* WebView/WebHTMLView.mm:
(+[WebHTMLViewPrivate initialize]):
(+[WebHTMLView initialize]):
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebResource.mm:
(+[WebResourcePrivate initialize]):
* WebView/WebTextIterator.mm:
(+[WebTextIteratorPrivate initialize]):
* WebView/WebView.mm:
(+[WebView initialize]):
* WebView/WebViewData.mm:
(+[WebViewPrivate initialize]):
2019-10-15 Peng Liu <peng.liu6@apple.com>
[Picture-in-Picture Web API] Implement HTMLVideoElement.requestPictureInPicture() / Document.exitPictureInPicture()
https://bugs.webkit.org/show_bug.cgi?id=201024
Reviewed by Eric Carlson.
Add configurations for Picture-in-Picture API and also a preference option for it.
* Configurations/FeatureDefines.xcconfig:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences pictureInPictureAPIEnabled]):
(-[WebPreferences setPictureInPictureAPIEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-10-14 Chris Dumez <cdumez@apple.com>
[WK2] Have WebBackForwardCache class coordinate page caching in all WebProcesses
https://bugs.webkit.org/show_bug.cgi?id=202929
<rdar://problem/56250421>
Reviewed by Alex Christensen.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
2019-10-14 Wenson Hsieh <wenson_hsieh@apple.com>
[Clipboard API] Refactor custom pasteboard writing codepaths to handle multiple items
https://bugs.webkit.org/show_bug.cgi?id=202916
Reviewed by Tim Horton.
Adjust some method signatures.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::writeCustomData):
2019-10-14 David Quesada <david_quesada@apple.com>
Remove WebCore::IOSApplication::isWebApp()
https://bugs.webkit.org/show_bug.cgi?id=181259
Reviewed by Alex Christensen.
* WebCoreSupport/WebApplicationCache.mm:
(applicationCacheBundleIdentifier):
2019-10-14 Wenson Hsieh <wenson_hsieh@apple.com>
[Clipboard API] Support writing multiple PasteboardCustomData with SharedBuffers to the pasteboard
https://bugs.webkit.org/show_bug.cgi?id=202851
Reviewed by Darin Adler.
See WebCore ChangeLog for more details.
* WebCoreSupport/WebPlatformStrategies.h:
2019-10-09 Wenson Hsieh <wenson_hsieh@apple.com>
[Clipboard API] Refactor Pasteboard item reading functions to work on both iOS and macOS
https://bugs.webkit.org/show_bug.cgi?id=202647
Reviewed by Tim Horton.
Refactor iOS-specific pasteboard functions to be platform-agnostic. See WebCore ChangeLog for more details.
* WebCoreSupport/WebPlatformStrategies.h:
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::informationForItemAtIndex):
(WebPlatformStrategies::allPasteboardItemInfo):
(WebPlatformStrategies::getPasteboardItemsCount):
(WebPlatformStrategies::readBufferFromPasteboard):
(WebPlatformStrategies::readURLFromPasteboard):
(WebPlatformStrategies::readStringFromPasteboard):
(WebPlatformStrategies::writeToPasteboard):
(WebPlatformStrategies::updateSupportedTypeIdentifiers):
2019-10-08 Antti Koivisto <antti@apple.com>
[CSS Shadow Parts] Enable by default
https://bugs.webkit.org/show_bug.cgi?id=202644
Reviewed by Ryosuke Niwa.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2019-10-07 Ryosuke Niwa <rniwa@webkit.org>
Add IDL for requestIdleCallback
https://bugs.webkit.org/show_bug.cgi?id=202653
Reviewed by Geoffrey Garen.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-10-07 Yusuke Suzuki <ysuzuki@apple.com>
[JSC] Change signature of HostFunction to (JSGlobalObject*, CallFrame*)
https://bugs.webkit.org/show_bug.cgi?id=202569
Reviewed by Saam Barati.
* WebView/WebScriptDebugger.h:
2019-10-04 Alex Christensen <achristensen@webkit.org>
Rename SchemeRegistry to LegacySchemeRegistry
https://bugs.webkit.org/show_bug.cgi?id=202586
Reviewed by Tim Horton.
* WebView/WebView.mm:
(+[WebView _setDomainRelaxationForbidden:forURLScheme:]):
(+[WebView _registerURLSchemeAsSecure:]):
(+[WebView _registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing:]):
(+[WebView registerURLSchemeAsLocal:]):
2019-10-04 Alex Christensen <achristensen@webkit.org>
Simplify sandbox enabling macros
https://bugs.webkit.org/show_bug.cgi?id=202536
Reviewed by Brent Fulgham.
* Configurations/FeatureDefines.xcconfig:
2019-10-02 Tim Horton <timothy_horton@apple.com>
Provide TAPI the full target triple instead of just the arch
https://bugs.webkit.org/show_bug.cgi?id=202486
Reviewed by Simon Fraser.
* MigrateHeaders.make:
For accuracy and consistency's sake, pass the whole target identifier
instead of just one piece.
2019-10-01 Tim Horton <timothy_horton@apple.com>
Clean up some includes to make the build a bit faster
https://bugs.webkit.org/show_bug.cgi?id=202444
Reviewed by Geoff Garen.
* WebView/WebFrame.mm:
* WebView/WebView.mm:
2019-10-01 Antti Koivisto <antti@apple.com>
[CSS Shadow Parts] Parse 'part' attribute
https://bugs.webkit.org/show_bug.cgi?id=202409
Reviewed by Ryosuke Niwa.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences cssShadowPartsEnabled]):
(-[WebPreferences setCSSShadowPartsEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-10-01 Alex Christensen <achristensen@webkit.org>
Progress towards successful CMake build on Mac
https://bugs.webkit.org/show_bug.cgi?id=202426
Rubber-stamped by Tim Horton.
* WebView/WebDataSource.mm:
2019-10-01 Alex Christensen <achristensen@webkit.org>
Unify more WebKitLegacy sources
https://bugs.webkit.org/show_bug.cgi?id=202410
Reviewed by Tim Horton.
* DOM/DOMHTML.mm:
(-[DOMHTMLElement scrollXOffset]):
(-[DOMHTMLElement scrollYOffset]):
(-[DOMHTMLElement setScrollXOffset:scrollYOffset:adjustForIOSCaret:]):
(-[DOMHTMLElement absolutePosition::::]):
(-[DOMHTMLInputElement setValueWithChangeEvent:]):
(-[DOMHTMLInputElement setValueAsNumberWithChangeEvent:]):
* DOM/DOMHTMLTextAreaElement.mm:
(unwrap):
(core):
(kit):
(-[DOMHTMLTextAreaElement autofocus]):
(-[DOMHTMLTextAreaElement setAutofocus:]):
(-[DOMHTMLTextAreaElement dirName]):
(-[DOMHTMLTextAreaElement setDirName:]):
(-[DOMHTMLTextAreaElement disabled]):
(-[DOMHTMLTextAreaElement setDisabled:]):
(-[DOMHTMLTextAreaElement form]):
(-[DOMHTMLTextAreaElement maxLength]):
(-[DOMHTMLTextAreaElement setMaxLength:]):
(-[DOMHTMLTextAreaElement name]):
(-[DOMHTMLTextAreaElement setName:]):
(-[DOMHTMLTextAreaElement placeholder]):
(-[DOMHTMLTextAreaElement setPlaceholder:]):
(-[DOMHTMLTextAreaElement readOnly]):
(-[DOMHTMLTextAreaElement setReadOnly:]):
(-[DOMHTMLTextAreaElement required]):
(-[DOMHTMLTextAreaElement setRequired:]):
(-[DOMHTMLTextAreaElement rows]):
(-[DOMHTMLTextAreaElement setRows:]):
(-[DOMHTMLTextAreaElement cols]):
(-[DOMHTMLTextAreaElement setCols:]):
(-[DOMHTMLTextAreaElement wrap]):
(-[DOMHTMLTextAreaElement setWrap:]):
(-[DOMHTMLTextAreaElement type]):
(-[DOMHTMLTextAreaElement defaultValue]):
(-[DOMHTMLTextAreaElement setDefaultValue:]):
(-[DOMHTMLTextAreaElement value]):
(-[DOMHTMLTextAreaElement setValue:]):
(-[DOMHTMLTextAreaElement textLength]):
(-[DOMHTMLTextAreaElement willValidate]):
(-[DOMHTMLTextAreaElement labels]):
(-[DOMHTMLTextAreaElement selectionStart]):
(-[DOMHTMLTextAreaElement setSelectionStart:]):
(-[DOMHTMLTextAreaElement selectionEnd]):
(-[DOMHTMLTextAreaElement setSelectionEnd:]):
(-[DOMHTMLTextAreaElement selectionDirection]):
(-[DOMHTMLTextAreaElement setSelectionDirection:]):
(-[DOMHTMLTextAreaElement accessKey]):
(-[DOMHTMLTextAreaElement setAccessKey:]):
(-[DOMHTMLTextAreaElement autocomplete]):
(-[DOMHTMLTextAreaElement setAutocomplete:]):
(-[DOMHTMLTextAreaElement select]):
(-[DOMHTMLTextAreaElement setRangeText:]):
(-[DOMHTMLTextAreaElement setRangeText:start:end:selectionMode:]):
(-[DOMHTMLTextAreaElement setSelectionRange:end:]):
* DOM/DOMUIKitExtensions.mm:
(-[DOMRange move:inDirection:]):
(-[DOMRange extend:inDirection:]):
(-[DOMNode borderRadii]):
(-[DOMNode isSelectableBlock]):
(-[DOMNode findExplodedTextNodeAtPoint:]):
(-[DOMHTMLElement structuralComplexityContribution]):
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(dataSource):
* WebView/WebDataSource.mm:
(addTypesFromClass):
2019-10-01 Alex Christensen <achristensen@webkit.org>
Fix internal build after r250549
https://bugs.webkit.org/show_bug.cgi?id=202390
Remove some more "using namespace WebCore"
* History/WebBackForwardList.mm:
(-[WebBackForwardList dictionaryRepresentation]):
(vectorToNSArray):
(-[WebBackForwardList backListWithLimit:]):
(-[WebBackForwardList forwardListWithLimit:]):
(-[WebBackForwardList description]):
(-[WebBackForwardList pageCacheSize]):
* Misc/WebSharingServicePickerController.mm:
(WebSharingServicePickerClient::pageForSharingServicePicker):
(WebSharingServicePickerClient::screenRectForCurrentSharingServicePickerItem):
(-[WebSharingServicePickerController didShareImageData:confirmDataIsValidTIFFData:]):
(-[WebSharingServicePickerController sharingService:didShareItems:]):
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage getPluginInfoFromPLists]):
(-[WebBasePluginPackage pluginInfo]):
* Plugins/WebPluginContainerCheck.mm:
(-[WebPluginContainerCheck _continueWithPolicy:]):
(-[WebPluginContainerCheck _isForbiddenFileLoad]):
* Plugins/WebPluginController.mm:
(initializeAudioSession):
(-[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController superlayerForPluginView:]):
(-[WebPluginController stopOnePlugin:]):
(-[WebPluginController stopOnePluginForPageCache:]):
(-[WebPluginController destroyOnePlugin:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController addPlugin:]):
(-[WebPluginController destroyPlugin:]):
(-[WebPluginController destroyAllPlugins]):
(-[WebPluginController processingUserGesture]):
(-[WebPluginController webPlugInContainerLoadRequest:inFrame:]):
(-[WebPluginController webPlugInContainerSelectionColor]):
* Plugins/WebPluginDatabase.mm:
(-[WebPluginDatabase refresh]):
(-[WebPluginDatabase _removePlugin:]):
* WebCoreSupport/WebApplicationCache.mm:
(+[WebApplicationCache initializeWithBundleIdentifier:]):
(webApplicationCacheStorage):
* WebCoreSupport/WebApplicationCacheQuotaManager.mm:
2019-09-30 Alex Christensen <achristensen@webkit.org>
Resurrect Mac CMake build
https://bugs.webkit.org/show_bug.cgi?id=202384
Rubber-stamped by Tim Horton.
* DefaultDelegates/WebDefaultPolicyDelegate.m:
(-[WebDefaultPolicyDelegate webView:decidePolicyForNavigationAction:request:frame:decisionListener:]):
2019-09-30 Alex Christensen <achristensen@webkit.org>
Unify more WebKitLegacy sources
https://bugs.webkit.org/show_bug.cgi?id=202390
Reviewed by Tim Horton.
* WebCoreSupport/WebFrameLoaderClient.mm:
(dataSource):
(WebFrameLoaderClient::pageID const):
(WebFrameLoaderClient::frameID const):
(WebFrameLoaderClient::makeRepresentation):
(WebFrameLoaderClient::forceLayoutOnRestoreFromPageCache):
(WebFrameLoaderClient::convertMainResourceLoadToDownload):
(WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
(WebFrameLoaderClient::assignIdentifierToInitialRequest):
(WebFrameLoaderClient::dispatchWillSendRequest):
(WebFrameLoaderClient::shouldUseCredentialStorage):
(WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
(WebFrameLoaderClient::canAuthenticateAgainstProtectionSpace):
(WebFrameLoaderClient::connectionProperties):
(WebFrameLoaderClient::dispatchDidReceiveResponse):
(WebFrameLoaderClient::willCacheResponse const):
(WebFrameLoaderClient::dispatchDidReceiveContentLength):
(WebFrameLoaderClient::dispatchDidFinishLoading):
(WebFrameLoaderClient::dispatchDidFailLoading):
(WebFrameLoaderClient::dispatchWillPerformClientRedirect):
(WebFrameLoaderClient::dispatchDidReceiveTitle):
(WebFrameLoaderClient::dispatchDidCommitLoad):
(WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
(WebFrameLoaderClient::dispatchDidFailLoad):
(WebFrameLoaderClient::dispatchDidReachLayoutMilestone):
(WebFrameLoaderClient::dispatchCreatePage):
(WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(shouldTryAppLink):
(WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction):
(WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebFrameLoaderClient::dispatchUnableToImplementPolicy):
(makeFormFieldValuesDictionary):
(WebFrameLoaderClient::dispatchWillSubmitForm):
(WebFrameLoaderClient::revertToProvisionalState):
(WebFrameLoaderClient::setMainDocumentError):
(WebFrameLoaderClient::startDownload):
(WebFrameLoaderClient::willChangeTitle):
(WebFrameLoaderClient::didChangeTitle):
(WebFrameLoaderClient::didReplaceMultipartContent):
(WebFrameLoaderClient::committedLoad):
(WebFrameLoaderClient::finishedLoading):
(WebFrameLoaderClient::updateGlobalHistory):
(WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
(WebFrameLoaderClient::shouldGoToHistoryItem const):
(WebFrameLoaderClient::didDisplayInsecureContent):
(WebFrameLoaderClient::didRunInsecureContent):
(WebFrameLoaderClient::cancelledError):
(WebFrameLoaderClient::blockedError):
(WebFrameLoaderClient::blockedByContentBlockerError):
(WebFrameLoaderClient::cannotShowURLError):
(WebFrameLoaderClient::interruptedForPolicyChangeError):
(WebFrameLoaderClient::blockedByContentFilterError):
(WebFrameLoaderClient::cannotShowMIMETypeError):
(WebFrameLoaderClient::fileDoesNotExistError):
(WebFrameLoaderClient::pluginWillHandleLoadError):
(WebFrameLoaderClient::shouldFallBack):
(WebFrameLoaderClient::canHandleRequest const):
(WebFrameLoaderClient::saveViewStateToItem):
(WebFrameLoaderClient::restoreViewState):
(WebFrameLoaderClient::createDocumentLoader):
(WebFrameLoaderClient::setTitle):
(WebFrameLoaderClient::savePlatformDataToCachedFrame):
(WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
(WebFrameLoaderClient::transitionToCommittedForNewPage):
(WebFrameLoaderClient::setUpPolicyListener):
(WebFrameLoaderClient::actionDictionary const):
(WebFrameLoaderClient::canCachePage const):
(WebFrameLoaderClient::createFrame):
(WebFrameLoaderClient::objectContentType):
(PluginWidget::PluginWidget):
(PluginWidget::invalidateRect):
(NetscapePluginWidget::handleEvent):
(NetscapePluginWidget::notifyWidget):
(shouldBlockPlugin):
(WebFrameLoaderClient::createPlugin):
(WebFrameLoaderClient::redirectDataToPlugin):
(WebFrameLoaderClient::createJavaAppletWidget):
(shouldBlockWebGL):
(WebFrameLoaderClient::webGLPolicyForURL const):
(WebFrameLoaderClient::resolveWebGLPolicyForURL const):
(WebFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
(WebFrameLoaderClient::createNetworkingContext):
(WebFrameLoaderClient::createPreviewLoaderClient):
(WebFrameLoaderClient::getLoadDecisionForIcons):
(webGetNSImage):
(WebFrameLoaderClient::finishedLoadingIcon):
(-[WebFramePolicyListener initWithFrame:identifier:policyFunction:defaultPolicy:]):
(-[WebFramePolicyListener initWithFrame:identifier:policyFunction:defaultPolicy:appLinkURL:]):
(-[WebFramePolicyListener invalidate]):
(-[WebFramePolicyListener receivedPolicyDecision:]):
(-[WebFramePolicyListener ignore]):
(-[WebFramePolicyListener download]):
(-[WebFramePolicyListener use]):
(-[WebFramePolicyListener continue]):
* WebInspector/WebInspector.mm:
(-[WebInspector showWindow]):
(-[WebInspector evaluateInFrontend:script:]):
* WebView/WebClipView.mm:
(-[WebClipView visibleRect]):
(-[WebClipView _immediateScrollToPoint:]):
* WebView/WebDataSource.mm:
(-[WebDataSource _documentFragmentWithArchive:]):
(-[WebDataSource _documentLoader]):
(-[WebDataSource initWithRequest:]):
(-[WebDataSource dealloc]):
(-[WebDataSource data]):
(-[WebDataSource webFrame]):
(-[WebDataSource initialRequest]):
(-[WebDataSource request]):
(-[WebDataSource webArchive]):
* WebView/WebFrame.mm:
(core):
(kit):
(getWebView):
(+[WebFrame _createFrameWithPage:frameName:frameView:ownerElement:]):
(+[WebFrame _createMainFrameWithPage:frameName:frameView:]):
(+[WebFrame _createSubframeWithOwnerElement:frameName:frameView:]):
(+[WebFrame _createMainFrameWithSimpleHTMLDocumentWithPage:frameView:style:]):
(-[WebFrame _attachScriptDebugger]):
(-[WebFrame _updateBackgroundAndUpdatesWhileOffscreen]):
(-[WebFrame _unmarkAllBadGrammar]):
(-[WebFrame _unmarkAllMisspellings]):
(-[WebFrame _hasSelection]):
(-[WebFrame _atMostOneFrameHasSelection]):
(-[WebFrame _findFrameWithSelection]):
(-[WebFrame _nodesFromList:]):
(-[WebFrame _stringForRange:]):
(-[WebFrame _paintBehaviorForDestinationContext:]):
(-[WebFrame _drawRect:contentsOnly:]):
(-[WebFrame _getVisibleRect:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _caretRectAtPosition:affinity:]):
(-[WebFrame _scrollDOMRangeToVisible:]):
(-[WebFrame _scrollDOMRangeToVisible:withInset:]):
(-[WebFrame _rangeByAlteringCurrentSelection:direction:granularity:]):
(-[WebFrame _selectionGranularity]):
(-[WebFrame _convertToNSRange:]):
(-[WebFrame _convertToDOMRange:]):
(-[WebFrame _convertToDOMRange:rangeIsRelativeTo:]):
(-[WebFrame _documentFragmentWithMarkupString:baseURLString:]):
(-[WebFrame _documentFragmentWithNodesAsParagraphs:]):
(-[WebFrame _visiblePositionForPoint:]):
(-[WebFrame _characterRangeAtPoint:]):
(-[WebFrame _typingStyle]):
(-[WebFrame _setTypingStyle:withUndoAction:]):
(-[WebFrame _dragSourceEndedAt:operation:]):
(-[WebFrame _canProvideDocumentSource]):
(-[WebFrame _commitData:]):
(-[WebFrame _isDescendantOfFrame:]):
(-[WebFrame _bodyBackgroundColor]):
(-[WebFrame _isFrameSet]):
(-[WebFrame _isVisuallyNonEmpty]):
(toWebFrameLoadType):
(-[WebFrame _rectsForRange:]):
(-[WebFrame _selectionRangeForFirstPoint:secondPoint:]):
(-[WebFrame _selectionRangeForPoint:]):
(-[WebFrame _selectNSRange:]):
(-[WebFrame _isDisplayingStandaloneImage]):
(-[WebFrame _recursive_resumeNullEventsForAllNetscapePlugins]):
(-[WebFrame _recursive_pauseNullEventsForAllNetscapePlugins]):
(-[WebFrame setTimeoutsPaused:]):
(-[WebFrame prepareForPause]):
(-[WebFrame resumeFromPause]):
(-[WebFrame selectWithoutClosingTypingNSRange:]):
(-[WebFrame _saveViewState]):
(-[WebFrame deviceOrientationChanged]):
(-[WebFrame renderedSizeOfNode:constrainedToWidth:]):
(-[WebFrame deepestNodeAtViewportLocation:]):
(-[WebFrame scrollableNodeAtViewportLocation:]):
(-[WebFrame approximateNodeAtViewportLocation:]):
(-[WebFrame revealSelectionAtExtent:]):
(-[WebFrame setCaretColor:]):
(-[WebFrame isTelephoneNumberParsingAllowed]):
(-[WebFrame isTelephoneNumberParsingEnabled]):
(-[WebFrame setSelectedDOMRange:affinity:closeTyping:]):
(-[WebFrame selectNSRange:onElement:]):
(-[WebFrame setMarkedText:selectedRange:]):
(-[WebFrame setMarkedText:forCandidates:]):
(-[WebFrame getDictationResultRanges:andMetadatas:]):
(-[WebFrame dictationResultMetadataForRange:]):
(+[WebFrame stringWithData:textEncodingName:]):
(-[WebFrame fontForSelection:]):
(-[WebFrame _userScrolled]):
(-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:matchStyle:]):
(-[WebFrame resetTextAutosizingBeforeLayout]):
(-[WebFrame _setTextAutosizingWidth:]):
(-[WebFrame _replaceSelectionWithFragment:selectReplacement:smartReplace:matchStyle:]):
(-[WebFrame _replaceSelectionWithText:selectReplacement:smartReplace:]):
(-[WebFrame _smartInsertForString:replacingRange:beforeString:afterString:]):
(-[WebFrame _cacheabilityDictionary]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
(-[WebFrame _globalContextForScriptWorld:]):
(-[WebFrame setAccessibleName:]):
(-[WebFrame enhancedAccessibilityEnabled]):
(-[WebFrame setEnhancedAccessibility:]):
(-[WebFrame _layerTreeAsText]):
(-[WebFrame accessibilityRoot]):
(-[WebFrame _clearOpener]):
(-[WebFrame _computePageRectsWithPrintScaleFactor:pageSize:]):
(-[WebFrame focusedNodeHasContent]):
(-[WebFrame _dispatchDidReceiveTitle:]):
(-[WebFrame jsWrapperForNode:inScriptWorld:]):
(-[WebFrame elementAtPoint:]):
(-[WebFrame name]):
(needsMicrosoftMessengerDOMDocumentWorkaround):
(-[WebFrame DOMDocument]):
(-[WebFrame frameElement]):
(-[WebFrame provisionalDataSource]):
(-[WebFrame dataSource]):
(-[WebFrame loadRequest:]):
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):
(-[WebFrame findFrameNamed:]):
(-[WebFrame parentFrame]):
(-[WebFrame childFrames]):
(-[WebFrame windowObject]):
(-[WebFrame globalContext]):
(-[WebFrame javaScriptContext]):
(dataSource): Deleted.
* WebView/WebFrameView.mm:
(-[WebFrameView _web_frame]):
(-[WebFrameView _setDocumentView:]):
(-[WebFrameView _verticalPageScrollDistance]):
(-[WebFrameView _install]):
(-[WebFrameView _frameSizeChanged]):
(-[WebFrameView initWithFrame:]):
(-[WebFrameView drawRect:]):
(-[WebFrameView _scrollOverflowInDirection:granularity:]):
(-[WebFrameView _isVerticalDocument]):
(-[WebFrameView _isFlippedDocument]):
(-[WebFrameView _scrollToBeginningOfDocument]):
(-[WebFrameView _scrollToEndOfDocument]):
(-[WebFrameView _horizontalPageScrollDistance]):
(-[WebFrameView _pageVertically:]):
(-[WebFrameView _pageHorizontally:]):
(-[WebFrameView _scrollLineVertically:]):
(-[WebFrameView _scrollLineHorizontally:]):
(-[WebFrameView keyDown:keyDown:]):
(addTypesFromClass): Deleted.
* WebView/WebFullScreenController.mm:
(screenRectOfContents):
(-[WebFullScreenController element]):
(-[WebFullScreenController setElement:]):
(-[WebFullScreenController _document]):
(-[WebFullScreenController _manager]):
* WebView/WebHTMLView.mm:
(toAction):
(toTag):
(-[NSView _web_setNeedsDisplayInRect:]):
(promisedDataClient):
(+[WebHTMLView _excludedElementsForAttributedStringConversion]):
(-[WebHTMLView _documentFragmentFromPasteboard:inContext:allowPlainText:]):
(-[WebHTMLView _plainTextFromPasteboard:]):
(-[WebHTMLView _pasteWithPasteboard:allowPlainText:]):
(-[WebHTMLView readSelectionFromPasteboard:]):
(-[WebHTMLView _selectedRange]):
(-[WebHTMLView _writeSelectionWithPasteboardTypes:toPasteboard:cachedAttributedString:]):
(-[WebHTMLView _frameOrBoundsChanged]):
(-[WebHTMLView _updateMouseoverWithEvent:]):
(+[WebHTMLView _insertablePasteboardTypes]):
(+[WebHTMLView _selectionPasteboardTypes]):
(-[WebHTMLView pasteboard:provideDataForType:]):
(-[WebHTMLView setScale:]):
(-[WebHTMLView _canEdit]):
(-[WebHTMLView _canEditRichly]):
(-[WebHTMLView _hasSelection]):
(-[WebHTMLView _hasSelectionOrInsertionPoint]):
(-[WebHTMLView _hasInsertionPoint]):
(-[WebHTMLView _isEditable]):
(-[WebHTMLView _selectionDraggingImage]):
(-[WebHTMLView _insertOrderedList]):
(-[WebHTMLView _insertUnorderedList]):
(-[WebHTMLView _canIncreaseSelectionListLevel]):
(-[WebHTMLView _canDecreaseSelectionListLevel]):
(-[WebHTMLView _increaseSelectionListLevel]):
(-[WebHTMLView _increaseSelectionListLevelOrdered]):
(-[WebHTMLView _increaseSelectionListLevelUnordered]):
(-[WebHTMLView _decreaseSelectionListLevel]):
(-[WebHTMLView _writeSelectionToPasteboard:]):
(-[WebHTMLView _documentFragmentFromPasteboard:forType:inContext:subresources:]):
(-[WebHTMLView _beginPrintModeWithMinimumPageWidth:height:maximumPageWidth:]):
(-[WebHTMLView _beginPrintModeWithPageWidth:height:shrinkToFit:]):
(-[WebHTMLView _beginScreenPaginationModeWithPageSize:shrinkToFit:]):
(-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]):
(-[WebHTMLView coreCommandBySelector:]):
(-[WebHTMLView coreCommandByName:]):
(-[WebHTMLView validRequestorForSendType:returnType:]):
(-[WebHTMLView jumpToSelection:]):
(-[WebHTMLView validateUserInterfaceItemWithoutDelegate:]):
(-[WebHTMLView maintainsInactiveSelection]):
(-[WebHTMLView reapplyStyles]):
(-[WebHTMLView layoutToMinimumPageWidth:height:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustingViewSize:]):
(-[WebHTMLView rightMouseUp:]):
(fixMenusReceivedFromOldClients):
(createShareMenuItem):
(createMenuItem):
(createMenuItems):
(customMenuFromDefaultItems):
(-[WebHTMLView menuForEvent:]):
(-[WebHTMLView clearFocus]):
(-[WebHTMLView setLayer:]):
(-[WebHTMLView setNeedsLayout:]):
(-[WebHTMLView setNeedsToApplyStyles:]):
(-[WebHTMLView _invalidateGStatesForTree]):
(-[WebHTMLView scrollWheel:]):
(-[WebHTMLView acceptsFirstMouse:]):
(-[WebHTMLView shouldDelayWindowOrderingForEvent:]):
(-[WebHTMLView mouseDown:]):
(-[WebHTMLView touch:]):
(-[WebHTMLView mouseDragged:]):
(-[WebHTMLView draggingSourceOperationMaskForLocal:]):
(-[WebHTMLView draggedImage:endedAt:operation:]):
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
(-[WebHTMLView draggingSession:sourceOperationMaskForDraggingContext:]):
(-[WebHTMLView draggingSession:endedAtPoint:operation:]):
(-[WebHTMLView mouseUp:]):
(-[WebHTMLView pressureChangeWithEvent:]):
(isTextInput):
(isInPasswordField):
(currentKeyboardEvent):
(-[WebHTMLView becomeFirstResponder]):
(-[WebHTMLView resignFirstResponder]):
(-[WebHTMLView _setPrinting:minimumPageLogicalWidth:logicalHeight:originalPageWidth:originalPageHeight:maximumShrinkRatio:adjustViewSize:paginateScreenContent:]):
(-[WebHTMLView _scaleFactorForPrintOperation:]):
(-[WebHTMLView keyDown:]):
(-[WebHTMLView keyUp:]):
(-[WebHTMLView flagsChanged:]):
(-[WebHTMLView centerSelectionInVisibleArea:]):
(-[WebHTMLView _selectionStartFontAttributesAsRTF]):
(-[WebHTMLView _fontAttributesFromFontPasteboard]):
(-[WebHTMLView _applyStyleToSelection:withUndoAction:]):
(-[WebHTMLView _applyEditingStyleToSelection:withUndoAction:]):
(-[WebHTMLView performKeyEquivalent:]):
(-[WebHTMLView copyFont:]):
(-[WebHTMLView pasteFont:]):
(-[WebHTMLView changeFont:]):
(-[WebHTMLView changeAttributes:]):
(-[WebHTMLView _undoActionFromColorPanelWithSelector:]):
(-[WebHTMLView _changeCSSColorUsingSelector:inRange:]):
(-[WebHTMLView changeColor:]):
(-[WebHTMLView checkSpelling:]):
(-[WebHTMLView showGuessPanel:]):
(-[WebHTMLView toggleBaseWritingDirection:]):
(-[WebHTMLView changeBaseWritingDirection:]):
(-[WebHTMLView _changeBaseWritingDirectionTo:]):
(-[WebHTMLView _updateControlTints]):
(-[WebHTMLView _selectionChanged]):
(-[WebHTMLView _updateFontPanel]):
(-[WebHTMLView _canSmartCopyOrDelete]):
(-[WebHTMLView _lookUpInDictionaryFromMenu:]):
(-[WebHTMLView quickLookWithEvent:]):
(-[WebHTMLView _executeSavedKeypressCommands]):
(-[WebHTMLView _interpretKeyEvent:savingCommands:]):
(-[WebHTMLView _handleEditingKeyEvent:]):
(-[WebHTMLView _web_updateLayoutAndStyleIfNeededRecursive]):
(-[WebHTMLView ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(-[WebHTMLView attributedSubstringFromRange:]):
(-[WebHTMLView hasMarkedText]):
(extractUnderlines):
(-[WebHTMLView setMarkedText:selectedRange:]):
(-[WebHTMLView doCommandBySelector:]):
(-[WebHTMLView insertText:]):
(-[WebHTMLView _updateSecureInputState]):
(-[WebHTMLView _updateSelectionForInputManager]):
(-[WebHTMLView selectionTextRects]):
(imageFromRect):
(selectionImage):
(-[WebHTMLView selectionImageForcingBlackText:selectionImageForcingBlackText:]):
(-[WebHTMLView selectAll]):
(-[WebHTMLView deselectAll]):
(-[WebHTMLView _legacyAttributedStringFrom:offset:to:offset:]):
(-[WebHTMLView attributedString]):
(-[WebHTMLView selectedAttributedString]):
(-[WebHTMLView elementAtPoint:allowShadowContent:]):
(-[WebHTMLView countMatchesForText:inDOMRange:options:limit:markMatches:]):
(-[WebHTMLView setMarkedTextMatchesAreHighlighted:]):
(-[WebHTMLView markedTextMatchesAreHighlighted]):
(-[WebHTMLView unmarkAllTextMatches]):
(-[WebHTMLView rectsForTextMatches]):
(-[WebHTMLView _findString:options:]):
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController webView:didHandleScrollWheel:]):
(-[WebImmediateActionController _cancelImmediateAction]):
(-[WebImmediateActionController performHitTestAtPoint:]):
(-[WebImmediateActionController immediateActionRecognizerDidUpdateAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCancelAnimation:]):
(-[WebImmediateActionController immediateActionRecognizerDidCompleteAnimation:]):
(-[WebImmediateActionController _defaultAnimationController]):
(-[WebImmediateActionController _updateImmediateActionItem]):
(-[WebImmediateActionController menuItemDidClose:]):
(elementBoundingBoxInWindowCoordinatesFromNode):
(-[WebImmediateActionController menuItem:itemFrameForPoint:]):
(-[WebImmediateActionController menuItem:maxSizeForPoint:]):
(-[WebImmediateActionController _animationControllerForDataDetectedText]):
(-[WebImmediateActionController _animationControllerForDataDetectedLink]):
(+[WebImmediateActionController _dictionaryPopupInfoForRange:inFrame:withLookupOptions:indicatorOptions:transition:]):
(-[WebImmediateActionController _animationControllerForText]):
* WebView/WebPDFView.mm:
(isFrameInRange):
(-[WebPDFView pasteboardTypesForSelection]):
(-[WebPDFView writeSelectionWithPasteboardTypes:toPasteboard:]):
(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
* WebView/WebScriptDebugDelegate.mm:
(-[WebScriptCallFrame _convertValueToObjcValue:]):
* WebView/WebScriptDebugger.mm:
(toNSString):
(toWebFrame):
(WebScriptDebugger::WebScriptDebugger):
(WebScriptDebugger::sourceParsed):
(WebScriptDebugger::handlePause):
* WebView/WebScriptWorld.mm:
(-[WebScriptWorld initWithWorld:]):
(-[WebScriptWorld init]):
(+[WebScriptWorld standardWorld]):
(+[WebScriptWorld scriptWorldForGlobalContext:]):
(core):
(+[WebScriptWorld findOrCreateWorld:]):
* WebView/WebView.mm:
(coreOptions):
(coreLayoutMilestones):
(kitLayoutMilestones):
(kit):
(WebKit::DeferredPageDestructor::createDeferredPageDestructor):
(WebKit::DeferredPageDestructor::DeferredPageDestructor):
(-[WebUITextIndicatorData initWithImage:textIndicatorData:scale:]):
(+[WebView _standardUserAgentWithApplicationName:]):
(+[WebView _reportException:inContext:]):
(shouldEnableLoadDeferring):
(shouldRestrictWindowFocus):
(needsOutlookQuirksScript):
(-[WebView _injectOutlookQuirksScript]):
(shouldUseLegacyBackgroundSizeShorthandBehavior):
(shouldAllowWindowOpenWithoutUserGesture):
(WebKitInitializeGamepadProviderIfNecessary):
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView initSimpleHTMLDocumentWithStyle:frame:preferences:groupName:]):
(-[WebView _replaceCurrentHistoryItem:]):
(-[WebView updateLayoutIgnorePendingStyleSheets]):
(-[WebView _requestStartDataInteraction:globalPosition:]):
(-[WebView _startDrag:]):
(-[WebView dragDataForSession:client:global:operation:]):
(-[WebView _didConcludeEditDrag]):
(+[WebView _setAlwaysUsesComplexTextCodePath:]):
(+[WebView canCloseAllWebViews]):
(+[WebView closeAllWebViews]):
(-[WebView _dispatchUnloadEvent]):
(-[WebView styleAtSelectionStart]):
(-[WebView _didFinishScrollingOrZooming]):
(-[WebView _close]):
(-[WebView _isProcessingUserGesture]):
(+[WebView _enableRemoteInspector]):
(+[WebView _disableRemoteInspector]):
(+[WebView _disableAutoStartRemoteInspector]):
(+[WebView _isRemoteInspectorEnabled]):
(+[WebView _hasRemoteInspectorSession]):
(-[WebView _setHostApplicationProcessIdentifier:auditToken:]):
(-[WebView _loadBackForwardListFromOtherView:]):
(-[WebView _needsKeyboardEventDisambiguationQuirks]):
(needsSelfRetainWhileLoadingQuirk):
(-[WebView _needsPreHTML5ParserQuirks]):
(-[WebView _preferencesChanged:]):
(-[WebView _cacheFrameLoadDelegateImplementations]):
(+[WebView _unregisterViewClassAndRepresentationClassForMIMEType:]):
(+[WebView _registerViewClass:representationClass:forURLScheme:]):
(+[WebView _decodeData:]):
(-[WebView _didStartProvisionalLoadForFrame:]):
(-[WebView _checkDidPerformFirstNavigation]):
(-[WebView _cachedResponseForURL:]):
(+[WebView _setShouldUseFontSmoothing:]):
(+[WebView _shouldUseFontSmoothing]):
(+[WebView _setUsesTestModeFocusRingColor:]):
(+[WebView _usesTestModeFocusRingColor]):
(-[WebView setAlwaysShowVerticalScroller:]):
(-[WebView alwaysShowVerticalScroller]):
(-[WebView setAlwaysShowHorizontalScroller:]):
(-[WebView setProhibitsMainFrameScrolling:]):
(-[WebView alwaysShowHorizontalScroller]):
(-[WebView _setMediaLayer:forPluginView:]):
(-[WebView _attachScriptDebuggerToAllFrames]):
(-[WebView _detachScriptDebuggerFromAllFrames]):
(+[WebView _productivityDocumentMIMETypes]):
(-[WebView _setFixedLayoutSize:]):
(-[WebView _synchronizeCustomFixedPositionLayoutRect]):
(-[WebView _viewGeometryDidChange]):
(-[WebView _overflowScrollPositionChangedTo:forNode:isUserScroll:]):
(+[WebView _doNotStartObservingNetworkReachability]):
(-[WebView _touchEventRegions]):
(-[WebView textIteratorForRect:]):
(-[WebView _executeCoreCommandByName:value:]):
(-[WebView _isUsingAcceleratedCompositing]):
(-[WebView _isSoftwareRenderable]):
(-[WebView setTracksRepaints:]):
(-[WebView isTrackingRepaints]):
(-[WebView resetTrackedRepaints]):
(-[WebView trackedRepaintRects]):
(+[WebView _addOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
(+[WebView _removeOriginAccessWhitelistEntryWithSourceOrigin:destinationProtocol:destinationHost:allowDestinationSubdomains:]):
(+[WebView _resetOriginAccessWhitelists]):
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
(-[WebView allowsNewCSSAnimationsWhileSuspended]):
(-[WebView setAllowsNewCSSAnimationsWhileSuspended:]):
(-[WebView cssAnimationsSuspended]):
(-[WebView setCSSAnimationsSuspended:]):
(+[WebView _setDomainRelaxationForbidden:forURLScheme:]):
(+[WebView _registerURLSchemeAsSecure:]):
(+[WebView _registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing:]):
(-[WebView _scaleWebView:atOrigin:]):
(-[WebView _setUseFixedLayout:]):
(-[WebView _useFixedLayout]):
(-[WebView _fixedLayoutSize]):
(-[WebView _setPaginationMode:]):
(-[WebView _paginationMode]):
(-[WebView _listenForLayoutMilestones:]):
(-[WebView _layoutMilestones]):
(-[WebView _setPaginationBehavesLikeColumns:]):
(-[WebView _paginationBehavesLikeColumns]):
(-[WebView _setPageLength:]):
(-[WebView _pageLength]):
(-[WebView _setGapBetweenPages:]):
(-[WebView _gapBetweenPages]):
(-[WebView _setPaginationLineGridEnabled:]):
(-[WebView _paginationLineGridEnabled]):
(-[WebView _pageCount]):
(+[WebView _HTTPPipeliningEnabled]):
(+[WebView _setHTTPPipeliningEnabled:]):
(-[WebView shouldRequestCandidates]):
(-[WebView removePluginInstanceViewsFor:]):
(+[WebView registerURLSchemeAsLocal:]):
(-[WebView doWindowDidChangeScreen]):
(-[WebView _updateScreenScaleFromWindow]):
(-[WebView goToBackForwardItem:]):
(-[WebView _setZoomMultiplier:isTextOnly:]):
(-[WebView setCustomTextEncodingName:]):
(-[WebView windowScriptObject]):
(-[WebView setHostWindow:]):
(-[WebView applicationFlags:]):
(-[WebView actionMaskForDraggingInfo:]):
(-[WebView draggingEntered:]):
(-[WebView draggingUpdated:]):
(-[WebView draggingExited:]):
(-[WebView performDragOperation:]):
(incrementFrame):
(+[WebView registerViewClass:representationClass:forMIMEType:]):
(-[WebView moveDragCaretToPoint:]):
(-[WebView removeDragCaret]):
(-[WebView mainFrameIconURL]):
(coreTextCheckingType):
(textCheckingResultFromNSTextCheckingResult):
(-[WebView candidateListTouchBarItem:endSelectingCandidateAtIndex:]):
(-[WebView candidateListTouchBarItem:changedCandidateListVisibility:]):
(-[WebView shouldClose]):
(aeDescFromJSValue):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
(-[WebView editableDOMRangeForPoint:]):
(-[WebView setSelectedDOMRange:affinity:]):
(-[WebView selectedDOMRange]):
(-[WebView selectionAffinity]):
(-[WebView setEditable:]):
(-[WebView setTypingStyle:]):
(-[WebView deleteSelection]):
(-[WebView applyStyle:]):
(-[WebView insertDictationPhrases:metadata:]):
(-[WebView _selectionIsCaret]):
(-[WebView _selectionIsAll]):
(-[WebView _simplifyMarkup:endNode:]):
(+[WebView _setCacheModel:]):
(-[WebView _searchWithGoogleFromMenu:]):
(-[WebView _retrieveKeyboardUIModeFromPreferences:]):
(-[WebView _keyboardUIMode]):
(-[WebView _mainCoreFrame]):
(-[WebView _clearCredentials]):
(-[WebView _flushCompositingChanges]):
(-[WebView _scheduleLayerFlushForPendingTileCacheRepaint]):
(-[WebView _hasActiveVideoForControlsInterface]):
(-[WebView _setUpPlaybackControlsManagerForMediaElement:]):
(-[WebView handleAcceptedAlternativeText:]):
(-[WebView _getWebCoreDictationAlternatives:fromTextAlternatives:]):
(-[WebView _animationControllerForDictionaryLookupPopupInfo:]):
(-[WebView _setTextIndicator:]):
(-[WebView _setTextIndicator:withLifetime:]):
(-[WebView _clearTextIndicatorWithAnimation:]):
(-[WebView _showDictionaryLookupPopup:]):
(-[WebView _dictionaryLookupPopoverWillClose:]):
(-[WebView showFormValidationMessage:withAnchorRect:]):
(-[WebView textTouchBar]):
(nsTextAlignmentFromRenderStyle):
(-[WebView updateTextTouchBar]):
(-[WebView updateTouchBar]):
(-[WebView candidateList]):
(-[WebView _geolocationDidFailWithMessage:]):
(-[WebView _resetAllGeolocationPermission]):
(-[WebView _notificationIDForTesting:]):
2019-09-25 Megan Gardner <megan_gardner@apple.com>
Update selections after scrolling for iframes and hide selections while iframes and overflow scrolls are scrolling.
https://bugs.webkit.org/show_bug.cgi?id=202125
Reviewed by Tim Horton.
Filling out unused functions needed for new fix.
* WebCoreSupport/WebEditorClient.h:
2019-09-24 Alex Christensen <achristensen@webkit.org>
Remove SchemeRegistry's list of URL schemes allowing local storage in private browsing, which is unused
https://bugs.webkit.org/show_bug.cgi?id=202181
Reviewed by Geoffrey Garen.
* WebView/WebView.mm:
(+[WebView _registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing:]):
2019-09-21 Chris Dumez <cdumez@apple.com>
Reduce use of SessionID::defaultSessionID() in WebKit
https://bugs.webkit.org/show_bug.cgi?id=202080
Reviewed by Alex Christensen.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::convertMainResourceLoadToDownload):
2019-09-20 Keith Rollin <krollin@apple.com>
Remove some support for < iOS 13
https://bugs.webkit.org/show_bug.cgi?id=202032
<rdar://problem/55548468>
Reviewed by Alex Christensen.
Remove some support for iOS versions less than 13.0.
Update conditionals that reference __IPHONE_OS_VERSION_MIN_REQUIRED
and __IPHONE_OS_VERSION_MAX_ALLOWED, assuming that they both have
values >= 130000. This means that expressions like
"__IPHONE_OS_VERSION_MIN_REQUIRED < 101300" are always False and
"__IPHONE_OS_VERSION_MIN_REQUIRED >= 101300" are always True.
This removal is part of a series of patches effecting the removal of
dead code for old versions of iOS. This particular pass involves
changes in which Dan Bates was involved. These changes are isolated
from other similar changes in order to facilitate the reviewing
process.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _handleEditingKeyEvent:]):
2019-09-18 Jer Noble <jer.noble@apple.com>
Add -suspend and -resumeAllMediaPlayback to WebView
https://bugs.webkit.org/show_bug.cgi?id=201951
Reviewed by Eric Carlson.
* WebView/WebView.mm:
(-[WebView suspendAllMediaPlayback]):
(-[WebView resumeAllMediaPlayback]):
* WebView/WebViewPrivate.h:
2019-09-18 Chris Dumez <cdumez@apple.com>
BlobRegistry no longer needs SessionIDs
https://bugs.webkit.org/show_bug.cgi?id=201936
Reviewed by Geoffrey Garen.
BlobRegistry no longer needs SessionIDs, now that we have a single session per WebProcess.
* WebCoreSupport/WebPlatformStrategies.mm:
2019-09-18 Chris Dumez <cdumez@apple.com>
CacheStorageProvider::createCacheStorageConnection() does not need to take in a SessionID
https://bugs.webkit.org/show_bug.cgi?id=201920
Reviewed by Geoffrey Garen.
CacheStorageProvider::createCacheStorageConnection() does not need to take in a SessionID.
This sessionID is no longer used now that we have a session per WebProcess.
* WebCoreSupport/WebPlatformStrategies.mm:
2019-09-18 Chris Dumez <cdumez@apple.com>
Drop FrameLoaderClient::sessionID()
https://bugs.webkit.org/show_bug.cgi?id=201916
Reviewed by Geoffrey Garen.
Drop FrameLoaderClient::sessionID(). The Frame can get the sessionID from its page (Which is
what the FrameLoaderClient::sessionID() ended up doing) and other call sites at WebKit2 layer
can get the sessionID from the WebProcess singleton.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
2019-09-17 Chris Dumez <cdumez@apple.com>
Stop calling Page::setSessionID() from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=201888
Reviewed by Alex Christensen.
Stop calling Page::setSessionID() from WebKit2 since Page's sessionID can never change when
using WebKit2 (We process-swap and create a new Page in a new process when changing data
store). Instead, we now pass the sessionID ID when constructing the Page, as part of the
PageConfiguration structure.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2019-09-09 Alex Christensen <achristensen@webkit.org>
Disable TLS 1.0 and 1.1 in WebSockets
https://bugs.webkit.org/show_bug.cgi?id=201573
Reviewed by Youenn Fablet.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
2019-09-06 Alex Christensen <achristensen@webkit.org>
When disabling legacy private browsing for testing, change the SessionID back to what it was, not the defaultSessionID
https://bugs.webkit.org/show_bug.cgi?id=201480
Reviewed by Youenn Fablet.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-09-06 Rob Buis <rbuis@igalia.com>
Add runtime flag for lazy image loading
https://bugs.webkit.org/show_bug.cgi?id=199794
Reviewed by Frédéric Wang.
Remove parts of r248409 that were meant for WK1 since
lazy image loading is WK2 only.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences lazyImageLoadingEnabled]): Deleted.
(-[WebPreferences setLazyImageLoadingEnabled:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-09-04 Alex Christensen <achristensen@webkit.org>
Remove unused SPI that accesses MemoryCache directly
https://bugs.webkit.org/show_bug.cgi?id=201468
Reviewed by Tim Horton.
* Misc/WebCache.h:
* Misc/WebCache.mm:
(+[WebCache addImageToCache:forURL:]): Deleted.
(+[WebCache addImageToCache:forURL:forFrame:]): Deleted.
(+[WebCache removeImageFromCacheForURL:]): Deleted.
(+[WebCache removeImageFromCacheForURL:forFrame:]): Deleted.
2019-08-30 Keith Rollin <krollin@apple.com>
Remove AppKitCompatibilityDeclarations.h
https://bugs.webkit.org/show_bug.cgi?id=201283
<rdar://problem/54822042>
Reviewed by Alexey Proskuryakov.
The two copies of these files -- on in WTF, one in MiniBrowser -- are
empty and can be removed.
* Misc/WebNSEventExtras.m:
* Misc/WebNSViewExtras.m:
* WebKitPrefix.h:
2019-08-30 Keith Rollin <krollin@apple.com>
Remove extra braces
https://bugs.webkit.org/show_bug.cgi?id=201285
Reviewed by Alexey Proskuryakov.
Some code evolved such that there was only a single statement under an
'if' statement. The braces surrounding the single-line block can now
be removed.
* WebView/WebView.mm:
(-[WebView updateMediaTouchBar]):
2019-08-29 Keith Rollin <krollin@apple.com>
Update .xcconfig symbols to reflect the current set of past and future product versions.
https://bugs.webkit.org/show_bug.cgi?id=200720
<rdar://problem/54305032>
Reviewed by Alex Christensen.
Remove version symbols related to old OS's we no longer support,
ensure that version symbols are defined for OS's we do support.
* Configurations/Base.xcconfig:
* Configurations/DebugRelease.xcconfig:
* Configurations/Version.xcconfig:
2019-08-29 Keith Rollin <krollin@apple.com>
Remove support for macOS < 10.13 (part 3)
https://bugs.webkit.org/show_bug.cgi?id=201224
<rdar://problem/54795934>
Reviewed by Darin Adler.
Remove symbols in WebKitTargetConditionals.xcconfig related to macOS
10.13, including WK_MACOS_1013 and WK_MACOS_BEFORE_1013, and suffixes
like _MACOS_SINCE_1013.
* Configurations/WebKitTargetConditionals.xcconfig:
2019-08-29 Dean Jackson <dino@apple.com>
GenerateTAPI WebKitLegacy.tbd fails on internal iOS Simulator builds
https://bugs.webkit.org/show_bug.cgi?id=201200
Reverting r249211 after Dan Bernstein pointed out it will cause
an error with the public iOS 13 SDK.
* Misc/WebDownload.h:
2019-08-28 Dean Jackson <dino@apple.com>
GenerateTAPI WebKitLegacy.tbd fails on internal iOS Simulator builds
https://bugs.webkit.org/show_bug.cgi?id=201200
Reviewed by Simon Fraser.
We want to include Foundation/NSURLDownload.h if we're on
a newer iOS.
* Misc/WebDownload.h:
2019-08-28 Keith Rollin <krollin@apple.com>
Remove support for macOS < 10.13 (part 2)
https://bugs.webkit.org/show_bug.cgi?id=201197
<rdar://problem/54759985>
Reviewed by Darin Adler.
Update conditionals that reference WK_MACOS_1013 and suffixes like
_MACOS_SINCE_1013, assuming that we're always building on 10.13 or
later and that these conditionals are always True or False.
See Bug 200694 for earlier changes in this area.
* Configurations/FeatureDefines.xcconfig:
2019-08-27 Mark Lam <mark.lam@apple.com>
Refactor to use VM& instead of VM* at as many places as possible.
https://bugs.webkit.org/show_bug.cgi?id=201172
Reviewed by Yusuke Suzuki.
* DOM/DOM.mm:
(+[DOMNode _nodeFromJSWrapper:]):
* DOM/DOMUtility.mm:
(createDOMWrapper):
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(identifierFromIdentifierRep):
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::enumerate):
(WebKit::getObjectID):
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
(WebKit::NetscapePluginInstanceProxy::demarshalValueFromArray):
(WebKit::NetscapePluginInstanceProxy::retainLocalObject):
(WebKit::NetscapePluginInstanceProxy::releaseLocalObject):
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::stringValue const):
(WebKit::ProxyInstance::getPropertyNames):
* WebView/WebFrame.mm:
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):
2019-08-23 Chris Dumez <cdumez@apple.com>
[geolocation] Rename interfaces and remove [NoInterfaceObject]
https://bugs.webkit.org/show_bug.cgi?id=200885
Reviewed by Alex Christensen.
* WebCoreSupport/WebGeolocationClient.h:
* WebCoreSupport/WebGeolocationClient.mm:
(WebGeolocationClient::lastPosition):
* WebView/WebGeolocationPosition.mm:
(-[WebGeolocationPositionInternal initWithCoreGeolocationPosition:]):
(core):
(-[WebGeolocationPosition initWithTimestamp:latitude:longitude:accuracy:]):
(-[WebGeolocationPosition initWithGeolocationPosition:]):
* WebView/WebGeolocationPositionInternal.h:
2019-08-22 Andy Estes <aestes@apple.com>
[watchOS] Disable Content Filtering in the simulator build
https://bugs.webkit.org/show_bug.cgi?id=201047
Reviewed by Tim Horton.
* Configurations/FeatureDefines.xcconfig:
2019-08-21 Tim Horton <timothy_horton@apple.com>
[Mail] Tapping top of message scrolls back to copied text instead of top of the message
https://bugs.webkit.org/show_bug.cgi?id=200999
<rdar://problem/54564878>
Reviewed by Wenson Hsieh.
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::shouldAllowSingleClickToChangeSelection const):
Copy the existing behavior from EventHandler.
We do not fix the bug in WebKitLegacy for a multitude of reasons, primarily
because we do not know of any user impact.
2019-08-21 Ryosuke Niwa <rniwa@webkit.org>
Put keygen element behind a runtime flag and disable it by default
https://bugs.webkit.org/show_bug.cgi?id=200850
Reviewed by Antti Koivisto.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences keygenElementEnabled]):
(-[WebPreferences setKeygenElementEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-08-19 Sihui Liu <sihui_liu@apple.com>
Remove IDB-specific quota
https://bugs.webkit.org/show_bug.cgi?id=196545
<rdar://problem/54201783>
Reviewed by Youenn Fablet.
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager setIDBPerOriginQuota:]): Deleted.
* Storage/WebDatabaseManagerPrivate.h:
2019-08-18 Yusuke Suzuki <ysuzuki@apple.com>
[WTF] Add makeUnique<T>, which ensures T is fast-allocated, makeUnique / makeUniqueWithoutFastMallocCheck part
https://bugs.webkit.org/show_bug.cgi?id=200620
Reviewed by Geoffrey Garen.
* History/WebHistory.mm:
(-[WebHistoryPrivate init]):
* History/WebHistoryItem.mm:
(-[WebHistoryItem initFromDictionaryRepresentation:]):
* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCGetScriptableNPObjectReply):
(WKPCBooleanReply):
(WKPCBooleanAndDataReply):
(WKPCInstantiatePluginReply):
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyInstance::methodNamed):
(WebKit::ProxyInstance::fieldNamed):
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView createPlugin]):
* Plugins/WebNetscapePluginEventHandler.mm:
(WebNetscapePluginEventHandler::create):
* Plugins/WebNetscapePluginView.mm:
(-[WebNetscapePluginView scheduleTimerWithInterval:repeat:timerFunc:]):
* Storage/WebDatabaseManagerClient.mm:
(DidModifyOriginData::dispatchToMainThread):
* WebCoreSupport/WebFrameLoaderClient.mm:
(addRedirectURL):
(WebFrameLoaderClient::savePlatformDataToCachedFrame):
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorClient::openLocalFrontend):
* WebView/WebDeviceOrientationProviderMock.mm:
* WebView/WebFrame.mm:
(-[WebFrame _attachScriptDebugger]):
* WebView/WebMediaPlaybackTargetPicker.mm:
(WebMediaPlaybackTargetPicker::create):
* WebView/WebTextIterator.mm:
(-[WebTextIterator initWithRange:]):
* WebView/WebView.mm:
(-[WebView _injectOutlookQuirksScript]):
(-[WebView _commonInitializationWithFrameName:groupName:]):
(+[WebView _addUserScriptToGroup:world:source:url:whitelist:blacklist:injectionTime:injectedFrames:]):
(+[WebView _addUserStyleSheetToGroup:world:source:url:whitelist:blacklist:injectedFrames:]):
(-[WebView _selectionServiceController]):
(-[WebView _setTextIndicator:withLifetime:]):
* WebView/WebViewData.mm:
(WebViewLayerFlushScheduler::WebViewLayerFlushScheduler):
(-[WebViewPrivate init]):
2019-08-17 Darin Adler <darin@apple.com>
Tidy up checks to see if a character is in the Latin-1 range by using isLatin1 consistently
https://bugs.webkit.org/show_bug.cgi?id=200861
Reviewed by Ross Kirsling.
* Misc/WebKitNSStringExtras.mm:
(canUseFastRenderer): Use isLatin1.
2019-08-16 Chris Dumez <cdumez@apple.com>
LocalStorageDatabaseTracker does not need to subclass ThreadSafeRefCounted
https://bugs.webkit.org/show_bug.cgi?id=200825
Reviewed by Alex Christensen.
* Misc/WebKitVersionChecks.h:
* Storage/WebStorageManager.mm:
(WebKitInitializeStorageIfNecessary):
2019-08-16 Ryosuke Niwa <rniwa@webkit.org>
Split tabIndex computation for DOM and the rest of WebCore
https://bugs.webkit.org/show_bug.cgi?id=200806
Reviewed by Chris Dumez.
* DOM/DOMHTMLElement.mm:
(-[DOMHTMLElement tabIndex]):
(-[DOMHTMLElement setTabIndex:]):
2019-08-15 Yusuke Suzuki <ysuzuki@apple.com>
[WTF] Add makeUnique<T>, which ensures T is fast-allocated, WTF_MAKE_FAST_ALLOCATED annotation part
https://bugs.webkit.org/show_bug.cgi?id=200620
Reviewed by Geoffrey Garen.
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
* Plugins/WebNetscapePluginEventHandlerCocoa.h:
* Storage/WebDatabaseManagerClient.mm:
* WebCoreSupport/WebAlternativeTextClient.h:
* WebCoreSupport/WebCachedFramePlatformData.h:
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebDragClient.h:
* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebGeolocationClient.h:
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebNotificationClient.h:
* WebCoreSupport/WebSelectionServiceController.h:
* WebView/WebMediaPlaybackTargetPicker.h:
2019-08-15 Tim Horton <timothy_horton@apple.com>
Yellow Lookup highlight gets stuck over Mail messages
https://bugs.webkit.org/show_bug.cgi?id=200778
<rdar://problem/53868514>
Reviewed by Wenson Hsieh.
* WebView/WebView.mm:
(-[WebView _showDictionaryLookupPopup:]):
Add a dismissal callback so that when Reveal hides the panel, it also
dismisses the yellow indicator. This matches the behavior in modern WebKit.
2019-08-15 Sihui Liu <sihui_liu@apple.com>
Some improvements on web storage
https://bugs.webkit.org/show_bug.cgi?id=200373
Reviewed by Geoffrey Garen.
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]): notify storageNamespaceProvider about session change.
2019-08-15 Youenn Fablet <youenn@apple.com>
Always create a Document with a valid SessionID
https://bugs.webkit.org/show_bug.cgi?id=200727
Reviewed by Alex Christensen.
Implement WebKit1 sessionID getter like done for WebKit2.
Either the loader client has a page in which case the page session ID is used
or the client has no page, in which case the default session ID is used.
This is the same behavior as CachedResourceLoader.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::sessionID const):
2019-08-15 Simon Fraser <simon.fraser@apple.com>
Use ObjectIdentifier<FrameIdentifierType> for frameIDs
https://bugs.webkit.org/show_bug.cgi?id=199986
Reviewed by Ryosuke Niwa.
Use the strongly-typed FrameIdentifier instead of uint64_t as frame identifiers everywhere.
* WebCoreSupport/WebFrameLoaderClient.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::frameID const):
2019-08-14 Ryan Haddad <ryanhaddad@apple.com>
Unreviewed, rolling out r248526.
Caused two IndexedDB perf tests to fail
Reverted changeset:
"Remove IDB-specific quota"
https://bugs.webkit.org/show_bug.cgi?id=196545
https://trac.webkit.org/changeset/248526
2019-08-14 Keith Rollin <krollin@apple.com>
Remove support for macOS < 10.13
https://bugs.webkit.org/show_bug.cgi?id=200694
<rdar://problem/54278851>
Reviewed by Youenn Fablet.
Update conditionals that reference __MAC_OS_X_VERSION_MIN_REQUIRED and
__MAC_OS_X_VERSION_MAX_ALLOWED, assuming that they both have values >=
101300. This means that expressions like
"__MAC_OS_X_VERSION_MIN_REQUIRED < 101300" are always False and
"__MAC_OS_X_VERSION_MIN_REQUIRED >= 101300" are always True.
* WebCoreSupport/WebEditorClient.mm:
* WebView/PDFViewSPI.h:
* WebView/WebHTMLView.mm:
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:]):
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:shouldChangeFontReferenceColor:]):
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inContext:topView:]): Deleted.
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inGraphicsContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inGraphicsContext:CGContext:topView:shouldChangeFontReferenceColor:]): Deleted.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebView.mm:
(-[WebView performDragOperation:]):
(LayerFlushController::flushLayers):
(-[WebView updateMediaTouchBar]):
* WebView/WebViewData.h:
2019-08-14 Youenn Fablet <youenn@apple.com>
ThreadableBlobRegistry::blobSize should take a SessionID as parameter
https://bugs.webkit.org/show_bug.cgi?id=200671
Reviewed by ALex Christensen.
* WebCoreSupport/WebPlatformStrategies.mm:
2019-08-13 Youenn Fablet <youenn@apple.com>
Blob registries should be keyed by session IDs
https://bugs.webkit.org/show_bug.cgi?id=200567
Reviewed by Alex Christensen.
* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::createBlobRegistry):
Ignore sessionID parameter for WK1.
2019-08-12 Chris Dumez <cdumez@apple.com>
Add threading assertions to RefCounted
https://bugs.webkit.org/show_bug.cgi?id=200507
Reviewed by Ryosuke Niwa.
* WebView/WebView.mm:
(+[WebView initialize]):
Enable new RefCounted threading assertions for WebKitLegacy.
2019-08-12 Chris Dumez <cdumez@apple.com>
Unreviewed, rolling out r248525.
Revert new threading assertions while I work on fixing the
issues they exposed
Reverted changeset:
"Add threading assertions to RefCounted"
https://bugs.webkit.org/show_bug.cgi?id=200507
https://trac.webkit.org/changeset/248525
2019-08-12 Youenn Fablet <youenn@apple.com>
Remove IDB-specific quota
https://bugs.webkit.org/show_bug.cgi?id=196545
Reviewed by Alex Christensen.
* Storage/WebDatabaseManager.mm:
(-[WebDatabaseManager setIDBPerOriginQuota:]): Deleted.
* Storage/WebDatabaseManagerPrivate.h:
2019-08-11 Chris Dumez <cdumez@apple.com>
Add threading assertions to RefCounted
https://bugs.webkit.org/show_bug.cgi?id=200507
Reviewed by Ryosuke Niwa.
* WebView/WebView.mm:
(+[WebView initialize]):
Enable new RefCounted threading assertions for WebKitLegacy.
2019-08-10 Tim Horton <timothy_horton@apple.com>
Remove some more unused 32-bit code
https://bugs.webkit.org/show_bug.cgi?id=200607
Reviewed by Alexey Proskuryakov.
* Configurations/WebKitLegacy.xcconfig:
* Misc/WebSharingServicePickerController.mm:
(-[WebSharingServicePickerController initWithItems:includeEditorServices:client:style:]):
(-[WebSharingServicePickerController initWithSharingServicePicker:client:]):
(-[WebSharingServicePickerController sharingService:didShareItems:]):
* Plugins/WebNetscapePluginEventHandler.mm:
* Plugins/WebNetscapePluginEventHandlerCarbon.h: Removed.
* Plugins/WebNetscapePluginEventHandlerCarbon.mm: Removed.
* Plugins/WebNetscapePluginEventHandlerCocoa.h:
(WebNetscapePluginEventHandlerCocoa::installKeyEventHandler): Deleted.
(WebNetscapePluginEventHandlerCocoa::removeKeyEventHandler): Deleted.
* Plugins/WebNetscapePluginEventHandlerCocoa.mm:
(WebNetscapePluginEventHandlerCocoa::WebNetscapePluginEventHandlerCocoa):
(WebNetscapePluginEventHandlerCocoa::keyDown):
(WebNetscapePluginEventHandlerCocoa::focusChanged):
(WebNetscapePluginEventHandlerCocoa::installKeyEventHandler): Deleted.
(WebNetscapePluginEventHandlerCocoa::removeKeyEventHandler): Deleted.
(WebNetscapePluginEventHandlerCocoa::TSMEventHandler): Deleted.
(WebNetscapePluginEventHandlerCocoa::handleTSMEvent): Deleted.
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::contextMenuForEvent):
* WebView/WebHTMLView.mm:
(-[WebHTMLView _adjustedBottomOfPageWithTop:bottom:limit:]):
(-[WebHTMLView pressureChangeWithEvent:]):
* WebView/WebView.mm:
(LayerFlushController::flushLayers):
2019-08-08 Rob Buis <rbuis@igalia.com>
Add runtime flag for lazy image loading
https://bugs.webkit.org/show_bug.cgi?id=199794
Reviewed by Darin Adler.
Set lazyImageLoading runtime flag if preference is set.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences lazyImageLoadingEnabled]):
(-[WebPreferences setLazyImageLoadingEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-08-07 Priyanka Agarwal <pagarwal999@apple.com>
Allow clients to toggle a text input field between being viewable and having characters hidden while maintaining
a yellow auto-filled appearance
https://bugs.webkit.org/show_bug.cgi?id=200037
rdar://problem/51900961
Reviewed by Daniel Bates.
* DOM/WebDOMOperations.mm:
(-[DOMHTMLInputElement _isAutoFilledAndViewable]):
(-[DOMHTMLInputElement _setAutoFilledAndViewable:]):
* DOM/WebDOMOperationsPrivate.h:
2019-08-02 Keith Rollin <krollin@apple.com>
Consistently use Obj-C boolean literals
https://bugs.webkit.org/show_bug.cgi?id=200405
<rdar://problem/53880043>
Reviewed by Simon Fraser, Joseph Pecoraro.
There are places where we use equivalent but different expressions for
Obj-C boolean objects. For example, we use both [NSNumber
numberWithBool:YES] and @YES. There are places where both are used in
the same function, such as -[WebPreferences initialize]. The boolean
literal is in greater use and is more succinct, so standardize on
that. Also, change @(YES/NO) to @YES/NO.
* History/WebHistoryItem.mm:
* WebView/WebFrame.mm:
(-[WebFrame _cacheabilityDictionary]):
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2019-08-01 Alex Christensen <achristensen@webkit.org>
Move FormData zip file generation to NetworkProcess and enable it for all WebKit clients for uploading directories
https://bugs.webkit.org/show_bug.cgi?id=200102
<rdar://problem/53275114>
Reviewed by Darin Adler.
* DefaultDelegates/WebDefaultUIDelegate.mm:
(-[WebDefaultUIDelegate webView:shouldReplaceUploadFile:usingGeneratedFilename:]): Deleted.
(-[WebDefaultUIDelegate webView:generateReplacementFile:]): Deleted.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::shouldReplaceWithGeneratedFileForUpload): Deleted.
(WebChromeClient::generateReplacementFile): Deleted.
* WebView/WebUIDelegatePrivate.h:
2019-07-25 Dean Jackson <dino@apple.com>
Add helper for ignoring deprecated implementation warnings
https://bugs.webkit.org/show_bug.cgi?id=200135
Reviewed by Wenson Hsieh.
Add ALLOW_DEPRECATED_IMPLEMENTATIONS_BEGIN/END macro which
is IGNORE_WARNINGS_BEGIN("deprecated-implementations")
* Misc/WebDownload.mm:
(-[WebDownload initWithRequest:delegate:]):
* Misc/WebIconDatabase.mm:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(-[WebBaseNetscapePluginView IGNORE_WARNINGS_END]): Deleted.
* WebView/WebDynamicScrollBarsView.mm:
(-[WebDynamicScrollBarsView ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(-[WebDynamicScrollBarsView IGNORE_WARNINGS_END]): Deleted.
* WebView/WebHTMLView.mm:
(-[WebHTMLView draggingSourceOperationMaskForLocal:]):
(-[WebHTMLView draggedImage:endedAt:operation:]):
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):
(-[WebHTMLView accessibilityAttributeValue:]):
(-[WebHTMLView ALLOW_DEPRECATED_IMPLEMENTATIONS_END]):
(-[WebHTMLView characterIndexForPoint:]):
(-[WebHTMLView firstRectForCharacterRange:]):
(-[WebHTMLView attributedSubstringFromRange:]):
(-[WebHTMLView setMarkedText:selectedRange:]):
(-[WebHTMLView doCommandBySelector:]):
(-[WebHTMLView insertText:]):
(-[WebHTMLView IGNORE_WARNINGS_END]): Deleted.
2019-07-23 Wenson Hsieh <wenson_hsieh@apple.com>
[macOS 10.15] Web process crashes when attempting to show the font panel via Font > Show Fonts
https://bugs.webkit.org/show_bug.cgi?id=200021
<rdar://problem/53301325>
Reviewed by Ryosuke Niwa.
Implement a new editing client hook. In WebKit1, this always returns true on macOS and false on iOS.
* WebCoreSupport/WebEditorClient.h:
2019-07-22 Simon Fraser <simon.fraser@apple.com>
Fix WebView iframe rendering in macOS Catalina
https://bugs.webkit.org/show_bug.cgi?id=200022
rdar://problem/49102040
Reviewed by Darin Adler.
Adapt to internal NSView method renames in Catalina.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inContext:topView:]):
(-[WebHTMLView _recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:stopAtLayerBackedViews:_recursive:displayRectIgnoringOpacity:inContext:shouldChangeFontReferenceColor:_recursive:displayRectIgnoringOpacity:inContext:topView:]): Deleted.
2019-07-22 Simon Fraser <simon.fraser@apple.com>
Enable CSSOMViewScrollingAPIEnabled in WebKit1
https://bugs.webkit.org/show_bug.cgi?id=200008
rdar://problem/53409062
Reviewed by Tim Horton.
Default WebKitCSSOMViewScrollingAPIEnabledPreferenceKey to YES, so that
CSSOMViewScrollingAPIEnabled is on for both WebKit1 and WebKit2.
DumpRenderTree already turns this preference on, so this change is not
detected by tests.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
2019-07-22 Youenn Fablet <youenn@apple.com>
Disable MediaRecorder for legacy WebKit
https://bugs.webkit.org/show_bug.cgi?id=200001
<rdar://problem/53400030>
Reviewed by Eric Carlson.
Disable MediaRecorder by default in legacy WebKit.
Add SPI to set/get this preference.
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences _mediaRecorderEnabled]):
(-[WebPreferences _setMediaRecorderEnabled:]):
* WebView/WebPreferencesPrivate.h:
2019-07-18 Alex Christensen <achristensen@webkit.org>
Unify builds in WebKitLegacy/mac/DOM
https://bugs.webkit.org/show_bug.cgi?id=199771
Reviewed by Geoffrey Garen.
* DOM/DOMAbstractView.mm:
* DOM/DOMAttr.mm:
* DOM/DOMBlob.mm:
* DOM/DOMCDATASection.mm:
* DOM/DOMCSSFontFaceRule.mm:
* DOM/DOMCSSImportRule.mm:
* DOM/DOMCSSMediaRule.mm:
* DOM/DOMCSSPageRule.mm:
* DOM/DOMCSSPrimitiveValue.mm:
* DOM/DOMCSSRule.mm:
* DOM/DOMCSSRuleList.mm:
* DOM/DOMCSSStyleDeclaration.mm:
* DOM/DOMCSSStyleRule.mm:
* DOM/DOMCSSStyleSheet.mm:
* DOM/DOMCSSUnknownRule.mm:
* DOM/DOMCSSValue.mm:
* DOM/DOMCSSValueList.mm:
* DOM/DOMCharacterData.mm:
* DOM/DOMComment.mm:
* DOM/DOMCounter.mm:
* DOM/DOMDocument.mm:
* DOM/DOMDocumentFragment.mm:
* DOM/DOMDocumentType.mm:
* DOM/DOMEvent.mm:
* DOM/DOMFile.mm:
* DOM/DOMFileList.mm:
* DOM/DOMHTMLAnchorElement.mm:
* DOM/DOMHTMLAppletElement.mm:
* DOM/DOMHTMLAreaElement.mm:
* DOM/DOMHTMLBRElement.mm:
* DOM/DOMHTMLBaseElement.mm:
* DOM/DOMHTMLBaseFontElement.mm:
* DOM/DOMHTMLBodyElement.mm:
* DOM/DOMHTMLButtonElement.mm:
* DOM/DOMHTMLCanvasElement.mm:
* DOM/DOMHTMLCollection.mm:
* DOM/DOMHTMLDListElement.mm:
* DOM/DOMHTMLDirectoryElement.mm:
* DOM/DOMHTMLDivElement.mm:
* DOM/DOMHTMLDocument.mm:
* DOM/DOMHTMLElement.mm:
* DOM/DOMHTMLEmbedElement.mm:
* DOM/DOMHTMLFieldSetElement.mm:
* DOM/DOMHTMLFontElement.mm:
* DOM/DOMHTMLFormElement.mm:
* DOM/DOMHTMLFrameElement.mm:
* DOM/DOMHTMLFrameSetElement.mm:
* DOM/DOMHTMLHRElement.mm:
* DOM/DOMHTMLHeadElement.mm:
* DOM/DOMHTMLHeadingElement.mm:
* DOM/DOMHTMLHtmlElement.mm:
* DOM/DOMHTMLIFrameElement.mm:
* DOM/DOMHTMLImageElement.mm:
* DOM/DOMHTMLInputElement.mm:
* DOM/DOMHTMLLIElement.mm:
* DOM/DOMHTMLLabelElement.mm:
* DOM/DOMHTMLLegendElement.mm:
* DOM/DOMHTMLLinkElement.mm:
* DOM/DOMHTMLMapElement.mm:
* DOM/DOMHTMLMarqueeElement.mm:
* DOM/DOMHTMLMediaElement.mm:
* DOM/DOMHTMLMenuElement.mm:
* DOM/DOMHTMLMetaElement.mm:
* DOM/DOMHTMLModElement.mm:
* DOM/DOMHTMLOListElement.mm:
* DOM/DOMHTMLObjectElement.mm:
* DOM/DOMHTMLOptGroupElement.mm:
* DOM/DOMHTMLOptionElement.mm:
* DOM/DOMHTMLOptionsCollection.mm:
* DOM/DOMHTMLParagraphElement.mm:
* DOM/DOMHTMLParamElement.mm:
* DOM/DOMHTMLPreElement.mm:
* DOM/DOMHTMLQuoteElement.mm:
* DOM/DOMHTMLScriptElement.mm:
* DOM/DOMHTMLSelectElement.mm:
* DOM/DOMHTMLStyleElement.mm:
* DOM/DOMHTMLTableCaptionElement.mm:
* DOM/DOMHTMLTableCellElement.mm:
* DOM/DOMHTMLTableColElement.mm:
* DOM/DOMHTMLTableElement.mm:
* DOM/DOMHTMLTableRowElement.mm:
* DOM/DOMHTMLTableSectionElement.mm:
* DOM/DOMHTMLTitleElement.mm:
* DOM/DOMHTMLUListElement.mm:
* DOM/DOMHTMLVideoElement.mm:
* DOM/DOMKeyboardEvent.mm:
* DOM/DOMMediaError.mm:
* DOM/DOMMediaList.mm:
* DOM/DOMMouseEvent.mm:
* DOM/DOMMutationEvent.mm:
* DOM/DOMNamedNodeMap.mm:
* DOM/DOMNodeIterator.mm:
* DOM/DOMNodeList.mm:
* DOM/DOMOverflowEvent.mm:
* DOM/DOMProcessingInstruction.mm:
* DOM/DOMProgressEvent.mm:
* DOM/DOMRGBColor.mm:
* DOM/DOMRange.mm:
* DOM/DOMRect.mm:
* DOM/DOMStyleSheet.mm:
* DOM/DOMStyleSheetList.mm:
* DOM/DOMText.mm:
* DOM/DOMTextEvent.mm:
* DOM/DOMTimeRanges.mm:
* DOM/DOMTokenList.mm:
* DOM/DOMTreeWalker.mm:
* DOM/DOMUIEvent.mm:
* DOM/DOMWheelEvent.mm:
* DOM/DOMXPath.mm:
* DOM/DOMXPathExpression.mm:
* DOM/DOMXPathResult.mm:
2019-07-17 Antoine Quint <graouts@apple.com>
Disable Pointer Events prior to watchOS 6
https://bugs.webkit.org/show_bug.cgi?id=199890
<rdar://problem/53206113>
Reviewed by Dean Jackson.
* Configurations/FeatureDefines.xcconfig:
2019-07-17 Zalan Bujtas <zalan@apple.com>
Unable to tap buttons at top of Wells Fargo app’s Payees screen
https://bugs.webkit.org/show_bug.cgi?id=199846
<rdar://problem/48112220>
Reviewed by Simon Fraser.
* WebView/WebFrame.mm:
(-[WebFrame approximateNodeAtViewportLocation:]):
2019-07-17 Alex Christensen <achristensen@webkit.org>
Add a runtime-disabled dialog element skeleton
https://bugs.webkit.org/show_bug.cgi?id=199839
Reviewed by Ryosuke Niwa.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences dialogElementEnabled]):
(-[WebPreferences setDialogElementEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
Add SPI to enable the dialog element for tests.
2019-07-15 Dean Jackson <dino@apple.com>
[WebGL] Remove software rendering and simplify context creation on macOS
https://bugs.webkit.org/show_bug.cgi?id=199789
Reviewed by Sam Weinig.
Remove force software WebGL setting.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences forceSoftwareWebGLRendering]): Deleted.
(-[WebPreferences setForceSoftwareWebGLRendering:]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-07-13 Zalan Bujtas <zalan@apple.com>
Cannot bring up custom media controls at all on v.youku.com
https://bugs.webkit.org/show_bug.cgi?id=199699
<rdar://problem/51835327>
Reviewed by Simon Fraser.
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::actionDictionary const):
* WebView/WebFrame.mm:
(-[WebFrame elementAtPoint:]):
* WebView/WebHTMLView.mm:
(-[WebHTMLView elementAtPoint:allowShadowContent:]):
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController performHitTestAtPoint:]):
2019-07-12 Alex Christensen <achristensen@webkit.org>
Begin unifying WebKitLegacy sources
https://bugs.webkit.org/show_bug.cgi?id=199730
Reviewed by Keith Miller.
* Configurations/WebKitLegacy.xcconfig:
2019-07-11 Pablo Saavedra <psaavedra@igalia.com>
[WPE][GTK] Build failure with ENABLE_ACCESSIBILITY=OFF
https://bugs.webkit.org/show_bug.cgi?id=199625
Added ENABLE(ACCESSIBILITY) and replaced HAVE(ACCESSIBILITY)
with ENABLE(ACCESSIBILITY) in the code.
Additionally, the TestRunner code generator now honors the
Conditional IDL format.
Reviewed by Konstantin Tokarev.
* WebView/WebFrame.mm:
(-[WebFrame setAccessibleName:]):
(-[WebFrame enhancedAccessibilityEnabled]):
(-[WebFrame setEnhancedAccessibility:]):
(-[WebFrame accessibilityRoot]):
2019-07-08 Antoine Quint <graouts@apple.com>
[Pointer Events] Enable only on the most recent version of the supported iOS family
https://bugs.webkit.org/show_bug.cgi?id=199562
<rdar://problem/52766511>
Reviewed by Dean Jackson.
* Configurations/FeatureDefines.xcconfig:
2019-07-03 Sam Weinig <weinig@apple.com>
Adopt simple structured bindings in more places
https://bugs.webkit.org/show_bug.cgi?id=199247
Reviewed by Alex Christensen.
Replaces simple uses of std::tie() with structured bindings. Does not touch
uses of std::tie() that are not initial declarations, use std::ignore or in
case where the binding is captured by a lambda, as structured bindings don't
work for those cases yet.
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _animationControllerForText]):
2019-07-02 Devin Rousso <drousso@apple.com>
Web Inspector: Debug: "Reset Web Inspector" should also clear the saved window size and attachment side
https://bugs.webkit.org/show_bug.cgi?id=198956
Reviewed by Matt Baker.
* WebCoreSupport/WebInspectorClient.h:
* WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::resetWindowState): Added.
2019-06-28 Timothy Hatcher <timothy@apple.com>
Rename effectiveAppearanceIsInactive and useInactiveAppearance to better match UIUserInterfaceLevel.
https://bugs.webkit.org/show_bug.cgi?id=199336
rdar://problem/52348938
Reviewed by Tim Horton.
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _setUseDarkAppearance:]):
(-[WebView _useElevatedUserInterfaceLevel]):
(-[WebView _setUseElevatedUserInterfaceLevel:]):
(-[WebView _setUseDarkAppearance:useInactiveAppearance:]):
(-[WebView _setUseDarkAppearance:useElevatedUserInterfaceLevel:]):
(-[WebView _effectiveUserInterfaceLevelIsElevated]):
(-[WebView viewDidChangeEffectiveAppearance]):
(-[WebView _useInactiveAppearance]): Deleted.
(-[WebView _setUseInactiveAppearance:]): Deleted.
(-[WebView _effectiveAppearanceIsInactive]): Deleted.
* WebView/WebViewPrivate.h:
2019-06-28 Konstantin Tokarev <annulen@yandex.ru>
Remove traces of ENABLE_ICONDATABASE remaining after its removal in 219733
https://bugs.webkit.org/show_bug.cgi?id=199317
Reviewed by Michael Catanzaro.
While IconDatabase and all code using it was removed,
ENABLE_ICONDATABASE still exists as build option and C++ macro.
* Configurations/FeatureDefines.xcconfig:
* WebView/WebView.mm:
(-[WebView _cacheFrameLoadDelegateImplementations]): Use PLATFORM(MAC)
guard instead of ENABLE_ICONDATABASE, because ENABLE_ICONDATABASE was
enabled for macOS only.
2019-06-27 Timothy Hatcher <timothy@apple.com>
Move WebKitLegacy off of a couple AppKit ivars.
https://bugs.webkit.org/show_bug.cgi?id=199279
rdar://problem/34983438
Reviewed by Tim Horton.
* WebView/WebHTMLView.mm:
(-[NSView _setSubviewsIvar:]): Added. Implement on older systems.
(-[NSView _subviewsIvar]): Added. Ditto.
(needsCursorRectsSupportAtPoint): Use _borderView property.
(-[WebHTMLView _setAsideSubviews]): Use _subviewsIvar property.
(-[NSWindow _web_borderView]): Deleted.
2019-06-27 Beth Dakin <bdakin@apple.com>
Upstream use of MACCATALYST
https://bugs.webkit.org/show_bug.cgi?id=199245
rdar://problem/51687723
Reviewed by Tim Horton.
* Configurations/Base.xcconfig:
* Configurations/FeatureDefines.xcconfig:
* Configurations/SDKVariant.xcconfig:
2019-06-27 Saam Barati <sbarati@apple.com>
Make WEBGPU enabled only on Mojave and later.
Rubber-stamped by Myles C. Maxfield.
* Configurations/FeatureDefines.xcconfig:
2019-06-16 Darin Adler <darin@apple.com>
Rename AtomicString to AtomString
https://bugs.webkit.org/show_bug.cgi?id=195276
Reviewed by Michael Catanzaro.
* many files: Let do-webcore-rename do the renaming.
2019-06-14 Megan Gardner <megan_gardner@apple.com>
Move Synthetic Editing Commands to behind an experimental feature flag
https://bugs.webkit.org/show_bug.cgi?id=198842
<rdar://problem/50594700>
Reviewed by Simon Fraser.
Add plumbing for synthetic editing command feature flag.
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences syntheticEditingCommandsEnabled]):
(-[WebPreferences setSyntheticEditingCommandsEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
2019-06-13 Antoine Quint <graouts@apple.com>
REGRESSION (r246103) [ Mojave+ WK1 ] Layout Test scrollbars/scrollbar-iframe-click-does-not-blur-content.html is timing out
https://bugs.webkit.org/show_bug.cgi?id=198800
<rdar://problem/51679634>
Reviewed by Tim Horton.
Expose a private method that we need to use from DumpRenderTree.
* WebView/WebHTMLView.mm:
(-[WebHTMLView _hitViewForEvent:]):
* WebView/WebHTMLViewPrivate.h:
2019-06-10 Sam Weinig <weinig@apple.com>
Remove Dashboard support
https://bugs.webkit.org/show_bug.cgi?id=198615
Reviewed by Ryosuke Niwa.
Removes implementation, but keeps privatly exported interfaces and enums
around until we can confirm there are no more users of them.
* Configurations/FeatureDefines.xcconfig:
* Plugins/WebBaseNetscapePluginView.mm:
(-[WebBaseNetscapePluginView initWithFrame:pluginPackage:URL:baseURL:MIMEType:attributeKeys:attributeValues:loadManually:element:]):
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::annotatedRegionsChanged): Deleted.
* WebView/WebClipView.mm:
(-[WebClipView _focusRingVisibleRect]):
(-[WebClipView scrollWheel:]):
* WebView/WebDashboardRegion.h:
* WebView/WebDashboardRegion.mm:
* WebView/WebHTMLView.mm:
(-[WebHTMLView _updateMouseoverWithEvent:]):
(-[WebHTMLView acceptsFirstMouse:]):
(-[WebHTMLView setDataSource:]):
* WebView/WebPreferences.mm:
(cacheModelForMainBundle):
* WebView/WebUIDelegatePrivate.h:
* WebView/WebView.mm:
(-[WebView _needsPreHTML5ParserQuirks]):
(-[WebView _preferencesChanged:]):
(-[WebView _addScrollerDashboardRegions:]):
(-[WebView _dashboardRegions]):
(-[WebView _setDashboardBehavior:to:]):
(-[WebView _dashboardBehavior:]):
(-[WebView _addControlRect:clip:fromView:toDashboardRegions:]): Deleted.
(-[WebView _addScrollerDashboardRegionsForFrameView:dashboardRegions:]): Deleted.
(-[WebView _addScrollerDashboardRegions:from:]): Deleted.
* WebView/WebViewData.h:
* WebView/WebViewData.mm:
(-[WebViewPrivate init]):
* WebView/WebViewPrivate.h:
2019-06-10 Timothy Hatcher <timothy@apple.com>
Integrate dark mode support for iOS.
https://bugs.webkit.org/show_bug.cgi?id=198687
rdar://problem/51545643
Reviewed by Tim Horton.
* Configurations/FeatureDefines.xcconfig:
2019-06-07 Said Abou-Hallawa <sabouhallawa@apple.com>
REGRESSION (r244182) [WK1]: Page updates should always scheduleCompositingLayerFlush() immediately
https://bugs.webkit.org/show_bug.cgi?id=198664
Reviewed by Simon Fraser.
WK1 has to skip using DisplayRefreshMonitor when layers need to be updated.
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::needsImmediateScheduleCompositingLayerFlush):
== Rolled over to ChangeLog-2019-06-05 ==