Timeline
Dec 12, 2019:
- 10:06 PM Changeset in webkit [253465] by
-
- 51 edits1 copy6 adds in trunk
Move WKWebView code related to testing to new files, with new private "for testing" headers.
https://bugs.webkit.org/show_bug.cgi?id=205021
Reviewed by Tim Horton.
Source/WebKit:
Move testing-only SPI to new private headers to discourage first parties from using
them by mistake. Move test-only code to new files to reduce the size of WKWebView.mm.
- SourcesCocoa.txt:
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _internalDoAfterNextPresentationUpdate:withoutWaitingForPainting:withoutWaitingForAnimatedResize:]):
(-[WKWebView _prepareForImmediateActionAnimation]):
(-[WKWebView _cancelImmediateActionAnimation]):
(-[WKWebView _completeImmediateActionAnimation]):
(-[WKWebView _useSystemAppearance]):
(-[WKWebView _setUseSystemAppearance:]):
(-[WKWebView _pageRefForTransitionToWKWebView]):
(-[WKWebView _canChangeFrameLayout:]):
(-[WKWebView _tryToSwipeWithEvent:ignoringPinnedState:]):
(-[WKWebView _ignoresNonWheelEvents]):
(-[WKWebView _setIgnoresNonWheelEvents:]):
(-[WKWebView _hasActiveVideoForControlsManager]):
(-[WKWebView _dismissContentRelativeChildWindows]):
(-[WKWebView _gestureEventWasNotHandledByWebCore:]):
(-[WKWebView _disableFrameSizeUpdates]):
(-[WKWebView _enableFrameSizeUpdates]):
(-[WKWebView _beginDeferringViewInWindowChanges]):
(-[WKWebView _endDeferringViewInWindowChanges]):
(-[WKWebView _endDeferringViewInWindowChangesSync]):
(-[WKWebView _fullScreenPlaceholderView]):
(-[WKWebView _fullScreenWindow]):
(-[WKWebView _underlayColor]):
(-[WKWebView _setUnderlayColor:]):
(-[WKWebView _setCustomSwipeViews:]):
(-[WKWebView _setCustomSwipeViewsTopContentInset:]):
(-[WKWebView _setDidMoveSwipeSnapshotCallback:]):
(-[WKWebView _setFrame:andScrollBy:]):
(-[WKWebView _setTotalHeightOfBanners:]):
(-[WKWebView _totalHeightOfBanners]):
(-[WKWebView _setFont:sender:]):
(-[WKWebView _setFontSize:sender:]):
(-[WKWebView _setTextColor:sender:]):
(-[WKWebView inputAccessoryView]):
(-[WKWebView inputView]):
(-[WKWebView _requestActivatedElementAtPosition:completionBlock:]):
(-[WKWebView _contentVisibleRect]):
(-[WKWebView _convertPointFromContentsToView:]):
(-[WKWebView _convertPointFromViewToContents:]):
(-[WKWebView didStartFormControlInteraction]):
(-[WKWebView didEndFormControlInteraction]):
(-[WKWebView _uiTextCaretRect]):
(-[WKWebView _accessibilityRetrieveRectsAtSelectionOffset:withText:completionHandler:]):
(-[WKWebView _accessibilityStoreSelection]):
(-[WKWebView _accessibilityClearSelection]):
(-[WKWebView _contentViewIsFirstResponder]):
(-[WKWebView _inspector]):
(-[WKWebView _mainFrame]):
(-[WKWebView _isEditable]):
(-[WKWebView _setEditable:]):
(-[WKWebView _executeEditCommand:argument:completion:]):
(-[WKWebView _textManipulationDelegate]):
(-[WKWebView _setTextManipulationDelegate:]):
(-[WKWebView _startTextManipulationsWithConfiguration:completion:]):
(-[WKWebView _completeTextManipulation:completion:]):
(-[WKWebView _takeFindStringFromSelection:]):
(+[WKWebView _stringForFind]):
(+[WKWebView _setStringForFind:]):
(-[WKWebView _remoteObjectRegistry]):
(-[WKWebView _handle]):
(-[WKWebView _observedRenderingProgressEvents]):
(-[WKWebView _historyDelegate]):
(-[WKWebView _setHistoryDelegate:]):
(-[WKWebView _updateMediaPlaybackControlsManager]):
(-[WKWebView _canTogglePictureInPicture]):
(-[WKWebView _isPictureInPictureActive]):
(-[WKWebView _togglePictureInPicture]):
(-[WKWebView _closeAllMediaPresentations]):
(-[WKWebView _stopMediaCapture]):
(-[WKWebView _stopAllMediaPlayback]):
(-[WKWebView _suspendAllMediaPlayback]):
(-[WKWebView _resumeAllMediaPlayback]):
(-[WKWebView _unreachableURL]):
(-[WKWebView _mainFrameURL]):
(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
(-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]):
(-[WKWebView _loadRequest:shouldOpenExternalURLs:]):
(-[WKWebView _certificateChain]):
(-[WKWebView _committedURL]):
(-[WKWebView _MIMEType]):
(-[WKWebView _userAgent]):
(-[WKWebView _applicationNameForUserAgent]):
(-[WKWebView _setApplicationNameForUserAgent:]):
(-[WKWebView _customUserAgent]):
(-[WKWebView _setCustomUserAgent:]):
(-[WKWebView _setUserContentExtensionsEnabled:]):
(-[WKWebView _userContentExtensionsEnabled]):
(-[WKWebView _webProcessIdentifier]):
(-[WKWebView _provisionalWebProcessIdentifier]):
(-[WKWebView _killWebContentProcess]):
(-[WKWebView _safeBrowsingWarning]):
(-[WKWebView _reloadWithoutContentBlockers]):
(-[WKWebView _reloadExpiredOnly]):
(-[WKWebView _killWebContentProcessAndResetState]):
(-[WKWebView _convertRectFromRootViewCoordinates:]):
(-[WKWebView _convertRectToRootViewCoordinates:]):
(-[WKWebView _requestTextInputContextsInRect:completionHandler:]):
(-[WKWebView _focusTextInputContext:completionHandler:]):
(-[WKWebView _takePDFSnapshotWithConfiguration:completionHandler:]):
(-[WKWebView _setShouldSuppressFirstResponderChanges:]):
(-[WKWebView _retainActiveFocusedState]):
(-[WKWebView _becomeFirstResponderWithSelectionMovingForward:completionHandler:]):
(-[WKWebView _snapshotLayerContentsForBackForwardListItem:]):
(-[WKWebView _dataDetectionResults]):
(-[WKWebView _accessibilityRetrieveSpeakSelectionContent]):
(-[WKWebView _accessibilityDidGetSpeakSelectionContent:]):
(-[WKWebView inputAssistantItem]):
(-[WKWebView _sessionStateData]):
(-[WKWebView _sessionState]):
(-[WKWebView _sessionStateWithFilter:]):
(-[WKWebView _restoreFromSessionStateData:]):
(-[WKWebView _restoreSessionState:andNavigate:]):
(-[WKWebView _close]):
(-[WKWebView _insertAttachmentWithFilename:contentType:data:options:completion:]):
(-[WKWebView _insertAttachmentWithFileWrapper:contentType:options:completion:]):
(-[WKWebView _insertAttachmentWithFileWrapper:contentType:completion:]):
(-[WKWebView _attachmentForIdentifier:]):
(-[WKWebView _simulateDeviceOrientationChangeWithAlpha:beta:gamma:]):
(+[WKWebView _handlesSafeBrowsing]):
(-[WKWebView _showSafeBrowsingWarningWithTitle:warning:details:completionHandler:]):
(-[WKWebView _showSafeBrowsingWarningWithURL:title:warning:details:completionHandler:]):
(+[WKWebView _confirmMalwareSentinel]):
(+[WKWebView _visitUnsafeWebsiteSentinel]):
(-[WKWebView _isJITEnabled:]):
(-[WKWebView _evaluateJavaScriptWithoutUserGesture:completionHandler:]):
(-[WKWebView _updateWebsitePolicies:]):
(-[WKWebView _allowsRemoteInspection]):
(-[WKWebView _setAllowsRemoteInspection:]):
(-[WKWebView _remoteInspectionNameOverride]):
(-[WKWebView _setRemoteInspectionNameOverride:]):
(-[WKWebView _addsVisitedLinks]):
(-[WKWebView _setAddsVisitedLinks:]):
(-[WKWebView _networkRequestsInProgress]):
(layoutMilestones):
(-[WKWebView _setObservedRenderingProgressEvents:]):
(-[WKWebView _getMainResourceDataWithCompletionHandler:]):
(-[WKWebView _getWebArchiveDataWithCompletionHandler:]):
(-[WKWebView _getContentsAsStringWithCompletionHandler:]):
(-[WKWebView _getContentsAsAttributedStringWithCompletionHandler:]):
(-[WKWebView _getApplicationManifestWithCompletionHandler:]):
(-[WKWebView _paginationMode]):
(-[WKWebView _setPaginationMode:]):
(-[WKWebView _paginationBehavesLikeColumns]):
(-[WKWebView _setPaginationBehavesLikeColumns:]):
(-[WKWebView _pageLength]):
(-[WKWebView _setPageLength:]):
(-[WKWebView _gapBetweenPages]):
(-[WKWebView _setGapBetweenPages:]):
(-[WKWebView _paginationLineGridEnabled]):
(-[WKWebView _setPaginationLineGridEnabled:]):
(-[WKWebView _pageCount]):
(-[WKWebView _supportsTextZoom]):
(-[WKWebView _textZoomFactor]):
(-[WKWebView _setTextZoomFactor:]):
(-[WKWebView setPageZoom:]):
(-[WKWebView pageZoom]):
(-[WKWebView _pageZoomFactor]):
(-[WKWebView _setPageZoomFactor:]):
(-[WKWebView _diagnosticLoggingDelegate]):
(-[WKWebView _setDiagnosticLoggingDelegate:]):
(-[WKWebView _findDelegate]):
(-[WKWebView _setFindDelegate:]):
(toFindOptions):
(-[WKWebView _countStringMatches:options:maxCount:]):
(-[WKWebView _findString:options:maxCount:]):
(-[WKWebView _hideFindUI]):
(-[WKWebView _saveBackForwardSnapshotForItem:]):
(-[WKWebView _inputDelegate]):
(-[WKWebView _setInputDelegate:]):
(-[WKWebView _isDisplayingStandaloneImageDocument]):
(-[WKWebView _isDisplayingStandaloneMediaDocument]):
(-[WKWebView _isPlayingAudio]):
(-[WKWebView _isShowingNavigationGestureSnapshot]):
(-[WKWebView _layoutMode]):
(-[WKWebView _setLayoutMode:]):
(-[WKWebView _fixedLayoutSize]):
(-[WKWebView _setFixedLayoutSize:]):
(-[WKWebView _setBackgroundExtendsBeyondPage:]):
(-[WKWebView _backgroundExtendsBeyondPage]):
(-[WKWebView _viewScale]):
(-[WKWebView _setViewScale:]):
(-[WKWebView _setMinimumEffectiveDeviceWidth:]):
(-[WKWebView _minimumEffectiveDeviceWidth]):
(-[WKWebView _setScrollPerformanceDataCollectionEnabled:]):
(-[WKWebView _scrollPerformanceDataCollectionEnabled]):
(-[WKWebView _scrollPerformanceData]):
(-[WKWebView _allowsMediaDocumentInlinePlayback]):
(-[WKWebView _setAllowsMediaDocumentInlinePlayback:]):
(-[WKWebView _webProcessIsResponsive]):
(-[WKWebView _setFullscreenDelegate:]):
(-[WKWebView _fullscreenDelegate]):
(-[WKWebView _isInFullscreen]):
(-[WKWebView _mediaCaptureState]):
(-[WKWebView _setMediaCaptureEnabled:]):
(-[WKWebView _mediaCaptureEnabled]):
(-[WKWebView _setPageMuted:]):
(-[WKWebView _removeDataDetectedLinks:]):
(-[WKWebView _doAfterNextPresentationUpdate:]):
(-[WKWebView _doAfterNextPresentationUpdateWithoutWaitingForPainting:]):
(-[WKWebView _doAfterNextStablePresentationUpdate:]):
(-[WKWebView _detectDataWithTypes:completionHandler:]):
(-[WKWebView removeFromSuperview]):
(-[WKWebView _minimumLayoutSizeOverride]):
(-[WKWebView _setViewLayoutSizeOverride:]):
(-[WKWebView _obscuredInsets]):
(-[WKWebView _setObscuredInsets:]):
(-[WKWebView _obscuredInsetEdgesAffectedBySafeArea]):
(-[WKWebView _setObscuredInsetEdgesAffectedBySafeArea:]):
(-[WKWebView _unobscuredSafeAreaInsets]):
(-[WKWebView _setUnobscuredSafeAreaInsets:]):
(-[WKWebView _safeAreaShouldAffectObscuredInsets]):
(-[WKWebView _setInterfaceOrientationOverride:]):
(-[WKWebView _interfaceOrientationOverride]):
(-[WKWebView _clearInterfaceOrientationOverride]):
(-[WKWebView _maximumUnobscuredSizeOverride]):
(-[WKWebView _setMaximumUnobscuredSizeOverride:]):
(-[WKWebView _setAllowsViewportShrinkToFit:]):
(-[WKWebView _allowsViewportShrinkToFit]):
(-[WKWebView _beginInteractiveObscuredInsetsChange]):
(-[WKWebView _endInteractiveObscuredInsetsChange]):
(-[WKWebView _hideContentUntilNextUpdate]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _resizeWhileHidingContentWithUpdates:]):
(-[WKWebView _setOverlaidAccessoryViewsInset:]):
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
(-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride:]):
(-[WKWebView _clearOverrideLayoutParameters]):
(viewportArgumentsFromDictionary):
(-[WKWebView _overrideViewportWithArguments:]):
(-[WKWebView _viewForFindUI]):
(-[WKWebView _isDisplayingPDF]):
(-[WKWebView _dataForDisplayedPDF]):
(-[WKWebView _suggestedFilenameForDisplayedPDF]):
(-[WKWebView _webViewPrintFormatter]):
(toUserInterfaceLayoutDirection):
(-[WKWebView setSemanticContentAttribute:]):
(-[WKWebView _drawsBackground]):
(-[WKWebView _setDrawsBackground:]):
(-[WKWebView _backgroundColor]):
(-[WKWebView _setBackgroundColor:]):
(-[WKWebView _setDrawsTransparentBackground:]):
(-[WKWebView _inspectorAttachmentView]):
(-[WKWebView _setInspectorAttachmentView:]):
(-[WKWebView _setOverlayScrollbarStyle:]):
(-[WKWebView _overlayScrollbarStyle]):
(-[WKWebView _windowOcclusionDetectionEnabled]):
(-[WKWebView _setWindowOcclusionDetectionEnabled:]):
(-[WKWebView shareSheetDidDismiss:]):
(-[WKWebView _setOverrideDeviceScaleFactor:]):
(-[WKWebView _overrideDeviceScaleFactor]):
(-[WKWebView _setTopContentInset:]):
(-[WKWebView _topContentInset]):
(-[WKWebView _pageExtendedBackgroundColor]):
(-[WKWebView _pinnedState]):
(-[WKWebView _rubberBandingEnabled]):
(-[WKWebView _setRubberBandingEnabled:]):
(-[WKWebView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
(-[WKWebView _setAutomaticallyAdjustsContentInsets:]):
(-[WKWebView _automaticallyAdjustsContentInsets]):
(-[WKWebView _minimumLayoutWidth]):
(-[WKWebView _setMinimumLayoutWidth:]):
(-[WKWebView _shouldExpandContentToViewHeightForAutoLayout]):
(-[WKWebView _setShouldExpandContentToViewHeightForAutoLayout:]):
(-[WKWebView _alwaysShowsHorizontalScroller]):
(-[WKWebView _setAlwaysShowsHorizontalScroller:]):
(-[WKWebView _alwaysShowsVerticalScroller]):
(-[WKWebView _setAlwaysShowsVerticalScroller:]):
(-[WKWebView _printOperationWithPrintInfo:]):
(-[WKWebView _printOperationWithPrintInfo:forFrame:]):
(-[WKWebView setUserInterfaceLayoutDirection:]):
(-[WKWebView _wantsMediaPlaybackControlsView]):
(-[WKWebView _setWantsMediaPlaybackControlsView:]):
(-[WKWebView _mediaPlaybackControlsView]):
(-[WKWebView _addMediaPlaybackControlsView:]):
(-[WKWebView _removeMediaPlaybackControlsView]):
(-[WKWebView _prepareForMoveToWindow:completionHandler:]):
(-[WKWebView _setThumbnailView:]):
(-[WKWebView _thumbnailView]):
(-[WKWebView _setIgnoresAllEvents:]):
(-[WKWebView _ignoresAllEvents]):
(-[WKWebView _spellCheckerDocumentTag]):
(-[WKWebView _setContinuousSpellCheckingEnabledForTesting:]): Deleted.
(-[WKWebView _contentsOfUserInterfaceItem:]): Deleted.
(-[WKWebView _setDeviceOrientationUserPermissionHandlerForTesting:]): Deleted.
(-[WKWebView keyboardAccessoryBarNext]): Deleted.
(-[WKWebView keyboardAccessoryBarPrevious]): Deleted.
(-[WKWebView applyAutocorrection:toString:withCompletionHandler:]): Deleted.
(-[WKWebView dismissFormAccessoryView]): Deleted.
(-[WKWebView _dismissFilePicker]): Deleted.
(-[WKWebView setTimePickerValueToHour:minute:]): Deleted.
(-[WKWebView selectFormAccessoryPickerRow:]): Deleted.
(-[WKWebView selectFormPopoverTitle]): Deleted.
(-[WKWebView textContentTypeForTesting]): Deleted.
(-[WKWebView formInputLabel]): Deleted.
(-[WKWebView _didShowContextMenu]): Deleted.
(-[WKWebView _didDismissContextMenu]): Deleted.
(-[WKWebView _inputViewBounds]): Deleted.
(-[WKWebView _uiTextSelectionRects]): Deleted.
(-[WKWebView _scrollingTreeAsText]): Deleted.
(-[WKWebView _stableStateOverride]): Deleted.
(-[WKWebView _propertiesOfLayerWithID:]): Deleted.
(-[WKWebView _doAfterResettingSingleTapGesture:]): Deleted.
(-[WKWebView _doAfterReceivingEditDragSnapshotForTesting:]): Deleted.
(-[WKWebView _requestControlledElementID]): Deleted.
(-[WKWebView _handleControlledElementIDResponse:]): Deleted.
(-[WKWebView _handleAcceptedCandidate:]): Deleted.
(-[WKWebView _didHandleAcceptedCandidate]): Deleted.
(-[WKWebView _didUpdateCandidateListVisibility:]): Deleted.
(-[WKWebView _forceRequestCandidates]): Deleted.
(-[WKWebView _shouldRequestCandidates]): Deleted.
(-[WKWebView _insertText:replacementRange:]): Deleted.
(-[WKWebView _candidateRect]): Deleted.
(-[WKWebView viewDidChangeEffectiveAppearance]): Deleted.
(-[WKWebView _setHeaderBannerHeight:]): Deleted.
(-[WKWebView _setFooterBannerHeight:]): Deleted.
(-[WKWebView _doAfterProcessingAllPendingMouseEvents:]): Deleted.
(-[WKWebView _activeMenu]): Deleted.
(-[WKWebView _requestActiveNowPlayingSessionInfo:]): Deleted.
(-[WKWebView _setPageScale:withOrigin:]): Deleted.
(-[WKWebView _pageScale]): Deleted.
(-[WKWebView _scrollingUpdatesDisabledForTesting]): Deleted.
(-[WKWebView _setScrollingUpdatesDisabledForTesting:]): Deleted.
(-[WKWebView _doAfterNextPresentationUpdateWithoutWaitingForAnimatedResizeForTesting:]): Deleted.
(-[WKWebView _doAfterNextVisibleContentRectUpdate:]): Deleted.
(-[WKWebView _disableBackForwardSnapshotVolatilityForTesting]): Deleted.
(-[WKWebView _dragCaretRect]): Deleted.
(-[WKWebView _simulateLongPressActionAtLocation:]): Deleted.
(-[WKWebView _simulateTextEntered:]): Deleted.
(-[WKWebView _dynamicUserInterfaceTraitDidChange]): Deleted.
(-[WKWebView _beginBackSwipeForTesting]): Deleted.
(-[WKWebView _completeBackSwipeForTesting]): Deleted.
(-[WKWebView _setDefersLoadingForTesting:]): Deleted.
(-[WKWebView _setShareSheetCompletesImmediatelyWithResolutionForTesting:]): Deleted.
(-[WKWebView _hasInspectorFrontend]): Deleted.
(-[WKWebView _processWillSuspendImminentlyForTesting]): Deleted.
(-[WKWebView _processDidResumeForTesting]): Deleted.
(-[WKWebView _setAssertionStateForTesting:]): Deleted.
(-[WKWebView _hasServiceWorkerBackgroundActivityForTesting]): Deleted.
(-[WKWebView _hasServiceWorkerForegroundActivityForTesting]): Deleted.
(-[WKWebView _denyNextUserMediaRequest]): Deleted.
(-[WKWebView _triggerSystemPreviewActionOnElement:document:page:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h: Added.
- UIProcess/API/Cocoa/WKWebViewTesting.mm: Added.
(-[WKWebView _setPageScale:withOrigin:]):
(-[WKWebView _pageScale]):
(-[WKWebView _setContinuousSpellCheckingEnabledForTesting:]):
(-[WKWebView _contentsOfUserInterfaceItem:]):
(-[WKWebView _requestActiveNowPlayingSessionInfo:]):
(-[WKWebView _scrollingUpdatesDisabledForTesting]):
(-[WKWebView _setScrollingUpdatesDisabledForTesting:]):
(-[WKWebView _doAfterNextPresentationUpdateWithoutWaitingForAnimatedResizeForTesting:]):
(-[WKWebView _doAfterNextVisibleContentRectUpdate:]):
(-[WKWebView _disableBackForwardSnapshotVolatilityForTesting]):
(-[WKWebView _beginBackSwipeForTesting]):
(-[WKWebView _completeBackSwipeForTesting]):
(-[WKWebView _setDefersLoadingForTesting:]):
(-[WKWebView _setShareSheetCompletesImmediatelyWithResolutionForTesting:]):
(-[WKWebView _hasInspectorFrontend]):
(-[WKWebView _processWillSuspendImminentlyForTesting]):
(-[WKWebView _processDidResumeForTesting]):
(-[WKWebView _setAssertionStateForTesting:]):
(-[WKWebView _hasServiceWorkerBackgroundActivityForTesting]):
(-[WKWebView _hasServiceWorkerForegroundActivityForTesting]):
(-[WKWebView _denyNextUserMediaRequest]):
- UIProcess/API/ios/WKWebViewPrivateForTestingIOS.h: Added.
- UIProcess/API/ios/WKWebViewTestingIOS.mm: Added.
(-[WKWebView keyboardAccessoryBarNext]):
(-[WKWebView keyboardAccessoryBarPrevious]):
(-[WKWebView applyAutocorrection:toString:withCompletionHandler:]):
(-[WKWebView dismissFormAccessoryView]):
(-[WKWebView _dismissFilePicker]):
(-[WKWebView setTimePickerValueToHour:minute:]):
(-[WKWebView selectFormAccessoryPickerRow:]):
(-[WKWebView selectFormPopoverTitle]):
(-[WKWebView textContentTypeForTesting]):
(-[WKWebView formInputLabel]):
(-[WKWebView _didShowContextMenu]):
(-[WKWebView _didDismissContextMenu]):
(-[WKWebView _inputViewBounds]):
(-[WKWebView _uiTextSelectionRects]):
(-[WKWebView _scrollingTreeAsText]):
(-[WKWebView _stableStateOverride]):
(-[WKWebView _propertiesOfLayerWithID:]):
(-[WKWebView _doAfterResettingSingleTapGesture:]):
(-[WKWebView _doAfterReceivingEditDragSnapshotForTesting:]):
(-[WKWebView _dragCaretRect]):
(-[WKWebView _simulateLongPressActionAtLocation:]):
(-[WKWebView _simulateTextEntered:]):
(-[WKWebView _dynamicUserInterfaceTraitDidChange]):
(-[WKWebView _triggerSystemPreviewActionOnElement:document:page:]):
(-[WKWebView _setDeviceOrientationUserPermissionHandlerForTesting:]):
- UIProcess/API/mac/WKWebViewPrivateForTestingMac.h: Copied from Tools/TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm.
- UIProcess/API/mac/WKWebViewTestingMac.mm: Added.
(-[WKWebView _requestControlledElementID]):
(-[WKWebView _handleControlledElementIDResponse:]):
(-[WKWebView _handleAcceptedCandidate:]):
(-[WKWebView _didHandleAcceptedCandidate]):
(-[WKWebView _didUpdateCandidateListVisibility:]):
(-[WKWebView _forceRequestCandidates]):
(-[WKWebView _shouldRequestCandidates]):
(-[WKWebView _insertText:replacementRange:]):
(-[WKWebView _candidateRect]):
(-[WKWebView viewDidChangeEffectiveAppearance]):
(-[WKWebView _setHeaderBannerHeight:]):
(-[WKWebView _setFooterBannerHeight:]):
(-[WKWebView _doAfterProcessingAllPendingMouseEvents:]):
(-[WKWebView _activeMenu]):
- UIProcess/Cocoa/PageClientImplCocoa.mm:
- UIProcess/ios/PageClientImplIOS.mm:
- UIProcess/ios/WKContentViewInteraction.mm:
- UIProcess/ios/WKMouseGestureRecognizer.h:
- UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
- UIProcess/mac/PageClientImplMac.mm:
- UIProcess/mac/WKFullScreenWindowController.h:
- WebKit.xcodeproj/project.pbxproj:
Tools:
Move testing-only SPI to new private headers to discourage first parties from using
them by mistake. Move test-only code to new files to reduce the size of WKWebView.mm.
- MiniBrowser/mac/WK2BrowserWindowController.m:
- TestWebKitAPI/EditingTestHarness.mm:
- TestWebKitAPI/Tests/WebKit/ResponsivenessTimerCrash.mm:
- TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
- TestWebKitAPI/Tests/WebKitCocoa/DeviceOrientation.mm:
- TestWebKitAPI/Tests/WebKitCocoa/DoubleDefersLoading.mm:
- TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
- TestWebKitAPI/Tests/WebKitCocoa/MediaBufferingPolicy.mm:
- TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
- TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
- TestWebKitAPI/Tests/WebKitCocoa/SnapshotStore.mm:
- TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
- TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
- TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
- TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCandidateTests.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFirstResponderTests.mm:
- TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
- TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
- TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:
- TestWebKitAPI/Tests/ios/FocusPreservationTests.mm:
- TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
- TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
- TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
- WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
- WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
- WebKitTestRunner/ios/TestControllerIOS.mm:
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
- WebKitTestRunner/mac/UIScriptControllerMac.mm:
- 9:46 PM Changeset in webkit [253464] by
-
- 3 edits in trunk/Source/WebCore
Unreviewed. Fix the build warnings below since r253353.
warning: unused parameter 'foo' [-Wunused-parameter]
Also, remove unnecessary tab spaces from Internals.h.
No new tests, no new behavioral changes.
Patch by Joonghun Park <jh718.park@samsung.com> on 2019-12-12
- testing/Internals.cpp:
(WebCore::Internals::hasSandboxMachLookupAccessToGlobalName):
- testing/Internals.h:
- 8:01 PM Changeset in webkit [253463] by
-
- 4 edits in trunk/Source/WebCore
Protect lifetime of frame and frameView objects
https://bugs.webkit.org/show_bug.cgi?id=205128
Patch by Jack Lee <Jack Lee> on 2019-12-12
Reviewed by Ryosuke Niwa.
Could not write a reproducible test case for this.
- page/DOMWindow.cpp:
(WebCore::DOMWindow::focus):
- page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::focusDocumentView):
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::focusDocumentView):
- 6:13 PM Changeset in webkit [253462] by
-
- 3 edits in trunk/Tools
Python 3: Support serial webkitpy.common tests
https://bugs.webkit.org/show_bug.cgi?id=205162
Reviewed by Stephanie Lewis.
- Scripts/webkitpy/common/system/executive.py:
(Executive.running_pids): Processess are encoded as bytes.
- Scripts/webkitpy/common/system/executive_unittest.py:
(ExecutiveTest.serial_test_run_in_parallel): Use Python 3 compatible print statements.
- 5:57 PM Changeset in webkit [253461] by
-
- 15 edits in trunk/Source/JavaScriptCore
[JSC] Puts fixed-sized cells into IsoSubspace more
https://bugs.webkit.org/show_bug.cgi?id=205183
Reviewed by Saam Barati.
This patch puts many of fixed-sized cells into IsoSubspace.
- Exception
- JSPropertyNameEnumerator
- RegExp
- StructureChain
- MapBucket
- JSMapIterator
- ScopedArgumentsTable
- SetBucket
- JSSetIterator
- JSScriptFetchParameters
- JSScriptFetcher
- JSSourceCode
- JSTemplateObjectDescriptor
- runtime/Exception.h:
- runtime/HashMapImpl.h:
(JSC::HashMapBucket::selectStructure): Deleted.
(JSC::HashMapBucket::info): Deleted.
(JSC::HashMapBucket::createStructure): Deleted.
(JSC::HashMapBucket::create): Deleted.
(JSC::HashMapBucket::createSentinel): Deleted.
(JSC::HashMapBucket::HashMapBucket): Deleted.
(JSC::HashMapBucket::setNext): Deleted.
(JSC::HashMapBucket::setPrev): Deleted.
(JSC::HashMapBucket::setKey): Deleted.
(JSC::HashMapBucket::setValue): Deleted.
(JSC::HashMapBucket::key const): Deleted.
(JSC::HashMapBucket::value const): Deleted.
(JSC::HashMapBucket::next const): Deleted.
(JSC::HashMapBucket::prev const): Deleted.
(JSC::HashMapBucket::deleted const): Deleted.
(JSC::HashMapBucket::makeDeleted): Deleted.
(JSC::HashMapBucket::offsetOfKey): Deleted.
(JSC::HashMapBucket::offsetOfValue): Deleted.
(JSC::HashMapBucket::offsetOfNext): Deleted.
(JSC::HashMapBucket::extractValue): Deleted.
- runtime/JSMapIterator.h:
- runtime/JSPropertyNameEnumerator.h:
- runtime/JSScriptFetchParameters.h:
- runtime/JSScriptFetcher.h:
- runtime/JSSetIterator.h:
- runtime/JSSourceCode.h:
- runtime/JSTemplateObjectDescriptor.h:
- runtime/RegExp.h:
- runtime/ScopedArgumentsTable.h:
- runtime/StructureChain.h:
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
- 5:53 PM Changeset in webkit [253460] by
-
- 4 edits in trunk
[JSC] Wasm init-expr should reject mutable globals
https://bugs.webkit.org/show_bug.cgi?id=205191
Reviewed by Mark Lam.
JSTests:
- wasm/js-api/global-error.js:
(assert.throws.new.WebAssembly.Module.bin):
(new.WebAssembly.Module): Deleted.
(assert.throws): Deleted.
(new.Number): Deleted.
Source/JavaScriptCore:
For init-expr, expr must be a constant[1]. Constant expr, which is defined in Wasm spec, requires that, if the expr is GetGlobal,
global's mutability is immutable. Previously our imported globals are always immutable, so we are using ASSERT instead of checking
mutability in WasmSectionParser. But now, we have ability to import mutable globals. We should check mutability when parsing init-expr.
We do not have this check previously, which leads to spec-correctness issue that we can initialize globals/elements/data-segments
with snapshot values of mutable globals (this is safe, but this is not spec-compliant, and it is not reasonable semantics), while
such an attempt should be rejected when compiling Wasm modules.
This patch adds necessary checks.
[1]: https://webassembly.github.io/spec/core/valid/instructions.html#valid-constant
- wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseInitExpr):
- 5:49 PM Changeset in webkit [253459] by
-
- 3 edits in trunk/Tools
webkit-patch print-expectations fails to format TestExpectationLine with DumpJSConsoleLogInStdErr
https://bugs.webkit.org/show_bug.cgi?id=194283
Reviewed by Youenn Fablet.
- Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser): Add DumpJSConsoleLogInStdErr to TestExpectationParser._expectation_tokens.
- Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
Added a tokenize test and round tip test for DumpJSConsoleLogInStdErr.
- 5:11 PM Changeset in webkit [253458] by
-
- 7 edits1 add in trunk
Fix missing exception in JSValue::toWTFStringSlowCase().
https://bugs.webkit.org/show_bug.cgi?id=205176
<rdar://problem/57871899>
Reviewed by Yusuke Suzuki.
JSTests:
- stress/missing-exception-check-in-JSValue-toWTFStringSlowCase.js: Added.
Source/JavaScriptCore:
Also fix all the new exception check failures that fall out of change.
Also replaced some ASSERTs with EXCEPTION_ASSERT so that we can run the exception
check validation on a release build.
- dfg/DFGOperations.cpp:
- jsc.cpp:
(dumpException):
- runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncPush):
- runtime/ExceptionHelpers.cpp:
(JSC::createError):
- runtime/JSCJSValue.cpp:
(JSC::JSValue::toWTFStringSlowCase const):
- 5:09 PM Changeset in webkit [253457] by
-
- 25 edits15 adds101 deletes in trunk/LayoutTests
Re-sync service-workers web-platform-tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=205181
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Resync service-workers web-platform-tests from upstream 178762b6fce688979.
- web-platform-tests/service-workers/*: Updated
LayoutTests:
- tests-options.json:
- 4:53 PM Changeset in webkit [253456] by
-
- 1 edit10 adds in trunk/LayoutTests/imported/w3c
Unreviewed, land missing baselines from r253453.
- web-platform-tests/workers/SharedWorker-MessageEvent-source.any-expected.txt: Added.
- web-platform-tests/workers/SharedWorker-MessageEvent-source.any.worker-expected.txt: Added.
- web-platform-tests/workers/SharedWorker-replace-EventHandler.any-expected.txt: Added.
- web-platform-tests/workers/SharedWorker-replace-EventHandler.any.worker-expected.txt: Added.
- web-platform-tests/workers/examples/onconnect.any-expected.txt: Added.
- web-platform-tests/workers/examples/onconnect.any.worker-expected.txt: Added.
- web-platform-tests/workers/semantics/interface-objects/003.any-expected.txt: Added.
- web-platform-tests/workers/semantics/interface-objects/003.any.worker-expected.txt: Added.
- web-platform-tests/workers/semantics/interface-objects/004.any-expected.txt: Added.
- web-platform-tests/workers/semantics/interface-objects/004.any.worker-expected.txt: Added.
- 4:48 PM Changeset in webkit [253455] by
-
- 4 edits2 adds in trunk/Source/WebCore
Add logging for MediaCapabilities.decodeInfo()
https://bugs.webkit.org/show_bug.cgi?id=205172
Reviewed by Eric Carlson.
Add logging for decodingInfo() that can emit string versions of both the input
MediaConfiguration and the output MediaCapabilitiesInfo objects.
- Modules/mediacapabilities/MediaCapabilities.cpp:
(WebCore::MediaCapabilities::decodingInfo):
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/mediacapabilities/MediaCapabilitiesLogging.cpp: Added.
(WebCore::toJSONObject):
(WebCore::toJSONString):
(WTF::LogArgument<WebCore::VideoConfiguration>::toString):
(WTF::LogArgument<WebCore::AudioConfiguration>::toString):
(WTF::LogArgument<WebCore::MediaConfiguration>::toString):
(WTF::LogArgument<WebCore::MediaDecodingConfiguration>::toString):
(WTF::LogArgument<WebCore::MediaEncodingConfiguration>::toString):
(WTF::LogArgument<WebCore::MediaCapabilitiesInfo>::toString):
(WTF::LogArgument<WebCore::MediaCapabilitiesDecodingInfo>::toString):
(WTF::LogArgument<WebCore::MediaCapabilitiesEncodingInfo>::toString):
(WTF::LogArgument<WebCore::ColorGamut>::toString):
(WTF::LogArgument<WebCore::HdrMetadataType>::toString):
(WTF::LogArgument<WebCore::TransferFunction>::toString):
(WTF::LogArgument<WebCore::MediaDecodingType>::toString):
(WTF::LogArgument<WebCore::MediaEncodingType>::toString):
- platform/mediacapabilities/MediaCapabilitiesLogging.h: Added.
- 4:26 PM Changeset in webkit [253454] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Add sandbox telemetry to mach lookup rules in the WebContent process
https://bugs.webkit.org/show_bug.cgi?id=205175
Reviewed by Brent Fulgham.
We have already added telemetry to many mach lookup rules, but some were missing telemetry.
No new tests, no behavior change.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 4:20 PM Changeset in webkit [253453] by
-
- 22 edits60 adds4 deletes in trunk/LayoutTests
Re-sync workers web-platform-tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=205180
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Re-sync workers web-platform-tests from upstream 178762b6fce688979e261f3ac8.
- web-platform-tests/workers/*: Updated.
LayoutTests:
- 4:10 PM Changeset in webkit [253452] by
-
- 16 edits1 move in trunk/Source/WebKit
IndexedDB: make WebIDBServer a MessageReceiver to replace WebIDBConnection
https://bugs.webkit.org/show_bug.cgi?id=205145
Reviewed by Alex Christensen.
Work towards <rdar://problem/56908496>. Move message handling from WebIDBConnectionToClient to WebIDBServer.
Also, WebIDBConnectionClient now is owned by WebIDBServer instead of NetworkConnectionToWebProcess.
No behavior change.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp:
(WebKit::WebIDBConnectionToClient::WebIDBConnectionToClient):
(WebKit::WebIDBConnectionToClient::messageSenderConnection const):
(WebKit::WebIDBConnectionToClient::idbServer): Deleted.
(WebKit::WebIDBConnectionToClient::disconnectedFromWebProcess): Deleted.
(WebKit::WebIDBConnectionToClient::deleteDatabase): Deleted.
(WebKit::WebIDBConnectionToClient::openDatabase): Deleted.
(WebKit::WebIDBConnectionToClient::abortTransaction): Deleted.
(WebKit::WebIDBConnectionToClient::commitTransaction): Deleted.
(WebKit::WebIDBConnectionToClient::didFinishHandlingVersionChangeTransaction): Deleted.
(WebKit::WebIDBConnectionToClient::createObjectStore): Deleted.
(WebKit::WebIDBConnectionToClient::deleteObjectStore): Deleted.
(WebKit::WebIDBConnectionToClient::renameObjectStore): Deleted.
(WebKit::WebIDBConnectionToClient::clearObjectStore): Deleted.
(WebKit::WebIDBConnectionToClient::createIndex): Deleted.
(WebKit::WebIDBConnectionToClient::deleteIndex): Deleted.
(WebKit::WebIDBConnectionToClient::renameIndex): Deleted.
(WebKit::WebIDBConnectionToClient::putOrAdd): Deleted.
(WebKit::WebIDBConnectionToClient::getRecord): Deleted.
(WebKit::WebIDBConnectionToClient::getAllRecords): Deleted.
(WebKit::WebIDBConnectionToClient::getCount): Deleted.
(WebKit::WebIDBConnectionToClient::deleteRecord): Deleted.
(WebKit::WebIDBConnectionToClient::openCursor): Deleted.
(WebKit::WebIDBConnectionToClient::iterateCursor): Deleted.
(WebKit::WebIDBConnectionToClient::establishTransaction): Deleted.
(WebKit::WebIDBConnectionToClient::databaseConnectionPendingClose): Deleted.
(WebKit::WebIDBConnectionToClient::databaseConnectionClosed): Deleted.
(WebKit::WebIDBConnectionToClient::abortOpenAndUpgradeNeeded): Deleted.
(WebKit::WebIDBConnectionToClient::didFireVersionChangeEvent): Deleted.
(WebKit::WebIDBConnectionToClient::openDBRequestCancelled): Deleted.
(WebKit::WebIDBConnectionToClient::confirmDidCloseFromServer): Deleted.
(WebKit::WebIDBConnectionToClient::getAllDatabaseNames): Deleted.
- NetworkProcess/IndexedDB/WebIDBConnectionToClient.h:
- NetworkProcess/IndexedDB/WebIDBServer.cpp:
(WebKit::WebIDBServer::getAllDatabaseNames):
(WebKit::WebIDBServer::addConnection):
(WebKit::WebIDBServer::removeConnection):
- NetworkProcess/IndexedDB/WebIDBServer.h:
- NetworkProcess/IndexedDB/WebIDBServer.messages.in: Renamed from Source/WebKit/NetworkProcess/IndexedDB/WebIDBConnectionToClient.messages.in.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didClose):
(WebKit::NetworkConnectionToWebProcess::findNetworkActivityTracker):
(WebKit::NetworkConnectionToWebProcess::establishIDBConnectionToServer): Deleted.
NetworkConnectionToWebProcess::establishIDBConnectionToServer was used to ensure WebIDBConnectionToCilent member
exists in NetworkConnectionToWebProcess. Now WebIDBConnectionToCilent is created in
WebIDBServer::addConnection(when NetworkConnectionToWebProcess is created), so we don't need the message to do
initialization.
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):
(WebKit::NetworkProcess::connectionToWebProcessClosed):
- NetworkProcess/NetworkProcess.h:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:
(WebKit::WebIDBConnectionToServer::WebIDBConnectionToServer):
(WebKit::WebIDBConnectionToServer::deleteDatabase):
(WebKit::WebIDBConnectionToServer::openDatabase):
(WebKit::WebIDBConnectionToServer::abortTransaction):
(WebKit::WebIDBConnectionToServer::commitTransaction):
(WebKit::WebIDBConnectionToServer::didFinishHandlingVersionChangeTransaction):
(WebKit::WebIDBConnectionToServer::createObjectStore):
(WebKit::WebIDBConnectionToServer::deleteObjectStore):
(WebKit::WebIDBConnectionToServer::renameObjectStore):
(WebKit::WebIDBConnectionToServer::clearObjectStore):
(WebKit::WebIDBConnectionToServer::createIndex):
(WebKit::WebIDBConnectionToServer::deleteIndex):
(WebKit::WebIDBConnectionToServer::renameIndex):
(WebKit::WebIDBConnectionToServer::putOrAdd):
(WebKit::WebIDBConnectionToServer::getRecord):
(WebKit::WebIDBConnectionToServer::getAllRecords):
(WebKit::WebIDBConnectionToServer::getCount):
(WebKit::WebIDBConnectionToServer::deleteRecord):
(WebKit::WebIDBConnectionToServer::openCursor):
(WebKit::WebIDBConnectionToServer::iterateCursor):
(WebKit::WebIDBConnectionToServer::establishTransaction):
(WebKit::WebIDBConnectionToServer::databaseConnectionPendingClose):
(WebKit::WebIDBConnectionToServer::databaseConnectionClosed):
(WebKit::WebIDBConnectionToServer::abortOpenAndUpgradeNeeded):
(WebKit::WebIDBConnectionToServer::didFireVersionChangeEvent):
(WebKit::WebIDBConnectionToServer::openDBRequestCancelled):
(WebKit::WebIDBConnectionToServer::confirmDidCloseFromServer):
(WebKit::WebIDBConnectionToServer::getAllDatabaseNames):
- 4:02 PM Changeset in webkit [253451] by
-
- 14 edits4 copies52 adds in trunk/LayoutTests
Re-sync webmessaging web-platform-tests from upstream
https://bugs.webkit.org/show_bug.cgi?id=205178
Reviewed by Alex Christensen.
LayoutTests/imported/w3c:
Re-sync webmessaging web-platform-tests from upstream ab28e18f067f17a.
- web-platform-tests/webmessaging/*: Updated
LayoutTests:
- 3:53 PM Changeset in webkit [253450] by
-
- 5 edits in trunk
Regression(r253394) swipe/basic-cached-back-swipe.html is timing out on iOS
https://bugs.webkit.org/show_bug.cgi?id=205173
Reviewed by Tim Horton.
Source/WebKit:
Test test was calling beginSimulatedSwipeInDirectionForTesting / completeSimulatedSwipeInDirectionForTesting
on the ViewGestureController. This was causing beginSwipeGesture() and endSwipeGesture() but not
willEndSwipeGesture(). This was causing the timeout since willEndSwipeGesture() now actually triggers the
load.
This patch also gets rid of the SnapshotRemovalTracker::SwipeAnimationEnd. We don't really need it since
we already wait for SnapshotRemovalTracker::RepaintAfterNavigation and we won't repaint until the swipe
animation is over (due to the layer tree being frozen during the swipe animation). The SwipeAnimationEnd
was causing trouble because the provisional load may not have started yet by the time endSwipeGesture()
is called, which means that the call to eventOccurred(SwipeAnimationEnd) would get ignored because the
SnapshotRemovalTracker is still paused (it gets unpaused when the provisional load actually starts).
- UIProcess/ViewGestureController.h:
- UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::willEndSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
LayoutTests:
- platform/ios/swipe/basic-cached-back-swipe-expected.txt:
- 3:42 PM Changeset in webkit [253449] by
-
- 4 edits in trunk/Source/WebKit
NetworkDataTaskCocoa and NetworkSessionCocoa should use public methods instead of being friends
https://bugs.webkit.org/show_bug.cgi?id=204242
Patch by Alex Christensen <achristensen@webkit.org> on 2019-12-12
Reviewed by Chris Dumez.
This makes them stay good abstractions, and probably could make a good meme about not having any friends.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::applySniffingPoliciesAndBindRequestToInferfaceIfNeeded):
- NetworkProcess/cocoa/NetworkSessionCocoa.h:
- 3:35 PM Changeset in webkit [253448] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, try to address flakiness of http/tests/cache-storage/page-cache-domcache-pending-promise.html on EWS
- http/tests/cache-storage/page-cache-domcache-pending-promise.html:
- 3:29 PM Changeset in webkit [253447] by
-
- 2 edits in tags/Safari-609.1.12/Source/ThirdParty/ANGLE
Cherry-pick r253383. rdar://problem/57713353
Produce a dummy libANGLE.a file to fool Apple's build test infrastructure
https://bugs.webkit.org/show_bug.cgi?id=205068
<rdar://problem/57713353>
Unreviewed followup to apply the script to Mac Catalyst builds.
Note that this phase can be removed in a few days when Apple's Test
Platform realises it doesn't need libANGLE.a any more.
- ANGLE.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@253383 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:29 PM Changeset in webkit [253446] by
-
- 2 edits in tags/Safari-609.1.12/Source/ThirdParty/ANGLE
Cherry-pick r253333. rdar://problem/57713353
Produce a dummy libANGLE.a file to fool Apple's build test infrastructure
https://bugs.webkit.org/show_bug.cgi?id=205068
<rdar://problem/57713353>
Reviewed by Alex Christensen.
Create a dummy libANGLE.a file until our infrastructure realises it
doesn't need that file any more. Hopefully the fact that it isn't
really a static library, but just a text file, is ok.
- ANGLE.xcodeproj/project.pbxproj: Add a new shell script phase that creates a dummy file.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@253333 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:09 PM Changeset in webkit [253445] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r172814): Don't export inline SQLiteDatabase::disableThreadingChecks() method
<https://webkit.org/b/205140>
Reviewed by Alex Christensen.
- platform/sql/SQLiteDatabase.h:
(WebCore::SQLiteDatabase::disableThreadingChecks):
Remove WEBCORE_EXPORT macro from inline method. This only seems
to occur on Release builds with compiler optimizations disabled.
- 1:46 PM Changeset in webkit [253444] by
-
- 2 edits in trunk/Tools
Don't assert in HTTPServer::respondToRequests when connections fail
https://bugs.webkit.org/show_bug.cgi?id=205072
<rdar://problem/57718266>
Patch by Alex Christensen <achristensen@webkit.org> on 2019-12-12
Reviewed by Alexey Proskuryakov.
We have records that this assertion is being hit, but it's probably when things are being torn down after the test passes.
If someone actually has a connection failure that breaks a test, we'll notice elsewhere.
- TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::respondToRequests):
- 1:33 PM Changeset in webkit [253443] by
-
- 99 edits in trunk/Source
[JSC] Lock-down JSGlobalObject and derived classes in IsoSubspace
https://bugs.webkit.org/show_bug.cgi?id=205108
Reviewed by Mark Lam.
Source/JavaScriptCore:
This patch puts JSGlobalLexicalEnvironment and JSGlobalObject (and its derived classes including JSDOMWindow etc.) in IsoSubspace.
We were usingaddFinalizerfeature to call destructors for these objects since they do not inherit JSDestructibleObject. But now
each derived classes has its IsoSubspace. So we do not need to use finalizer feature: just setting specialized HeapCellType works.
- API/JSAPIGlobalObject.h:
- API/JSCallbackObject.cpp:
- API/glib/JSAPIWrapperGlobalObject.cpp:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/SuperSampler.h:
- heap/CellAttributes.h:
- heap/FreeList.h:
- heap/IsoHeapCellType.cpp:
(JSC::IsoHeapCellType::IsoHeapCellType):
- heap/IsoHeapCellType.h:
- heap/MarkedBlock.cpp:
(JSC::MarkedBlock::Handle::setIsFreeListed): Deleted.
- heap/MarkedBlockInlines.h:
(JSC::MarkedBlock::Handle::setIsFreeListed):
- jsc.cpp:
(GlobalObject::create): Deleted.
(GlobalObject::createStructure): Deleted.
(GlobalObject::javaScriptRuntimeFlags): Deleted.
(GlobalObject::finishCreation): Deleted.
(GlobalObject::addFunction): Deleted.
- runtime/JSGlobalLexicalEnvironment.h:
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::subspaceFor):
- runtime/JSSegmentedVariableObject.cpp:
(JSC::JSSegmentedVariableObject::JSSegmentedVariableObject):
(JSC::JSSegmentedVariableObject::finishCreation):
(JSC::JSSegmentedVariableObject::destroy): Deleted.
- runtime/JSSegmentedVariableObject.h:
(JSC::JSSegmentedVariableObject::subspaceFor):
(JSC::JSSegmentedVariableObject::classInfo const): Deleted.
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
- testRegExp.cpp:
(GlobalObject::create): Deleted.
(GlobalObject::createStructure): Deleted.
(GlobalObject::finishCreation): Deleted.
Source/WebCore:
We put derived classes of JSGlobalObject in IsoSubspace in WebCore side too.
- bindings/js/JSDOMGlobalObject.h:
- bindings/js/JSDOMWindowBase.h:
- bindings/js/JSDOMWrapper.cpp:
(WebCore::globalObjectOutputConstraintSubspaceFor): Deleted.
- bindings/js/JSDOMWrapper.h:
- bindings/js/JSRemoteDOMWindowBase.h:
- bindings/js/JSWindowProxy.h:
- bindings/js/JSWorkerGlobalScopeBase.h:
(WebCore::JSWorkerGlobalScopeBase::subspaceFor):
- bindings/js/JSWorkletGlobalScopeBase.h:
(WebCore::JSWorkletGlobalScopeBase::subspaceFor):
- bindings/js/WebCoreJSClientData.cpp:
(WebCore::JSVMClientData::JSVMClientData):
- bindings/js/WebCoreJSClientData.h:
(WebCore::JSVMClientData::subspaceForJSDOMWindow):
(WebCore::JSVMClientData::subspaceForJSDedicatedWorkerGlobalScope):
(WebCore::JSVMClientData::subspaceForJSRemoteDOMWindow):
(WebCore::JSVMClientData::subspaceForJSWorkerGlobalScope):
(WebCore::JSVMClientData::subspaceForJSServiceWorkerGlobalScope):
(WebCore::JSVMClientData::subspaceForJSPaintWorkletGlobalScope):
(WebCore::JSVMClientData::subspaceForJSWorkletGlobalScope):
(WebCore::JSVMClientData::forEachOutputConstraintSpace):
(WebCore::JSVMClientData::globalObjectOutputConstraintSpace): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GeneratePrototypeDeclaration):
- bindings/scripts/test/JS/JSInterfaceName.cpp:
- bindings/scripts/test/JS/JSMapLike.cpp:
- bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
- bindings/scripts/test/JS/JSReadOnlySetLike.cpp:
- bindings/scripts/test/JS/JSSetLike.cpp:
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
- bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
- bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
- bindings/scripts/test/JS/JSTestException.cpp:
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGlobalObject.h:
(WebCore::JSTestGlobalObject::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
- bindings/scripts/test/JS/JSTestInterface.cpp:
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
- bindings/scripts/test/JS/JSTestIterable.cpp:
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
- bindings/scripts/test/JS/JSTestNode.cpp:
- bindings/scripts/test/JS/JSTestObj.cpp:
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
- bindings/scripts/test/JS/JSTestSerialization.cpp:
- bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp:
- bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
- bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
- bindings/scripts/test/JS/JSTestStringifier.cpp:
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
- bridge/runtime_method.h:
- 1:32 PM Changeset in webkit [253442] by
-
- 2 edits in trunk/Source/WebCore
[LFC][Integration] Paint seemingly blank runs (0 width, result of negative letter-spacing)
https://bugs.webkit.org/show_bug.cgi?id=205114
<rdar://problem/57837165>
Reviewed by Antti Koivisto.
Let's not intersect the run's rect with the damaged area when we don't yet have any paint
overflow information (This should rather use the line box set to identify the line range to paint.)
- layout/displaytree/DisplayInlineContent.cpp:
(WebCore::Display:: const):
- 11:19 AM Changeset in webkit [253441] by
-
- 3 edits1 add in trunk
Fix missing exception check in JSON Stringifier's gap function.
https://bugs.webkit.org/show_bug.cgi?id=205171
<rdar://problem/57871842>
Reviewed by Yusuke Suzuki.
JSTests:
- stress/missing-exception-check-in-json-stringifier-gap.js: Added.
Source/JavaScriptCore:
- runtime/JSONObject.cpp:
(JSC::gap):
- 11:09 AM Changeset in webkit [253440] by
-
- 12 edits in trunk
[iOS] Deny mach lookup access to content filter service in the WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=205077
Reviewed by Brent Fulgham.
Source/WebCore:
Add a global flag to ParentalControlsContentFilter to indicate whether the Web content filter extension has
been consumed. If the flag has been set, there is no need to check [WebFilterEvaluator isManagedSession],
since the flag will tell if filtering is required.
The API test ContentFiltering.LazilyLoadPlatformFrameworks has been modified to pass after this change.
- WebCore.xcodeproj/project.pbxproj:
- platform/cocoa/ParentalControlsContentFilter.h:
- platform/cocoa/ParentalControlsContentFilter.mm:
(WebCore::ParentalControlsContentFilter::enabled):
(WebCore::ParentalControlsContentFilter::setHasConsumedSandboxExtension):
Source/WebKit:
Mach lookup access to the content filter service in the WebContent process is only needed if
[WebFilterEvaluator isManagedSession] evaluates to true. If this is the case, issue the needed
mach lookup sandbox extension to the WebContent process, where it will be consumed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Tools:
With this patch, the WebContentAnalysis framework will not be loaded in the WebContent process unless
[WebFilterEvaluator isManagedSession] returns YES. Swizzle this method to return YES in the UI process.
- TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(isManagedSession):
(TEST):
- 10:45 AM Changeset in webkit [253439] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
REGRESSION (r229930, r231063): WebKitLegacy.xcconfig overwrites OTHER_CFLAGS, OTHER_CPLUSPLUSFLAGS and OTHER_LDFLAGS from Base.xcconfig
<https://webkit.org/b/205144>
Reviewed by Alexey Proskuryakov.
- Configurations/WebKitLegacy.xcconfig:
(OTHER_CFLAGS): Add back $(inherited) to fix the bug.
(OTHER_CFLAGS_COCOA_TOUCH): Add variable to hold value.
(OTHER_CFLAGS_COCOA_TOUCH_YES): Remove unused $(inherited).
(OTHER_CFLAGS_COCOA_TOUCH_NO): Ditto.
(OTHER_CPLUSPLUSFLAGS): Add back $(inherited) to fix the
bug, and don't assume $(OTHER_CFLAGS) is identical to this.
(OTHER_LDFLAGS): Add back $(inherited) to fix the bug.
- 10:35 AM Changeset in webkit [253438] by
-
- 7 edits in branches/safari-609.1.11.3-branch/Source
Versioning.
- 10:33 AM Changeset in webkit [253437] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Error: Can't make a ContentView for an unknown representedObject of type: CallFrame
https://bugs.webkit.org/show_bug.cgi?id=204823
Reviewed by Devin Rousso.
If no type is stored in the cookie matching by type should fail.
- UserInterface/Views/NavigationSidebarPanel.js:
(WI.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie.treeElementMatchesCookie):
(WI.NavigationSidebarPanel.prototype._checkElementsForPendingViewStateCookie):
- 10:33 AM Changeset in webkit [253436] by
-
- 4 edits in trunk/LayoutTests
window.AudioContext / window.OfflineAudioContext should not be enumerable
https://bugs.webkit.org/show_bug.cgi?id=205163
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
LayoutTests:
- resources/testharnessreport.js:
- 10:27 AM Changeset in webkit [253435] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Fix fast/text/whitespace/023.html
https://bugs.webkit.org/show_bug.cgi?id=205170
<rdar://problem/57881365>
Reviewed by Antti Koivisto.
Do not try to find expansion opportunities in content with preserved whitespace.
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::ContinousContent::ContinousContent):
(WebCore::Layout::LineBuilder::ContinousContent::append):
(WebCore::Layout::LineBuilder::ContinousContent::close):
- 10:26 AM Changeset in webkit [253434] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: [Mac wk1] imported/w3c/web-platform-tests/mathml/presentation-markup/scripts/underover-parameters-3.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=205168
Unreviewed test gardneing
- platform/mac-wk1/TestExpectations:
- 10:24 AM Changeset in webkit [253433] by
-
- 1 copy in branches/safari-609.1.11.3-branch
New branch.
- 10:07 AM Changeset in webkit [253432] by
-
- 6 edits1 add in trunk
DFG and FTL expects String.prototype to not qualify for StringObjectUse.
https://bugs.webkit.org/show_bug.cgi?id=205147
<rdar://problem/57748888>
Reviewed by Saam Barati.
JSTests:
- stress/ftl-expects-string-prototype-to-not-be-StringObjectUse.js: Added.
Source/JavaScriptCore:
Currently, String.prototype's JSType is StringObjectType.
However, in the compiler, there are a few places that expect that the
String.prototype value to not qualify as StringObjectUse. These places are:
- SpeculatedType.cpp's speculationFromClassInfo() will speculate SpecObjectOther for the StringPrototype object.
- DFGFixupPhase.cpp's addCheckStructureForOriginalStringObjectUse() only emits a CheckStructure against globalObject->stringObjectStructure(). It does not check against String.prototype's structure.
To resolve this discrepancy, we can either do:
- change String.prototype's JSType to something else.
- fix the places in the compiler to accept String.prototype as StringObjectUse.
(a) is trivial and cheap to do. (b) is doable but will result in less optimal
compiled code. Since passing String.prototype as a StringObject is expected to
be a rare thing in JS code, it's not worth incurring the cost for (b). In this
patch, we apply (a) to fix the discrepancy.
Also added a specialization case to FOR_EACH_JS_DYNAMIC_CAST_JS_TYPE_OVERLOAD
for jsDynamicCast<StringObject> for completeness.
- runtime/JSCast.h:
- runtime/JSType.cpp:
(WTF::printInternal):
- runtime/JSType.h:
- runtime/StringPrototype.h:
- 9:51 AM Changeset in webkit [253431] by
-
- 8 edits in trunk
[SOUP] Use new API for strict secure cookies
https://bugs.webkit.org/show_bug.cgi?id=169356
Reviewed by Michael Catanzaro.
Source/WebCore:
The new soup API implements this spec:
https://tools.ietf.org/html/draft-ietf-httpbis-cookie-alone-01
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::setCookiesFromDOM const):
(WebCore::NetworkStorageSession::setCookies):
Tools:
Update libsoup to fix a secure cookie test
- gtk/jhbuild.modules:
- wpe/jhbuild.modules:
LayoutTests:
Remove expected failures for secure cookie tests
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 9:49 AM Changeset in webkit [253430] by
-
- 4 edits in trunk
[CMake] Add LibPSL::LibPSL target
https://bugs.webkit.org/show_bug.cgi?id=205149
Reviewed by Michael Catanzaro.
.:
Add a LibPSL target into the FindLibPSL module.
- Source/cmake/FindLibPSL.cmake:
Source/WebCore:
Use LibPSL target.
- platform/Curl.cmake:
- 9:25 AM Changeset in webkit [253429] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: (r251677) imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/form-double-submit-3.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=205164
Unreviewed test gardening
- platform/mac/TestExpectations:
- 7:48 AM Changeset in webkit [253428] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Fix fast/text/whitespace/simple-line-layout-tab-position.html
https://bugs.webkit.org/show_bug.cgi?id=205160
<rdar://problem/57876474>
Reviewed by Antti Koivisto.
Use the content box (and not the border box) as the start position when measuring text and also include
the not-yet committed content.
e.g. <pre style="padding: 100px;">text[tab character]</pre>
When we measure the width of the [tab] character, the start position input to the text measuring is
- relative to the content box (0px vs 100px)
- includes the [text] not-yet committed content width
This patch also ensures that we only fast-path the collapsible whitespace characters.
- layout/inlineformatting/LineLayoutContext.cpp:
(WebCore::Layout::LineLayoutContext::placeInlineItem):
- layout/inlineformatting/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::width):
- 7:18 AM Changeset in webkit [253427] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r252979): Avoid unnecessary work when searching for the flow when constructing line layout iteratorAvoid unnecessary work when searching for the flow when constructing line layout iterator
https://bugs.webkit.org/show_bug.cgi?id=205155
<rdar://problem/57846936>
Reviewed by Zalan Bujtas.
We unecessarily searched the ancestor chain flow the RenderFlow. We can avoid this
for now since we know only candidate it the direct parent.
- rendering/line/LineLayoutTraversal.cpp:
(WebCore::LineLayoutTraversal::lineLayoutSystemFlowForRenderer):
(WebCore::LineLayoutTraversal::firstTextBoxFor):
(WebCore::LineLayoutTraversal::firstTextBoxInTextOrderFor):
(WebCore::LineLayoutTraversal::elementBoxFor):
(WebCore::LineLayoutTraversal::flowForText): Deleted.
- 6:22 AM Changeset in webkit [253426] by
-
- 3 edits in trunk/Source/WebCore
Roll-out part of revision 253275 related to rotation handling
https://bugs.webkit.org/show_bug.cgi?id=205156
Unreviewed.
These changes only work for a remote source, not a local one.
Roll-them out until we have a proper fix.
- platform/mediastream/RealtimeVideoSource.cpp:
(WebCore::m_source):
(WebCore::RealtimeVideoSource::sourceSettingsChanged):
- platform/mediastream/RealtimeVideoSource.h:
- 3:05 AM Changeset in webkit [253425] by
-
- 4 edits1 add in trunk/Source
WebDriver: tests is_element_enabled/enabled.py::test_fieldset_disabled_descendant are failing
https://bugs.webkit.org/show_bug.cgi?id=204700
Reviewed by Carlos Alberto Lopez Perez.
Source/WebDriver:
Fixes: imported/w3c/webdriver/tests/is_element_enabled/enabled.py::test_fieldset_disabled_descendant[button]
imported/w3c/webdriver/tests/is_element_enabled/enabled.py::test_fieldset_disabled_descendant[input]
imported/w3c/webdriver/tests/is_element_enabled/enabled.py::test_fieldset_disabled_descendant[select]
imported/w3c/webdriver/tests/is_element_enabled/enabled.py::test_fieldset_disabled_descendant[textarea]
- CMakeLists.txt: Add ElementEnabled.js to compilation.
- Session.cpp:
(WebDriver::Session::isElementEnabled): Use ElementEnabled atom instead.
Source/WebKit:
Add ElementEnabled atom to easily implement is element enabled command.
- UIProcess/Automation/atoms/ElementEnabled.js: Added.
(isEnabled.isDisabledAttributeSupported):
(isEnabled.findParent):
(isEnabled):
- 1:49 AM Changeset in webkit [253424] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening for WinCairo
- platform/wincairo/TestExpectations: Unskip fast/text.
- 1:36 AM Changeset in webkit [253423] by
-
- 32 edits2 copies in trunk/Source/JavaScriptCore
[JSC] IsoHeapCellType should have destroy function member instead of specializing template function
https://bugs.webkit.org/show_bug.cgi?id=205152
Reviewed by Saam Barati.
We were specializing MarkedBlock::Handle::specializedSweep in 5 different ways for each IsoSubspace-ed cell.
This bloats binary. Instead of specializing it with CellType, we specialize it with one functor, which invokes
function pointer held by IsoHeapCellType. This requires one indirect function call per cell. But this is OK since,
- We were using JSDestructibleObject's cell->classInfo->methodTable.destroy function call to dispatch destruction, before IsoSubspace replaces them with IsoHeapCellType-based destruction. Compared to that, the new one is still saving one pointer chasing basically (classInfo dereference, we assume cell deference is no cost since it will be done anyway).
- We still keep JSString's destroy function inlining by using IsoInlinedHeapCellType. This is important since it is critical to performance and we had JSStringHeapCellType before we replaced it with IsoHeapCellType. But IsoInlinedHeapCellType specialization is for only one class so generated binary size is the same to the old code using JSStringHeapCellType.
This saves 480KB binary-size in JavaScriptCore. And more importantly, after this patch, adding IsoSubspace
will not bloat code, so we can simply put things into IsoSubspace.
This patch also removes
using namespace JSC;in global code in JavaScriptCore except for API codes, since
it starts causing build failure due to unified builds: API defines JSType enum in a global scope, which is
different from our JSC::JSType. If we dousing namespace JSC;in a global scope, it can lead to ambiguity of
looking up.
- API/JSHeapFinalizerPrivate.cpp:
(JSContextGroupAddHeapFinalizer):
(JSContextGroupRemoveHeapFinalizer):
- API/JSHeapFinalizerPrivate.h:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- assembler/AbstractMacroAssembler.cpp:
- bindings/ScriptFunctionCall.cpp:
- bindings/ScriptObject.cpp:
- bindings/ScriptValue.cpp:
- heap/IsoHeapCellType.cpp: Copied from Source/JavaScriptCore/assembler/AbstractMacroAssembler.cpp.
(JSC::IsoHeapCellType::finishSweep):
(JSC::IsoHeapCellType::destroy):
- heap/IsoHeapCellType.h:
- heap/IsoInlinedHeapCellType.h: Copied from Source/JavaScriptCore/heap/IsoHeapCellType.h.
- heap/MutatorState.cpp:
- heap/Synchronousness.cpp:
- inspector/InjectedScriptHost.cpp:
- inspector/InjectedScriptManager.cpp:
- inspector/JSGlobalObjectConsoleClient.cpp:
- inspector/JSGlobalObjectInspectorController.cpp:
- inspector/JSGlobalObjectScriptDebugServer.cpp:
- inspector/JSInjectedScriptHost.cpp:
- inspector/JSInjectedScriptHostPrototype.cpp:
- inspector/JSJavaScriptCallFrame.cpp:
- inspector/JSJavaScriptCallFramePrototype.cpp:
- inspector/JavaScriptCallFrame.cpp:
- inspector/PerGlobalObjectWrapperWorld.cpp:
- inspector/ScriptCallStackFactory.cpp:
- inspector/ScriptDebugServer.cpp:
- inspector/agents/InspectorHeapAgent.cpp:
- inspector/agents/InspectorScriptProfilerAgent.cpp:
- inspector/agents/JSGlobalObjectAuditAgent.cpp:
- inspector/agents/JSGlobalObjectDebuggerAgent.cpp:
- inspector/agents/JSGlobalObjectRuntimeAgent.cpp:
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
- 12:48 AM Changeset in webkit [253422] by
-
- 2 edits in trunk/Source/WebCore
Remove debug ASSERT in PeerConnectionBackend
https://bugs.webkit.org/show_bug.cgi?id=205061
Reviewed by Eric Carlson.
Remove two wrong debug asserts.
Move the isClosed check just before resolving/rejecting the promise since at resume time, a lot might happen,
including closing the peer connection.
Covered by tests no longer crashing.
- Modules/mediastream/PeerConnectionBackend.cpp:
(WebCore::PeerConnectionBackend::createOfferSucceeded):
(WebCore::PeerConnectionBackend::createOfferFailed):
(WebCore::PeerConnectionBackend::createAnswerSucceeded):
(WebCore::PeerConnectionBackend::createAnswerFailed):
(WebCore::PeerConnectionBackend::setLocalDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setLocalDescriptionFailed):
(WebCore::PeerConnectionBackend::setRemoteDescriptionSucceeded):
(WebCore::PeerConnectionBackend::setRemoteDescriptionFailed):
(WebCore::PeerConnectionBackend::addIceCandidateSucceeded):
(WebCore::PeerConnectionBackend::addIceCandidateFailed):
- 12:24 AM Changeset in webkit [253421] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(r251227): Uncaught Exception: undefined is not an object (evaluating 'target.DOMAgent.setInspectModeEnabled')
https://bugs.webkit.org/show_bug.cgi?id=205148
Reviewed by Joseph Pecoraro.
- UserInterface/Protocol/InspectorFrontendAPI.js:
(InspectorFrontendAPI.setTimelineProfilingEnabled):
(InspectorFrontendAPI.setElementSelectionEnabled):
If there are no targets available yet (WI.targetsAvailable()), then wait for targets to
be available (WI.whenTargetsAvailable()) before performing the intended logic, as the
InspectorFrontendAPIonly waits for the backend connection to be established before
dispatching, meaning that there may not be a page target yet. OtherInspectorFrontendAPI
functions don't need to be changed because they don't cause commands to be invoked.
- UserInterface/Controllers/DOMManager.js:
(WI.DOMManager.prototype.set inspectModeEnabled):
Drive-by: don't assume that inspect mode is disabled if an error is thrown.
- UserInterface/Base/Main.js:
Drive-by: remove duplicate function
WI._toggleInspectModeas it already exists.
Dec 11, 2019:
- 11:03 PM Changeset in webkit [253420] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening for WinCairo
- platform/wincairo/TestExpectations: Skip editing/async-clipboard.
- 10:31 PM Changeset in webkit [253419] by
-
- 2 edits in trunk/Source/WebCore
Add a missing entry in EnumTraits<WebCore::DisplayList::ItemType>
https://bugs.webkit.org/show_bug.cgi?id=205154
<rdar://problem/57864862>
Reviewed by Tim Horton.
Add a missing
ItemType::SetCTM. This will be tested in a future patch by enabling canvas layout tests with
GPU process enabled.
- platform/graphics/displaylists/DisplayListItems.h:
- 7:51 PM Changeset in webkit [253418] by
-
- 7 edits in trunk
Trying to set toString / valueOf on a cross-origin Location object should throw a SecurityError
https://bugs.webkit.org/show_bug.cgi?id=205143
Reviewed by Ryosuke Niwa.
LayoutTests/imported/w3c:
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
Rebaseline WPT test now that more checks are passing.
- web-platform-tests/html/browsers/origin/cross-origin-objects/frame.html:
Resync from upstream ab28e18f067f17a76d9. This was causing 3 sanity checks in cross-origin-objects.html
to fail.
Source/WebCore:
Trying to set toString / valueOf on a cross-origin Location object should throw a SecurityError.
We previously silently ignored those.
No new tests, rebaselined existing test.
fast/dom/Window/Location/location-override-toString.html also makes sure we still cannot override the
value to location.toString (same origin).
- bindings/js/JSLocationCustom.cpp:
(WebCore::putCommon):
- 7:49 PM Changeset in webkit [253417] by
-
- 9 edits in trunk
Implement DisplayListRecorder::Recorder::getCTM and DisplayListRecorder::Recorder::setCTM
https://bugs.webkit.org/show_bug.cgi?id=205139
Reviewed by Simon Fraser.
Source/WebCore:
Implements these two methods on Recorder, which are invoked from GraphicsContext::setCTM and
GraphicsContext::getCTM, respectively. See below for more details.
Additionally rebaselines displaylists/extent-includes-transforms.html.
- platform/graphics/displaylists/DisplayList.h:
Add a new type to represent the SetCTM display list item.
(WebCore::DisplayList::Item::isStateItemType):
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::Item::sizeInBytes):
(WebCore::DisplayList::SetCTM::SetCTM):
(WebCore::DisplayList::SetCTM::apply const):
(WebCore::DisplayList::operator<<):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::SetCTM::create):
(WebCore::DisplayList::SetCTM::transform const):
(WebCore::DisplayList::SetCTM::encode const):
(WebCore::DisplayList::SetCTM::decode):
(WebCore::DisplayList::Item::encode const):
(WebCore::DisplayList::Item::decode):
Add DisplayList::SetCTM, which represents a call to set the current transformation matrix on the graphics
context. This is very similar to ConcatCTM.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::setCTM):
Set the current state's CTM to the new value. Additionally, update clipBounds by applying the inverse
transformation matrix of the inverse of the original CTM, multiplied by the new CTM. This is because setting
the CTM from toBfromAis equivalent to multiplyingAbyA_inverse * B, so we want to map the clip
rect through the inverse of this matrix,(A_inverse * B)_inverse.
(WebCore::DisplayList::Recorder::getCTM):
Return the current CTM by asking the topmost state on the stack, and ignore the IncludeDeviceScale flag for the
time being.
(WebCore::DisplayList::Recorder::ContextState::setCTM):
- platform/graphics/displaylists/DisplayListRecorder.h:
LayoutTests:
- displaylists/extent-includes-transforms-expected.txt:
- platform/mac-wk1/displaylists/extent-includes-transforms-expected.txt:
- 6:24 PM Changeset in webkit [253416] by
-
- 3 edits1 add in tags/Safari-609.1.12
Cherry-pick r253280. rdar://problem/57733405
[WebAssembly] Fix LLIntGenerator's checkConsistency contract
https://bugs.webkit.org/show_bug.cgi?id=204998
<rdar://problem/57733405>
Reviewed by Mark Lam.
JSTests:
- wasm/regress/stack-consistency.js: Added.
Source/JavaScriptCore:
We check the consistency of the WebAssembly parser's expression stack every time the LLIntGenerator calls
push to allocate a new stack value. However, if we call push more than once (e.g. in a loop), the stack
is no longer consistent, since those values have not yet been placed in the parser's expression stack, so
the generator and parser's stacks are out of sync. Instead, whenever we need to push multiple values, we
should first manually call checkConsistency before any pushes, and all pushes after that should be replaced
with push(NoConsistencyCheck).
- wasm/WasmLLIntGenerator.cpp: (JSC::Wasm::LLIntGenerator::callInformationForCaller): (JSC::Wasm::LLIntGenerator::addArguments): (JSC::Wasm::LLIntGenerator::addLocal):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@253280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:22 PM Changeset in webkit [253415] by
-
- 2 edits in tags/Safari-609.1.12/Tools
Cherry-pick r253328. rdar://problem/57759297
Disable video capture in UIProcess for WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=205054
Reviewed by Eric Carlson.
- WebKitTestRunner/TestOptions.h: Some tests are still flaky as noted in bug 205053 and this option is still experimental.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@253328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:15 PM Changeset in webkit [253414] by
-
- 1 copy in tags/Safari-609.1.12
Tag Safari-609.1.12.
- 6:08 PM Changeset in webkit [253413] by
-
- 1 copy in branches/safari-609.1.12-branch
New branch.
- 6:05 PM Changeset in webkit [253412] by
-
- 1 delete in branches/safari-609.1.12-branch
Delete branch.
- 5:38 PM Changeset in webkit [253411] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION: Console: unable to switch execution contexts
https://bugs.webkit.org/show_bug.cgi?id=205102
<rdar://problem/57748393>
Reviewed by Brian Burg.
- UserInterface/Views/QuickConsole.js:
(WI.QuickConsole):
Wait to initialize the main execution context path component until we actually have a main
execution context.
(WI.QuickConsole.prototype._pageTargetTransitioned):
Remove unnecessary duplicate early return.
(WI.QuickConsole.prototype._initializeMainExecutionContextPathComponent):
Restore the link to the next path component if the main execution context path component is
recreated when there already exist other execution contexts.
(WI.QuickConsole.prototype._selectExecutionContext):
Remove unnecessary assertion.
(WI.QuickConsole.prototype._removeExecutionContextPathComponentForFrame):
When the execution context of the main frame changes, recreate the main execution context
path component so it has the rightrepresentedObject.
- UserInterface/Views/HierarchicalPathNavigationItem.js:
(WI.HierarchicalPathNavigationItem.prototype.update):
Only hide the tooltip if we're notsizeToFitas otherwise we never unhide it due to an
early return (sizeToFitjust makes everything visible).
- 5:28 PM Changeset in webkit [253410] by
-
- 3 edits in trunk/Tools
Python 3: Support serial ServerProcess tests
https://bugs.webkit.org/show_bug.cgi?id=205146
Reviewed by Stephanie Lewis.
- Scripts/webkitpy/port/server_process.py:
(ServerProcess.write): Flush stdin after writing to it.
- Scripts/webkitpy/port/server_process_unittest.py:
(TestServerProcess): print to stderr in Python 2/3 compatible way.
(TestServerProcess.serial_test_basic): ServerProcess speaks in bytes.
(TestServerProcess.serial_test_read_after_process_exits): Ditto.
(TestServerProcess.serial_test_process_crashing): Ditto.
(TestServerProcess.serial_test_process_crashing_no_data): Ditto.
- 5:23 PM Changeset in webkit [253409] by
-
- 1 copy in branches/safari-609.1.12-branch
New branch.
- 5:17 PM Changeset in webkit [253408] by
-
- 1 delete in branches/safari-609.1.12-branch
Delete branch.
- 5:13 PM Changeset in webkit [253407] by
-
- 2 edits in branches/safari-609.1.12-branch/Tools
Cherry-pick r253328. rdar://problem/57759297
Disable video capture in UIProcess for WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=205054
Reviewed by Eric Carlson.
- WebKitTestRunner/TestOptions.h: Some tests are still flaky as noted in bug 205053 and this option is still experimental.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@253328 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:54 PM Changeset in webkit [253406] by
-
- 6 edits1 add in trunk
[CMake] Add OpenJPEG find module
https://bugs.webkit.org/show_bug.cgi?id=204657
Reviewed by Michael Catanzaro.
.:
Add a FindOpenJPEG CMake module. Update GTK and WPE ports to use this and
require v2.2.0 or later. Add support for OpenJPEG in WinCairo port.
- Source/cmake/FindOpenJPEG.cmake: Added.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
- Source/cmake/OptionsWinCairo.cmake:
Source/WebCore:
Use OpenJPEG target.
- platform/ImageDecoders.cmake:
- 4:40 PM Changeset in webkit [253405] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Elements: Styles: hovering over an invalid value while holding ⌘ doesn't change the color of the text
https://bugs.webkit.org/show_bug.cgi?id=205039
Reviewed by Brian Burg.
Only apply a
coloror-webkit-text-decoration-colorwhen either the ⌘ key is not pressed
or if the mouse is not actively hovering over the node when the ⌘ is pressed.
- UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content > .name:not(.editing), body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content > .name:not(:hover, .editing)): Added.
(.spreadsheet-style-declaration-editor > .property:not(.disabled) > .content > .value): Added.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content > .value:not(.editing), body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content > .value:not(:hover, .editing)): Added.
(.spreadsheet-style-declaration-editor .property.disabled):
(.spreadsheet-style-declaration-editor > .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) > .content > *:not(.name, .value-container), .spreadsheet-style-declaration-editor > .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) > .content > .value-container > *:not(.value), body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) > .content > :matches(.name, value-container):not(.editing), body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) > .content > .value-container > value:not(.editing), body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) > .content > :matches(.name, value-container):not(:hover, .editing), body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) > .content > .value-container > .value:not(:hover, .editing)): Added.
(.spreadsheet-style-declaration-editor > .property.invalid-name:not(.disabled) > .content > *:not(.name, .value-container), .spreadsheet-style-declaration-editor > .property.invalid-name:not(.disabled) > .content > .value-container > *:not(.value), body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property.invalid-name:not(.disabled) > .content > :matches(.name, .value-container):not(.editing), body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property.invalid-name:not(.disabled) > .content > .value-container > .value:not(.editing), body.meta-key-pressed .spreadsheet-style-declaration-editor > .property.invalid-name:not(.disabled) > .content > :matches(.name, .value-container):not(:hover, .editing), body.meta-key-pressed .spreadsheet-style-declaration-editor > .property.invalid-name:not(.disabled) > .content > .value-container > .value:not(:hover, .editing)): Added.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property.invalid-value:not(.disabled) > .content > .value:not(.editing), body.meta-key-pressed .spreadsheet-style-declaration-editor > .property.invalid-value:not(.disabled) > .content > .value:not(:hover, .editing)): Added.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content > .value:not(.editing) .token-link, body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content > .value:not(:hover, .editing) .token-link): Added.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content > .value:not(.editing) .token-string, body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content > .value:not(:hover, .editing) .token-string): Added.
(body.meta-key-pressed .spreadsheet-css-declaration:not(.locked) > .spreadsheet-style-declaration-editor > .property > .content :matches(.name, .value):not(.editing):hover): Added.
(body:not(.meta-key-pressed) .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content > .value:not(.editing) .token-comment, body.meta-key-pressed .spreadsheet-style-declaration-editor > .property:not(.disabled) > .content > .value:not(:hover, .editing) .token-comment): Added.
(.spreadsheet-style-declaration-editor .property:not(.disabled) .name): Deleted.
(.spreadsheet-style-declaration-editor .property:not(.disabled) .value): Deleted.
(.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *): Deleted.
(.spreadsheet-style-declaration-editor .property.invalid-name:not(.disabled) .content > *): Deleted.
(.spreadsheet-style-declaration-editor .property.invalid-value:not(.disabled) .content .value): Deleted.
(.spreadsheet-style-declaration-editor .property:not(.disabled) .token-link): Deleted.
(.spreadsheet-style-declaration-editor .property:not(.disabled) .token-string): Deleted.
(.meta-key-pressed .spreadsheet-css-declaration:not(.locked) :matches(.name, .value):not(.editing):hover): Deleted.
(.spreadsheet-style-declaration-editor .property:not(.disabled) .token-comment): Deleted.
- 4:39 PM Changeset in webkit [253404] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(r253173): Console: evaluating a command should automatically scroll to it's result
https://bugs.webkit.org/show_bug.cgi?id=205105
Reviewed by Brian Burg.
- UserInterface/Views/LogContentView.js:
(WI.LogContentView):
(WI.LogContentView.prototype.get scrollableElements):
(WI.LogContentView.prototype._updateMessagesSelection):
(WI.LogContentView.prototype._highlightSearchMatchAtIndex):
(WI.LogContentView.prototype.layout): Deleted.
(WI.LogContentView.prototype._ensureMessageIsVisible): Deleted.
(WI.LogContentView.prototype._positionForMessage): Deleted.
Now that this usesdisplay: flex;, the actual scrollable element is themessagesElement,
so use that instead when manually setting thescrollTop. UsescrollIntoViewIfNeededwhen
revealing search results instead of any custom scroll offset calculations.
- UserInterface/Views/LogContentView.css:
(.content-view.log > .hidden-messages-banner):
Drive-by: ensure that the hidden messages banner doesn't shrink.
- 4:25 PM Changeset in webkit [253403] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: simplify the text of the script blackboxing context menu item
https://bugs.webkit.org/show_bug.cgi?id=205099
Reviewed by Brian Burg.
"Blackbox script to ignore it when debugging" is a bit too long for a context menu item.
We should use something simpler, like "Blackbox Script".
- UserInterface/Views/ContextMenuUtilities.js:
(WI.appendContextMenuItemsForSourceCode):
- Localizations/en.lproj/localizedStrings.js:
- 4:23 PM Changeset in webkit [253402] by
-
- 10 edits in trunk/Source/WebInspectorUI
Web Inspector: replace all "Remove" context menu items with "Delete" to be consistent
https://bugs.webkit.org/show_bug.cgi?id=205098
Reviewed by Brian Burg.
- UserInterface/Views/BlackboxSettingsView.js:
(WI.BlackboxSettingsView.prototype._addRow):
- UserInterface/Views/BootstrapScriptTreeElement.js:
(WI.BootstrapScriptTreeElement.prototype.populateContextMenu):
- UserInterface/Views/BreakpointActionView.js:
(WI.BreakpointActionView):
- UserInterface/Views/ContextMenuUtilities.js:
(WI.appendContextMenuItemsForSourceCode):
Drive-by: if a local override exists for the given source code, add an item for
enabling/disabling and deleting it.
- UserInterface/Views/LocalResourceOverrideTreeElement.js:
(WI.LocalResourceOverrideTreeElement.prototype.populateContextMenu):
- UserInterface/Views/ProbeSetDetailsSection.js:
(WI.ProbeSetDetailsSection):
- UserInterface/Views/ResourceContentView.js:
(WI.ResourceContentView):
- UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
(WI.ScopeChainDetailsSidebarPanel.prototype._objectTreeElementAddContextMenuItems):
- Localizations/en.lproj/localizedStrings.js:
- 4:17 PM Changeset in webkit [253401] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, a nit after r253366
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
Change the parameter type of the completion handler from NSData to NSString.
- 3:45 PM Changeset in webkit [253400] by
-
- 2 edits in trunk/Source/WebKit
Remove unused Frame parameter from moveByGranularityRespectingWordBoundary() and take const VisiblePosition&
https://bugs.webkit.org/show_bug.cgi?id=205137
Reviewed by Wenson Hsieh.
moveByGranularityRespectingWordBoundary() never makes use of the passed Frame and does not mutate the
passed VisiblePosition. So, do not accept the former and take the latter as a const lvalue reference.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::moveByGranularityRespectingWordBoundary):
(WebKit::WebPage::requestDocumentEditingContext):
- 3:43 PM Changeset in webkit [253399] by
-
- 4 edits in trunk
UIWKDocumentContext returns 0 character rects when caret is at beginning or end of text
https://bugs.webkit.org/show_bug.cgi?id=205135
<rdar://problem/56887914>
Reviewed by Wenson Hsieh.
Source/WebKit:
When the specified position to move from is at the beginning or end of the text then return
the position of the beginning or end of the nearest word based on the specified direction.
Currently we always return the null position. As a result we do not compute a valid
character range to convert to rectangles.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::moveByGranularityRespectingWordBoundary):
Tools:
Add tests that request rects when the insertion point is at the beginning or end of the text.
- TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:
(TEST):
- 3:19 PM Changeset in webkit [253398] by
-
- 33 edits4 copies1 move1 add in trunk
[WebAuthn] Combine AuthenticatorResponse and PublicKeyCredentialData
https://bugs.webkit.org/show_bug.cgi?id=190783
<rdar://problem/57781183>
Reviewed by Brent Fulgham.
Source/WebCore:
This patch combines AuthenticatorResponse and PublicKeyCredentialData, and therefore renames
PublicKeyCredentialData to AuthenticatorResponseData as well. The complexity of WebKit's CTAP
implementation has reached the point that PublicKeyCredentialData is not appropriate to represent
all the different type of responses from authenticators anymore. For example, authenticatorGetNextAssertion
depends on the numberOfCredentials member from authenticatorGetAssertion response to function, but
numberOfCredentials is not used anywhere else. Therefore, a polymorphic type is needed to
represent different responses from authenticators instead of an uniform one, i.e., PublicKeyCredentialData.
AuthenticatorResponse seems to be the best fit. However, there are some limitations:
1) it is a WebIDL interface, and therefore is RefCounted. RefCounted objects cannot be serialized through
IPC. To solve this, AuthenticatorResponseData (PublicKeyCredentialData) is kept as an intermediate type
that is only used during IPC.
2) it doesn't contain all the information from an actual authenticator response. To solve this, it
has been enlarged to include all members from PublicKeyCredential. After this patch, PublicKeyCredential
will be a thin wrapper on top of AuthenticatorResponse.
Covered by existing tests.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Headers.cmake:
- Modules/webauthn/AuthenticationExtensionsClientOutputs.h: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredential.idl.
- Modules/webauthn/AuthenticationExtensionsClientOutputs.idl: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredential.idl.
This is separated from PublicKeyCredential such that AuthenticatorResponse can include it.
- Modules/webauthn/AuthenticatorAssertionResponse.cpp: Added.
(WebCore::AuthenticatorAssertionResponse::create):
(WebCore::AuthenticatorAssertionResponse::AuthenticatorAssertionResponse):
(WebCore::AuthenticatorAssertionResponse::data const):
- Modules/webauthn/AuthenticatorAssertionResponse.h:
(WebCore::AuthenticatorAssertionResponse::create): Deleted.
(WebCore::AuthenticatorAssertionResponse::AuthenticatorAssertionResponse): Deleted.
- Modules/webauthn/AuthenticatorAttestationResponse.cpp: Copied from Source/WebCore/Modules/webauthn/AuthenticatorAttestationResponse.h.
(WebCore::AuthenticatorAttestationResponse::create):
(WebCore::AuthenticatorAttestationResponse::AuthenticatorAttestationResponse):
(WebCore::AuthenticatorAttestationResponse::data const):
- Modules/webauthn/AuthenticatorAttestationResponse.h:
(WebCore::AuthenticatorAttestationResponse::create): Deleted.
(WebCore::AuthenticatorAttestationResponse::AuthenticatorAttestationResponse): Deleted.
- Modules/webauthn/AuthenticatorCoordinator.cpp:
(WebCore::AuthenticatorCoordinator::create const):
(WebCore::AuthenticatorCoordinator::discoverFromExternalSource const):
- Modules/webauthn/AuthenticatorCoordinatorClient.h:
- Modules/webauthn/AuthenticatorResponse.cpp: Copied from Source/WebCore/Modules/webauthn/PublicKeyCredential.cpp.
(WebCore::AuthenticatorResponse::tryCreate):
(WebCore::AuthenticatorResponse::data const):
(WebCore::AuthenticatorResponse::extensions const):
(WebCore::AuthenticatorResponse::setClientDataJSON):
(WebCore::AuthenticatorResponse::clientDataJSON const):
(WebCore::AuthenticatorResponse::AuthenticatorResponse):
- Modules/webauthn/AuthenticatorResponse.h:
(WebCore::AuthenticatorResponse::rawId const):
(WebCore::AuthenticatorResponse::setExtensions):
(WebCore::AuthenticatorResponse::AuthenticatorResponse): Deleted.
(WebCore::AuthenticatorResponse::clientDataJSON const): Deleted.
- Modules/webauthn/AuthenticatorResponseData.h: Renamed from Source/WebCore/Modules/webauthn/PublicKeyCredentialData.h.
(WebCore::AuthenticatorResponseData::encode const):
(WebCore::AuthenticatorResponseData::decode):
- Modules/webauthn/PublicKeyCredential.cpp:
(WebCore::PublicKeyCredential::create):
(WebCore::PublicKeyCredential::rawId const):
(WebCore::PublicKeyCredential::getClientExtensionResults const):
(WebCore::PublicKeyCredential::PublicKeyCredential):
(WebCore::PublicKeyCredential::tryCreate): Deleted.
- Modules/webauthn/PublicKeyCredential.h:
- Modules/webauthn/PublicKeyCredential.idl:
- Modules/webauthn/fido/DeviceResponseConverter.cpp:
(fido::readCTAPMakeCredentialResponse):
(fido::readCTAPGetAssertionResponse):
- Modules/webauthn/fido/DeviceResponseConverter.h:
A more appropriate derived type of AuthenticatorResponse is used to replace PublicKeyCredentialData.
- Modules/webauthn/fido/U2fResponseConverter.cpp:
(fido::readU2fRegisterResponse):
(fido::readU2fSignResponse):
- Modules/webauthn/fido/U2fResponseConverter.h:
A more appropriate derived type of AuthenticatorResponse is used to replace PublicKeyCredentialData.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
Source/WebKit:
Code in WebKit are changed to use AuthenticatorResponse and its subtypes.
- UIProcess/WebAuthentication/Authenticator.h:
- UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::AuthenticatorManager::respondReceived):
(WebKit::AuthenticatorManager::invokePendingCompletionHandler):
- UIProcess/WebAuthentication/AuthenticatorManager.h:
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested):
(WebKit::LocalAuthenticator::continueGetAssertionAfterUserConsented):
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.cpp:
(WebKit::WebAuthenticatorCoordinatorProxy::handleRequest):
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.h:
- UIProcess/WebAuthentication/WebAuthenticatorCoordinatorProxy.messages.in:
- UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived const):
(WebKit::CtapAuthenticator::continueGetAssertionAfterResponseReceived):
- UIProcess/WebAuthentication/fido/U2fAuthenticator.cpp:
(WebKit::U2fAuthenticator::continueRegisterCommandAfterResponseReceived):
(WebKit::U2fAuthenticator::continueSignCommandAfterResponseReceived):
- WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:
Tools:
- TestWebKitAPI/Tests/WebCore/CtapResponseTest.cpp:
(TestWebKitAPI::TEST):
Updates tests accordingly.
- 2:24 PM Changeset in webkit [253397] by
-
- 36 edits in trunk/Source/WebCore
Add encoders for MediaPlayerEnum enums
https://bugs.webkit.org/show_bug.cgi?id=205125
<rdar://problem/57842985>
Reviewed by Dean Jackson.
No new tests, no functional change.
- Modules/encryptedmedia/CDM.cpp:
(WebCore::CDM::getSupportedCapabilitiesForAudioVideoType):
- Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::setPrivateAndOpen):
(WebCore::MediaSource::seekToTime):
(WebCore::MediaSource::monitorSourceBuffers):
(WebCore::MediaSource::streamEndedWithError):
(WebCore::MediaSource::isTypeSupported):
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::removeCodedFrames):
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
- dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
(WebCore::HTMLMediaElement::canPlayType const):
(WebCore::HTMLMediaElement::selectMediaResource):
(WebCore::HTMLMediaElement::loadResource):
(WebCore::HTMLMediaElement::mediaLoadingFailedFatally):
(WebCore::HTMLMediaElement::mediaLoadingFailed):
(WebCore::HTMLMediaElement::setNetworkState):
(WebCore::HTMLMediaElement::seekWithTolerance):
(WebCore::HTMLMediaElement::movieLoadType const):
(WebCore::HTMLMediaElement::preload const):
(WebCore::HTMLMediaElement::selectNextSourceChild):
(WebCore::HTMLMediaElement::mediaPlayerResourceNotSupported):
(WebCore::stringForNetworkState): Deleted.
- html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::videoFullscreenGravity const):
(WebCore::HTMLMediaElement::preloadValue const):
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::effectivePreloadForElement const):
- platform/cocoa/VideoFullscreenModelVideoElement.mm:
(WebCore::VideoFullscreenModelVideoElement::requestFullscreenMode):
(WebCore::VideoFullscreenModelVideoElement::setVideoLayerGravity):
- platform/graphics/MediaPlayer.cpp:
(WebCore::bestMediaEngineForSupportParameters):
(WebCore::MediaPlayer::supportsType):
(WebCore::MediaPlayer::networkStateChanged):
(WebCore::convertEnumerationToString):
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerEnums.h:
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::hasAvailableVideoFrame const):
(WebCore::MediaPlayerPrivateInterface::movieLoadType const):
- platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystemAndMimeType):
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsMIMEType):
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
(WebCore::MediaPlayerPrivateAVFoundation::load):
(WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay):
(WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup const):
(WebCore::MediaPlayerPrivateAVFoundation::updateStates):
(WebCore::MediaPlayerPrivateAVFoundation::movieLoadType const):
(WebCore::MediaPlayerPrivateAVFoundation::setPreload):
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
(WebCore::MediaPlayerPrivateAVFoundation::metaDataAvailable const):
- platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::supportsType):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenGravity):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::movieLoadType const):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::shouldBePlaying const):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setReadyState):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::supportsType):
(WebCore::MediaPlayerPrivateMediaStreamAVFObjC::load):
- platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:
(WebCore::MediaSourcePrivateAVFObjC::addSourceBuffer):
(WebCore::MediaSourcePrivateAVFObjC::markEndOfStream):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::readyState const):
(WebCore::SourceBufferPrivateAVFObjC::canSwitchToType):
- platform/graphics/cocoa/MediaEngineConfigurationFactoryCocoa.cpp:
(WebCore::createMediaPlayerDecodingConfigurationCocoa):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::loadFull):
(WebCore::MediaPlayerPrivateGStreamer::load):
(WebCore::MediaPlayerPrivateGStreamer::cancelLoad):
(WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
(WebCore::MediaPlayerPrivateGStreamer::play):
(WebCore::MediaPlayerPrivateGStreamer::setPreload):
(WebCore::MediaPlayerPrivateGStreamer::handleMessage):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
(WebCore::MediaPlayerPrivateGStreamer::loadNextLocation):
(WebCore::MediaPlayerPrivateGStreamer::supportsType):
(WebCore::MediaPlayerPrivateGStreamer::updateDownloadBufferingFlag):
(WebCore::MediaPlayerPrivateGStreamer::movieLoadType const):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- platform/graphics/gstreamer/mse/MediaPlayerPrivateGStreamerMSE.cpp:
(dumpReadyState):
(WebCore::MediaPlayerPrivateGStreamerMSE::load):
(WebCore::MediaPlayerPrivateGStreamerMSE::doSeek):
(WebCore::MediaPlayerPrivateGStreamerMSE::setReadyState):
(WebCore::MediaPlayerPrivateGStreamerMSE::seekCompleted):
(WebCore::MediaPlayerPrivateGStreamerMSE::updateStates):
(WebCore::MediaPlayerPrivateGStreamerMSE::supportsType):
(WebCore::MediaPlayerPrivateGStreamerMSE::currentMediaTime const):
- platform/graphics/holepunch/MediaPlayerPrivateHolePunch.cpp:
(WebCore::MediaPlayerPrivateHolePunch::supportsType):
- platform/graphics/holepunch/MediaPlayerPrivateHolePunch.h:
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::MediaPlayerPrivateMediaFoundation):
(WebCore::MediaPlayerPrivateMediaFoundation::supportsType):
(WebCore::MediaPlayerPrivateMediaFoundation::load):
(WebCore::MediaPlayerPrivateMediaFoundation::updateReadyState):
(WebCore::MediaPlayerPrivateMediaFoundation::onSessionEnded):
- platform/ios/VideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerLayer setVideoGravity:]):
- platform/mac/VideoFullscreenInterfaceMac.mm:
(-[WebVideoFullscreenInterfaceMacObjC setUpPIPForVideoView:withFrame:inWindow:]):
(-[WebVideoFullscreenInterfaceMacObjC pipDidClose:]):
- platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:
(WebCore::MockMediaPlayerMediaSource::supportsType):
(WebCore::MockMediaPlayerMediaSource::MockMediaPlayerMediaSource):
- platform/mock/mediasource/MockMediaSourcePrivate.cpp:
(WebCore::MockMediaSourcePrivate::addSourceBuffer):
(WebCore::MockMediaSourcePrivate::markEndOfStream):
- platform/mock/mediasource/MockSourceBufferPrivate.cpp:
(WebCore::MockSourceBufferPrivate::readyState const):
(WebCore::MockSourceBufferPrivate::canSwitchToType):
- 2:11 PM Changeset in webkit [253396] by
-
- 54 edits5 deletes in trunk
Unreviewed, rolling out r253376.
Broke internal builds
Reverted changeset:
"Move WKWebView code related to testing to new files, with
their own headers, and stop exposing test-only functions as
SPI."
https://bugs.webkit.org/show_bug.cgi?id=205021
https://trac.webkit.org/changeset/253376
- 2:05 PM Changeset in webkit [253395] by
-
- 2 edits in trunk/Source/WebKit
There should be no user-noticeable delay when closing a tab
https://bugs.webkit.org/show_bug.cgi?id=205069
<rdar://problem/57797494>
Reviewed by Ryosuke Niwa.
There should be no user-noticeable delay when closing a tab. To achieve this, use a timeout of 50ms for doing the
IPC handshake with the WebContent process, instead of 500ms.
- UIProcess/WebPageProxy.cpp:
- 2:04 PM Changeset in webkit [253394] by
-
- 4 edits in trunk/Source/WebKit
[iOS] Issue load sooner on swipe back/forward navigation
https://bugs.webkit.org/show_bug.cgi?id=205127
<rdar://problem/57843862>
Reviewed by Tim Horton.
Issue load sooner on swipe back/forward navigation on iOS. We were waiting until the end of
the swipe animation to issue the load. We now issue the load as soon as the user lifts the finger
off the screen and thus commits to navigating. This results in improved perceived performance
when swiping back/forward to navigate.
- UIProcess/ViewGestureController.cpp:
(WebKit::ViewGestureController::didStartProvisionalOrSameDocumentLoadForMainFrame):
(WebKit::ViewGestureController::willEndSwipeGesture):
- UIProcess/ViewGestureController.h:
- UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::willEndSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
- 1:47 PM Changeset in webkit [253393] by
-
- 14 edits2 adds in trunk/Source
IndexedDB: Introduce WebIDBServer class
https://bugs.webkit.org/show_bug.cgi?id=205095
Reviewed by Alex Christensen.
Source/WebCore:
No behavior change.
- Modules/indexeddb/server/IDBServer.cpp:
(WebCore::IDBServer::IDBServer::create):
- Modules/indexeddb/server/IDBServer.h:
Source/WebKit:
Work towards <rdar://problem/56908496>. WebIDBServer currently is just a wrapper of WebCore::IDBServer.
- NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp:
(WebKit::WebIDBConnectionToClient::idbServer):
- NetworkProcess/IndexedDB/WebIDBConnectionToClient.h:
- NetworkProcess/IndexedDB/WebIDBServer.cpp: Added.
(WebKit::WebIDBServer::create):
(WebKit::WebIDBServer::WebIDBServer):
(WebKit::WebIDBServer::registerConnection):
(WebKit::WebIDBServer::unregisterConnection):
(WebKit::WebIDBServer::closeAndDeleteDatabasesModifiedSince):
(WebKit::WebIDBServer::closeAndDeleteDatabasesForOrigins):
(WebKit::WebIDBServer::suspend):
(WebKit::WebIDBServer::resume):
(WebKit::WebIDBServer::openDatabase):
(WebKit::WebIDBServer::deleteDatabase):
(WebKit::WebIDBServer::abortTransaction):
(WebKit::WebIDBServer::commitTransaction):
(WebKit::WebIDBServer::didFinishHandlingVersionChangeTransaction):
(WebKit::WebIDBServer::createObjectStore):
(WebKit::WebIDBServer::deleteObjectStore):
(WebKit::WebIDBServer::renameObjectStore):
(WebKit::WebIDBServer::clearObjectStore):
(WebKit::WebIDBServer::createIndex):
(WebKit::WebIDBServer::deleteIndex):
(WebKit::WebIDBServer::renameIndex):
(WebKit::WebIDBServer::putOrAdd):
(WebKit::WebIDBServer::getRecord):
(WebKit::WebIDBServer::getAllRecords):
(WebKit::WebIDBServer::getCount):
(WebKit::WebIDBServer::deleteRecord):
(WebKit::WebIDBServer::openCursor):
(WebKit::WebIDBServer::iterateCursor):
(WebKit::WebIDBServer::establishTransaction):
(WebKit::WebIDBServer::databaseConnectionPendingClose):
(WebKit::WebIDBServer::databaseConnectionClosed):
(WebKit::WebIDBServer::abortOpenAndUpgradeNeeded):
(WebKit::WebIDBServer::didFireVersionChangeEvent):
(WebKit::WebIDBServer::openDBRequestCancelled):
(WebKit::WebIDBServer::getAllDatabaseNames):
(WebKit::WebIDBServer::confirmDidCloseFromServer):
- NetworkProcess/IndexedDB/WebIDBServer.h: Added.
- NetworkProcess/NetworkProcess.cpp: replace WebCore::IDBServer with WebIDBServer.
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::deleteWebsiteDataForRegistrableDomains):
(WebKit::NetworkProcess::prepareToSuspend):
(WebKit::NetworkProcess::resume):
(WebKit::NetworkProcess::createWebIDBServer):
(WebKit::NetworkProcess::webIDBServer):
(WebKit::NetworkProcess::createIDBServer): Deleted.
(WebKit::NetworkProcess::idbServer): Deleted.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/cache/CacheStorageEngine.cpp:
(WebKit::CacheStorage::Engine::requestSpace):
- Sources.txt:
- WebKit.xcodeproj/project.pbxproj:
Source/WebKitLegacy:
- Storage/InProcessIDBServer.cpp:
(InProcessIDBServer::create):
- 1:45 PM Changeset in webkit [253392] by
-
- 6 edits in trunk/Tools
Python 3: Add support in webkitpy.performance_tests
https://bugs.webkit.org/show_bug.cgi?id=205122
Reviewed by Stephanie Lewis.
- Scripts/test-webkitpy-python3: Add webkitpy.performance_tests.
- Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest.run): Use range over xrange.
(PerfTest.log_statistics): Python 3 may use more precision than Python 2.
(PerfTest._run_with_driver): Convert list to map.
- Scripts/webkitpy/performance_tests/perftest_unittest.py:
(TestPerfTest._assert_results_are_correct): Convert map to list.
- Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
(MainTest._test_run_with_json_output): Use range over xrange, convert keys to list.
(MainTest.test_run_with_upload_json_should_generate_perf_webkit_json):
- Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
(MainTest.test_collect_tests_with_multile_files): Use assertEqual over assertItemsEqual.
(MainTest.test_collect_tests_with_skipped_list): Ditto.
(MainTest.test_collect_tests_with_skipped_list_and_files): Ditto.
(MainTest.test_collect_tests_with_ignored_skipped_list): Ditto.
- 1:30 PM Changeset in webkit [253391] by
-
- 9 edits in trunk/Tools
Python 3: Add support in webkitpy.w3c
https://bugs.webkit.org/show_bug.cgi?id=205118
Reviewed by Stephanie Lewis.
- Scripts/test-webkitpy-python3: Add webkitpy.w3c.
- Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.open_binary_file_for_reading): Missing file should cause Filesystem exception.
(MockFileSystem.read_binary_file): Ditto.
(MockFileSystem.open_text_file_for_reading): Ditto.
(MockFileSystem.remove): Ditto.
- Scripts/webkitpy/w3c/test_converter.py:
(convert_for_webkit): Convert binary file to text file.
(_W3CTestConverter.read_webkit_prefixed_css_property_list): Use items over iteritems.
- Scripts/webkitpy/w3c/test_converter_unittest.py:
(verify_test_harness_paths): Use Python 3 compatible type check.
- Scripts/webkitpy/w3c/test_downloader.py:
(TestDownloader._init_paths_from_expectations): Use items over iteritems.
- Scripts/webkitpy/w3c/test_importer.py:
(TestImporter.readEnvironmentsForTemplateTest): Convert filter to list.
- Scripts/webkitpy/w3c/wpt_github.py:
(WPTGitHub.auth_token): Encode base64 input and decode base64 output.
- Scripts/webkitpy/w3c/wpt_github_unittest.py:
(WPTGitHubTest.test_auth_token):
- 12:42 PM Changeset in webkit [253390] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Uncaught Exception: Missing frame for given frameId (on techcrunch.com)
https://bugs.webkit.org/show_bug.cgi?id=205130
<rdar://problem/57847699>
Reviewed by Timothy Hatcher.
- UserInterface/Controllers/ApplicationCacheManager.js:
(WI.ApplicationCacheManager.prototype._manifestForFrameLoaded):
A frame can go away betweenApplicationCache.getManifestForFramebeing called and the
response being received, so don't re-throw the error if the frontend no longer has a
matchingWI.Framefor the givenframeId.
- 12:32 PM Changeset in webkit [253389] by
-
- 1 copy in tags/Safari-609.1.11.2
Tag Safari-609.1.11.2.
- 12:30 PM Changeset in webkit [253388] by
-
- 9 edits in trunk
[CMake] Add HarfBuzz targets
https://bugs.webkit.org/show_bug.cgi?id=205042
Reviewed by Konstantin Tokarev.
.:
Modernize the FindHarfBuzz.cmake module so it creates targets that can be
referenced rather than using HARFBUZZ_LIBRARIES and HARFBUZZ_INCLUDE_DIRS.
Also making ICU a component within the module, and allowing alternate names
for the library to be set by the platform.
- Source/cmake/FindHarfBuzz.cmake:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Source/WebCore:
Use the HarfBuzz targets directly instead of HARFBUZZ_LIBRARIES and
HARFBUZZ_INCLUDE_DIRS.
- platform/FreeType.cmake:
Source/WebKit:
Use the HarfBuzz targets directly instead of HARFBUZZ_LIBRARIES and
HARFBUZZ_INCLUDE_DIRS.
- PlatformGTK.cmake:
- PlatformWPE.cmake:
- 12:25 PM Changeset in webkit [253387] by
-
- 7 edits in branches/safari-609.1.11.2-branch/Source
Versioning.
- 12:22 PM Changeset in webkit [253386] by
-
- 1 copy in branches/safari-609.1.11.2-branch
New branch.
- 12:17 PM Changeset in webkit [253385] by
-
- 1 copy in branches/safari-609.1.12-branch/Safari-609.1.11.1
New branch.
- 12:15 PM Changeset in webkit [253384] by
-
- 1 edit1 add in trunk/JSTests
Add test for osr exiting with interpreter on the stack
https://bugs.webkit.org/show_bug.cgi?id=205124
Reviewed by Mark Lam.
I forgot to add this test before.
- stress/osr-exit-with-interpreter-on-stack.js: Added.
(foo):
- 11:39 AM Changeset in webkit [253383] by
-
- 2 edits in trunk/Source/ThirdParty/ANGLE
Produce a dummy libANGLE.a file to fool Apple's build test infrastructure
https://bugs.webkit.org/show_bug.cgi?id=205068
<rdar://problem/57713353>
Unreviewed followup to apply the script to Mac Catalyst builds.
Note that this phase can be removed in a few days when Apple's Test
Platform realises it doesn't need libANGLE.a any more.
- ANGLE.xcodeproj/project.pbxproj:
- 11:30 AM Changeset in webkit [253382] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, a nit after r253366
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
Improve the naming of the new SPI a bit.
- 11:05 AM Changeset in webkit [253381] by
-
- 9 edits in trunk
[Bindings] Cross-origin checks happen too late for overloaded methods
https://bugs.webkit.org/show_bug.cgi?id=205092
Reviewed by Sam Weinig.
LayoutTests/imported/w3c:
Rebaseline WPT test now that it is failing a bit later.
- web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
Source/WebCore:
Cross-origin checks happen too late for overloaded methods. We're supposed to do the security check
and then find the right overload to call [1]. In our bindings, we first find the right overload body
to call and then do the security check in the body of the chosen overload. This results in the wrong
exception being thrown in some cases (TypeError due to missing arguments instead of a SecurityError).
[1] https://heycam.github.io/webidl/#dfn-create-operation-function
No new tests, updated existing tests.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateOperationBodyDefinition):
(GenerateOperationDefinition):
LayoutTests:
Extend layout test coverage.
- http/tests/security/cross-origin-window-property-access-expected.txt:
- http/tests/security/cross-origin-window-property-access.html:
- 10:42 AM Changeset in webkit [253380] by
-
- 6 edits in trunk/Source
Make incremental builds faster after modifying DisplayListItems.h
https://bugs.webkit.org/show_bug.cgi?id=205032
Reviewed by Tim Horton.
Source/WebCore:
Move the declaration of DisplayList::Item currently in DisplayListItems.h out into DisplayList.h, such that
adding or modifying encoding and decoding logic in DisplayListItems.h dirties fewer source files when
rebuilding.
- Headers.cmake:
- platform/graphics/displaylists/DisplayList.h:
(WebCore::DisplayList::Item::type const):
(WebCore::DisplayList::Item::isDrawingItem const):
(WebCore::DisplayList::Item::isStateItem const):
(WebCore::DisplayList::Item::isStateItemType):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::Item::type const): Deleted.
(WebCore::DisplayList::Item::isDrawingItem const): Deleted.
(WebCore::DisplayList::Item::isStateItem const): Deleted.
(WebCore::DisplayList::Item::isStateItemType): Deleted.
Source/WebKit:
Include DisplayListItems.h directly, since these need to know about the actual display list items (and how to
encode or decode them).
- GPUProcess/GPUConnectionToWebProcess.h:
- 10:24 AM Changeset in webkit [253379] by
-
- 3 edits in trunk/Source/WebKitLegacy
Add type to StorageThread
https://bugs.webkit.org/show_bug.cgi?id=205082
Reviewed by Alex Christensen.
- Storage/StorageThread.cpp:
(WebCore::StorageThread::StorageThread):
(WebCore::StorageThread::start):
- Storage/StorageThread.h:
- 10:02 AM Changeset in webkit [253378] by
-
- 14 edits in trunk/Source/WebCore
IndexedDB: export some functions in WebCore
https://bugs.webkit.org/show_bug.cgi?id=205081
Reviewed by Alex Christensen.
We will need these in https://bugs.webkit.org/show_bug.cgi?id=203690.
No behavior change.
- Modules/indexeddb/IDBKeyData.h:
- Modules/indexeddb/IDBKeyRangeData.h:
- Modules/indexeddb/IDBValue.h:
- Modules/indexeddb/shared/IDBCursorInfo.h:
- Modules/indexeddb/shared/IDBError.h:
- Modules/indexeddb/shared/IDBGetAllRecordsData.h:
- Modules/indexeddb/shared/IDBGetRecordData.h:
- Modules/indexeddb/shared/IDBIterateCursorData.h:
- Modules/indexeddb/shared/IDBObjectStoreInfo.h:
- Modules/indexeddb/shared/IDBRequestData.h:
- Modules/indexeddb/shared/IDBResourceIdentifier.h:
- Modules/indexeddb/shared/IDBResultData.h:
- Modules/indexeddb/shared/IDBTransactionInfo.h:
- 9:56 AM Changeset in webkit [253377] by
-
- 8 edits in trunk/Source/WebCore
IndexedDB: remove LockHolder parameters
https://bugs.webkit.org/show_bug.cgi?id=205076
Reviewed by Alex Christensen.
The LockHolder parameters were used to only ensure we have acquired a lock before using IDBBackingStore. To work
toward https://bugs.webkit.org/show_bug.cgi?id=203690 we will not need these any more.
No behavior change.
- Modules/indexeddb/server/IDBBackingStore.h:
- Modules/indexeddb/server/MemoryIDBBackingStore.cpp:
(WebCore::IDBServer::MemoryIDBBackingStore::beginTransaction):
(WebCore::IDBServer::MemoryIDBBackingStore::abortTransaction):
(WebCore::IDBServer::MemoryIDBBackingStore::commitTransaction):
(WebCore::IDBServer::MemoryIDBBackingStore::createObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::deleteObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::renameObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::clearObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::createIndex):
(WebCore::IDBServer::MemoryIDBBackingStore::deleteIndex):
(WebCore::IDBServer::MemoryIDBBackingStore::renameIndex):
(WebCore::IDBServer::MemoryIDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::deleteRange):
(WebCore::IDBServer::MemoryIDBBackingStore::addRecord):
(WebCore::IDBServer::MemoryIDBBackingStore::getRecord):
(WebCore::IDBServer::MemoryIDBBackingStore::getAllRecords):
(WebCore::IDBServer::MemoryIDBBackingStore::getIndexRecord):
(WebCore::IDBServer::MemoryIDBBackingStore::getCount):
(WebCore::IDBServer::MemoryIDBBackingStore::generateKeyNumber):
(WebCore::IDBServer::MemoryIDBBackingStore::revertGeneratedKeyNumber):
(WebCore::IDBServer::MemoryIDBBackingStore::maybeUpdateKeyGeneratorNumber):
(WebCore::IDBServer::MemoryIDBBackingStore::openCursor):
(WebCore::IDBServer::MemoryIDBBackingStore::iterateCursor):
(WebCore::IDBServer::MemoryIDBBackingStore::infoForObjectStore):
(WebCore::IDBServer::MemoryIDBBackingStore::deleteBackingStore):
(WebCore::IDBServer::MemoryIDBBackingStore::close):
- Modules/indexeddb/server/MemoryIDBBackingStore.h:
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp:
(WebCore::IDBServer::SQLiteIDBBackingStore::getOrEstablishDatabaseInfo):
(WebCore::IDBServer::SQLiteIDBBackingStore::beginTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::abortTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::commitTransaction):
(WebCore::IDBServer::SQLiteIDBBackingStore::createObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::renameObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::clearObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::createIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::renameIndex):
(WebCore::IDBServer::SQLiteIDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteRange):
(WebCore::IDBServer::SQLiteIDBBackingStore::addRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getAllRecords):
(WebCore::IDBServer::SQLiteIDBBackingStore::getIndexRecord):
(WebCore::IDBServer::SQLiteIDBBackingStore::getCount):
(WebCore::IDBServer::SQLiteIDBBackingStore::generateKeyNumber):
(WebCore::IDBServer::SQLiteIDBBackingStore::revertGeneratedKeyNumber):
(WebCore::IDBServer::SQLiteIDBBackingStore::maybeUpdateKeyGeneratorNumber):
(WebCore::IDBServer::SQLiteIDBBackingStore::openCursor):
(WebCore::IDBServer::SQLiteIDBBackingStore::iterateCursor):
(WebCore::IDBServer::SQLiteIDBBackingStore::prefetchCursor):
(WebCore::IDBServer::SQLiteIDBBackingStore::deleteBackingStore):
(WebCore::IDBServer::SQLiteIDBBackingStore::close):
(WebCore::IDBServer::SQLiteIDBBackingStore::hasTransaction const):
- Modules/indexeddb/server/SQLiteIDBBackingStore.h:
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::deleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::performUnconditionalDeleteBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::shutdownForClose):
(WebCore::IDBServer::UniqueIDBDatabase::performStartVersionChangeTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::openBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::performCreateObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::performDeleteObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::performRenameObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::performClearObjectStore):
(WebCore::IDBServer::UniqueIDBDatabase::performCreateIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performDeleteIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performRenameIndex):
(WebCore::IDBServer::UniqueIDBDatabase::performPutOrAdd):
(WebCore::IDBServer::UniqueIDBDatabase::performGetRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performGetIndexRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performGetAllRecords):
(WebCore::IDBServer::UniqueIDBDatabase::performGetCount):
(WebCore::IDBServer::UniqueIDBDatabase::performDeleteRecord):
(WebCore::IDBServer::UniqueIDBDatabase::performOpenCursor):
(WebCore::IDBServer::UniqueIDBDatabase::performIterateCursor):
(WebCore::IDBServer::UniqueIDBDatabase::performPrefetchCursor):
(WebCore::IDBServer::UniqueIDBDatabase::performCommitTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::performAbortTransaction):
(WebCore::IDBServer::UniqueIDBDatabase::performActivateTransactionInBackingStore):
(WebCore::IDBServer::UniqueIDBDatabase::abortTransactionOnMainThread):
(WebCore::IDBServer::UniqueIDBDatabase::commitTransactionOnMainThread):
(WebCore::IDBServer::UniqueIDBDatabase::suspend):
- Modules/indexeddb/server/UniqueIDBDatabase.h:
- 9:50 AM Changeset in webkit [253376] by
-
- 54 edits1 copy6 adds in trunk
Move WKWebView code related to testing to new files, with their own headers, and stop exposing test-only functions as SPI.
https://bugs.webkit.org/show_bug.cgi?id=205021
Reviewed by Tim Horton.
Source/WebKit:
Stop exposing WKWebView (WKTesting) as SPI, because everyone added SPI here by mistake, and
internal clients kept using testing SPI.
Instead, move testing-only functions to internal headers that are not present in the built framework,
and move to WKWebView (WKPrivate) properties and functions that webkit clients rely on.
Add WKWebViewTesting/WKWebViewTestingMac/WKWebViewTestingIOS for test-only code.
WKWebViewTesting* headers are copied to a "WebKitTestSupport" directory in the Products directory, and WTR/DRT and TestWebKitAPI
get header search paths to find the headers there.
- SourcesCocoa.txt:
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _internalDoAfterNextPresentationUpdate:withoutWaitingForPainting:withoutWaitingForAnimatedResize:]):
(-[WKWebView _prepareForImmediateActionAnimation]):
(-[WKWebView _cancelImmediateActionAnimation]):
(-[WKWebView _completeImmediateActionAnimation]):
(-[WKWebView _useSystemAppearance]):
(-[WKWebView _setUseSystemAppearance:]):
(-[WKWebView _pageRefForTransitionToWKWebView]):
(-[WKWebView _canChangeFrameLayout:]):
(-[WKWebView _tryToSwipeWithEvent:ignoringPinnedState:]):
(-[WKWebView _ignoresNonWheelEvents]):
(-[WKWebView _setIgnoresNonWheelEvents:]):
(-[WKWebView _hasActiveVideoForControlsManager]):
(-[WKWebView _dismissContentRelativeChildWindows]):
(-[WKWebView _gestureEventWasNotHandledByWebCore:]):
(-[WKWebView _disableFrameSizeUpdates]):
(-[WKWebView _enableFrameSizeUpdates]):
(-[WKWebView _beginDeferringViewInWindowChanges]):
(-[WKWebView _endDeferringViewInWindowChanges]):
(-[WKWebView _endDeferringViewInWindowChangesSync]):
(-[WKWebView _fullScreenPlaceholderView]):
(-[WKWebView _fullScreenWindow]):
(-[WKWebView _underlayColor]):
(-[WKWebView _setUnderlayColor:]):
(-[WKWebView _setCustomSwipeViews:]):
(-[WKWebView _setCustomSwipeViewsTopContentInset:]):
(-[WKWebView _setDidMoveSwipeSnapshotCallback:]):
(-[WKWebView _setFrame:andScrollBy:]):
(-[WKWebView _setTotalHeightOfBanners:]):
(-[WKWebView _totalHeightOfBanners]):
(-[WKWebView _setFont:sender:]):
(-[WKWebView _setFontSize:sender:]):
(-[WKWebView _setTextColor:sender:]):
(-[WKWebView inputAccessoryView]):
(-[WKWebView inputView]):
(-[WKWebView _requestActivatedElementAtPosition:completionBlock:]):
(-[WKWebView _contentVisibleRect]):
(-[WKWebView _convertPointFromContentsToView:]):
(-[WKWebView _convertPointFromViewToContents:]):
(-[WKWebView didStartFormControlInteraction]):
(-[WKWebView didEndFormControlInteraction]):
(-[WKWebView _uiTextCaretRect]):
(-[WKWebView _accessibilityRetrieveRectsAtSelectionOffset:withText:completionHandler:]):
(-[WKWebView _accessibilityStoreSelection]):
(-[WKWebView _accessibilityClearSelection]):
(-[WKWebView _contentViewIsFirstResponder]):
(-[WKWebView _inspector]):
(-[WKWebView _mainFrame]):
(-[WKWebView _isEditable]):
(-[WKWebView _setEditable:]):
(-[WKWebView _executeEditCommand:argument:completion:]):
(-[WKWebView _textManipulationDelegate]):
(-[WKWebView _setTextManipulationDelegate:]):
(-[WKWebView _startTextManipulationsWithConfiguration:completion:]):
(-[WKWebView _completeTextManipulation:completion:]):
(-[WKWebView _takeFindStringFromSelection:]):
(+[WKWebView _stringForFind]):
(+[WKWebView _setStringForFind:]):
(-[WKWebView _remoteObjectRegistry]):
(-[WKWebView _handle]):
(-[WKWebView _observedRenderingProgressEvents]):
(-[WKWebView _historyDelegate]):
(-[WKWebView _setHistoryDelegate:]):
(-[WKWebView _updateMediaPlaybackControlsManager]):
(-[WKWebView _canTogglePictureInPicture]):
(-[WKWebView _isPictureInPictureActive]):
(-[WKWebView _togglePictureInPicture]):
(-[WKWebView _closeAllMediaPresentations]):
(-[WKWebView _stopMediaCapture]):
(-[WKWebView _stopAllMediaPlayback]):
(-[WKWebView _suspendAllMediaPlayback]):
(-[WKWebView _resumeAllMediaPlayback]):
(-[WKWebView _unreachableURL]):
(-[WKWebView _mainFrameURL]):
(-[WKWebView _loadAlternateHTMLString:baseURL:forUnreachableURL:]):
(-[WKWebView _loadData:MIMEType:characterEncodingName:baseURL:userData:]):
(-[WKWebView _loadRequest:shouldOpenExternalURLs:]):
(-[WKWebView _certificateChain]):
(-[WKWebView _committedURL]):
(-[WKWebView _MIMEType]):
(-[WKWebView _userAgent]):
(-[WKWebView _applicationNameForUserAgent]):
(-[WKWebView _setApplicationNameForUserAgent:]):
(-[WKWebView _customUserAgent]):
(-[WKWebView _setCustomUserAgent:]):
(-[WKWebView _setUserContentExtensionsEnabled:]):
(-[WKWebView _userContentExtensionsEnabled]):
(-[WKWebView _webProcessIdentifier]):
(-[WKWebView _provisionalWebProcessIdentifier]):
(-[WKWebView _killWebContentProcess]):
(-[WKWebView _safeBrowsingWarning]):
(-[WKWebView _reloadWithoutContentBlockers]):
(-[WKWebView _reloadExpiredOnly]):
(-[WKWebView _killWebContentProcessAndResetState]):
(-[WKWebView _convertRectFromRootViewCoordinates:]):
(-[WKWebView _convertRectToRootViewCoordinates:]):
(-[WKWebView _requestTextInputContextsInRect:completionHandler:]):
(-[WKWebView _focusTextInputContext:completionHandler:]):
(-[WKWebView _takePDFSnapshotWithConfiguration:completionHandler:]):
(-[WKWebView _setShouldSuppressFirstResponderChanges:]):
(-[WKWebView _retainActiveFocusedState]):
(-[WKWebView _becomeFirstResponderWithSelectionMovingForward:completionHandler:]):
(-[WKWebView _snapshotLayerContentsForBackForwardListItem:]):
(-[WKWebView _dataDetectionResults]):
(-[WKWebView _accessibilityRetrieveSpeakSelectionContent]):
(-[WKWebView _accessibilityDidGetSpeakSelectionContent:]):
(-[WKWebView inputAssistantItem]):
(-[WKWebView _sessionStateData]):
(-[WKWebView _sessionState]):
(-[WKWebView _sessionStateWithFilter:]):
(-[WKWebView _restoreFromSessionStateData:]):
(-[WKWebView _restoreSessionState:andNavigate:]):
(-[WKWebView _close]):
(-[WKWebView _insertAttachmentWithFilename:contentType:data:options:completion:]):
(-[WKWebView _insertAttachmentWithFileWrapper:contentType:options:completion:]):
(-[WKWebView _insertAttachmentWithFileWrapper:contentType:completion:]):
(-[WKWebView _attachmentForIdentifier:]):
(-[WKWebView _simulateDeviceOrientationChangeWithAlpha:beta:gamma:]):
(+[WKWebView _handlesSafeBrowsing]):
(-[WKWebView _showSafeBrowsingWarningWithTitle:warning:details:completionHandler:]):
(-[WKWebView _showSafeBrowsingWarningWithURL:title:warning:details:completionHandler:]):
(+[WKWebView _confirmMalwareSentinel]):
(+[WKWebView _visitUnsafeWebsiteSentinel]):
(-[WKWebView _isJITEnabled:]):
(-[WKWebView _evaluateJavaScriptWithoutUserGesture:completionHandler:]):
(-[WKWebView _updateWebsitePolicies:]):
(-[WKWebView _allowsRemoteInspection]):
(-[WKWebView _setAllowsRemoteInspection:]):
(-[WKWebView _remoteInspectionNameOverride]):
(-[WKWebView _setRemoteInspectionNameOverride:]):
(-[WKWebView _addsVisitedLinks]):
(-[WKWebView _setAddsVisitedLinks:]):
(-[WKWebView _networkRequestsInProgress]):
(layoutMilestones):
(-[WKWebView _setObservedRenderingProgressEvents:]):
(-[WKWebView _getMainResourceDataWithCompletionHandler:]):
(-[WKWebView _getWebArchiveDataWithCompletionHandler:]):
(-[WKWebView _getContentsAsStringWithCompletionHandler:]):
(-[WKWebView _getContentsAsAttributedStringWithCompletionHandler:]):
(-[WKWebView _getApplicationManifestWithCompletionHandler:]):
(-[WKWebView _paginationMode]):
(-[WKWebView _setPaginationMode:]):
(-[WKWebView _paginationBehavesLikeColumns]):
(-[WKWebView _setPaginationBehavesLikeColumns:]):
(-[WKWebView _pageLength]):
(-[WKWebView _setPageLength:]):
(-[WKWebView _gapBetweenPages]):
(-[WKWebView _setGapBetweenPages:]):
(-[WKWebView _paginationLineGridEnabled]):
(-[WKWebView _setPaginationLineGridEnabled:]):
(-[WKWebView _pageCount]):
(-[WKWebView _supportsTextZoom]):
(-[WKWebView _textZoomFactor]):
(-[WKWebView _setTextZoomFactor:]):
(-[WKWebView setPageZoom:]):
(-[WKWebView pageZoom]):
(-[WKWebView _pageZoomFactor]):
(-[WKWebView _setPageZoomFactor:]):
(-[WKWebView _diagnosticLoggingDelegate]):
(-[WKWebView _setDiagnosticLoggingDelegate:]):
(-[WKWebView _findDelegate]):
(-[WKWebView _setFindDelegate:]):
(toFindOptions):
(-[WKWebView _countStringMatches:options:maxCount:]):
(-[WKWebView _findString:options:maxCount:]):
(-[WKWebView _hideFindUI]):
(-[WKWebView _saveBackForwardSnapshotForItem:]):
(-[WKWebView _inputDelegate]):
(-[WKWebView _setInputDelegate:]):
(-[WKWebView _isDisplayingStandaloneImageDocument]):
(-[WKWebView _isDisplayingStandaloneMediaDocument]):
(-[WKWebView _isPlayingAudio]):
(-[WKWebView _isShowingNavigationGestureSnapshot]):
(-[WKWebView _layoutMode]):
(-[WKWebView _setLayoutMode:]):
(-[WKWebView _fixedLayoutSize]):
(-[WKWebView _setFixedLayoutSize:]):
(-[WKWebView _setBackgroundExtendsBeyondPage:]):
(-[WKWebView _backgroundExtendsBeyondPage]):
(-[WKWebView _viewScale]):
(-[WKWebView _setViewScale:]):
(-[WKWebView _setMinimumEffectiveDeviceWidth:]):
(-[WKWebView _minimumEffectiveDeviceWidth]):
(-[WKWebView _setScrollPerformanceDataCollectionEnabled:]):
(-[WKWebView _scrollPerformanceDataCollectionEnabled]):
(-[WKWebView _scrollPerformanceData]):
(-[WKWebView _allowsMediaDocumentInlinePlayback]):
(-[WKWebView _setAllowsMediaDocumentInlinePlayback:]):
(-[WKWebView _webProcessIsResponsive]):
(-[WKWebView _setFullscreenDelegate:]):
(-[WKWebView _fullscreenDelegate]):
(-[WKWebView _isInFullscreen]):
(-[WKWebView _mediaCaptureState]):
(-[WKWebView _setMediaCaptureEnabled:]):
(-[WKWebView _mediaCaptureEnabled]):
(-[WKWebView _setPageMuted:]):
(-[WKWebView _removeDataDetectedLinks:]):
(-[WKWebView _doAfterNextPresentationUpdate:]):
(-[WKWebView _doAfterNextPresentationUpdateWithoutWaitingForPainting:]):
(-[WKWebView _doAfterNextStablePresentationUpdate:]):
(-[WKWebView _detectDataWithTypes:completionHandler:]):
(-[WKWebView removeFromSuperview]):
(-[WKWebView _minimumLayoutSizeOverride]):
(-[WKWebView _setViewLayoutSizeOverride:]):
(-[WKWebView _obscuredInsets]):
(-[WKWebView _setObscuredInsets:]):
(-[WKWebView _obscuredInsetEdgesAffectedBySafeArea]):
(-[WKWebView _setObscuredInsetEdgesAffectedBySafeArea:]):
(-[WKWebView _unobscuredSafeAreaInsets]):
(-[WKWebView _setUnobscuredSafeAreaInsets:]):
(-[WKWebView _safeAreaShouldAffectObscuredInsets]):
(-[WKWebView _setInterfaceOrientationOverride:]):
(-[WKWebView _interfaceOrientationOverride]):
(-[WKWebView _clearInterfaceOrientationOverride]):
(-[WKWebView _maximumUnobscuredSizeOverride]):
(-[WKWebView _setMaximumUnobscuredSizeOverride:]):
(-[WKWebView _setAllowsViewportShrinkToFit:]):
(-[WKWebView _allowsViewportShrinkToFit]):
(-[WKWebView _beginInteractiveObscuredInsetsChange]):
(-[WKWebView _endInteractiveObscuredInsetsChange]):
(-[WKWebView _hideContentUntilNextUpdate]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):
(-[WKWebView _resizeWhileHidingContentWithUpdates:]):
(-[WKWebView _setOverlaidAccessoryViewsInset:]):
(-[WKWebView _snapshotRect:intoImageOfWidth:completionHandler:]):
(-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride:]):
(-[WKWebView _clearOverrideLayoutParameters]):
(viewportArgumentsFromDictionary):
(-[WKWebView _overrideViewportWithArguments:]):
(-[WKWebView _viewForFindUI]):
(-[WKWebView _isDisplayingPDF]):
(-[WKWebView _dataForDisplayedPDF]):
(-[WKWebView _suggestedFilenameForDisplayedPDF]):
(-[WKWebView _webViewPrintFormatter]):
(toUserInterfaceLayoutDirection):
(-[WKWebView setSemanticContentAttribute:]):
(-[WKWebView _drawsBackground]):
(-[WKWebView _setDrawsBackground:]):
(-[WKWebView _backgroundColor]):
(-[WKWebView _setBackgroundColor:]):
(-[WKWebView _setDrawsTransparentBackground:]):
(-[WKWebView _inspectorAttachmentView]):
(-[WKWebView _setInspectorAttachmentView:]):
(-[WKWebView _setOverlayScrollbarStyle:]):
(-[WKWebView _overlayScrollbarStyle]):
(-[WKWebView _windowOcclusionDetectionEnabled]):
(-[WKWebView _setWindowOcclusionDetectionEnabled:]):
(-[WKWebView shareSheetDidDismiss:]):
(-[WKWebView _setOverrideDeviceScaleFactor:]):
(-[WKWebView _overrideDeviceScaleFactor]):
(-[WKWebView _setTopContentInset:]):
(-[WKWebView _topContentInset]):
(-[WKWebView _pageExtendedBackgroundColor]):
(-[WKWebView _pinnedState]):
(-[WKWebView _rubberBandingEnabled]):
(-[WKWebView _setRubberBandingEnabled:]):
(-[WKWebView _immediateActionAnimationControllerForHitTestResult:withType:userData:]):
(-[WKWebView _setAutomaticallyAdjustsContentInsets:]):
(-[WKWebView _automaticallyAdjustsContentInsets]):
(-[WKWebView _minimumLayoutWidth]):
(-[WKWebView _setMinimumLayoutWidth:]):
(-[WKWebView _shouldExpandContentToViewHeightForAutoLayout]):
(-[WKWebView _setShouldExpandContentToViewHeightForAutoLayout:]):
(-[WKWebView _alwaysShowsHorizontalScroller]):
(-[WKWebView _setAlwaysShowsHorizontalScroller:]):
(-[WKWebView _alwaysShowsVerticalScroller]):
(-[WKWebView _setAlwaysShowsVerticalScroller:]):
(-[WKWebView _printOperationWithPrintInfo:]):
(-[WKWebView _printOperationWithPrintInfo:forFrame:]):
(-[WKWebView setUserInterfaceLayoutDirection:]):
(-[WKWebView _wantsMediaPlaybackControlsView]):
(-[WKWebView _setWantsMediaPlaybackControlsView:]):
(-[WKWebView _mediaPlaybackControlsView]):
(-[WKWebView _addMediaPlaybackControlsView:]):
(-[WKWebView _removeMediaPlaybackControlsView]):
(-[WKWebView _prepareForMoveToWindow:completionHandler:]):
(-[WKWebView _setThumbnailView:]):
(-[WKWebView _thumbnailView]):
(-[WKWebView _setIgnoresAllEvents:]):
(-[WKWebView _ignoresAllEvents]):
(-[WKWebView _spellCheckerDocumentTag]):
(-[WKWebView _setContinuousSpellCheckingEnabledForTesting:]): Deleted.
(-[WKWebView _contentsOfUserInterfaceItem:]): Deleted.
(-[WKWebView keyboardAccessoryBarNext]): Deleted.
(-[WKWebView keyboardAccessoryBarPrevious]): Deleted.
(-[WKWebView applyAutocorrection:toString:withCompletionHandler:]): Deleted.
(-[WKWebView dismissFormAccessoryView]): Deleted.
(-[WKWebView _dismissFilePicker]): Deleted.
(-[WKWebView setTimePickerValueToHour:minute:]): Deleted.
(-[WKWebView selectFormAccessoryPickerRow:]): Deleted.
(-[WKWebView selectFormPopoverTitle]): Deleted.
(-[WKWebView textContentTypeForTesting]): Deleted.
(-[WKWebView formInputLabel]): Deleted.
(-[WKWebView _didShowContextMenu]): Deleted.
(-[WKWebView _didDismissContextMenu]): Deleted.
(-[WKWebView _inputViewBounds]): Deleted.
(-[WKWebView _uiTextSelectionRects]): Deleted.
(-[WKWebView _scrollingTreeAsText]): Deleted.
(-[WKWebView _stableStateOverride]): Deleted.
(-[WKWebView _propertiesOfLayerWithID:]): Deleted.
(-[WKWebView _doAfterResettingSingleTapGesture:]): Deleted.
(-[WKWebView _doAfterReceivingEditDragSnapshotForTesting:]): Deleted.
(-[WKWebView _requestControlledElementID]): Deleted.
(-[WKWebView _handleControlledElementIDResponse:]): Deleted.
(-[WKWebView _handleAcceptedCandidate:]): Deleted.
(-[WKWebView _didHandleAcceptedCandidate]): Deleted.
(-[WKWebView _didUpdateCandidateListVisibility:]): Deleted.
(-[WKWebView _forceRequestCandidates]): Deleted.
(-[WKWebView _shouldRequestCandidates]): Deleted.
(-[WKWebView _insertText:replacementRange:]): Deleted.
(-[WKWebView _candidateRect]): Deleted.
(-[WKWebView viewDidChangeEffectiveAppearance]): Deleted.
(-[WKWebView _setHeaderBannerHeight:]): Deleted.
(-[WKWebView _setFooterBannerHeight:]): Deleted.
(-[WKWebView _doAfterProcessingAllPendingMouseEvents:]): Deleted.
(-[WKWebView _activeMenu]): Deleted.
(-[WKWebView _requestActiveNowPlayingSessionInfo:]): Deleted.
(-[WKWebView _setPageScale:withOrigin:]): Deleted.
(-[WKWebView _pageScale]): Deleted.
(-[WKWebView _scrollingUpdatesDisabledForTesting]): Deleted.
(-[WKWebView _setScrollingUpdatesDisabledForTesting:]): Deleted.
(-[WKWebView _doAfterNextPresentationUpdateWithoutWaitingForAnimatedResizeForTesting:]): Deleted.
(-[WKWebView _doAfterNextVisibleContentRectUpdate:]): Deleted.
(-[WKWebView _disableBackForwardSnapshotVolatilityForTesting]): Deleted.
(-[WKWebView _dragCaretRect]): Deleted.
(-[WKWebView _simulateLongPressActionAtLocation:]): Deleted.
(-[WKWebView _simulateTextEntered:]): Deleted.
(-[WKWebView _dynamicUserInterfaceTraitDidChange]): Deleted.
(-[WKWebView _beginBackSwipeForTesting]): Deleted.
(-[WKWebView _completeBackSwipeForTesting]): Deleted.
(-[WKWebView _setDefersLoadingForTesting:]): Deleted.
(-[WKWebView _setShareSheetCompletesImmediatelyWithResolutionForTesting:]): Deleted.
(-[WKWebView _hasInspectorFrontend]): Deleted.
(-[WKWebView _processWillSuspendImminentlyForTesting]): Deleted.
(-[WKWebView _processDidResumeForTesting]): Deleted.
(-[WKWebView _setAssertionStateForTesting:]): Deleted.
(-[WKWebView _hasServiceWorkerBackgroundActivityForTesting]): Deleted.
(-[WKWebView _hasServiceWorkerForegroundActivityForTesting]): Deleted.
(-[WKWebView _denyNextUserMediaRequest]): Deleted.
(-[WKWebView _triggerSystemPreviewActionOnElement:document:page:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/WKWebViewTesting.h: Added.
- UIProcess/API/Cocoa/WKWebViewTesting.mm: Added.
(-[WKWebView _setPageScale:withOrigin:]):
(-[WKWebView _pageScale]):
(-[WKWebView _setContinuousSpellCheckingEnabledForTesting:]):
(-[WKWebView _contentsOfUserInterfaceItem:]):
(-[WKWebView _requestActiveNowPlayingSessionInfo:]):
(-[WKWebView _scrollingUpdatesDisabledForTesting]):
(-[WKWebView _setScrollingUpdatesDisabledForTesting:]):
(-[WKWebView _doAfterNextPresentationUpdateWithoutWaitingForAnimatedResizeForTesting:]):
(-[WKWebView _doAfterNextVisibleContentRectUpdate:]):
(-[WKWebView _disableBackForwardSnapshotVolatilityForTesting]):
(-[WKWebView _beginBackSwipeForTesting]):
(-[WKWebView _completeBackSwipeForTesting]):
(-[WKWebView _setDefersLoadingForTesting:]):
(-[WKWebView _setShareSheetCompletesImmediatelyWithResolutionForTesting:]):
(-[WKWebView _hasInspectorFrontend]):
(-[WKWebView _processWillSuspendImminentlyForTesting]):
(-[WKWebView _processDidResumeForTesting]):
(-[WKWebView _setAssertionStateForTesting:]):
(-[WKWebView _hasServiceWorkerBackgroundActivityForTesting]):
(-[WKWebView _hasServiceWorkerForegroundActivityForTesting]):
(-[WKWebView _denyNextUserMediaRequest]):
- UIProcess/API/ios/WKWebViewTestingIOS.h: Added.
- UIProcess/API/ios/WKWebViewTestingIOS.mm: Added.
(-[WKWebView keyboardAccessoryBarNext]):
(-[WKWebView keyboardAccessoryBarPrevious]):
(-[WKWebView applyAutocorrection:toString:withCompletionHandler:]):
(-[WKWebView dismissFormAccessoryView]):
(-[WKWebView _dismissFilePicker]):
(-[WKWebView setTimePickerValueToHour:minute:]):
(-[WKWebView selectFormAccessoryPickerRow:]):
(-[WKWebView selectFormPopoverTitle]):
(-[WKWebView textContentTypeForTesting]):
(-[WKWebView formInputLabel]):
(-[WKWebView _didShowContextMenu]):
(-[WKWebView _didDismissContextMenu]):
(-[WKWebView _inputViewBounds]):
(-[WKWebView _uiTextSelectionRects]):
(-[WKWebView _scrollingTreeAsText]):
(-[WKWebView _stableStateOverride]):
(-[WKWebView _propertiesOfLayerWithID:]):
(-[WKWebView _doAfterResettingSingleTapGesture:]):
(-[WKWebView _doAfterReceivingEditDragSnapshotForTesting:]):
(-[WKWebView _dragCaretRect]):
(-[WKWebView _simulateLongPressActionAtLocation:]):
(-[WKWebView _simulateTextEntered:]):
(-[WKWebView _dynamicUserInterfaceTraitDidChange]):
(-[WKWebView _triggerSystemPreviewActionOnElement:document:page:]):
- UIProcess/API/mac/WKWebViewTestingMac.h: Copied from Tools/TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm.
- UIProcess/API/mac/WKWebViewTestingMac.mm: Added.
(-[WKWebView _requestControlledElementID]):
(-[WKWebView _handleControlledElementIDResponse:]):
(-[WKWebView _handleAcceptedCandidate:]):
(-[WKWebView _didHandleAcceptedCandidate]):
(-[WKWebView _didUpdateCandidateListVisibility:]):
(-[WKWebView _forceRequestCandidates]):
(-[WKWebView _shouldRequestCandidates]):
(-[WKWebView _insertText:replacementRange:]):
(-[WKWebView _candidateRect]):
(-[WKWebView viewDidChangeEffectiveAppearance]):
(-[WKWebView _setHeaderBannerHeight:]):
(-[WKWebView _setFooterBannerHeight:]):
(-[WKWebView _doAfterProcessingAllPendingMouseEvents:]):
(-[WKWebView _activeMenu]):
- UIProcess/Cocoa/PageClientImplCocoa.mm:
- UIProcess/ios/PageClientImplIOS.mm:
- UIProcess/ios/WKContentViewInteraction.mm:
- UIProcess/ios/WKMouseGestureRecognizer.h:
- UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
- UIProcess/mac/PageClientImplMac.mm:
- UIProcess/mac/WKFullScreenWindowController.h:
- WebKit.xcodeproj/project.pbxproj:
Tools:
Stop exposing WKWebView (WKTesting) as SPI, because everyone added SPI here by mistake, and
internal clients kept using testing SPI.
Instead, move testing-only functions to internal headers that are not present in the built framework,
and move to WKWebView (WKPrivate) properties and functions that webkit clients rely on.
Add WKWebViewTesting/WKWebViewTestingMac/WKWebViewTestingIOS for test-only code.
WKWebViewTesting* headers are copied to a "WebKitTestSupport" directory in the Products directory, and WTR/DRT and TestWebKitAPI
get header search paths to find the headers there.
- MiniBrowser/Configurations/Base.xcconfig:
- MiniBrowser/mac/WK2BrowserWindowController.m:
- TestWebKitAPI/Configurations/Base.xcconfig:
- TestWebKitAPI/EditingTestHarness.mm:
- TestWebKitAPI/Tests/WebKit/ResponsivenessTimerCrash.mm:
- TestWebKitAPI/Tests/WebKitCocoa/AnimatedResize.mm:
- TestWebKitAPI/Tests/WebKitCocoa/DoubleDefersLoading.mm:
- TestWebKitAPI/Tests/WebKitCocoa/InteractionDeadlockAfterCrash.mm:
- TestWebKitAPI/Tests/WebKitCocoa/MediaBufferingPolicy.mm:
- TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:
- TestWebKitAPI/Tests/WebKitCocoa/PictureInPictureDelegate.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSuspendMediaBuffering.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm:
- TestWebKitAPI/Tests/WebKitCocoa/SnapshotStore.mm:
- TestWebKitAPI/Tests/WebKitCocoa/SystemPreview.mm:
- TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
- TestWebKitAPI/Tests/WebKitCocoa/UserMediaSimulateFailedSandbox.mm:
- TestWebKitAPI/Tests/WebKitCocoa/VideoControlsManager.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKRequestActivatedElementInfo.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCandidateTests.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEditActions.mm:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewFirstResponderTests.mm:
- TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
- TestWebKitAPI/Tests/ios/ActionSheetTests.mm:
- TestWebKitAPI/Tests/ios/AutocorrectionTestsIOS.mm:
- TestWebKitAPI/Tests/ios/FocusPreservationTests.mm:
- TestWebKitAPI/cocoa/TestNavigationDelegate.mm:
- TestWebKitAPI/ios/DragAndDropSimulatorIOS.mm:
- TestWebKitAPI/mac/DragAndDropSimulatorMac.mm:
- WebKitTestRunner/Configurations/Base.xcconfig:
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
- WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
- WebKitTestRunner/cocoa/UIScriptControllerCocoa.mm:
- WebKitTestRunner/ios/TestControllerIOS.mm:
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
- WebKitTestRunner/mac/UIScriptControllerMac.mm:
- 9:39 AM Changeset in webkit [253375] by
-
- 9 edits in trunk
(r252889) webrtc/peerconnection-page-cache.html is crashing on iOS Debug
https://bugs.webkit.org/show_bug.cgi?id=205017
<rdar://problem/57757026>
Reviewed by Eric Carlson.
Source/WebCore:
HTMLMediaElement is scheduling some tasks using Timers that are not suspendable.
This patch uses task enqueuing through the script execution context event loop which respects page cache suspend/resume logic
for the update play state timer.
Other timers should follow.
Covered by tests no longer crashing in Debug mode.
- dom/ScriptExecutionContext.h:
(WebCore::ScriptExecutionContext::enqueueTaskForDispatcher):
- dom/TaskSource.h:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::enqueueTaskForDispatcher):
- html/HTMLMediaElement.h:
- platform/DeferrableTask.h:
(WebCore::DeferrableTask::DeferrableTask):
- platform/GenericTaskQueue.h:
(WebCore::TaskDispatcher::TaskDispatcher):
(WebCore::TaskDispatcher::postTask):
(WebCore::GenericTaskQueue::GenericTaskQueue):
LayoutTests:
- platform/ios/TestExpectations:
- 9:14 AM Changeset in webkit [253374] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed iOS build fix after r253343.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- 8:36 AM Changeset in webkit [253373] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Fix fast/text/hyphenate-limit-lines.html
https://bugs.webkit.org/show_bug.cgi?id=205115
<rdar://problem/57837829>
Reviewed by Antti Koivisto.
Do not adjust the m_successiveHyphenatedLineCount unless it's the end of the line (either split or push).
- layout/inlineformatting/LineLayoutContext.cpp:
(WebCore::Layout::LineLayoutContext::processUncommittedContent):
- 7:55 AM Changeset in webkit [253372] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK gardening after r253360.
- platform/gtk/TestExpectations:
- 7:13 AM Changeset in webkit [253371] by
-
- 2 edits1 add in trunk/Tools
Add test-lldb-webkit
https://bugs.webkit.org/show_bug.cgi?id=187916
Reviewed by Stephanie Lewis.
- Scripts/test-lldb-webkit: Added.
(NoAction): Argparse action which support --<variable> and --no-<variable>.
(LldbTester): Wrapper around webkitpy's Tester class.
(LldbTester.parse_args): Specialized argparse for lldb tests.
(LldbTester.run): Setup environment and build lldb test runner.
(main):
- Scripts/webkitpy/test/main.py:
(main): Remove lldb testing code.
(Tester._parse_args): Ditto.
(Tester.run): Ditto.
(Tester._run_tests): Ditto.
(Tester._test_names): Ditto.
(_supports_building_and_running_lldb_tests): Deleted.
- 6:37 AM Changeset in webkit [253370] by
-
- 5 edits in trunk/Source/WebCore
[LFC][IFC] Move single whitespace measuring to TextUtil
https://bugs.webkit.org/show_bug.cgi?id=205096
<rdar://problem/57818442>
Reviewed by Antti Koivisto.
If the TextUtil::width() callsites pass in the InlineTextItem, we can fast-path the single whitespace
character case (performance) and return width < 0 (correctness) when word-spacing is negative.
- layout/inlineformatting/InlineLineBreaker.cpp:
(WebCore::Layout::LineBreaker::breakingContextForInlineContent):
(WebCore::Layout::LineBreaker::tryBreakingTextRun const):
- layout/inlineformatting/LineLayoutContext.cpp:
(WebCore::Layout::inlineItemWidth):
- layout/inlineformatting/text/TextUtil.cpp:
(WebCore::Layout::TextUtil::width):
(WebCore::Layout::TextUtil::hyphenPositionBefore): Deleted.
- layout/inlineformatting/text/TextUtil.h:
- 6:28 AM Changeset in webkit [253369] by
-
- 2 edits in trunk/Source/WebCore
[LFC][IFC] Partial trailing width should include the hyphen when applicable
https://bugs.webkit.org/show_bug.cgi?id=205090
<rdar://problem/57813491>
Reviewed by Antti Koivisto.
In order to properly text-align: justify the content, we need to know the final width of
the trailing run including the injected hyphen.
- layout/inlineformatting/InlineLineBreaker.cpp:
(WebCore::Layout::LineBreaker::tryBreakingTextRun const):
- 6:04 AM Changeset in webkit [253368] by
-
- 9 edits in trunk
[GStreamer][MediaStream] Fix GStreamer capturer mock
https://bugs.webkit.org/show_bug.cgi?id=205066
- Presets where wrongly generated based on GStreamer capabilities
- Audio capturer was not taking into account echo cancellation
Patch by Thibault Saunier <tsaunier@igalia.com> on 2019-12-11
Reviewed by Philippe Normand.
Source/WebCore:
This fixes a few tests
- platform/mediastream/RealtimeVideoCaptureSource.h:
(WebCore::RealtimeVideoCaptureSource::canResizeVideoFrames const):
- platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h:
- platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.cpp:
(WebCore::WrappedMockRealtimeAudioSource::addHum):
- platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.cpp:
(WebCore::WrappedMockRealtimeVideoSource::presets):
(WebCore::MockGStreamerVideoCaptureSource::generatePresets):
- platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.h:
- platform/mock/MockRealtimeVideoSource.h:
LayoutTests:
- platform/gtk/TestExpectations: Updated expectations as required
- platform/wpe/TestExpectations: Updated expectations as required
- 4:10 AM Changeset in webkit [253367] by
-
- 2 edits in trunk/Source/WebCore
[GStreamer] Invalid use of UTF-8 validation in ClearKey key data
https://bugs.webkit.org/show_bug.cgi?id=205106
Reviewed by Xabier Rodriguez-Calvar.
media/encrypted-media/clearKey/clearKey-cenc-audio-playback-mse.html
- platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp:
(findAndSetKey): Mistakenly was using utf-8 conversions on binary
data, which in some cases caused invalid key data being given to
GCrypt.
- 3:07 AM Changeset in webkit [253366] by
-
- 2 edits in trunk/Source/WebKit
[WebAuthn] Implement dummy _WKWebAuthenticationPanel SPIs for CTAP PIN support
https://bugs.webkit.org/show_bug.cgi?id=205100
<rdar://problem/57822953>
Reviewed by Brent Fulgham.
This patch implements dummy _WKWebAuthenticationPanel SPIs for CTAP PIN support.
CTAP PIN is a way for authenticators to be able to do user verification by asking
clients/users for a pre-set PIN. Here is the spec:
https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html#authenticatorClientPIN
In order to support this, WebKit needs to interacts with UIClients to ask users
to enter the PINs. Therefore, a new set of SPI is needed.
Here is the proposed SPI for WebKit to ask Safari for the PIN:
@protocol _WKWebAuthenticationPanelDelegate <NSObject>
@optional
...
- (void)panel:(_WKWebAuthenticationPanel *)panel requestPINWithRetries:(NSUInteger)retries completionHandler:(void ()(NSData *))completionHandler WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
...
@end
Retries is the number of retires before the authenticator getting blocked, which
is a state that only factory reset can save the authenticator. UIClients can have
a threshold and WARN users loudly when the threshold is reached.
A byte array that is less than or equal to 63 bytes is expected to return to the
passed completion handler. Otherwise, the completion handler will bail out.
For error handling:
typedef NS_ENUM(NSInteger, _WKWebAuthenticationPanelUpdate) {
...
_WKWebAuthenticationPanelUpdatePINBlocked,
_WKWebAuthenticationPanelUpdatePINAuthBlocked,
_WKWebAuthenticationPanelUpdatePINInvalid,
} WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
The above three error will be passed to UIClients via updateWebAuthenticationPanel SPI.
_WKWebAuthenticationPanelUpdatePINBlocked means the authenticator is dead. A factory
reset is needed.
_WKWebAuthenticationPanelUpdatePINAuthBlocked means 3 consecutive mismatches. The
authenticator will need to be reconnected.
_WKWebAuthenticationPanelUpdatePINInvalid means a wrong PIN is provided. This will
often be followed with another requestPINWithRetries delegate call.
Here is the spec for the error:
https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html#using-pinToken-in-authenticatorMakeCredential.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- 1:48 AM Changeset in webkit [253365] by
-
- 26 edits in trunk/Source
[JSC] Put all API related JS cells into IsoSubspace
https://bugs.webkit.org/show_bug.cgi?id=205097
Reviewed by Mark Lam.
Source/JavaScriptCore:
This patch puts API related JS cells into IsoSubspace.
- API/JSAPIGlobalObject.h:
(JSC::JSAPIGlobalObject::create): Deleted.
(JSC::JSAPIGlobalObject::createStructure): Deleted.
(JSC::JSAPIGlobalObject::JSAPIGlobalObject): Deleted.
- API/JSAPIValueWrapper.h:
- API/JSAPIWrapperObject.h:
(JSC::JSAPIWrapperObject::subspaceFor):
- API/JSAPIWrapperObject.mm:
(JSC::JSCallbackObject<JSAPIWrapperObject>::subspaceForImpl):
- API/JSCallbackConstructor.cpp:
(JSC::JSCallbackConstructor::JSCallbackConstructor):
- API/JSCallbackConstructor.h:
- API/JSCallbackObject.cpp:
(JSC::JSCallbackObject<JSNonFinalObject>::createStructure):
(JSC::JSCallbackObject<JSNonFinalObject>::subspaceForImpl):
(JSC::JSCallbackObject<JSGlobalObject>::subspaceForImpl):
(JSC::JSCallbackObject<JSDestructibleObject>::createStructure): Deleted.
- API/JSCallbackObject.h:
- API/JSCallbackObjectFunctions.h:
(JSC::JSCallbackObject<Parent>::init):
- API/JSClassRef.cpp:
(OpaqueJSClass::prototype):
- API/JSObjectRef.cpp:
(JSObjectMake):
(JSObjectGetPrivate):
(JSObjectSetPrivate):
(JSObjectGetPrivateProperty):
(JSObjectSetPrivateProperty):
(JSObjectDeletePrivateProperty):
- API/JSValueRef.cpp:
(JSValueIsObjectOfClass):
- API/JSWeakObjectMapRefPrivate.cpp:
- API/glib/JSAPIWrapperGlobalObject.cpp:
(JSC::JSCallbackObject<JSAPIWrapperGlobalObject>::subspaceForImpl):
- API/glib/JSAPIWrapperGlobalObject.h:
(JSC::JSAPIWrapperGlobalObject::subspaceFor):
- API/glib/JSAPIWrapperObjectGLib.cpp:
(JSC::JSCallbackObject<JSAPIWrapperObject>::subspaceForImpl):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):
- runtime/JSSegmentedVariableObject.cpp:
(JSC::JSSegmentedVariableObject::finishCreation):
- runtime/JSSegmentedVariableObject.h:
(JSC::JSSegmentedVariableObject::classInfo const):
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
Source/WebCore:
- bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::finishCreation):
- bindings/js/JSDOMWrapper.cpp:
(WebCore::JSDOMObject::JSDOMObject):
- bindings/js/JSWindowProxy.cpp:
(WebCore::JSWindowProxy::setWindow):