haiku
review-overcommit
review-scrollbar
haiku_newservicekit
${ noResults }
876 Commits (haiku)
Author | SHA1 | Message | Date |
---|---|---|---|
![]() |
5ce1ea419a |
Add WKHoverPlatter and some knobs to tweak its appearance
https://bugs.webkit.org/show_bug.cgi?id=227735 <rdar://problem/79198262> Reviewed by Sam Weinig. Source/WebCore/PAL: * pal/spi/cocoa/QuartzCoreSPI.h: Source/WebKit: * Configurations/WebKit.xcconfig: * Platform/spi/ios/PrototypeToolsSPI.h: Added. * SourcesCocoa.txt: * UIProcess/ios/WKContentView.h: * UIProcess/ios/WKContentView.mm: (-[WKContentView rootContentView]): * UIProcess/ios/WKContentViewInteraction.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView setUpInteraction]): (-[WKContentView cleanUpInteraction]): Install and uninstall the platter alongside the gestures that drive it. (-[WKContentView mouseGestureRecognizerChanged:]): (-[WKContentView hoverGestureRecognizerChanged:]): When the gesture recognizers fire, also update the hover point. (-[WKContentView positionInformationForHoverPlatter:withRequest:completionHandler:]): * UIProcess/ios/WKHoverPlatter.h: Added. * UIProcess/ios/WKHoverPlatter.mm: Added. (createBaseAnimation): (addAnimation): (setAdditionalPlatterLayerProperties): (addAdditionalIncomingAnimations): (addAdditionalDismissalAnimations): (-[WKHoverPlatter initWithView:delegate:]): (-[WKHoverPlatter invalidate]): (-[WKHoverPlatter hoverPoint]): (-[WKHoverPlatter setHoverPoint:]): (-[WKHoverPlatter requestPositionInformationForCurrentHoverPoint]): (-[WKHoverPlatter didReceivePositionInformation:]): (-[WKHoverPlatter dismissPlatterWithAnimation:]): (-[WKHoverPlatter didFinishAnimationForShadow:]): (-[WKHoverPlatter clearLayers]): Animate the platter in and out, and optionally between states, as the hover point moves. Use the TextIndicator's geometry information, but not its snapshot; we use a CAPortalLayer for the platter instead. A future patch will avoid taking the snapshot entirely, since we call setHoverPoint (and thus generate a TextIndicator) a *lot* when moving the mouse around, and all those snapshots add up. * UIProcess/ios/WKHoverPlatterParameters.h: Added. * UIProcess/ios/WKHoverPlatterParameters.mm: Added. (-[PTSliderRow integerMinValue:maxValue:]): (-[WKHoverPlatterParameters setDefaultValues]): (+[WKHoverPlatterParameters settingsControllerModule]): (+[WKHoverPlatterDomain rootSettings]): (+[WKHoverPlatterDomain domainGroupName]): (+[WKHoverPlatterDomain domainName]): (+[WKHoverPlatterDomain rootSettingsClass]): Add some knobs, with reasonable defaults, for experimentation. * WebKit.xcodeproj/project.pbxproj: WebKitLibraries: * WebKitPrivateFrameworkStubs/appletvos/14/PrototypeTools.framework/PrototypeTools.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/15/PrototypeTools.framework/PrototypeTools.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/14/PrototypeTools.framework/PrototypeTools.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/15/PrototypeTools.framework/PrototypeTools.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/7/PrototypeTools.framework/PrototypeTools.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/8/PrototypeTools.framework/PrototypeTools.tbd: Added. Canonical link: https://commits.webkit.org/239503@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@279711 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
2 years ago |
![]() |
299c1a8ae0 |
[watchOS] Reenable modern text input UI for non-numeric text input types
https://bugs.webkit.org/show_bug.cgi?id=226988 rdar://78102953 Reviewed by Tim Horton. Source/WebKit: Refactor text input logic on watchOS such that we're able to present the new ("modern") UI for scribble text input on watchOS 8, rather than legacy (in-process) scribble UI. Overall, this patch removes WKQuickboardListViewController altogether. This had two subclasses: WKSelectMenuListViewController (used for focused single and multiple select elements) and WKTextInputListViewController (used for text input types). WKSelectMenuListViewController now inherits directly from PUICQuickboardListViewController, and WKTextInputListViewController now inherits from PUICQuickboardMessageViewController; this inheritance from PUICQuickboardMessageViewController instead of PUICQuickboardListViewController allows the WKTextInputListViewController to show text suggestions using `-setMessages:` on PUICQuickboardMessageViewController, instead of relying on custom WebKit code to insert text suggestions. This means that we move the following pieces of functionality out of WKQuickboardListViewController, and into either WKSelectMenuListViewController or WKTextInputListViewController: 1. Support for inserting and updating context views (i.e. the domain name header view in Quickboard) => WKTextInputListViewController. 2. Logic for determining whether or not we should show language selection UI => WKTextInputListViewController. 3. Support for laying out custom collection view cells in Quickboard => WKSelectMenuListViewController. * Platform/spi/watchos/PepperUICoreSPI.h: * SourcesCocoa.txt: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView createQuickboardTextInputContext]): (-[WKContentView _createQuickboardController:]): Refactor logic to create a PUICTextInputContext from the current focused element information out into a separate helper method, `-createQuickboardTextInputContext`, and use it when both directly launching into PUICQuickboardController and WKTextInputListViewController. (canUseQuickboardControllerFor): Remove a comment, now that we intend to continue using WKTextInputListViewController for non-keychain-AutoFill- compatible text fields moving forward. (-[WKContentView focusedFormControllerDidUpdateSuggestions:]): (-[WKContentView allowsLanguageSelectionForListViewController:]): (-[WKContentView textInputContextForListViewController:]): (-[WKContentView textContentTypeForTesting]): (-[WKContentView viewController:inputContextViewHeightForSize:]): Deleted. Remove this delegate method, which was (effectively) unused since we just ask for `-inputContextViewForViewController:` from the input delegate anyways. (-[WKContentView allowsLanguageSelectionMenuForListViewController:]): Deleted. Rename this to `-allowsLanguageSelectionForListViewController:`. (-[WKContentView textContentTypeForListViewController:]): Deleted. Replace this with `-textInputContextForListViewController:`, which returns a whole PUICTextInputContext instead of just a text content type. (-[WKContentView textSuggestionsForListViewController:]): Deleted. (-[WKContentView listViewController:didSelectTextSuggestion:]): Deleted. Remove several delegate methods that are no longer needed. * UIProcess/ios/forms/WKDatePickerViewController.h: * UIProcess/ios/forms/WKDatePickerViewController.mm: (-[WKDatePickerViewController viewWillAppear:]): Remove some (defunct) logic for overriding the status bar when showing Quickboard input view controllers. This status bar mechanism (which was previously used to show label text for form controls) hasn't worked since watchOS 6, and we need to implement this in a way that doesn't use PUICStatusBarGlobalContextViewAssertion. * UIProcess/ios/forms/WKQuickboardListViewController.mm: Removed. * UIProcess/ios/forms/WKQuickboardViewControllerDelegate.h: Renamed from Source/WebKit/UIProcess/ios/forms/WKQuickboardListViewController.h. * UIProcess/ios/forms/WKSelectMenuListViewController.h: * UIProcess/ios/forms/WKSelectMenuListViewController.mm: (-[WKSelectMenuItemCell topToLabelBaselineSpecValue]): (-[WKSelectMenuItemCell baselineToBottomSpecValue]): (-[WKSelectMenuCollectionViewItemCell topToLabelBaselineSpecValue]): (-[WKSelectMenuCollectionViewItemCell baselineToBottomSpecValue]): (-[WKSelectMenuListViewController initWithDelegate:]): See above comment for more details. * UIProcess/ios/forms/WKTextInputListViewController.h: * UIProcess/ios/forms/WKTextInputListViewController.mm: (-[WKTextInputListViewController initWithDelegate:]): (-[WKTextInputListViewController reloadContextView]): (-[WKTextInputListViewController updateContextViewIfNeeded]): Move logic for showing and updating the context view out of WKQuickboardListViewController, and into WKTextInputListViewController. See comments above. (-[WKTextInputListViewController requiresNumericInput]): (-[WKTextInputListViewController additionalTrayButtons]): (-[WKTextInputListViewController updateTextSuggestions:]): (-[WKTextInputListViewController headerContentViewHeight]): (-[WKTextInputListViewController headerContentView]): (-[WKTextInputListViewController shouldShowLanguageButton]): (-[WKTextInputListViewController supportsDictationInput]): (-[WKTextInputListViewController shouldShowTrayView]): (-[WKTextInputListViewController shouldShowTextField]): Override this and return YES for text input types that don't require an additional numeric input tray button. This allows PUICQuickboardMessageViewController to show a native text field containing the input text inside quickboard, which (when tapped) presents modern text input UI. Since showing the text field is apparently mutually exclusive to showing a tray view, we additionally override `-shouldShowTrayView` and return NO for non-numeric text inputs. (-[WKTextInputListViewController supportsArouetInput]): (-[WKTextInputListViewController viewDidLoad]): Deleted. (-[WKTextInputListViewController willPresentArouetViewController:]): Deleted. There's no need to override this delegate method anymore, since the PUICTextInputContext's `-initialText` is sufficient to ensure that the scribble text input UI is prepopulated with the focused text field's initial text content. (-[WKTextInputListViewController reloadTextSuggestions]): Deleted. Rename this to `-updateTextSuggestions:`, and make it take a list of UITextSuggestions. This makes the code a bit easier to follow and allows us to remove the `-textSuggestionsForListViewController:` delegate method. (-[WKTextInputListViewController didSelectListItemAtIndexPath:]): Deleted. (-[WKTextInputListViewController didSelectListItem:]): Deleted. (-[WKTextInputListViewController _didSelectListItem:]): Deleted. (-[WKTextInputListViewController numberOfListItems]): Deleted. (-[WKTextInputListViewController heightForListItem:width:]): Deleted. (-[WKTextInputListViewController cellForListItem:]): Deleted. (-[WKTextInputListViewController listItemCellReuseIdentifier]): Deleted. (-[WKTextInputListViewController listItemCellClass]): Deleted. (-[WKTextInputListViewController itemCellForListItem:forIndexPath:]): Deleted. Remove all this code for showing text suggestions in Quickboard UI. Since WKTextInputListViewController is now a subclass of PUICQuickboardMessageViewController, we can now simply use the `-messages` property of to populate quickboard with text suggestions. * UIProcess/ios/forms/WKTimePickerViewController.h: * WebKit.xcodeproj/project.pbxproj: WebKitLibraries: * WebKitPrivateFrameworkStubs/watchos/7/PepperUICore.framework/PepperUICore.tbd: * WebKitPrivateFrameworkStubs/watchos/8/PepperUICore.framework/PepperUICore.tbd: Canonical link: https://commits.webkit.org/238885@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278957 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
2 years ago |
![]() |
5d8952432a |
[tvOS 15] Support building WebKit
https://bugs.webkit.org/show_bug.cgi?id=227037 <rdar://problem/79354143> Reviewed by Alex Christensen. * WebKitPrivateFrameworkStubs/appletvos/15/AppSupport.framework/AppSupport.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/15/CorePrediction.framework/CorePrediction.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/15/FileProvider.framework/FileProvider.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/15/GraphicsServices.framework/GraphicsServices.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/15/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/15/RunningBoardServices.framework/RunningBoardServices.tbd: Added. Canonical link: https://commits.webkit.org/238846@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278914 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
2 years ago |
![]() |
e1d5de7bc3 |
[iOS 15] Support building WebKit (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=227002 <rdar://problem/79316598> Reviewed by Alex Christensen. * WebKitPrivateFrameworkStubs/iOS/15/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: Added. Canonical link: https://commits.webkit.org/238843@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278911 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
2 years ago |
![]() |
bc238bc37d |
[watchOS 8] Support building WebKit
https://bugs.webkit.org/show_bug.cgi?id=227050 <rdar://problem/79365320> Reviewed by Tim Horton. Source/WebKit: Covered by existing tests. * Platform/spi/watchos/PepperUICoreSPI.h: Add QuickboardController SPI. WebKitLibraries: * WebKitPrivateFrameworkStubs/watchos/8/AppSupport.framework/AppSupport.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/8/CorePrediction.framework/CorePrediction.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/8/FileProvider.framework/FileProvider.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/8/GraphicsServices.framework/GraphicsServices.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/8/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/8/PepperUICore.framework/PepperUICore.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/8/RunningBoardServices.framework/RunningBoardServices.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/8/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/8/URLFormatting.framework/URLFormatting.tbd: Added. Canonical link: https://commits.webkit.org/238842@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278910 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
2 years ago |
![]() |
772fdae161 |
Source/WebCore/PAL:
[iOS 15] Support building WebKit https://bugs.webkit.org/show_bug.cgi?id=227002 <rdar://problem/79316598> Reviewed by Tim Horton. * pal/spi/ios/QuickLookSPI.h: Source/WebKit: [iOS 15] Support building WebKit https://bugs.webkit.org/show_bug.cgi?id=227002 <rdar://problem/79316598> Reviewed by Tim Horton. Covered by existing tests. * Platform/spi/ios/UIKitSPI.h: Add _insertTextFromCamera. Tools: [iOS 15] Support building WebKit https://bugs.webkit.org/show_bug.cgi?id=227002 <rdar://problem/79316598> Reviewed by Tim Horton. * TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm: Remove unneeded import. WebKitLibraries: [iOS 15] Support building WebKit https://bugs.webkit.org/show_bug.cgi?id=227002 <rdar://problem/79316598> Reviewed by Tim Horton. * WebKitPrivateFrameworkStubs/iOS/15/AppSupport.framework/AppSupport.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/15/AuthKit.framework/AuthKit.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/15/BackBoardServices.framework/BackBoardServices.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/15/CorePrediction.framework/CorePrediction.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/15/GraphicsServices.framework/GraphicsServices.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/15/RunningBoardServices.framework/RunningBoardServices.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/15/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/15/URLFormatting.framework/URLFormatting.tbd: Added. Canonical link: https://commits.webkit.org/238816@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278872 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
2 years ago |
![]() |
8c1e120ef3 |
Update user-visible copyright strings to include 2021
https://bugs.webkit.org/show_bug.cgi?id=219901 Reviewed by Anders Carlsson. .: * Source/cmake/tools/scripts/COPYRIGHT-END-YEAR: Source/JavaScriptCore: * Info.plist: Source/WebCore: * Info.plist: Source/WebKit: * GPUProcess/EntryPoint/Cocoa/XPCService/GPUService/Info-OSX.plist: * GPUProcess/EntryPoint/Cocoa/XPCService/GPUService/Info-iOS.plist: * Info.plist: * NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-OSX.plist: * NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-iOS.plist: * PluginProcess/EntryPoint/Cocoa/XPCService/PluginService.Info.plist: * WebAuthnProcess/EntryPoint/Cocoa/XPCService/WebAuthnService/Info-OSX.plist: * WebAuthnProcess/EntryPoint/Cocoa/XPCService/WebAuthnService/Info-iOS.plist: * WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-OSX.plist: * WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-iOS.plist: Source/WebKitLegacy/mac: * Info.plist: WebKitLibraries: * win/tools/scripts/COPYRIGHT-END-YEAR: Canonical link: https://commits.webkit.org/232728@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@271131 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
0f14ce8540 |
Remove copy-webkitlibraries-to-product-directory
https://bugs.webkit.org/show_bug.cgi?id=217465 <rdar://problem/70082193> Reviewed by Darin Adler. This script no longer does anything, so remove it along with the scaffolding around it that invokes it during the build. .: * Makefile: Tools: * Scripts/build-jsc: * Scripts/build-webkit: * Scripts/copy-webkitlibraries-to-product-directory: Removed. WebKitLibraries: * Makefile: Removed. Canonical link: https://commits.webkit.org/230258@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268200 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
3c4054d787 |
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. Source/WebCore: On iOS, the primary pointer will always be touch input, so the `hover`/`pointer` media query should never change. If a mouse is connected, however, `any-hover`/`any-pointer` should change as now there is at least one device that supports `hover`/`fine`. Note that in the case of `any-pointer` this means that both `coarse` and `fine` will apply. Catalyst assumes that there is always a mouse connected. Spec: https://drafts.csswg.org/mediaqueries-4/#any-input * css/MediaQueryEvaluator.cpp: (WebCore::anyHoverEvaluate): (WebCore::anyPointerEvaluate): * page/ChromeClient.h: * loader/EmptyClients.h: (WebCore::EmptyChromeClient::hoverSupportedByAnyAvailablePointingDevice const): Added. (WebCore::EmptyChromeClient::pointerCharacteristicsOfAllAvailablePointingDevices const): Added. Provide a way for WebCore to get the current state of whether there are any mouse devices. Refactor logic in `anyHoverEvaluate` and `anyPointerEvaluate` to move platform code into the respective `WebKit::WebPage` file. * page/PointerCharacteristics.h: Added. Enum for `Coarse` and `Fine`. * platform/PlatformScreen.h: Export additional functions for use in WebKit. * Headers.cmake: * WebCore.xcodeproj/project.pbxproj: Source/WebKit: On iOS, the primary pointer will always be touch input, so the `hover`/`pointer` media query should never change. If a mouse is connected, however, `any-hover`/`any-pointer` should change as now there is at least one device that supports `hover`/`fine`. Note that in the case of `any-pointer` this means that both `coarse` and `fine` will apply. Catalyst assumes that there is always a mouse connected. Spec: https://drafts.csswg.org/mediaqueries-4/#any-input * UIProcess/ios/WKMouseDeviceObserver.h: Added. * UIProcess/ios/WKMouseDeviceObserver.mm: Added. (+[WKMouseDeviceObserver sharedInstance]): (-[WKMouseDeviceObserver dealloc]): (-[WKMouseDeviceObserver start]): (-[WKMouseDeviceObserver stop]): (-[WKMouseDeviceObserver mousePointerDevicesDidChange:]): (-[WKMouseDeviceObserver _setHasMouseDeviceForTesting:]): Use `BackBoardServices` to listen for mouse devices changes and notify all WebProcess. * UIProcess/WebProcessProxy.h: * UIProcess/WebProcessProxy.cpp: (WebKit::WebProcessProxy::WebProcessProxy): (WebKit::WebProcessProxy::platformInitialize): Added. (WebKit::WebProcessProxy::~WebProcessProxy): (WebKit::WebProcessProxy::platformDestroy): Added. * UIProcess/ios/WebProcessProxyIOS.mm: (WebKit::WebProcessProxy::platformInitialize): Added. (WebKit::WebProcessProxy::platformDestroy): Added. (WebKit::WebProcessProxy::notifyHasMouseDeviceChanged): Added. Tell the shared `WKMouseDeviceObserver` to start listening for mouse device changes when creating the WebProcess so that the shared `WKMouseDeviceObserver` knows to notify all instances when mouse devices change. Make `allProcesses` into a `private static` member function so that it can also be used in `UIProcess/ios/WebProcessProxyIOS.mm`. * Shared/WebProcessCreationParameters.h: * Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode const): (WebKit::WebProcessCreationParameters::decode): * UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeWebProcess): Use the current state of the shared `WKMouseDeviceObserver` when creating WebProcess instead of sending a `SetHasMouseDevice` message immediately after the WebProcess is created. * WebProcess/WebProcess.messages.in: * WebProcess/WebProcess.h: (WebKit::WebProcess::hasMouseDevice const): Added. * WebProcess/WebProcess.cpp: (WebKit::WebProcess::setHasMouseDevice): Added. * WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess): Update style (including `any-hover` and `any-pointer`) whenever mouse devices change. * WebProcess/WebCoreSupport/WebChromeClient.h: * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::hoverSupportedByAnyAvailablePointingDevice const): Added. (WebKit::WebChromeClient::pointerCharacteristicsOfAllAvailablePointingDevices const): Added. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/gtk/WebPageGtk.cpp: (WebKit::WebPage::hoverSupportedByAnyAvailablePointingDevice const): Added. (WebKit::WebPage::pointerCharacteristicsOfAllAvailablePointingDevices const): Added. * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::hasMouseDevice): Added. (WebKit::WebPage::hoverSupportedByAnyAvailablePointingDevice const): Added. (WebKit::WebPage::pointerCharacteristicsOfAllAvailablePointingDevices const): Added. * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::hoverSupportedByAnyAvailablePointingDevice const): Added. (WebKit::WebPage::pointerCharacteristicsOfAllAvailablePointingDevices const): Added. * WebProcess/WebPage/playstation/WebPagePlayStation.cpp: (WebKit::WebPage::hoverSupportedByAnyAvailablePointingDevice const): Added. (WebKit::WebPage::pointerCharacteristicsOfAllAvailablePointingDevices const): Added. * WebProcess/WebPage/win/WebPageWin.cpp: (WebKit::WebPage::hoverSupportedByAnyAvailablePointingDevice const): Added. (WebKit::WebPage::pointerCharacteristicsOfAllAvailablePointingDevices const): Added. * WebProcess/WebPage/wpe/WebPageWPE.cpp: (WebKit::WebPage::hoverSupportedByAnyAvailablePointingDevice const): Added. (WebKit::WebPage::pointerCharacteristicsOfAllAvailablePointingDevices const): Added. Provide a way for WebCore to get the current state of whether there are any mouse devices. Refactor logic in `WebCore::anyHoverEvaluate` and `WebCore::anyPointerEvaluate` to move platform code into the respective `WebPage` file. * Configurations/WebKit.xcconfig: * Platform/spi/ios/BackBoardServicesSPI.h: * Platform/spi/ios/BaseBoardSPI.h: Added. * SourcesCocoa.txt: * WebKit.xcodeproj/project.pbxproj: Source/WebKitLegacy/ios: * WebCoreSupport/WebChromeClientIOS.h: (WebChromeClientIOS::hoverSupportedByAnyAvailablePointingDevice const): Added. (WebChromeClientIOS::pointerCharacteristicsOfAllAvailablePointingDevices const): Added. Mouse devices are not supported. Source/WebKitLegacy/mac: * WebCoreSupport/WebChromeClient.h: (WebChromeClient::hoverSupportedByAnyAvailablePointingDevice const): Added. (WebChromeClient::pointerCharacteristicsOfAllAvailablePointingDevices const): Added. Mouse devices are always supported. Source/WebKitLegacy/win: * WebCoreSupport/WebChromeClient.h: (WebChromeClient::hoverSupportedByAnyAvailablePointingDevice const): Added. (WebChromeClient::pointerCharacteristicsOfAllAvailablePointingDevices const): Added. Mouse devices are always supported. Tools: * TestWebKitAPI/cocoa/TestWKWebView.h: * TestWebKitAPI/cocoa/TestWKWebView.mm: (-[TestWKWebView evaluateMediaQuery:]): Added. Create helper function for synchronously testing media queries. * TestWebKitAPI/Tests/WebKitCocoa/iOSMouseSupport.mm: (iOSMouseSupport.MouseInitiallyDisconnected): Added. (iOSMouseSupport.MouseInitiallyConnected): Added. (iOSMouseSupport.MouseLaterDisconnected): Added. (iOSMouseSupport.MouseLaterConnected): Added. (iOSMouseSupport.MouseAlwaysConnected): Added. WebKitLibraries: * WebKitPrivateFrameworkStubs/iOS/13/BackBoardServices.framework/BackBoardServices.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/14/BackBoardServices.framework/BackBoardServices.tbd: Added. Use `BackBoardServices` to listen for mouse devices changes. Canonical link: https://commits.webkit.org/230175@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@268086 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
fd0ac4fa1c |
Submission failure with "make: *** No rule to make target `installsrc'. Stop"
https://bugs.webkit.org/show_bug.cgi?id=214696 <rdar://problem/62268104> Patch by Ryan Hostetler <rhost@apple.com> on 2020-10-04 Reviewed by Darin Adler. .: Add installsrc phase to support xbs submitproject for WebKit repository. This change allows internal tools to submit and build in a single step. * Makefile: * Makefile.shared: * Source/Makefile: Source/ThirdParty: Add installsrc phase to support xbs submitproject for WebKit repository. This change allows internal tools to submit and build in a single step. * Makefile: Tools: Add support for XBS single base project build for WebKit repository. This change allows internal tools to submit and build from the repository root in a single step. * Makefile: Tools does not need to be submitted, so we stub out the installsrc phase. WebKitLibraries: Add support for XBS single base project build for WebKit repository. This change allows internal tools to submit and build from the repository root in a single step. * Makefile: WebKitLibraries do not need to be submitted, so we stub out the installsrc phase. Canonical link: https://commits.webkit.org/230058@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@267949 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
d0ceff02ad |
REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214688 <rdar://problem/65993683> Reviewed by Darin Adler. Source/WebCore/PAL: Remove logging added in r264882, r264890, r264892, and r264896. * pal/spi/ios/GraphicsServicesSPI.h: Source/WebKit: Remove logging added in r264882, r264890, r264892, and r264896. * Platform/spi/ios/UIKitSPI.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _singleTapIdentified:]): (-[WKContentView _singleTapRecognized:]): * UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::commitPotentialTap): * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::handleSyntheticClick): Tools: Attempt another speculative fix for this flaky test, motivated by logging introduced in r264896. This recently introduced telemetry would suggest that this test fails when the act of handling a synthetic modifier keydown fails to update `GSKeyboardRef`'s live modifier flags if the keyboard layout changes mid-event, forcing the existing `GSKeyboardRef` to be destroyed and rebuilt. In this case, the keyboard layout changes from "Hebrew" to "US" when this test fails. There is only one (sane) explanation for this, which is that one of the `editing/input/ios/rtl-keyboard-input-*.html` tests switch to an RTL keyboard ("he_IL" in both cases) by swizzling out `-currentInputMode` and `-currentInputModeInPreference` on `UIKeyboardInputModeController`. While the swizzling is torn down in between test runs via logic in `TestController::platformResetStateToConsistentValues`, it's possible that this change hasn't propagated to the UIKit or GraphicsServices layers -- in other words, `UIApplication`'s `GSKeyboardRef` remains stuck in the Hebrew layout until the next time `-GSKeyboardForHWLayout:forceRebuild:createIfNeeded:` forces the keyboard to be rebuilt, which (in this case) seems to happen while running `shift-click-includes-existing-selection.html`. For reasons that are still unclear, this lazy regeneration of the `GSKeyboardRef` causes GraphicsServices' live modifier state to not update when handling a shift key down HID event. However, we might be able to fix this by forcing UIKit to sync the default (unswizzled) keyboard layout back to its `GSKeyboardRef` immediately when we stop swizzling `UIKeyboardInputModeController` after running a test that attempts to simulate changing keyboard input modes. * WebKitTestRunner/ios/TestControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): Call `-prepareKeyboardInputModeFromPreferences:` to force the UIApp to update its hardware keyboard state (i.e. `GSKeyboardRef`). * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers): Also, restore this method to how it was prior to r264890, as it doesn't seem like waiting for the HID marker event after synthesizing a keydown had any effect. * WebKitTestRunner/ios/mainIOS.mm: (-[WebKitTestRunnerApp handleKeyHIDEvent:]): Deleted. WebKitLibraries: Remove logging added in r264882, r264890, r264892, and r264896. * WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework/GraphicsServices.tbd: LayoutTests: Remove the failing test expectation. * platform/ios-simulator-wk2/TestExpectations: Canonical link: https://commits.webkit.org/227630@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264907 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
5b13e2974f |
Unreviewed, add even more logging to try and diagnose a flaky test
https://bugs.webkit.org/show_bug.cgi?id=214688 <rdar://problem/65993683> Source/WebCore/PAL: Add more GraphicsServices SPI declarations. * pal/spi/ios/GraphicsServicesSPI.h: Source/WebKit: Add another IPI declaration on UIApplication. * Platform/spi/ios/UIKitSPI.h: Tools: Evidence so far suggests that this test fails when the process of dispatching a keydown event for a modifier (in this case, the shift key) causes the UIApplication's hardware keyboard (`GSKeyboardRef`) to be regenerated. This may happen in one of two ways: either a rebuild is forced by logic in `-[UIApplication handleKeyHIDEvent:]`, or `forceRebuild` is `NO`, but the keyboard is rebuilt anyways due to a mismatched layout and/or keyboard type. * WebKitTestRunner/ios/mainIOS.mm: (-[WebKitTestRunnerApp GSKeyboardForHWLayout:forceRebuild:createIfNeeded:]): (-[WebKitTestRunnerApp handleKeyHIDEvent:]): WebKitLibraries: Add symbol stubs for non-internal builds. * WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework/GraphicsServices.tbd: Canonical link: https://commits.webkit.org/227619@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264896 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
ad16b87bf7 |
REGRESSION (r264690): [ iOS wk2 ] editing/selection/shift-click-includes-existing-selection.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=214688 <rdar://problem/65993683> Reviewed by Tim Horton. Source/WebCore/PAL: * pal/spi/ios/GraphicsServicesSPI.h: Source/WebKit: Add an SPI declaration on UIApplication. * Platform/spi/ios/UIKitSPI.h: Tools: Continue to add logging in an attempt to debug this flaky test. * WebKitTestRunner/ios/mainIOS.mm: (-[WebKitTestRunnerApp handleKeyHIDEvent:]): (-[WebKitTestRunnerApp _handleHIDEvent:]): Drive-by fix: add a missing call to the superclass method. WebKitLibraries: Declare the symbol for `GSKeyboardGetLiveModifierState()`, for non-internal builds. * WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework/GraphicsServices.tbd: Canonical link: https://commits.webkit.org/227615@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264892 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
25429e2ff7 |
Add Gamepad tests that exercise the native frameworks
<rdar://problem/65343674> and https://bugs.webkit.org/show_bug.cgi?id=214188 Reviewed by Tim Horton. Source/WebCore: * platform/gamepad/mac/MultiGamepadProvider.h: (WebCore::MultiGamepadProvider::setUsesOnlyHIDGamepadProvider): * platform/gamepad/mac/MultiGamepadProvider.mm: (WebCore::MultiGamepadProvider::startMonitoringGamepads): (WebCore::MultiGamepadProvider::stopMonitoringGamepads): Source/WebKit: Add some testing-only SPI for TestWebKitAPI. * UIProcess/API/Cocoa/WKProcessPool.mm: (-[WKProcessPool _numberOfConnectedGamepadsForTesting]): (-[WKProcessPool _setUsesOnlyHIDGamepadProviderForTesting:]): * UIProcess/API/Cocoa/WKProcessPoolPrivate.h: * UIProcess/Gamepad/UIGamepadProvider.h: (WebKit::UIGamepadProvider::numberOfConnectedGamepads const): * UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::numberOfConnectedGamepadsForTesting): (WebKit::WebProcessPool::setUsesOnlyHIDGamepadProviderForTesting): * UIProcess/WebProcessPool.h: Source/WTF: * wtf/PlatformHave.h: Tools: For Internal builds, we can create HID devices that exercise the native gamepad providers. E.g. Actually exercise the IOHID gamepad provider codepath. Give the Internal TestWebKitAPI build some entitlements: * TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements: Added. * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add a very basic test that connects a device, presses a button, and verifies the web page sees it: * TestWebKitAPI/Tests/mac/HIDGamepads.mm: Added. (-[GamepadMessageHandler userContentController:didReceiveScriptMessage:]): (TestWebKitAPI::handleGamepadConnect): Add the beginnings of a VirtualGamepad device that reads in a HID descriptor (just like real gamepads): * TestWebKitAPI/mac/VirtualGamepad.h: Added. * TestWebKitAPI/mac/VirtualGamepad.mm: Added. (TestWebKitAPI::VirtualGamepad::makeVirtualNimbus): (TestWebKitAPI::VirtualGamepad::VirtualGamepad): (TestWebKitAPI::VirtualGamepad::~VirtualGamepad): (TestWebKitAPI::VirtualGamepad::setButtonValue): (TestWebKitAPI::VirtualGamepad::setAxisValue): (TestWebKitAPI::VirtualGamepad::publishReport): WebKitLibraries: * WebKitPrivateFrameworkStubs/Mac/101500/HID.framework/HID.tbd: Added. * WebKitPrivateFrameworkStubs/Mac/101600/HID.framework/HID.tbd: Added. * WebKitPrivateFrameworkStubs/Mac/110000/HID.framework/HID.tbd: Added. Canonical link: https://commits.webkit.org/227505@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264769 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
dc3c156898 |
Add WebKitPrivateFrameworkStubs for Big Sur
https://bugs.webkit.org/show_bug.cgi?id=214503 <rdar://problem/65746594> Reviewed by Alexey Proskuryakov. * WebKitPrivateFrameworkStubs/Mac/101600: Added. * WebKitPrivateFrameworkStubs/Mac/101600/AuthKit.framework: Added. * WebKitPrivateFrameworkStubs/Mac/101600/AuthKit.framework/AuthKit.tbd: Added. * WebKitPrivateFrameworkStubs/Mac/110000: Added. * WebKitPrivateFrameworkStubs/Mac/110000/AuthKit.framework: Added. * WebKitPrivateFrameworkStubs/Mac/110000/AuthKit.framework/AuthKit.tbd: Added. Canonical link: https://commits.webkit.org/227300@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264552 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
ec5579035c |
Add WebKitPrivateFrameworkStubs for watchOS 7
https://bugs.webkit.org/show_bug.cgi?id=214479 <rdar://problem/65727787> Reviewed by Tim Horton. * WebKitPrivateFrameworkStubs/watchos/7: Added. * WebKitPrivateFrameworkStubs/watchos/7/AppSupport.framework: Added. * WebKitPrivateFrameworkStubs/watchos/7/AppSupport.framework/AppSupport.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/7/AssertionServices.framework: Added. * WebKitPrivateFrameworkStubs/watchos/7/AssertionServices.framework/AssertionServices.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/7/AuthKit.framework: Added. * WebKitPrivateFrameworkStubs/watchos/7/AuthKit.framework/AuthKit.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/7/CorePrediction.framework: Added. * WebKitPrivateFrameworkStubs/watchos/7/CorePrediction.framework/CorePrediction.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/7/DeviceIdentity.framework: Added. * WebKitPrivateFrameworkStubs/watchos/7/DeviceIdentity.framework/DeviceIdentity.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/7/FileProvider.framework: Added. * WebKitPrivateFrameworkStubs/watchos/7/FileProvider.framework/FileProvider.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework: Added. * WebKitPrivateFrameworkStubs/watchos/7/GraphicsServices.framework/GraphicsServices.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/7/IOKit.framework: Added. * WebKitPrivateFrameworkStubs/watchos/7/IOKit.framework/IOKit.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/7/IOSurfaceAccelerator.framework: Added. * WebKitPrivateFrameworkStubs/watchos/7/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/7/LocalAuthentication.framework: Added. * WebKitPrivateFrameworkStubs/watchos/7/LocalAuthentication.framework/LocalAuthentication.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/7/PepperUICore.framework: Added. * WebKitPrivateFrameworkStubs/watchos/7/PepperUICore.framework/PepperUICore.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/7/RunningBoardServices.framework: Added. * WebKitPrivateFrameworkStubs/watchos/7/RunningBoardServices.framework/RunningBoardServices.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/7/SafariSafeBrowsing.framework: Added. * WebKitPrivateFrameworkStubs/watchos/7/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/7/URLFormatting.framework: Added. * WebKitPrivateFrameworkStubs/watchos/7/URLFormatting.framework/URLFormatting.tbd: Added. Canonical link: https://commits.webkit.org/227296@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264548 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
088124048d |
Add WebKitPrivateFrameworkStubs for tvOS 14
https://bugs.webkit.org/show_bug.cgi?id=214476 <rdar://problem/65725761> Reviewed by Tim Horton. * WebKitPrivateFrameworkStubs/appletvos/14: Added. * WebKitPrivateFrameworkStubs/appletvos/14/AppSupport.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/14/AppSupport.framework/AppSupport.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/14/AssertionServices.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/14/AssertionServices.framework/AssertionServices.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/14/AuthKit.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/14/AuthKit.framework/AuthKit.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/14/CorePrediction.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/14/CorePrediction.framework/CorePrediction.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/14/DeviceIdentity.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/14/DeviceIdentity.framework/DeviceIdentity.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/14/FileProvider.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/14/FileProvider.framework/FileProvider.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/14/GraphicsServices.framework/GraphicsServices.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/14/IOKit.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/14/IOKit.framework/IOKit.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/14/IOSurfaceAccelerator.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/14/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/14/LocalAuthentication.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/14/LocalAuthentication.framework/LocalAuthentication.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/14/RunningBoardServices.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/14/RunningBoardServices.framework/RunningBoardServices.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/14/SafariSafeBrowsing.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/14/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/14/URLFormatting.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/14/URLFormatting.framework/URLFormatting.tbd: Added. Canonical link: https://commits.webkit.org/227295@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264547 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
19257b4c23 |
Add WebKitPrivateFrameworkStubs for iOS 14
https://bugs.webkit.org/show_bug.cgi?id=214432 <rdar://problem/65695714> Reviewed by Tim Horton. * WebKitPrivateFrameworkStubs/iOS/14: Added. * WebKitPrivateFrameworkStubs/iOS/14/AppSupport.framework: Added. * WebKitPrivateFrameworkStubs/iOS/14/AppSupport.framework/AppSupport.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/14/AssertionServices.framework: Added. * WebKitPrivateFrameworkStubs/iOS/14/AssertionServices.framework/AssertionServices.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/14/AuthKit.framework: Added. * WebKitPrivateFrameworkStubs/iOS/14/AuthKit.framework/AuthKit.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/14/CorePrediction.framework: Added. * WebKitPrivateFrameworkStubs/iOS/14/CorePrediction.framework/CorePrediction.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/14/DeviceIdentity.framework: Added. * WebKitPrivateFrameworkStubs/iOS/14/DeviceIdentity.framework/DeviceIdentity.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework: Added. * WebKitPrivateFrameworkStubs/iOS/14/GraphicsServices.framework/GraphicsServices.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/14/IOSurfaceAccelerator.framework: Added. * WebKitPrivateFrameworkStubs/iOS/14/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/14/RunningBoardServices.framework: Added. * WebKitPrivateFrameworkStubs/iOS/14/RunningBoardServices.framework/RunningBoardServices.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/14/SafariSafeBrowsing.framework: Added. * WebKitPrivateFrameworkStubs/iOS/14/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/14/URLFormatting.framework: Added. * WebKitPrivateFrameworkStubs/iOS/14/URLFormatting.framework/URLFormatting.tbd: Added. Canonical link: https://commits.webkit.org/227246@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264498 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
e8e36ed3c1 |
[watchOS] Support armv7k build
https://bugs.webkit.org/show_bug.cgi?id=214306 <rdar://problem/65549901> Reviewed by Aakash Jain. Source/WebCore: No new tests, build fix. * Configurations/Base.xcconfig: Disable 64 to 32 bit conversion warning for armv7k. WebKitLibraries: * WebKitPrivateFrameworkStubs/watchos/6/FileProvider.framework/FileProvider.tbd: Add armv7k to supported architectures. * WebKitPrivateFrameworkStubs/watchos/6/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: Ditto. * WebKitPrivateFrameworkStubs/watchos/6/LocalAuthentication.framework/LocalAuthentication.tbd: Ditto. * WebKitPrivateFrameworkStubs/watchos/6/PepperUICore.framework/PepperUICore.tbd: Ditto. * WebKitPrivateFrameworkStubs/watchos/6/RunningBoardServices.framework/RunningBoardServices.tbd: Ditto. * WebKitPrivateFrameworkStubs/watchos/6/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: Ditto. * WebKitPrivateFrameworkStubs/watchos/6/URLFormatting.framework/URLFormatting.tbd: Ditto. Canonical link: https://commits.webkit.org/227116@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@264357 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
a4012c3962 |
watchOS/tvOS: Remote unneeded FileProvider symbols
https://bugs.webkit.org/show_bug.cgi?id=213216 <rdar://problem/64380232> Reviewed by Alexey Proskuryakov. * WebKitPrivateFrameworkStubs/appletvos/13/FileProvider.framework/FileProvider.tbd: * WebKitPrivateFrameworkStubs/watchos/6/FileProvider.framework/FileProvider.tbd: Canonical link: https://commits.webkit.org/226004@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@263067 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
f9fdd42d28 |
Catalyst WebKit apps continue to play audio after quitting (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=212981 <rdar://problem/57089471> Unreviewed build fix. * WebKitPrivateFrameworkStubs/appletvos/13/RunningBoardServices.framework/RunningBoardServices.tbd: * WebKitPrivateFrameworkStubs/watchos/6/RunningBoardServices.framework/RunningBoardServices.tbd: Canonical link: https://commits.webkit.org/225848@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262885 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
36d12ba1d2 |
Catalyst WebKit apps continue to play audio after quitting
https://bugs.webkit.org/show_bug.cgi?id=212981 <rdar://problem/57089471> Reviewed by Chris Dumez. Source/WebKit: RunningBoard will track whether a process (and it's associated child processes) are "user-visible" by granting those processes an "endowment", similar to the existing endowment for application visibility. Track changes to these endowments using a RBSProcessMonitor, and for Catalyst apps, react to losing the "user-visible" endowment by suspending all media playback. Move all the endowment-related code into a new class, EndowmentStateTracker, which is a singleton object that can have mulitple WebPageProxy clients. Update references to the previously global static isApplicationForeground() function to refer to EndowmentStateTracker instead. Drive-by fix: move some iOS-only functions in WebPageProxy.cpp into WebPageProxyIOS.mm. * UIProcess/ApplicationStateTracker.h: * UIProcess/ApplicationStateTracker.mm: (WebKit::ApplicationStateTracker::ApplicationStateTracker): (WebKit::isApplicationForeground): Deleted. * UIProcess/EndowmentStateTracker.h: Added. (WebKit::EndowmentStateTracker::isVisible const): (WebKit::EndowmentStateTracker::isUserFacing const): * UIProcess/EndowmentStateTracker.mm: Added. (WebKit::handleForPID): (WebKit::EndowmentStateTracker::isApplicationForeground): (WebKit::EndowmentStateTracker::isApplicationUserFacing): (WebKit::EndowmentStateTracker::singleton): (WebKit::EndowmentStateTracker::EndowmentStateTracker): (WebKit::EndowmentStateTracker::addClient): (WebKit::EndowmentStateTracker::removeClient): (WebKit::EndowmentStateTracker::setIsUserFacing): (WebKit::EndowmentStateTracker::setIsVisible): * UIProcess/WebPageProxy.cpp: (WebKit::m_limitsNavigationsToAppBoundDomains): (WebKit::WebPageProxy::~WebPageProxy): (WebKit::WebPageProxy::processWillBecomeSuspended): Deleted. (WebKit::WebPageProxy::processWillBecomeForeground): Deleted. * UIProcess/WebPageProxy.h: * UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::isApplicationVisible): * UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::processWillBecomeSuspended): (WebKit::WebPageProxy::processWillBecomeForeground): (WebKit::WebPageProxy::isUserFacingChanged): (WebKit::WebPageProxy::isVisibleChanged): * WebKit.xcodeproj/project.pbxproj: Source/WTF: Add the ability to call copyToVector() on a WeakHashSet. This requires two changes: - A template specialization that returns a Vector<WeakPtr<T>> from copyToVector() - A template specialization that calls calculateSize() rather than size() on the object being iterated upon. * wtf/WeakHashSet.h: (WTF::copyToVector): WebKitLibraries: * WebKitPrivateFrameworkStubs/iOS/13/RunningBoardServices.framework/RunningBoardServices.tbd: Canonical link: https://commits.webkit.org/225827@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262858 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
bc9983d397 |
tvOS: Remove arm64e references in .tbd files
https://bugs.webkit.org/show_bug.cgi?id=212792 <rdar://problem/64003670> Reviewed by Tim Horton. * WebKitPrivateFrameworkStubs/appletvos/13/AppSupport.framework/AppSupport.tbd: * WebKitPrivateFrameworkStubs/appletvos/13/AssertionServices.framework/AssertionServices.tbd: * WebKitPrivateFrameworkStubs/appletvos/13/AuthKit.framework/AuthKit.tbd: * WebKitPrivateFrameworkStubs/appletvos/13/CorePDF.framework/CorePDF.tbd: * WebKitPrivateFrameworkStubs/appletvos/13/CorePrediction.framework/CorePrediction.tbd: * WebKitPrivateFrameworkStubs/appletvos/13/DeviceIdentity.framework/DeviceIdentity.tbd: * WebKitPrivateFrameworkStubs/appletvos/13/FileProvider.framework/FileProvider.tbd: * WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd: * WebKitPrivateFrameworkStubs/appletvos/13/IOKit.framework/IOKit.tbd: * WebKitPrivateFrameworkStubs/appletvos/13/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: * WebKitPrivateFrameworkStubs/appletvos/13/LocalAuthentication.framework/LocalAuthentication.tbd: * WebKitPrivateFrameworkStubs/appletvos/13/RunningBoardServices.framework/RunningBoardServices.tbd: * WebKitPrivateFrameworkStubs/appletvos/13/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: * WebKitPrivateFrameworkStubs/appletvos/13/URLFormatting.framework/URLFormatting.tbd: Canonical link: https://commits.webkit.org/225602@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262596 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
70e0ba573a |
Add tvOS framework stubs
https://bugs.webkit.org/show_bug.cgi?id=212760 <rdar://problem/63986134> Reviewed by Tim Horton. * WebKitPrivateFrameworkStubs/appletvos: Added. * WebKitPrivateFrameworkStubs/appletvos/13: Added. * WebKitPrivateFrameworkStubs/appletvos/13/AppSupport.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/13/AppSupport.framework/AppSupport.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/13/AssertionServices.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/13/AssertionServices.framework/AssertionServices.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/13/AuthKit.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/13/AuthKit.framework/AuthKit.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/13/CorePDF.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/13/CorePDF.framework/CorePDF.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/13/CorePrediction.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/13/CorePrediction.framework/CorePrediction.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/13/DeviceIdentity.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/13/DeviceIdentity.framework/DeviceIdentity.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/13/FileProvider.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/13/FileProvider.framework/FileProvider.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/13/GraphicsServices.framework/GraphicsServices.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/13/IOKit.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/13/IOKit.framework/IOKit.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/13/IOSurfaceAccelerator.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/13/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/13/LocalAuthentication.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/13/LocalAuthentication.framework/LocalAuthentication.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/13/RunningBoardServices.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/13/RunningBoardServices.framework/RunningBoardServices.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/13/SafariSafeBrowsing.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/13/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: Added. * WebKitPrivateFrameworkStubs/appletvos/13/URLFormatting.framework: Added. * WebKitPrivateFrameworkStubs/appletvos/13/URLFormatting.framework/URLFormatting.tbd: Added. Canonical link: https://commits.webkit.org/225571@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262557 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
f5db1d4d1b |
Add watchOS framework stubs
https://bugs.webkit.org/show_bug.cgi?id=212761 <rdar://problem/63986144> Reviewed by Tim Horton. * WebKitPrivateFrameworkStubs/watchos: Added. * WebKitPrivateFrameworkStubs/watchos/6: Added. * WebKitPrivateFrameworkStubs/watchos/6/AppSupport.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/AppSupport.framework/AppSupport.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/6/AssertionServices.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/AssertionServices.framework/AssertionServices.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/6/AuthKit.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/AuthKit.framework/AuthKit.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/6/CorePDF.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/CorePDF.framework/CorePDF.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/6/CorePrediction.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/CorePrediction.framework/CorePrediction.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/6/DeviceIdentity.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/DeviceIdentity.framework/DeviceIdentity.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/6/FileProvider.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/FileProvider.framework/FileProvider.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/GraphicsServices.framework/GraphicsServices.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/6/IOKit.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/IOKit.framework/IOKit.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/6/IOSurfaceAccelerator.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/6/LocalAuthentication.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/LocalAuthentication.framework/LocalAuthentication.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/6/PepperUICore.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/PepperUICore.framework/PepperUICore.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/6/RunningBoardServices.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/RunningBoardServices.framework/RunningBoardServices.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/6/SafariSafeBrowsing.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: Added. * WebKitPrivateFrameworkStubs/watchos/6/URLFormatting.framework: Added. * WebKitPrivateFrameworkStubs/watchos/6/URLFormatting.framework/URLFormatting.tbd: Added. Canonical link: https://commits.webkit.org/225570@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262556 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
7b7693ebd9 |
[iOS] WKProcessAssertionBackgroundTaskManager incorrectly ignores expiration notifications for daemons
https://bugs.webkit.org/show_bug.cgi?id=212619 Reviewed by Alex Christensen. WKProcessAssertionBackgroundTaskManager was incorrectly ignoring process assertion expiration notifications for daemons, because it was relying on visibility to make decisions. For daemons (or ViewServices), we would not get application visibility notifications and would therefore always assume the app is visible. As a result, _handleBackgroundTaskExpiration would think it received an outdated expiration notification for a visible app and would simply re-take the assertion right away. To address the issue, we now rely on a RunningBoard API that lets us know if the suspension timer has been started or not (and how much remains on the timer). If the suspension timer is not active when get receive the expiration notification, we know it is an outdated notification and we ignore it (release and re-take assertion right away). This can happen if we did not have time to process the expiration notification before suspended and thus only get it upon resuming. It can also happen if the user re-activates the app right after the expiration notice has been sent. * Platform/spi/ios/RunningBoardServicesSPI.h: * UIProcess/ios/ProcessAssertionIOS.mm: (processHasActiveRunTimeLimitation): (-[WKProcessAssertionBackgroundTaskManager init]): (-[WKProcessAssertionBackgroundTaskManager _updateBackgroundTask]): (-[WKProcessAssertionBackgroundTaskManager _handleBackgroundTaskExpiration]): (-[WKProcessAssertionBackgroundTaskManager _handleBackgroundTaskExpirationOnMainThread]): (-[WKProcessAssertionBackgroundTaskManager _releaseBackgroundTask]): Canonical link: https://commits.webkit.org/225504@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@262477 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
38ae78ad7e |
[iOS] Stop using legacy BKSApplicationStateMonitor
https://bugs.webkit.org/show_bug.cgi?id=210945 Reviewed by Tim Horton. Source/WebKit: Stop using legacy BKSApplicationStateMonitor and use RunningBoard API instead. * Configurations/WebKit.xcconfig: Stop linking against ApplicationServices when using iOS 14 SDK now that we are fully transitioned to RunningBoard. * Platform/spi/ios/RunningBoardServicesSPI.h: * UIProcess/ApplicationStateTracker.h: * UIProcess/ApplicationStateTracker.mm: (WebKit::ApplicationStateTracker::ApplicationStateTracker): (WebKit::isApplicationForeground): (WebKit::ApplicationStateTracker::~ApplicationStateTracker): (WebKit::isBackgroundState): Deleted. * UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::isApplicationVisible): WebKitLibraries: * WebKitPrivateFrameworkStubs/iOS/13/RunningBoardServices.framework/RunningBoardServices.tbd: Canonical link: https://commits.webkit.org/223853@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@260642 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
3 years ago |
![]() |
0a84b77d46 |
Remove support for WebKitSystemInterface
https://bugs.webkit.org/show_bug.cgi?id=208894 <rdar://problem/60297590> Reviewed by Brent Fulgham. This project provided support for facilities that are now handled elsewhere and is no longer needed. .: * .gitignore: * Source/PlatformWin.cmake: * Source/cmake/OptionsAppleWin.cmake: Tools: * Scripts/copy-webkitlibraries-to-product-directory: WebKitLibraries: * Makefile: * WebKitSystemInterface.h: Removed. * win/include/WebKitSystemInterface/WebKitSystemInterface.h: Removed. * win/lib32/WebKitSystemInterface.lib: Removed. Canonical link: https://commits.webkit.org/222062@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258520 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
4 years ago |
![]() |
4ceda47066 |
[iOS] Replace "unexpectedly resumed" observer with RunningBoard suspendible assertions
https://bugs.webkit.org/show_bug.cgi?id=205687 <rdar://problem/57890246> Reviewed by Tim Horton. Adopt new RunningBoard process assertion to indicate that WebContent processes depend on their UIProcess (and therefore, the UIProcess must be running if the WebContent process is). This replaces our "Unexpectedly resumed" assertion which was causing unexpected terminations in some cases. * Configurations/WebKit.xcconfig: * Platform/spi/ios/RunningBoardServicesSPI.h: Added. * Scripts/process-entitlements.sh: * Shared/DependencyProcessAssertion.cpp: Added. (WebKit::DependencyProcessAssertion::DependencyProcessAssertion): (WebKit::DependencyProcessAssertion::~DependencyProcessAssertion): * Shared/DependencyProcessAssertion.h: Added. * Shared/ios/DependencyProcessAssertionIOS.mm: Added. (WebKit::DependencyProcessAssertion::DependencyProcessAssertion): (WebKit::DependencyProcessAssertion::~DependencyProcessAssertion): * Sources.txt: * SourcesCocoa.txt: * UIProcess/Cocoa/WebProcessProxyCocoa.mm: * UIProcess/WebProcessProxy.h: * UIProcess/WebProcessProxy.messages.in: * WebKit.xcodeproj/project.pbxproj: * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeConnection): * WebProcess/WebProcess.h: * WebProcess/cocoa/WebProcessCocoa.mm: Canonical link: https://commits.webkit.org/221771@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@258180 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
4 years ago |
![]() |
9d31248476 |
Unreviewed, revert r253984 as it appears to be causing assertion leaks.
https://bugs.webkit.org/show_bug.cgi?id=205687 Source/WebKit: * Configurations/WebKit.xcconfig: * Platform/spi/ios/RunningBoardServicesSPI.h: Removed. * Scripts/process-entitlements.sh: * Shared/DependencyProcessAssertion.cpp: Removed. * Shared/DependencyProcessAssertion.h: Removed. * Shared/NativeWebTouchEvent.h: * Shared/ios/DependencyProcessAssertionIOS.mm: Removed. * Sources.txt: * SourcesCocoa.txt: * UIProcess/Cocoa/WebProcessProxyCocoa.mm: (WebKit::WebProcessProxy::processWasResumed): * UIProcess/WebProcessProxy.h: * UIProcess/WebProcessProxy.messages.in: * WebKit.xcodeproj/project.pbxproj: * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeConnection): * WebProcess/WebProcess.h: * WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::processTaskStateDidChange): (WebKit::WebProcess::releaseProcessWasResumedAssertions): WebKitLibraries: * WebKitPrivateFrameworkStubs/iOS/13/RunningBoardServices.framework/RunningBoardServices.tbd: Removed. Canonical link: https://commits.webkit.org/219853@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@255189 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
4 years ago |
![]() |
5c844c96cb |
WebKitLibraries: Remove old private framework stubs
https://bugs.webkit.org/show_bug.cgi?id=206067 <rdar://problem/58479518> Reviewed by Alexey Proskuryakov. * WebKitPrivateFrameworkStubs/iOS/10: Removed. * WebKitPrivateFrameworkStubs/iOS/11: Removed. * WebKitPrivateFrameworkStubs/iOS/12: Removed. Canonical link: https://commits.webkit.org/219191@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254348 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
4 years ago |
![]() |
15cded41da |
Rename testing build configuration to release+assert, and add new testing build configuration.
https://bugs.webkit.org/show_bug.cgi?id=205954 Reviewed by Yusuke Suzuki. .: "make release-assert" builds a release build with ASSERT_ENABLED=1. "make testing" builds a debug build with clang optimization level forced to -O3. * Makefile: * Makefile.shared: * Source/Makefile: Source/ThirdParty: * Makefile: Tools: Added a --force-opt shortcut for the --force-optimization-level option of set-webkit-configuration. This makes it less painful to type this on the command line for those of us who would like to use this option often in our local builds. * Makefile: * Scripts/set-webkit-configuration: WebKitLibraries: * Makefile: Canonical link: https://commits.webkit.org/219084@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254227 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
4 years ago |
![]() |
cbeb19ee5b |
Add a testing target to make that is release + assertions
https://bugs.webkit.org/show_bug.cgi?id=205895 Reviewed by Mark Lam. * Makefile: .: * Makefile.shared: * Source/Makefile: Canonical link: https://commits.webkit.org/219040@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254181 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
4 years ago |
![]() |
7b85cb90bc |
[iOS] Replace "unexpectedly resumed" observer with RunningBoard suspendible assertions
https://bugs.webkit.org/show_bug.cgi?id=205687 <rdar://problem/57890246> Reviewed by Tim Horton. Adopt new RunningBoard process assertion to indicate that WebContent processes depend on their UIProcess (and therefore, the UIProcess must be running if the WebContent process is). This replaces our "Unexpectedly resumed" assertion which was causing unexpected terminations in some cases. * Configurations/WebKit.xcconfig: * Platform/spi/ios/RunningBoardServicesSPI.h: Added. * Scripts/process-entitlements.sh: * Shared/DependencyProcessAssertion.cpp: Added. (WebKit::DependencyProcessAssertion::DependencyProcessAssertion): (WebKit::DependencyProcessAssertion::~DependencyProcessAssertion): * Shared/DependencyProcessAssertion.h: Added. * Shared/ios/DependencyProcessAssertionIOS.mm: Added. (WebKit::DependencyProcessAssertion::DependencyProcessAssertion): (WebKit::DependencyProcessAssertion::~DependencyProcessAssertion): * Sources.txt: * SourcesCocoa.txt: * UIProcess/Cocoa/WebProcessProxyCocoa.mm: * UIProcess/WebProcessProxy.h: * UIProcess/WebProcessProxy.messages.in: * WebKit.xcodeproj/project.pbxproj: * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeConnection): * WebProcess/WebProcess.h: * WebProcess/cocoa/WebProcessCocoa.mm: Canonical link: https://commits.webkit.org/218860@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@253984 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
4 years ago |
![]() |
27ee745bea |
Update user-visible copyright strings to include 2020
https://bugs.webkit.org/show_bug.cgi?id=205552 Reviewed by Darin Adler. .: * Source/cmake/tools/scripts/COPYRIGHT-END-YEAR: Source/JavaScriptCore: * Info.plist: Source/WebCore: * Info.plist: Source/WebKit: * GPUProcess/EntryPoint/Cocoa/XPCService/GPUService/Info-OSX.plist: * GPUProcess/EntryPoint/Cocoa/XPCService/GPUService/Info-iOS.plist: * Info.plist: * NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-OSX.plist: * NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-iOS.plist: * PluginProcess/EntryPoint/Cocoa/XPCService/PluginService.64.Info.plist: * WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-OSX.plist: * WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-iOS.plist: Source/WebKitLegacy/mac: * Info.plist: WebKitLibraries: * win/tools/scripts/COPYRIGHT-END-YEAR: Canonical link: https://commits.webkit.org/218844@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@253968 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
4 years ago |
![]() |
4c81669652 |
Follow-up: [iOS 13] Enable WebKit build
https://bugs.webkit.org/show_bug.cgi?id=199481 <rdar://problem/52619048> Unreviewed build-fix. * WebKitPrivateFrameworkStubs/iOS/13/DeviceIdentity.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/DeviceIdentity.framework/DeviceIdentity.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/13/IOSurfaceAccelerator.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: Added. Canonical link: https://commits.webkit.org/215545@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250020 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
4 years ago |
![]() |
04de2c555f |
[iOS 13] Enable WebKit build
https://bugs.webkit.org/show_bug.cgi?id=199481 <rdar://problem/52619048> Reviewed by Tim Horton. Source/WebCore: No new tests, iOS 13 test expectations will be migrated in the near future. * platform/ios/LocalCurrentTraitCollection.mm: (WebCore::LocalCurrentTraitCollection::LocalCurrentTraitCollection): Remove underscore from currentTraitCollection. (WebCore::LocalCurrentTraitCollection::~LocalCurrentTraitCollection): Remove underscore from setCurrentTraitCollection. Source/WebCore/PAL: * pal/spi/cocoa/NSProgressSPI.h: We need the NSProgress SPI in public builds because NSProgress API is marked unavailable on iOS, watchOS and tvOS. * pal/spi/ios/CoreUISPI.h: Add CUIStyleEffectConfiguration.appearanceName SPI. * pal/spi/ios/DataDetectorsUISPI.h: Add UIContextMenuConfiguration.contextMenuConfigurationForURL SPI. * pal/spi/ios/SystemPreviewSPI.h: Add ARQuickLookWebKitItem.initWithPreviewItemProvider SPI. * pal/spi/ios/UIKitSPI.h: Add systemBrownColor, UIColor.tableCellDefaultSelectionTintColor should be marked nullable. * pal/spi/mac/AVFoundationSPI.h: Add AVOutputDevice.name SPI. Source/WebKit: * Platform/spi/ios/UIKitSPI.h: Add UITextEffectsWindow.sharedTextEffectsWindowForWindowScene SPI. * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView showGlobalMenuControllerInRect:]): setTargetRect, setMenuVisible marked depreciated in iOS 13. (-[WKContentView hideGlobalMenuController]): Ditto. Tools: * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Add iOS framework stubs. WebKitLibraries: Added iOS 13 framework stubs, used tbd version 3 in all new stubs. * WebKitPrivateFrameworkStubs/iOS/13: Added. * WebKitPrivateFrameworkStubs/iOS/13/AppSupport.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/AssertionServices.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/AuthKit.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/CorePDF.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/CorePrediction.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/GraphicsServices.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/SafariSafeBrowsing.framework: Added. * WebKitPrivateFrameworkStubs/iOS/13/URLFormatting.framework: Added. Canonical link: https://commits.webkit.org/213590@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247355 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
4 years ago |
![]() |
a7ee72d690 |
[Catalina] Enable WebKit build
https://bugs.webkit.org/show_bug.cgi?id=199209 Reviewed by Darin Adler. Source/WebCore: No new tests, Catalina test expectations will be migrated in the near future. * WebCorePrefix.h: Exclude the header which declares SecTrustedApplicationCreateFromPath unavailable on Mac. * crypto/mac/SerializedCryptoKeyWrapMac.mm: Ensure that we define SecTrustedApplicationCreateFromPath before other headers declare it unavailable on Mac. Source/WebCore/PAL: * pal/spi/cf/CFNetworkSPI.h: Add new NSURLSessionConfiguration SPI. * pal/spi/mac/AVFoundationSPI.h: resourceConservationLevelWhilePaused should be defined after AVPlayerResourceConservationLevel. * pal/spi/mac/NSViewSPI.h: Add subviewsIvar. Source/WebKit: * UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.h: AppSSO is SPI. * WebKit2Prefix.h: SecTask.h declares SecTaskGetCodeSignStatus(...) unavailable on Mac, exclude this header. Source/WebKitLegacy: * mac/WebView/WebHTMLView.mm: Move NSView declaration to SPI header. * mac/WebView/WebView.mm: Use _subviewsIvar instead of _subviews. Source/WTF: * wtf/spi/cocoa/SecuritySPI.h: Declare SecTrustedApplicationCreateFromPath(...). Tools: * TestWebKitAPI/Configurations/TestWebKitAPI.xcconfig: Add Mac framework stubs. WebKitLibraries: * WebKitPrivateFrameworkStubs/Mac: Added. * WebKitPrivateFrameworkStubs/Mac/101500: Added. * WebKitPrivateFrameworkStubs/Mac/101500/AuthKit.framework: Added. * WebKitPrivateFrameworkStubs/Mac/101500/AuthKit.framework/AuthKit.tbd: Added. Canonical link: https://commits.webkit.org/213383@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@247117 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
4 years ago |
![]() |
51d59a036d |
[Win] Add flag to enable version information stamping and disable by default.
https://bugs.webkit.org/show_bug.cgi?id=197249 <rdar://problem/50224412> Reviewed by Ross Kirsling. .: This feature is only used in AppleWin port. Add flag for this task and make it OFF by default. Then enable it by default on AppleWin. * Source/cmake/OptionsWin.cmake: Source/JavaScriptCore: This feature is only used in AppleWin port. Add flag for this task and make it OFF by default. Then enable it by default on AppleWin. * CMakeLists.txt: Source/WTF: This feature is only used in AppleWin port. Add flag for this task and make it OFF by default. Then enable it by default on AppleWin. * wtf/CMakeLists.txt: WebKitLibraries: Modify script not to invoke SVN command if the directory for SVN doesn't exists. * win/tools/scripts/auto-version.pl: Canonical link: https://commits.webkit.org/211570@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244741 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
4 years ago |
![]() |
8de346156c |
[iOS] Software keyboard is shown too frequently on some websites
https://bugs.webkit.org/show_bug.cgi?id=195856 <rdar://problem/49191395> Reviewed by Darin Adler. Source/WebCore/PAL: Declare new GraphicsServices SPI. * pal/spi/ios/GraphicsServicesSPI.h: Source/WebKit: On some websites, hidden editable elements are very frequently focused upon user interaction. Currently, this causes the software keyboard to pop in and out unexpectedly; luckily, these same sites also apply inputmode="none" to the hidden editable element, which ought to ensure that the software keyboard doesn't appear when the element is focused. However, since we disabled support for inputmode="none" in r240497, the software keyboard is no longer suppressed, and becomes a big nuissance. r240497 removed support for this feature because, when using a hardware keyboard, pressing the globe key no longer showed UI for switching languages. However, support for inputmode none makes a much larger impact when a software keyboard is used (since the entire software keyboard animates in and out), whereas a hardware keyboard only displays an input accessory view. For this reason, we can mitigate this bug without reintroducing <rdar://problem/47406553> by re-enabling inputmode="none", but only when a hardware keyboard is not attached. * UIProcess/API/Cocoa/WKWebView.mm: (hardwareKeyboardAvailabilityChangedCallback): * UIProcess/ios/WKContentViewInteraction.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView shouldShowAutomaticKeyboardUI]): Don't show the keyboard if inputmode is none and a hardware keyboard is not attached. (-[WKContentView _hardwareKeyboardAvailabilityChanged]): Reload input views if the inputmode is none to ensure that if a hardware keyboard is attached while editing an element with inputmode="none", we'll show the input accessory view once again. Tools: Add support for attaching or detaching the hardware keyboard on iOS in layout tests. * DumpRenderTree/ios/UIScriptControllerIOS.mm: (WTR::UIScriptController::setHardwareKeyboardAttached): * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: * TestRunnerShared/UIScriptContext/UIScriptController.cpp: (WTR::UIScriptController::setHardwareKeyboardAttached): * TestRunnerShared/UIScriptContext/UIScriptController.h: * WebKitTestRunner/Configurations/WebKitTestRunnerApp.xcconfig: Additionally link against GraphicsServices in WebKitTestRunner. * WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::TestController::platformResetStateToConsistentValues): (WTR::UIScriptController::setHardwareKeyboardAttached): WebKitLibraries: Add a symbol for GSEventSetHardwareKeyboardAttached. * WebKitPrivateFrameworkStubs/iOS/12/GraphicsServices.framework/GraphicsServices.tbd: LayoutTests: Fix a failing layout test, which (among other reasons) is currently failing because support for inputmode="none" is disabled. * fast/forms/ios/inputmode-none-expected.txt: * fast/forms/ios/inputmode-none.html: * resources/ui-helper.js: Add a UIHelper method for attaching or detaching the hardware keyboard. (window.UIHelper.setHardwareKeyboardAttached): (window.UIHelper): Canonical link: https://commits.webkit.org/211129@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@244220 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
5 years ago |
![]() |
fe2c42db47 |
Update user-visible copyright strings to include 2019
https://bugs.webkit.org/show_bug.cgi?id=192811 Reviewed by Mark Lam. Source/JavaScriptCore: * Info.plist: Source/WebCore: * Info.plist: Source/WebKit: * Info.plist: * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist: * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-iOS.plist: * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist: * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist: * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-iOS.plist: Source/WebKitLegacy/mac: * Info.plist: WebKitLibraries: * win/tools/scripts/COPYRIGHT-END-YEAR: Canonical link: https://commits.webkit.org/207599@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@239568 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
5 years ago |
![]() |
b10c0bca0e |
[iOS] Draw caps lock indicator in password fields
https://bugs.webkit.org/show_bug.cgi?id=190565 <rdar://problem/45262343> Source/WebCore: Reviewed by Dean Jackson. Draw the caps lock indicator in a focused password field on iOS. This makes the behavior of password fields on iOS more closely match the behavior of password fields on Mac. The majority of this patch is implementing PlatformKeyboardEvent::currentCapsLockState() for iOS. In Legacy WebKit, the implementation boils down to calling call -[::WebEvent modifierFlags]. In Modern WebKit the UIProcess is responsible for -[::WebEvent modifierFlags] and passing it the WebProcess to store such that invocations of PlatformKeyboardEvent::currentCapsLockState() consult the store in the WebProcess. A smaller part of this patch is having both the legacy and modern web views listen for keyboard availability changes so as to update the the caps lock state when a hardware keyboard is detached or attached. * WebCore.xcodeproj/project.pbxproj: * page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged const): Extracted from EventHandler::internalKeyEvent() so that it can shared between WebCore, Modern WebKit, and Legacy WebKit code. (WebCore::EventHandler::internalKeyEvent): Modified to call capsLockStateMayHaveChanged(). * page/EventHandler.h: * platform/cocoa/KeyEventCocoa.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Moved from KeyEventMac.mm. (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Moved from KeyEventMac.mm. * platform/ios/KeyEventIOS.mm: (WebCore::PlatformKeyboardEvent::currentStateOfModifierKeys): Fetch the current modifier state. (WebCore::PlatformKeyboardEvent::currentCapsLockState): Deleted; we now use the Cocoa implementation. (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Deleted; we now use the Cocoa implementation. * platform/ios/WebEvent.h: * platform/ios/WebEvent.mm: (+[WebEvent modifierFlags]): Added. * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Deleted; moved to KeyEventCocoa.mm to be shared by both Mac and iOS. (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Deleted; moved to KeyEventCocoa.mm to be shared by both Mac and iOS. * rendering/RenderThemeCocoa.h: * rendering/RenderThemeCocoa.mm: (WebCore::RenderThemeCocoa::shouldHaveCapsLockIndicator const): Moved from RenderThemeMac.mm. * rendering/RenderThemeIOS.h: * rendering/RenderThemeIOS.mm: (WebCore::RenderThemeIOS::shouldHaveCapsLockIndicator const): Deleted. * rendering/RenderThemeMac.h: * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldHaveCapsLockIndicator const): Deleted; moved to RenderThemeCocoa.mm to be shared by both Mac and iOS. Source/WebCore/PAL: Reviewed by Dean Jackson. Forward declare some more SPI. * pal/spi/ios/GraphicsServicesSPI.h: * pal/spi/ios/UIKitSPI.h: Source/WebKit: Reviewed by Dean Jackson. Notify the WebContent process with the current modifer state on window activation changes. Notify the WebContent process when hardware keyboard availability changes (e.g. a keyboard is attached). * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): Register for hardware keyboard availability changed notifications. (-[WKWebView dealloc]): Unregister from hardware availability changed notifications. (hardwareKeyboardAvailabilityChangedCallback): Added. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::updateCurrentModifierState): Compile this code when building for iOS. * UIProcess/WebPageProxy.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _handleKeyUIEvent:]): Update the current modifier state if this event is a hardware keyboard flags changed event. * UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::hardwareKeyboardAvailabilityChanged): Added. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::hardwareKeyboardAvailabilityChanged): Added new message HardwareKeyboardAvailabilityChanged. Notify the focused HTML input element (if we have one) that the caps lock state may have changed when we receive message HardwareKeyboardAvailabilityChanged so that we toggle visibility of the caps lock indicator. Source/WebKitLegacy/mac: Reviewed by Dean Jackson. Update the caps lock state when a hardware keyboard is attached or detached. * WebView/WebHTMLView.mm: (hardwareKeyboardAvailabilityChangedCallback): Added. (-[WebHTMLView initWithFrame:]): Register for hardware keyboard availability changed notifications. (-[WebHTMLView dealloc]): Unregister from hardware keyboard availability changed notifications. WebKitLibraries: Reviewed by Dean Jackson. Expose some more symbols. * WebKitPrivateFrameworkStubs/iOS/12/GraphicsServices.framework/GraphicsServices.tbd: LayoutTests: Unreviewed. Update expected results now that iOS supports showing the caps lock indictor. * platform/ios/fast/css/text-overflow-input-expected.txt: * platform/ios/fast/forms/basic-inputs-expected.txt: * platform/ios/fast/forms/input-appearance-height-expected.txt: * platform/ios/fast/forms/input-value-expected.txt: * platform/ios/fast/forms/placeholder-pseudo-style-expected.txt: * platform/ios/tables/mozilla_expected_failures/bugs/bug92647-1-expected.txt: Canonical link: https://commits.webkit.org/206292@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238078 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
5 years ago |
![]() |
0e25f4512f |
Unreviewed, rolling out r238047.
Introduced layout test failures on iOS simulator. Reverted changeset: "[iOS] Draw caps lock indicator in password fields" https://bugs.webkit.org/show_bug.cgi?id=190565 https://trac.webkit.org/changeset/238047 Canonical link: https://commits.webkit.org/206276@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238062 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
5 years ago |
![]() |
2f8f5729be |
[iOS] Draw caps lock indicator in password fields
https://bugs.webkit.org/show_bug.cgi?id=190565 <rdar://problem/45262343> Reviewed by Dean Jackson. Source/WebCore: Draw the caps lock indicator in a focused password field on iOS. This makes the behavior of password fields on iOS more closely match the behavior of password fields on Mac. For now, we only draw the indicator when caps locks is enabled via the hardware keyboard. We will look to support the software keyboard in a subsequent commit (see <https://bugs.webkit.org/show_bug.cgi?id=191475>). The majority of this patch is implementing PlatformKeyboardEvent::currentCapsLockState() for iOS. In Legacy WebKit, the implementation boils down to calling call -[::WebEvent modifierFlags]. In Modern WebKit the UIProcess is responsible for -[::WebEvent modifierFlags] and passing it the WebProcess to store such that invocations of PlatformKeyboardEvent::currentCapsLockState() consult the store in the WebProcess. A smaller part of this patch is having both the legacy and modern web views listen for keyboard availability changes so as to update the the caps lock state when a hardware keyboard is detached or attached. * WebCore.xcodeproj/project.pbxproj: * page/EventHandler.cpp: (WebCore::EventHandler::capsLockStateMayHaveChanged const): Extracted from EventHandler::internalKeyEvent() so that it can shared between WebCore, Modern WebKit, and Legacy WebKit code. (WebCore::EventHandler::internalKeyEvent): Modified to call capsLockStateMayHaveChanged(). * page/EventHandler.h: * platform/cocoa/KeyEventCocoa.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Moved from KeyEventMac.mm. (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Moved from KeyEventMac.mm. * platform/ios/KeyEventIOS.mm: (WebCore::PlatformKeyboardEvent::currentStateOfModifierKeys): Fetch the current modifier state. (WebCore::PlatformKeyboardEvent::currentCapsLockState): Deleted; we now use the Cocoa implementation. (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Deleted; we now use the Cocoa implementation. * platform/ios/WebEvent.h: * platform/ios/WebEvent.mm: (+[WebEvent modifierFlags]): Added. * platform/mac/KeyEventMac.mm: (WebCore::PlatformKeyboardEvent::currentCapsLockState): Deleted; moved to KeyEventCocoa.mm to be shared by both Mac and iOS. (WebCore::PlatformKeyboardEvent::getCurrentModifierState): Deleted; moved to KeyEventCocoa.mm to be shared by both Mac and iOS. * rendering/RenderThemeCocoa.h: * rendering/RenderThemeCocoa.mm: (WebCore::RenderThemeCocoa::shouldHaveCapsLockIndicator const): Moved from RenderThemeMac.mm. * rendering/RenderThemeIOS.h: * rendering/RenderThemeIOS.mm: (WebCore::RenderThemeIOS::shouldHaveCapsLockIndicator const): Deleted. * rendering/RenderThemeMac.h: * rendering/RenderThemeMac.mm: (WebCore::RenderThemeMac::shouldHaveCapsLockIndicator const): Deleted; moved to RenderThemeCocoa.mm to be shared by both Mac and iOS. Source/WebCore/PAL: Forward declare some more SPI. * pal/spi/ios/GraphicsServicesSPI.h: * pal/spi/ios/UIKitSPI.h: Source/WebKit: Notify the WebContent process with the current modifer state on window activation changes. Notify the WebContent process when hardware keyboard availability changes (e.g. a keyboard is attached). * UIProcess/API/Cocoa/WKWebView.mm: (-[WKWebView _initializeWithConfiguration:]): Register for hardware keyboard availability changed notifications. (-[WKWebView dealloc]): Unregister from hardware availability changed notifications. (hardwareKeyboardAvailabilityChangedCallback): Added. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::updateCurrentModifierState): Compile this code when building for iOS. * UIProcess/WebPageProxy.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _handleKeyUIEvent:]): Update the current modifier state if this event is a hardware keyboard flags changed event. * UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::hardwareKeyboardAvailabilityChanged): Added. * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/WebPage.messages.in: * WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::hardwareKeyboardAvailabilityChanged): Added new message HardwareKeyboardAvailabilityChanged. Notify the focused HTML input element (if we have one) that the caps lock state may have changed when we receive message HardwareKeyboardAvailabilityChanged so that we toggle visibility of the caps lock indicator. Source/WebKitLegacy/mac: Update the caps lock state when a hardware keyboard is attached or detached. * WebView/WebHTMLView.mm: (hardwareKeyboardAvailabilityChangedCallback): Added. (-[WebHTMLView initWithFrame:]): Register for hardware keyboard availability changed notifications. (-[WebHTMLView dealloc]): Unregister from hardware keyboard availability changed notifications. WebKitLibraries: Expose some more symbols. * WebKitPrivateFrameworkStubs/iOS/12/GraphicsServices.framework/GraphicsServices.tbd: Canonical link: https://commits.webkit.org/206261@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@238047 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
5 years ago |
![]() |
e7ef90360d |
Enable WebKit iOS 12 build
https://bugs.webkit.org/show_bug.cgi?id=187024 <rdar://problem/39759057> Reviewed by David Kilzer. Source/WebCore/PAL: * pal/cf/CoreMediaSoftLink.cpp: Condition some CoreMedia functions on version. * pal/cf/CoreMediaSoftLink.h: Ditto. * pal/spi/cocoa/NSXPCConnectionSPI.h: Use XPCSPI.h instead of xpc.h. * pal/spi/ios/QuickLookSPI.h: QLItem adopts QLPreviewItem. * pal/spi/ios/SystemPreviewSPI.h: Fix compiler errors. Source/WebKit: * Platform/spi/ios/PDFKitSPI.h: Added PDFKit SPI. * Platform/spi/ios/UIKitSPI.h: Add new UIKit SPI and UICompositingMode enumeration. * UIProcess/ios/WKPDFView.mm: Use PDFKitSPI header. * UIProcess/ios/WKSystemPreviewView.mm: Use CoreGraphicsSPI.h. * UIProcess/ios/fullscreen/WKFullscreenStackView.mm: Use QuartzCoreSPI.h. Source/WTF: * wtf/spi/darwin/XPCSPI.h: Add endpoint and connection declarations. Tools: * Scripts/configure-xcode-for-ios-development: (copyMissingHeadersFromSDKToSDKIfNeeded): Copy launch.h into embedded SDKs. WebKitLibraries: * WebKitPrivateFrameworkStubs/iOS/12: Added. Canonical link: https://commits.webkit.org/202355@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@233266 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
5 years ago |
![]() |
121c0c2e48 |
[iOS] Hard link AppSupport instead of soft linking
https://bugs.webkit.org/show_bug.cgi?id=185959 <rdar://problem/40506538> Patch by Joseph Pecoraro <pecoraro@apple.com> on 2018-05-24 Reviewed by Timothy Horton. Source/WebCore: * Configurations/WebCore.xcconfig: * platform/network/ios/NetworkStateNotifierIOS.mm: (-[WebNetworkStateObserver initWithBlock:]): (WebCore::NetworkStateNotifier::updateStateWithoutNotifying): WebKitLibraries: * WebKitPrivateFrameworkStubs/iOS/10/AppSupport.framework/AppSupport.tbd: * WebKitPrivateFrameworkStubs/iOS/11/AppSupport.framework/AppSupport.tbd: Add stub for ObjC Class CPNetworkObserver. Canonical link: https://commits.webkit.org/201399@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@232167 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
5 years ago |
![]() |
db354b316b |
[WebAuthN] Implement authenticatorMakeCredential
https://bugs.webkit.org/show_bug.cgi?id=183527 <rdar://problem/35275886> Reviewed by Brent Fulgham. Source/WebCore: This patch does the following few things: 1) It implements the authenticatorMakeCredential logic from the spec: https://www.w3.org/TR/webauthn/#op-make-cred. 2) It tweaks enocding and deocding of PublicKeyCredentialCreationOptions between UIProccess and WebProcess. 3) It soft links LocalAuthentication.Framework to WebCore, which was linked to WebKit. 4) It creates SPI header for DeviceIdentity.Framework, and provides stubs to link it to WebCore. Here is a detailed explanantion of 1): 1. A helper class called LocalAuthenticator is crafted to represent Apple platform attached authenticator, i.e. the devices themselves. All operations are currently restricted to iOS at this moment as macOS lacks attestation support. 2. To do testing, this helper class is then moved from WebKit to WebCore even though all operations can only happens in the UIProcess. We currently lack the ability to pretend a https environment in TestWebKitAPI which is required by the WebAuthN API, and thus it is moved to WebCore to perform unit tesing flavor API tests. This is not enough as it can't test message exchange between the UI and Web processes. We will address this in a subsequent patch. 3. More on testing: The attestation process is abstracted into a protected method such that the testing enviroment can override it with self attestation as network access is restricted in the WebKit testing enviroment. Also, swizzlers of LocalAuthentication API are provided to override the behavoir of LAContext. 4. More on testing: The actual Apple attestation can only happen in real device and with network access, therefore it can only be covered by manual tests at this moment. 5. Back to LocalAuthenticator, it currently has two public methods: 5.1. makeCredential(): This method is the one does all the magic. + It first checks some parameters. + It then invokes LAContext to get user consent. + It then talks to Apple Attestation Privacy CA to do attestations. + It then stores necessary information into the Keychain. + Finally it generates the attestation object. 5.2 isAvailable(): To check if a LocalAuthenticator is available or not. 6. Even though files are of .mm format, they are written in a way that mixes NS, CF and C++ types. Here is the rule: 6.1 Use CF type only if it is requested by APIs. 6.2 Use NS type to manipulate all Objc objects. 6.3 Use C++ otherwise. Covered by API tests. * Configurations/WebCore.xcconfig: * Modules/credentialmanagement/CredentialsMessenger.cpp: (WebCore::getIdFromAttestationObject): Deleted. Decoding attestation object is tedious. UIProcess will instead return credential ID and attestation object at the same time. Therefore, this method is removed. * Modules/credentialmanagement/CredentialsMessenger.h: (WebCore::CreationReturnBundle::CreationReturnBundle): Deleted. (WebCore::AssertionReturnBundle::AssertionReturnBundle): Deleted. * Modules/webauthn/COSEConstants.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialType.h. * Modules/webauthn/PublicKeyCredentialCreationOptions.h: (WebCore::PublicKeyCredentialCreationOptions::isolatedPartialCopyPtr const): (WebCore::PublicKeyCredentialCreationOptions::Parameters::encode const): (WebCore::PublicKeyCredentialCreationOptions::Parameters::decode): (WebCore::PublicKeyCredentialCreationOptions::encode const): (WebCore::PublicKeyCredentialCreationOptions::decode): * Modules/webauthn/PublicKeyCredentialDescriptor.h: (WebCore::PublicKeyCredentialDescriptor::encode const): (WebCore::PublicKeyCredentialDescriptor::decode): * Modules/webauthn/PublicKeyCredentialType.h: * Modules/webauthn/cocoa/LocalAuthenticator.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialCreationOptions.h. * Modules/webauthn/cocoa/LocalAuthenticator.mm: Added. (WebCore::LocalAuthenticatorInternal::freePtrs): (WebCore::LocalAuthenticator::makeCredential const): (WebCore::LocalAuthenticator::isAvailable const): (WebCore::LocalAuthenticator::issueClientCertificate const): * SourcesCocoa.txt: * WebCore.xcodeproj/project.pbxproj: * platform/cocoa/LocalAuthenticationSoftLink.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredentialType.h. * platform/cocoa/LocalAuthenticationSoftLink.mm: Added. * testing/MockCredentialsMessenger.cpp: (WebCore::MockCredentialsMessenger::setCreationReturnBundle): (WebCore::MockCredentialsMessenger::makeCredential): (WebCore::MockCredentialsMessenger::makeCredentialReply): (WebCore::MockCredentialsMessenger::setAttestationObject): Deleted. * testing/MockCredentialsMessenger.h: * testing/MockCredentialsMessenger.idl: Source/WebCore/PAL: * PAL.xcodeproj/project.pbxproj: * pal/spi/cocoa/DeviceIdentitySPI.h: Copied from Source/WebKit/UIProcess/CredentialManagement/WebCredentialsMessengerProxy.h. Source/WebKit: * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.cpp: (WebKit::WebCredentialsMessengerProxy::WebCredentialsMessengerProxy): (WebKit::WebCredentialsMessengerProxy::makeCredential): (WebKit::WebCredentialsMessengerProxy::getAssertion): (WebKit::WebCredentialsMessengerProxy::isUserVerifyingPlatformAuthenticatorAvailable): (WebKit::WebCredentialsMessengerProxy::exceptionReply): (WebKit::WebCredentialsMessengerProxy::makeCredentialReply): * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.h: * UIProcess/CredentialManagement/WebCredentialsMessengerProxy.messages.in: * UIProcess/CredentialManagement/cocoa/WebCredentialsMessengerProxyCocoa.mm: Removed. * WebKit.xcodeproj/project.pbxproj: * WebProcess/CredentialManagement/WebCredentialsMessenger.cpp: (WebKit::WebCredentialsMessenger::makeCredential): (WebKit::WebCredentialsMessenger::makeCredentialReply): * WebProcess/CredentialManagement/WebCredentialsMessenger.h: * WebProcess/CredentialManagement/WebCredentialsMessenger.messages.in: Tools: * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: * TestWebKitAPI/Tests/ios/LocalAuthenticator.mm: Added. (TestWebKitAPI::getTestKey): (TestWebKitAPI::cleanUpKeychain): (TestWebKitAPI::LACantEvaluatePolicySwizzler::LACantEvaluatePolicySwizzler): (TestWebKitAPI::LACantEvaluatePolicySwizzler::cantEvaluatePolicy): (TestWebKitAPI::LACanEvaluatePolicySwizzler::LACanEvaluatePolicySwizzler): (TestWebKitAPI::LACanEvaluatePolicySwizzler::canEvaluatePolicy): (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::LAEvaluatePolicyFailedSwizzler): (TestWebKitAPI::LAEvaluatePolicyFailedSwizzler::evaluatePolicyFailed): (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::LAEvaluatePolicyPassedSwizzler): (TestWebKitAPI::LAEvaluatePolicyPassedSwizzler::evaluatePolicyPassed): (TestWebKitAPI::TestLocalAuthenticator::setFailureFlag): (TestWebKitAPI::TEST): WebKitLibraries: * WebKitPrivateFrameworkStubs/iOS/11/DeviceIdentity.framework/DeviceIdentity.tbd: Added. LayoutTests: * http/wpt/credential-management/credentialscontainer-store-basics.https.html: * http/wpt/webauthn/idl.https.html: * http/wpt/webauthn/public-key-credential-create-success.https.html: Canonical link: https://commits.webkit.org/199366@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@229699 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
8d69f26a0c |
Introduce HAVE(IOSURFACE_ACCELERATOR)
https://bugs.webkit.org/show_bug.cgi?id=182955 <rdar://problem/37699510> Reviewed by Sam Weinig. Source/WebCore: No new tests, no change in behavior. Introduce HAVE(IOSURFACE_ACCELERATOR) and guard all uses of IOSurfaceAccelerator behind it. Rename USE(IOSURFACE) to HAVE(IOSURFACE) for accuracy. * page/cocoa/MemoryReleaseCocoa.mm: * platform/graphics/ca/TileController.cpp: * platform/graphics/cg/IOSurfacePool.cpp: * platform/graphics/cg/IOSurfacePool.h: * platform/graphics/cg/ImageBufferCG.cpp: * platform/graphics/cocoa/IOSurface.h: * platform/graphics/cocoa/IOSurface.mm: * platform/graphics/cocoa/IOSurfacePoolCocoa.mm: * platform/graphics/cv/VideoTextureCopierCV.cpp: * platform/graphics/cv/VideoTextureCopierCV.h: Source/WebCore/PAL: * pal/spi/cg/CoreGraphicsSPI.h: * pal/spi/cocoa/IOSurfaceSPI.h: * pal/spi/cocoa/QuartzCoreSPI.h: Source/WebKit: * Shared/RemoteLayerTree/RemoteLayerBackingStore.h: * Shared/RemoteLayerTree/RemoteLayerBackingStore.mm: * Shared/cg/ShareableBitmapCG.cpp: * UIProcess/API/Cocoa/WKWebView.mm: * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: * UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm: * UIProcess/mac/ViewSnapshotStore.h: * UIProcess/mac/ViewSnapshotStore.mm: Source/WTF: * wtf/Platform.h: Tools: * DumpRenderTree/ios/PixelDumpSupportIOS.mm: (createBitmapContextFromWebView): * WebKitTestRunner/ios/PlatformWebViewIOS.mm: (WTR::PlatformWebView::windowSnapshotImage): WebKitLibraries: * WebKitPrivateFrameworkStubs/iOS/10/IOSurface.framework/IOSurface.tbd: * WebKitPrivateFrameworkStubs/iOS/10/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: Added. * WebKitPrivateFrameworkStubs/iOS/11/IOSurfaceAccelerator.framework/IOSurfaceAccelerator.tbd: Added. Switch IOSurfaceAccelerator symbols over to the still-private IOSurfaceAccelerator framework. Canonical link: https://commits.webkit.org/198735@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@228853 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
009191d1b5 |
Expose Safe Browsing SPI
https://bugs.webkit.org/show_bug.cgi?id=181804 <rdar://problem/36626946> Patch by Zach Li <zacharyli323@gmail.com> on 2018-01-19 Reviewed by Dan Bernstein. If client is using Apple internal SDK, then we can just import the header; if not, then we declare necessary symbols that client will need. * Configurations/WebKit.xcconfig: Only link against SafariSafeBrowsing framework on macOS High Sierra and iOS 11 and above. Weak link against SafariSafeBrowsing framework because it is not present on the Base system. * Platform/spi/Cocoa/SafeBrowsingSPI.h: Added. * WebKit.xcodeproj/project.pbxproj: Added SafeBrowsingSPI.h. * WebKitLibraries/WebKitPrivateFrameworkStubs/iOS/11/SafariSafeBrowsing.framework/SafariSafeBrowsing.tbd: Added. Canonical link: https://commits.webkit.org/197732@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227265 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |
![]() |
4d2b53b290 |
Unreviewed, rolling out r227211.
Breaks iOS Simulator tests. Reverted changeset: "Expose Safe Browsing SPI" https://bugs.webkit.org/show_bug.cgi?id=181804 https://trac.webkit.org/changeset/227211 Canonical link: https://commits.webkit.org/197700@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@227224 268f45cc-cd09-0410-ab3c-d52691b4dbfc |
6 years ago |