Timeline
Mar 7, 2020:
- 9:39 PM Changeset in webkit [258101] by
-
- 17 edits in trunk/Source
Create a flag to disable in-app browser quirks
https://bugs.webkit.org/show_bug.cgi?id=208777
<rdar://problem/60062197>
Reviewed by Simon Fraser.
This patch makes the following changes:
- Adds a new flag 'NeedsInAppBrowserPrivacyQuirks' to allow quirks to be toggled during testing.
- Reclassify this new flag, and the existing 'InAppBrowserPrivacyEnabled' flag from 'settings' to Internal Debug settings
The renamed flags are covered by existing tests.
Source/WebCore:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setNeedsInAppBrowserPrivacyQuirks):
(WebCore::RuntimeEnabledFeatures::needsInAppBrowserPrivacyQuirks const):
- page/Settings.yaml:
Source/WebKit:
- FeatureFlags/WebKit.plist:
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- Shared/WebPreferences.yaml:
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultInAppBrowserPrivacy):
(WebKit::defaultNeedsInAppBrowserPrivacyQuirks):
- Shared/WebPreferencesDefaultValues.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _needsInAppBrowserPrivacyQuirks]):
(-[WKPreferences _setNeedsInAppBrowserPrivacyQuirks:]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/WebPageProxy.cpp:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScript):
- WebProcess/WebPage/WebPage.h:
Source/WebKitLegacy/mac:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]): Add new flag.
(-[WebPreferences needsInAppBrowserPrivacyQuirks]): Ditto.
(-[WebPreferences setNeedsInAppBrowserPrivacyQuirks:]): Ditto.
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
- 9:13 PM Changeset in webkit [258100] by
-
- 10 edits in trunk/Source/WebCore
[GPUP] Implement Legacy EME API in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=208402
Reviewed by Eric Carlson.
Prepare for running the LegacyCDM et. al. in the GPU process.
Slightly modernize LegacyCDM to allow all methods representaing a LegacyCDMFactory to be WTF::Functions.
Allow the list of registered factories to be cleared and reset at runtime.
Modify WebKitMediaKeys to notify the MediaPlayer when the keys object is added to a HTMLMediaElement.
Expose the pointer to the internal CDMPrivateInterface for use in WebKit.
- Modules/encryptedmedia/legacy/LegacyCDM.cpp:
(WebCore::LegacyCDM::platformRegisterFactories):
(WebCore::installedCDMFactories):
(WebCore::LegacyCDM::registerCDMFactory):
(WebCore::LegacyCDMFactoryForKeySystem):
(WebCore::LegacyCDM::supportsKeySystem):
(WebCore::LegacyCDM::keySystemSupportsMimeType):
(WebCore::LegacyCDM::LegacyCDM):
(WebCore::LegacyCDM::createSession):
- Modules/encryptedmedia/legacy/LegacyCDM.h:
- Modules/encryptedmedia/legacy/WebKitMediaKeys.cpp:
(WebCore::WebKitMediaKeys::setMediaElement):
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaEngineWasUpdated):
- platform/graphics/LegacyCDMSession.h:
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::setCDM):
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::setCDM):
- 8:38 PM Changeset in webkit [258099] by
-
- 2 edits in trunk/Source/WebCore
[GPUP] LayoutTest debug assertion crashes: InitDataRegistry::registerInitDataType() called mulitple times with same type
https://bugs.webkit.org/show_bug.cgi?id=208765
Reviewed by Simon Fraser.
Wrap calls to registerInitDataType() in a std::call_once, to ensure it's not called muliple times when
platformRegisterFactories() is called multiple times.
- platform/graphics/avfoundation/CDMFairPlayStreaming.cpp:
(WebCore::CDMFactory::platformRegisterFactories):
- 8:35 PM Changeset in webkit [258098] by
-
- 7 edits in trunk/Source
Generalize setSynchronousScrollingReasons() to take a ScrollingNodeID
https://bugs.webkit.org/show_bug.cgi?id=208774
Reviewed by Zalan Bujtas.
Source/WebCore:
We'll be calling setSynchronousScrollingReasons() for overflow nodes at some point,
so change the argument from FrameView to ScrollingNodeID.
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::updateSynchronousScrollingReasons):
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::setSynchronousScrollingReasons):
Source/WebKit:
Whitespace.
- WebProcess/WebPage/EventDispatcher.h:
- 8:20 PM Changeset in webkit [258097] by
-
- 35 edits1 move in trunk/Tools
Replace the use of term "rollout" to "revert" in various tools
https://bugs.webkit.org/show_bug.cgi?id=208775
Reviewed by Ryosuke Niwa.
See this webkit-dev thread for the originating discussion:
https://lists.webkit.org/pipermail/webkit-dev/2020-March/031132.html
'rollout' is a confusing term to anyone unacquainted with WebKit;
consensus seems to be that 'revert' would be the best replacement (as opposed to 'rollback').
Given the long legacy of this term within WebKit, it's important to deprecate and not remove 'rollout' commands.
As such, this patch aims to make 'revert' the preferred term everywhere without making 'rollout' fail.
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/Trac.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/model_unittests.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/trac_unittests.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions.js:
- BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/actions_unittests.js:
- BuildSlaveSupport/ews-build/steps.py:
- BuildSlaveSupport/ews-build/steps_unittest.py:
- Scripts/webkit-tools-completion.sh:
- Scripts/webkitpy/common/checkout/changelog_unittest.py:
- Scripts/webkitpy/common/checkout/checkout_unittest.py:
- Scripts/webkitpy/common/checkout/scm/svn.py:
- Scripts/webkitpy/common/net/bugzilla/attachment.py:
- Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:
- Scripts/webkitpy/tool/bot/commitqueuetask.py:
- Scripts/webkitpy/tool/bot/feeders.py:
- Scripts/webkitpy/tool/bot/feeders_unittest.py:
- Scripts/webkitpy/tool/bot/irc_command.py:
- Scripts/webkitpy/tool/bot/irc_command_unittest.py:
- Scripts/webkitpy/tool/bot/ircbot_unittest.py:
- Scripts/webkitpy/tool/bot/sheriff.py:
- Scripts/webkitpy/tool/commands/download.py:
- Scripts/webkitpy/tool/commands/download_unittest.py:
- Scripts/webkitpy/tool/commands/newcommitbot.py:
- Scripts/webkitpy/tool/commands/newcommitbot_unittest.py:
- Scripts/webkitpy/tool/commands/queues_unittest.py:
- Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
- Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
- Scripts/webkitpy/tool/steps/init.py:
- Scripts/webkitpy/tool/steps/postdiffforrevert.py:
- Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
- Scripts/webkitpy/tool/steps/preparechangelogforrevert_unittest.py:
- Scripts/webkitpy/tool/steps/reopenbugafterrevert.py: Renamed from Tools/Scripts/webkitpy/tool/steps/reopenbugafterrollout.py.
- 8:19 PM Changeset in webkit [258096] by
-
- 3 edits in trunk/Source/WebKit
Make PDF range requests to the network.
https://bugs.webkit.org/show_bug.cgi?id=208776
Reviewed by Alex Christensen.
We already handle a set of range requests from our data provider callbacks.
The current strategy is "wait until we've streamed enough of the entire resource,
perform that request's callback"
For linearized PDFs the second request ever made is for the very end of the PDF document,
so we have to wait for the entire document to load (which is what we already do in non-incremental mode)
Now, we'll actually make the requests for missing data chunks from the network by using the document's request
and adding range headers.
While it is now entirely misnamed, NetscapePlugInStreamLoader is a perfect fit for this.
Once the range request completes from the network we can unblock the PDF thread and go to the next request.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::unconditionalCompleteOutstandingRangeRequests):
(WebKit::PDFPlugin::getResourceBytesAtPosition):
(WebKit::PDFPlugin::ByteRangeRequest::clearStreamLoader):
(WebKit::PDFPlugin::ByteRangeRequest::completeWithBytes):
(WebKit::PDFPlugin::ByteRangeRequest::completeWithAccumulatedData):
(WebKit::PDFPlugin::ByteRangeRequest::maybeComplete):
(WebKit::PDFPlugin::ByteRangeRequest::completeUnconditionally):
(WebKit::PDFPlugin::willSendRequest):
(WebKit::PDFPlugin::didReceiveResponse):
(WebKit::PDFPlugin::didReceiveData):
(WebKit::PDFPlugin::didFail):
(WebKit::PDFPlugin::didFinishLoading):
(WebKit::PDFPlugin::byteRangeRequestForLoader):
(WebKit::PDFPlugin::cancelAndForgetLoader):
(WebKit::PDFPlugin::manualStreamDidReceiveData):
(WebKit::PDFPlugin::unconditionalCompleteRangeRequest): Deleted.
- 8:01 PM Changeset in webkit [258095] by
-
- 6 edits in trunk
Crash in -[_WKRemoteObjectRegistry _invokeMethod:] block when calling a reply block after the web view has deallocated
https://bugs.webkit.org/show_bug.cgi?id=208781
rdar://problem/60061016
Reviewed by Alex Christensen.
Source/WebKit:
Covered by API tests.
- Shared/API/Cocoa/_WKRemoteObjectRegistry.mm:
(-[_WKRemoteObjectRegistry _invokeMethod:]):
When the app calls a reply block for a message from the injected bundle, add a nil
check for the underlying WebKit::RemoteObjectRegistry before attempting to send the
reply details back to the web process. It's possible that before this block is
called, the associated web view could have been deallocated, which would invalidate
this _WKRemoteObjectRegistry.
Tools:
Add a test that recreates the conditions of this crash:
- Send a message from the injected bundle to the UI process that contains a reply block.
- Hold a reference to the reply block.
- Let the web view deallocate.
- Call the block, and expect not to crash.
- TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.h:
(localObjectInterface):
- TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistry.mm:
(-[LocalObject doSomethingWithCompletionHandler:]):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/RemoteObjectRegistryPlugIn.mm:
(-[RemoteObjectRegistryPlugIn callUIProcessMethodWithReplyBlock]):
- 7:58 PM Changeset in webkit [258094] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION: (r257760?) [ Mac wk2 Debug ] ASSERTION FAILED: child->parentObject() == this in WebCore::AccessibilityObject::insertChild
https://bugs.webkit.org/show_bug.cgi?id=208648
Reviewed by Chris Fleizach.
[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions] must
not update the backing store but instead just get the backing object.
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper textMarkerRangeFromVisiblePositions:endPosition:]):
- 7:52 PM Changeset in webkit [258093] by
-
- 5 edits in trunk
TextManipulationController should work with ARIA labels
https://bugs.webkit.org/show_bug.cgi?id=208759
Reviewed by Wenson Hsieh.
Source/WebCore:
This patch makes TextManipulationController work with a few ARIA content attributes.
It also makes observeParagraphs observe content across the entire document since canonicalizing
the starting position can end up skipping some content with ARIA.
Tests: TextManipulation.StartTextManipulationFindAttributeContent
TextManipulation.CompleteTextManipulationShouldReplaceAttributeContent
- editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::startObservingParagraphs): Now takes two Positions instead
of two VisiblePositions.
(WebCore::isAttributeForTextManipulation): Added.
(WebCore::TextManipulationController::observeParagraphs): Added the code to find elements with
ARIA attributes and a few other elements that don't generate RenderObject's.
(WebCore::TextManipulationController::scheduleObservartionUpdate):
(WebCore::TextManipulationController::addItem): Now takes ManipulationItemData instead of indivisual
fields in it.
(WebCore::TextManipulationController::replace): Added the logic to handle ManipulationItemData
that specify element and attributeName.
- editing/TextManipulationController.h:
(WebCore::TextManipulationController::ManipulationItemData): Added element and attributeName.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TextManipulation.StartTextManipulationFindAttributeContent): Added.
(TextManipulation.CompleteTextManipulationShouldPreserveOrderOfBlockImage): Updated
the expected number of tokens for the first item as the very first image is correctly
detected per the code change.
(TextManipulation.CompleteTextManipulationShouldReplaceAttributeContent): Added.
- 7:41 PM Changeset in webkit [258092] by
-
- 5 edits in trunk/Source
Adopt UIContextMenu for WKFileUploadPanel
https://bugs.webkit.org/show_bug.cgi?id=208687
Reviewed by Tim Horton.
Source/WebCore:
New string, no tests needed.
- en.lproj/Localizable.strings:
Source/WebKit:
Move from the depricated UIDocumentMenuViewController to UIContextMenu.
UI change, not currently testable.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel dealloc]):
(-[WKFileUploadPanel presentWithParameters:resultListener:]):
(-[WKFileUploadPanel dismiss]):
(-[WKFileUploadPanel _browseFilesButtonLabel]):
(-[WKFileUploadPanel contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKFileUploadPanel _contextMenuInteraction:styleForMenuWithConfiguration:]):
(-[WKFileUploadPanel contextMenuInteraction:configurationForMenuAtLocation:]):
(-[WKFileUploadPanel contextMenuInteraction:willEndForConfiguration:animator:]):
(-[WKFileUploadPanel _removeInteraction]):
(-[WKFileUploadPanel _initInteraction]):
(-[WKFileUploadPanel _showFilePickerMenu]):
(-[WKFileUploadPanel _showDocumentPickerMenu]):
(-[WKFileUploadPanel _presentPopoverWithContentViewController:animated:]):
(-[WKFileUploadPanel _presentFullscreenViewController:animated:]):
(photoLibraryIcon): Deleted.
(cameraIcon): Deleted.
(-[WKFileUploadPanel documentMenu:didPickDocumentPicker:]): Deleted.
(-[WKFileUploadPanel documentMenuWasCancelled:]): Deleted.
- 5:56 PM Changeset in webkit [258091] by
-
- 2 edits in trunk/Tools
Regression r258042: Failing API test TestWebKitAPI.URLSchemeHandler.Frames
https://bugs.webkit.org/show_bug.cgi?id=208767
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
The frameID of the main frame before loading is only 0 on Mac right now.
The test is still good because it validates that execution works in the main frame before loading.
- 5:20 PM Changeset in webkit [258090] by
-
- 2 edits in trunk/Source/WebKit
Use the feature flags mechanism to give default feature preference values
https://bugs.webkit.org/show_bug.cgi?id=208607
Reviewed by Simon Fraser.
Fix a Catalyst build failure (We should not copy the WebKit.plist for the Catalyst build).
- WebKit.xcodeproj/project.pbxproj:
- 4:38 PM Changeset in webkit [258089] by
-
- 2 edits in trunk/Source/WTF
[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>
Reviewed by Wenson Hsieh.
Part 5
Enable USE_DICTATION_ALTERNATIVES on iOS.
- wtf/PlatformUse.h:
- 4:33 PM Changeset in webkit [258088] by
-
- 3 edits in trunk/Source/WebKit
[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>
Reviewed by Brady Eidson.
Part 4
This patch was originally written by Morgan Winer. I just simplified it a bit and fixed some
formatting issues to conform to the code style guidelines.
Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.
- Platform/spi/ios/UIKitSPI.h: Expose more SPI.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView insertText:alternatives:style:]): Added.
- 4:30 PM Changeset in webkit [258087] by
-
- 11 edits in trunk/Source
[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>
Reviewed by Brent Fulgham.
Part 3
Source/WebCore:
Separate code that is actually USE(AUTOCORRECTION_PANEL)-specific from code that can also
be used when building with USE(DICTATION_ALTERNATIVES) enabled.
Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.
- SourcesCocoa.txt: Mark TextAlternativeWithRange.mm as @no-unify to fix build breakage when
a unified source file includes both TextAlternativeWithRange.mm and a file that ultimately
includes LengthBox.h (e.g. WebArchiveResourceFromNSAttributedString.mm). TextAlternativeWithRange.mm
ultimately includes SFNTLayoutTypes.h, which defines a Fixed type that conflicts with enumerator
Fixed (part of the LengthType enumeration) defined in Length.h. Ideally the LengthType enumeration
would be an enum class or scoped to Length to avoid this ambiguity. This would be a big change to do
and so for now I am fixing the build breakage using @no-unify.
- WebCore.xcodeproj/project.pbxproj: Add TextAlternativeWithRange.mm to the project now that
it is excluded from the unified build.
- editing/AlternativeTextController.cpp:
(WebCore::markerTypesForAppliedDictationAlternative):
(WebCore::AlternativeTextController::alternativeTextClient):
(WebCore::AlternativeTextController::markerDescriptionForAppliedAlternativeText):
(WebCore::AlternativeTextController::applyAlternativeTextToRange):
- editing/AlternativeTextController.h:
Source/WebKit:
Move code that was guarded under PLATFORM(MAC) outside of that guard so that we compile it
so long as USE(DICTATION_ALTERNATIVES) is enabled.
Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebPageProxy.h:
Source/WebKitLegacy/mac:
Guard code that requires USE(AUTOCORRECTION_PANEL) to be enabled. Specifically, -_showDictationAlternativeUI
calls -handleAcceptedAlternativeText, but the latter is only compiled in when USE(AUTOCORRECTION_PANEL)
is enabled.
Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.
- WebView/WebView.mm:
- 4:27 PM Changeset in webkit [258086] by
-
- 12 edits in trunk/Source
[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>
Reviewed by Wenson Hsieh.
Part 2
Source/WebCore:
Include UIKitSPI.h in TextAlternativeWithRange.mm to get the definition of NSTextAlternatives
when building for iOS. Also while I am here, fix up some code style issues and use uniform
initializer syntax.
Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.
- editing/mac/TextAlternativeWithRange.mm:
(WebCore::TextAlternativeWithRange::TextAlternativeWithRange):
Source/WebKit:
Move insertDictatedTextAsync() from the Mac-specific implementation files to Cocoa-specific
implementation files as it can be shared by both Mac and iOS. I did very minor C++ modernization:
just more uses of auto and uniform initializer syntax.
Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::insertDictatedTextAsync):
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebPageProxy.h:
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::insertDictatedTextAsync): Deleted.
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::insertDictatedTextAsync):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::insertDictatedTextAsync): Deleted.
- 4:26 PM Changeset in webkit [258085] by
-
- 13 edits1 copy2 moves1 add in trunk/Source
[iOS] Implement support for dictation alternatives
https://bugs.webkit.org/show_bug.cgi?id=208720
<rdar://problem/58540114>
Reviewed by Wenson Hsieh.
Part 1
Source/WebCore:
Rename editing/mac/AlternativeTextUIController.{h, mm} to editing/cocoa/AlternativeTextUIController.{h, mm}
as it can be shared by both Mac and iOS. I also took this opportunity to do some very minor modernization
and cleanup to these files: use =default constructors and put the * on the right side for Objective-C types.
Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- editing/cocoa/AlternativeTextContextController.h:
- editing/cocoa/AlternativeTextContextController.mm: Added.
(WebCore::AlternativeTextContextController::addAlternatives):
(WebCore::AlternativeTextContextController::alternativesForContext):
(WebCore::AlternativeTextContextController::removeAlternativesForContext):
(WebCore::AlternativeTextContextController::clear):
- editing/cocoa/AlternativeTextUIController.h: Renamed from Source/WebCore/editing/mac/AlternativeTextUIController.h.
- editing/cocoa/AlternativeTextUIController.mm: Renamed from Source/WebCore/editing/mac/AlternativeTextUIController.mm.
(WebCore::AlternativeTextUIController::addAlternatives):
(WebCore::AlternativeTextUIController::alternativesForContext):
(WebCore::AlternativeTextUIController::clear):
(WebCore::AlternativeTextUIController::showAlternatives):
(WebCore::AlternativeTextUIController::handleAcceptedAlternative):
(WebCore::AlternativeTextUIController::dismissAlternatives):
(WebCore::AlternativeTextUIController::removeAlternatives):
Source/WebCore/PAL:
Expose some more SPI.
- pal/spi/ios/UIKitSPI.h:
Source/WebKit:
Move some of the PageClientMac dictation alternatives code to PageClientImplCocoa so that it
can be shared with iOS.
Note that I haven't enable USE_DICTATION_ALTERNATIVES on iOS. So, this code isn't being
compiled for iOS. I will do that in a subsequent change once after all the code is in place
to do so.
- UIProcess/Cocoa/PageClientImplCocoa.h:
(WebKit::PageClientImplCocoa::PageClientImplCocoa): Deleted; moved to be out-of-line to avoid
needing to #include AlternativeTextUIController.h from this file. Declare out-of-line destructor
for the same reason.
- UIProcess/Cocoa/PageClientImplCocoa.mm:
(WebKit::PageClientImplCocoa::PageClientImplCocoa): Moved from PageClientImplCocoa.h.
(WebKit::PageClientImplCocoa::pageClosed):
(WebKit::PageClientImplCocoa::addDictationAlternatives): Moved from PageClientImplMac.mm.
(WebKit::PageClientImplCocoa::removeDictationAlternatives): Ditto.
(WebKit::PageClientImplCocoa::dictationAlternatives): Ditto.
- UIProcess/PageClient.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::showDictationAlternativeUI): Added; stub function.
(WebKit::PageClientImpl::pageClosed): Deleted; now we will use the base class implementation.
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::PageClientImpl): Moved AlternativeTextUIController logic from here to PageClientImplCocoa::PageClientImplCocoa().
(WebKit::PageClientImpl::pageClosed): Moved AlternativeTextUIController logic from here to PageClientImplCocoa::pageClosed()
so it can be shared and modified this function to call the base class implementation.
(WebKit::PageClientImpl::~PageClientImpl): Deleted; moved to PageClientImplCocoa.mm.
(WebKit::PageClientImpl::addDictationAlternatives): Deleted; moved to PageClientImplCocoa.mm.
(WebKit::PageClientImpl::removeDictationAlternatives): Deleted; moved to PageClientImplCocoa.mm.
(WebKit::PageClientImpl::dictationAlternatives): Deleted; moved to PageClientImplCocoa.mm.
- 4:14 PM Changeset in webkit [258084] by
-
- 3 edits in trunk/Tools
[ews] commit queue is not skipping layout tests for rollout patches
https://bugs.webkit.org/show_bug.cgi?id=208716
Unreviewed minor fix.
- BuildSlaveSupport/ews-build/steps.py:
(RunWebKitTests.doStepIf):
(RunWebKit1Tests.doStepIf): Moved to base class RunWebKitTests.
- BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-test.
- 3:20 PM Changeset in webkit [258083] by
-
- 3 edits in trunk/Source/WebCore
[CMake][Win] GenerateSettings.rb are invoked twice in WebCoreBindings.vcxproj and WebCoreTestSupportBindings.vcxproj
https://bugs.webkit.org/show_bug.cgi?id=208771
Reviewed by Konstantin Tokarev.
CMake Visual Studio generator put a custom command of
GenerateSettings.rb into both WebCoreBindings.vcxproj and
WebCoreTestSupportBindings.vcxproj because both projects are
using the generated files as source files. This causes
unnecessary recompilation.
The fundamental issue of this bug was fixed in CMake 3.12.
<https://gitlab.kitware.com/cmake/cmake/issues/16767>
All Windows ports are using newer CMake for Visual Studio 2019
support.
However, WebCoreTestSupportBindings needs to have a direct or
indirect dependency to WebCoreBindings for CMake Visual Studio
generator to eliminate duplicated custom commands. Otherwise,
GenerateSettings.rb will be triggered in both projects.
- CMakeLists.txt: Added a explicit dependency to WebCoreBindings
for WebCoreTestSupportBindings.
- WebCoreMacros.cmake: Removed stale comment.
- 3:19 PM Changeset in webkit [258082] by
-
- 24 edits in trunk/Source
Implement setWirelessPlaybackTarget, performTaskAtMediaTime, and wouldTaintOrigin in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=208651
<rdar://problem/60088298>
Reviewed by Youenn Fablet.
Source/WebCore:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::updateActiveTextTrackCues): Remove unused lambda parameter.
- platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::performTaskAtMediaTime): Make MediaTime parameter const ref
so it isn't copied.
- platform/graphics/MediaPlayer.h:
- platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::performTaskAtMediaTime): Ditto.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::performTaskAtMediaTime): Ditto.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::performTaskAtMediaTime): Ditto.
- platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:
(WebCore::VideoLayerManagerObjC::setVideoFullscreenLayer): Don't set inline image
contents if image is NULL.
Source/WebKit:
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::dispatchSyncMessage): Dispatch player manager messages.
- GPUProcess/media/RemoteMediaPlayerManagerProxy.cpp:
(WebKit::RemoteMediaPlayerManagerProxy::didReceiveSyncPlayerMessage): Dispatch player messages.
- GPUProcess/media/RemoteMediaPlayerManagerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::~RemoteMediaPlayerProxy): Clear the completion handler
do its destructor doesn't assert.
(WebKit::RemoteMediaPlayerProxy::setWirelessPlaybackTarget): Implement.
(WebKit::RemoteMediaPlayerProxy::performTaskAtMediaTime): Ditto.
(WebKit::RemoteMediaPlayerProxy::wouldTaintOrigin): Ditto.
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::updateCachedState): Update wireless playback target name.
(WebKit::MediaPlayerPrivateRemote::load): Don't log as unimplemented.
(WebKit::MediaPlayerPrivateRemote::wirelessPlaybackTargetName const): Return cached name.
(WebKit::MediaPlayerPrivateRemote::setWirelessPlaybackTarget): Implement.
(WebKit::MediaPlayerPrivateRemote::wouldTaintOrigin const): Ditto.
(WebKit::MediaPlayerPrivateRemote::performTaskAtMediaTime): Ditto.
(WebKit::MediaPlayerPrivateRemote::setClosedCaptionsVisible): Deleted, not needed.
(WebKit::MediaPlayerPrivateRemote::simulateAudioInterruption): Ditto.
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/RemoteMediaPlayerConfiguration.h:
(WebKit::RemoteMediaPlayerConfiguration::decode): Decode supportsFullscreen too.
- 2:53 PM Changeset in webkit [258081] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION (r258049): Unchecked JS exception in jsc::Stringifier::toJSON
https://bugs.webkit.org/show_bug.cgi?id=208766
Reviewed by Yusuke Suzuki.
- runtime/JSONObject.cpp:
(JSC::Stringifier::toJSON): Add missing RELEASE_AND_RETURN.
- 2:13 PM Changeset in webkit [258080] by
-
- 8 edits in trunk/Source
Add runtime flag for incremental PDF loading.
https://bugs.webkit.org/show_bug.cgi?id=208763
Reviewed by Tim Horton.
Source/WebCore:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setIncrementalPDFLoadingEnabled):
(WebCore::RuntimeEnabledFeatures::incrementalPDFLoadingEnabled const):
Source/WebKit:
- Shared/WebPreferences.yaml:
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultIncrementalPDFEnabled):
- Shared/WebPreferencesDefaultValues.h:
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::PDFPlugin):
(WebKit::PDFPlugin::pdfDocumentDidLoad):
(WebKit::PDFPlugin::manualStreamDidReceiveData):
(WebKit::PDFPlugin::manualStreamDidFail):
- 2:05 PM Changeset in webkit [258079] by
-
- 3 edits2 adds in trunk
[LFC][Verification] Use the table wrapper box's offset when matching out-of-flow tables
https://bugs.webkit.org/show_bug.cgi?id=208769
<rdar://problem/60191322>
Reviewed by Antti Koivisto.
Source/WebCore:
In LFC, an out-of-flow table initiates a wrapper table box (out-of-flow) and a child table box (in-flow).
Apply the wrapper table box's offset, when matching the display and the render tree.
Test: fast/layoutformattingcontext/absolute-positioned-simple-table2.html
- layout/Verification.cpp:
(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):
LayoutTests:
- fast/layoutformattingcontext/absolute-positioned-simple-table2-expected.html: Added.
- fast/layoutformattingcontext/absolute-positioned-simple-table2.html: Added.
- 1:56 PM Changeset in webkit [258078] by
-
- 3 edits2 adds in trunk
Remove bad assertion in FTLLowerDFGToB3's compileDelBy().
https://bugs.webkit.org/show_bug.cgi?id=208764
<rdar://problem/59940095>
Reviewed by Keith Miller.
JSTests:
- stress/delete-by-val-with-base-and-subscript-using-same-cell.js: Added.
- stress/delete-by-val-with-base-and-subscript-using-same-non-cell.js: Added.
Source/JavaScriptCore:
The assertion ASSERT(base.gpr() != params[2].gpr()) is wrong because it is legal
JS to pass in the same value as the base and subscript. The runtime will handle
it properly.
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileDelBy):
- 1:46 PM Changeset in webkit [258077] by
-
- 2 edits in trunk/Source/WebCore
Make Editor::applyEditingStyleToBodyElement do things in a straightforward manner
https://bugs.webkit.org/show_bug.cgi?id=208177
Reviewed by Wenson Hsieh.
- editing/Editor.cpp:
(WebCore::Editor::applyEditingStyleToBodyElement const): Use Document::body and
StyledElement::setInlineStyleProperty to apply styles to the body. The older code
was looping over all body elements in the document, for no good reason, and using
the CSS object model wrapper object for the styles, also for no good reason.
- 11:35 AM Changeset in webkit [258076] by
-
- 15 edits in trunk
Move JavaScriptCore related feature defines from FeatureDefines.xcconfig to PlatformEnableCocoa.h
https://bugs.webkit.org/show_bug.cgi?id=207436
<rdar://problem/59296762>
Reviewed by Darin Adler.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Remove JSC related defines.
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
Remove JSC related defines.
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Remove JSC related defines.
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
Remove JSC related defines.
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig:
Remove JSC related defines.
Source/WTF:
- wtf/PlatformEnable.h:
Add default values for ENABLE_FAST_JIT_PERMISSIONS and ENABLE_SEPARATED_WX_HEAP.
- wtf/PlatformEnableCocoa.h:
Added ENABLE_FAST_JIT_PERMISSIONS and ENABLE_INTL (from FeatureDefines.xcconfig), ENABLE_SEPARATED_WX_HEAP
(from PlatformEnable.h) and ENABLE_FTL_JIT (from both FeatureDefines.xcconfig and PlatformEnable.h).
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
Remove JSC related defines.
- 10:34 AM Changeset in webkit [258075] by
-
- 15 edits in trunk
AX: Provide a way to run tests in isolated tree mode
https://bugs.webkit.org/show_bug.cgi?id=208629
<rdar://problem/60075583>
Reviewed by Ryosuke Niwa.
Source/WebCore:
Now that we have a way to run this with tests, we don't need to allow usage for an unknown client.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::clientSupportsIsolatedTree):
Tools:
Provide the ability to run tests for accessibility in the isolated tree mode.
This sends a flag over to the injected bundle which calls the right HIServices override so that
the system thinks it is in isolated mode.
- Scripts/compare-webkit-configurations:
(flag_for_comparison):
- Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
- Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
(parse_args):
- Scripts/webkitpy/port/driver.py:
(Driver.cmd_line):
- WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::AccessibilityController):
(WTR::AccessibilityController::setAccessibilityIsolatedTreeMode):
(WTR::AccessibilityController::updateIsolatedTreeMode):
(WTR::AccessibilityController::executeOnAXThreadIfPossible):
- WebKitTestRunner/InjectedBundle/AccessibilityController.h:
- WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessageToPage):
(WTR::InjectedBundle::beginTesting):
- WebKitTestRunner/InjectedBundle/InjectedBundle.h:
- WebKitTestRunner/Options.cpp:
(WTR::handleOptionAccessibilityIsolatedTreeMode):
(WTR::OptionsHandler::OptionsHandler):
- WebKitTestRunner/Options.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::initialize):
(WTR::TestController::resetPreferencesToConsistentValues):
(WTR::TestController::resetStateToConsistentValues):
- WebKitTestRunner/TestController.h:
(WTR::TestController::accessibilityIsolatedTreeMode const):
- 10:26 AM Changeset in webkit [258074] by
-
- 3 edits in trunk/LayoutTests
Unreviewed test gardening.
Land results with new console log line numbers.
- http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt:
- http/tests/security/anchor-download-block-crossorigin-expected.txt:
- 9:52 AM Changeset in webkit [258073] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Use start-aligned horizontal adjustment when justify is not eligible.
https://bugs.webkit.org/show_bug.cgi?id=208762
<rdar://problem/60188433>
Reviewed by Antti Koivisto.
Make sure we apply "text-align: start" when "text-align: justify" is not eligible.
Currently "text-align: start" is a no-op, so no chnange in functionality (this might change in the future).
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::alignHorizontally):
(WebCore::Layout::LineBuilder::removeTrailingTrimmableContent):
- layout/inlineformatting/InlineLineBuilder.h:
(WebCore::Layout::LineBuilder::isTextAlignJustify const): Deleted.
(WebCore::Layout::LineBuilder::isTextAlignRight const): Deleted.
- 9:26 AM Changeset in webkit [258072] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed unified build fix; forward declare referenced types. In this case, WebCore::ImageData.
- WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h:
- 8:09 AM Changeset in webkit [258071] by
-
- 22 edits in trunk
[JSC] Enable public class fields
https://bugs.webkit.org/show_bug.cgi?id=208756
Reviewed by Mark Lam.
JSTests:
Rename useClassFields to usePublicClassFields to keep separate from usePrivateClassFields once
it is implemented.
- stress/big-int-as-property-name.js:
- stress/class-fields-bytecode-cache.js:
- stress/class-fields-computed-to-property-key.js:
- stress/class-fields-function-name.js:
- stress/class-fields-harmony.js:
- stress/class-fields-proxy-define-property.js:
- stress/class-fields-stress-instance.js:
- stress/class-fields-to-property-key-const-string-ftl.js:
- stress/class-fields-to-property-key-const-symbol-ftl.js:
- stress/class-fields-to-property-key-slow-object-tostring-ftl.js:
- stress/class-fields-to-property-key-slow-object-valueof-ftl.js:
- stress/class-fields-to-property-key-string-object-ftl.js:
- stress/class-fields-to-property-key-string-or-string-object-ftl.js:
- stress/generator-syntax.js:
- stress/method-name.js:
- test262/config.yaml:
Source/JavaScriptCore:
This patch turns public-class-fields feature on, implemented in r254653.
To separate from private-class-fields, this patch renames the flag from useClassFields to usePublicClassFields,
and first enable public-class-fields feature.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
- bytecompiler/NodesCodegen.cpp:
(JSC::FunctionCallValueNode::emitBytecode):
- parser/Parser.cpp:
(JSC::Parser<LexerType>::parseClass):
- runtime/OptionsList.h:
- 8:06 AM Changeset in webkit [258070] by
-
- 3 edits2 adds in trunk
[LFC][IFC] Do not text-align: justify the runs on the current line if they are followed by a forced break
https://bugs.webkit.org/show_bug.cgi?id=208761
<rdar://problem/59825136>
Reviewed by Antti Koivisto.
Source/WebCore:
https://www.w3.org/TR/css-text-3/#text-align-property
"Text is justified according to the method specified by the text-justify property,
in order to exactly fill the line box. Unless otherwise specified by text-align-last,
the last line before a forced break or the end of the block is start-aligned."
Test: fast/text/text-align-justify-and-forced-line-break.html
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::alignHorizontally):
LayoutTests:
- fast/text/text-align-justify-and-forced-line-break-expected.html: Added.
- fast/text/text-align-justify-and-forced-line-break.html: Added.
- 1:28 AM Changeset in webkit [258069] by
-
- 13 edits1 add in trunk/Source/WebKit
[GPU Process] Implement CanvasRenderingContext2D.getImageData()
https://bugs.webkit.org/show_bug.cgi?id=208560
<rdar://problem/60060618>
Reviewed by Said Abou-Hallawa.
Adds a new synchronous message between the Web Process and the GPU Process.
Unfortunately, getImageData() synchronously returns results, and we don't
have the infrastructure to make JavaScript interruptible, so this means that
the message has to be synchronous, at least until we add that infrastructure.
When the RemoteImageBuffer receives the getImageData() call, it first
asynchronously flushes the pending display list, doesn't wait for a response,
and then sends the synchronous getImageData() message. Because the GPU Process
receives messages in-order, the Web Process doesn't have to wait for the
response from the flush message.
After this patch, there are a few optimization opportunities we can exploit
where we use SharedBuffer directly instead of copying into and out of the
ImageData.
No new tests because there is no behavior change. We're just using the GPU
process now, instead of implementing the command locally in the Web Process.
- GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h:
- GPUProcess/graphics/RemoteImageBufferProxy.h:
- GPUProcess/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::getImageData):
- GPUProcess/graphics/RemoteRenderingBackendProxy.h:
- GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in:
- Platform/IPC/ImageDataReference.h: Added.
(IPC::ImageDataReference::ImageDataReference):
(IPC::ImageDataReference::buffer):
(IPC::ImageDataReference::buffer const):
(IPC::ImageDataReference::encode const):
(IPC::ImageDataReference::decode):
- Platform/IPC/MessageSender.h:
(IPC::MessageSender::sendSync):
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<RefPtr<WebCore::ImageData>>::encode):
(IPC::ArgumentCoder<RefPtr<WebCore::ImageData>>::decode):
- Shared/WebCoreArgumentCoders.h:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/graphics/RemoteImageBuffer.h:
- WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp:
(WebKit::RemoteImageBufferMessageHandler::getImageData const):
(WebKit::RemoteImageBufferMessageHandler::flushDrawingContext):
(WebKit::RemoteImageBufferMessageHandler::flushDrawingContextAndWaitCommit):
- WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h:
- 1:17 AM Changeset in webkit [258068] by
-
- 4 edits in trunk/Source/WebCore
REGRESSION(r257975): [GTK][WPE] Build failure after a clean build
https://bugs.webkit.org/show_bug.cgi?id=208711
Reviewed by Yusuke Suzuki.
Make sure that InternalSettingsGenerated,idl is generated before bindings
generation starts.
Also, make IDL preprocessor die if specified IDL file is missing, instead
of going on silently.
- CMakeLists.txt:
- WebCoreMacros.cmake:
- bindings/scripts/preprocess-idls.pl:
(getFileContents):
- 1:13 AM Changeset in webkit [258067] by
-
- 10 edits in trunk/Source/WebCore
AXIsolatedObject support for documentLinks.
https://bugs.webkit.org/show_bug.cgi?id=208734
Reviewed by Chris Fleizach.
- Expose documentLinks through the AXCoreObject interface, so that
wrapper code works for both AXObject and AXIsolatedObjects.
- Struct NodeChange now retains wrapper which was causing crash as the
wrapper was destroyed before it was attached to the IsolatedObject.
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityObjectInterface.h:
- accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::documentLinks):
(WebCore::AccessibilityRenderObject::getDocumentLinks): Deleted.
- accessibility/AccessibilityRenderObject.h:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::setFocusedNode):
(WebCore::AXIsolatedTree::applyPendingChanges):
- accessibility/isolatedtree/AXIsolatedTree.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
- 12:17 AM Changeset in webkit [258066] by
-
- 11 edits1 delete in trunk/Source
Unreviewed, rolling out r258047.
Referenced SPI not yet available for Safari builders.
Reverted changeset:
"Implementation of AccessibilitySupport AXSIsolatedTreeMode."
https://bugs.webkit.org/show_bug.cgi?id=208691
https://trac.webkit.org/changeset/258047
Mar 6, 2020:
- 11:39 PM Changeset in webkit [258065] by
-
- 4 edits2 adds2 deletes in trunk/LayoutTests
Fix original-crossorigin-applied.sub.html WPT test
https://bugs.webkit.org/show_bug.cgi?id=208119
Patch by Rob Buis <rbuis@igalia.com> on 2020-03-06
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Rename original-crossorigin-applied.sub.html to
image-loading-lazy-crossorigin-change.sub.html and change the
test to expect the latest rather than the original crossorigin
attribute value since crossorigin is a relevant mutation.
- web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-crossorigin-change.sub-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/image-loading-lazy-crossorigin-change.sub.html: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/original-crossorigin-applied.sub-expected.txt: Removed.
- web-platform-tests/html/semantics/embedded-content/the-img-element/original-crossorigin-applied.sub.html: Removed.
LayoutTests:
Skip test on mac-wk1 and win.
- platform/mac-wk1/TestExpectations:
- platform/win/TestExpectations:
- 10:58 PM Changeset in webkit [258064] by
-
- 26 edits1 copy1 move in trunk
[Cocoa] Re-enable CFPrefs direct mode
https://bugs.webkit.org/show_bug.cgi?id=208690
Reviewed by Brent Fulgham.
Source/WebKit:
This patch re-enabled CF prefs direct mode on iOS and macOS, and addresses performance issues and Accessibility issues
with the original patch. Performance issues are addressed by creating the NSUserDefaults objects in the UI process on
a non-main thread, while the Accessibility issues are fixed by issuing an extension to the preferences service when
Accessibility is enabled.
API test: WebKit.GrantAccessPreferencesService
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _grantAccessToPreferenceService]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/Cocoa/PreferenceObserver.mm:
(registerDefaultsOverride):
(-[WKUserDefaults _notifyObserversOfChangeFromValuesForKeys:toValuesForKeys:]):
(-[WKPreferenceObserver init]):
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::grantAccessToPreferenceService):
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitialize):
(WebKit::WebProcessPool::platformResolvePathsForSandboxExtensions):
(WebKit::WebProcessPool::platformInitializeWebProcess):
(WebKit::WebProcessPool::registerNotificationObservers):
- UIProcess/Cocoa/WebProcessProxyCocoa.mm:
(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded):
(WebKit::WebProcessProxy::unblockPreferenceServiceIfNeeded):
- UIProcess/WebPageProxy.h:
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didFinishLaunching):
- UIProcess/WebProcessProxy.h:
- UIProcess/ios/WebProcessProxyIOS.mm:
(WebKit::WebProcessProxy::unblockAccessibilityServerIfNeeded): Deleted.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::unblockAccessibilityServer): Deleted.
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
(WebKit::WebProcess::platformInitializeProcess):
(WebKit::WebProcess::unblockPreferenceService):
(WebKit::WebProcess::unblockAccessibilityServer):
- WebProcess/com.apple.WebProcess.sb.in:
Source/WTF:
- wtf/PlatformEnable.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/GrantAccessToPreferencesService.mm: Added.
(TEST):
- TestWebKitAPI/Tests/ios/AccessibilityTestsIOS.mm:
(TestWebKitAPI::TEST):
- 10:28 PM Changeset in webkit [258063] by
-
- 19 edits in trunk/Source/JavaScriptCore
Add "AndOrdered" to the names of ordered DoubleConditions.
https://bugs.webkit.org/show_bug.cgi?id=208736
Reviewed by Keith Miller.
Renamed the following:
DoubleEqual ==> DoubleEqualAndOrdered
DoubleNotEqual ==> DoubleNotEqualAndOrdered
DoubleGreaterThan ==> DoubleGreaterThanAndOrdered
DoubleGreaterThanOrEqual ==> DoubleGreaterThanOrEqualAndOrdered
DoubleLessThan ==> DoubleLessThanAndOrdered
DoubleLessThanOrEqual ==> DoubleLessThanOrEqualAndOrdered
The comment for these enums in MacroAssemblerARM64.h says:
These conditions will only evaluate to true if the comparison is ordered - i.e. neither operand is NaN.
Adding "AndOrdered" to their names makes this property explicit.
From reading the original names, one might intuitively think that these conditions
map directly to the C++ double comparisons. This intuition is incorrect.
Consider the DoubleNotEqual case: let's compare 2 doubles, a and b:
result = (a != b);
For C++, if either a or b are NaNs, then a != b will actually return true.
This is contrary to the behavior documented in the MacroAssemblerARM64.h comment
above about how DoubleNotEqual should behave. In our code, DoubleNotEqual actually
means DoubleNotEqualAndOrdered. The C++ != behavior actually matches our
DoubleNotEqualOrUnordered condition instead.
The tendency to want to associate DoubleNotEqual with the behavior of the C++
!= operator is precisely why we should give these conditions better names.
Adding the "AndOperand" name make the expected behavior explicit in the name, and
leave no room for confusion with C++ double comparison semantics.
- assembler/MacroAssembler.cpp:
(WTF::printInternal):
- assembler/MacroAssembler.h:
(JSC::MacroAssembler::invert):
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::moveConditionallyAfterFloatingPointCompare):
(JSC::MacroAssemblerARM64::moveDoubleConditionallyAfterFloatingPointCompare):
(JSC::MacroAssemblerARM64::jumpAfterFloatingPointCompare):
(JSC::MacroAssemblerARM64::floatingPointCompare):
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::branchDouble):
- assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::branchDouble):
(JSC::MacroAssemblerMIPS::branchDoubleNonZero):
- assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::branchDoubleNonZero):
(JSC::MacroAssemblerX86Common::moveConditionallyDouble):
(JSC::MacroAssemblerX86Common::invert):
(JSC::MacroAssemblerX86Common::floatingPointCompare):
(JSC::MacroAssemblerX86Common::jumpAfterFloatingPointCompare):
(JSC::MacroAssemblerX86Common::moveConditionallyAfterFloatingPointCompare):
- assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::truncateDoubleToUint64):
(JSC::MacroAssemblerX86_64::truncateFloatToUint64):
- assembler/testmasm.cpp:
(JSC::testCompareDouble):
(JSC::testCompareDoubleSameArg):
(JSC::testMoveConditionallyFloatingPoint):
(JSC::testMoveDoubleConditionallyDouble):
(JSC::testMoveDoubleConditionallyDoubleDestSameAsThenCase):
(JSC::testMoveDoubleConditionallyDoubleDestSameAsElseCase):
(JSC::testMoveDoubleConditionallyFloat):
(JSC::testMoveDoubleConditionallyFloatDestSameAsThenCase):
(JSC::testMoveDoubleConditionallyFloatDestSameAsElseCase):
(JSC::testMoveConditionallyFloatingPointSameArg):
(JSC::run):
- b3/B3LowerToAir.cpp:
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::compileClampDoubleToByte):
(JSC::DFG::SpeculativeJIT::compileArithRounding):
(JSC::DFG::SpeculativeJIT::compileArithMinMax):
(JSC::DFG::SpeculativeJIT::compileArithPow):
(JSC::DFG::SpeculativeJIT::compileStrictEq):
(JSC::DFG::SpeculativeJIT::compileArrayIndexOf):
(JSC::DFG::SpeculativeJIT::compileNormalizeMapKey):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNumberIsInteger):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::branchIfNotNaN):
- jit/JITArithmetic.cpp:
(JSC::JIT::emitSlow_op_jless):
(JSC::JIT::emitSlow_op_jlesseq):
(JSC::JIT::emitSlow_op_jgreater):
(JSC::JIT::emitSlow_op_jgreatereq):
- jit/JITArithmetic32_64.cpp:
(JSC::JIT::emitBinaryDoubleOp):
- jit/ThunkGenerators.cpp:
(JSC::floorThunkGenerator):
(JSC::roundThunkGenerator):
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Le>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Lt>):
(JSC::Wasm::AirIRGenerator::addFloatingPointMinOrMax):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Gt>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Ge>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Lt>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F64Eq>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Le>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Ge>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Eq>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::F32Gt>):
- 9:53 PM Changeset in webkit [258062] by
-
- 2 edits in trunk/Source/JavaScriptCore
REGRESSION (r258038): Build failure on Windows 10 bots
<https://bugs.webkit.org/show_bug.cgi?id=208731>
<rdar://problem/59222568>
- assembler/testmasm.cpp:
(JSC::testCompareDouble):
(JSC::testCompareDoubleSameArg):
(JSC::testMoveConditionallyFloatingPoint):
(JSC::testMoveConditionallyFloatingPointSameArg):
- Add RELEASE_ASSERT_NOT_REACHED() statements to try to fix the bots.
- 9:46 PM Changeset in webkit [258061] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
Flaky Test: editing/spelling/spellcheck-async.html
https://bugs.webkit.org/show_bug.cgi?id=160571
Reviewed by Ryosuke Niwa.
Second try to fix this crash; the WebEditorClient can go away before all the NSSpellChecker
callbacks are done (which happens off the main thread), so store a WeakPtr<WebEditorClient>.
We have to create the WeakPtr on the main thread, and it gets copied into the first block.
- WebCoreSupport/WebEditorClient.mm:
(-[WebEditorSpellCheckResponder initWithClient:sequence:results:]):
(-[WebEditorSpellCheckResponder perform]):
(WebEditorClient::requestCheckingOfString):
- 9:32 PM Changeset in webkit [258060] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r258051): WinCairo/WPE/GTK build failures
<https://bugs.webkit.org/show_bug.cgi?id=208621>
<rdar://problem/60068047>
- Headers.cmake:
(WebCore_PRIVATE_FRAMEWORK_HEADERS): Add html/ImageData.h to
attempt a build fix.
- 9:29 PM Changeset in webkit [258059] by
-
- 138 edits in trunk/Source
Put remaining fixed-sized cells into IsoSubspace
https://bugs.webkit.org/show_bug.cgi?id=208754
Reviewed by Keith Miller.
Source/JavaScriptCore:
Put remaining fixed-sized cells into IsoSubspace. Now all the fixed-sized cells have their own IsoSubspaces.
- JSArray (We need to care about RAMification number, or compensate RAMification regression with improvements).
- Inspector's objects
- All prototype objects have one IsoSubspace since they are plain objects.
- inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::JSInjectedScriptHost):
- inspector/JSInjectedScriptHost.h:
- inspector/JSInjectedScriptHostPrototype.h:
- inspector/JSJavaScriptCallFrame.cpp:
(Inspector::JSJavaScriptCallFrame::JSJavaScriptCallFrame):
- inspector/JSJavaScriptCallFrame.h:
- inspector/JSJavaScriptCallFramePrototype.h:
- jsc.cpp:
(JSC::Masquerader::subspaceFor):
(JSCMemoryFootprint::subspaceFor):
- runtime/ArrayIteratorPrototype.h:
- runtime/ArrayPrototype.h:
- runtime/AsyncFromSyncIteratorPrototype.h:
- runtime/AsyncFunctionPrototype.h:
- runtime/AsyncGeneratorFunctionPrototype.h:
- runtime/AsyncGeneratorPrototype.h:
- runtime/AsyncIteratorPrototype.h:
- runtime/AtomicsObject.h:
- runtime/BigIntPrototype.h:
- runtime/ConsoleObject.h:
- runtime/DatePrototype.h:
- runtime/ErrorPrototype.h:
- runtime/ExceptionHelpers.h:
- runtime/GeneratorFunctionPrototype.h:
- runtime/GeneratorPrototype.h:
- runtime/InspectorInstrumentationObject.h:
- runtime/IntlCollatorPrototype.h:
- runtime/IntlDateTimeFormatPrototype.h:
- runtime/IntlNumberFormatPrototype.h:
- runtime/IntlObject.h:
- runtime/IntlPluralRulesPrototype.h:
- runtime/IteratorPrototype.h:
- runtime/JSArray.h:
(JSC::JSArray::subspaceFor):
- runtime/JSArrayBufferPrototype.h:
- runtime/JSDataViewPrototype.h:
- runtime/JSDestructibleObject.h:
(JSC::JSDestructibleObject::subspaceFor): Deleted.
- runtime/JSGenericTypedArrayViewPrototype.h:
- runtime/JSModuleLoader.h:
- runtime/JSONObject.h:
- runtime/JSObject.h:
- runtime/JSObjectInlines.h:
(JSC::JSFinalObject::subspaceFor):
(JSC::JSObject::subspaceFor): Deleted.
- runtime/JSPromisePrototype.h:
(JSC::JSPromisePrototype::subspaceFor):
- runtime/JSTypedArrayViewPrototype.h:
- runtime/MapIteratorPrototype.h:
- runtime/MapPrototype.h:
- runtime/MathObject.h:
- runtime/NativeErrorPrototype.h:
- runtime/ObjectPrototype.h:
- runtime/ReflectObject.h:
- runtime/RegExpPrototype.h:
- runtime/RegExpStringIteratorPrototype.h:
- runtime/SetIteratorPrototype.h:
- runtime/SetPrototype.h:
- runtime/StringIteratorPrototype.h:
- runtime/SymbolPrototype.h:
- runtime/VM.cpp:
(JSC::VM::VM):
- runtime/VM.h:
- runtime/WeakMapPrototype.h:
- runtime/WeakObjectRefPrototype.h:
- runtime/WeakSetPrototype.h:
- tools/JSDollarVM.cpp:
- tools/JSDollarVM.h:
- wasm/js/JSWebAssembly.h:
- wasm/js/WebAssemblyCompileErrorPrototype.h:
- wasm/js/WebAssemblyGlobalPrototype.h:
- wasm/js/WebAssemblyInstancePrototype.h:
- wasm/js/WebAssemblyLinkErrorPrototype.h:
- wasm/js/WebAssemblyMemoryPrototype.h:
- wasm/js/WebAssemblyModulePrototype.h:
- wasm/js/WebAssemblyRuntimeErrorPrototype.h:
- wasm/js/WebAssemblyTablePrototype.h:
Source/WebCore:
- bindings/js/JSDOMIterator.h:
- bindings/scripts/CodeGeneratorJS.pm:
(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:
(WebCore::JSTestActiveDOMObjectConstructor::prototypeForStructure):
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::JSTestCallTracerConstructor::prototypeForStructure):
- 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.h:
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
- 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:
(WebCore::JSTestNamedSetterWithUnforgablePropertiesConstructor::prototypeForStructure):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor::prototypeForStructure):
- bindings/scripts/test/JS/JSTestNode.cpp:
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::construct):
- 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:
(WebCore::JSTestTypedefsConstructor::construct):
- 9:22 PM Changeset in webkit [258058] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: AXI: no way to expand/collapse sidebar sections with Tab navigation
https://bugs.webkit.org/show_bug.cgi?id=208562
<rdar://problem/60028941>
Reviewed by Devin Rousso.
- UserInterface/Views/DetailsSection.css:
(.details-section > .header):
(.details-section > .header::before):
Increase the height of the clickble area so it matches the height
of the header section.
(.details-section .header:focus):
(.details-section .header:focus::before):
Adjust the focus ring around the expand/collapse triangle so it has rounded corners.
- UserInterface/Views/DetailsSection.js:
(WI.DetailsSection):
(WI.DetailsSection.prototype._headerElementClicked):
(WI.DetailsSection.prototype._headerElementMouseDown):
(WI.DetailsSection.prototype._headerElementKeyPress):
- 9:11 PM Changeset in webkit [258057] by
-
- 5 edits in trunk/Source/WebInspectorUI
Web Inspector: AXI: scope bars should be focusable when navigating by pressing Tab
https://bugs.webkit.org/show_bug.cgi?id=208277
<rdar://problem/59828111>
Reviewed by Devin Rousso.
Make resource type filter in the Network tab and message type filter in the Console tab focusable.
- UserInterface/Views/AuditTestGroupContentView.css:
(.content-view.audit-test-group > header > nav):
(.content-view.audit-test-group > header > nav > .scope-bar):
Prevent outline of the focused scope bar item from clipping.
- UserInterface/Views/ScopeBar.css:
(.scope-bar > li:focus):
(.scope-bar > li:focus::after,):
- UserInterface/Views/ScopeBar.js:
(WI.ScopeBar):
(WI.ScopeBar.prototype._handleKeyDown):
Make Arrow Left an Arrow Right keys move focus within the scope bar.
This matches the behavior of macOS radio buttons.
- UserInterface/Views/ScopeBarItem.js:
(WI.ScopeBarItem.prototype.get scopeBar):
(WI.ScopeBarItem.prototype.set scopeBar):
(WI.ScopeBarItem.prototype.toggle):
(WI.ScopeBarItem.prototype._updateSelected):
(WI.ScopeBarItem.prototype._handleMouseDown):
(WI.ScopeBarItem.prototype._handleKeyDown):
Allow to toggle focused scope bar item by pressing Space or Enter.
- 9:05 PM Changeset in webkit [258056] by
-
- 2 edits in trunk/LayoutTests
[WPE] Garden some crashes and update expectation
Moving the webgl texture 2d failures to its own bug and gardening some
crashes.
Unreviewed gardening.
- platform/wpe/TestExpectations:
- 9:02 PM Changeset in webkit [258055] by
-
- 7 edits2 copies2 adds in trunk
Fix scrolling tree hit-testing on scrolled and zoomed pages
https://bugs.webkit.org/show_bug.cgi?id=208755
Reviewed by Zalan Bujtas.
Source/WebCore:
Map the hit-test point from view to content coordinates before hit-testing the scrolling tree.
Tests: fast/scrolling/mac/overflow-scrolled-document.html
fast/scrolling/mac/overflow-zoomed-document.html
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::handleWheelEvent):
LayoutTests:
New tests for scrolled and zoomed documents.
Fix existing tests which used window.scrollTop = 0, which is not a thing.
- fast/scrolling/mac/absolute-in-overflow-scroll.html:
- fast/scrolling/mac/async-scroll-overflow.html:
- fast/scrolling/mac/move-node-in-overflow-scroll.html:
- fast/scrolling/mac/overflow-scrolled-document-expected.txt: Added.
- fast/scrolling/mac/overflow-scrolled-document.html: Copied from LayoutTests/fast/scrolling/mac/async-scroll-overflow.html.
- fast/scrolling/mac/overflow-zoomed-document-expected.txt: Added.
- fast/scrolling/mac/overflow-zoomed-document.html: Copied from LayoutTests/fast/scrolling/mac/async-scroll-overflow.html.
- fast/scrolling/mac/overlapped-overflow-scroll.html:
- 8:48 PM Changeset in webkit [258054] by
-
- 15 edits in trunk
UIProcess needs mechanism to specify AppBound domains
https://bugs.webkit.org/show_bug.cgi?id=208528
<rdar://problem/59980340>
Reviewed by Brent Fulgham.
Source/WebKit:
Adds functionality to read app-bound domains from the Info.plist on
background thread via the WebFramePolicyListenerProxy and report
whether a domain is app-bound.
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _appBoundDomains:]):
- UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
Test API call to get appBoundDomains.
- UIProcess/WebFramePolicyListenerProxy.cpp:
(WebKit::WebFramePolicyListenerProxy::WebFramePolicyListenerProxy):
(WebKit::WebFramePolicyListenerProxy::didReceiveAppBoundDomainResult):
(WebFramePolicyListenerProxy::didReceiveSafeBrowsingResults):
(WebFramePolicyListenerProxy::use):
(WebFramePolicyListenerProxy::download):
(WebFramePolicyListenerProxy::ignore):
- UIProcess/WebFramePolicyListenerProxy.h:
(WebKit::WebFramePolicyListenerProxy::create):
- UIProcess/WebFrameProxy.cpp:
(WebKit::WebFrameProxy::setUpPolicyListenerProxy):
- UIProcess/WebFrameProxy.h:
- UIProcess/WebPageProxy.cpp:
Added a new function to WebFramePolicyListenerProxy to wait for the
app-bound domains to be read before completing a navigation. Each
other function must now check if m_isNavigatingToAppBoundDomain has
been set before sending a full reply. Also added an enum class
ShouldExpectAppBoundDomainResult to tell the listener not to wait for
the results in unecessary cases.
(WebKit::WebPageProxy::isAppBoundDomain const): Deleted
(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomain):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
After the listener responds with the results, set the new
value in WebPageProxy. We no longer need to check for isAppBound
domain now that we have received the value.
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponseShared):
No need to listen for app-bound domain response here.
- UIProcess/WebPageProxy.h:
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::appBoundDomains):
(WebKit::appBoundDomainQueue):
Add a separate static queue for reading app-bound domains to avoid
raciness.
(WebKit::WebsiteDataStore::beginAppBoundDomainCheck):
(WebKit::WebsiteDataStore::getAppBoundDomainsForTesting):
- UIProcess/WebsiteData/WebsiteDataStore.h:
Read the app-bound domain list on the background thread, and once
done, call the listener on the main thread.
Tools:
Added test app-bound domains to the plist and tested that the domains
are properly stored in the website data store after a navigation.
- TestWebKitAPI/Info.plist:
- TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm:
(TEST):
- 8:32 PM Changeset in webkit [258053] by
-
- 2 edits in trunk/Source/WebKit
IPC hardening for WebPageProxy::SaveImageToLibrary message
<https://webkit.org/b/208730>
<rdar://problem/58700693>
Reviewed by Chris Dumez.
- UIProcess/ios/WebPageProxyIOS.mm:
(MESSAGE_CHECK): Define macro only for methods in this source file.
(WebKit::WebPageProxy::saveImageToLibrary):
- Make sure the shared memory handle sent over IPC is not null.
- Make sure the image size sent over IPC is not zero.
- Null check the SharedMemory object after calling SharedMemory::map().
- 8:07 PM Changeset in webkit [258052] by
-
- 29 edits in trunk
Add SPI to disable cross origin access control checks
https://bugs.webkit.org/show_bug.cgi?id=208748
Source/WebCore:
<rdar://problem/59861114>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-03-06
Reviewed by Tim Hatcher.
Because loading is done process-globally in the WebProcess, use a CrossOriginAccessControlCheckDisabler::singleton for those checks.
Pass a parameter to the NetworkResourceLoaders to disable these checks only for loads from a web process without access control checks.
As long as we're changing the signature of passesAccessControlCheck, make it return an Expected instead of a bool with an out parameter.
- loader/CrossOriginAccessControl.cpp:
(WebCore::CrossOriginAccessControlCheckDisabler::singleton):
(WebCore::CrossOriginAccessControlCheckDisabler::setCrossOriginAccessControlCheckEnabled):
(WebCore::CrossOriginAccessControlCheckDisabler::crossOriginAccessControlCheckEnabled const):
(WebCore::passesAccessControlCheck):
(WebCore::validatePreflightResponse):
- loader/CrossOriginAccessControl.h:
- loader/CrossOriginPreflightChecker.cpp:
(WebCore::CrossOriginPreflightChecker::validatePreflightResponse):
- loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
- loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequestInternal):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::checkResponseCrossOriginAccessControl):
(WebCore::SubresourceLoader::checkRedirectionCrossOriginAccessControl):
- loader/SubresourceLoader.h:
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::loadFrom):
Source/WebKit:
<rdar://problem/59861114>
Patch by Alex Christensen <achristensen@webkit.org> on 2020-03-06
Reviewed by Tim Hatcher.
- NetworkProcess/NetworkCORSPreflightChecker.cpp:
(WebKit::NetworkCORSPreflightChecker::NetworkCORSPreflightChecker):
(WebKit::NetworkCORSPreflightChecker::didCompleteWithError):
- NetworkProcess/NetworkCORSPreflightChecker.h:
- NetworkProcess/NetworkLoadChecker.cpp:
(WebKit::NetworkLoadChecker::NetworkLoadChecker):
(WebKit::NetworkLoadChecker::validateResponse):
(WebKit::NetworkLoadChecker::checkCORSRequestWithPreflight):
- NetworkProcess/NetworkLoadChecker.h:
- NetworkProcess/NetworkResourceLoadParameters.cpp:
(WebKit::NetworkResourceLoadParameters::encode const):
(WebKit::NetworkResourceLoadParameters::decode):
- NetworkProcess/NetworkResourceLoadParameters.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::crossOriginAccessControlCheckEnabled const):
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/PingLoad.cpp:
(WebKit::PingLoad::PingLoad):
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::copy const):
- UIProcess/API/APIPageConfiguration.h:
(API::PageConfiguration::crossOriginAccessControlCheckEnabled const):
(API::PageConfiguration::setCrossOriginAccessControlCheckEnabled):
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _setCrossOriginAccessControlCheckEnabled:]):
(-[WKWebViewConfiguration _crossOriginAccessControlCheckEnabled]):
- UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- UIProcess/WebPageProxy.cpp:
- WebProcess/Network/WebLoaderStrategy.cpp:
(WebKit::addParametersShared):
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):
(WebKit::WebLoaderStrategy::startPingLoad):
(WebKit::addParametersFromFrame): Deleted.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_processDisplayName):
Tools:
Patch by Alex Christensen <achristensen@webkit.org> on 2020-03-06
Reviewed by Tim Hatcher.
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
Add a test that verifies this SPI allows Access-Control-Allow-Origin: * with credentials.
- 7:34 PM Changeset in webkit [258051] by
-
- 20 edits2 adds in trunk
[GPU Process] Implement CanvasRenderingContext2D.putImageData()
https://bugs.webkit.org/show_bug.cgi?id=208621
<rdar://problem/60068047>
Reviewed by Simon Fraser.
Source/WebCore:
putImageData() is implemented just as a DisplayListItem. Conceptually, it's the
same as a draw command. Unfortunately, it can't be implemented on top of
GraphicsContext, and instead has to be implemented on top of ImageBuffer, so
this patch also adds a delegate to DisplayList::Replayer which can implement the
commands that require an ImageBuffer. This moves in the direction of making the
display list raw data, and moving the applier functions somewhere else at a
higher level.
Implementing this as a DisplayListItem rather than its own IPC message is superior
because it gives us more control about when to flush the in-flight display list.
There is still a few unnecessary copies - we're copying into / out of a SharedData
during encoding. Being able to either have the ImageBuffer retain the SharedBuffer,
or have putImageData() have an overload which accepts a SharedBuffer, would be a
good opportunity for improvement.
Test: fast/canvas/putImageData-multiple.html
- html/ImageData.cpp:
(WebCore::ImageData::deepClone const):
- html/ImageData.h:
- platform/graphics/AlphaPremultiplication.h:
- platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::impl):
- platform/graphics/displaylists/DisplayList.h:
- platform/graphics/displaylists/DisplayListDrawingContext.cpp:
(WebCore::DisplayList::DrawingContext::recorder):
- platform/graphics/displaylists/DisplayListDrawingContext.h:
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::Item::sizeInBytes):
(WebCore::DisplayList::PutImageData::PutImageData):
(WebCore::DisplayList::PutImageData::apply const):
(WebCore::DisplayList::operator<<):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawingItem::globalBounds const):
(WebCore::DisplayList::PutImageData::create):
(WebCore::DisplayList::PutImageData::inputFormat const):
(WebCore::DisplayList::PutImageData::imageData const):
(WebCore::DisplayList::PutImageData::srcRect const):
(WebCore::DisplayList::PutImageData::destPoint const):
(WebCore::DisplayList::PutImageData::encode const):
(WebCore::DisplayList::PutImageData::decode):
(WebCore::DisplayList::Item::encode const):
(WebCore::DisplayList::Item::decode):
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::putImageData):
(WebCore::DisplayList::Recorder::updateItemExtent const):
- platform/graphics/displaylists/DisplayListRecorder.h:
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::Replayer::Replayer):
(WebCore::DisplayList::Replayer::replay):
- platform/graphics/displaylists/DisplayListReplayer.h:
(WebCore::DisplayList::Replayer::Delegate::~Delegate):
(WebCore::DisplayList::Replayer::Delegate::apply):
Source/WebKit:
- GPUProcess/graphics/RemoteImageBufferProxy.h:
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<Ref<WebCore::SharedBuffer>>::encode):
(IPC::ArgumentCoder<Ref<WebCore::SharedBuffer>>::decode):
(IPC::ArgumentCoder<Ref<WebCore::ImageData>>::encode):
(IPC::ArgumentCoder<Ref<WebCore::ImageData>>::decode):
- Shared/WebCoreArgumentCoders.h:
- WebProcess/GPU/graphics/RemoteImageBuffer.h:
(WebKit::RemoteImageBuffer::putImageData):
LayoutTests:
- fast/canvas/putImageData-multiple-expected.html: Added.
- fast/canvas/putImageData-multiple.html: Added.
- 7:04 PM Changeset in webkit [258050] by
-
- 20 edits3 copies15 adds in trunk
Add support for inserting and removing a text placeholder
https://bugs.webkit.org/show_bug.cgi?id=208661
<rdar://problem/59371073>
Reviewed by Simon Fraser and Ryosuke Niwa.
Source/WebCore:
Implements the concept of a text placeholder, which is an element that acts like whitespace:
it takes up space in the page layout, but has no visual appearance.
Tests: editing/text-placeholder/insert-and-remove-into-text-field.html
editing/text-placeholder/insert-into-content-editable.html
editing/text-placeholder/insert-into-empty-text-field.html
editing/text-placeholder/insert-into-text-field-in-iframe.html
editing/text-placeholder/insert-into-text-field.html
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- dom/Element.h:
(WebCore::Element::isTextPlaceholderElement const): Added. Defaults to false. I override this
in TextPlaceholderElement.h.
- editing/Editor.cpp:
(WebCore::Editor::insertTextPlaceholder):
(WebCore::Editor::removeTextPlaceholder):
Insert a new placeholder or remove an existing one.
- editing/Editor.h:
- html/shadow/TextPlaceholderElement.cpp: Added.
(WebCore::TextPlaceholderElement::create):
(WebCore::TextPlaceholderElement::TextPlaceholderElement): Set inline styles to size the placeholder.
(WebCore::TextPlaceholderElement::insertedIntoAncestor): If the placeholder is inserted inside an
HTMLTextFormControlElement (e.g. <input> or <textarea>) then hide the HTML placeholder text.
(WebCore::TextPlaceholderElement::removedFromAncestor): If the placeholder was removed from inside
an HTMLTextFormControlElement then show the HTML placeholder text.
- html/shadow/TextPlaceholderElement.h:
(isType):
- testing/Internals.cpp:
(WebCore::Internals::insertTextPlaceholder): Added.
(WebCore::Internals::removeTextPlaceholder): Added.
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
Implements the UITextInput protocol functions -insertTextPlaceholderWithSize and -removeTextPlaceholder.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView insertTextPlaceholderWithSize:completionHandler:]):
(-[WKContentView removeTextPlaceholder:willInsertText:completionHandler:]):
Implement more of the UITextInput protocol. These functions turn around and call
the corresponding WebPageProxy functions.
- UIProcess/ios/WKTextPlaceholder.h:
- UIProcess/ios/WKTextPlaceholder.mm: Added.
(-[WKTextPlaceholder initWithElementContext:]):
(-[WKTextPlaceholder elementContext]):
(-[WKTextPlaceholder rects]):
- UIProcess/ios/WKTextSelectionRect.h: Remove an unncessary #pragma once since I am here.
This file is only included from Objective-C/C++ files so that #pragma is unnecessary.
- UIProcess/ios/WKTextSelectionRect.mm:
(-[WKTextSelectionRect initWithCGRect:]): Added.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::insertTextPlaceholder): Added
(WebKit::WebPageProxy::removeTextPlaceholder): Added.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in: Add new messages to insert and remove a placeholder.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::insertTextPlaceholder):
(WebKit::WebPage::removeTextPlaceholder):
Turn around and call the corresponding Editor functions.
LayoutTests:
Add tests to ensure that inserting and removing a placeholder work.
- editing/text-placeholder/insert-and-remove-into-text-field-expected.html: Added.
- editing/text-placeholder/insert-and-remove-into-text-field.html: Added.
- editing/text-placeholder/insert-into-content-editable-expected.html: Added.
- editing/text-placeholder/insert-into-content-editable.html: Added.
- editing/text-placeholder/insert-into-empty-text-field-expected.html: Added.
- editing/text-placeholder/insert-into-empty-text-field.html: Added.
- editing/text-placeholder/insert-into-text-field-expected.html: Added.
- editing/text-placeholder/insert-into-text-field-in-iframe-expected.html: Added.
- editing/text-placeholder/insert-into-text-field-in-iframe.html: Added.
- editing/text-placeholder/insert-into-text-field.html: Added.
- editing/text-placeholder/resources/insert-into-text-field-in-iframe.html: Added.
- editing/text-placeholder/resources/test.css: Added.
(@font-face):
(.test):
- 7:02 PM Changeset in webkit [258049] by
-
- 4 edits2 adds in trunk
JSON.stringify should call replacer on deleted properties
https://bugs.webkit.org/show_bug.cgi?id=208725
Reviewed by Ross Kirsling.
JSTests:
- microbenchmarks/json-stringify-many-objects-to-json.js: Added.
- microbenchmarks/json-stringify-many-objects.js: Added.
- test262/expectations.yaml: Mark 2 test cases as passing.
Source/JavaScriptCore:
This change removes extra
hasProperty
check fromappendNextProperty
as
it does not exist in the spec [1], aligning JSC with V8 and SpiderMonkey.
This patch also replaces 3 usages of
getPropertySlot
with semantically
equivalent (yet more concise)get
and inlinestoJSONImpl
(this change
is performance-neutral).
[1]: https://tc39.es/ecma262/#sec-serializejsonobject (steps 6, 8.a)
- runtime/JSONObject.cpp:
(JSC::Stringifier::toJSON):
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Stringifier::toJSONImpl): Deleted.
- 6:25 PM Changeset in webkit [258048] by
-
- 2 edits in trunk/Source/WebKitLegacy/mac
Flaky Test: editing/spelling/spellcheck-async.html
https://bugs.webkit.org/show_bug.cgi?id=160571
Reviewed by Tim Horton.
The old code called -performSelector:target:... with an autoreleased target,
and nothing keeps the target alive until the call to -perform on the main thread.
Change this to a block which copies in a RetainPtr<> to make ownership clearer
and fix the crash.
- WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCheckingOfString):
- 6:06 PM Changeset in webkit [258047] by
-
- 11 edits1 add in trunk/Source
Implementation of AccessibilitySupport AXSIsolatedTreeMode.
https://bugs.webkit.org/show_bug.cgi?id=208691
Reviewed by Chris Fleizach.
Source/WebCore:
Support for the AccessibilitySupport AXIsolatedTreMode accessibility setting.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::isolatedTreeFocusedObject):
(WebCore::AXObjectCache::focusedUIElementForPage):
(WebCore::AXObjectCache::isIsolatedTreeEnabled):
(WebCore::AXObjectCache::rootObject):
(WebCore::AXObjectCache::isolatedTreeRootObject):
(WebCore::AXObjectCache::canUseSecondaryAXThread):
- accessibility/AXObjectCache.h:
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase detach]):
(-[WebAccessibilityObjectWrapperBase axBackingObject]):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
Source/WebCore/PAL:
- pal/spi/cocoa/AccessibilitySupportSPI.h:
Added constants and prototypes used in AXIsolatedTreeMode support.
Source/WebKit:
- WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
(-[WKAccessibilityWebPageObject accessibilityHitTest:]):
Honors AXIsolatedTreeMode setting.
- 6:04 PM Changeset in webkit [258046] by
-
- 2 edits in trunk/Source/WebCore/PAL
Use the feature flags mechanism to give default feature preference values
https://bugs.webkit.org/show_bug.cgi?id=208607
Reviewed by Simon Fraser.
A follow up patch to fix a build error on old SDKs.
- pal/spi/cocoa/FeatureFlagsSPI.h:
- 5:53 PM Changeset in webkit [258045] by
-
- 3 edits in trunk/Tools
[webkitpy] Fix executive on Windows to run wpt server correctly
https://bugs.webkit.org/show_bug.cgi?id=208693
Reviewed by Jonathan Bedard.
Bug fix for Windows environment a) fixing a typo. b) fixing path
c) fix how to kill subprocesses.
- Scripts/webkitpy/common/system/executive.py:
(Executive._windows_kill_command):
(Executive.interrupt):
(Executive.kill_all):
- Scripts/webkitpy/port/base.py:
(Port.web_platform_test_server_doc_root):
- 5:45 PM Changeset in webkit [258044] by
-
- 17 edits8 adds in trunk
Hit-test CALayers on the scrolling thread for async frame/overflow scrolling
https://bugs.webkit.org/show_bug.cgi?id=208740
<rdar://problem/48028836>
Reviewed by Tim Horton.
Source/WebCore:
Implement hit-testing in the scrolling thread so we can determine which overflow/subframe
to scroll without hitting the main thread.
ScrollingTreeMac overrides scrollingNodeForPoint() and hit-tests through CALayers, starting at the
root content layer. Locking ensures that the CALayer tree doesn't change while we're hit-testing it.
We collect layers for the given point in back-to-front order much like the iOS code _web_findDescendantViewAtPoint
(too different to share though), and consult event regions on PlatformCALayerCocoa's to determine if the
point is inside the part of the layer that should receive events.
To handle the complex stacking/containing block cases, isScrolledBy() consults the scrolling tree.
For testing, fix it so that multiple calls to monitorWheelEvents() in a single test each start
with clean state.
Tests: fast/scrolling/mac/absolute-in-overflow-scroll.html
fast/scrolling/mac/async-scroll-overflow.html
fast/scrolling/mac/move-node-in-overflow-scroll.html
fast/scrolling/mac/overlapped-overflow-scroll.html
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::handleWheelEvent):
(WebCore::ScrollingTree::scrollingNodeForPoint):
- page/scrolling/ScrollingTree.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeMac.h:
- page/scrolling/mac/ScrollingTreeMac.mm:
(collectDescendantLayersAtPoint):
(scrollingNodeIDForLayer):
(isScrolledBy):
(ScrollingTreeMac::scrollingNodeForPoint):
- testing/js/WebCoreTestSupport.cpp:
(WebCoreTestSupport::monitorWheelEvents): Make sure that each call to eventSender.monitorWheelEvents() clears previous state.
Source/WebKit:
Make sure that each call to eventSender.monitorWheelEvents() clears previous state.
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageStartMonitoringScrollOperations):
LayoutTests:
Add some UIHelper functions for mousewheel scrolling, and use them in new tests.
Fix some old malformed expectations.
- fast/scrolling/ios/hit-testing-iframe-001-expected.html: Was malformed.
- fast/scrolling/ios/hit-testing-iframe-002-expected.html:
- fast/scrolling/ios/hit-testing-iframe-003-expected.html:
- fast/scrolling/ios/hit-testing-iframe-004-expected.html:
- fast/scrolling/ios/hit-testing-iframe-005-expected.html:
- fast/scrolling/ios/hit-testing-iframe-006-expected.html:
- fast/scrolling/mac/absolute-in-overflow-scroll-expected.txt: Added.
- fast/scrolling/mac/absolute-in-overflow-scroll.html: Added.
- fast/scrolling/mac/async-scroll-overflow-expected.txt: Added.
- fast/scrolling/mac/async-scroll-overflow.html: Added.
- fast/scrolling/mac/move-node-in-overflow-scroll-expected.txt: Added.
- fast/scrolling/mac/move-node-in-overflow-scroll.html: Added.
- fast/scrolling/mac/overlapped-overflow-scroll-expected.txt: Added.
- fast/scrolling/mac/overlapped-overflow-scroll.html: Added.
- resources/ui-helper.js:
(window.UIHelper.async mouseWheelScrollAt):
(window.UIHelper.async animationFrame):
- 5:44 PM Changeset in webkit [258043] by
-
- 3 edits in trunk/Source/WebKit
Some PDFPlugin cleanup in prep for incremental loading.
https://bugs.webkit.org/show_bug.cgi?id=208698
Reviewed by Alex Christensen.
- The frame is never cleared, so make it a reference.
- Use a new "number of streamed bytes" variable instead of grabbing m_data's length, as m_data will soon become a "sparse" data buffer
Refactor only.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::PDFPlugin):
(WebKit::PDFPlugin::unconditionalCompleteRangeRequest):
(WebKit::PDFPlugin::getResourceBytesAtPosition):
(WebKit::PDFPlugin::updateScrollbars):
(WebKit::PDFPlugin::createScrollbar):
(WebKit::PDFPlugin::isActive const):
(WebKit::PDFPlugin::forceUpdateScrollbarsOnMainThreadForPerformanceTesting const):
(WebKit::PDFPlugin::jsPDFDocPrint):
(WebKit::PDFPlugin::installPDFDocument):
(WebKit::PDFPlugin::streamDidReceiveData):
(WebKit::PDFPlugin::manualStreamDidReceiveData):
(WebKit::PDFPlugin::updatePageAndDeviceScaleFactors):
(WebKit::PDFPlugin::willDetachRenderer):
(WebKit::PDFPlugin::destroy):
(WebKit::PDFPlugin::paintControlForLayerInContext):
(WebKit::PDFPlugin::convertFromPDFViewToScreen const):
(WebKit::PDFPlugin::boundsOnScreen const):
(WebKit::PDFPlugin::showContextMenuAtPoint):
(WebKit::PDFPlugin::handleContextMenuEvent):
(WebKit::PDFPlugin::isFullFramePlugin const):
(WebKit::PDFPlugin::handlesPageScaleFactor const):
(WebKit::PDFPlugin::clickedLink):
(WebKit::PDFPlugin::saveToPDF):
(WebKit::PDFPlugin::openWithNativeApplication):
(WebKit::PDFPlugin::showDefinitionForAttributedString):
(WebKit::PDFPlugin::notifySelectionChanged):
(WebKit::PDFPlugin::notifyCursorChanged):
(WebKit::PDFPlugin::axObjectCache const):
(WebKit::PDFPlugin::performWebSearch):
(WebKit::PDFPlugin::performSpotlightSearch):
- 5:35 PM Changeset in webkit [258042] by
-
- 4 edits in trunk
Evaluating JavaScript in main frame before loading should succeed
https://bugs.webkit.org/show_bug.cgi?id=208733
Patch by Alex Christensen <achristensen@webkit.org> on 2020-03-06
Reviewed by Tim Horton.
Source/WebKit:
This fixes a bug in the SPI I introduced in r257882 with a test.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _evaluateJavaScript:asAsyncFunction:withArguments:forceUserGesture:inFrame:inWorld:completionHandler:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
- 5:31 PM Changeset in webkit [258041] by
-
- 5 edits in trunk/Source/WebKit
Expand the feature flags mechanism with additional default feature preference values
https://bugs.webkit.org/show_bug.cgi?id=208737
<rdar://problem/60109390>
Reviewed by Simon Fraser.
No new tests, no functional change.
Update the new default feature preference implementation with additional flags
that would benefit from this approach.
- FeatureFlags/WebKit.plist:
- Shared/WebPreferences.yaml:
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultInAppBrowserPrivacy):
(WebKit::defaultWebGPUEnabled):
- Shared/WebPreferencesDefaultValues.h:
- 5:25 PM Changeset in webkit [258040] by
-
- 10 edits in trunk/Source
[GPUP] Convert CDMFactory away from platformStrategies() and use WebProcess settings instead
https://bugs.webkit.org/show_bug.cgi?id=208699
Reviewed by Youenn Fablet.
Source/WebCore:
- platform/MediaStrategy.h:
- platform/encryptedmedia/CDMFactory.cpp:
Source/WebKit:
Since platformStrategies() is entirely absent in the UIProcess and GPUProcesses, with no
intention of adding strategies there, it must be possible to retain the default behavior
of WebCore objects. To that end, rather than require clients to implement a MediaStrategy
method in order to register CDMFactory objects, simply replace the factories at runtime
when necessary, and only in those processes where such a replacement is necessary.
- WebProcess/GPU/media/WebMediaStrategy.cpp:
(WebKit::WebMediaStrategy::registerCDMFactories): Deleted.
- WebProcess/GPU/media/WebMediaStrategy.h:
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::setUseGPUProcessForMedia):
Source/WebKitLegacy/mac:
Remove Legacy CDM support from WebPlatformStrategies.
- WebCoreSupport/WebPlatformStrategies.mm:
- 5:18 PM Changeset in webkit [258039] by
-
- 7 edits1 move in trunk/Source/WebInspectorUI
Fixed missing icons for WI.ThreadTreeElement and selected Heap Snapshots
https://bugs.webkit.org/show_bug.cgi?id=208719
Reviewed by Devin Rousso.
- UserInterface/Images/InstrumentIcons.svg: Removed.
- UserInterface/Images/TypeIcons.svg:
- UserInterface/Views/HeapAllocationsTimelineOverviewGraph.css:
(.timeline-overview-graph.heap-allocations > img.snapshot.selected):
- UserInterface/Views/NetworkTableContentView.css:
(.network-table > .table .cell.dom-node.name .icon):
- UserInterface/Views/SourcesNavigationSidebarPanel.css:
(.sidebar > .panel.navigation.sources > .content > .breakpoints-container .tree-outline .item.event-target-window .icon):
(@media (prefers-color-scheme: dark) .sidebar > .panel.navigation.sources > .content > .breakpoints-container .tree-outline .item.event-target-window .icon):
- UserInterface/Views/ThreadTreeElement.css:
(.tree-outline > .item.thread .icon):
(.tree-outline > .item.thread + ol > .item.truncated-call-frames .icon):
(@media (prefers-color-scheme: dark) .tree-outline > .item.thread .icon):
(@media (prefers-color-scheme: dark) .tree-outline > .item.thread + ol > .item.truncated-call-frames .icon):
- UserInterface/Views/TimelineIcons.css:
(.network-icon .icon):
(.script-icon .icon):
(.cpu-icon .icon):
(.memory-icon .icon):
(.heap-allocations-icon .icon):
(.layout-icon .icon):
(.rendering-frame-icon .icon):
(.media-icon .icon):
(@media (prefers-color-scheme: dark) .network-icon .icon):
(@media (prefers-color-scheme: dark) .script-icon .icon):
(@media (prefers-color-scheme: dark) .cpu-icon .icon):
(@media (prefers-color-scheme: dark) .memory-icon .icon):
(@media (prefers-color-scheme: dark) .heap-allocations-icon .icon):
(@media (prefers-color-scheme: dark) .layout-icon .icon):
(@media (prefers-color-scheme: dark) .rendering-frame-icon .icon):
(@media (prefers-color-scheme: dark) .media-icon .icon):
- 5:16 PM Changeset in webkit [258038] by
-
- 3 edits in trunk/Source/JavaScriptCore
Fix some issues in the ARM64 moveConditionallyAfterFloatingPointCompare() and moveDoubleConditionallyAfterFloatingPointCompare().
https://bugs.webkit.org/show_bug.cgi?id=208731
<rdar://problem/59222568>
Reviewed by Saam Barati.
Both the ARM64 moveConditionallyAfterFloatingPointCompare() and
moveDoubleConditionallyAfterFloatingPointCompare() had the following issues:
- For the DoubleNotEqual condition, they fail to set the result register if one or both of the comparison operands is a NaN.
- For the DoubleEqualOrUnordered condition, they can clobber the else case input register if one of the comparison operands is a NaN.
This patch fixes both of these, and exhaustive testmasm test cases for affected
MacroAssembler instruction emitters using these functions.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::moveConditionallyAfterFloatingPointCompare):
(JSC::MacroAssemblerARM64::moveDoubleConditionallyAfterFloatingPointCompare):
- assembler/testmasm.cpp:
(JSC::testCompareDouble):
(JSC::testCompareDoubleSameArg):
(JSC::testMoveConditionallyFloatingPoint):
(JSC::testMoveConditionallyDouble2):
(JSC::testMoveConditionallyDouble3):
(JSC::testMoveConditionallyDouble3DestSameAsThenCase):
(JSC::testMoveConditionallyDouble3DestSameAsElseCase):
(JSC::testMoveConditionallyFloat2):
(JSC::testMoveConditionallyFloat3):
(JSC::testMoveConditionallyFloat3DestSameAsThenCase):
(JSC::testMoveConditionallyFloat3DestSameAsElseCase):
(JSC::testMoveDoubleConditionallyDouble):
(JSC::testMoveDoubleConditionallyDoubleDestSameAsThenCase):
(JSC::testMoveDoubleConditionallyDoubleDestSameAsElseCase):
(JSC::testMoveDoubleConditionallyFloat):
(JSC::testMoveDoubleConditionallyFloatDestSameAsThenCase):
(JSC::testMoveDoubleConditionallyFloatDestSameAsElseCase):
(JSC::testMoveConditionallyFloatingPointSameArg):
(JSC::testMoveConditionallyDouble2SameArg):
(JSC::testMoveConditionallyDouble3SameArg):
(JSC::testMoveConditionallyFloat2SameArg):
(JSC::testMoveConditionallyFloat3SameArg):
(JSC::testMoveDoubleConditionallyDoubleSameArg):
(JSC::testMoveDoubleConditionallyFloatSameArg):
(JSC::run):
- 5:14 PM Changeset in webkit [258037] by
-
- 4 edits in trunk
TextManipulationController should preserve images
https://bugs.webkit.org/show_bug.cgi?id=208692
Reviewed by Wenson Hsieh.
Source/WebCore:
This patch makes TextManipulationController preserve images (img and SVG) and their ordering,
and lays down the foundation for preserving other non-text content.
To do this, this patch introduces ParagraphContentIterator which wraps TextIterator and introduces
a secondary node iteration which detects all ndoes that have been skipped. Ideally, we would update
TextIterator to do this natively but this is tricky due to the multitude of the node traveral options
supported by TextIterator at the moment. ParagraphContentIterator::advance stops at every node
including ones that do not generate text in TextIterator. This also allows more code sharing between
TextManipulationController's observeParagraphs and replace functions.
For now, we special case nodes with RenderReplaced like img element and the root SVG element.
Tests: TextManipulation.CompleteTextManipulationShouldPreserveImagesAsExcludedTokens
TextManipulation.CompleteTextManipulationShouldPreserveSVGAsExcludedTokens
TextManipulation.CompleteTextManipulationShouldPreserveOrderOfBlockImage
- editing/TextManipulationController.cpp:
(WebCore::ParagraphContentIterator): Added.
(WebCore::ParagraphContentIterator::ParagraphContentIterator): Added.
(WebCore::ParagraphContentIterator::advance): Added.
(WebCore::ParagraphContentIterator::currentContent): Added.
(WebCore::ParagraphContentIterator::startPosition): Added.
(WebCore::ParagraphContentIterator::endPosition): Added.
(WebCore::ParagraphContentIterator::atEnd const): Added.
(WebCore::ParagraphContentIterator::moveCurrentNodeForward): Added.
(WebCore::TextManipulationController::observeParagraphs): Adopted ParagraphContentIterator. For
nodes with RenderReplaced, we generate an excluded token "[]". Removed the dead code which was
creating a subrange from TextIterator, and renamed the previously misleadingly named endOfLastNewLine
to startOfCurrentLine for clarity.
(WebCore::TextManipulationController::replace): Adopted ParagraphContentIterator. Fixed a bug that
excluded content were always assumed to be text, and a bug that the replaced content was inserted
at a wrong location when insertionPoint is a position anchored at a node being removed. Also fixed
an obvious bug that we were inserting root replaced contents at the position before a node which
appears immediately before insertionPoint instead of after; this also resulted in the replaced content
being inserted at a wrong location in some cases.
Tools:
Added tests for preserving images and their ordering.
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(TextManipulation.CompleteTextManipulationShouldPreserveImagesAsExcludedTokens):
(TextManipulation.CompleteTextManipulationShouldPreserveSVGAsExcludedTokens):
(TextManipulation.CompleteTextManipulationShouldPreserveOrderOfBlockImage):
- 3:51 PM Changeset in webkit [258036] by
-
- 1 copy in tags/Safari-610.1.6
Tag Safari-610.1.6.
- 3:37 PM Changeset in webkit [258035] by
-
- 22 edits9 deletes in branches/safari-610.1.6-branch/Source
- 3:30 PM Changeset in webkit [258034] by
-
- 4 edits in trunk/Source/WebCore
Crash accessing AXIsolatedObject::m_childrenIDS from removeSubtree on the main thread.
https://bugs.webkit.org/show_bug.cgi?id=208728
Reviewed by Chris Fleizach.
AXIsolatedTree::removeSubtree was accessing AXIsolatedObject::m_childrenIDs
on the main thread to remove all descendants recursively. But the lock
had to be unlocked and locked again on each iteration, creating problems
if the secondary thread modifies the children in between iterations.
The solution in this patch is to eliminate removeSubtree, and make
removeNode and applyPendingChanges to remove all descendants.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::updateIsolatedTree):
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::appendNodeChanges): Renamed local vars to make it clearer.
(WebCore::AXIsolatedTree::applyPendingChanges):
(WebCore::AXIsolatedTree::removeSubtree): Deleted.
- accessibility/isolatedtree/AXIsolatedTree.h:
- 3:26 PM Changeset in webkit [258033] by
-
- 2 edits1 add in trunk/LayoutTests
[ iOS ] two http/tests/resourceLoadStatistics/third-party-cookie-blocking are flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=208739
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:03 PM Changeset in webkit [258032] by
-
- 70 edits in trunk/Source/WebCore
JSDOMIterator classes should be in IsoSubspace
https://bugs.webkit.org/show_bug.cgi?id=208705
Reviewed by Sam Weinig.
JSDOMIterator should be allocated in IsoSubspace. So we can put all WebCore related cells into IsoSubspaces.
To collect all iterator subspaces in DOMIsoSubspaces class, we scaniterable<...>
pattern in preprocess-idls.pl.
Then, we create a class for each DOM iterator instead of usingusing XXXIterator = JSDOMIterator<...>
to put
subspaceFor implementation easily. And we rename JSDOMIterator to JSDOMIteratorBase to explicitly state that
this is Base class of actual iterators.
- bindings/js/JSDOMIterator.h:
(WebCore::JSDOMIteratorBase::JSDOMIteratorBase):
(WebCore::IteratorTraits>::asJS):
(WebCore::IteratorTraits>::destroy):
(WebCore::IteratorTraits>::next):
(WebCore::JSDOMIterator::createStructure): Deleted.
(WebCore::JSDOMIterator::create): Deleted.
(WebCore::JSDOMIterator::createPrototype): Deleted.
(WebCore::JSDOMIterator::JSDOMIterator): Deleted.
- bindings/js/JSDOMWrapper.h:
(WebCore::JSDOMObject::subspaceFor):
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateIterableDefinition):
(GeneratePrototypeDeclaration):
- bindings/scripts/preprocess-idls.pl:
(interfaceIsIterable):
- bindings/scripts/test/JS/JSInterfaceName.cpp:
(WebCore::JSInterfaceNamePrototype::create): Deleted.
(WebCore::JSInterfaceNamePrototype::createStructure): Deleted.
(WebCore::JSInterfaceNamePrototype::JSInterfaceNamePrototype): Deleted.
- bindings/scripts/test/JS/JSMapLike.cpp:
(WebCore::JSMapLikePrototype::create): Deleted.
(WebCore::JSMapLikePrototype::createStructure): Deleted.
(WebCore::JSMapLikePrototype::JSMapLikePrototype): Deleted.
- bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
(WebCore::JSReadOnlyMapLikePrototype::create): Deleted.
(WebCore::JSReadOnlyMapLikePrototype::createStructure): Deleted.
(WebCore::JSReadOnlyMapLikePrototype::JSReadOnlyMapLikePrototype): Deleted.
- bindings/scripts/test/JS/JSReadOnlySetLike.cpp:
(WebCore::JSReadOnlySetLikePrototype::create): Deleted.
(WebCore::JSReadOnlySetLikePrototype::createStructure): Deleted.
(WebCore::JSReadOnlySetLikePrototype::JSReadOnlySetLikePrototype): Deleted.
- bindings/scripts/test/JS/JSSetLike.cpp:
(WebCore::JSSetLikePrototype::create): Deleted.
(WebCore::JSSetLikePrototype::createStructure): Deleted.
(WebCore::JSSetLikePrototype::JSSetLikePrototype): Deleted.
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObjectConstructor::prototypeForStructure):
(WebCore::JSTestActiveDOMObjectPrototype::create): Deleted.
(WebCore::JSTestActiveDOMObjectPrototype::createStructure): Deleted.
(WebCore::JSTestActiveDOMObjectPrototype::JSTestActiveDOMObjectPrototype): Deleted.
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::JSTestCEReactionsPrototype::create): Deleted.
(WebCore::JSTestCEReactionsPrototype::createStructure): Deleted.
(WebCore::JSTestCEReactionsPrototype::JSTestCEReactionsPrototype): Deleted.
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::JSTestCEReactionsStringifierPrototype::create): Deleted.
(WebCore::JSTestCEReactionsStringifierPrototype::createStructure): Deleted.
(WebCore::JSTestCEReactionsStringifierPrototype::JSTestCEReactionsStringifierPrototype): Deleted.
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::JSTestCallTracerConstructor::prototypeForStructure):
(WebCore::JSTestCallTracerPrototype::create): Deleted.
(WebCore::JSTestCallTracerPrototype::createStructure): Deleted.
(WebCore::JSTestCallTracerPrototype::JSTestCallTracerPrototype): Deleted.
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructorPrototype::create): Deleted.
(WebCore::JSTestClassWithJSBuiltinConstructorPrototype::createStructure): Deleted.
(WebCore::JSTestClassWithJSBuiltinConstructorPrototype::JSTestClassWithJSBuiltinConstructorPrototype): Deleted.
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJITPrototype::create): Deleted.
(WebCore::JSTestDOMJITPrototype::createStructure): Deleted.
(WebCore::JSTestDOMJITPrototype::JSTestDOMJITPrototype): Deleted.
- bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySettingPrototype::create): Deleted.
(WebCore::JSTestEnabledBySettingPrototype::createStructure): Deleted.
(WebCore::JSTestEnabledBySettingPrototype::JSTestEnabledBySettingPrototype): Deleted.
- bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
(WebCore::JSTestEnabledForContextPrototype::create): Deleted.
(WebCore::JSTestEnabledForContextPrototype::createStructure): Deleted.
(WebCore::JSTestEnabledForContextPrototype::JSTestEnabledForContextPrototype): Deleted.
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorPrototype::create): Deleted.
(WebCore::JSTestEventConstructorPrototype::createStructure): Deleted.
(WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype): Deleted.
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTargetPrototype::create): Deleted.
(WebCore::JSTestEventTargetPrototype::createStructure): Deleted.
(WebCore::JSTestEventTargetPrototype::JSTestEventTargetPrototype): Deleted.
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestExceptionPrototype::create): Deleted.
(WebCore::JSTestExceptionPrototype::createStructure): Deleted.
(WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype): Deleted.
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachablePrototype::create): Deleted.
(WebCore::JSTestGenerateIsReachablePrototype::createStructure): Deleted.
(WebCore::JSTestGenerateIsReachablePrototype::JSTestGenerateIsReachablePrototype): Deleted.
- bindings/scripts/test/JS/JSTestGlobalObject.h:
(WebCore::JSTestGlobalObjectPrototype::create): Deleted.
(WebCore::JSTestGlobalObjectPrototype::createStructure): Deleted.
(WebCore::JSTestGlobalObjectPrototype::JSTestGlobalObjectPrototype): Deleted.
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestIndexedSetterNoIdentifierPrototype::create): Deleted.
(WebCore::JSTestIndexedSetterNoIdentifierPrototype::createStructure): Deleted.
(WebCore::JSTestIndexedSetterNoIdentifierPrototype::JSTestIndexedSetterNoIdentifierPrototype): Deleted.
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::JSTestIndexedSetterThrowingExceptionPrototype::create): Deleted.
(WebCore::JSTestIndexedSetterThrowingExceptionPrototype::createStructure): Deleted.
(WebCore::JSTestIndexedSetterThrowingExceptionPrototype::JSTestIndexedSetterThrowingExceptionPrototype): Deleted.
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestIndexedSetterWithIdentifierPrototype::create): Deleted.
(WebCore::JSTestIndexedSetterWithIdentifierPrototype::createStructure): Deleted.
(WebCore::JSTestIndexedSetterWithIdentifierPrototype::JSTestIndexedSetterWithIdentifierPrototype): Deleted.
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::construct):
(WebCore::jsTestInterfacePrototypeFunctionEntriesCaller):
(WebCore::JSTestInterfacePrototype::create): Deleted.
(WebCore::JSTestInterfacePrototype::createStructure): Deleted.
(WebCore::JSTestInterfacePrototype::JSTestInterfacePrototype): Deleted.
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::JSTestInterfaceLeadingUnderscorePrototype::create): Deleted.
(WebCore::JSTestInterfaceLeadingUnderscorePrototype::createStructure): Deleted.
(WebCore::JSTestInterfaceLeadingUnderscorePrototype::JSTestInterfaceLeadingUnderscorePrototype): Deleted.
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::jsTestIterablePrototypeFunctionEntriesCaller):
(WebCore::JSTestIterablePrototype::create): Deleted.
(WebCore::JSTestIterablePrototype::createStructure): Deleted.
(WebCore::JSTestIterablePrototype::JSTestIterablePrototype): Deleted.
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructorPrototype::create): Deleted.
(WebCore::JSTestJSBuiltinConstructorPrototype::createStructure): Deleted.
(WebCore::JSTestJSBuiltinConstructorPrototype::JSTestJSBuiltinConstructorPrototype): Deleted.
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListenerPrototype::create): Deleted.
(WebCore::JSTestMediaQueryListListenerPrototype::createStructure): Deleted.
(WebCore::JSTestMediaQueryListListenerPrototype::JSTestMediaQueryListListenerPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifierPrototype::create): Deleted.
(WebCore::JSTestNamedAndIndexedSetterNoIdentifierPrototype::createStructure): Deleted.
(WebCore::JSTestNamedAndIndexedSetterNoIdentifierPrototype::JSTestNamedAndIndexedSetterNoIdentifierPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::JSTestNamedAndIndexedSetterThrowingExceptionPrototype::create): Deleted.
(WebCore::JSTestNamedAndIndexedSetterThrowingExceptionPrototype::createStructure): Deleted.
(WebCore::JSTestNamedAndIndexedSetterThrowingExceptionPrototype::JSTestNamedAndIndexedSetterThrowingExceptionPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifierPrototype::create): Deleted.
(WebCore::JSTestNamedAndIndexedSetterWithIdentifierPrototype::createStructure): Deleted.
(WebCore::JSTestNamedAndIndexedSetterWithIdentifierPrototype::JSTestNamedAndIndexedSetterWithIdentifierPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorPrototype::create): Deleted.
(WebCore::JSTestNamedConstructorPrototype::createStructure): Deleted.
(WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::JSTestNamedDeleterNoIdentifierPrototype::create): Deleted.
(WebCore::JSTestNamedDeleterNoIdentifierPrototype::createStructure): Deleted.
(WebCore::JSTestNamedDeleterNoIdentifierPrototype::JSTestNamedDeleterNoIdentifierPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::JSTestNamedDeleterThrowingExceptionPrototype::create): Deleted.
(WebCore::JSTestNamedDeleterThrowingExceptionPrototype::createStructure): Deleted.
(WebCore::JSTestNamedDeleterThrowingExceptionPrototype::JSTestNamedDeleterThrowingExceptionPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::JSTestNamedDeleterWithIdentifierPrototype::create): Deleted.
(WebCore::JSTestNamedDeleterWithIdentifierPrototype::createStructure): Deleted.
(WebCore::JSTestNamedDeleterWithIdentifierPrototype::JSTestNamedDeleterWithIdentifierPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetterPrototype::create): Deleted.
(WebCore::JSTestNamedDeleterWithIndexedGetterPrototype::createStructure): Deleted.
(WebCore::JSTestNamedDeleterWithIndexedGetterPrototype::JSTestNamedDeleterWithIndexedGetterPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::JSTestNamedGetterCallWithPrototype::create): Deleted.
(WebCore::JSTestNamedGetterCallWithPrototype::createStructure): Deleted.
(WebCore::JSTestNamedGetterCallWithPrototype::JSTestNamedGetterCallWithPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::JSTestNamedGetterNoIdentifierPrototype::create): Deleted.
(WebCore::JSTestNamedGetterNoIdentifierPrototype::createStructure): Deleted.
(WebCore::JSTestNamedGetterNoIdentifierPrototype::JSTestNamedGetterNoIdentifierPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::JSTestNamedGetterWithIdentifierPrototype::create): Deleted.
(WebCore::JSTestNamedGetterWithIdentifierPrototype::createStructure): Deleted.
(WebCore::JSTestNamedGetterWithIdentifierPrototype::JSTestNamedGetterWithIdentifierPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedSetterNoIdentifierPrototype::create): Deleted.
(WebCore::JSTestNamedSetterNoIdentifierPrototype::createStructure): Deleted.
(WebCore::JSTestNamedSetterNoIdentifierPrototype::JSTestNamedSetterNoIdentifierPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::JSTestNamedSetterThrowingExceptionPrototype::create): Deleted.
(WebCore::JSTestNamedSetterThrowingExceptionPrototype::createStructure): Deleted.
(WebCore::JSTestNamedSetterThrowingExceptionPrototype::JSTestNamedSetterThrowingExceptionPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedSetterWithIdentifierPrototype::create): Deleted.
(WebCore::JSTestNamedSetterWithIdentifierPrototype::createStructure): Deleted.
(WebCore::JSTestNamedSetterWithIdentifierPrototype::JSTestNamedSetterWithIdentifierPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterPrototype::create): Deleted.
(WebCore::JSTestNamedSetterWithIndexedGetterPrototype::createStructure): Deleted.
(WebCore::JSTestNamedSetterWithIndexedGetterPrototype::JSTestNamedSetterWithIndexedGetterPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetterPrototype::create): Deleted.
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetterPrototype::createStructure): Deleted.
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetterPrototype::JSTestNamedSetterWithIndexedGetterAndSetterPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:
(WebCore::JSTestNamedSetterWithOverrideBuiltinsPrototype::create): Deleted.
(WebCore::JSTestNamedSetterWithOverrideBuiltinsPrototype::createStructure): Deleted.
(WebCore::JSTestNamedSetterWithOverrideBuiltinsPrototype::JSTestNamedSetterWithOverrideBuiltinsPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
(WebCore::JSTestNamedSetterWithUnforgablePropertiesConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithUnforgablePropertiesPrototype::create): Deleted.
(WebCore::JSTestNamedSetterWithUnforgablePropertiesPrototype::createStructure): Deleted.
(WebCore::JSTestNamedSetterWithUnforgablePropertiesPrototype::JSTestNamedSetterWithUnforgablePropertiesPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsConstructor::prototypeForStructure):
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsPrototype::create): Deleted.
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsPrototype::createStructure): Deleted.
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsPrototype::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltinsPrototype): Deleted.
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::jsTestNodePrototypeFunctionEntriesCaller):
(WebCore::JSTestNodePrototype::create): Deleted.
(WebCore::JSTestNodePrototype::createStructure): Deleted.
(WebCore::JSTestNodePrototype::JSTestNodePrototype): Deleted.
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::construct):
(WebCore::JSTestObjPrototype::create): Deleted.
(WebCore::JSTestObjPrototype::createStructure): Deleted.
(WebCore::JSTestObjPrototype::JSTestObjPrototype): Deleted.
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsPrototype::create): Deleted.
(WebCore::JSTestOverloadedConstructorsPrototype::createStructure): Deleted.
(WebCore::JSTestOverloadedConstructorsPrototype::JSTestOverloadedConstructorsPrototype): Deleted.
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::JSTestOverloadedConstructorsWithSequencePrototype::create): Deleted.
(WebCore::JSTestOverloadedConstructorsWithSequencePrototype::createStructure): Deleted.
(WebCore::JSTestOverloadedConstructorsWithSequencePrototype::JSTestOverloadedConstructorsWithSequencePrototype): Deleted.
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::JSTestOverrideBuiltinsPrototype::create): Deleted.
(WebCore::JSTestOverrideBuiltinsPrototype::createStructure): Deleted.
(WebCore::JSTestOverrideBuiltinsPrototype::JSTestOverrideBuiltinsPrototype): Deleted.
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::JSTestPluginInterfacePrototype::create): Deleted.
(WebCore::JSTestPluginInterfacePrototype::createStructure): Deleted.
(WebCore::JSTestPluginInterfacePrototype::JSTestPluginInterfacePrototype): Deleted.
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::JSTestPromiseRejectionEventPrototype::create): Deleted.
(WebCore::JSTestPromiseRejectionEventPrototype::createStructure): Deleted.
(WebCore::JSTestPromiseRejectionEventPrototype::JSTestPromiseRejectionEventPrototype): Deleted.
- bindings/scripts/test/JS/JSTestSerialization.cpp:
(WebCore::JSTestSerializationPrototype::create): Deleted.
(WebCore::JSTestSerializationPrototype::createStructure): Deleted.
(WebCore::JSTestSerializationPrototype::JSTestSerializationPrototype): Deleted.
- bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp:
(WebCore::JSTestSerializationIndirectInheritancePrototype::create): Deleted.
(WebCore::JSTestSerializationIndirectInheritancePrototype::createStructure): Deleted.
(WebCore::JSTestSerializationIndirectInheritancePrototype::JSTestSerializationIndirectInheritancePrototype): Deleted.
- bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
(WebCore::JSTestSerializationInheritPrototype::create): Deleted.
(WebCore::JSTestSerializationInheritPrototype::createStructure): Deleted.
(WebCore::JSTestSerializationInheritPrototype::JSTestSerializationInheritPrototype): Deleted.
- bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
(WebCore::JSTestSerializationInheritFinalPrototype::create): Deleted.
(WebCore::JSTestSerializationInheritFinalPrototype::createStructure): Deleted.
(WebCore::JSTestSerializationInheritFinalPrototype::JSTestSerializationInheritFinalPrototype): Deleted.
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfacePrototype::create): Deleted.
(WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure): Deleted.
(WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype): Deleted.
- bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::JSTestStringifierPrototype::create): Deleted.
(WebCore::JSTestStringifierPrototype::createStructure): Deleted.
(WebCore::JSTestStringifierPrototype::JSTestStringifierPrototype): Deleted.
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::JSTestStringifierAnonymousOperationPrototype::create): Deleted.
(WebCore::JSTestStringifierAnonymousOperationPrototype::createStructure): Deleted.
(WebCore::JSTestStringifierAnonymousOperationPrototype::JSTestStringifierAnonymousOperationPrototype): Deleted.
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::JSTestStringifierNamedOperationPrototype::create): Deleted.
(WebCore::JSTestStringifierNamedOperationPrototype::createStructure): Deleted.
(WebCore::JSTestStringifierNamedOperationPrototype::JSTestStringifierNamedOperationPrototype): Deleted.
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::JSTestStringifierOperationImplementedAsPrototype::create): Deleted.
(WebCore::JSTestStringifierOperationImplementedAsPrototype::createStructure): Deleted.
(WebCore::JSTestStringifierOperationImplementedAsPrototype::JSTestStringifierOperationImplementedAsPrototype): Deleted.
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::JSTestStringifierOperationNamedToStringPrototype::create): Deleted.
(WebCore::JSTestStringifierOperationNamedToStringPrototype::createStructure): Deleted.
(WebCore::JSTestStringifierOperationNamedToStringPrototype::JSTestStringifierOperationNamedToStringPrototype): Deleted.
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::JSTestStringifierReadOnlyAttributePrototype::create): Deleted.
(WebCore::JSTestStringifierReadOnlyAttributePrototype::createStructure): Deleted.
(WebCore::JSTestStringifierReadOnlyAttributePrototype::JSTestStringifierReadOnlyAttributePrototype): Deleted.
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::JSTestStringifierReadWriteAttributePrototype::create): Deleted.
(WebCore::JSTestStringifierReadWriteAttributePrototype::createStructure): Deleted.
(WebCore::JSTestStringifierReadWriteAttributePrototype::JSTestStringifierReadWriteAttributePrototype): Deleted.
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::construct):
(WebCore::JSTestTypedefsPrototype::create): Deleted.
(WebCore::JSTestTypedefsPrototype::createStructure): Deleted.
(WebCore::JSTestTypedefsPrototype::JSTestTypedefsPrototype): Deleted.
- 2:48 PM Changeset in webkit [258031] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening.
Add missing force layout.
- fast/events/touch/ios/touch-handler-on-body-simple.html:
- 2:14 PM Changeset in webkit [258030] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed unified build fix; Include what you use, in this case: FrameInfoData.h.
- WebProcess/WebAuthentication/WebAuthenticatorCoordinator.cpp:
- 2:13 PM Changeset in webkit [258029] by
-
- 2 edits in trunk/Source/WebKit
[GPUP] Enable Picture-in-Picture support on Mac
https://bugs.webkit.org/show_bug.cgi?id=208732
Reviewed by Eric Carlson.
Covered by existing tests.
RemoteMediaPlayerProxy needs to send "hasVideo" state to MediaPlayerPrivateRemote
in the Web process in order to enable the Picture-in-Picture mode support (on Mac).
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::updateCachedState):
- 1:57 PM Changeset in webkit [258028] by
-
- 15 edits in branches/safari-610.1.6-branch/Source/WebKit
Cherry-pick r257758. rdar://problem/60103801
Add flag to indicate that ITP state was explicitly set
https://bugs.webkit.org/show_bug.cgi?id=208461
<rdar://problem/59960829>
Reviewed by John Wilander.
Now that ITP is supported in Ephemeral sessions, we would like to move to a process-wide
concept of ITP being on or off, rather than controlling this at a website data level.
This patch takes the first step by adding a flag to the WebKit::NetworkSessionCreationParameters
structure that tracks whether the state of ITP (On or Off) was explicitly set by
SPI (primarily during testing).
This patch also ensures that we can communicate with TCC for the purpose of checking if
ITP is on or off.
- NetworkProcess/NetworkSessionCreationParameters.cpp: (WebKit::NetworkSessionCreationParameters::encode const): (WebKit::NetworkSessionCreationParameters::decode):
- NetworkProcess/NetworkSessionCreationParameters.h:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb:
- Scripts/process-entitlements.sh:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp: (WKWebsiteDataStoreSetResourceLoadStatisticsEnabled):
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm: (-[WKWebsiteDataStore _setResourceLoadStatisticsEnabled:]):
- UIProcess/Cocoa/VersionChecks.h:
- UIProcess/WebProcessPool.cpp: (WebKit::WebProcessPool::WebProcessPool): (WebKit::WebProcessPool::ensureNetworkProcess): (WebKit::WebProcessPool::createNewWebProcess):
- UIProcess/WebProcessPool.h:
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm: (WebKit::WebsiteDataStore::parameters):
- UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::setIsRunningResourceLoadStatisticsTest):
- UIProcess/WebsiteData/WebsiteDataStore.h: (WebKit::WebsiteDataStore::itpStateWasExplicitlySet const): (WebKit::WebsiteDataStore::useExplicitITPState):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257758 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:35 PM Changeset in webkit [258027] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r257840): [ iOS ] fast/backgrounds/hidpi-bitmap-background-on-subpixel-position.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=208601
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 1:32 PM Changeset in webkit [258026] by
-
- 11 edits3 adds in trunk/Source
Use the feature flags mechanism to give default feature preference values
https://bugs.webkit.org/show_bug.cgi?id=208607
Reviewed by Youenn Fablet.
Source/WebCore/PAL:
- PAL.xcodeproj/project.pbxproj:
- pal/spi/cocoa/FeatureFlagsSPI.h: Added.
Source/WebKit:
No new tests, no functional change.
Add WebKit.plist to the project in order to use the feature flags mechanism.
- FeatureFlags/WebKit.plist: Added.
Replace the default feature preference values defined with macros (for async_frame_and_overflow_scrolling,
incremental_pdf, canvas_and_media_in_gpu_process, WebGL2, WebGPU, and webrtc_in_gpu_process) with
functions implemented with the feature flags mechanism.
- Shared/WebPreferences.yaml:
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultAsyncFrameAndOverflowScrollingEnabled):
(WebKit::defaultAsyncFrameScrollingEnabled):
(WebKit::defaultAsyncOverflowScrollingEnabled):
(WebKit::defaultUseGPUProcessForMedia):
(WebKit::defaultRenderCanvasInGPUProcessEnabled):
(WebKit::defaultCaptureAudioInGPUProcessEnabled):
(WebKit::defaultCaptureAudioInUIProcessEnabled):
(WebKit::defaultCaptureVideoInGPUProcessEnabled):
(WebKit::defaultWebRTCCodecsInGPUProcess):
(WebKit::defaultWebGL2Enabled):
(WebKit::defaultWebGPUEnabled):
- Shared/WebPreferencesDefaultValues.h:
- WebKit.xcodeproj/project.pbxproj:
Source/WTF:
ENABLE_GPU_PROCESS_FOR_WEBRTC is removed because we will use the feature flags
mechanism to give the default preference regarding the WebRTC in GPU process feature.
This patch also adds macro HAVE_SYSTEM_FEATURE_FLAGS.
- wtf/PlatformEnable.h:
- wtf/PlatformEnableCocoa.h:
- wtf/PlatformHave.h:
- 1:24 PM Changeset in webkit [258025] by
-
- 2 edits in trunk/Source/WebCore
Set important EGL context attributes
https://bugs.webkit.org/show_bug.cgi?id=208724
Patch by James Darpinian <James Darpinian> on 2020-03-06
Reviewed by Dean Jackson.
These EGL context attributes are important to make ANGLE's validation correct for
WebGL contexts. ROBUST_RESOURCE_INITIALIZATION is especially important; the lack
of it may be a root cause of some of the test flakiness we have seen. With this
change WebKit's EGL context attributes now match Chromium's for ANGLE/WebGL
contexts.
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
- 12:52 PM Changeset in webkit [258024] by
-
- 12 edits1 add in trunk/Source
Use ObjectIdentifier to identify media sessions
https://bugs.webkit.org/show_bug.cgi?id=208710
Reviewed by Eric Carlson.
Source/WebCore:
No change of behavior, except that the identifier is now stable over time and unique per process.
- Headers.cmake:
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::mediaSessionUniqueIdentifier const):
- html/HTMLMediaElement.h:
- platform/audio/NowPlayingInfo.h:
(WebCore::NowPlayingInfo::decode):
- platform/audio/PlatformMediaSessionManager.h:
(WebCore::PlatformMediaSessionManager::lastUpdatedNowPlayingInfoUniqueIdentifier const):
- platform/audio/cocoa/MediaSessionManagerCocoa.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(MediaSessionManagerCocoa::setNowPlayingInfo):
(MediaSessionManagerCocoa::updateNowPlayingInfo):
- testing/Internals.cpp:
(WebCore::Internals::nowPlayingState const):
Source/WebKit:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::requestActiveNowPlayingSessionInfo):
- 12:49 PM Changeset in webkit [258023] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: (r257760?) [ Mac wk2 Debug ] ASSERTION FAILED: child->parentObject() == this in WebCore::AccessibilityObject::insertChild
https://bugs.webkit.org/show_bug.cgi?id=208648
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 12:48 PM Changeset in webkit [258022] by
-
- 4 edits in branches/safari-610.1.6-branch/Source/WebKit
Cherry-pick r257845. rdar://problem/60049340
WebChromeClient::createImageBuffer should not create a connection to GPU Process if page does not want remote rendering
https://bugs.webkit.org/show_bug.cgi?id=208567
rdar://problem/60020229
Reviewed by Wenson Hsieh.
Manually tested.
- WebProcess/GPU/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::createImageBuffer): Minor refactoring to directly take a ShouldAccelerate instead of a RenderingMode.
- WebProcess/GPU/graphics/RemoteRenderingBackend.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::createImageBuffer const): In case page does not want to do remote rendering, do not create a remote image buffer. Instead, return null and let the caller create a local image buffer.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257845 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:48 PM Changeset in webkit [258021] by
-
- 22 edits4 copies5 adds in branches/safari-610.1.6-branch/Source
Cherry-pick r257730. rdar://problem/60049340
Implement the remote ImageBuffer
https://bugs.webkit.org/show_bug.cgi?id=207221
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-03-02
Reviewed by Jon Lee.
Source/WebCore:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/ConcreteImageBuffer.h: (WebCore::ConcreteImageBuffer::create): ConcreteImageBuffer::create returns the derived class which it creates.
- platform/graphics/displaylists/DisplayList.h: This using statement gives compilation error when referencing DisplayList from WebKit.
- platform/graphics/displaylists/DisplayListDrawingContext.h: RemoteImageBuffer inherits DisplayList::ImageBuffer so these methods need to be exported.
- platform/graphics/displaylists/DisplayListImageBuffer.h: (WebCore::DisplayList::ImageBuffer::ImageBuffer): Make it possible for RemoteImageBuffer to be created with no backend. It will be created later when RemoteImageBufferProxy shares its backend with RemoteImageBuffer.
Source/WebKit:
RemoteImageBuffer and RemoteImageBufferProxy represent a single remote
ImageBuffer. The back end should be created by RemoteImageBufferProxy in
GPUProcess and shared with the RemoteImageBuffer in the WebProcess.
Flushing the DrawingContext will be done in GPUProcess. But creating the
native image out of the back end will be in GPUProcess.
RemoteRenderingBackend and RemoteRenderingBackendProxy are central points
for receiving and sending all the messages of the RemoteImageBuffer and
RemoteImageBufferProxy.
- GPUProcess/graphics/PlatformRemoteImageBufferProxy.h: Added. Defines the platform types of RemoteImageBufferProxy.
- GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.cpp: Added. (WebKit::RemoteImageBufferMessageHandlerProxy::RemoteImageBufferMessageHandlerProxy): (WebKit::RemoteImageBufferMessageHandlerProxy::createBackend): (WebKit::RemoteImageBufferMessageHandlerProxy::commitFlushContext):
- GPUProcess/graphics/RemoteImageBufferMessageHandlerProxy.h: Added. Manages sending and receiving the messages of RemoteImageBufferProxy
- GPUProcess/graphics/RemoteImageBufferProxy.h: Added. (WebKit::RemoteImageBufferProxy::create): (WebKit::RemoteImageBufferProxy::RemoteImageBufferProxy): It is responsible for creating a shared back end and replaying back drawing commands.
- GPUProcess/graphics/RemoteRenderingBackendProxy.cpp: (WebKit::RemoteRenderingBackendProxy::createImageBuffer): (WebKit::RemoteRenderingBackendProxy::releaseImageBuffer): (WebKit::RemoteRenderingBackendProxy::flushImageBufferDrawingContext):
- GPUProcess/graphics/RemoteRenderingBackendProxy.h: (WebKit::RemoteRenderingBackendProxy::renderingBackendIdentifier const):
- GPUProcess/graphics/RemoteRenderingBackendProxy.messages.in: Handle or dispatch messages received from RemoteRenderingBackend.
- Scripts/webkit/messages.py:
- Sources.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/graphics/ImageBufferFlushIdentifier.h: Added.
- WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp: (WebKit::ImageBufferShareableBitmapBackend::create):
- WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h: Although hostWindow isn't used, this is what ConcreteImageBuffer::create expects from the creator of the backend.
- WebProcess/GPU/graphics/PlatformRemoteImageBuffer.h: Added. Defines the platform types of RemoteImageBuffer.
- WebProcess/GPU/graphics/RemoteImageBuffer.h: Added. (WebKit::RemoteImageBuffer::create): (WebKit::RemoteImageBuffer::RemoteImageBuffer): It is responsible for creating RemoteImageBufferProxy and performing the drawing commands in the GPUProcess.
- WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.cpp: Added. (WebKit::RemoteImageBufferMessageHandler::RemoteImageBufferMessageHandler): (WebKit::RemoteImageBufferMessageHandler::~RemoteImageBufferMessageHandler): (WebKit::RemoteImageBufferMessageHandler::flushDrawingContext): (WebKit::RemoteImageBufferMessageHandler::commitFlushContext):
- WebProcess/GPU/graphics/RemoteImageBufferMessageHandler.h: Added. (WebKit::RemoteImageBufferMessageHandler::imageBufferIdentifier const): Manages sending and receiving the messages of RemoteImageBuffer.
- WebProcess/GPU/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::createImageBuffer): (WebKit::RemoteRenderingBackend::releaseImageBuffer): (WebKit::RemoteRenderingBackend::createImageBufferBackend): (WebKit::RemoteRenderingBackend::commitImageBufferFlushContext):
- WebProcess/GPU/graphics/RemoteRenderingBackend.h: (WebKit::RemoteRenderingBackend::renderingBackendIdentifier const):
- WebProcess/GPU/graphics/RemoteRenderingBackend.messages.in: Handle or dispatch messages received from RemoteRenderingBackendProxy.
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.cpp: (WebKit::ImageBufferShareableIOSurfaceBackend::create):
- WebProcess/GPU/graphics/cocoa/ImageBufferShareableIOSurfaceBackend.h: Although hostWindow isn't used, this is what ConcreteImageBuffer::create expects from the creator of the backend.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257730 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 12:42 PM Changeset in webkit [258020] by
-
- 7 edits in trunk
[WebAuthn] Do not perform Attestation with type is 'none'
https://bugs.webkit.org/show_bug.cgi?id=208676
<rdar://problem/59692104>
Reviewed by Brent Fulgham.
Source/WebKit:
Besides the suggested title, this patch also adds a whitelist to restrict
access until validation is complete. The whitelist allows file URLs and
test-related domains.
Covered by existing tests with new contents.
- UIProcess/API/APIWebAuthenticationPanelClient.h:
(API::WebAuthenticationPanelClient::selectAssertionResponse const):
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.h:
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticatorInternal::whitelistedRpId):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested):
LayoutTests:
Attestation is skipped by default and therefore add parameters to override it.
- http/wpt/webauthn/public-key-credential-create-failure-local.https.html:
- http/wpt/webauthn/public-key-credential-create-success-local.https.html:
- 12:40 PM Changeset in webkit [258019] by
-
- 13 edits in trunk/Source/WebCore
Unreviewed, rolling out r257760.
This commit caused flaky crashing on Mac wk2.
Reverted changeset:
"Fix for LayoutTests/accessibility/mac/value-change/value-
change-user-info-contenteditable.html in IsolatedTree mode."
https://bugs.webkit.org/show_bug.cgi?id=208462
https://trac.webkit.org/changeset/257760
- 12:25 PM Changeset in webkit [258018] by
-
- 2 edits in trunk/Source/WebKit
Make sure completion handler given to AuxiliaryProcessProxy::sendMessage is called asynchronously
https://bugs.webkit.org/show_bug.cgi?id=208701
Reviewed by Chris Dumez.
This is difficult to test as we change the behavior in the case a sendWithAsyncReply fails synchronously.
- UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::sendMessage):
sendMessage completion handler is always called asynchronously for usual cases except in rare cases
like terminated processes or invalid connections.
To make things more consistent, call completion handler asynchronously for these rare cases as well.
- 12:25 PM Changeset in webkit [258017] by
-
- 12 edits in trunk
Add _WKResourceLoadInfo.resourceType SPI
https://bugs.webkit.org/show_bug.cgi?id=208723
Reviewed by Alex Christensen.
Source/WebCore:
Covered by API tests.
- Modules/beacon/NavigatorBeacon.cpp:
(WebCore::NavigatorBeacon::sendBeacon):
- loader/PingLoader.cpp:
(WebCore::PingLoader::sendPing):
- platform/network/ResourceRequestBase.h:
Source/WebKit:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::resourceLoadInfo):
- Shared/ResourceLoadInfo.h:
(WebKit::ResourceLoadInfo::encode const):
(WebKit::ResourceLoadInfo::decode):
- UIProcess/API/APIResourceLoadInfo.h:
- UIProcess/API/Cocoa/_WKResourceLoadInfo.h:
- UIProcess/API/Cocoa/_WKResourceLoadInfo.mm:
(toWKResourceLoadInfoResourceType):
(-[_WKResourceLoadInfo resourceType]):
(-[_WKResourceLoadInfo initWithCoder:]):
(-[_WKResourceLoadInfo encodeWithCoder:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
(TEST):
- 12:24 PM Changeset in webkit [258016] by
-
- 3 edits in trunk/LayoutTests
[ macOS iOS wk2 ] http/wpt/service-workers/service-worker-networkprocess-crash.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207466
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 12:01 PM Changeset in webkit [258015] by
-
- 13 edits2 adds in trunk/Source
Add support for NowPlaying commands in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=208707
Reviewed by Eric Carlson.
Source/WebCore:
Add a NowPlayingManager that is responsible to clear/set/update NowPlaying information as well as receive commands
and send them to the current NowPlaying client.
Manually tested.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/audio/PlatformMediaSessionManager.h:
Source/WebKit:
Add a global NowPlayingManager.
Each GPUConnectionToWebProcess is now a NowPlayingManager client.
On updating NowPlayingInfo, it becomes a client and can start receiving commands.
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::clearNowPlayingInfo):
(WebKit::GPUConnectionToWebProcess::setNowPlayingInfo):
(WebKit::GPUConnectionToWebProcess::didReceiveRemoteControlCommand):
- GPUProcess/GPUConnectionToWebProcess.h:
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::nowPlayingManager):
- GPUProcess/GPUProcess.h:
- GPUProcess/media/RemoteAudioSessionProxy.cpp:
- GPUProcess/media/RemoteAudioSessionProxyManager.cpp:
(WebKit::RemoteAudioSessionProxyManager::tryToSetActiveForProcess):
- WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::didReceiveRemoteCommand):
- WebProcess/GPU/GPUProcessConnection.h:
- WebProcess/GPU/GPUProcessConnection.messages.in:
- 12:01 PM Changeset in webkit [258014] by
-
- 2 edits in trunk/Tools
Stop reporting to webkit-test-results.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=207218
Reviewed by Alexey Proskuryakov.
- BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunWebKitTests):
- 11:57 AM Changeset in webkit [258013] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Adopt entitlement to avoid treating webcontent as a trusted binary in some cases
https://bugs.webkit.org/show_bug.cgi?id=208668
Reviewed by Brent Fulgham.
On iOS, adopt entitlement to avoid treating the WebContent process as a trusted binary in some cases.
- Scripts/process-entitlements.sh:
- 11:28 AM Changeset in webkit [258012] by
-
- 14 edits in trunk
Move synchronousScrollingReasons to ScrollingTreeScrollingNode
https://bugs.webkit.org/show_bug.cgi?id=208721
Reviewed by Antti Koivisto.
Source/WebCore:
synchronousScrollingReasons was on Scrolling*FrameScrollingNode, but with async overflow
scrolling, some overflow scrolls will need to scroll synchronously if they paint any
background-attachment:fixed, so move synchronousScrollingReasons down to Scrolling*ScrollingNode.
Also wrap the scrolling tree parts in #if ENABLE(SCROLLING_THREAD) since synchronous scrolling
is only a thing if you use threaded scrolling. Ideally more of the ScrollingCoordinator code
would also have #if ENABLE(SCROLLING_THREAD) but that can be done later.
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
- page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::setPropertyChangedBitsAfterReattach):
(WebCore::ScrollingStateFrameScrollingNode::dumpProperties const):
(WebCore::ScrollingStateFrameScrollingNode::setSynchronousScrollingReasons): Deleted.
- page/scrolling/ScrollingStateFrameScrollingNode.h:
- page/scrolling/ScrollingStateScrollingNode.cpp:
(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setPropertyChangedBitsAfterReattach):
(WebCore::ScrollingStateScrollingNode::setSynchronousScrollingReasons):
(WebCore::ScrollingStateScrollingNode::dumpProperties const):
- page/scrolling/ScrollingStateScrollingNode.h:
(WebCore::ScrollingStateScrollingNode::synchronousScrollingReasons const):
- page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::commitStateBeforeChildren):
(WebCore::ScrollingTreeFrameScrollingNode::dumpProperties const):
- page/scrolling/ScrollingTreeFrameScrollingNode.h:
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::commitStateBeforeChildren):
(WebCore::ScrollingTreeScrollingNode::dumpProperties const):
- page/scrolling/ScrollingTreeScrollingNode.h:
Source/WebKit:
No need to send synchronousScrollingReasons to the UI process; it makes no sense there.
- Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::encode):
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
(WebKit::dump):
LayoutTests:
Rebaselined.
- tiled-drawing/scrolling/scrolling-tree-slow-scrolling-expected.txt:
- 11:11 AM Changeset in webkit [258011] by
-
- 2 edits in trunk/LayoutTests
[ Mac ] imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-max-value.htm is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208722
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 10:39 AM Changeset in webkit [258010] by
-
- 2 edits in branches/safari-610.1.6-branch/Source/WebCore
Cherry-pick r257805. rdar://problem/60107056
[CG] Change the UTI of the "WebP" image to be "com.google.webp"
https://bugs.webkit.org/show_bug.cgi?id=208038
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-03-03
Reviewed by Simon Fraser.
This is to conform with CGImageSourceGetType().
- platform/graphics/cg/UTIRegistry.cpp: (WebCore::defaultSupportedImageTypes): Make sure CG supports the suggested UTI before considering it is actually supported.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257805 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:39 AM Changeset in webkit [258009] by
-
- 5 edits in trunk
UIProcess crash after using _prepareForMoveToWindow, then deallocating the WKWebView before moving to the window
https://bugs.webkit.org/show_bug.cgi?id=208365
<rdar://problem/59877296>
Reviewed by Geoffrey Garen.
Source/WebKit:
Fix the issue that observers in WebView may not be removed when WebView is prepared to move to some window but
does not actually move. Make WebView hold strong reference to the target window so it knows to stop observing at
dealloc even if the move does not happen. The strong reference will be released when WebView actually moves to a
window to avoid reference cycle.
New API tests: WKWebView.PrepareForMoveToWindowThenViewDeallocBeforeMoving
WKWebView.PrepareForMoveToWindowThenWindowDeallocBeforeMoving
- UIProcess/Cocoa/WebViewImpl.h:
(WebKit::WebViewImpl::targetWindowForMovePreparation const):
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::~WebViewImpl):
(WebKit::WebViewImpl::intrinsicDeviceScaleFactor const):
(WebKit::WebViewImpl::windowDidChangeScreen):
(WebKit::WebViewImpl::viewWillMoveToWindowImpl):
(WebKit::WebViewImpl::viewWillMoveToWindow):
(WebKit::WebViewImpl::viewDidMoveToWindow):
(WebKit::WebViewImpl::colorSpace):
(WebKit::WebViewImpl::prepareForMoveToWindow):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/PrepareForMoveToWindow.mm:
(TEST):
- 10:36 AM Changeset in webkit [258008] by
-
- 2 edits in trunk/Tools
EWS should be able to fetch patch status for security bugs while processing them
https://bugs.webkit.org/show_bug.cgi?id=206511
Reviewed by Alexey Proskuryakov.
- BuildSlaveSupport/ews-build/steps.py:
(BugzillaMixin.fetch_data_from_url_with_authentication): Method to fetch data from bugzilla using api key.
(BugzillaMixin.get_patch_json):
(BugzillaMixin.get_bug_json):
(BugzillaMixin._is_bug_closed):
(ApplyPatch.hideStepIf): Use 'sensitive' build property instead of 'validated'.
(TransferToS3.hideStepIf): Ditto.
- 10:30 AM Changeset in webkit [258007] by
-
- 2 edits in trunk/Tools
[ews] commit-queue should show the trac url for the commit on the build page
https://bugs.webkit.org/show_bug.cgi?id=208715
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(PushCommitToWebKitRepo.evaluateCommand):
- 10:29 AM Changeset in webkit [258006] by
-
- 8 edits in trunk/Source/WebCore
Make it possible to safely access CALayers and PlatformCALayerCocoa objects on the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=208672
Reviewed by Antti Koivisto.
Async overflow/frame scrolling on macOS is going to hit-test through the CALayer tree on the
scrolling thread, and access PlatformCALayers that hang off CALayers. We therefore have to ensure
that those layers are not getting mutated while hit-testing.
We only touch PlatformCALayers and CALayers through two codepaths: GraphicsLayer::flushCompositingState()
when pushing GraphicsLayer changes to CA, and when destroying GraphicsLayers which tears down their associated
PlatformCALayers (the CALayers remain parented in the tree).
To prevent a PlatformCALayer from being destroyed while being accessed on the scrolling thread, we make
it ThreadSafeRefCounted<>, and lock around fetching thePlatformCALayer from the layerToPlatformLayerMap() which
retains it.
To prevent the CALayer/PlatformCALayer trees being mutated during layer flushing, we lock around
rootLayer->flushCompositingState() in RenderLayerCompositor::flushPendingLayerChanges().
The lock is owned by ScrollingTreeMac.
- page/scrolling/AsyncScrollingCoordinator.h:
(WebCore::LayerTreeHitTestLocker::LayerTreeHitTestLocker):
(WebCore::LayerTreeHitTestLocker::~LayerTreeHitTestLocker):
- page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::lockLayersForHitTesting):
(WebCore::ScrollingTree::unlockLayersForHitTesting):
- page/scrolling/mac/ScrollingTreeMac.h:
- page/scrolling/mac/ScrollingTreeMac.mm:
(ScrollingTreeMac::lockLayersForHitTesting):
(ScrollingTreeMac::unlockLayersForHitTesting):
- platform/graphics/ca/PlatformCALayer.h:
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(WebCore::layerToPlatformLayerMapMutex):
(WebCore::PlatformCALayer::platformCALayerForLayer):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
- 10:28 AM Changeset in webkit [258005] by
-
- 5 edits1 copy3 adds in trunk
Put an event region on scroll container layers
https://bugs.webkit.org/show_bug.cgi?id=208684
Reviewed by Antti Koivisto.
Source/WebCore:
Hit-testing through the CALayer tree on macOS, where we don't have scroll views for overflow,
is simpler if scroll container layers have an event region that just represents the bounds of
the layer. These regions are harmless to have on iOS too.
This patch adds them for overflow scroll, and for m_clipLayer which is the scroll container
layer for scrollable subframes.
Tests: fast/scrolling/mac/event-region-scrolled-contents-layer.html
fast/scrolling/mac/event-region-subframe.html
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateEventRegion):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateScrollLayerClipping):
LayoutTests:
- fast/scrolling/ios/event-region-scrolled-contents-layer-expected.txt:
- fast/scrolling/mac/event-region-scrolled-contents-layer-expected.txt: Copied from LayoutTests/fast/scrolling/ios/event-region-scrolled-contents-layer-expected.txt.
- fast/scrolling/mac/event-region-scrolled-contents-layer.html: Added.
- fast/scrolling/mac/event-region-subframe-expected.txt: Added.
- fast/scrolling/mac/event-region-subframe.html: Added.
- 10:26 AM Changeset in webkit [258004] by
-
- 2 edits in trunk/Tools
Fix ResourceLoadDelegate.LoadInfo API test after r257816
https://bugs.webkit.org/show_bug.cgi?id=208550
- TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::respondToRequests):
Sometimes we need a separate read to read the HTTP body after a request header, sometimes it comes in the same read.
If it comes in the same read, send the response immediately. Otherwise read the HTTP body then send the response.
- 10:19 AM Changeset in webkit [258003] by
-
- 2 edits in trunk/Source/WebCore
Reduce ThreadTimers maxDurationOfFiringTimers to 16ms
https://bugs.webkit.org/show_bug.cgi?id=208717
Reviewed by Simon Fraser.
50ms -> 16ms.
This gives us more chances to do rendering updates. A/B testing says it is neutral for performance.
- platform/ThreadTimers.cpp:
- 9:46 AM Changeset in webkit [258002] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, rolling out r258001.
I inadvertently changed the wrong expectation in this commit.
Reverted changeset:
"[ iOS wk2 Debug and Mac Debug ] imported/w3c/web-platform-
tests/web-animations/interfaces/Animation/commitStyles.html is
flaky crashing."
https://bugs.webkit.org/show_bug.cgi?id=208718
https://trac.webkit.org/changeset/258001
- 9:32 AM Changeset in webkit [258001] by
-
- 2 edits in trunk/LayoutTests
[ iOS wk2 Debug and Mac Debug ] imported/w3c/web-platform-tests/web-animations/interfaces/Animation/commitStyles.html is flaky crashing.
https://bugs.webkit.org/show_bug.cgi?id=208718
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 9:28 AM Changeset in webkit [258000] by
-
- 3 edits in trunk/LayoutTests
[ iOS wk2 Debug and Mac Debug ] imported/w3c/web-platform-tests/web-animations/interfaces/Animation/commitStyles.html is flaky crashing.
https://bugs.webkit.org/show_bug.cgi?id=208718
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 8:50 AM Changeset in webkit [257999] by
-
- 5 edits in trunk/Source
Remove redundant flags in script evaluation checks
https://bugs.webkit.org/show_bug.cgi?id=208609
<rdar://problem/60058656>
Source/WebCore:
Reviewed by Brent Fulgham.
hasNavigatedAwayFromAppBoundDomain only gets set in WebPageProxy if
its a main frame navigation and In-App Browser privacy is enabled,
we don't need to check again at the sites.
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeScriptInWorld):
- page/Frame.cpp:
(WebCore::Frame::injectUserScriptImmediately):
Source/WebKit:
Reviewed by Brent Fulgham.
hasNavigatedAwayFromAppBoundDomain only gets set in WebPageProxy if
its a main frame navigation and In-App Browser privacy is enabled,
we don't need to check again at the sites.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScript):
- 8:39 AM Changeset in webkit [257998] by
-
- 3 edits2 adds in trunk
[LFC][TFC] Absolute positioned table should generate a static table box inside the out-of-flow table wrapper box
https://bugs.webkit.org/show_bug.cgi?id=208713
<rdar://problem/60151358>
Reviewed by Antti Koivisto.
Source/WebCore:
Test: fast/layoutformattingcontext/absolute-positioned-simple-table.html
<table style="position: absolute"> should generate
- absolute positioned table wrapper box
- static (inflow) positioned table box inside the out-of-flow table wrapper box.
- layout/layouttree/LayoutTreeBuilder.cpp:
(WebCore::Layout::TreeBuilder::buildTableStructure):
LayoutTests:
- fast/layoutformattingcontext/absolute-positioned-simple-table-expected.html: Added.
- fast/layoutformattingcontext/absolute-positioned-simple-table.html: Added.
- 8:08 AM Changeset in webkit [257997] by
-
- 39 edits in trunk/Source
Improve some media code
https://bugs.webkit.org/show_bug.cgi?id=208322
Reviewed by Anders Carlsson.
Source/WebCore:
- TextTrack objects now take Document instead of ScriptExecutionContext.
- Made more TextTrack functions private and protected.
- Made TextTrack parsing functions use return values rather than out arguments.
- Use references rather than pointers and Ref rather than RefPtr for non-null things.
- Made MediaControlsHost use a WeakPtr instead of a raw pointer.
- Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::alwaysOnKeyword): Made private to this file instead of exposed in header.
(WebCore::manualKeyword): Ditto.
(WebCore::MediaControlsHost::create): Take a reference instead of a pointer to
the media element.
(WebCore::MediaControlsHost::MediaControlsHost): Ditto, and make a weak pointer.
(WebCore::MediaControlsHost::sortedTrackListForMenu): Added null check.
(WebCore::MediaControlsHost::displayNameForTrack): Ditto.
(WebCore::MediaControlsHost::captionMenuOffItem): Ditto.
(WebCore::MediaControlsHost::captionMenuAutomaticItem): Ditto.
(WebCore::MediaControlsHost::captionDisplayMode const): Ditto.
(WebCore::MediaControlsHost::setSelectedTextTrack): Ditto.
(WebCore::MediaControlsHost::textTrackContainer): Ditto.
(WebCore::MediaControlsHost::allowsInlineMediaPlayback const): Ditto.
(WebCore::MediaControlsHost::supportsFullscreen const): Ditto.
(WebCore::MediaControlsHost::isVideoLayerInline const): Ditto.
(WebCore::MediaControlsHost::isInMediaDocument const): Ditto.
(WebCore::MediaControlsHost::setPreparedToReturnVideoLayerToInline): Ditto.
(WebCore::MediaControlsHost::userGestureRequired const): Ditto.
(WebCore::MediaControlsHost::shouldForceControlsDisplay const): Ditto.
(WebCore::MediaControlsHost::externalDeviceDisplayName const): Ditto.
(WebCore::MediaControlsHost::externalDeviceType const): Ditto.
(WebCore::MediaControlsHost::controlsDependOnPageScaleFactor const): Ditto.
(WebCore::MediaControlsHost::setControlsDependOnPageScaleFactor): Ditto.
(WebCore::MediaControlsHost::generateUUID): Made a static member.
(WebCore::MediaControlsHost::shadowRootCSSText): Ditto.
(WebCore::MediaControlsHost::base64StringForIconNameAndType): Ditto.
(WebCore::MediaControlsHost::formattedStringForDuration): Ditto.
(WebCore::MediaControlsHost::compactMode const): Tweaked logic a bit.
- Modules/mediacontrols/MediaControlsHost.h: Made various member functions
into static member functions, used references instead of pointers for
things that are never null, used WeakPtr for m_mediaElement.
- Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveInitializationSegment):
Document instead of ScriptExecutionContext.
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::mediaPlayerDidAddTextTrack): Document instead of
ScriptExecutionContext.
(WebCore::HTMLMediaElement::updateCaptionContainer): Pass reference to
MediaControlsHost::create.
(WebCore::HTMLMediaElement::setSelectedTextTrack): Update since special items
are now references rather than pointers.
(WebCore::HTMLMediaElement::updateTextTrackDisplay): Pass reference.
(WebCore::HTMLMediaElement::didAddUserAgentShadowRoot): Ditto.
- html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::parseAttribute): Removed setIsDefault function
since the track can simply read the attribute out of the element instead.
- html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
Update since special items are now referencse rather than pointers.
- html/track/DataCue.cpp:
(WebCore::DataCue::DataCue): Document instead of ScriptExecutionContext.
(WebCore::DataCue::create): Moved these functions out of the header.
- html/track/DataCue.h: Updated for the above.
- html/track/DataCue.idl: Ditto.
- html/track/InbandDataTextTrack.cpp:
(WebCore::InbandDataTextTrack::InbandDataTextTrack): Document instead
of ScriptExecutionContext.
(WebCore::InbandDataTextTrack::create): Ditto.
(WebCore::InbandDataTextTrack::addDataCue): Ditto. Also use reference
instead of pointer when calling hasCue.
- html/track/InbandDataTextTrack.h: Updated for the above.
- html/track/InbandGenericTextTrack.cpp:
(WebCore::InbandGenericTextTrack::InbandGenericTextTrack): Document
instead of ScriptExecutionContext.
(WebCore::InbandGenericTextTrack::create): Ditto.
(WebCore::InbandGenericTextTrack::addGenericCue): Ditto. Also use
reference instead of pointer when calling hasCue.
(WebCore::InbandGenericTextTrack::parser): Ditto.
(WebCore::InbandGenericTextTrack::newCuesParsed): Ditto. Also use
return value from takeCues instead of out arguenmt from getNewCues.
Also use reference instead of pointer when calling hasCue.
(WebCore::InbandGenericTextTrack::newRegionsParsed): Ditto.
- html/track/InbandGenericTextTrack.h: Update for above.
- html/track/InbandTextTrack.cpp:
(WebCore::InbandTextTrack::create): Document instead of
ScriptExecutionContext.
(WebCore::InbandTextTrack::InbandTextTrack): Ditto.
- html/track/InbandTextTrack.h: Update for above.
- html/track/InbandWebVTTTextTrack.cpp:
(WebCore::InbandWebVTTTextTrack::InbandWebVTTTextTrack): Document
instead of ScriptExecutionContext.
(WebCore::InbandWebVTTTextTrack::create): Ditto.
(WebCore::InbandWebVTTTextTrack::parser): Ditto.
(WebCore::InbandWebVTTTextTrack::newCuesParsed): Ditto. Also use
return value from takeCues instead of out arguenmt from getNewCues.
Also use reference instead of pointer when calling hasCue.
(WebCore::InbandWebVTTTextTrack::newRegionsParsed): Ditto.
- html/track/InbandWebVTTTextTrack.h: Update for above.
- html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::create): Moved here from header.
(WebCore::LoadableTextTrack::loadTimerFired): Document instead of
ScriptExecutionContext.
(WebCore::LoadableTextTrack::newRegionsAvailable): Use return value
from getNewRegions instead of out argument.
(WebCore::LoadableTextTrack::isDefault const): New implementation that
does not rely on a data member; checks attribute on video element.
- html/track/LoadableTextTrack.h: Updated for above changes.
- html/track/TextTrack.cpp:
(WebCore::TextTrack::captionMenuOffItem): Return a reference rather
than a pointer.
(WebCore::TextTrack::captionMenuAutomaticItem): Ditto.
(WebCore::TextTrack::create): Document rather than ScriptExecutionContext.
(WebCore::TextTrack::document const): Added. For use by derived classes.
(WebCore::TextTrack::addRegion): Ref rather than RefPtr.
(WebCore::TextTrack::removeRegion): Reference rather than pointer.
(WebCore::TextTrack::cueWillChange): Ditto.
(WebCore::TextTrack::cueDidChange): Ditto.
(WebCore::TextTrack::hasCue): Ditto.
- html/track/TextTrack.h: Removed declarations of non-existent
disabledKeyword, hiddenKeyword, and showingKeyword functions.
Made setKind, client, and hasCue protected. Made overrides of
eventTargetInterface, scriptExecutionContext, and logClassName
private. Removed setIsDefault. Updated for changes above.
- html/track/TextTrack.idl: Did what FIXME suggested, making the region
parameters non-nullable. Passing null silently did nothing before. There
is some small risk of website incompatibility if someone accidentally
relied on this WebKit-specific behavior.
- html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::create): Document instead of ScriptExecutionContext.
(WebCore::TextTrackCue::TextTrackCue): Ditto.
(WebCore::TextTrackCue::willChange): Pass reference.
(WebCore::TextTrackCue::didChange): Ditto.
- html/track/TextTrackCue.h: Update for above changes.
- html/track/TextTrackCue.idl: Ditto.
- html/track/TextTrackCueGeneric.cpp:
(WebCore::TextTrackCueGeneric::TextTrackCueGeneric): Update since the base
class now takes an rvalue reference to the string.
(WebCore::TextTrackCueGeneric::isOrderedBefore const): Use auto.
(WebCore::TextTrackCueGeneric::isPositionedAbove const): Ditto.
- html/track/VTTCue.cpp:
(WebCore::VTTCue::create): Document instead of ScriptExecutionContext.
Also take String with an rvalue reference.
(WebCore::VTTCue::VTTCue): Ditto.
- html/track/VTTCue.h: Update for above changes.
- html/track/VTTCue.idl: Ditto.
- html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::WebVTTParser): Document instead of
ScriptExecutionContext. References instead of pointers. Initialize
m_state in class definition.
(WebCore::WebVTTParser::takeCues): Renamed from getNewCues and changed
to use a return value instead of an out argument.
(WebCore::WebVTTParser::takeRegions): Ditto.
(WebCore::WebVTTParser::takeStyleSheets): Ditto.
(WebCore::WebVTTParser::parseCueData): Remove null check of m_client.
(WebCore::WebVTTParser::parse): Ditto.
(WebCore::WebVTTParser::collectWebVTTBlock): Ditto.
(WebCore::WebVTTParser::checkAndCreateRegion): Pass document.
(WebCore::WebVTTParser::checkAndStoreRegion): Use
Vector::removeFirstMatching instead of Vector::removeFirst.
(WebCore::WebVTTParser::createNewCue): Remove null check of m_client.
- html/track/WebVTTParser.h: Update for above changes.
- loader/TextTrackLoader.cpp:
(WebCore::TextTrackLoader::TextTrackLoader): Document instead of
ScriptExecutionContext. References instead of pointers. Initialize
data members in in class definition.
(WebCore::TextTrackLoader::processNewCueData): Pass references.
(WebCore::TextTrackLoader::corsPolicyPreventedLoad): Use m_document.
(WebCore::TextTrackLoader::load): Ditto.
(WebCore::TextTrackLoader::getNewCues): Use takeCues.
(WebCore::TextTrackLoader::getNewRegions): Changed to return a vector
instead of using an out argument. Use takeRegions.
(WebCore::TextTrackLoader::getNewStyleSheets): Ditto.
- loader/TextTrackLoader.h: Updated for the above.
- page/CaptionUserPreferences.cpp:
(WebCore::trackDisplayName): Updated since these are references.
(WebCore::CaptionUserPreferences::mediaSelectionOptionForTrack const): Ditto.
(WebCore::CaptionUserPreferences::sortedTrackListForMenu): Ditto.
- page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::trackDisplayName): Ditto.
(WebCore::CaptionUserPreferencesMediaAF::sortedTrackListForMenu): Ditto.
- platform/cocoa/PlaybackSessionModelMediaElement.mm:
(WebCore::PlaybackSessionModelMediaElement::selectLegibleMediaOption): Ditto.
(WebCore::PlaybackSessionModelMediaElement::legibleMediaSelectedIndex const):
Updated to use references rather than pointers. Refactored the logic to
use Optional and nested if statements to make the algorithm clearer.
Source/WTF:
- wtf/WeakPtr.h:
(WTF::WeakPtr::operator! const): Added.
- 8:05 AM Changeset in webkit [257996] by
-
- 18 edits in trunk/Source
Use an OptionSet<> for SynchronousScrollingReasons
https://bugs.webkit.org/show_bug.cgi?id=208697
Reviewed by Antti Koivisto.
Convert SynchronousScrollingReasons to an OptionSet<SynchronousScrollingReason>.
Source/WebCore:
- page/PerformanceLoggingClient.cpp:
(WebCore::PerformanceLoggingClient::synchronousScrollingReasonsAsString):
- page/PerformanceLoggingClient.h:
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setSynchronousScrollingReasons):
(WebCore::AsyncScrollingCoordinator::reportSynchronousScrollingReasonsChanged):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::synchronousScrollingReasons const):
(WebCore::ScrollingCoordinator::shouldUpdateScrollLayerPositionSynchronously const):
(WebCore::ScrollingCoordinator::synchronousScrollingReasonsAsText):
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::setSynchronousScrollingReasons):
- page/scrolling/ScrollingCoordinatorTypes.h:
- page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::setSynchronousScrollingReasons):
(WebCore::ScrollingStateFrameScrollingNode::dumpProperties const):
- page/scrolling/ScrollingStateFrameScrollingNode.h:
- page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::reportSynchronousScrollingReasonsChanged):
- page/scrolling/ScrollingTreeFrameScrollingNode.cpp:
(WebCore::ScrollingTreeFrameScrollingNode::dumpProperties const):
- page/scrolling/ScrollingTreeFrameScrollingNode.h:
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::reportSynchronousScrollingReasonsChanged):
- page/scrolling/ThreadedScrollingTree.h:
Source/WebKit:
- Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder<ScrollingStateFrameScrollingNode>::decode):
- UIProcess/WebPageProxy.cpp:
- 6:49 AM Changeset in webkit [257995] by
-
- 4 edits in trunk/Source/WebKit
[GPUP] Set the WebProcess's useGPUProcessForMedia setting during the first page load
https://bugs.webkit.org/show_bug.cgi?id=208694
Reviewed by Youenn Fablet.
Until such a time as we can pass through the correct preference during WebProcess creation,
set the WebProcess's "useGPUProcessForMedia" setting just before the first page load.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeWebProcess):
- WebProcess/WebProcess.h:
- 6:29 AM Changeset in webkit [257994] by
-
- 4 edits2 adds in releases/WebKitGTK/webkit-2.28
Merge r257977 - [GStreamer] Streaming aac/mp3 audio doesn't always work
https://bugs.webkit.org/show_bug.cgi?id=205801
Reviewed by Philippe Normand.
Source/WebCore:
Don't rely on response size to replace Content-Length. This may break streaming videos,
which should always have an Infinite duration.
This patch is based on the fix found by Philippe Normand <pnormand@igalia.com>
Test: http/tests/media/video-no-content-length-stall.html
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(CachedResourceStreamingClient::dataReceived):
LayoutTests:
The new test checks that end-of-stream (thus, end of playback) isn't triggered when a live
audio stream is being played. Live streams don't have Content-Length and are loaded as
they are generated (no future data is available immediately). This is simulated by omitting
Content-Length and artificially stalling the stream at a given offset.
- http/tests/media/resources/serve-video.php: Now the file continues to be served after
the stall when stallOffset/stallDuration are used.
- http/tests/media/video-no-content-length-stall-expected.txt: Added.
- http/tests/media/video-no-content-length-stall.html: Added.
- 6:28 AM Changeset in webkit [257993] by
-
- 2 edits in releases/WebKitGTK/webkit-2.28/Tools
Merge r257973 - [WPE][WebDriver] MiniBrowser should react to close session commands
https://bugs.webkit.org/show_bug.cgi?id=207529
Reviewed by Carlos Garcia Campos.
Do not call g_object_unref on the first created view if it has already
been disposed in the "close" signal handler.
Based on original patch by Yury Semikhatsky.
- MiniBrowser/wpe/main.cpp:
(main):
- 6:28 AM Changeset in webkit [257992] by
-
- 4 edits in releases/WebKitGTK/webkit-2.28
Merge r257972 - [WPE][GTK] Use Firefox user agent quirk more aggressively on Google Docs
https://bugs.webkit.org/show_bug.cgi?id=208647
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-03-06
Reviewed by Carlos Garcia Campos.
Source/WebCore:
I had previously determined that we need to send a Firefox user agent quirk to
accounts.youtube.com to avoid unsupported browser warnings on Google Docs. Either the user
agent check has since become more aggressive, or it somehow depends on factors I don't
understand, but as of today it's no longer enough. We now need the quirk for docs.google.com
as well.
- platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresFirefoxBrowser):
Tools:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
- 6:28 AM Changeset in webkit [257991] by
-
- 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebKit
Merge r257921 - Assertion failed: shouldBeActive() in BackgroundProcessResponsivenessTimer::responsivenessCheckTimerFired()
https://bugs.webkit.org/show_bug.cgi?id=208596
Reviewed by Chris Dumez.
Update state of BackgroundProcessResponsivenessTimer when ServiceWorker is enabled or disabled in web process.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::disableServiceWorkers):
(WebKit::WebProcessProxy::enableServiceWorkers):
- 6:28 AM Changeset in webkit [257990] by
-
- 2 edits in releases/WebKitGTK/webkit-2.28/Source/JavaScriptCore
Merge r257908 - [JSCOnly] 32-bits warning on memset of JSValue
https://bugs.webkit.org/show_bug.cgi?id=204411
Patch by Paulo Matos <Paulo Matos> on 2020-03-05
Reviewed by Mark Lam.
Fixes warning on 32bit builds. This is required because GCC knows
it is not safe to use memset on non-POD types and warns against its use.
- heap/GCMemoryOperations.h:
(JSC::gcSafeZeroMemory):
- 6:28 AM Changeset in webkit [257989] by
-
- 3 edits4 adds in releases/WebKitGTK/webkit-2.28
Merge r257897 - Crash in SVGElement::removeEventListener with symbol element
https://bugs.webkit.org/show_bug.cgi?id=207920
Patch by Doug Kelly <Doug Kelly> on 2020-03-04
Reviewed by Ryosuke Niwa.
Source/WebCore:
Resolves a crash in SVGElement::removeEventListener by only attaching the events to the window if the SVG element is both the outermost
SVG element, in addition to ensuring the SVG element is attached to the tree. The symbol element's behavior when referenced by a use
tag actually creates an svg tag instead, so the SVGSVGElement's special behavior for copying attributes is vital.
Note that Chrome and Firefox have a similar behavior for detached SVG elements as to what this change creates: in both other browsers,
onerror is not fired for a detached svg element, and in Firefox, onresize is not fired for a detached svg element (it is however fired
in Chrome).
Tests: fast/events/detached-svg-parent-window-events.html
fast/events/onerror-svg-symbol.html
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::parseAttribute):
LayoutTests:
- fast/events/detached-svg-parent-window-events-expected.txt: Added.
- fast/events/detached-svg-parent-window-events.html: Added.
- fast/events/onerror-svg-symbol-expected.txt: Added.
- fast/events/onerror-svg-symbol.html: Added.
- 6:28 AM Changeset in webkit [257988] by
-
- 4 edits in releases/WebKitGTK/webkit-2.28/Source
Merge r257721 - Fix JSC 32bit alignment increase gcc warning
https://bugs.webkit.org/show_bug.cgi?id=208445
Patch by Paulo Matos <Paulo Matos> on 2020-03-02
Reviewed by Yusuke Suzuki.
Use reinterpret_cast_ptr<>() instead of reinterpret_cast<>() to
avoid GCC warning about increase in alignment requirement for cast
target type.
Source/JavaScriptCore:
- dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::compileExit):
Source/WTF:
- wtf/HashTable.h:
(WTF::HashTable::tableSize const):
(WTF::HashTable::setTableSize const):
(WTF::HashTable::tableSizeMask const):
(WTF::HashTable::setTableSizeMask):
(WTF::HashTable::keyCount const):
(WTF::HashTable::setKeyCount const):
(WTF::HashTable::deletedCount const):
(WTF::HashTable::setDeletedCount const):
(WTF::KeyTraits>::allocateTable):
(WTF::KeyTraits>::deallocateTable):
- 6:28 AM Changeset in webkit [257987] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.28
Merge r257720 - ASSERT(m_column != unsetColumnIndex) in RenderTable::cellBefore
https://bugs.webkit.org/show_bug.cgi?id=208397
Patch by Doug Kelly <Doug Kelly> on 2020-03-02
Reviewed by Zalan Bujtas.
Source/WebCore:
When inserting a cell into a table row which is not visible, this can lead to attempting to compute the repaint
rects during tree building. Instead, mark the layer as dirty using dirtyVisibleContentStatus(), and the visibility
will be recomputed at a later time.
Test: fast/table/insert-cell-invisible-parent.html
- rendering/RenderElement.cpp:
(WebCore::RenderElement::insertedIntoTree):
LayoutTests:
- fast/table/insert-cell-invisible-parent-expected.txt: Added.
- fast/table/insert-cell-invisible-parent.html: Added.
- 6:28 AM Changeset in webkit [257986] by
-
- 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore
Merge r257714 - Add quirk to disable to back/forward cache on docs.google.com
https://bugs.webkit.org/show_bug.cgi?id=208381
<rdar://problem/59893415>
Reviewed by Ryosuke Niwa.
Google Docs used to bypass the back/forward cache by serving "Cache-Control: no-store"
over HTTPS. We started caching such content in r250437 but the Google Docs content
unfortunately is not currently compatible because it puts an overlay over the page and
starts an animation when navigating away and fails to remove those when coming back from
the back/forward cache (e.g. in 'pageshow' event handler).
- page/Quirks.cpp:
(WebCore::Quirks::shouldBypassBackForwardCache const):
- 6:28 AM Changeset in webkit [257985] by
-
- 7 edits2 adds in releases/WebKitGTK/webkit-2.28
Merge r257676 - Garbage collection prevents FontFace.loaded promise from getting resolved
https://bugs.webkit.org/show_bug.cgi?id=208382
Reviewed by Ryosuke Niwa.
Source/WebCore:
Make sure the FontFace JS wrapper stays alive long enough to resolve the
loaded promise when it is observable by the page's script.
Test: fast/text/font-promises-gc.html
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::document const):
- css/CSSFontFace.h:
- css/FontFace.cpp:
(WebCore::FontFace::FontFace):
(WebCore::FontFace::fontStateChanged):
(WebCore::FontFace::loadForBindings):
(WebCore::FontFace::loadedForBindings):
(WebCore::FontFace::activeDOMObjectName const):
(WebCore::FontFace::hasPendingActivity const):
(WebCore::FontFace::load): Deleted.
- css/FontFace.h:
- css/FontFace.idl:
LayoutTests:
Add layout test coverage. Thanks to Alexey Proskuryakov for writing the test.
- fast/text/font-promises-gc-expected.txt: Added.
- fast/text/font-promises-gc.html: Added.
- 6:28 AM Changeset in webkit [257984] by
-
- 2 edits in releases/WebKitGTK/webkit-2.28
Merge r257649 - Fix issue in cmake build for checking ccache
https://bugs.webkit.org/show_bug.cgi?id=208377
Reviewed by Carlos Alberto Lopez Perez.
If either of the "readlink" or "which" commands fail when looking for the ccache prefix
the output variables will be empty and an invalid expression will be provided to CMake.
e.g. we will get something like:
if ("0" "EQUAL" "0" "AND" "1" "EQUAL" "0" "AND" "STREQUAL" "/usr/local/bin/ccache")
The fix is to wrap the output variables in the quotes when unboxing them in the if.
- Source/cmake/WebKitCCache.cmake:
- 6:28 AM Changeset in webkit [257983] by
-
- 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore
Merge r257640 - updateCSSTransitionsForElementAndProperty should clone RenderStyles
https://bugs.webkit.org/show_bug.cgi?id=208356
rdar://59869560
Reviewed by Antti Koivisto.
Make ownership of the local variable clear by cloning the RenderStyles
used in updateCSSTransitionsForElementAndProperty rather than referencing
different versions.
- animation/AnimationTimeline.cpp:
(WebCore::AnimationTimeline::updateCSSTransitionsForElementAndProperty):
- 6:28 AM Changeset in webkit [257982] by
-
- 3 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore
Merge r257639 - Retain cycle between CSSFontSelector -> CSSFontFaceSet -> CSSFontFace -> CSSFontSelector
https://bugs.webkit.org/show_bug.cgi?id=196437
<rdar://problem/46598332>
Reviewed by Alex Christensen.
Break the reference cycle using a WeakPtr. The leak was reproducible by browsing CNN.com
and then navigating to about:blank (those objects would stay around, even after memory
pressure signal).
- css/CSSFontFace.cpp:
(WebCore::CSSFontFace::CSSFontFace):
(WebCore::CSSFontFace::fontLoadEventOccurred):
- css/CSSFontFace.h:
- 6:27 AM Changeset in webkit [257981] by
-
- 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore
Merge r257638 - [SOUP] Unreviewed. Fix unused parameter warning
- platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::getRawCookies const):
- 6:27 AM Changeset in webkit [257980] by
-
- 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore
Merge r257635 - [GStreamer] Unreviewed. Fix build warning.
queueSize is of type size_t so it should use the proper format
specifier.
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(restartLoaderIfNeeded):
(stopLoaderIfNeeded):
- 6:27 AM Changeset in webkit [257979] by
-
- 3 edits2 adds in releases/WebKitGTK/webkit-2.28
Merge r257616 - Hit test with clipPath referencing parent element causes infinite recursion
https://bugs.webkit.org/show_bug.cgi?id=208279
Patch by Doug Kelly <Doug Kelly> on 2020-02-27
Reviewed by Ryosuke Niwa.
Source/WebCore:
Add an early return for SVG hit tests which have a child element referencing a parent clipPath.
This change breaks the cycle, although it unfortunately runs on every hit test, for each node which
is a child of the clipPath element.
Test: svg/hittest/svg-clip-path-child-element.html
- rendering/svg/RenderSVGResourceClipper.cpp:
(WebCore::RenderSVGResourceClipper::hitTestClipContent):
LayoutTests:
- svg/hittest/svg-clip-path-child-element-expected.txt: Added.
- svg/hittest/svg-clip-path-child-element.html: Added.
- 6:22 AM Changeset in webkit [257978] by
-
- 16 edits2 deletes in trunk
Remove the experimental flag for Pointer Events
https://bugs.webkit.org/show_bug.cgi?id=208655
<rdar://problem/60090545>
Reviewed by Dean Jackson.
Source/WebCore:
- dom/Element.cpp:
(WebCore::dispatchPointerEventIfNeeded):
(WebCore::Element::removedFromAncestor):
- dom/Element.idl:
- dom/NavigatorMaxTouchPoints.idl:
- dom/PointerEvent.idl:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setPointerEventsEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::pointerEventsEnabled const): Deleted.
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::resolveElement):
Source/WebKit:
- Shared/WebPreferences.yaml:
Source/WebKitLegacy/mac:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences syntheticEditingCommandsEnabled]):
(-[WebPreferences setSyntheticEditingCommandsEnabled:]):
(-[WebPreferences pointerEventsEnabled]): Deleted.
(-[WebPreferences setPointerEventsEnabled:]): Deleted.
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
LayoutTests:
- fast/events/pointer/ios/tap-gives-pointerdown-pointerup.html:
- pointerevents/disabled-expected.html: Removed.
- pointerevents/disabled.html: Removed.
- 4:41 AM Changeset in webkit [257977] by
-
- 4 edits2 adds in trunk
[GStreamer] Streaming aac/mp3 audio doesn't always work
https://bugs.webkit.org/show_bug.cgi?id=205801
Reviewed by Philippe Normand.
Source/WebCore:
Don't rely on response size to replace Content-Length. This may break streaming videos,
which should always have an Infinite duration.
This patch is based on the fix found by Philippe Normand <pnormand@igalia.com>
Test: http/tests/media/video-no-content-length-stall.html
- platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(CachedResourceStreamingClient::dataReceived):
LayoutTests:
The new test checks that end-of-stream (thus, end of playback) isn't triggered when a live
audio stream is being played. Live streams don't have Content-Length and are loaded as
they are generated (no future data is available immediately). This is simulated by omitting
Content-Length and artificially stalling the stream at a given offset.
- http/tests/media/resources/serve-video.php: Now the file continues to be served after
the stall when stallOffset/stallDuration are used.
- http/tests/media/video-no-content-length-stall-expected.txt: Added.
- http/tests/media/video-no-content-length-stall.html: Added.
- 3:53 AM Changeset in webkit [257976] by
-
- 11 edits in trunk
[intersection-observer] Accept a Document as an explicit root
https://bugs.webkit.org/show_bug.cgi?id=208047
Patch by Frederic Wang <fwang@igalia.com> on 2020-03-06
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
- web-platform-tests/intersection-observer/document-scrolling-element-root-expected.txt:
Update expectation now that the test passes.
Source/WebCore:
This patch introduces a recent enhancement to the Intersection Observer specification: the
root initialization parameter can be explicitly be set to a Document. The typical use case
is when document is an iframe. See https://github.com/w3c/IntersectionObserver/issues/372
This patch also updates the way Element's intersection observer data is handled so that it is
more consistent with the explicit Document root case introduced here.
Test: imported/w3c/web-platform-tests/intersection-observer/document-scrolling-element-root.html
- dom/Document.cpp:
(WebCore::Document::~Document): Notify observers about our desctruction.
(WebCore::Document::updateIntersectionObservations): Use new method name. This does not
require null-check because ensureIntersectionObserverData() has been called in
IntersectionObserver::observe().
(WebCore::Document::ensureIntersectionObserverData): Return reference to intersection
observer data for this document, creating one if it does not exist.
- dom/Document.h: Add new intersection observer data, used for documents that are explicit
intersection observer roots.
(WebCore::Document::intersectionObserverDataIfExists): Return pointer to intersection
observer data or null if it does not exist.
- dom/Element.cpp:
(WebCore::Element::didMoveToNewDocument): Use new method name.
(WebCore::Element::disconnectFromIntersectionObservers): Ditto and null-check weak refs.
(WebCore::Element::intersectionObserverDataIfExists): Rename method to match Document's one
and be more explicit that it will be null if it does not exist.
(WebCore::Element::intersectionObserverData): Renamed.
- dom/Element.h: Renamed.
- html/LazyLoadImageObserver.cpp:
(WebCore::LazyLoadImageObserver::intersectionObserver): Initialize with a WTF::Optional
after API change.
- page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::create): Pass a Node* root, which can be null (implicit
root), Document* or Element* (explicit roots). This is determined from init.root.
(WebCore::IntersectionObserver::IntersectionObserver): Handle the case of explicit Document
root.
(WebCore::IntersectionObserver::~IntersectionObserver): Ditto and update method name for
the explicit Element case. Note that in both explicit root cases the corresponding
ensureIntersectionObserverData() method had been called in the constructor so they can
be safely deferenced.
(WebCore::IntersectionObserver::removeTargetRegistration): Use new method name.
- page/IntersectionObserver.h: Update comment and code now that explicit root is a Node* and
IntersectionObserver::Init::root is either an Element or a Document or null.
(WebCore::IntersectionObserver::root const): Ditto.
(): Deleted.
- page/IntersectionObserver.idl: Update IDL to match the spec IntersectionObserver::root
is a nullable Node and IntersectionObserverInit::root a nullable Element or Document.
- 3:11 AM Changeset in webkit [257975] by
-
- 142 edits in trunk/Source/WebCore
Put all generated JSCells in WebCore into IsoSubspace
https://bugs.webkit.org/show_bug.cgi?id=205107
Reviewed by Saam Barati.
This patch automatically generates IsoSubspace per WebCore DOM object type.
In preprocess-idls.pl, we collect all the DOM object types and generate DOMIsoSubspaces class,
which contains all the necessary IsoSubspaces. And it is held by WebCoreJSClientData.
CodeGeneratorJS.pm starts putting
subspaceFor
andsubspaceForImpl
for each JS DOM wrapper classes.
And we dynamically create IsoSubspace and set it to WebCoreJSClientData's DOMIsoSubspaces. At the same
time, we register IsoSubspace to m_outputConstraintSpaces if the class has output constraits callback.
From the previous patch, we fixed outputConstraintSpaces bug, which is returning a copy of Vector<>
instead of a reference to the member Vector.
- CMakeLists.txt:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- WebCoreMacros.cmake:
- bindings/js/JSDOMWrapper.cpp:
(WebCore::outputConstraintSubspaceFor): Deleted.
- bindings/js/JSDOMWrapper.h:
- bindings/js/WebCoreJSClientData.cpp:
(WebCore::JSVMClientData::JSVMClientData):
- bindings/js/WebCoreJSClientData.h:
(WebCore::JSVMClientData::forEachOutputConstraintSpace):
(WebCore::JSVMClientData::subspaces):
(WebCore::JSVMClientData::outputConstraintSpace): Deleted.
(WebCore::JSVMClientData::subspaceForJSDOMWindow): Deleted.
(WebCore::JSVMClientData::subspaceForJSDedicatedWorkerGlobalScope): Deleted.
(WebCore::JSVMClientData::subspaceForJSRemoteDOMWindow): Deleted.
(WebCore::JSVMClientData::subspaceForJSWorkerGlobalScope): Deleted.
(WebCore::JSVMClientData::subspaceForJSServiceWorkerGlobalScope): Deleted.
(WebCore::JSVMClientData::subspaceForJSPaintWorkletGlobalScope): Deleted.
(WebCore::JSVMClientData::subspaceForJSWorkletGlobalScope): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
- bindings/scripts/generate-bindings-all.pl:
- bindings/scripts/preprocess-idls.pl:
- bindings/scripts/test/JS/JSInterfaceName.cpp:
(WebCore::JSInterfaceName::subspaceForImpl):
- bindings/scripts/test/JS/JSInterfaceName.h:
(WebCore::JSInterfaceName::subspaceFor):
- bindings/scripts/test/JS/JSMapLike.cpp:
(WebCore::JSMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSMapLike.h:
(WebCore::JSMapLike::subspaceFor):
- bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
(WebCore::JSReadOnlyMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSReadOnlyMapLike.h:
(WebCore::JSReadOnlyMapLike::subspaceFor):
- bindings/scripts/test/JS/JSReadOnlySetLike.cpp:
(WebCore::JSReadOnlySetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSReadOnlySetLike.h:
(WebCore::JSReadOnlySetLike::subspaceFor):
- bindings/scripts/test/JS/JSSetLike.cpp:
(WebCore::JSSetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSSetLike.h:
(WebCore::JSSetLike::subspaceFor):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestActiveDOMObject.h:
(WebCore::JSTestActiveDOMObject::subspaceFor):
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::JSTestCEReactions::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactions.h:
(WebCore::JSTestCEReactions::subspaceFor):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::JSTestCEReactionsStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.h:
(WebCore::JSTestCEReactionsStringifier::subspaceFor):
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::JSTestCallTracer::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCallTracer.h:
(WebCore::JSTestCallTracer::subspaceFor):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJIT::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDOMJIT.h:
(WebCore::JSTestDOMJIT::subspaceFor):
- bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySetting::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledBySetting.h:
(WebCore::JSTestEnabledBySetting::subspaceFor):
- bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
(WebCore::JSTestEnabledForContext::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledForContext.h:
(WebCore::JSTestEnabledForContext::subspaceFor):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventConstructor.h:
(WebCore::JSTestEventConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventTarget.h:
(WebCore::JSTestEventTarget::subspaceFor):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestException.h:
(WebCore::JSTestException::subspaceFor):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
(WebCore::JSTestGenerateIsReachable::subspaceFor):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGlobalObject.h:
(WebCore::JSTestGlobalObject::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h:
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::JSTestIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h:
(WebCore::JSTestIndexedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h:
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h:
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceFor):
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::JSTestIterable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIterable.h:
(WebCore::JSTestIterable::subspaceFor):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
(WebCore::JSTestJSBuiltinConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListener::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
(WebCore::JSTestMediaQueryListListener::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h:
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedConstructor.h:
(WebCore::JSTestNamedConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h:
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::JSTestNamedDeleterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h:
(WebCore::JSTestNamedDeleterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h:
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h:
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::JSTestNamedGetterCallWith::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.h:
(WebCore::JSTestNamedGetterCallWith::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::JSTestNamedGetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h:
(WebCore::JSTestNamedGetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::JSTestNamedGetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h:
(WebCore::JSTestNamedGetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h:
(WebCore::JSTestNamedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::JSTestNamedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h:
(WebCore::JSTestNamedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h:
(WebCore::JSTestNamedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h:
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:
(WebCore::JSTestNamedSetterWithOverrideBuiltins::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h:
(WebCore::JSTestNamedSetterWithOverrideBuiltins::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
(WebCore::JSTestNamedSetterWithUnforgableProperties::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h:
(WebCore::JSTestNamedSetterWithUnforgableProperties::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h:
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::subspaceFor):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNode::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::subspaceForImpl):
- bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObj::subspaceFor):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructors::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
(WebCore::JSTestOverloadedConstructors::subspaceFor):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceFor):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::JSTestOverrideBuiltins::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
(WebCore::JSTestOverrideBuiltins::subspaceFor):
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::JSTestPluginInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPluginInterface.h:
(WebCore::JSTestPluginInterface::subspaceFor):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::JSTestPromiseRejectionEvent::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h:
(WebCore::JSTestPromiseRejectionEvent::subspaceFor):
- bindings/scripts/test/JS/JSTestSerialization.cpp:
(WebCore::JSTestSerialization::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerialization.h:
(WebCore::JSTestSerialization::subspaceFor):
- bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp:
(WebCore::JSTestSerializationIndirectInheritance::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.h:
(WebCore::JSTestSerializationIndirectInheritance::subspaceFor):
- bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
(WebCore::JSTestSerializationInherit::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializationInherit.h:
(WebCore::JSTestSerializationInherit::subspaceFor):
- bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
(WebCore::JSTestSerializationInheritFinal::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializationInheritFinal.h:
(WebCore::JSTestSerializationInheritFinal::subspaceFor):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
(WebCore::JSTestSerializedScriptValueInterface::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::JSTestStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifier.h:
(WebCore::JSTestStringifier::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::JSTestStringifierAnonymousOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h:
(WebCore::JSTestStringifierAnonymousOperation::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::JSTestStringifierNamedOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.h:
(WebCore::JSTestStringifierNamedOperation::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::JSTestStringifierOperationImplementedAs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h:
(WebCore::JSTestStringifierOperationImplementedAs::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::JSTestStringifierOperationNamedToString::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h:
(WebCore::JSTestStringifierOperationNamedToString::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h:
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::JSTestStringifierReadWriteAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h:
(WebCore::JSTestStringifierReadWriteAttribute::subspaceFor):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTypedefs.h:
(WebCore::JSTestTypedefs::subspaceFor):
- 2:54 AM Changeset in webkit [257974] by
-
- 143 edits in trunk/Source/WebCore
Unreviewed, rolling out r257950.
https://bugs.webkit.org/show_bug.cgi?id=208704
causing debug failure (Requested by yusukesuzuki on #webkit).
Reverted changeset:
"Put all generated JSCells in WebCore into IsoSubspace"
https://bugs.webkit.org/show_bug.cgi?id=205107
https://trac.webkit.org/changeset/257950
- 2:02 AM Changeset in webkit [257973] by
-
- 2 edits in trunk/Tools
[WPE][WebDriver] MiniBrowser should react to close session commands
https://bugs.webkit.org/show_bug.cgi?id=207529
Reviewed by Carlos Garcia Campos.
Do not call g_object_unref on the first created view if it has already
been disposed in the "close" signal handler.
Based on original patch by Yury Semikhatsky.
- MiniBrowser/wpe/main.cpp:
(main):
- 1:49 AM Changeset in webkit [257972] by
-
- 4 edits in trunk
[WPE][GTK] Use Firefox user agent quirk more aggressively on Google Docs
https://bugs.webkit.org/show_bug.cgi?id=208647
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-03-06
Reviewed by Carlos Garcia Campos.
Source/WebCore:
I had previously determined that we need to send a Firefox user agent quirk to
accounts.youtube.com to avoid unsupported browser warnings on Google Docs. Either the user
agent check has since become more aggressive, or it somehow depends on factors I don't
understand, but as of today it's no longer enough. We now need the quirk for docs.google.com
as well.
- platform/UserAgentQuirks.cpp:
(WebCore::urlRequiresFirefoxBrowser):
Tools:
- TestWebKitAPI/Tests/WebCore/UserAgentQuirks.cpp:
(TestWebKitAPI::TEST):
- 1:31 AM Changeset in webkit [257971] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK gardening. Mark fast/images/image-map-outline-in-positioned-container.html as expected failure
- platform/gtk/TestExpectations:
Mar 5, 2020:
- 10:32 PM Changeset in webkit [257970] by
-
- 2 edits in trunk/Source/WebCore
[LFC][TFC] An absolute positioned <table> should establish a table formatting context
https://bugs.webkit.org/show_bug.cgi?id=208695
<rdar://problem/60122473>
Reviewed by Antti Koivisto.
Not all type of content gets blockified when out-of-flow positioned or floated.
- layout/layouttree/LayoutBox.cpp:
(WebCore::Layout::Box::establishesBlockFormattingContext const):
- 10:16 PM Changeset in webkit [257969] by
-
- 3 edits in trunk/Source/WebKit
[iOS] Remove reporting for some well-understood framebuffer routines
https://bugs.webkit.org/show_bug.cgi?id=208686
<rdar://problem/59181061>
Reviewed by Per Arne Vollan.
We have captured backlogs capturing the use of more framebuffer-related rules. We
should remove this reporting to reduce log spam.
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 9:59 PM Changeset in webkit [257968] by
-
- 2 edits in trunk/Source/WebKit
GPU Process sandbox errors
https://bugs.webkit.org/show_bug.cgi?id=208688
<rdar://problem/60085171>
Reviewed by Per Arne Vollan.
The new GPU Process needs access to a number of properties to support media playback
features available in our shipping software.
- GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in:
- 9:13 PM Changeset in webkit [257967] by
-
- 2 edits in trunk/LayoutTests
[WPE] Garden some webgl 2.0 failures.
Unreviewed test gardening.
- platform/wpe/TestExpectations:
- 8:11 PM Changeset in webkit [257966] by
-
- 5 edits in trunk/Source/WebCore
Simplify gradient parsing
https://bugs.webkit.org/show_bug.cgi?id=208417
Reviewed by Anders Carlsson.
- Use Optional<> and invalid Color to represent unspecified positions and colors. This is simpler and easier to get right than separate booleans.
- Simplified sorting of stops in legacy gradients to remove extra CSS value evaluation and unnecessary "sort in place" technique.
- Rewrote equals functions for CSS gradient value classes. The new pattern is to compare all the data members that hold parsed CSS data, handling null correctly, since the parser won't set inappropriate ones. The old code had complex logic to only compare certain data members, which was unnecessary and hard to read to tell if it was correct.
- Added some more use of WTFMove to cut down on reference count churn.
- css/CSSGradientValue.cpp:
(WebCore::CSSGradientValue::image): Removed unneeded call to get().
(WebCore::compareStops): Deleted.
(WebCore::CSSGradientValue::sortStopsIfNeeded): Deleted.
(WebCore::resolveStopColors): Take advantage of the fact that we know because
of parsing rules that the only stops without colors are midpoints to drastically
simplify this function to a trivial loop.
(WebCore::CSSGradientValue::hasColorDerivedFromElement const): Added.
Checks to see if any of the stop colors is derived from the element. The old
code confusingly would store the answer to this in the stop, but only in the
first stop with this property. Computing it without modifying the stop, and
memoizing it in the gradient preserves the same performance characteristics
as before without requiring a boolean in each stop in the stops vector.
(WebCore::CSSGradientValue::gradientWithStylesResolved): Call the new
hasColorDerivedFromElement function instead of having the logic here.
(WebCore::LinearGradientAdapter::normalizeStopsAndEndpointsOutsideRange):
Update since GradientStop now has optional offsets. By the time this
function is called they are all guaranteed to be filled in, so we can
just use the * operator.
(WebCore::RadialGradientAdapter::normalizeStopsAndEndpointsOutsideRange):
Ditto.
(WebCore::ConicGradientAdapter::normalizeStopsAndEndpointsOutsideRange):
Ditto.
(WebCore::CSSGradientValue::computeStops): Moved the sorting of stops for
the deprecated gradients here. Also updated since Gradient::ColorStop
no longer uses "m_" prefixes on its public struct data members. Some
simplification because we no longer need to explicitly set "specified"
to true since it's no longer a separate boolean.
(WebCore::positionFromValue): Handle a null pointer for value by returning
0, which is what the caller was doing explicitly before. Use float
instead of int for some internal computations that were mixing the two
for no good reason.
(WebCore::computeEndPoint): Removed null checks now that positionFromValue
does them for us, turning this into a one-liner.
(WebCore::CSSGradientValue::isCacheable const): Use hasColorDerivedFromElement.
(WebCore::CSSGradientValue::knownToBeOpaque const): Removed unnnecessary
checking the color both before and after when a color filter is involved.
(WebCore::CSSGradientValue::equals const): Added. Shared by all the equals
functions for derived classes.
(WebCore::appendGradientStops): Updated for changes to CSSGradientColorStop.
(WebCore::appendSpaceSeparatedOptionalCSSPtrText): Added template helper
for writing two optional CSS values with a space between.
(WebCore::writeColorStop): Ditto. Also converted to non-member function,
removed unneeded isMidpoint check, use appendSpaceSeparatedOptionalCSSPtrText.
(WebCore::CSSLinearGradientValue::customCSSText const): Call function
members so we don't have to expose CSSGradientValue data members as
protected things that can be accessed by derived classes. Some other
small refactoring, such as getting rid of extra boolean wroteFirstStop.
(WebCore::CSSLinearGradientValue::createGradient): Updated to use
function members instead of protected data members.
(WebCore::CSSLinearGradientValue::equals const): Compare all data
members and use CSSGradientValue::equals, makes this a 1-liner.
(WebCore::CSSRadialGradientValue::customCSSText const): Call function
members as described above and use appendSpaceSeparatedOptionalCSSPtrText.
(WebCore::CSSRadialGradientValue::createGradient): Ditto.
(WebCore::CSSRadialGradientValue::equals const): Compare all data
members and use CSSGradientValue::equals.
(WebCore::CSSConicGradientValue::customCSSText const): Call function
members as described above and use appendSpaceSeparatedOptionalCSSPtrText.
(WebCore::CSSConicGradientValue::createGradient): Ditto.
(WebCore::CSSConicGradientValue::equals const): Compare all data
members and use CSSGradientValue::equals, makes this a 1-liner.
- css/CSSGradientValue.h: Removed unneeded includes and forward declarations.
Renamed CSSGradientColorStop data members to not use m_ prefix since this is
a struct with public data members, and WebKit style says not to do that here.
Removed m_colorIsDerivedFromElement and isMidpoint from CSSGradientColorStop,
m_colorIsDerivedFromElement is now stored in the gradient, not the color stop,
and midpoints are any color stop with null color. Replaced the
CSSGradientValue::stopCount function, which mixed size_t and unsigned types,
with a hasTwoStops function, which is all the caller needs. Converted the
isFixedSize, fixedSize, isPending, and loadSubimages into static member
functions: they don't do any work and so don't need an instance. Removed
the unneeded gradient type argument to the cloning constructors. Removed
m_stopsSorted and added m_hasColorDerivedFromElement and
hasColorDerivedFromElement. Added getter functions that are protected so
the data members themselves can be private. Removed sortStopsIfNeeded
and writeColorStop.
- css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradientColorStop):
Updated for CSSGradientColorStop member renaming.
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedGradient): Use
more WTFMove to save a little bit of reference count churn; in some cases
that means moving the setter calls to the end of the function after all
the error checking.
(WebCore::CSSPropertyParserHelpers::consumeGradientColorStops): Ditto.
Removed code to set isMidpoint and the FIXME-NEWPARSER comment that said
it could be removed. Used lambda to cut down on repeated code. Changed
parsing of stops with a second position to repeat the color instead of
relying on later computation to repeat it; this is required so we can
always treat an omitted color as a midpoint.
(WebCore::CSSPropertyParserHelpers::consumeDeprecatedRadialGradient): Ditto.
(WebCore::CSSPropertyParserHelpers::consumeRadialGradient): Ditto.
(WebCore::CSSPropertyParserHelpers::consumeLinearGradient): Ditto.
(WebCore::CSSPropertyParserHelpers::consumeConicGradient): Ditto.
- html/HTMLInputElement.cpp:
(WebCore::autoFillStrongPasswordMaskImage): Updated for the renamed
CSSGradientColorStop members, added a missing call to doneAddingStops,
and use some WTFMove to cut down on reference count churn.
- 7:57 PM Changeset in webkit [257965] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: AXI: annotate tab panels
https://bugs.webkit.org/show_bug.cgi?id=208542
Reviewed by Devin Rousso.
- Localizations/en.lproj/localizedStrings.js:
- UserInterface/Base/Main.js:
Remove
role=main
since it was providing very generic and not useful description to VoiceOver.
- 7:00 PM Changeset in webkit [257964] by
-
- 3 edits in trunk/Source/WebKit
Pre-fetch first page in new PDF loading model.
https://bugs.webkit.org/show_bug.cgi?id=208669
Reviewed by Alex Christensen.
Also add some logging.
- Platform/Logging.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::dataProviderGetBytesAtPositionCallback):
(WebKit::dataProviderGetByteRangesCallback):
(WebKit::PDFPlugin::threadEntry):
- 6:37 PM Changeset in webkit [257963] by
-
- 15 edits in trunk
Add WKNavigationDelegatePrivate SPI to inform application of subframe navigations
https://bugs.webkit.org/show_bug.cgi?id=208670
Reviewed by Brady Eidson.
Source/WebKit:
There is no WKNavigation for subframe navigations, so just expose the NSURLRequest directly.
This is equivalent to WKNavigation._request, which is distinct from WKFrameInfo.request.
The former is the currently pending request, the latter is the request that has already loaded.
I needed to move the isMainFrame check to the NavigationClient implementations.
This is needed for <rdar://problem/57201034>.
Covered by API tests.
- UIProcess/API/APINavigationClient.h:
(API::NavigationClient::didStartProvisionalNavigation):
(API::NavigationClient::didFailProvisionalNavigationWithError):
(API::NavigationClient::didCommitNavigation):
(API::NavigationClient::didFinishNavigation):
(API::NavigationClient::didFailNavigationWithError):
(API::NavigationClient::didFailProvisionalLoadInSubframeWithError): Deleted.
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageNavigationClient):
- UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
- UIProcess/API/glib/WebKitNavigationClient.cpp:
- UIProcess/Cocoa/NavigationState.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::NavigationClient::didStartProvisionalNavigation):
(WebKit::createErrorWithRecoveryAttempter):
(WebKit::NavigationState::NavigationClient::didFailProvisionalNavigationWithError):
(WebKit::NavigationState::NavigationClient::didCommitNavigation):
(WebKit::NavigationState::NavigationClient::didFinishNavigation):
(WebKit::NavigationState::NavigationClient::didFailNavigationWithError):
(WebKit::NavigationState::NavigationClient::didFailProvisionalLoadInSubframeWithError): Deleted.
- UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::cancel):
(WebKit::ProvisionalPageProxy::didStartProvisionalLoadForFrame):
(WebKit::ProvisionalPageProxy::didFailProvisionalLoadForFrame):
(WebKit::ProvisionalPageProxy::didCommitLoadForFrame):
- UIProcess/ProvisionalPageProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::commitProvisionalPage):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrame):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared):
(WebKit::WebPageProxy::didFailProvisionalLoadForFrame):
(WebKit::WebPageProxy::didFailProvisionalLoadForFrameShared):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
(WebKit::WebFrameLoaderClient::dispatchDidFailProvisionalLoad):
(WebKit::WebFrameLoaderClient::dispatchDidFailLoad):
(WebKit::WebFrameLoaderClient::dispatchDidFinishLoad):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/Navigation.mm:
(-[FrameNavigationDelegate waitForNavigations:]):
(-[FrameNavigationDelegate requests]):
(-[FrameNavigationDelegate frames]):
(-[FrameNavigationDelegate callbacks]):
(-[FrameNavigationDelegate _webView:didStartProvisionalLoadWithRequest:inFrame:]):
(-[FrameNavigationDelegate _webView:didFailProvisionalLoadWithRequest:inFrame:withError:]):
(-[FrameNavigationDelegate _webView:didCommitLoadWithRequest:inFrame:]):
(-[FrameNavigationDelegate _webView:didFailLoadWithRequest:inFrame:withError:]):
(-[FrameNavigationDelegate _webView:didFinishLoadWithRequest:inFrame:]):
(TEST):
- 6:33 PM Changeset in webkit [257962] by
-
- 14 edits in trunk
Add WKFrameInfo._parentFrameHandle SPI
https://bugs.webkit.org/show_bug.cgi?id=208674
Reviewed by Brady Eidson.
Source/WebKit:
I got carried away and removed it in r257872 but it's still needed for <rdar://problem/57201034>
Covered by API tests.
- Shared/FrameInfoData.cpp:
(WebKit::FrameInfoData::encode const):
(WebKit::FrameInfoData::decode):
- Shared/FrameInfoData.h:
- UIProcess/API/APIFrameInfo.cpp:
(API::FrameInfo::parentFrameHandle const):
- UIProcess/API/APIFrameInfo.h:
- UIProcess/API/APIFrameTreeNode.cpp:
(API::FrameTreeNode::parentFrameHandle const):
- UIProcess/API/APIFrameTreeNode.h:
- UIProcess/API/Cocoa/WKFrameInfo.mm:
(-[WKFrameInfo _parentFrameHandle]):
- UIProcess/API/Cocoa/WKFrameInfoPrivate.h:
- UIProcess/API/Cocoa/_WKFrameTreeNode.mm:
(-[_WKFrameTreeNode _parentFrameHandle]):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::info const):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
- 5:22 PM Changeset in webkit [257961] by
-
- 7 edits in trunk/LayoutTests
REGRESSION (r257938): 5 event-region tests in fast/scrolling/ios are failing
https://bugs.webkit.org/show_bug.cgi?id=208673
Unreviewed test fix.
The code now bails frome event region building by checking settings, so these tests
need to enable async overflow scrolling.
- fast/scrolling/ios/border-radius-event-region-expected.txt:
- fast/scrolling/ios/border-radius-event-region.html:
- fast/scrolling/ios/event-region-pointer-events.html:
- fast/scrolling/ios/event-region-scale-transform-shared.html:
- fast/scrolling/ios/event-region-translate-transform-shared.html:
- fast/scrolling/ios/event-region-visibility-hidden.html:
- 5:19 PM Changeset in webkit [257960] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk2 Release ] fast/scrolling/scroll-animator-overlay-scrollbars-hovered.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208678
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 4:46 PM Changeset in webkit [257959] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: AXI: can't leave Styles and Computed panels by pressing Tab
https://bugs.webkit.org/show_bug.cgi?id=208549
<rdar://problem/60020149>
Reviewed by Devin Rousso.
Remove focus cycling inside of the Styles and Computed panels.
- UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
(WI.GeneralStyleDetailsSidebarPanel.prototype._handleForcedPseudoClassCheckboxKeydown):
(WI.GeneralStyleDetailsSidebarPanel.prototype._handleFilterBarInputFieldKeyDown):
- 4:30 PM Changeset in webkit [257958] by
-
- 11 edits in trunk
Remove the optimization for discarding no operation DisplayList items between Save and Restore items
https://bugs.webkit.org/show_bug.cgi?id=208659
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-03-05
Reviewed by Simon Fraser.
Source/WebCore:
This optimization is wrong in the case of drawing a canvas in general.
The original implementation of the DisplayList assumes balanced Save/
Restore GraphicsContext. In canvas a GraphicsConext 'save' can be issued
in a frame and the corresponding restore is issued many frames later.
- platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::removeItemsFromIndex): Deleted.
- platform/graphics/displaylists/DisplayList.h:
- platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::operator<<):
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::Save::encode const):
(WebCore::DisplayList::Save::decode):
(WebCore::DisplayList::Save::restoreIndex const): Deleted.
(WebCore::DisplayList::Save::setRestoreIndex): Deleted.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::save):
(WebCore::DisplayList::Recorder::restore):
- platform/graphics/displaylists/DisplayListRecorder.h:
(WebCore::DisplayList::Recorder::ContextState::cloneForSave const):
LayoutTests:
Re-baseline the DisplayList tests.
- displaylists/canvas-display-list-expected.txt:
- displaylists/extent-includes-shadow-expected.txt:
- displaylists/extent-includes-transforms-expected.txt:
- 4:21 PM Changeset in webkit [257957] by
-
- 2 edits in trunk/Source/WebKit
Add web page additions to WebPageProxy
https://bugs.webkit.org/show_bug.cgi?id=208666
<rdar://problem/60100413>
Reviewed by Brent Fulgham.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::isAppBoundDomain const):
(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomain):
- 4:06 PM Changeset in webkit [257956] by
-
- 4 edits in trunk/Source/WebKit
[macOS] Create sandbox extension for "com.apple.tccd"
https://bugs.webkit.org/show_bug.cgi?id=208660
<rdar://problem/57666569>
Reviewed by Per Arne Vollan.
Make the same changes for macOS as we did for iOS in Bug 204367. Specifically, remove the
blanket mach-lookup permission for 'com.apple.tccd', and instead make a dynamic extension
only when a camera or microphone request is made.
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::finishGrantingRequest): Update to create the
extensions on macOS, too.
- UIProcess/UserMediaPermissionRequestManagerProxy.h:
- WebProcess/com.apple.WebProcess.sb.in: Remove blanket access permissions and move them to
the dynamic access permissions section of the sandbox.
- 4:02 PM Changeset in webkit [257955] by
-
- 2 edits in trunk/Source/WebCore
Add signposts for top-level execution of script elements
https://bugs.webkit.org/show_bug.cgi?id=208548
Reviewed by Alex Christensen.
This adds signposts for initial global scope code evaluation of script elements. This makes
it easier to understand what code is executing and blocking initial HTML parsing from
completing.
In the long run, it would be nice to extend this to all top-level entry points back into JS
(e.g. we should emit an interval if we re-enter a script via setTimeout). However, such
probes have been removed in the past for being too noisy or slow (like in
https://bugs.webkit.org/show_bug.cgi?id=187196), so let's just start with this for now.
Note that we do emit the script URL in the signpost, but the signpost is gated behind both
an environment variable and an Apple-internal check to prevent accidentally leaking
sensitive info.
- dom/ScriptElement.cpp:
(WebCore::ScriptElement::executeClassicScript):
(WebCore::ScriptElement::executeModuleScript):
- 3:58 PM Changeset in webkit [257954] by
-
- 17 edits1 add in trunk
[WebAuthn] Implement SPI -[_WKWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:]
https://bugs.webkit.org/show_bug.cgi?id=208626
<rdar://problem/60074148>
Reviewed by Brent Fulgham.
Source/WebKit:
The patch adds a parameter (source) to the original SPI such that clients can know where those responses are from.
Besides that this patch also changes the completionHandler to accept a pointer instead of a reference such that clients
can pass a nullptr as a no op. In order to keep WebKitTestRunner running, the patch then overrides this SPI in the C API to
always return the first item.
- UIProcess/API/APIWebAuthenticationAssertionResponse.h:
- UIProcess/API/APIWebAuthenticationPanelClient.h:
(API::WebAuthenticationPanelClient::selectAssertionResponse const):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- UIProcess/WebAuthentication/Authenticator.h:
- UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::AuthenticatorManager::selectAssertionResponse):
- UIProcess/WebAuthentication/AuthenticatorManager.h:
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::getAssertion):
- UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.h:
- UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.mm:
(WebKit::WebAuthenticationPanelClient::WebAuthenticationPanelClient):
(WebKit::wkWebAuthenticationSource):
(WebKit::WebAuthenticationPanelClient::selectAssertionResponse const):
- UIProcess/WebAuthentication/WebAuthenticationFlags.h:
- UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::continueGetNextAssertionAfterResponseReceived):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:source:completionHandler:]):
(TestWebKitAPI::TEST):
(-[TestWebAuthenticationPanelDelegate panel:selectAssertionResponse:completionHandler:]): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-hid-multiple-accounts.html:
- TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-la.html: Added.
- 3:55 PM Changeset in webkit [257953] by
-
- 6 edits in trunk/Source/WebKit
Running a single layout test makes 28 WebProcessPools (and launches 6 Network processes)
https://bugs.webkit.org/show_bug.cgi?id=208541
<rdar://problem/60018602>
Reviewed by Youenn Fablet.
WebKitTestRunner was contructing a page / process pool and then calling into various
WebsiteDataStore APIs to reset / clear state. Because nothing had been loaded in the
view yet, the page would still be using a dummy process proxy (due to delayed process
launch optimization) at the time the WebsiteDataStore APIs are called. Because the
dummy process proxy would not register itself with the WebsiteDataStore (unlike other
processes), the WebsiteDataStore thought it had no associated process pool and would
thus construct a temporary one every time it needed one.
To address the issue, we now construct one dummy process proxy per session (instead of
one for all sessions). As a result, the dummy process proxy can now behave as a normal
WebProcessProxy and have an associated data store and register / unregister itself from
it, depending on whether or not it has pages.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::launchInitialProcessIfNecessary):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):
(WebKit::WebProcessPool::disconnectProcess):
(WebKit::WebProcessPool::processForRegistrableDomain):
(WebKit::WebProcessPool::createWebPage):
- UIProcess/WebProcessPool.h:
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::isDummyProcessProxy const):
(WebKit::WebProcessProxy::updateRegistrationWithDataStore):
(WebKit::WebProcessProxy::maybeShutDown):
- UIProcess/WebProcessProxy.h:
- 3:43 PM Changeset in webkit [257952] by
-
- 2 edits in trunk/Source/WebCore
[First paint] Fixed sized SVG content should taken into account when computing VNE status
https://bugs.webkit.org/show_bug.cgi?id=208663
<rdar://problem/60096896>
Reviewed by Simon Fraser.
Let's add fixed sized SVG to the list of content we track as VNE pixel count.
It helps to reach VNE status sooner on youtube.com.
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::reportVisuallyNonEmptyContent):
- 3:13 PM Changeset in webkit [257951] by
-
- 3 edits in trunk/LayoutTests
REGRESSION (r257840?) [ Mac wk2 Release ] fast/hidpi/image-srcset-relative-svg-canvas.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208577
<rdar://problem/60043401>
Reviewed by Simon Fraser.
This is very similar to webkit.org/b/206254 [fast/hidpi/image-srcset-relative-svg-canvas-2x.html is a flaky]
These tests seem to be very racy (paint vs. layout).
Let's try to fix it by forcing layout (for details see
https://trac.webkit.org/changeset/255331/webkit/trunk/LayoutTests/ChangeLog)
- fast/hidpi/image-srcset-relative-svg-canvas-expected.html:
- fast/hidpi/image-srcset-relative-svg-canvas.html:
- 3:01 PM Changeset in webkit [257950] by
-
- 143 edits in trunk/Source/WebCore
Put all generated JSCells in WebCore into IsoSubspace
https://bugs.webkit.org/show_bug.cgi?id=205107
Reviewed by Saam Barati.
This patch automatically generates IsoSubspace per WebCore DOM object type.
In preprocess-idls.pl, we collect all the DOM object types and generate DOMIsoSubspaces class,
which contains all the necessary IsoSubspaces. And it is held by WebCoreJSClientData.
CodeGeneratorJS.pm starts putting
subspaceFor
andsubspaceForImpl
for each JS DOM wrapper classes.
And we dynamically create IsoSubspace and set it to WebCoreJSClientData's DOMIsoSubspaces. At the same
time, we register IsoSubspace to m_outputConstraintSpaces if the class has output constraits callback.
We also remove stale assertion in JSEventListener. It is saying the following.
- If the world is normal.
- If m_wrapper is gone.
- If m_jsFunction is not gone.
Then, the assertion hits. But this is wrong. We have no guarantee that m_jsFunction is gone when m_wrapper is gone.
We have conservative GC. We have generational GC. Someone can hold m_jsFunction's instance. Everything makes it possible
that m_jsFunction is live while m_wrapper is gone. This patch removes this assertion.
- CMakeLists.txt:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- WebCoreMacros.cmake:
- bindings/js/JSDOMWrapper.cpp:
(WebCore::outputConstraintSubspaceFor): Deleted.
- bindings/js/JSDOMWrapper.h:
- bindings/js/JSEventListener.h:
(WebCore::JSEventListener::jsFunction const):
- bindings/js/WebCoreJSClientData.cpp:
(WebCore::JSVMClientData::JSVMClientData):
- bindings/js/WebCoreJSClientData.h:
(WebCore::JSVMClientData::forEachOutputConstraintSpace):
(WebCore::JSVMClientData::subspaces):
(WebCore::JSVMClientData::outputConstraintSpace): Deleted.
(WebCore::JSVMClientData::subspaceForJSDOMWindow): Deleted.
(WebCore::JSVMClientData::subspaceForJSDedicatedWorkerGlobalScope): Deleted.
(WebCore::JSVMClientData::subspaceForJSRemoteDOMWindow): Deleted.
(WebCore::JSVMClientData::subspaceForJSWorkerGlobalScope): Deleted.
(WebCore::JSVMClientData::subspaceForJSServiceWorkerGlobalScope): Deleted.
(WebCore::JSVMClientData::subspaceForJSPaintWorkletGlobalScope): Deleted.
(WebCore::JSVMClientData::subspaceForJSWorkletGlobalScope): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
- bindings/scripts/generate-bindings-all.pl:
- bindings/scripts/preprocess-idls.pl:
- bindings/scripts/test/JS/JSInterfaceName.cpp:
(WebCore::JSInterfaceName::subspaceForImpl):
- bindings/scripts/test/JS/JSInterfaceName.h:
(WebCore::JSInterfaceName::subspaceFor):
- bindings/scripts/test/JS/JSMapLike.cpp:
(WebCore::JSMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSMapLike.h:
(WebCore::JSMapLike::subspaceFor):
- bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
(WebCore::JSReadOnlyMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSReadOnlyMapLike.h:
(WebCore::JSReadOnlyMapLike::subspaceFor):
- bindings/scripts/test/JS/JSReadOnlySetLike.cpp:
(WebCore::JSReadOnlySetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSReadOnlySetLike.h:
(WebCore::JSReadOnlySetLike::subspaceFor):
- bindings/scripts/test/JS/JSSetLike.cpp:
(WebCore::JSSetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSSetLike.h:
(WebCore::JSSetLike::subspaceFor):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestActiveDOMObject.h:
(WebCore::JSTestActiveDOMObject::subspaceFor):
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::JSTestCEReactions::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactions.h:
(WebCore::JSTestCEReactions::subspaceFor):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::JSTestCEReactionsStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.h:
(WebCore::JSTestCEReactionsStringifier::subspaceFor):
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::JSTestCallTracer::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCallTracer.h:
(WebCore::JSTestCallTracer::subspaceFor):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJIT::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDOMJIT.h:
(WebCore::JSTestDOMJIT::subspaceFor):
- bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySetting::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledBySetting.h:
(WebCore::JSTestEnabledBySetting::subspaceFor):
- bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
(WebCore::JSTestEnabledForContext::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledForContext.h:
(WebCore::JSTestEnabledForContext::subspaceFor):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventConstructor.h:
(WebCore::JSTestEventConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventTarget.h:
(WebCore::JSTestEventTarget::subspaceFor):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestException.h:
(WebCore::JSTestException::subspaceFor):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
(WebCore::JSTestGenerateIsReachable::subspaceFor):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGlobalObject.h:
(WebCore::JSTestGlobalObject::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h:
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::JSTestIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h:
(WebCore::JSTestIndexedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h:
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h:
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceFor):
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::JSTestIterable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIterable.h:
(WebCore::JSTestIterable::subspaceFor):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
(WebCore::JSTestJSBuiltinConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListener::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
(WebCore::JSTestMediaQueryListListener::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h:
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedConstructor.h:
(WebCore::JSTestNamedConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h:
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::JSTestNamedDeleterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h:
(WebCore::JSTestNamedDeleterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h:
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h:
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::JSTestNamedGetterCallWith::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.h:
(WebCore::JSTestNamedGetterCallWith::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::JSTestNamedGetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h:
(WebCore::JSTestNamedGetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::JSTestNamedGetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h:
(WebCore::JSTestNamedGetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h:
(WebCore::JSTestNamedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::JSTestNamedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h:
(WebCore::JSTestNamedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h:
(WebCore::JSTestNamedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h:
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:
(WebCore::JSTestNamedSetterWithOverrideBuiltins::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h:
(WebCore::JSTestNamedSetterWithOverrideBuiltins::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
(WebCore::JSTestNamedSetterWithUnforgableProperties::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h:
(WebCore::JSTestNamedSetterWithUnforgableProperties::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h:
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::subspaceFor):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNode::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::subspaceForImpl):
- bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObj::subspaceFor):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructors::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
(WebCore::JSTestOverloadedConstructors::subspaceFor):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceFor):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::JSTestOverrideBuiltins::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
(WebCore::JSTestOverrideBuiltins::subspaceFor):
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::JSTestPluginInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPluginInterface.h:
(WebCore::JSTestPluginInterface::subspaceFor):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::JSTestPromiseRejectionEvent::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h:
(WebCore::JSTestPromiseRejectionEvent::subspaceFor):
- bindings/scripts/test/JS/JSTestSerialization.cpp:
(WebCore::JSTestSerialization::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerialization.h:
(WebCore::JSTestSerialization::subspaceFor):
- bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp:
(WebCore::JSTestSerializationIndirectInheritance::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.h:
(WebCore::JSTestSerializationIndirectInheritance::subspaceFor):
- bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
(WebCore::JSTestSerializationInherit::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializationInherit.h:
(WebCore::JSTestSerializationInherit::subspaceFor):
- bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
(WebCore::JSTestSerializationInheritFinal::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializationInheritFinal.h:
(WebCore::JSTestSerializationInheritFinal::subspaceFor):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
(WebCore::JSTestSerializedScriptValueInterface::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::JSTestStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifier.h:
(WebCore::JSTestStringifier::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::JSTestStringifierAnonymousOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h:
(WebCore::JSTestStringifierAnonymousOperation::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::JSTestStringifierNamedOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.h:
(WebCore::JSTestStringifierNamedOperation::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::JSTestStringifierOperationImplementedAs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h:
(WebCore::JSTestStringifierOperationImplementedAs::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::JSTestStringifierOperationNamedToString::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h:
(WebCore::JSTestStringifierOperationNamedToString::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h:
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::JSTestStringifierReadWriteAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h:
(WebCore::JSTestStringifierReadWriteAttribute::subspaceFor):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTypedefs.h:
(WebCore::JSTestTypedefs::subspaceFor):
- 2:53 PM Changeset in webkit [257949] by
-
- 13 edits in trunk/Source/WebCore
When using the scrolling thread, push ScrollingNodeIDs onto PlatformCALayers
https://bugs.webkit.org/show_bug.cgi?id=208654
Reviewed by Antti Koivisto.
The scrolling thread on macOS will need to be able to associate layers with scrolling nodes,
so push a ScrollingNodeID down through GraphicsLayer to PlatformCALayerCocoa.
We only need one ScrollingNodeID per platform layer, since a given platform layer only
ever has one scrolling role.
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::scrollingTreeAsText):
- platform/graphics/GraphicsLayer.cpp:
(WebCore::GraphicsLayer::dumpProperties const):
- platform/graphics/GraphicsLayer.h:
(WebCore::GraphicsLayer::scrollingNodeID const):
(WebCore::GraphicsLayer::setScrollingNodeID):
- platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setScrollingNodeID):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
(WebCore::GraphicsLayerCA::updateScrollingNode):
- platform/graphics/ca/GraphicsLayerCA.h:
- platform/graphics/ca/PlatformCALayer.h: setEventRegion() doesn't need to be pure virtual.
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.h:
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
(WebCore::PlatformCALayerCocoa::setEventRegion):
(WebCore::PlatformCALayerCocoa::eventRegionContainsPoint const):
- platform/graphics/ca/win/PlatformCALayerWin.h:
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::detachFromScrollingCoordinator):
(WebCore::RenderLayerBacking::setScrollingNodeIDForRole):
- rendering/RenderLayerBacking.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::ensureRootLayer):
(WebCore::RenderLayerCompositor::attachScrollingNode): For subframe scrolling, the clipLayer
is the layer that gets associated with a scrolling node.
(WebCore::RenderLayerCompositor::updateScrollingNodeForScrollingProxyRole):
- 2:50 PM Changeset in webkit [257948] by
-
- 8 edits in trunk/Source/WebCore
Fix for several failures of LayoutTests in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=208658
Reviewed by Chris Fleizach.
- Exposes the scrollView method through the AXCoreObject interface so
that wrapper code can use it for both AXObjects and IsolatedObjects.
- Fix for a crash/assert where InvalidAXID cannot be passed as key to
the HashMap methods.
- accessibility/AccessibilityObject.h:
- accessibility/AccessibilityObjectInterface.h:
- accessibility/AccessibilityScrollView.h:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::scrollView const):
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::applyPendingChanges):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper scrollViewParent]):
(-[WebAccessibilityObjectWrapper _accessibilityShowContextMenu]):
- 2:32 PM Changeset in webkit [257947] by
-
- 7 edits in trunk/Source/WebCore
Unreviewed, rolling out r257945.
This causes tests to fail
Reverted changeset:
"Remove the optimization for discarding no operation
DisplayList items between Save and Restore items"
https://bugs.webkit.org/show_bug.cgi?id=208659
https://trac.webkit.org/changeset/257945
- 2:25 PM Changeset in webkit [257946] by
-
- 4 edits in trunk/Source/WebCore
Windows build fix after r257938.
Surround the event region painting code with #if ENABLE(ASYNC_SCROLLING); Windows
doesn't need to build this code.
- rendering/RenderLayerBacking.cpp:
- rendering/RenderLayerBacking.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBackingAndHierarchy):
- 2:22 PM Changeset in webkit [257945] by
-
- 7 edits in trunk/Source/WebCore
Remove the optimization for discarding no operation DisplayList items between Save and Restore items
https://bugs.webkit.org/show_bug.cgi?id=208659
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-03-05
Reviewed by Simon Fraser.
This optimization is wrong in the case of drawing a canvas in general.
The original implementation of the DisplayList assumes balanced Save/
Restore GraphicsContext. In canvas a GraphicsConext 'save' can be issued
in a frame and the corresponding restore is issued many frames later.
- platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::removeItemsFromIndex): Deleted.
- platform/graphics/displaylists/DisplayList.h:
- platform/graphics/displaylists/DisplayListItems.cpp:
- platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::Save::encode const):
(WebCore::DisplayList::Save::decode):
(WebCore::DisplayList::Save::restoreIndex const): Deleted.
(WebCore::DisplayList::Save::setRestoreIndex): Deleted.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::save):
(WebCore::DisplayList::Recorder::restore):
- platform/graphics/displaylists/DisplayListRecorder.h:
(WebCore::DisplayList::Recorder::ContextState::cloneForSave const):
- 2:10 PM Changeset in webkit [257944] by
-
- 8 edits in trunk/Source
Versioning.
- 1:51 PM Changeset in webkit [257943] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] scrollingcoordinator/ios/fixed-frame-overflow-swipe.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=208587
Unreviewed test gardening
- platform/ios-wk2/TestExpectations:
- 1:30 PM Changeset in webkit [257942] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed unified build fix; forward-declare and include GPUConnectionToWebProcess where it's used.
- GPUProcess/media/RemoteAudioSessionProxy.cpp:
- GPUProcess/media/RemoteAudioSessionProxy.h:
- 1:14 PM Changeset in webkit [257941] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r257862): imported/w3c/web-platform-tests/svg/import/struct-dom-06-b-manual.svg is failing
- 1:01 PM Changeset in webkit [257940] by
-
- 2 edits in trunk/LayoutTests
[ iOS wk2 ] http/tests/security/contentSecurityPolicy/javascript-url-blocked-by-default-src-star.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208662
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 12:44 PM Changeset in webkit [257939] by
-
- 7 edits in trunk
Page-specific UserStyleSheets should wait until the initial empty document has been removed to be injected
https://bugs.webkit.org/show_bug.cgi?id=208644
<rdar://problem/60042429>
Patch by Antoine Quint <Antoine Quint> on 2020-03-05
Reviewed by Brady Eidson.
Source/WebCore:
When a WKWebView is created and asked to load a URL, it will first load an empty initial document (about:blank) prior
to creating a Document for the requested URL. We need to ensure that page-specific UserStyleSheets are only injected
once the Document for the requested URL starts loading.
When Page::injectUserStyleSheet() is called, if we determine that the empty initial document is visible, we enqueue
the provided UserStyleSheet and wait until the new mainFrameDidChangeToNonInitialEmptyDocument() method is called
to empty that queue and inject the UserStyleSheets then.
This new method is called from Frame::setDocument() for a main frame once we've determined the frame's document has
changed to a non-null value and that the frame loader's state machine indicates that we're no longer displaying the
initial empty document.
- dom/ExtensionStyleSheets.h:
- page/Frame.cpp:
(WebCore::Frame::setDocument):
- page/Page.cpp:
(WebCore::Page::injectUserStyleSheet):
(WebCore::Page::removeInjectedUserStyleSheet):
(WebCore::Page::mainFrameDidChangeToNonInitialEmptyDocument):
- page/Page.h:
Tools:
Add new tests for -[_WKUserStyleSheet initWithSource:forWKWebView:forMainFrameOnly:userContentWorld:]) that check:
- that a _WKUserStyleSheet can be added immediately after a WKWebView's creation and will be injected once the initial empty document has been removed in favor of the document for the requested URL,
- that removing a _WKUserStyleSheet immediately after it was added but before the initial empty document was removed correctly does not injected the style sheet.
- TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
- 12:32 PM Changeset in webkit [257938] by
-
- 5 edits5 adds in trunk
Generate layer event regions for async overflow scrolling on macOS
https://bugs.webkit.org/show_bug.cgi?id=208649
Reviewed by Antti Koivisto.
Source/WebCore:
Turn on the existing code for event region generation on macOS, and generate event
regions when async overflow scroll is enabled.
Tweak the region debug color to be more visible.
Tests: fast/scrolling/mac/border-radius-event-region.html
fast/scrolling/mac/event-region-visibility-hidden.html
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateEventRegion):
(WebCore::RenderLayerBacking::paintDebugOverlays):
LayoutTests:
- TestExpectations:
- fast/scrolling/mac/border-radius-event-region-expected.txt: Added.
- fast/scrolling/mac/border-radius-event-region.html: Added.
- fast/scrolling/mac/event-region-visibility-hidden-expected.txt: Added.
- fast/scrolling/mac/event-region-visibility-hidden.html: Added.
- platform/mac-wk2/TestExpectations:
- 11:44 AM Changeset in webkit [257937] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: (r257760?) [ Mac wk2 Debug ] ASSERTION FAILED: child->parentObject() == this in WebCore::AccessibilityObject::insertChild
https://bugs.webkit.org/show_bug.cgi?id=208648
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:43 AM Changeset in webkit [257936] by
-
- 23 edits11 adds in trunk/Source
[GPUP] Implement RemoteAudioSession
https://bugs.webkit.org/show_bug.cgi?id=208583
Reviewed by Alex Christensen.
Source/WebCore:
Add EnumTraits for all the enumerations inside AudioSession.
Make many AudioSession methods virtual, so they can be overridden in the case where the
GPU process is enabled.
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/audio/AudioSession.cpp:
(WebCore::AudioSession::create):
(WebCore::AudioSession::sharedSession):
- platform/audio/AudioSession.h:
Source/WebKit:
Add a subclass of AudioSession which, instead of modifying the audio behavior of the current process, modifies the
audio behavior of the GPU Process. And, in the GPU Process, since it represents the audio behavior of potentially
multiple separate WebContent processes.
Override the default shared AudioSession at WebProcess initialization time.
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::didClose):
(WebKit::GPUConnectionToWebProcess::audioSessionProxy):
(WebKit::GPUConnectionToWebProcess::ensureAudioSession):
(WebKit::GPUConnectionToWebProcess::legacyCdmFactoryProxy):
(WebKit::GPUConnectionToWebProcess::dispatchMessage):
(WebKit::GPUConnectionToWebProcess::dispatchSyncMessage):
- GPUProcess/GPUConnectionToWebProcess.h:
- GPUProcess/GPUConnectionToWebProcess.messages.in:
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::initializeGPUProcess):
(WebKit::GPUProcess::audioSessionManager const):
- GPUProcess/GPUProcess.h:
- GPUProcess/media/RemoteAudioSessionProxy.cpp: Added.
(WebKit::RemoteAudioSessionProxy::create):
(WebKit::RemoteAudioSessionProxy::RemoteAudioSessionProxy):
(WebKit::RemoteAudioSessionProxy::processIdentifier):
(WebKit::RemoteAudioSessionProxy::configuration):
(WebKit::RemoteAudioSessionProxy::setCategory):
(WebKit::RemoteAudioSessionProxy::setPreferredBufferSize):
(WebKit::RemoteAudioSessionProxy::tryToSetActive):
(WebKit::RemoteAudioSessionProxy::beginInterruption):
(WebKit::RemoteAudioSessionProxy::endInterruption):
(WebKit::RemoteAudioSessionProxy::audioSessionManager):
(WebKit::RemoteAudioSessionProxy::connection):
- GPUProcess/media/RemoteAudioSessionProxy.h: Added.
(WebKit::RemoteAudioSessionProxy::category const):
(WebKit::RemoteAudioSessionProxy::routeSharingPolicy const):
(WebKit::RemoteAudioSessionProxy::preferredBufferSize const):
(WebKit::RemoteAudioSessionProxy::isActive const):
- GPUProcess/media/RemoteAudioSessionProxy.messages.in:
- GPUProcess/media/RemoteAudioSessionProxyManager.cpp: Added.
(WebKit::RemoteAudioSessionProxyManager::RemoteAudioSessionProxyManager):
(WebKit::RemoteAudioSessionProxyManager::addProxy):
(WebKit::RemoteAudioSessionProxyManager::removeProxy):
(WebKit::RemoteAudioSessionProxyManager::getProxy):
(WebKit::RemoteAudioSessionProxyManager::setCategoryForProcess):
(WebKit::RemoteAudioSessionProxyManager::setPreferredBufferSizeForProcess):
(WebKit::RemoteAudioSessionProxyManager::tryToSetActiveForProcess):
- GPUProcess/media/RemoteAudioSessionProxyManager.h:
(WebKit::RemoteAudioSessionProxyManager::session const):
- GPUProcess/media/RemoteAudioSessionProxyManager.messages.in:
- Scripts/webkit/messages.py:
- Sources.txt:
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/media/RemoteAudioSession.cpp: Added.
(WebKit::RemoteAudioSession::create):
(WebKit::RemoteAudioSession::RemoteAudioSession):
(WebKit::RemoteAudioSession::connection):
(WebKit::RemoteAudioSession::setCategory):
(WebKit::RemoteAudioSession::setPreferredBufferSize):
(WebKit::RemoteAudioSession::tryToSetActiveInternal):
(WebKit::RemoteAudioSession::configurationChanged):
(WebKit::RemoteAudioSession::beginInterruption):
(WebKit::RemoteAudioSession::endInterruption):
- WebProcess/GPU/media/RemoteAudioSession.h: Added.
- WebProcess/GPU/media/RemoteAudioSession.messages.in:
- WebProcess/GPU/media/RemoteAudioSessionConfiguration.h: Added.
(WebKit::RemoteAudioSessionConfiguration::encode const):
(WebKit::RemoteAudioSessionConfiguration::decode):
- WebProcess/GPU/media/RemoteAudioSessionIdentifier.h:
Source/WTF:
Add UniqueRef to the list of forward-declared template types.
- wtf/Forward.h:
- 11:12 AM Changeset in webkit [257935] by
-
- 4 edits in trunk/Source/WebKit
Sandbox: Allow sysctl read of "kern.ostype"
https://bugs.webkit.org/show_bug.cgi?id=208650
<rdar://problem/60010603>
Reviewed by Alexey Proskuryakov.
NSURLSession needs access to "kern.ostype", so the Networking and WebContent
sandboxes should allow it. I corrected this for the iOS Network sandbox in
Bug 208346. I should have handled macOS and the WebContent process (on both
platforms) at the same time.
- NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 11:08 AM Changeset in webkit [257934] by
-
- 4 edits in trunk/Tools
[ews] Add build step to push commit to WebKit repository
https://bugs.webkit.org/show_bug.cgi?id=208589
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(PushCommitToWebKitRepo): Build step to push the local commit to WebKit repository.
(PushCommitToWebKitRepo.start): Initialize log observer.
(PushCommitToWebKitRepo.evaluateCommand): Check command return status and comment on bug accordingly.
(PushCommitToWebKitRepo.comment_text_for_bug): Generate comment text for commenting on bug.
(PushCommitToWebKitRepo.svn_revision_from_commit_text): Extract the svn revision from commit text.
(PushCommitToWebKitRepo.getResultSummary): Set custom failure message.
- BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
- BuildSlaveSupport/ews-build/factories.py:
- 11:06 AM Changeset in webkit [257933] by
-
- 6 edits in trunk/Source/WebCore
Make m_viewportConstrainedObjects into a WeakHashSet
https://bugs.webkit.org/show_bug.cgi?id=208625
Reviewed by Ryosuke Niwa.
Use WeakHashSet<> for m_viewportConstrainedObjects.
- page/FrameView.cpp:
(WebCore::FrameView::didDestroyRenderTree):
(WebCore::FrameView::addViewportConstrainedObject):
(WebCore::FrameView::removeViewportConstrainedObject):
(WebCore::FrameView::scrollContentsFastPath):
(WebCore::FrameView::setViewportConstrainedObjectsNeedLayout):
- page/FrameView.h:
- page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::hasVisibleSlowRepaintViewportConstrainedObjects const):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers):
- rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::willBeDestroyed):
(WebCore::RenderLayerModelObject::styleDidChange):
- 11:02 AM Changeset in webkit [257932] by
-
- 5 edits in trunk
REGRESSION: [ Mac ] fast/canvas/webgl/texImage2D-video-flipY-false.html is Timing out
https://bugs.webkit.org/show_bug.cgi?id=205734
Source/WebCore:
Fix two bugs in MediaPlayerPrivateAVFoundationObjC causing the
preferred AVPlayerItemVideoOutput code path to not be taken, in
the situation where GPU-to-GPU copies are not possible because the
video's format doesn't allow them.
Implement currentTime, fixing longstanding bug in the
AVAssetImageGenerator fallback where only the first frame of the
video would be displayed.
Covered by existing layout test.
Patch by Kenneth Russell <kbr@chromium.org> on 2020-03-05
Reviewed by Dean Jackson.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::currentTime const):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
LayoutTests:
Reenable layout test on macOS.
Patch by Kenneth Russell <kbr@chromium.org> on 2020-03-05
Reviewed by Dean Jackson.
- platform/mac/TestExpectations:
- 10:55 AM Changeset in webkit [257931] by
-
- 2 edits in trunk/LayoutTests
[ macOS iOS ] storage/indexeddb/modern/transactions-stop-on-navigation.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=208656
Unreviewed test gardening
- platform/ios-wk2/TestExpectations:
- 10:51 AM Changeset in webkit [257930] by
-
- 2 edits in trunk/Tools
[ews] Add unit tests for ValidateCommiterAndReviewer build step
https://bugs.webkit.org/show_bug.cgi?id=208262
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests for ValidateCommiterAndReviewer.
- 10:42 AM Changeset in webkit [257929] by
-
- 4 edits in trunk
In case an activating service worker is terminated, it should go to activated state
https://bugs.webkit.org/show_bug.cgi?id=208440
<rdar://problem/59742332>
Reviewed by Chris Dumez.
Source/WebCore:
Covered by updated test.
- workers/service/server/SWServerWorker.cpp:
(WebCore::SWServerWorker::setState):
As per spec, if an activated service worker is terminated or its activate event is timing out,
we should move it to activate state.
LayoutTests:
- http/wpt/service-workers/service-worker-spinning-activate.https.html:
- 10:38 AM Changeset in webkit [257928] by
-
- 3 edits2 adds in trunk
[LFC][Integration] Reset position style on line breaks.
https://bugs.webkit.org/show_bug.cgi?id=208646
<rdar://problem/60086589>
Reviewed by Antti Koivisto.
Source/WebCore:
Test: fast/inline/out-of-flow-positioned-line-break.html
We need to treat line breaks as statically positioned inline content.
In the long run we should do something along these lines:
https://github.com/w3c/csswg-drafts/issues/610
- layout/integration/LayoutIntegrationBoxTree.cpp:
(WebCore::LayoutIntegration::BoxTree::buildTree):
LayoutTests:
- fast/inline/out-of-flow-positioned-line-break-expected.txt: Added.
- fast/inline/out-of-flow-positioned-line-break.html: Added.
- 10:28 AM Changeset in webkit [257927] by
-
- 2 edits in trunk/Tools
commit-queue should run WK2 tests instead of WK1 tests
https://bugs.webkit.org/show_bug.cgi?id=208544
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/factories.py:
- 10:27 AM Changeset in webkit [257926] by
-
- 3 edits in trunk/Source/WebCore
Some media tests crash when run in the GPU process
https://bugs.webkit.org/show_bug.cgi?id=208611
<rdar://problem/60060320>
Reviewed by Jer Noble.
The AVPlayerItemOutputPullDelegate is not called on the main queue, so it can't
use a WeakPtr that is created on the main queue. Rather than having the ObjC
delegate object call back to MediaPlayerPrivateAVFoundationObjC to signal a
semaphore it owns, have the delegate object own the semaphore and expose it
so MediaPlayerPrivateAVFoundationObjC can use it, removing the need for the
WeakPtr completely.
No new tests, this fixes a crash in existing tests.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
Don't allocate m_videoOutputDelegate, it isn't needed immediately.
(WebCore::MediaPlayerPrivateAVFoundationObjC::setVideoFullscreenLayer): Drive-by
optimization: don't update the current image when the fullscreen layer is set to NULL.
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput): Allocate m_videoOutputDelegate.
(WebCore::MediaPlayerPrivateAVFoundationObjC::waitForVideoOutputMediaDataWillChange):
Wait on the deletage's semphore.
(-[WebCoreAVFPullDelegate outputMediaDataWillChange:]):
(WebCore::MediaPlayerPrivateAVFoundationObjC::outputMediaDataWillChange): Deleted.
(-[WebCoreAVFPullDelegate initWithPlayer:]): Deleted.
- 10:16 AM Changeset in webkit [257925] by
-
- 2 edits in trunk/Tools
[ews] ValidateCommiterAndReviewer should validate emails in case insensitive manner
https://bugs.webkit.org/show_bug.cgi?id=208645
Reviewed by Alexey Proskuryakov.
- BuildSlaveSupport/ews-build/steps.py:
(ValidateCommiterAndReviewer.load_contributors):
(ValidateCommiterAndReviewer.start):
- 10:10 AM Changeset in webkit [257924] by
-
- 3 edits1 move in trunk/Source/WebCore
Change ScrollingTreeMac.cpp to a .mm file
https://bugs.webkit.org/show_bug.cgi?id=208652
Reviewed by Antti Koivisto.
Simple file rename.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- page/scrolling/mac/ScrollingTreeMac.mm: Renamed from Source/WebCore/page/scrolling/mac/ScrollingTreeMac.cpp.
- 10:07 AM Changeset in webkit [257923] by
-
- 2 edits in trunk/Tools
style-checker: Add UAF to the list of security words to warn about.
https://bugs.webkit.org/show_bug.cgi?id=208643
Reviewed by Jonathan Bedard.
UAF is a common acronym used for use after free.
- Scripts/webkitpy/style/checkers/changelog.py:
(ChangeLogChecker.check_for_unwanted_security_phrases):
- 10:02 AM Changeset in webkit [257922] by
-
- 142 edits in trunk/Source/WebCore
Unreviewed, rolling out r257905.
This commit caused crashes on Mac wk2 Debug.
Reverted changeset:
"Put all generated JSCells in WebCore into IsoSubspace"
https://bugs.webkit.org/show_bug.cgi?id=205107
https://trac.webkit.org/changeset/257905
- 9:41 AM Changeset in webkit [257921] by
-
- 2 edits in trunk/Source/WebKit
Assertion failed: shouldBeActive() in BackgroundProcessResponsivenessTimer::responsivenessCheckTimerFired()
https://bugs.webkit.org/show_bug.cgi?id=208596
Reviewed by Chris Dumez.
Update state of BackgroundProcessResponsivenessTimer when ServiceWorker is enabled or disabled in web process.
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::disableServiceWorkers):
(WebKit::WebProcessProxy::enableServiceWorkers):
- 9:18 AM Changeset in webkit [257920] by
-
- 4 edits in trunk/Source/WebCore
Track "scrolling scope" on RenderLayers
https://bugs.webkit.org/show_bug.cgi?id=208620
Reviewed by Zalan Bujtas.
Keep track of a "scrolling scope" on RenderLayers. Layers that share a scrolling scope
get scrolled by some common async-scrollable containing-block ancestor. The scope is just
a unique identifier.
Each layer has two scopes; a "box" scope that applies to the background/borders, and
a "content" scope that applies to (potentially) scrollable content. For most layers,
these will be the same, and shared with the layer's containing block ancestor layer.
For async-scrollable overflow, "box" scope is shared with the cb ancestor, but "content" scope
will have a new value that applies to all the layers moved by that scroller.
Having this value makes it easy to ask the question "is this layer scrolled by some ancestor",
which is a tricky computation for things like a position:absolute layer inside a non-containing block
stacking context overflow:scroll. Also, position:fixed whose containing block is the root will share
the scrolling scope of the root.
No behavior change.
- rendering/RenderLayer.cpp:
(WebCore::nextScrollingScope):
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::outputPaintOrderTreeLegend):
(WebCore::outputPaintOrderTreeRecursive):
- rendering/RenderLayer.h:
- rendering/RenderLayerCompositor.cpp:
(WebCore::isScrolledByOverflowScrollLayer):
- 9:13 AM Changeset in webkit [257919] by
-
- 10 edits in trunk/Source
Add logging support for capture sources in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=208637
Reviewed by Eric Carlson.
Source/WebCore:
Make sure RealtimeVideoSource propagates its logger to its underlying source and to its clones.
No change of behavior.
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/RealtimeVideoSource.cpp:
(WebCore::RealtimeVideoSource::clone):
(WebCore::RealtimeVideoSource::setLogger):
- platform/mediastream/RealtimeVideoSource.h:
Source/WebKit:
Add a logger getter to the ConnectionProxy.
Implement it for GPUProcess and UIProcess.
Set source logger to the connection proxy logger.
- GPUProcess/GPUConnectionToWebProcess.cpp:
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints):
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
- UIProcess/WebProcessProxy.cpp:
- UIProcess/WebProcessProxy.h:
- 8:13 AM Changeset in webkit [257918] by
-
- 6 edits in trunk/Source/WebCore
Optimize Path::encode on platforms that support CGPathGetNumberOfElements
https://bugs.webkit.org/show_bug.cgi?id=208266
Reviewed by Darin Adler and Simon Fraser.
Source/WebCore:
When encoding Path objects, we currently first encode the number of elements in the path by iterating over each
path element and incrementing a counter; then, we iterate over each element again, and encode information
(points, angles, etc.) for each path element.
However, on platforms that have the fix for <rdar://problem/59828724>, the first call to CGPathApply can be
skipped, since CoreGraphics can (in constant time, for the most part) simply tell us how many elements are in
the CGPath. See comments below for more details.
There should be no change in behavior.
- platform/graphics/Path.cpp:
- platform/graphics/Path.h:
Add an
elementCount
method on Path, which returns the count of elements in the path. On platforms where
CGPathGetNumberOfElements exists (and the fix for <rdar://problem/59828724> is also present), we return the
result of calling this SPI. Otherwise, fall back to mapping over each path element and incrementing a count.
(WebCore::Path::encode const):
Use the new
elementCount
method when encoding a WebCore::Path.
- platform/graphics/cg/PathCG.cpp:
(WebCore::Path::elementCount const):
Source/WebCore/PAL:
Add an SPI declaration for CGPathGetNumberOfElements.
- pal/spi/cg/CoreGraphicsSPI.h:
- 8:04 AM Changeset in webkit [257917] by
-
- 4 edits in trunk
[LFC][Invalidation] Incoming image data should invalidate layout tree content
https://bugs.webkit.org/show_bug.cgi?id=208640
<rdar://problem/60083229>
Reviewed by Antti Koivisto.
Source/WebCore:
This is a forced invalidation (in the least intrusive way) to make sure LFC has up-to-date replaced information.
- rendering/RenderImage.cpp:
(WebCore::RenderImage::imageChanged):
LayoutTests:
- platform/mac-wk2/TestExpectations:
- 8:00 AM Changeset in webkit [257916] by
-
- 4 edits in trunk/LayoutTests
[GTK] Gardening, update TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=208480
Unreviewed gardening.
- 7:51 AM Changeset in webkit [257915] by
-
- 3 edits in trunk/LayoutTests
REGRESSION (r257839): two fast/forms/textarea are failing after commit r257839 (208576)
https://bugs.webkit.org/show_bug.cgi?id=208627
<rdar://problem/60042801>
Reviewed by Zalan Bujtas.
- fast/forms/textarea-no-scroll-on-blur.html:
- fast/forms/textarea-scrolled-type.html:
Update the tests to use rAF instead of zero duration timers.
There must be a rendering update between focus() and blur() for actual scrolling to happen and
zero duration timer doesn't guarantee that.
- 7:46 AM Changeset in webkit [257914] by
-
- 3 edits in trunk/Source/WebCore
Remove CoreAudioCaptureSourceFactory::setCoreAudioActiveSource/unsetCoreAudioActiveSource
https://bugs.webkit.org/show_bug.cgi?id=208632
Reviewed by Eric Carlson.
We can remove this code since suspend/resume is now directly handled
by the AudioSharedUnit singleton instead of going through the source.
No change of behavior.
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSource::~CoreAudioCaptureSource):
(WebCore::CoreAudioCaptureSource::startProducingData):
- platform/mediastream/mac/CoreAudioCaptureSource.h:
- 3:53 AM Changeset in webkit [257913] by
-
- 28 edits1 add in trunk/Source
Export NowPlaying commands to GPUProcess when media playing in GPUProcess is enabled
https://bugs.webkit.org/show_bug.cgi?id=208568
Source/WebCore:
Reviewed by Eric Carlson.
Removed PlatformMediaSessionClient NowPlaying getters since only HTMLMediaElement is eligible.
Let MediaElementSession generates its own NowPlayingInfo when requested by the session manager.
Use platform strategies to abstract out how to execute NowPlaying orders.
Manually tested for NowPlaying functionality.
Also covered by existing tests for the refactoring bits.
- Headers.cmake:
- Modules/webaudio/AudioContext.cpp:
(WebCore::AudioContext::sourceApplicationIdentifier const): Deleted.
- Modules/webaudio/AudioContext.h:
- WebCore.xcodeproj/project.pbxproj:
- html/HTMLMediaElement.h:
- html/MediaElementSession.cpp:
(WebCore::MediaElementSession::allowsPlaybackControlsForAutoplayingAudio const):
(WebCore::MediaElementSession::nowPlayingInfo const):
(WebCore::MediaElementSession::allowsNowPlayingControlsVisibility const): Deleted.
- html/MediaElementSession.h:
- platform/MediaStrategy.h:
- platform/audio/AudioSession.h:
- platform/audio/NowPlayingInfo.h: Added.
(WebCore::NowPlayingInfo::encode const):
(WebCore::NowPlayingInfo::decode):
- platform/audio/PlatformMediaSession.cpp:
(WebCore::PlatformMediaSession::nowPlayingInfo const):
(WebCore::PlatformMediaSession::uniqueIdentifier const): Deleted.
(WebCore::PlatformMediaSession::title const): Deleted.
(WebCore::PlatformMediaSession::duration const): Deleted.
(WebCore::PlatformMediaSession::currentTime const): Deleted.
(WebCore::PlatformMediaSession::sourceApplicationIdentifier const): Deleted.
(WebCore::PlatformMediaSessionClient::mediaSessionUniqueIdentifier const): Deleted.
(WebCore::PlatformMediaSessionClient::mediaSessionTitle const): Deleted.
(WebCore::PlatformMediaSessionClient::mediaSessionDuration const): Deleted.
(WebCore::PlatformMediaSessionClient::mediaSessionCurrentTime const): Deleted.
- platform/audio/PlatformMediaSession.h:
(WebCore::PlatformMediaSession::allowsNowPlayingControlsVisibility const): Deleted.
- platform/audio/cocoa/MediaSessionManagerCocoa.h:
- platform/audio/cocoa/MediaSessionManagerCocoa.mm:
(MediaSessionManagerCocoa::clearNowPlayingInfo):
(MediaSessionManagerCocoa::setNowPlayingInfo):
(MediaSessionManagerCocoa::nowPlayingEligibleSession):
(MediaSessionManagerCocoa::updateNowPlayingInfo):
- platform/audio/ios/MediaSessionManagerIOS.h:
- platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::providePresentingApplicationPIDIfNecessary):
(WebCore::MediaSessionManageriOS::providePresentingApplicationPID):
Source/WebKit:
Reviewed by Eric Carlson.
Export NowPlaying orders to GPU process through IPC if GPUProcess is turned on.
Otherwise use the regular in process implementation.
Make sure to sync the hasAudio state so that it gets set properly in WebProcess.
Remove the use of a PlatformMediaSessionManager for capture since it is now using platform strategies in two places.
Instead use directly static methods of MediaSessionManageriOS to implement pid forwarding and AudioSession to set category and buffer size.
A follow-up refactoring should probably rearchitect AudioSession handling.
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::clearNowPlayingInfo):
(WebKit::GPUConnectionToWebProcess::setNowPlayingInfo):
(WebKit::GPUConnectionToWebProcess::sessionManager): Deleted.
- GPUProcess/GPUConnectionToWebProcess.h:
- GPUProcess/GPUConnectionToWebProcess.messages.in:
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::updateCachedState):
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::SourceProxy::SourceProxy):
(WebKit::UserMediaCaptureManagerProxy::SourceProxy::~SourceProxy):
(WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints):
(WebKit::UserMediaCaptureManagerProxy::clone):
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
- UIProcess/WebProcessProxy.cpp:
- WebProcess/GPU/media/WebMediaStrategy.cpp:
(WebKit::WebMediaStrategy::clearNowPlayingInfo):
(WebKit::WebMediaStrategy::setNowPlayingInfo):
- WebProcess/GPU/media/WebMediaStrategy.h:
Source/WebKitLegacy/mac:
Reviewed by Eric Carlson.
Use in-process now playing implementation.
- WebCoreSupport/WebPlatformStrategies.mm:
- 1:51 AM Changeset in webkit [257912] by
-
- 23 edits in trunk/LayoutTests
Unreviewed GTK gardening. Rebaseline media controls tests after r257775
- platform/gtk/fast/layers/video-layer-expected.png:
- platform/gtk/fast/layers/video-layer-expected.txt:
- platform/gtk/media/audio-controls-rendering-expected.png:
- platform/gtk/media/audio-controls-rendering-expected.txt:
- platform/gtk/media/controls-after-reload-expected.png:
- platform/gtk/media/controls-after-reload-expected.txt:
- platform/gtk/media/controls-strict-expected.png:
- platform/gtk/media/controls-strict-expected.txt:
- platform/gtk/media/media-controls-clone-expected.png:
- platform/gtk/media/media-controls-clone-expected.txt:
- platform/gtk/media/video-controls-rendering-expected.png:
- platform/gtk/media/video-controls-rendering-expected.txt:
- platform/gtk/media/video-display-toggle-expected.png:
- platform/gtk/media/video-display-toggle-expected.txt:
- platform/gtk/media/video-empty-source-expected.png:
- platform/gtk/media/video-empty-source-expected.txt:
- platform/gtk/media/video-no-audio-expected.png:
- platform/gtk/media/video-no-audio-expected.txt:
- platform/gtk/media/video-playing-and-pause-expected.png:
- platform/gtk/media/video-playing-and-pause-expected.txt:
- platform/gtk/media/video-zoom-controls-expected.png:
- platform/gtk/media/video-zoom-controls-expected.txt:
- 1:19 AM Changeset in webkit [257911] by
-
- 2 edits in releases/WebKitGTK/webkit-2.28/Source/WebCore/platform/gtk/po
Merge r257910 - [GTK][l10n] Updated Polish translation of WebKitGTK for 2.28
https://bugs.webkit.org/show_bug.cgi?id=208410
Patch by Piotr Drąg <piotrdrag@gmail.com> on 2020-03-05
Rubber-stamped by Carlos Garcia Campos.
- pl.po:
- 1:15 AM Changeset in webkit [257910] by
-
- 2 edits in trunk/Source/WebCore/platform/gtk/po
[GTK][l10n] Updated Polish translation of WebKitGTK for 2.28
https://bugs.webkit.org/show_bug.cgi?id=208410
Patch by Piotr Drąg <piotrdrag@gmail.com> on 2020-03-05
Rubber-stamped by Carlos Garcia Campos.
- pl.po:
- 1:11 AM Changeset in webkit [257909] by
-
- 3 edits in trunk/Source/WebKit
REGRESSION(r257667): [UNIX] Tests http/tests/incremental/split-hex-entities.pl and http/tests/misc/large-js-program.php are crashing
https://bugs.webkit.org/show_bug.cgi?id=208571
Reviewed by Alex Christensen.
We get a release assert in Connection::processMessage() when trying to get a file descriptor from
m_fileDescriptors array that is empty. The problem is that since r257667, a shared buffer is always used by the
network process to send data to the web process (NetworkResourceLoader::sendBuffer) and shared buffer
encoding/decoding was changed to always use shared memory and send the file descriptor over the IPC. When
sending large data in small chunks like these tests are doing, we easily end up with many messages queued in the
web process receiver (Connection::enqueueIncomingMessage), all of them having one file descriptor open. When the
maximum number of open file descriptors per process is reached, recvmsg doesn't fail but it sets the flag
MSG_CTRUNC in msg_flags and the file descriptor is not actually included as part of the control message. The
message info still claims to include a file descriptor, but it hasn't been created and added to the
m_fileDescriptors array. We could check msg_flags, but only to assert earlier, not to fix the problem, since we
are unable to get the file descriptor sent. So, at least in linux I think it's better to send the data over the
IPC instead of using shared memory. We are already using shared memory for any IPC message bigger than 4096.
- Platform/IPC/unix/ConnectionUnix.cpp:
(IPC::readBytesFromSocket): Consider also a read failure when control data is discarded.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::encodeSharedBuffer): Do not use shared memory to encode a SharedBuffer in Unix.
(IPC::decodeSharedBuffer): Do not use shared memory to decode a SharedBuffer in Unix.
- 12:54 AM Changeset in webkit [257908] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSCOnly] 32-bits warning on memset of JSValue
https://bugs.webkit.org/show_bug.cgi?id=204411
Patch by Paulo Matos <Paulo Matos> on 2020-03-05
Reviewed by Mark Lam.
Fixes warning on 32bit builds. This is required because GCC knows
it is not safe to use memset on non-POD types and warns against its use.
- heap/GCMemoryOperations.h:
(JSC::gcSafeZeroMemory):
Mar 4, 2020:
- 11:57 PM Changeset in webkit [257907] by
-
- 9 edits1 add in trunk
Handle an out of memory error while constructing the BytecodeGenerator.
https://bugs.webkit.org/show_bug.cgi?id=208622
<rdar://problem/59341136>
Reviewed by Saam Barati.
JSTests:
- stress/out-of-memory-while-constructing-BytecodeGenerator.js: Added.
Source/JavaScriptCore:
Added the ability to handle out of memory errors encountered during the
construction of the BytecodeGenerator. Currently, we only use this for the
case where we fail to instantiate a ScopedArgumentsTable.
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::generate):
(JSC::BytecodeGenerator::BytecodeGenerator):
- bytecompiler/BytecodeGeneratorBase.h:
- runtime/ScopedArgumentsTable.cpp:
(JSC::ScopedArgumentsTable::tryCreate):
- runtime/ScopedArgumentsTable.h:
- runtime/SymbolTable.h:
Source/WTF:
- wtf/CagedUniquePtr.h:
(WTF::CagedUniquePtr::tryCreate):
- 11:50 PM Changeset in webkit [257906] by
-
- 1 edit2 adds in trunk/Tools
[MSVC] Add .natvis support of WebKit types
https://bugs.webkit.org/show_bug.cgi?id=193119
Reviewed by Don Olmstead.
To help the WebKit developer while debugging, this file defines how
WebKit types are displayed in debugger of Visual Studio.
Very limited set of WebKit types, but it changes the world.
- VisualStudio/WebKit.natvis: Added.
- 11:18 PM Changeset in webkit [257905] by
-
- 142 edits in trunk/Source/WebCore
Put all generated JSCells in WebCore into IsoSubspace
https://bugs.webkit.org/show_bug.cgi?id=205107
Reviewed by Saam Barati.
This patch automatically generates IsoSubspace per WebCore DOM object type.
In preprocess-idls.pl, we collect all the DOM object types and generate DOMIsoSubspaces class,
which contains all the necessary IsoSubspaces. And it is held by WebCoreJSClientData.
CodeGeneratorJS.pm starts putting
subspaceFor
andsubspaceForImpl
for each JS DOM wrapper classes.
And we dynamically create IsoSubspace and set it to WebCoreJSClientData's DOMIsoSubspaces. At the same
time, we register IsoSubspace to m_outputConstraintSpaces if the class has output constraits callback.
- CMakeLists.txt:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- WebCoreMacros.cmake:
- bindings/js/JSDOMWrapper.cpp:
(WebCore::outputConstraintSubspaceFor): Deleted.
- bindings/js/JSDOMWrapper.h:
- bindings/js/WebCoreJSClientData.cpp:
(WebCore::JSVMClientData::JSVMClientData):
- bindings/js/WebCoreJSClientData.h:
(WebCore::JSVMClientData::forEachOutputConstraintSpace):
(WebCore::JSVMClientData::subspaces):
(WebCore::JSVMClientData::outputConstraintSpace): Deleted.
(WebCore::JSVMClientData::subspaceForJSDOMWindow): Deleted.
(WebCore::JSVMClientData::subspaceForJSDedicatedWorkerGlobalScope): Deleted.
(WebCore::JSVMClientData::subspaceForJSRemoteDOMWindow): Deleted.
(WebCore::JSVMClientData::subspaceForJSWorkerGlobalScope): Deleted.
(WebCore::JSVMClientData::subspaceForJSServiceWorkerGlobalScope): Deleted.
(WebCore::JSVMClientData::subspaceForJSPaintWorkletGlobalScope): Deleted.
(WebCore::JSVMClientData::subspaceForJSWorkletGlobalScope): Deleted.
- bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
- bindings/scripts/generate-bindings-all.pl:
- bindings/scripts/preprocess-idls.pl:
- bindings/scripts/test/JS/JSInterfaceName.cpp:
(WebCore::JSInterfaceName::subspaceForImpl):
- bindings/scripts/test/JS/JSInterfaceName.h:
(WebCore::JSInterfaceName::subspaceFor):
- bindings/scripts/test/JS/JSMapLike.cpp:
(WebCore::JSMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSMapLike.h:
(WebCore::JSMapLike::subspaceFor):
- bindings/scripts/test/JS/JSReadOnlyMapLike.cpp:
(WebCore::JSReadOnlyMapLike::subspaceForImpl):
- bindings/scripts/test/JS/JSReadOnlyMapLike.h:
(WebCore::JSReadOnlyMapLike::subspaceFor):
- bindings/scripts/test/JS/JSReadOnlySetLike.cpp:
(WebCore::JSReadOnlySetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSReadOnlySetLike.h:
(WebCore::JSReadOnlySetLike::subspaceFor):
- bindings/scripts/test/JS/JSSetLike.cpp:
(WebCore::JSSetLike::subspaceForImpl):
- bindings/scripts/test/JS/JSSetLike.h:
(WebCore::JSSetLike::subspaceFor):
- bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestActiveDOMObject.h:
(WebCore::JSTestActiveDOMObject::subspaceFor):
- bindings/scripts/test/JS/JSTestCEReactions.cpp:
(WebCore::JSTestCEReactions::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactions.h:
(WebCore::JSTestCEReactions::subspaceFor):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:
(WebCore::JSTestCEReactionsStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCEReactionsStringifier.h:
(WebCore::JSTestCEReactionsStringifier::subspaceFor):
- bindings/scripts/test/JS/JSTestCallTracer.cpp:
(WebCore::JSTestCallTracer::subspaceForImpl):
- bindings/scripts/test/JS/JSTestCallTracer.h:
(WebCore::JSTestCallTracer::subspaceFor):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.h:
(WebCore::JSTestClassWithJSBuiltinConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestDOMJIT.cpp:
(WebCore::JSTestDOMJIT::subspaceForImpl):
- bindings/scripts/test/JS/JSTestDOMJIT.h:
(WebCore::JSTestDOMJIT::subspaceFor):
- bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:
(WebCore::JSTestEnabledBySetting::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledBySetting.h:
(WebCore::JSTestEnabledBySetting::subspaceFor):
- bindings/scripts/test/JS/JSTestEnabledForContext.cpp:
(WebCore::JSTestEnabledForContext::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEnabledForContext.h:
(WebCore::JSTestEnabledForContext::subspaceFor):
- bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventConstructor.h:
(WebCore::JSTestEventConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTarget::subspaceForImpl):
- bindings/scripts/test/JS/JSTestEventTarget.h:
(WebCore::JSTestEventTarget::subspaceFor):
- bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestException.h:
(WebCore::JSTestException::subspaceFor):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:
(WebCore::JSTestGenerateIsReachable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
(WebCore::JSTestGenerateIsReachable::subspaceFor):
- bindings/scripts/test/JS/JSTestGlobalObject.cpp:
(WebCore::JSTestGlobalObject::subspaceForImpl):
- bindings/scripts/test/JS/JSTestGlobalObject.h:
(WebCore::JSTestGlobalObject::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.h:
(WebCore::JSTestIndexedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:
(WebCore::JSTestIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.h:
(WebCore::JSTestIndexedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.h:
(WebCore::JSTestIndexedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterface.h:
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceForImpl):
- bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.h:
(WebCore::JSTestInterfaceLeadingUnderscore::subspaceFor):
- bindings/scripts/test/JS/JSTestIterable.cpp:
(WebCore::JSTestIterable::subspaceForImpl):
- bindings/scripts/test/JS/JSTestIterable.h:
(WebCore::JSTestIterable::subspaceFor):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:
(WebCore::JSTestJSBuiltinConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestJSBuiltinConstructor.h:
(WebCore::JSTestJSBuiltinConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListener::subspaceForImpl):
- bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
(WebCore::JSTestMediaQueryListListener::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.h:
(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.h:
(WebCore::JSTestNamedAndIndexedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.h:
(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructor::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedConstructor.h:
(WebCore::JSTestNamedConstructor::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.h:
(WebCore::JSTestNamedDeleterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:
(WebCore::JSTestNamedDeleterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.h:
(WebCore::JSTestNamedDeleterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.h:
(WebCore::JSTestNamedDeleterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.h:
(WebCore::JSTestNamedDeleterWithIndexedGetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:
(WebCore::JSTestNamedGetterCallWith::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterCallWith.h:
(WebCore::JSTestNamedGetterCallWith::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:
(WebCore::JSTestNamedGetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.h:
(WebCore::JSTestNamedGetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:
(WebCore::JSTestNamedGetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.h:
(WebCore::JSTestNamedGetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:
(WebCore::JSTestNamedSetterNoIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.h:
(WebCore::JSTestNamedSetterNoIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:
(WebCore::JSTestNamedSetterThrowingException::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterThrowingException.h:
(WebCore::JSTestNamedSetterThrowingException::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:
(WebCore::JSTestNamedSetterWithIdentifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.h:
(WebCore::JSTestNamedSetterWithIdentifier::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.h:
(WebCore::JSTestNamedSetterWithIndexedGetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.h:
(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.cpp:
(WebCore::JSTestNamedSetterWithOverrideBuiltins::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithOverrideBuiltins.h:
(WebCore::JSTestNamedSetterWithOverrideBuiltins::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.cpp:
(WebCore::JSTestNamedSetterWithUnforgableProperties::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgableProperties.h:
(WebCore::JSTestNamedSetterWithUnforgableProperties::subspaceFor):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.cpp:
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins.h:
(WebCore::JSTestNamedSetterWithUnforgablePropertiesAndOverrideBuiltins::subspaceFor):
- bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNode::subspaceForImpl):
- bindings/scripts/test/JS/JSTestNode.h:
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObj::subspaceForImpl):
- bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObj::subspaceFor):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructors::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
(WebCore::JSTestOverloadedConstructors::subspaceFor):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.h:
(WebCore::JSTestOverloadedConstructorsWithSequence::subspaceFor):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.cpp:
(WebCore::JSTestOverrideBuiltins::subspaceForImpl):
- bindings/scripts/test/JS/JSTestOverrideBuiltins.h:
(WebCore::JSTestOverrideBuiltins::subspaceFor):
- bindings/scripts/test/JS/JSTestPluginInterface.cpp:
(WebCore::JSTestPluginInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPluginInterface.h:
(WebCore::JSTestPluginInterface::subspaceFor):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:
(WebCore::JSTestPromiseRejectionEvent::subspaceForImpl):
- bindings/scripts/test/JS/JSTestPromiseRejectionEvent.h:
(WebCore::JSTestPromiseRejectionEvent::subspaceFor):
- bindings/scripts/test/JS/JSTestSerialization.cpp:
(WebCore::JSTestSerialization::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerialization.h:
(WebCore::JSTestSerialization::subspaceFor):
- bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.cpp:
(WebCore::JSTestSerializationIndirectInheritance::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializationIndirectInheritance.h:
(WebCore::JSTestSerializationIndirectInheritance::subspaceFor):
- bindings/scripts/test/JS/JSTestSerializationInherit.cpp:
(WebCore::JSTestSerializationInherit::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializationInherit.h:
(WebCore::JSTestSerializationInherit::subspaceFor):
- bindings/scripts/test/JS/JSTestSerializationInheritFinal.cpp:
(WebCore::JSTestSerializationInheritFinal::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializationInheritFinal.h:
(WebCore::JSTestSerializationInheritFinal::subspaceFor):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterface::subspaceForImpl):
- bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
(WebCore::JSTestSerializedScriptValueInterface::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifier.cpp:
(WebCore::JSTestStringifier::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifier.h:
(WebCore::JSTestStringifier::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:
(WebCore::JSTestStringifierAnonymousOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.h:
(WebCore::JSTestStringifierAnonymousOperation::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:
(WebCore::JSTestStringifierNamedOperation::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierNamedOperation.h:
(WebCore::JSTestStringifierNamedOperation::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:
(WebCore::JSTestStringifierOperationImplementedAs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.h:
(WebCore::JSTestStringifierOperationImplementedAs::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:
(WebCore::JSTestStringifierOperationNamedToString::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.h:
(WebCore::JSTestStringifierOperationNamedToString::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.h:
(WebCore::JSTestStringifierReadOnlyAttribute::subspaceFor):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:
(WebCore::JSTestStringifierReadWriteAttribute::subspaceForImpl):
- bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.h:
(WebCore::JSTestStringifierReadWriteAttribute::subspaceFor):
- bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefs::subspaceForImpl):
- bindings/scripts/test/JS/JSTestTypedefs.h:
(WebCore::JSTestTypedefs::subspaceFor):
- 11:06 PM Changeset in webkit [257904] by
-
- 2 edits in trunk/Source/WebKit
WebsiteDataStore methods often create process pools and launch network processes unnecessarily
https://bugs.webkit.org/show_bug.cgi?id=208619
Reviewed by Alex Christensen.
These methods were potentially creating a temporary WebProcessPool object and launching a network
process only to go change something in memory in the network process. Since the newly created
WebProcessPool is temporary, it gets destroyed as soon as we get out of the for loop and the
network go away too. Therefore, the information in memory of the new network process would not
survive. Those methods should never be created a process pool and this patch fixes this.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::setMaxStatisticsEntries):
(WebKit::WebsiteDataStore::setPruneEntriesDownTo):
(WebKit::WebsiteDataStore::setGrandfatheringTime):
(WebKit::WebsiteDataStore::setMinimumTimeBetweenDataRecordsRemoval):
(WebKit::WebsiteDataStore::setPrevalentResource):
(WebKit::WebsiteDataStore::setVeryPrevalentResource):
(WebKit::WebsiteDataStore::setShouldClassifyResourcesBeforeDataRecordsRemoval):
(WebKit::WebsiteDataStore::setNotifyPagesWhenDataRecordsWereScanned):
(WebKit::WebsiteDataStore::setIsRunningResourceLoadStatisticsTest):
(WebKit::WebsiteDataStore::setNotifyPagesWhenTelemetryWasCaptured):
(WebKit::WebsiteDataStore::getAllStorageAccessEntries):
(WebKit::WebsiteDataStore::setTimeToLiveUserInteraction):
(WebKit::WebsiteDataStore::setCacheMaxAgeCapForPrevalentResources):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsDebugMode):
(WebKit::WebsiteDataStore::clearResourceLoadStatisticsInWebProcesses):
- 11:00 PM Changeset in webkit [257903] by
-
- 4 edits in trunk/Source/WebCore
Fix for test accessibility/mac/aria-liveregions-addedelement.html in IsolatedTree mode.
https://bugs.webkit.org/show_bug.cgi?id=208624
Reviewed by Chris Fleizach.
Test: accessibility/mac/aria-liveregions-addedelement.html
LayoutTests can request the focused element before they call any method
in the WebAccessibilityObjectWrapper through AccessibilityController::focusedElement,
and thus the focused element may be amongst the pending appends of the
IsolatedTree. This change sets the focused element in the isolated
treee during generation, so it can be returned to the AccessibilityController
even if no WebAccessibilityObjectWrapper calls have been made.
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::generateIsolatedTree):
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::focusedUIElement):
(WebCore::AXIsolatedTree::setFocusedNode):
- accessibility/isolatedtree/AXIsolatedTree.h:
- 10:38 PM Changeset in webkit [257902] by
-
- 5 edits in trunk/Source
Make m_slowRepaintObjects a WeakHashSet
https://bugs.webkit.org/show_bug.cgi?id=208623
Reviewed by Ryosuke Niwa.
Source/WebCore:
Use WeakHashSet<> for m_slowRepaintObjects, rather than a HashSet of raw pointers.
- page/FrameView.cpp:
(WebCore::FrameView::didDestroyRenderTree):
(WebCore::FrameView::addSlowRepaintObject):
(WebCore::FrameView::removeSlowRepaintObject):
(WebCore::FrameView::repaintSlowRepaintObjects):
- page/FrameView.h:
Source/WebKit:
Fix namespace errors triggered by FrameView include changes.
- UIProcess/API/APIPageConfiguration.cpp:
(API::PageConfiguration::visitedLinkStore):
(API::PageConfiguration::setVisitedLinkStore):
- 9:50 PM Changeset in webkit [257901] by
-
- 3 edits in trunk/Source/WebCore
Remove unused variable m_allUniqueIDBDatabases in IDBServer
https://bugs.webkit.org/show_bug.cgi?id=208613
Reviewed by Chris Dumez.
- Modules/indexeddb/server/IDBServer.h:
(WebCore::IDBServer::IDBServer::addDatabase): Deleted.
(WebCore::IDBServer::IDBServer::removeDatabase): Deleted.
- Modules/indexeddb/server/UniqueIDBDatabase.cpp:
(WebCore::IDBServer::UniqueIDBDatabase::UniqueIDBDatabase):
(WebCore::IDBServer::UniqueIDBDatabase::~UniqueIDBDatabase):
- 9:26 PM Changeset in webkit [257900] by
-
- 5 edits in trunk/Source
Lay initial groundwork for new PDF loading model
https://bugs.webkit.org/show_bug.cgi?id=208599
Reviewed by Alex Christensen.
Source/WebKit:
First piece of adopting some new platform PDF APIs.
Disabled by default even on platforms that support it.
No behavior change for shipping configs.
- WebProcess/Plugins/PDF/PDFPlugin.h:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::PDFPlugin):
(WebKit::dataProviderGetBytesAtPositionCallback):
(WebKit::dataProviderGetByteRangesCallback):
(WebKit::dataProviderReleaseInfoCallback):
(WebKit::PDFPlugin::threadEntry):
(WebKit::PDFPlugin::unconditionalCompleteRangeRequest):
(WebKit::PDFPlugin::getResourceBytesAtPosition):
(WebKit::PDFPlugin::adoptBackgroundThreadDocument):
(WebKit::PDFPlugin::pdfDocumentDidLoad):
(WebKit::PDFPlugin::installPDFDocument):
(WebKit::PDFPlugin::manualStreamDidReceiveData):
(WebKit::PDFPlugin::attemptToUnlockPDF):
(WebKit::PDFPlugin::calculateSizes):
(WebKit::PDFPlugin::handleMouseEvent):
(WebKit::PDFPlugin::saveToPDF):
(WebKit::PDFPlugin::openWithNativeApplication):
(WebKit::PDFPlugin::countFindMatches):
(WebKit::PDFPlugin::nextMatchForString):
Source/WTF:
- wtf/PlatformHave.h:
- 7:46 PM Changeset in webkit [257899] by
-
- 7 edits in trunk/Source/WebCore
[VNE layout] Move visually non-empty content reporting to RenderTreeBuilder
https://bugs.webkit.org/show_bug.cgi?id=208606
<rdar://problem/60056951>
Reviewed by Simon Fraser.
Move the VNE reporting logic from the c'tors to the RenderTreeBuilder.
- rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
- rendering/RenderHTMLCanvas.cpp:
(WebCore::RenderHTMLCanvas::RenderHTMLCanvas):
- rendering/RenderText.cpp:
(WebCore::RenderText::RenderText):
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::attach):
(WebCore::RenderTreeBuilder::attachInternal):
(WebCore::RenderTreeBuilder::attachIgnoringContinuation):
(WebCore::RenderTreeBuilder::reportVisuallyNonEmptyContent):
- rendering/updating/RenderTreeBuilder.h:
- rendering/updating/RenderTreeUpdater.cpp:
(WebCore::RenderTreeUpdater::createRenderer):
(WebCore::RenderTreeUpdater::createTextRenderer):
- 7:33 PM Changeset in webkit [257898] by
-
- 6 edits in trunk
Add system trace points around display list replay
https://bugs.webkit.org/show_bug.cgi?id=208616
Reviewed by Simon Fraser.
Source/WebCore:
Surround DisplayList::Replayer::replay with trace points.
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::Replayer::replay):
Source/WTF:
Add DisplayListReplayStart and DisplayListReplayEnd.
- wtf/SystemTracing.h:
Tools:
Add a new "Display list replay" trace point.
- Tracing/SystemTracePoints.plist:
- 7:33 PM Changeset in webkit [257897] by
-
- 3 edits4 adds in trunk
Crash in SVGElement::removeEventListener with symbol element
https://bugs.webkit.org/show_bug.cgi?id=207920
Patch by Doug Kelly <Doug Kelly> on 2020-03-04
Reviewed by Ryosuke Niwa.
Source/WebCore:
Resolves a crash in SVGElement::removeEventListener by only attaching the events to the window if the SVG element is both the outermost
SVG element, in addition to ensuring the SVG element is attached to the tree. The symbol element's behavior when referenced by a use
tag actually creates an svg tag instead, so the SVGSVGElement's special behavior for copying attributes is vital.
Note that Chrome and Firefox have a similar behavior for detached SVG elements as to what this change creates: in both other browsers,
onerror is not fired for a detached svg element, and in Firefox, onresize is not fired for a detached svg element (it is however fired
in Chrome).
Tests: fast/events/detached-svg-parent-window-events.html
fast/events/onerror-svg-symbol.html
- svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::parseAttribute):
LayoutTests:
- fast/events/detached-svg-parent-window-events-expected.txt: Added.
- fast/events/detached-svg-parent-window-events.html: Added.
- fast/events/onerror-svg-symbol-expected.txt: Added.
- fast/events/onerror-svg-symbol.html: Added.
- 7:28 PM Changeset in webkit [257896] by
-
- 3 edits in trunk/Source/WebCore
Fix for crash in AXIsolatedObject::fillChildrenVectorForProperty.
https://bugs.webkit.org/show_bug.cgi?id=208618
Reviewed by Chris Fleizach.
Reserve capacity of WTF::Vector before using it since constructor
doesn't do it.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::fillChildrenVectorForProperty const):
- accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::objectsForIDs const):
- 7:14 PM Changeset in webkit [257895] by
-
- 2 edits in trunk/Websites/perf.webkit.org
Test-freshness page table heaer misplaced
Some platform name is too long
https://bugs.webkit.org/show_bug.cgi?id=208617
Reviewed by Ryosuke Niwa.
- public/v3/pages/test-freshness-page.js:
(TestFreshnessPage.cssTemplate):
- 6:35 PM Changeset in webkit [257894] by
-
- 2 edits in trunk/WebDriverTests
[WebDriver] Update screenshot/user_prompt expectations.
They were marked as FAIL in r239824 due to upstream w3c tests not handling
dialogs correctly and this handling not being in the spec.
The correct handling was added to wpt in
https://github.com/web-platform-tests/wpt/pull/17563, imported to webkit
in r252358, and have been passing since in the GTK test bot.
Also were added to the spec in https://github.com/w3c/webdriver/commit/32165846
Unreviewed test gardening.
- TestExpectations.json:
- 6:04 PM Changeset in webkit [257893] by
-
- 2 edits in trunk/Source/WebKit
Construct fewer unnecessary temporary WebProcessPool objects in WebsiteDataStore implementation
https://bugs.webkit.org/show_bug.cgi?id=208610
Reviewed by Alex Christensen.
A lot of methods in WebsiteDataStore were calling ensureProcessPools() and then it a loop do something
if the pool already has a network process. When you construct a new process pool, the pool has initially
no network process. As a result, this code should be using processPools() instead of ensureProcessPools()
to avoid unnecessarily constructing a temporary WebProcessPool object.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::dumpResourceLoadStatistics):
(WebKit::WebsiteDataStore::isPrevalentResource):
(WebKit::WebsiteDataStore::isGrandfathered):
(WebKit::WebsiteDataStore::setPrevalentResourceForDebugMode):
(WebKit::WebsiteDataStore::isVeryPrevalentResource):
(WebKit::WebsiteDataStore::setVeryPrevalentResource):
(WebKit::WebsiteDataStore::setSubframeUnderTopFrameDomain):
(WebKit::WebsiteDataStore::isRegisteredAsSubFrameUnder):
(WebKit::WebsiteDataStore::setSubresourceUnderTopFrameDomain):
(WebKit::WebsiteDataStore::isRegisteredAsSubresourceUnder):
(WebKit::WebsiteDataStore::setSubresourceUniqueRedirectTo):
(WebKit::WebsiteDataStore::setSubresourceUniqueRedirectFrom):
(WebKit::WebsiteDataStore::setTopFrameUniqueRedirectTo):
(WebKit::WebsiteDataStore::setTopFrameUniqueRedirectFrom):
(WebKit::WebsiteDataStore::isRegisteredAsRedirectingTo):
(WebKit::WebsiteDataStore::clearPrevalentResource):
(WebKit::WebsiteDataStore::resetParametersToDefaultValues):
(WebKit::WebsiteDataStore::submitTelemetry):
(WebKit::WebsiteDataStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebsiteDataStore::getResourceLoadStatisticsDataSummary):
(WebKit::WebsiteDataStore::scheduleCookieBlockingUpdate):
(WebKit::WebsiteDataStore::scheduleStatisticsAndDataRecordsProcessing):
(WebKit::WebsiteDataStore::setLastSeen):
(WebKit::WebsiteDataStore::mergeStatisticForTesting):
(WebKit::WebsiteDataStore::logUserInteraction):
(WebKit::WebsiteDataStore::hasHadUserInteraction):
(WebKit::WebsiteDataStore::isRelationshipOnlyInDatabaseOnce):
(WebKit::WebsiteDataStore::clearUserInteraction):
(WebKit::WebsiteDataStore::setGrandfathered):
(WebKit::WebsiteDataStore::setUseITPDatabase):
(WebKit::WebsiteDataStore::setCrossSiteLoadWithLinkDecorationForTesting):
(WebKit::WebsiteDataStore::resetCrossSiteLoadsWithLinkDecorationForTesting):
(WebKit::WebsiteDataStore::deleteCookiesForTesting):
(WebKit::WebsiteDataStore::hasLocalStorageForTesting const):
(WebKit::WebsiteDataStore::hasIsolatedSessionForTesting const):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsShouldDowngradeReferrerForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsShouldBlockThirdPartyCookiesForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsFirstPartyWebsiteDataRemovalModeForTesting):
(WebKit::WebsiteDataStore::resetCacheMaxAgeCapForPrevalentResources):
(WebKit::WebsiteDataStore::isResourceLoadStatisticsEphemeral const):
(WebKit::WebsiteDataStore::getLocalStorageDetails):
(WebKit::WebsiteDataStore::resetQuota):
(WebKit::WebsiteDataStore::hasAppBoundSession const):
(WebKit::WebsiteDataStore::setInAppBrowserPrivacyEnabled):
- 5:13 PM Changeset in webkit [257892] by
-
- 7 edits1 add in trunk
Call globalObjectIsAvailableForFrame before evaluating JavaScript in newly created worlds
https://bugs.webkit.org/show_bug.cgi?id=208615
<rdar://problem/59406743>
Reviewed by Alex Christensen.
Source/WebKit:
globalObjectIsAvailableForFrame is often used for initialization code for a content world.
If we evaluate JavaScript in a content world as the first thing we do in that world,
globalObjectIsAvailableForFrame hadn't been called, so things were not initialized.
So call it when evaluating JavaScript if we create the world to evaluate in.
Covered by new API tests.
- WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserContentController::addContentWorld):
- WebProcess/UserContent/WebUserContentController.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScriptInFrameInScriptWorld):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/ContentWorldPlugIn.mm: Added.
(-[ContentWorldPlugIn webProcessPlugIn:didCreateBrowserContextController:]):
(-[ContentWorldPlugIn webProcessPlugInBrowserContextController:globalObjectIsAvailableForFrame:inScriptWorld:]):
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewEvaluateJavaScript.mm:
(TEST):
Also make a test written in bug 206310 actually run code.
- 5:02 PM Changeset in webkit [257891] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, a build fix after r257877
- UIProcess/WebAuthentication/Cocoa/LocalConnection.mm:
(WebKit::LocalConnection::verifyUser const):
Restricts LAOptionPasscodeTitle to iOS for now.
- 3:31 PM Changeset in webkit [257890] by
-
- 1 copy in tags/Safari-609.1.20.4.4
Tag Safari-609.1.20.4.4.
- 3:30 PM Changeset in webkit [257889] by
-
- 4 edits in trunk/Tools
[build.webkit.org] Remove leaks queue
https://bugs.webkit.org/show_bug.cgi?id=208580
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/build.webkit.org-config/config.json:
- BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
- BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
- 3:28 PM Changeset in webkit [257888] by
-
- 15 edits in trunk/Source
Adopt new and improved CFNetwork SPI for cookie change notifications
https://bugs.webkit.org/show_bug.cgi?id=208594
<rdar://problem/60053313>
Reviewed by Alex Christensen.
Source/WebCore:
Adopt new and improved CFNetwork SPI for cookie change notifications. Notifications are now per domain
and the domain matches one of the domains we listen for cookie changes on.
This also fixes a bug where httpOnly cookies would be sent to the WebContent processes in cookie change
notifications, even though the WebProcesses are not interested in those.
- platform/network/NetworkStorageSession.h:
- platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::NetworkStorageSession::registerCookieChangeListenersIfNecessary):
Source/WebCore/PAL:
Add new CFNetwork SPI.
- pal/spi/cf/CFNetworkSPI.h:
Source/WebKit:
Adopt new and improved CFNetwork SPI for cookie change notifications. Notifications are now per domain
and the domain matches one of the domains we listen for cookie changes on.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::cookiesDeleted):
(WebKit::NetworkConnectionToWebProcess::allCookiesDeleted):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::cookiesDeleted):
(WebKit::NetworkProcessConnection::allCookiesDeleted):
- WebProcess/Network/NetworkProcessConnection.h:
- WebProcess/Network/NetworkProcessConnection.messages.in:
- WebProcess/WebPage/WebCookieCache.cpp:
(WebKit::WebCookieCache::cookiesDeleted):
(WebKit::WebCookieCache::allCookiesDeleted):
- WebProcess/WebPage/WebCookieCache.h:
- WebProcess/WebPage/WebCookieJar.cpp:
(WebKit::WebCookieJar::cookiesDeleted):
(WebKit::WebCookieJar::allCookiesDeleted):
- WebProcess/WebPage/WebCookieJar.h:
- 3:28 PM Changeset in webkit [257887] by
-
- 3 edits in branches/safari-610.1.6-branch/Source/WebKit
Cherry-pick r257879. rdar://problem/60057110
Partially revert r256756, since it introduced bugs related to Accessibility.
<rdar://problem/60005574>
Unreviewed partial revert of r256756.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:27 PM Changeset in webkit [257886] by
-
- 10 edits in branches/safari-610.1.6-branch/Source
Cherry-pick r257875. rdar://problem/60057110
[Cocoa] Add enable flag to disable direct mode for preferences
https://bugs.webkit.org/show_bug.cgi?id=208588
Reviewed by Brent Fulgham.
Source/WebKit:
Add an enable flag for this feature so it can be toggled, and turn it off.
No new tests, since this patch is reverting to previous behavior covered by existing tests.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm: (WebKit::XPCServiceMain):
- Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode const): (WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformResolvePathsForSandboxExtensions): (WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):
- WebProcess/com.apple.WebProcess.sb.in:
Source/WTF:
- wtf/PlatformEnable.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:21 PM Changeset in webkit [257885] by
-
- 1 copy in tags/Safari-610.1.5.3
Tag Safari-610.1.5.3.
- 3:19 PM Changeset in webkit [257884] by
-
- 10 edits in branches/safari-610.1.5-branch/Source
Cherry-pick r257875. rdar://problem/60055569
[Cocoa] Add enable flag to disable direct mode for preferences
https://bugs.webkit.org/show_bug.cgi?id=208588
Reviewed by Brent Fulgham.
Source/WebKit:
Add an enable flag for this feature so it can be toggled, and turn it off.
No new tests, since this patch is reverting to previous behavior covered by existing tests.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm: (WebKit::XPCServiceMain):
- Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode const): (WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformResolvePathsForSandboxExtensions): (WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess):
- WebProcess/com.apple.WebProcess.sb.in:
Source/WTF:
- wtf/PlatformEnable.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:19 PM Changeset in webkit [257883] by
-
- 3 edits in branches/safari-610.1.5-branch/Source/WebKit
Cherry-pick r257879. rdar://problem/60055569
Partially revert r256756, since it introduced bugs related to Accessibility.
<rdar://problem/60005574>
Unreviewed partial revert of r256756.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:18 PM Changeset in webkit [257882] by
-
- 13 edits in trunk
Add SPI to evaluate JavaScript in an iframe
https://bugs.webkit.org/show_bug.cgi?id=208605
Reviewed by Brady Eidson.
Source/WebCore:
Covered by new API tests.
- bindings/js/DOMWrapperWorld.cpp:
(WebCore::DOMWrapperWorld::DOMWrapperWorld):
Remove a now-invalid assertion that was firing during my test.
API::ContentWorld::defaultClientWorld creates a world with no name and type Type::User.
I'm surprised this wasn't hit before.
Source/WebKit:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView evaluateJavaScript:completionHandler:]):
(-[WKWebView evaluateJavaScript:inContentWorld:completionHandler:]):
(-[WKWebView callAsyncJavaScript:arguments:inContentWorld:completionHandler:]):
(-[WKWebView _evaluateJavaScript:asAsyncFunction:withArguments:forceUserGesture:inFrame:inWorld:completionHandler:]):
(-[WKWebView _evaluateJavaScriptWithoutUserGesture:completionHandler:]):
(-[WKWebView _callAsyncJavaScript:arguments:inFrame:inContentWorld:completionHandler:]):
(-[WKWebView _evaluateJavaScript:inFrame:inContentWorld:completionHandler:]):
(-[WKWebView _evaluateJavaScript:asAsyncFunction:withArguments:forceUserGesture:completionHandler:inWorld:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runJavaScriptInMainFrame):
(WebKit::WebPageProxy::runJavaScriptInFrameInScriptWorld):
(WebKit::WebPageProxy::runJavaScriptInMainFrameScriptWorld): Deleted.
(WebKit::WebPageProxy::runJavaScriptInFrame): Deleted.
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::runJavaScriptInFrameInScriptWorld):
(WebKit::WebPage::runJavaScriptInMainFrameScriptWorld): Deleted.
(WebKit::WebPage::runJavaScriptInFrame): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
- 3:10 PM Changeset in webkit [257881] by
-
- 8 edits in branches/safari-610.1.5-branch/Source
Versioning.
- 3:09 PM Changeset in webkit [257880] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk2 Debug ] fast/layoutformattingcontext/block-only/replaced-intrinsic-width-simple.html is crashing.
https://bugs.webkit.org/show_bug.cgi?id=208598
<rdar://problem/60054452>
Unreviewed test gardening.
This is LFC failure only. Unrelated to first paint. Skip it for now.
- platform/mac-wk2/TestExpectations:
- 2:03 PM Changeset in webkit [257879] by
-
- 3 edits in trunk/Source/WebKit
Partially revert r256756, since it introduced bugs related to Accessibility.
<rdar://problem/60005574>
Unreviewed partial revert of r256756.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 1:56 PM Changeset in webkit [257878] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: (r257840?) [ Mac wk2 Debug ] fast/layoutformattingcontext/block-only/replaced-intrinsic-width-simple.html is crashing.
https://bugs.webkit.org/show_bug.cgi?id=208598
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 1:42 PM Changeset in webkit [257877] by
-
- 28 edits1 delete in trunk
[WebAuthn] Implement -[_WKWebAuthenticationPanelDelegate panel:decidePolicyForLocalAuthenticatorWithCompletionHandler:] SPI
https://bugs.webkit.org/show_bug.cgi?id=208533
<rdar://problem/60010184>
Reviewed by Alex Christensen.
Source/WebCore:
Covered by new tests within existing test files.
- en.lproj/Localizable.strings:
- platform/LocalizedStrings.cpp:
(WebCore::touchIDPromptTitle):
(WebCore::biometricFallbackPromptTitle):
- platform/LocalizedStrings.h:
Adds localized strings to support the customized LocalAuthentication dialog.
Source/WebKit:
This patch implements the above SPI to replace -[_WKWebAuthenticationPanelDelegate panel:verifyUserWithAccessControl:completionHandler:].
The original SPI is designed on the premise that Safari is going to highly customize the LocalAuthentication UI, and that is not happening
anymore. Therefore, WebKit takes back the invocation of LocalAuthentication and offer a new SPI to tell clients when WebKit is about to
show LocalAuthentication UI. Clients then have the trigger to pull at their pleasure.
This patch implements all plumbings to replace the SPI. Besides that, this patch also:
1) enhances the LocalConnection::verifyUser with a slightly customized LocalAuthentication dialog;
2) adds the SPI used above into the SPI header;
3) makes _WKWebAuthenticationPanelDelegate.transports as a NSSet instead of a NSArray;
4) lets LocalService::isAvailable return false if Apple attestation is not available.
- Platform/spi/Cocoa/LocalAuthenticationSPI.h:
- UIProcess/API/APIWebAuthenticationPanelClient.h:
(API::WebAuthenticationPanelClient::decidePolicyForLocalAuthenticator const):
(API::WebAuthenticationPanelClient::verifyUser const): Deleted.
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(-[_WKWebAuthenticationPanel transports]):
- UIProcess/WebAuthentication/Authenticator.h:
- UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::AuthenticatorManager::decidePolicyForLocalAuthenticator):
(WebKit::AuthenticatorManager::verifyUser): Deleted.
- UIProcess/WebAuthentication/AuthenticatorManager.h:
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.h:
- UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::makeCredential):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterDecidePolicy):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested):
(WebKit::LocalAuthenticator::getAssertion):
(WebKit::LocalAuthenticator::continueGetAssertionAfterResponseSelected):
(WebKit::LocalAuthenticator::continueGetAssertionAfterUserVerification):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserConsented): Deleted.
(WebKit::LocalAuthenticator::continueGetAssertionAfterUserConsented): Deleted.
- UIProcess/WebAuthentication/Cocoa/LocalConnection.h:
- UIProcess/WebAuthentication/Cocoa/LocalConnection.mm:
(WebKit::LocalConnection::verifyUser const):
(WebKit::LocalConnection::isUnlocked const): Deleted.
- UIProcess/WebAuthentication/Cocoa/LocalService.mm:
(WebKit::LocalService::isAvailable):
- UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.h:
- UIProcess/WebAuthentication/Cocoa/WebAuthenticationPanelClient.mm:
(WebKit::WebAuthenticationPanelClient::WebAuthenticationPanelClient):
(WebKit::localAuthenticatorPolicy):
(WebKit::WebAuthenticationPanelClient::decidePolicyForLocalAuthenticator const):
(WebKit::WebAuthenticationPanelClient::verifyUser const): Deleted.
- UIProcess/WebAuthentication/Mock/MockLocalConnection.h:
- UIProcess/WebAuthentication/Mock/MockLocalConnection.mm:
(WebKit::MockLocalConnection::verifyUser const):
(WebKit::MockLocalConnection::isUnlocked const): Deleted.
- UIProcess/WebAuthentication/WebAuthenticationFlags.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm:
(-[TestWebAuthenticationPanelDelegate panel:decidePolicyForLocalAuthenticatorWithCompletionHandler:]):
(TestWebKitAPI::TEST):
(-[TestWebAuthenticationPanelDelegate panel:verifyUserWithAccessControl:completionHandler:]): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/web-authentication-get-assertion-la.html: Removed.
- 1:35 PM Changeset in webkit [257876] by
-
- 4 edits in trunk
callAsyncJavaScript with an invalid parameter and no completionHandler should not crash
https://bugs.webkit.org/show_bug.cgi?id=208593
Reviewed by Brady Eidson.
Source/WebKit:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _evaluateJavaScript:asAsyncFunction:withArguments:forceUserGesture:completionHandler:inWorld:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/AsyncFunction.mm:
(TestWebKitAPI::TEST):
- 1:26 PM Changeset in webkit [257875] by
-
- 10 edits in trunk/Source
[Cocoa] Add enable flag to disable direct mode for preferences
https://bugs.webkit.org/show_bug.cgi?id=208588
Reviewed by Brent Fulgham.
Source/WebKit:
Add an enable flag for this feature so it can be toggled, and turn it off.
No new tests, since this patch is reverting to previous behavior covered by existing tests.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(WebKit::XPCServiceMain):
- Shared/WebProcessCreationParameters.cpp:
(WebKit::WebProcessCreationParameters::encode const):
(WebKit::WebProcessCreationParameters::decode):
- Shared/WebProcessCreationParameters.h:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformResolvePathsForSandboxExtensions):
(WebKit::WebProcessPool::platformInitializeWebProcess):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- WebProcess/com.apple.WebProcess.sb.in:
Source/WTF:
- wtf/PlatformEnable.h:
- 1:17 PM Changeset in webkit [257874] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed build fix for WinCairo
https://bugs.webkit.org/show_bug.cgi?id=208591
- Shared/FrameTreeNodeData.h: Replaced #import with #include.
- 12:47 PM Changeset in webkit [257873] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: the execution context picker is shown on pages with only one execution context if there are internal execution contexts
https://bugs.webkit.org/show_bug.cgi?id=208502
Reviewed by Timothy Hatcher.
- UserInterface/Views/QuickConsole.js:
(WI.QuickConsole.prototype._updateActiveExecutionContextDisplay):
(WI.QuickConsole.prototype._handleEngineeringShowInternalExecutionContextsSettingChanged):
- 12:35 PM Changeset in webkit [257872] by
-
- 25 edits6 adds in trunk
WKWebView's frames accessor should return a traversable type
https://bugs.webkit.org/show_bug.cgi?id=208591
Reviewed by Brady Eidson.
Source/WebKit:
Rather than return an array of information that can technically be used to reconstruct a tree,
let's just return the root of a tree. This introduces _WKFrameTreeNode which inherits from WKFrameInfo.
Covered by API tests.
- Shared/API/APIObject.h:
- Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
- Shared/FrameInfoData.cpp:
(WebKit::FrameInfoData::encode const):
(WebKit::FrameInfoData::decode):
- Shared/FrameInfoData.h:
- Shared/FrameTreeNodeData.h: Added.
(WebKit::FrameTreeNodeData::encode const):
(WebKit::FrameTreeNodeData::decode):
- Sources.txt:
- SourcesCocoa.txt:
- UIProcess/API/APIFrameInfo.cpp:
(API::FrameInfo::parentFrameHandle const): Deleted.
(API::FrameInfo::childFrameHandles const): Deleted.
- UIProcess/API/APIFrameInfo.h:
- UIProcess/API/APIFrameTreeNode.cpp: Added.
(API::FrameTreeNode::handle const):
- UIProcess/API/APIFrameTreeNode.h: Added.
- UIProcess/API/Cocoa/WKFrameInfo.mm:
(-[WKFrameInfo _parentFrameHandle]): Deleted.
(-[WKFrameInfo _childFrameHandles]): Deleted.
- UIProcess/API/Cocoa/WKFrameInfoPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _frames:]):
(-[WKWebView _allFrames:]): Deleted.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/_WKFrameTreeNode.h: Added.
- UIProcess/API/Cocoa/_WKFrameTreeNode.mm: Added.
(-[_WKFrameTreeNode dealloc]):
(-[_WKFrameTreeNode isMainFrame]):
(-[_WKFrameTreeNode request]):
(-[_WKFrameTreeNode securityOrigin]):
(-[_WKFrameTreeNode webView]):
(-[_WKFrameTreeNode childFrames]):
(-[_WKFrameTreeNode copyWithZone:]):
(-[_WKFrameTreeNode _handle]):
(-[_WKFrameTreeNode _apiObject]):
- UIProcess/API/Cocoa/_WKFrameTreeNodeInternal.h: Added.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getAllFrames):
- UIProcess/WebPageProxy.h:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
- WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::info const):
(WebKit::WebFrame::childFrameIDs const): Deleted.
- WebProcess/WebPage/WebFrame.h:
(WebKit::WebFrame::frameID const):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::frameTreeNodeData):
(WebKit::WebPage::getAllFrames):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKURLSchemeHandler-1.mm:
- 12:26 PM Changeset in webkit [257871] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION(?): Elements: unable to edit a tag name more than once
https://bugs.webkit.org/show_bug.cgi?id=208586
Reviewed by Timothy Hatcher.
- UserInterface/Views/DOMTreeElement.js:
(WI.DOMTreeElement.prototype._insertInLastAttributePosition):
When inserting a new attribute, don't wipe out the existing DOM structure, which is required
in order for tag name editing to work (specifically having a.html-tag-name
node).
- 12:05 PM Changeset in webkit [257870] by
-
- 13 edits in trunk
Add an SPI to allow UserStyleSheet injection to target a specific WKWebView
https://bugs.webkit.org/show_bug.cgi?id=208575
<rdar://problem/59773690>
Reviewed by Brady Eidson.
Source/WebCore:
Add a new Optional<PageIdentifier> member to UserStyleSheet which indicates whether the UserStyleSheet is supposed
to be injected for all WKWebViews, or only a specific top-level WKWebView associated with a Page with the give ID.
In ExtensionStyleSheets::updateInjectedStyleSheetCache(), UserStyleSheets with a specified pageID are ignored. Instead,
we now also consider CSSStyleSheets listed in the new m_pageSpecificStyleSheets which contains page-specific stylesheets
to be injected for the associated Document.
The new Page::injectUserStyleSheet() method allows the addition of a UserStyleSheet on its documents' ExtensionStyleSheets,
and will call this method either for the main frame's Document, or all Documents, depending on the UserStyleSheet's configuration.
Finally, these new targeted UserStyleSheets can be removed via Page::removeInjectedUserStyleSheet() and
ExtensionStyleSheets::removePageSpecificUserStyleSheet().
- dom/ExtensionStyleSheets.cpp:
(WebCore::ExtensionStyleSheets::updateInjectedStyleSheetCache const):
(WebCore::ExtensionStyleSheets::injectPageSpecificUserStyleSheet):
(WebCore::ExtensionStyleSheets::removePageSpecificUserStyleSheet):
(WebCore::ExtensionStyleSheets::detachFromDocument):
- dom/ExtensionStyleSheets.h:
- page/Page.cpp:
(WebCore::Page::injectUserStyleSheet):
(WebCore::Page::removeInjectedUserStyleSheet):
- page/Page.h:
- page/UserStyleSheet.h:
(WebCore::UserStyleSheet::UserStyleSheet):
(WebCore::UserStyleSheet::pageID const):
Source/WebKit:
Since WebCore adds a new Optional<PageIdentifier> member to UserStyleSheet, we now encode that member to be preserved
across UI and Web processes.
Using this new member, WebUserContentController now determines that a UserStyleSheet meant to target a specific page
was added in addUserStyleSheetInternal(), finds the matching WebPage, and calls injectUserStyleSheet() on its backing Page
object. Conversely, WebUserContentController::removeUserStyleSheetInternal() will call into Page::removeInjectedUserStyleSheet().
Finally, we offer a new initializer on _WKUserStyleSheet to target a specific WKWebView, and its page's ID will be set on the
backing UserStyleSheet.
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<UserStyleSheet>::encode):
(IPC::ArgumentCoder<UserStyleSheet>::decode):
- UIProcess/API/Cocoa/_WKUserStyleSheet.h:
- UIProcess/API/Cocoa/_WKUserStyleSheet.mm:
(-[_WKUserStyleSheet initWithSource:forWKWebView:forMainFrameOnly:userContentWorld:]):
- WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserContentController::addUserStyleSheetInternal):
(WebKit::WebUserContentController::removeUserStyleSheetInternal):
Tools:
Add new tests for the new SPI which check:
- that specifying forWKWebView: when initializing a _WKUserStyleSheet will inject the provided CSS source in the specified WKWebView alone,
- that the same test works with two WKWebViews with a shared WKWebKitConfiguration,
- that a WKWebView-specific _WKUserStyleSheet can be removed,
- that a WKWebView-specific _WKUserStyleSheet can be added twice and removed once and be removed as expected,
- and that a WKWebView-specific _WKUserStyleSheet is automatically removed when navigating to a new page,
- and that the same test also works with PSON enabled.
- TestWebKitAPI/Tests/WebKitCocoa/UserContentController.mm:
- 11:56 AM Changeset in webkit [257869] by
-
- 3 edits in trunk/LayoutTests
[ iOS and Mac wk2 Debug ] fast/events/beforeunload-prompt.html is flaky crashing.
https://bugs.webkit.org/show_bug.cgi?id=208590
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- platform/mac-wk2/TestExpectations:
- 11:43 AM Changeset in webkit [257868] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] scrollingcoordinator/ios/fixed-frame-overflow-swipe.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=208587
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:42 AM Changeset in webkit [257867] by
-
- 29 edits9 copies17 adds in trunk/Source
[GPUP] Implement Modern EME API in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=208090
Reviewed by Eric Carlson.
Source/WebCore:
Add export macros to CDMFactory::registeredFactories().
- platform/encryptedmedia/CDMFactory.h:
Source/WebKit:
Add support for RemoteCDMFactory, RemateCDM, RemoteCDMInstance, RemoteCDMInstanceSession, and all
of their associated Proxy objects.
Allow the existing CDMFactory machinery to work normally when the GPU process is disabled,
by making initialization of the CDM factories contingent upon the "use GPU" setting.
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::cdmFactoryProxy):
(WebKit::GPUConnectionToWebProcess::didReceiveMessage):
(WebKit::GPUConnectionToWebProcess::didReceiveSyncMessage):
- GPUProcess/GPUConnectionToWebProcess.h:
- GPUProcess/media/RemoteCDMFactoryProxy.cpp: Added.
(WebKit::RemoteCDMFactoryProxy::RemoteCDMFactoryProxy):
(WebKit::factoryForKeySystem):
(WebKit::RemoteCDMFactoryProxy::createCDM):
(WebKit::RemoteCDMFactoryProxy::supportsKeySystem):
(WebKit::RemoteCDMFactoryProxy::didReceiveCDMMessage):
(WebKit::RemoteCDMFactoryProxy::didReceiveCDMInstanceMessage):
(WebKit::RemoteCDMFactoryProxy::didReceiveCDMInstanceSessionMessage):
(WebKit::RemoteCDMFactoryProxy::didReceiveSyncCDMMessage):
(WebKit::RemoteCDMFactoryProxy::didReceiveSyncCDMInstanceMessage):
(WebKit::RemoteCDMFactoryProxy::didReceiveSyncCDMInstanceSessionMessage):
(WebKit::RemoteCDMFactoryProxy::addProxy):
(WebKit::RemoteCDMFactoryProxy::removeProxy):
(WebKit::RemoteCDMFactoryProxy::addInstance):
(WebKit::RemoteCDMFactoryProxy::removeInstance):
(WebKit::RemoteCDMFactoryProxy::getInstance):
(WebKit::RemoteCDMFactoryProxy::addSession):
(WebKit::RemoteCDMFactoryProxy::removeSession):
- GPUProcess/media/RemoteCDMFactoryProxy.h: Added.
- GPUProcess/media/RemoteCDMFactoryProxy.messages.in: Added.
- GPUProcess/media/RemoteCDMInstanceProxy.cpp: Added.
(WebKit::RemoteCDMInstanceProxy::create):
(WebKit::RemoteCDMInstanceProxy::RemoteCDMInstanceProxy):
(WebKit::RemoteCDMInstanceProxy::initializeWithConfiguration):
(WebKit::RemoteCDMInstanceProxy::setServerCertificate):
(WebKit::RemoteCDMInstanceProxy::setStorageDirectory):
(WebKit::RemoteCDMInstanceProxy::createSession):
- GPUProcess/media/RemoteCDMInstanceProxy.h: Added.
(WebKit::RemoteCDMInstanceProxy::configuration const):
(WebKit::RemoteCDMInstanceProxy::instance):
- GPUProcess/media/RemoteCDMInstanceProxy.messages.in: Added.
- GPUProcess/media/RemoteCDMInstanceSessionProxy.cpp: Added.
(WebKit::RemoteCDMInstanceSessionProxy::create):
(WebKit::RemoteCDMInstanceSessionProxy::RemoteCDMInstanceSessionProxy):
(WebKit::RemoteCDMInstanceSessionProxy::~RemoteCDMInstanceSessionProxy):
(WebKit::RemoteCDMInstanceSessionProxy::requestLicense):
(WebKit::RemoteCDMInstanceSessionProxy::updateLicense):
(WebKit::RemoteCDMInstanceSessionProxy::loadSession):
(WebKit::RemoteCDMInstanceSessionProxy::closeSession):
(WebKit::RemoteCDMInstanceSessionProxy::removeSessionData):
(WebKit::RemoteCDMInstanceSessionProxy::storeRecordOfKeyUsage):
(WebKit::RemoteCDMInstanceSessionProxy::updateKeyStatuses):
(WebKit::RemoteCDMInstanceSessionProxy::sendMessage):
(WebKit::RemoteCDMInstanceSessionProxy::sessionIdChanged):
- GPUProcess/media/RemoteCDMInstanceSessionProxy.h: Added.
- GPUProcess/media/RemoteCDMInstanceSessionProxy.messages.in: Added.
- GPUProcess/media/RemoteCDMProxy.cpp: Added.
(WebKit::RemoteCDMProxy::create):
(WebKit::RemoteCDMProxy::RemoteCDMProxy):
(WebKit::RemoteCDMProxy::supportsInitData):
(WebKit::RemoteCDMProxy::sanitizeResponse):
(WebKit::RemoteCDMProxy::sanitizeSessionId):
(WebKit::RemoteCDMProxy::getSupportedConfiguration):
(WebKit::RemoteCDMProxy::createInstance):
(WebKit::RemoteCDMProxy::loadAndInitialize):
- GPUProcess/media/RemoteCDMProxy.h: Added.
(WebKit::RemoteCDMProxy::configuration const):
(WebKit::RemoteCDMProxy::factory const):
- GPUProcess/media/RemoteCDMProxy.messages.in: Added.
- GPUProcess/media/RemoteMediaPlayerProxy.cpp:
(WebKit::RemoteMediaPlayerProxy::mediaPlayerInitializationDataEncountered):
(WebKit::RemoteMediaPlayerProxy::cdmInstanceAttached):
(WebKit::RemoteMediaPlayerProxy::cdmInstanceDetached):
(WebKit::RemoteMediaPlayerProxy::attemptToDecryptWithInstance):
(WebKit::RemoteMediaPlayerProxy::setShouldContinueAfterKeyNeeded):
- GPUProcess/media/RemoteMediaPlayerProxy.h:
- GPUProcess/media/RemoteMediaPlayerProxy.messages.in:
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<WebCore::CDMInstanceSession::Message>::encode):
(IPC::ArgumentCoder<WebCore::CDMInstanceSession::Message>::decode):
(IPC::ArgumentCoder<WebCore::CDMInstanceSession::KeyStatusVector>::encode):
(IPC::ArgumentCoder<WebCore::CDMInstanceSession::KeyStatusVector>::decode):
- Shared/WebCoreArgumentCoders.h:
- Sources.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/GPUProcessConnection.cpp:
(WebKit::GPUProcessConnection::didReceiveMessage):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:
(WebKit::MediaPlayerPrivateRemote::cdmInstanceAttached):
(WebKit::MediaPlayerPrivateRemote::cdmInstanceDetached):
(WebKit::MediaPlayerPrivateRemote::attemptToDecryptWithInstance):
(WebKit::MediaPlayerPrivateRemote::initializationDataEncountered):
(WebKit::MediaPlayerPrivateRemote::setShouldContinueAfterKeyNeeded):
- WebProcess/GPU/media/MediaPlayerPrivateRemote.h:
- WebProcess/GPU/media/MediaPlayerPrivateRemote.messages.in:
- WebProcess/GPU/media/RemoteCDM.cpp: Added.
(WebKit::RemoteCDM::create):
(WebKit::RemoteCDM::RemoteCDM):
(WebKit::RemoteCDM::getSupportedConfiguration):
(WebKit::RemoteCDM::supportsConfiguration const):
(WebKit::RemoteCDM::supportsConfigurationWithRestrictions const):
(WebKit::RemoteCDM::supportsSessionTypeWithConfiguration const):
(WebKit::RemoteCDM::supportsInitData const):
(WebKit::RemoteCDM::distinctiveIdentifiersRequirement const):
(WebKit::RemoteCDM::persistentStateRequirement const):
(WebKit::RemoteCDM::distinctiveIdentifiersAreUniquePerOriginAndClearable const):
(WebKit::RemoteCDM::createInstance):
(WebKit::RemoteCDM::loadAndInitialize):
(WebKit::RemoteCDM::sanitizeResponse const):
(WebKit::RemoteCDM::sanitizeSessionId const):
- WebProcess/GPU/media/RemoteCDM.h: Added.
- WebProcess/GPU/media/RemoteCDMConfiguration.h: Added.
(WebKit::RemoteCDMConfiguration::encode const):
(WebKit::RemoteCDMConfiguration::decode):
- WebProcess/GPU/media/RemoteCDMFactory.cpp: Added.
(WebKit::RemoteCDMFactory::RemoteCDMFactory):
(WebKit::RemoteCDMFactory::updatePreferences):
(WebKit::RemoteCDMFactory::supplementName):
(WebKit::RemoteCDMFactory::gpuProcessConnection):
(WebKit::RemoteCDMFactory::supportsKeySystem):
(WebKit::RemoteCDMFactory::createCDM):
(WebKit::RemoteCDMFactory::addSession):
(WebKit::RemoteCDMFactory::removeSession):
(WebKit::RemoteCDMFactory::didReceiveSessionMessage):
- WebProcess/GPU/media/RemoteCDMFactory.h: Added.
- WebProcess/GPU/media/RemoteCDMIdentifier.h: Added.
- WebProcess/GPU/media/RemoteCDMInstance.cpp: Added.
(WebKit::RemoteCDMInstance::create):
(WebKit::RemoteCDMInstance::RemoteCDMInstance):
(WebKit::RemoteCDMInstance::initializeWithConfiguration):
(WebKit::RemoteCDMInstance::setServerCertificate):
(WebKit::RemoteCDMInstance::setStorageDirectory):
(WebKit::RemoteCDMInstance::createSession):
- WebProcess/GPU/media/RemoteCDMInstance.h: Added.
- WebProcess/GPU/media/RemoteCDMInstanceConfiguration.h: Added.
(WebKit::RemoteCDMInstanceConfiguration::encode const):
(WebKit::RemoteCDMInstanceConfiguration::decode):
- WebProcess/GPU/media/RemoteCDMInstanceIdentifier.h: Added.
- WebProcess/GPU/media/RemoteCDMInstanceSession.cpp: Added.
(WebKit::RemoteCDMInstanceSession::create):
(WebKit::RemoteCDMInstanceSession::RemoteCDMInstanceSession):
(WebKit::RemoteCDMInstanceSession::requestLicense):
(WebKit::RemoteCDMInstanceSession::updateLicense):
(WebKit::RemoteCDMInstanceSession::loadSession):
(WebKit::RemoteCDMInstanceSession::closeSession):
(WebKit::RemoteCDMInstanceSession::removeSessionData):
(WebKit::RemoteCDMInstanceSession::storeRecordOfKeyUsage):
(WebKit::RemoteCDMInstanceSession::updateKeyStatuses):
(WebKit::RemoteCDMInstanceSession::sendMessage):
(WebKit::RemoteCDMInstanceSession::sessionIdChanged):
- WebProcess/GPU/media/RemoteCDMInstanceSession.h: Added.
- WebProcess/GPU/media/RemoteCDMInstanceSession.messages.in: Added.
- WebProcess/GPU/media/RemoteCDMInstanceSessionIdentifier.h: Added.
- WebProcess/GPU/webrtc/SampleBufferDisplayLayer.cpp:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
- WebProcess/WebProcess.cpp:
- 11:35 AM Changeset in webkit [257866] by
-
- 2 edits in trunk/Source/WebKit
Assertion failed: !m_function in CompletionHandler::~CompletionHandler()
https://bugs.webkit.org/show_bug.cgi?id=208457
Reviewed by Chris Dumez.
Ensure completion handler is called in WebsiteDataStore::getResourceLoadStatisticsDataSummary.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::getResourceLoadStatisticsDataSummary):
- 11:29 AM Changeset in webkit [257865] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] imported/w3c/web-platform-tests/mediacapture-streams/MediaStream-removetrack.https.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=208585
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:22 AM Changeset in webkit [257864] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk2 ] fast/scrolling/scroll-animator-overlay-scrollbars-clicked.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208584
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 11:18 AM Changeset in webkit [257863] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] imported/w3c/web-platform-tests/IndexedDB/key-generators/reading-autoincrement-indexes-cursors.any.serviceworker.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=206934#add_comment
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:04 AM Changeset in webkit [257862] by
-
- 15 edits in trunk/Source
Remove initial layout throttler
https://bugs.webkit.org/show_bug.cgi?id=208285
Reviewed by Antti Koivisto.
Source/WebCore:
This removes a throttle that can prevent us from laying out during the first 250 ms of page
load. This throttle is generally not effective (many pages have JS that force a sync layout
before the first 250 ms of loading) and is also extremely outdated (the comment says the
interval is too high for dual G5s). We already have too many throttles in too many places,
so let's remove this one.
- dom/Document.cpp:
(WebCore::Document::implicitClose):
(WebCore::Document::shouldScheduleLayout const):
(WebCore::Document::isLayoutTimerActive const):
(WebCore::Document::shouldScheduleLayout): Deleted.
(WebCore::Document::isLayoutTimerActive): Deleted.
(WebCore::Document::minimumLayoutDelay): Deleted.
(WebCore::Document::timeSinceDocumentCreation const): Deleted.
- dom/Document.h:
(WebCore::Document::parsing const):
(WebCore::Document::timeSinceDocumentCreation const):
- page/FrameViewLayoutContext.cpp:
(WebCore::FrameViewLayoutContext::layout):
(WebCore::FrameViewLayoutContext::reset):
(WebCore::FrameViewLayoutContext::scheduleLayout):
(WebCore::FrameViewLayoutContext::unscheduleLayout):
(WebCore::FrameViewLayoutContext::scheduleSubtreeLayout):
- page/FrameViewLayoutContext.h:
- page/SettingsBase.cpp:
(WebCore::SettingsBase::SettingsBase):
(WebCore::SettingsBase::setLayoutInterval): Deleted.
- page/SettingsBase.h:
(WebCore::SettingsBase::layoutInterval const): Deleted.
Source/WebKit:
- Shared/WebPreferences.yaml:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Source/WebKitLegacy/mac:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences _setLayoutInterval:]): Deleted.
(-[WebPreferences _layoutInterval]): Deleted.
- WebView/WebPreferencesPrivate.h:
- WebView/WebView.mm:
- 10:55 AM Changeset in webkit [257861] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/wpt/service-workers/server-trust-evaluation.https.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=208582
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 10:45 AM Changeset in webkit [257860] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/wpt/service-workers/skipFetchEvent.https.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=208581
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 10:35 AM Changeset in webkit [257859] by
-
- 3 edits in trunk/Tools
[macOS] test-lldb-webkit failing on debug bots
https://bugs.webkit.org/show_bug.cgi?id=208545
Reviewed by Jonathan Bedard.
The lldb-webkit-test step must pass in the build configuration as an
argument to the test-lldb-webkit script so that it uses the lldbWebKitTester
binary that is downloaded with the rest of the build products. Without this
argument, the bots expect to find the binary in the 'WebKitBuild/Release' directory
regardless of their actual build configuration.
- BuildSlaveSupport/build.webkit.org-config/steps.py:
(RunLLDBWebKitTests): Pass in the build configuration to the test-lldb-webkit script.
- Scripts/test-lldb-webkit:
(LldbTester.parse_args): Capitalize the constants for Debug / Release since that is what webkitpy expects.
- 10:23 AM Changeset in webkit [257858] by
-
- 2 edits in trunk/Tools
[ews] Add build step to create local git commit for commit-queue (follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=208539
Unreviewed follow-up fix.
- BuildSlaveSupport/ews-build/steps.py:
- 10:21 AM Changeset in webkit [257857] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r257839): two fast/forms/textarea are failing after commit r257839
https://bugs.webkit.org/show_bug.cgi?id=208576
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 10:21 AM Changeset in webkit [257856] by
-
- 2 edits in trunk/Source/JavaScriptCore
JSC 32bits broken in debug mode by r257399
https://bugs.webkit.org/show_bug.cgi?id=208439
Patch by Paulo Matos <Paulo Matos> on 2020-03-04
Reviewed by Carlos Alberto Lopez Perez.
Use uses() method call instead of gpr() on assert to that it
works for both 64 and 32 bits.
- bytecode/AccessCase.cpp:
(JSC::AccessCase::generateImpl):
- 10:21 AM Changeset in webkit [257855] by
-
- 3 edits in trunk/Source/WebKit
Drop WebsiteDataStore::processPools()'s ensureAPoolExists optional parameter and add a ensureProcessPools() method instead
https://bugs.webkit.org/show_bug.cgi?id=208546
Reviewed by Sam Weinig.
Drop WebsiteDataStore::processPools()'s ensureAPoolExists optional parameter and add a ensureProcessPools()
method instead. This was error-prone and we are a lot of code creating process pools unnecessarily as a
result.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::processPoolForCookieStorageOperations):
(WebKit::WebsiteDataStore::fetchDataAndApply):
(WebKit::WebsiteDataStore::removeData):
(WebKit::WebsiteDataStore::setMaxStatisticsEntries):
(WebKit::WebsiteDataStore::setPruneEntriesDownTo):
(WebKit::WebsiteDataStore::setGrandfatheringTime):
(WebKit::WebsiteDataStore::setMinimumTimeBetweenDataRecordsRemoval):
(WebKit::WebsiteDataStore::dumpResourceLoadStatistics):
(WebKit::WebsiteDataStore::isPrevalentResource):
(WebKit::WebsiteDataStore::isGrandfathered):
(WebKit::WebsiteDataStore::setPrevalentResource):
(WebKit::WebsiteDataStore::setPrevalentResourceForDebugMode):
(WebKit::WebsiteDataStore::isVeryPrevalentResource):
(WebKit::WebsiteDataStore::setVeryPrevalentResource):
(WebKit::WebsiteDataStore::setShouldClassifyResourcesBeforeDataRecordsRemoval):
(WebKit::WebsiteDataStore::setSubframeUnderTopFrameDomain):
(WebKit::WebsiteDataStore::isRegisteredAsSubFrameUnder):
(WebKit::WebsiteDataStore::setSubresourceUnderTopFrameDomain):
(WebKit::WebsiteDataStore::isRegisteredAsSubresourceUnder):
(WebKit::WebsiteDataStore::setSubresourceUniqueRedirectTo):
(WebKit::WebsiteDataStore::setSubresourceUniqueRedirectFrom):
(WebKit::WebsiteDataStore::setTopFrameUniqueRedirectTo):
(WebKit::WebsiteDataStore::setTopFrameUniqueRedirectFrom):
(WebKit::WebsiteDataStore::isRegisteredAsRedirectingTo):
(WebKit::WebsiteDataStore::clearPrevalentResource):
(WebKit::WebsiteDataStore::resetParametersToDefaultValues):
(WebKit::WebsiteDataStore::submitTelemetry):
(WebKit::WebsiteDataStore::scheduleClearInMemoryAndPersistent):
(WebKit::WebsiteDataStore::getResourceLoadStatisticsDataSummary):
(WebKit::WebsiteDataStore::scheduleCookieBlockingUpdate):
(WebKit::WebsiteDataStore::scheduleStatisticsAndDataRecordsProcessing):
(WebKit::WebsiteDataStore::setLastSeen):
(WebKit::WebsiteDataStore::mergeStatisticForTesting):
(WebKit::WebsiteDataStore::setNotifyPagesWhenDataRecordsWereScanned):
(WebKit::WebsiteDataStore::setIsRunningResourceLoadStatisticsTest):
(WebKit::WebsiteDataStore::setNotifyPagesWhenTelemetryWasCaptured):
(WebKit::WebsiteDataStore::setTimeToLiveUserInteraction):
(WebKit::WebsiteDataStore::logUserInteraction):
(WebKit::WebsiteDataStore::hasHadUserInteraction):
(WebKit::WebsiteDataStore::isRelationshipOnlyInDatabaseOnce):
(WebKit::WebsiteDataStore::clearUserInteraction):
(WebKit::WebsiteDataStore::setGrandfathered):
(WebKit::WebsiteDataStore::setUseITPDatabase):
(WebKit::WebsiteDataStore::setCrossSiteLoadWithLinkDecorationForTesting):
(WebKit::WebsiteDataStore::resetCrossSiteLoadsWithLinkDecorationForTesting):
(WebKit::WebsiteDataStore::deleteCookiesForTesting):
(WebKit::WebsiteDataStore::hasLocalStorageForTesting const):
(WebKit::WebsiteDataStore::hasIsolatedSessionForTesting const):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsShouldDowngradeReferrerForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsShouldBlockThirdPartyCookiesForTesting):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsFirstPartyWebsiteDataRemovalModeForTesting):
(WebKit::WebsiteDataStore::setCacheMaxAgeCapForPrevalentResources):
(WebKit::WebsiteDataStore::resetCacheMaxAgeCapForPrevalentResources):
(WebKit::WebsiteDataStore::processPools const):
(WebKit::WebsiteDataStore::ensureProcessPools const):
(WebKit::WebsiteDataStore::plugins const):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsEnabled):
(WebKit::WebsiteDataStore::setStatisticsTestingCallback):
(WebKit::WebsiteDataStore::setResourceLoadStatisticsDebugMode):
(WebKit::WebsiteDataStore::isResourceLoadStatisticsEphemeral const):
(WebKit::WebsiteDataStore::clearResourceLoadStatisticsInWebProcesses):
(WebKit::WebsiteDataStore::getLocalStorageDetails):
(WebKit::WebsiteDataStore::resetQuota):
(WebKit::WebsiteDataStore::hasAppBoundSession const):
(WebKit::WebsiteDataStore::setInAppBrowserPrivacyEnabled):
- UIProcess/WebsiteData/WebsiteDataStore.h:
- 10:07 AM Changeset in webkit [257854] by
-
- 2 edits in trunk/Tools
Should use -bounds instead of -frame in RequestTextInputContext.mm tests
https://bugs.webkit.org/show_bug.cgi?id=208565
Reviewed by Wenson Hsieh.
Pass the bounds of the web view to -synchronouslyRequestTextInputContextsInRect: instead
of its frame as a means to find all the editable elements in the visible content area
of the web view.
Coincidentally this makes no difference to the test results right now because the web view
happens to be located at the origin (0, 0) in the window. However if in the future the
web view would be located at some other point then the tests may fail because the rectangle
passed to -synchronouslyRequestTextInputContextsInRect: would no longer represent the
rectangle for the visible content area.
- TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TEST):
- 10:06 AM Changeset in webkit [257853] by
-
- 2 edits in trunk/Tools
Organize tests in RequestTextInputContext.mm tests under test name RequestTextInputContext
https://bugs.webkit.org/show_bug.cgi?id=208564
Reviewed by Alex Christensen.
Group the tests in RequestTextInputContext.mm under the test case name RequestTextInputContext
to make it easy to run just these tests.
Currently, the tests are organized under the test case name WebKit. This means you need to
pass run-api-tests the name of each sub-test as there is no easy way to run them all without
also running all the TestWebKitAPI.WebKit sub-tests. Instead organize them under RequestTextInputContext
so that a person can run just these test using:
run-api-tests --debug TestWebKitAPI.RequestTextInputContext
- TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(TEST):
- 10:05 AM Changeset in webkit [257852] by
-
- 4 edits in trunk/Source/WebKit
Implement WKTextSelectionRect in terms of WebCore::SelectionRect and WKTextRange in terms of WKTextSelectionRect
https://bugs.webkit.org/show_bug.cgi?id=208563
Reviewed by Alex Christensen.
It is a layering violation that WebKit2 includes a header from WebKit. Implement
WKTextSelectionRect in terms of WebCore::SelectionRect as a step towards fixing this.
Also avoid the WebCore::SelectionRect -> WebSelectionRect -> WKTextSelectionRect
dance that WKTextRange does so that -[WKTextRange selectionRectsForRange] returns
an array of WKTextSelectionRects by writing WKTextRange in terms of NSArray<WKTextSelectionRect *>*.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _uiTextSelectionRects]):
(-[WKContentView selectedTextRange]):
(-[WKContentView selectionRectsForRange:]):
- UIProcess/ios/WKTextSelectionRect.h:
- UIProcess/ios/WKTextSelectionRect.mm:
(-[WKTextSelectionRect initWithSelectionRect:]):
(-[WKTextSelectionRect rect]):
(-[WKTextSelectionRect writingDirection]):
(-[WKTextSelectionRect containsStart]):
(-[WKTextSelectionRect containsEnd]):
(-[WKTextSelectionRect isVertical]):
(-[WKTextSelectionRect initWithWebRect:]): Deleted.
(-[WKTextSelectionRect dealloc]): Deleted.
(+[WKTextSelectionRect textSelectionRectsWithWebRects:]): Deleted.
- 10:04 AM Changeset in webkit [257851] by
-
- 4 edits2 adds in trunk/Source/WebKit
Move WKTextSelectionRect into its own file
https://bugs.webkit.org/show_bug.cgi?id=208561
Reviewed by Alex Christensen.
WKTextSelectionRect is currently defined in WKContentViewInteraction.mm. Separate it
out into its own file to improve project organization and de-clutter WKContentViewInteraction.mm.
- SourcesCocoa.txt:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKTextSelectionRect initWithWebRect:]): Deleted.
(-[WKTextSelectionRect dealloc]): Deleted.
(+[WKTextSelectionRect textSelectionRectsWithWebRects:]): Deleted.
(-[WKTextSelectionRect rect]): Deleted.
(-[WKTextSelectionRect writingDirection]): Deleted.
(-[WKTextSelectionRect range]): Deleted.
(-[WKTextSelectionRect containsStart]): Deleted.
(-[WKTextSelectionRect containsEnd]): Deleted.
(-[WKTextSelectionRect isVertical]): Deleted.
- UIProcess/ios/WKTextSelectionRect.h: Added.
- UIProcess/ios/WKTextSelectionRect.mm: Added.
(-[WKTextSelectionRect initWithWebRect:]):
(-[WKTextSelectionRect dealloc]):
(+[WKTextSelectionRect textSelectionRectsWithWebRects:]):
(-[WKTextSelectionRect rect]):
(-[WKTextSelectionRect writingDirection]):
(-[WKTextSelectionRect range]):
(-[WKTextSelectionRect containsStart]):
(-[WKTextSelectionRect containsEnd]):
(-[WKTextSelectionRect isVertical]):
- WebKit.xcodeproj/project.pbxproj:
- 9:55 AM Changeset in webkit [257850] by
-
- 3 edits in trunk/LayoutTests
Unreviewed test gardening after r257764.
- TestExpectations:
- platform/win/TestExpectations:
- 9:53 AM Changeset in webkit [257849] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r257840?) [ Mac wk2 Release ] fast/hidpi/image-srcset-relative-svg-canvas.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208577
Unreviewed test gardening.
- platform/mac-wk2/TestExpectations:
- 9:40 AM Changeset in webkit [257848] by
-
- 4 edits in trunk/Tools
[ews] Add build step to create local git commit for commit-queue
https://bugs.webkit.org/show_bug.cgi?id=208539
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/steps.py:
(CreateLocalGITCommit): Build step to create local git commit.
(CreateLocalGITCommit.start):
(CreateLocalGITCommit.getResultSummary): Set custom failure message.
- BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests and restructured imports.
- BuildSlaveSupport/ews-build/factories.py:
- 8:53 AM Changeset in webkit [257847] by
-
- 2 edits in trunk/LayoutTests
[ Mac ] mathml/scripts-removeChild.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208574
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 8:34 AM Changeset in webkit [257846] by
-
- 2 edits in trunk/Source/WebCore
Avoid full style resolution on Element::focus()
https://bugs.webkit.org/show_bug.cgi?id=208504
<rdar://problem/60035288>
Unreviewed followup.
- dom/Element.cpp:
(WebCore::Element::resolveComputedStyle):
(WebCore::Element::isVisibleWithoutResolvingFullStyle const):
Emilio spotted that this neeeds to be a composed ancestor walk to match resolveComputedStyle.
- 8:31 AM Changeset in webkit [257845] by
-
- 4 edits in trunk/Source/WebKit
WebChromeClient::createImageBuffer should not create a connection to GPU Process if page does not want remote rendering
https://bugs.webkit.org/show_bug.cgi?id=208567
rdar://problem/60020229
Reviewed by Wenson Hsieh.
Manually tested.
- WebProcess/GPU/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::createImageBuffer):
Minor refactoring to directly take a ShouldAccelerate instead of a RenderingMode.
- WebProcess/GPU/graphics/RemoteRenderingBackend.h:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::createImageBuffer const):
In case page does not want to do remote rendering, do not create a remote image buffer.
Instead, return null and let the caller create a local image buffer.
- 8:17 AM Changeset in webkit [257844] by
-
- 11 edits in trunk
(r256513) [ Mac ] fast/scrolling/programmatic-scroll-to-zero-zero.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=207948
Reviewed by Zalan Bujtas.
Source/WebCore:
It was possible for WheelEventTestMonitor to fire the callback before receiving any wheel events, if
no deferral reasons happened before the timer fires. Let's require at least one deferral.
There was no deferral for main-thread iframe wheel event handling, so add that so that tests that
slow-scroll iframes work.
Should de-flake fast/scrolling/programmatic-scroll-to-zero-zero.html and maybe other tests.
- page/EventHandler.cpp:
(WebCore::EventHandler::handleWheelEvent):
- page/WheelEventTestMonitor.cpp:
(WebCore::WheelEventTestMonitor::clearAllTestDeferrals):
(WebCore::WheelEventTestMonitor::deferForReason):
(WebCore::WheelEventTestMonitor::triggerTestTimerFired):
(WebCore::operator<<):
- page/WheelEventTestMonitor.h:
(WebCore::WheelEventTestMonitorCompletionDeferrer::WheelEventTestMonitorCompletionDeferrer):
(WebCore::WheelEventTestMonitorCompletionDeferrer::~WheelEventTestMonitorCompletionDeferrer):
Tools:
EventSendingController needs to trigger layout so that the WebHTMLView is not 0x0,
so that it receives the wheel events.
- DumpRenderTree/mac/EventSendingController.mm:
(-[EventSendingController mouseScrollByX:andY:withWheel:andMomentumPhases:]):
- DumpRenderTree/win/EventSender.cpp:
(mouseScrollBy):
LayoutTests:
Remove line for fast/scrolling/programmatic-scroll-to-zero-zero.html.
Skip two Windows tests that, for unknown reasons, no longer get any scrolling
triggers.
- platform/mac-wk2/TestExpectations:
- platform/win/TestExpectations:
- 8:15 AM Changeset in webkit [257843] by
-
- 1 edit in branches/safari-610.1.6-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.h
Apply Patch. rdar://problem/60019706.
- 7:52 AM Changeset in webkit [257842] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] webrtc/video-replace-track.html has been flaky failing on iOS
https://bugs.webkit.org/show_bug.cgi?id=208573
Unreviewed test gardening
- platform/ios-wk2/TestExpectations:
- 7:19 AM Changeset in webkit [257841] by
-
- 3 edits in trunk/Source/WebCore
[LFC][IFC] Display::Run::TextContent::expand(unsigned) is called with the value of -1.
https://bugs.webkit.org/show_bug.cgi?id=208558
<rdar://problem/60026658>
Reviewed by Antti Koivisto.
- layout/displaytree/DisplayRun.h:
(WebCore::Display::Run::TextContent::shrink):
- layout/inlineformatting/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::Run::removeTrailingWhitespace):
- 6:53 AM Changeset in webkit [257840] by
-
- 19 edits in trunk
[First paint] Going from visually empty to non-empty should immediately trigger layer unfreezing
https://bugs.webkit.org/show_bug.cgi?id=208385
<rdar://problem/59895900>
Reviewed by Antti Koivisto.
Source/WebCore:
Now that VNE check and layout are decoupled, we should also decouple the VNE layout milestone and
layer unfreezing.
In many cases a style change does not initiate synchronous layout (see Document::updateStyleIfNeeded) which
potentially delays the first paint. This patch ensure that we unfreeze the layer tree and issue paint soon after
the style change produced a VNE content.
- loader/EmptyFrameLoaderClient.h:
- loader/FrameLoader.cpp:
(WebCore::FrameLoader::didReachVisuallyNonEmptyState):
- loader/FrameLoader.h:
- loader/FrameLoaderClient.h:
- page/FrameView.cpp:
(WebCore::FrameView::styleAndRenderTreeDidChange):
(WebCore::FrameView::checkAndDispatchDidReachVisuallyNonEmptyState):
(WebCore::FrameView::fireLayoutRelatedMilestonesIfNeeded):
(WebCore::FrameView::qualifiesAsVisuallyNonEmpty const): Deleted.
- page/FrameView.h:
Source/WebKit:
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidReachLayoutMilestone):
(WebKit::WebFrameLoaderClient::dispatchDidReachVisuallyNonEmptyState):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCompletePageTransition):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::resetIdempotentTextAutosizingIfNeeded): We don't have this case anymore.
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::scheduleRenderingUpdate):
LayoutTests:
- fast/scrolling/scroll-animator-overlay-scrollbars-clicked-expected.txt:
- fast/scrolling/scroll-animator-overlay-scrollbars-clicked.html:
- fast/scrolling/scroll-animator-overlay-scrollbars-hovered-expected.txt:
- fast/scrolling/scroll-animator-overlay-scrollbars-hovered.html:
- 4:11 AM Changeset in webkit [257839] by
-
- 15 edits2 adds in trunk
Avoid full style resolution on Element::focus()
https://bugs.webkit.org/show_bug.cgi?id=208504
Reviewed by Zalan Bujtas.
Source/WebCore:
Element::focus() currently triggers full style resolution both before (to compute element visibility)
and after (for no particular reason).
Resolving style can be costly if there are further DOM mutations that end up invalidating it again.
This patch adds a cheaper single-element way to computing visibility and uses it for focus().
This appears to be 3-4% Speedometer progression.
Test: fast/forms/focus-after-visibility-change.html
- accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::focusedUIElementForPage):
AX code assumes renderers have exist for focused element so ensure style is up to date.
- dom/Document.cpp:
(WebCore::Document::setFocusedElement):
Remove style resolution.
- dom/Element.cpp:
(WebCore::Element::isFocusable const):
Use isVisibleWithoutResolvingFullStyle helper.
(WebCore::Element::focus):
Avoid style resolution if the element is in a subtree that doesn't have renderers yet.
(WebCore::Element::resolveComputedStyle):
Add a mode where we bail out when we figure out we are in display:none subtree.
(WebCore::Element::hasValidStyle const):
See if we already have valid style.
(WebCore::Element::isVisibleWithoutResolvingFullStyle const):
Use computed style mechanism for subtrees that have no renderers yet.
(WebCore::Element::computedStyle):
- dom/Element.h:
- html/HTMLAreaElement.cpp:
(WebCore::HTMLAreaElement::isFocusable const):
Use isVisibleWithoutResolvingFullStyle here too.
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::platformHandleKeydownEvent):
(WebCore::HTMLSelectElement::menuListDefaultEventHandler):
Update style after explicit focus() calls to keep the existing behavior.
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setRangeText):
Ensure the renderer is created.
- html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::forwardEvent):
Remove unneeded renderer test.
LayoutTests:
- fast/events/keypress-removed-node-expected.txt:
- fast/events/keypress-removed-node.html:
Modify the test so it is not sensitive to non-rendered whitespace changes
(caused by timing of render tree updates).
- fast/forms/autofocus-input-css-style-change.html:
Read the <input autofocus> :focus style in rAF as focusing happens asynchronously. This matches other browsers.
- fast/forms/focus-after-visibility-change-expected.txt: Added.
- fast/forms/focus-after-visibility-change.html: Added.
Add a simple test for visibility style change after renderer has already be created.
- 3:47 AM Changeset in webkit [257838] by
-
- 2 edits in trunk/Tools
REGRESSION (r257739): two fast/events/autoscroll test have started to fail
https://bugs.webkit.org/show_bug.cgi?id=208520
<rdar://problem/60000214>
Reviewed by Chris Fleizach.
Calling InjectedBundle::singleton().page()->page() in the constructor
of the AccessibilityController is having this side effect on iOS.
So #if to MAC where it's actually being used.
- WebKitTestRunner/InjectedBundle/AccessibilityController.cpp:
(WTR::AccessibilityController::AccessibilityController):
- 12:56 AM Changeset in webkit [257837] by
-
- 3 edits in trunk/Source/WebCore
[GTK][WPE] Use restore view icon for exit fullscreen button in media controls
https://bugs.webkit.org/show_bug.cgi?id=208511
Reviewed by Xabier Rodriguez-Calvar.
We currently use view fullscreen for both entering and leaving.
- Modules/mediacontrols/mediaControlsAdwaita.css:
(video::-webkit-media-controls-fullscreen-button.exit):
(audio::-webkit-media-controls-fullscreen-button,): Deleted.
(audio::-webkit-media-controls-fullscreen-button.hidden,): Deleted.
- Modules/mediacontrols/mediaControlsAdwaita.js:
(Controller.prototype.handleFullscreenChange):
- 12:54 AM Changeset in webkit [257836] by
-
- 4 edits in trunk
[GTK][WPE] Stop adding volume-box class to volume box element
https://bugs.webkit.org/show_bug.cgi?id=208510
Reviewed by Xabier Rodriguez-Calvar.
Source/WebCore:
The class was removed in r257705 because it's not used by our css.
- Modules/mediacontrols/mediaControlsAdwaita.js:
(Controller.prototype.createControls):
LayoutTests:
Update expectations of http/tests/media/hls/video-controls-live-stream.html.
- platform/gtk/http/tests/media/hls/video-controls-live-stream-expected.txt:
Mar 3, 2020:
- 10:31 PM Changeset in webkit [257835] by
-
- 38 edits in trunk/Source
Web Inspector: re-add
InspectorFrontendHost
support for moving the inspected window
https://bugs.webkit.org/show_bug.cgi?id=208555
Reviewed by Timothy Hatcher.
Partially revert r257759, as the design changed enough such that this code is still useful.
Source/WebCore:
Allow the Web Inspector frontend to ask the containing app (via
InspectorFrontendClient
)
whether it supports the given docking configuration.
- inspector/InspectorFrontendHost.idl:
- inspector/InspectorFrontendHost.h:
- inspector/InspectorFrontendHost.cpp:
(WebCore::dockSideFromString): Added.
(WebCore::InspectorFrontendHost::supportsDockSide): Added.
(WebCore::InspectorFrontendHost::requestSetDockSide):
(WebCore::InspectorFrontendHost::startWindowDrag): Added.
(WebCore::InspectorFrontendHost::moveWindowBy const): Added.
- inspector/InspectorFrontendClient.h:
- inspector/InspectorFrontendClientLocal.cpp:
- inspector/InspectorFrontendClientLocal.h:
(WebCore::InspectorFrontendClientLocal::moveWindowBy): Added.
- testing/Internals.cpp:
(WebCore::InspectorStubFrontend::supportsDockSide): Added.
Source/WebInspectorUI:
- UserInterface/Base/Main.js:
(WI.loaded):
(WI.updateDockedState):
(WI.resizeDockedFrameMouseDown): Added.
(WI.moveUndockedWindowMouseDown): Added.
(WI.dockedConfigurationSupportsSplitContentBrowser):
(WI._windowFocused):
(WI._windowBlurred):
(WI._updateDockNavigationItems):
(WI._handleDockedResizerMouseDown):
(WI._handleUndockedTitleAreaMouseDown):
(WI._updateTabBarDividers):
(WI.setLayoutDirection):
Don't create tab bar navigation items for the various docking configurations if the platform
doesn't support that particular configuration.
- UserInterface/Views/TabBar.js:
(WI.TabBar):
(WI.TabBar.get horizontalPadding):
(WI.TabBar.prototype._handleMouseDown):
(WI.TabBar.prototype._handleTabContainerMouseDown): Added.
(WI.TabBar.prototype._handleTabContainerClick): Added.
(WI.TabBar.prototype._handleTabContainerMouseLeave): Added.
(WI.TabBar.prototype._handleTabContainerContextMenu): Added.
(WI.TabBar.prototype._handleClick): Deleted.
(WI.TabBar.prototype._handleMouseLeave): Deleted.
(WI.TabBar.prototype._handleContextMenu): Deleted.
- UserInterface/Views/TabBar.css:
(body.docked.bottom .tab-bar > .tabs > .flexible-space):
Dragging on empty space in the tab bar should adjust Web Inspector's bottom docked height.
- UserInterface/Views/TabBarItem.js:
(WI.TabBarItem.get horizontalMargin):
Source/WebKit:
Allow the Web Inspector frontend to ask the containing app (via
InspectorFrontendClient
)
whether it supports the given docking configuration.
- WebProcess/Inspector/WebInspectorUI.h:
- WebProcess/Inspector/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::startWindowDrag): Added.
(WebKit::WebInspectorUI::moveWindowBy): Added.
(WebKit::WebInspectorUI::supportsDockSide): Added.
(WebKit::WebInspectorUI::requestSetDockSide):
(WebKit::WebInspectorUI::setDockSide):
- UIProcess/Inspector/WebInspectorProxy.messages.in:
- UIProcess/Inspector/WebInspectorProxy.h:
- UIProcess/Inspector/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::startWindowDrag): Added.
(WebKit::WebInspectorProxy::platformStartWindowDrag): Added.
- UIProcess/Inspector/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformStartWindowDrag): Added.
- UIProcess/Inspector/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformStartWindowDrag): Added.
- UIProcess/Inspector/win/WebInspectorProxyWin.cpp:
(WebKit::WebInspectorProxy::platformStartWindowDrag): Added.
- WebProcess/Inspector/RemoteWebInspectorUI.h:
- WebProcess/Inspector/RemoteWebInspectorUI.cpp:
(WebKit::RemoteWebInspectorUI::startWindowDrag): Added.
(WebKit::RemoteWebInspectorUI::moveWindowBy): Added.
(WebKit::RemoteWebInspectorUI::supportsDockSide): Added.
- UIProcess/Inspector/RemoteWebInspectorProxy.messages.in:
- UIProcess/Inspector/RemoteWebInspectorProxy.h:
- UIProcess/Inspector/RemoteWebInspectorProxy.cpp:
(WebKit::RemoteWebInspectorProxy::startWindowDrag): Added.
(WebKit::RemoteWebInspectorProxy::platformStartWindowDrag): Added.
- UIProcess/Inspector/gtk/RemoteWebInspectorProxyGtk.cpp:
(WebKit::RemoteWebInspectorProxy::platformStartWindowDrag): Added.
- UIProcess/Inspector/mac/RemoteWebInspectorProxyMac.mm:
(WebKit::RemoteWebInspectorProxy::platformStartWindowDrag): Added.
- UIProcess/Inspector/win/RemoteWebInspectorProxyWin.cpp:
(WebKit::RemoteWebInspectorProxy::platformStartWindowDrag): Added.
Source/WebKitLegacy/ios:
Allow the Web Inspector frontend to ask the containing app (via
InspectorFrontendClient
)
whether it supports the given docking configuration.
- WebCoreSupport/WebInspectorClientIOS.mm:
(WebInspectorFrontendClient::supportsDockSide): Added.
(WebInspectorFrontendClient::startWindowDrag): Added.
Source/WebKitLegacy/mac:
Allow the Web Inspector frontend to ask the containing app (via
InspectorFrontendClient
)
whether it supports the given docking configuration.
- WebCoreSupport/WebInspectorClient.h:
- WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::startWindowDrag): Added.
(WebInspectorFrontendClient::supportsDockSide): Added.
Source/WebKitLegacy/win:
Allow the Web Inspector frontend to ask the containing app (via
InspectorFrontendClient
)
whether it supports the given docking configuration.
- WebCoreSupport/WebInspectorClient.h:
- WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorFrontendClient::supportsDockSide): Added.
- 10:03 PM Changeset in webkit [257834] by
-
- 8 edits in trunk
Add SPI _WKResourceLoadInfo.loadedFromCache
https://bugs.webkit.org/show_bug.cgi?id=208554
Reviewed by Wenson Hsieh.
Source/WebKit:
This exposes a boolean value indicating whether the resource was loaded from a cache based on the response source.
This is needed for rdar://problem/57132290
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::resourceLoadInfo):
- Shared/ResourceLoadInfo.h:
(WebKit::ResourceLoadInfo::encode const):
(WebKit::ResourceLoadInfo::decode):
- UIProcess/API/APIResourceLoadInfo.h:
- UIProcess/API/Cocoa/_WKResourceLoadInfo.h:
- UIProcess/API/Cocoa/_WKResourceLoadInfo.mm:
(-[_WKResourceLoadInfo loadedFromCache]):
(-[_WKResourceLoadInfo initWithCoder:]):
(-[_WKResourceLoadInfo encodeWithCoder:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
(TEST):
- 9:40 PM Changeset in webkit [257833] by
-
- 2 edits in trunk/Source/WebCore
Web Inspector: set both the page's and the window's appearance when modifying the frontend forced appearance in the case that the frontend is docked
https://bugs.webkit.org/show_bug.cgi?id=208557
Reviewed by Timothy Hatcher.
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::setForcedAppearance):
InspectorFrontendClient::setForcedAppearance
only has an effect when Web Inspector is
detached/undocked, meaning that changing the Appearance in the Settings Tab when docked has
no effect. In addition to notifying theInspectorFrontendClient
, we should also call
Page::setUseDarkAppearanceOverride
so that if Web Inspector is docked, the apperance
changes. The Web Inspector frontend page's apperance would normally change to match the
appearance of the window, but when Web Inspector is docked there is no window.
- 9:33 PM Changeset in webkit [257832] by
-
- 2 edits in branches/safari-609.1.20.4-branch/Source/WebKitLegacy/win
Cherry-pick r257802. rdar://problem/60009752
[Win] API header file has USE macro
https://bugs.webkit.org/show_bug.cgi?id=208534
Reviewed by Brent Fulgham.
USE macros should not be used in API header files.
- WebKitCOMAPI.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257802 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:30 PM Changeset in webkit [257831] by
-
- 8 edits in branches/safari-609.1.20.4-branch/Source
Versioning.
- 9:22 PM Changeset in webkit [257830] by
-
- 17 edits in trunk
Batch observations and completions of text manipulations
https://bugs.webkit.org/show_bug.cgi?id=208406
Reviewed by Wenson Hsieh.
Source/WebCore:
This patch updates TextManipulationController to notify and replace multiple paragraphs at once.
To allow some form of parallelism for the client application to process items while WebContent's main thread
is finding paragraphs, we notify the client every 128 items.
Tests: TestWebKitAPI.TextManipulation.StartTextManipulationSupportsLegacyDelegateCallback: Added.
TestWebKitAPI.TextManipulation.LegacyCompleteTextManipulationReplaceSimpleSingleParagraph: Added.
TestWebKitAPI.TextManipulation.CompleteTextManipulationReplaceMultipleSimpleParagraphsAtOnce: Added.
TestWebKitAPI.TextManipulation.CompleteTextManipulationShouldBatchItemCallback: Added.
TestWebKitAPI.TextManipulation.CompleteTextManipulationFailWhenItemIdentifierIsDuplicated: Added.
TestWebKitAPI.TextManipulation.CompleteTextManipulationCanHandleSubsetOfItemsToFail: Added.
- editing/TextManipulationController.cpp:
(WebCore::TextManipulationController::startObservingParagraphs):
(WebCore::TextManipulationController::scheduleObservartionUpdate):
(WebCore::TextManipulationController::addItem): Added.
(WebCore::TextManipulationController::flushPendingItemsForCallback): Added.
(WebCore::TextManipulationController::completeManipulation): Apply each ManipulationItem changes and return
an array for ManipulationFailure for those that failed.
(WebCore::TextManipulationController::replace):
- editing/TextManipulationController.h:
(WebCore::TextManipulationController::ManipulationItem): Added.
(WebCore::TextManipulationController::ManipulationFailureType): Renamed from ManipulationResult.
(WebCore::TextManipulationController::ManipulationFailure): Added.
(WebCore::TextManipulationController::ManipulationItemData): Renamed from ManipulationItem.
(WebCore::TextManipulationController::ManipulationItem::encode const): Added.
(WebCore::TextManipulationController::ManipulationItem::decode): Added.
(WebCore::TextManipulationController::ManipulationFailure::encode const): Added.
(WebCore::TextManipulationController::ManipulationFailure::decode): Added.
Source/WebKit:
Update WKWebView's SPI for text manipulations to batch observations and replacements of multiple paragraphs
at once instead of observing and replacing one paragraph at a time.
_WKTextManipulationDelegate now has a new callback, didFindTextManipulationItems, which gets an array of
_WKTextManipulationItem instead of a single _WKTextManipulationItem like didFindTextManipulationItem,
and WKWebView's _completeTextManipulationForItems replaces multiple paragraphs at once, and gives an array
of NSError for each _WKTextManipulationItem that failed to replace the respective content.
Tests: TestWebKitAPI.TextManipulation.StartTextManipulationSupportsLegacyDelegateCallback: Added.
TestWebKitAPI.TextManipulation.LegacyCompleteTextManipulationReplaceSimpleSingleParagraph: Added.
TestWebKitAPI.TextManipulation.CompleteTextManipulationReplaceMultipleSimpleParagraphsAtOnce: Added.
TestWebKitAPI.TextManipulation.CompleteTextManipulationShouldBatchItemCallback: Added.
TestWebKitAPI.TextManipulation.CompleteTextManipulationFailWhenItemIdentifierIsDuplicated: Added.
TestWebKitAPI.TextManipulation.CompleteTextManipulationCanHandleSubsetOfItemsToFail: Added.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _startTextManipulationsWithConfiguration:completion:]):
(coreTextManipulationItemIdentifierFromString): Added.
(coreTextManipulationTokenIdentifierFromString): Added.
(-[WKWebView _completeTextManipulation:completion:]): Updated to work with the new TextManipulationController
interface.
(makeFailureSetForAllTextManipulationItems): Added.
(wkTextManipulationErrors): Added.
(-[WKWebView _completeTextManipulationForItems:completion:]): Added. This is the new SPI.
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/_WKTextManipulationDelegate.h:
- UIProcess/API/Cocoa/_WKTextManipulationItem.h:
(_WKTextManipulationItemErrorDomain): Added.
(_WKTextManipulationItemErrorCode): Added.
(_WKTextManipulationItemErrorItemKey): Added.
- UIProcess/API/Cocoa/_WKTextManipulationItem.mm:
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::startTextManipulations):
(WebKit::WebPage::completeTextManipulation): Updated per TextManipulationController interface change.
To avoid having to duplicate the code to create a vector of ManipulationFailure, this function's completion
handler has a boolean indicating that all replacements had failed.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
Updated the existing tests to use new APIs, and added new tests for batching finding & replacing
multiple paragraphs at once.
- TestWebKitAPI/Tests/WebKitCocoa/TextManipulation.mm:
(-[TextManipulationDelegate _webView:didFindTextManipulationItems:]):
(-[TextManipulationDelegate items]):
(-[LegacyTextManipulationDelegate init]):
(-[LegacyTextManipulationDelegate _webView:didFindTextManipulationItem:]):
(TextManipulation.StartTextManipulationSupportsLegacyDelegateCallback): Added.
(TextManipulation.LegacyCompleteTextManipulationReplaceSimpleSingleParagraph): Added.
(TextManipulation.CompleteTextManipulationReplaceMultipleSimpleParagraphsAtOnce): Added.
(TextManipulation.CompleteTextManipulationShouldBatchItemCallback): Added.
(TextManipulation.CompleteTextManipulationFailWhenItemIdentifierIsDuplicated): Added.
(TextManipulation.CompleteTextManipulationCanHandleSubsetOfItemsToFail): Added.
- 9:18 PM Changeset in webkit [257829] by
-
- 5 edits in branches/safari-610.1.6-branch/Source
Cherry-pick r257779. rdar://problem/60019706
Rename USE(GPU_PROCESS) to ENABLE(GPU_PROCESS_FOR_WEBRTC)
https://bugs.webkit.org/show_bug.cgi?id=208505
Reviewed by Eric Carlson.
Source/WebKit:
- Shared/WebPreferencesDefaultValues.h:
Source/WTF:
Rename macro since the name is misleading.
Disable GPU_PROCESS_FOR_WEBRTC for iOS except simulator for now.
- wtf/PlatformEnable.h:
- wtf/PlatformEnableCocoa.h:
- wtf/PlatformUse.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257779 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:13 PM Changeset in webkit [257828] by
-
- 14 edits1 add in trunk
[Cocoa] Mapping from MIME type to UTI type should be done in the UI process
https://bugs.webkit.org/show_bug.cgi?id=208415
Reviewed by Brent Fulgham.
Source/WebCore:
This is currently done in the WebContent process, but since this is using a system service which will be closed,
this mapping should be moved to the UI process. The UI process will create this mapping for a set of mime types,
and send it to the WebContent process.
API test: WebKit.UTIFromMIMEType
- platform/network/mac/UTIUtilities.h:
- platform/network/mac/UTIUtilities.mm:
(WebCore::mapUTIFromMIMEType):
(WebCore::UTIFromMIMETypeCachePolicy::createValueForKey):
(WebCore::cacheUTIFromMimeType):
(WebCore::UTIFromMIMEType):
(WebCore::mimeTypes):
(WebCore::createUTIFromMIMETypeMap):
(WebCore::setUTIFromMIMETypeMap):
- testing/Internals.cpp:
(WebCore::Internals::getUTIFromMIMEType):
- testing/Internals.mm:
(WebCore::Internals::getUTIFromMIMEType):
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
Send the mapping between MIME types and UTI types to the WebContent process as part of the Web
process creation parameters.
- 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:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/UTIFromMIMEType.mm: Added.
(TEST):
- 9:00 PM Changeset in webkit [257827] by
-
- 2 edits in branches/safari-610.1.6-branch/Source/WebCore
Cherry-pick r257783. rdar://problem/60024770
Regression (CookieCache) Unable to log into Hulu.com
https://bugs.webkit.org/show_bug.cgi?id=208517
<rdar://problem/59973630>
Reviewed by Geoffrey Garen.
Even though we are listening for notifications for 'www.hulu.com', CFNetwork sends us a notification for host
'secure.hulu.com' when a load to secure.hulu.com sets a cookie for domain '.hulu.com'. Because the host did
not match one if our map of observers, we would ignore the cookie notification and our cookie cache would get
out of sync. To temporarily address the issue (until a better fix is made, likely on CFNetwork side), WebKit
now matches registrable domains instead of hosts.
- platform/network/cocoa/NetworkStorageSessionCocoa.mm: (WebCore::NetworkStorageSession::registerCookieChangeListenersIfNecessary):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257783 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:00 PM Changeset in webkit [257826] by
-
- 2 edits in branches/safari-610.1.6-branch/Source/WebCore
Cherry-pick r257776. rdar://problem/60024732
Regression(r257354) Crash when trying on watch video on apple.com
https://bugs.webkit.org/show_bug.cgi?id=208487
<rdar://problem/59967385>
Reviewed by Eric Carlson.
Use WebCore::Cookie's code to convert to a NSHTTPCookie instead of using toNSHTTPCookie()
which was not quite right, especially after r257354.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): (WebCore::toNSHTTPCookie): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257776 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:00 PM Changeset in webkit [257825] by
-
- 7 edits1 add in branches/safari-610.1.6-branch
Cherry-pick r257728. rdar://problem/60024647
Delete by val caching does not keep the subscript alive
https://bugs.webkit.org/show_bug.cgi?id=208393
Reviewed by Yusuke Suzuki.
JSTests:
- stress/delete-property-ic-stress.js: Added.
Source/JavaScriptCore:
Before, the provided test case crashed with asan because we did not keep deleteByVal
subscripts alive. This patch changes CacheableIdentifier to make this mistake harder
to make again, by making the constructor calls more explicit when CacheableIdentifier
will not keep an Identifier alive.
- jit/JITOperations.cpp:
- jit/Repatch.cpp: (JSC::tryCachePutByID): (JSC::tryCacheDeleteBy): (JSC::repatchDeleteBy): (JSC::tryCacheInByID): (JSC::tryCacheInstanceOf): (JSC::tryCacheDelBy): Deleted. (JSC::repatchDelBy): Deleted.
- jit/Repatch.h:
- runtime/CacheableIdentifier.h:
- runtime/CacheableIdentifierInlines.h: (JSC::CacheableIdentifier::createFromIdentifierOwnedByCodeBlock): (JSC::CacheableIdentifier::createFromCell):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:00 PM Changeset in webkit [257824] by
-
- 4 edits in branches/safari-610.1.6-branch
Cherry-pick r257716. rdar://problem/60019586
maps.google.com is not loading properly, screen flickers when zooming
https://bugs.webkit.org/show_bug.cgi?id=208331
<rdar://problem/59790757>
Reviewed by Antoine Quint.
Source/WebCore:
When using ANGLE, we don't need the GL_ANGLE_depth_texture extension.
We were mistakenly checking for it and deciding to not allow
combined depth+stencil framebuffer attachments.
Test: webgl/1.0.3/conformance/renderbuffers/framebuffer-object-attachment.html
(now passes on iOS)
- html/canvas/WebGLRenderingContextBase.cpp: (WebCore::WebGLRenderingContextBase::setupFlags):
LayoutTests:
- platform/ios/TestExpectations: remove failing expectation for: webgl/1.0.3/conformance/renderbuffers/framebuffer-object-attachment.html
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257716 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:00 PM Changeset in webkit [257823] by
-
- 2 edits in branches/safari-610.1.6-branch/Source/WebKitLegacy/win
Cherry-pick r257684. rdar://problem/60019893
Fix the Windows build after r257645.
- WebView.cpp: (WebView::setAcceleratedCompositing):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:57 PM Changeset in webkit [257822] by
-
- 1 edit in trunk/LayoutTests/ChangeLog
Fix a typo in the previous commit.
- 8:48 PM Changeset in webkit [257821] by
-
- 2 edits in trunk/LayoutTests
REGRESSION(iOS): editing/selection/ios/set-selection-by-tapping-after-changing-focused-element-bounds.html is always timing out
https://bugs.webkit.org/show_bug.cgi?id=208556
Reviewed by Wenson Hsieh.
Wait for the dobule tap delay between the initial tap and the second tap on the editable region
so that the second tap would result in a selection change instead of both taps to be recognized
as a single dobule tap.
- editing/selection/ios/set-selection-by-tapping-after-changing-focused-element-bounds.html:
- 7:49 PM Changeset in webkit [257820] by
-
- 5 edits in trunk/Source/WebCore
Path::m_path should be a RetainPtr<CGMutablePathRef> on platforms that use CoreGraphics
https://bugs.webkit.org/show_bug.cgi?id=208492
Reviewed by Simon Fraser and Said Abou-Hallawa.
Make m_path a RetainPtr<CGMutablePathRef> on platforms that use CoreGraphics. This allows us to remove all the
manual retaining and releasing on m_path that currently resides in PathCG.cpp. See below for more details.
There should be no change in behavior.
- platform/graphics/Path.h:
- platform/graphics/ca/cocoa/PlatformCALayerCocoa.mm:
Add
adoptCF
when constructing the WebCore::Path from the newly created CGMutablePathRef.
(WebCore::PlatformCALayerCocoa::shapePath const):
- platform/graphics/cg/PathCG.cpp:
(WebCore::Path::Path):
Instead of taking a RetainPtr<CGMutablePathRef> and leaking the pointer, change this to take an rvalue reference
andWTFMove
it directly into m_path.
(WebCore::Path::ensurePlatformPath):
(WebCore::Path::contains const):
(WebCore::Path::transform):
(WebCore::Path::boundingRect const):
(WebCore::Path::fastBoundingRect const):
(WebCore::Path::addPath):
(WebCore::Path::clear):
(WebCore::Path::isEmpty const):
(WebCore::Path::currentPoint const):
(WebCore::Path::apply const):
Change
m_path
tom_path.get()
and addadoptCF
s, as needed. Remove explicit calls to CFRelease and
CFRetain.
(WebCore::Path::~Path): Deleted.
Just use the default destructor, now that there's no longer a need to explicitly call CFRelease on m_path.
- platform/graphics/cocoa/FontCocoa.mm:
(WebCore::Font::platformPathForGlyph const):
Since the Path constructor now takes
RetainPtr<CGMutablePathRef>&&
, use move semantics when creating the new
WebCore::Path from the RetainPtr.
- 6:35 PM Changeset in webkit [257819] by
-
- 3 edits in trunk/Source/WebKit
Refine Swift API for WKWebView JavaScript methods
https://bugs.webkit.org/show_bug.cgi?id=208483
Patch by James Savage <James Savage> on 2020-03-03
Reviewed by Sam Weinig.
Refine these interfaces for Swift and to align with our desired API.
- UIProcess/API/Cocoa/WKContentWorld.h: This doesn't need to be refined
for Swift, we can just rename it here.
- UIProcess/API/Cocoa/WKWebView.h: This does need refinement.
- 6:34 PM Changeset in webkit [257818] by
-
- 13 edits in trunk
Add response to _WKResourceLoadDelegate didCompleteWithError callback
https://bugs.webkit.org/show_bug.cgi?id=208553
Reviewed by Simon Fraser.
Source/WebKit:
New functionality verified by API test.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didFinishLoading):
(WebKit::NetworkResourceLoader::didFailLoading):
- UIProcess/API/APIResourceLoadClient.h:
- UIProcess/API/Cocoa/_WKResourceLoadDelegate.h:
- UIProcess/Cocoa/ResourceLoadDelegate.h:
- UIProcess/Cocoa/ResourceLoadDelegate.mm:
(WebKit::ResourceLoadDelegate::setDelegate):
(WebKit::ResourceLoadDelegate::ResourceLoadClient::didCompleteWithError const):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::resourceLoadDidCompleteWithError):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
- UIProcess/WebPageProxy.cpp:
- UIProcess/WebPageProxy.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
(-[TestResourceLoadDelegate webView:resourceLoad:didCompleteWithError:response:]):
(TEST):
(-[TestResourceLoadDelegate webView:resourceLoad:didCompleteWithError:]): Deleted.
- 6:28 PM Changeset in webkit [257817] by
-
- 2 edits in trunk/Tools
API Test [Mojave+ WK2 Debug ] TestWebKitAPI.WKAttachmentTestsMac.InsertDroppedFilePromisesAsAttachments is a flaky crash.
https://bugs.webkit.org/show_bug.cgi?id=198795
Reviewed by Chris Dumez.
This test appears to no longer be flaky.
Let's re-enable it.
- TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:
(TestWebKitAPI::TEST):
- 5:55 PM Changeset in webkit [257816] by
-
- 11 edits in trunk
Requests sent to _WKResourceLoadDelegate should include HTTPBody
https://bugs.webkit.org/show_bug.cgi?id=208550
Reviewed by Tim Hatcher.
Source/WebCore:
Covered by API tests.
- platform/network/FormData.h:
Expose lengthInBytes to be used in a check capping the size of included body data.
This will prevent exteremely large HTTP bodies from being serialized.
Source/WebKit:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::startNetworkLoad):
- UIProcess/Cocoa/ResourceLoadDelegate.mm:
(WebKit::ResourceLoadDelegate::ResourceLoadClient::didSendRequest const):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::resourceLoadDidSendRequest):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/Network/NetworkProcessProxy.messages.in:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
(TEST):
- TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::HTTPServer::respondToRequests):
HTTPServer now looks for Content-Length in its request.
If it finds this header, that means that the HTTP body is going to be received in another read, then the response should be sent after receiving that.
- 4:50 PM Changeset in webkit [257815] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] http/tests/navigation/process-swap-on-client-side-redirect-private.html is flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=208547
Unreviewed test gardening
- platform/ios-wk2/TestExpectations:
- 4:30 PM Changeset in webkit [257814] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] fast/hidpi/filters-and-image-buffer-resolution.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=208543
Unreviewed test gardening
- platform/ios-wk2/TestExpectations:
- 4:30 PM Changeset in webkit [257813] by
-
- 3 edits in trunk
[Curl] Add TLS debugging feature to log encryption keys
https://bugs.webkit.org/show_bug.cgi?id=208192
<rdar://problem/59900616>
Patch by Fujii Hironori <fujii.hironori@gmail.com> on 2020-03-03
Reviewed by Don Olmstead.
- Source/cmake/OptionsPlayStation.cmake:
- Source/cmake/OptionsWin.cmake:
Changed the default ENABLE_TLS_DEBUG to OFF.
- 4:18 PM Changeset in webkit [257812] by
-
- 2 edits in trunk/Source/JavaScriptCore
Refactor FixedVMPoolExecutableAllocator to not have member functions which are really just helper functions
https://bugs.webkit.org/show_bug.cgi?id=208537
Reviewed by Mark Lam.
There were a few member functions in FixedVMPoolExecutableAllocator that were
essentially helper functions. I've factored them out, and made FixedVMPoolExecutableAllocator
call them directly. This refactoring is needed when I implement the 1GB
executable pool on arm64 since the implementation of that will create split
implementations of something like FixedVMPoolExecutableAllocator.
- jit/ExecutableAllocator.cpp:
(JSC::jitWriteThunkGenerator):
(JSC::genericWriteToJITRegion):
(JSC::initializeSeparatedWXHeaps):
(JSC::initializeJITPageReservation):
(JSC::ExecutableAllocator::isValid const):
(JSC::ExecutableAllocator::underMemoryPressure):
(JSC::ExecutableAllocator::memoryPressureMultiplier):
(JSC::ExecutableAllocator::allocate):
(JSC::ExecutableAllocator::isValidExecutableMemory):
(JSC::ExecutableAllocator::getLock const):
(JSC::ExecutableAllocator::committedByteCount):
(JSC::ExecutableAllocator::dumpProfile):
(JSC::startOfFixedExecutableMemoryPoolImpl):
(JSC::endOfFixedExecutableMemoryPoolImpl):
(JSC::isJITPC):
- 4:06 PM Changeset in webkit [257811] by
-
- 6 edits in trunk
[Internals] Introduce Internals::updateLayoutAndStyleRecursively
https://bugs.webkit.org/show_bug.cgi?id=208536
<rdar://problem/60012372>
Reviewed by Simon Fraser.
Source/WebCore:
It's been a common practice to call document.body.offsetHeight/Width to force style update and layout.
However in certain cases (see Hyatt's optimization on lazy offsetHeight/Width computation in Document::updateLayoutIfDimensionsOutOfDate)
this call can leave the tree partially dirty.
This behavior leads to flakiness, especially when the test checks against Internals::layoutCount.
- testing/Internals.cpp:
(WebCore::Internals::updateLayoutAndStyleRecursively):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
- fast/images/animated-gif-no-layout.html:
- 3:54 PM Changeset in webkit [257810] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: the background of the navigation items in the tab bar doesn't match when unfocusing the window
https://bugs.webkit.org/show_bug.cgi?id=208538
Reviewed by Timothy Hatcher.
- UserInterface/Views/TabBar.css:
(body[dir=ltr]:not(.docked) .tab-bar > .tabs > .item:nth-child(n + 3 of :not(.hidden)), body[dir=ltr]:not(.docked) .tab-bar > .tabs:not(.hide-border-start) > .item:nth-child(2 of :not(.hidden)), body[dir=ltr]:not(.docked) .tab-bar > .tabs.dragging-tab > .item.selected, body[dir=rtl]:not(.docked) .tab-bar > .tabs:not(.hide-border-end) > .item:nth-last-child(1 of :not(.hidden))): Added.
(body[dir=ltr]:not(.docked) .tab-bar > .tabs:not(.hide-border-end) > .item:nth-last-child(1 of :not(.hidden)), body[dir=rtl]:not(.docked) .tab-bar > .tabs > .item:nth-child(n + 3 of :not(.hidden)), body[dir=rtl]:not(.docked) .tab-bar > .tabs:not(.hide-border-start) > .item:nth-child(2 of :not(.hidden)), body[dir=rtl]:not(.docked) .tab-bar > .tabs.dragging-tab > .item.selected): Added.
(body[dir=ltr]:not(.docked) .tab-bar > .tabs > .item:not(:first-child), body[dir=ltr]:not(.docked) .tab-bar > .tabs:not(.hide-border-start) > .item:first-child, body[dir=ltr]:not(.docked) .tab-bar > .tabs.dragging-tab > .item.selected, body[dir=rtl]:not(.docked) .tab-bar > .tabs:not(.hide-border-end) > .item:last-child): Deleted.
(body[dir=ltr]:not(.docked) .tab-bar > .tabs:not(.hide-border-end) > .item:last-child, body[dir=rtl]:not(.docked) .tab-bar > .tabs > .item:not(:first-child), body[dir=rtl]:not(.docked) .tab-bar > .tabs:not(.hide-border-start) > .item:first-child, body[dir=rtl]:not(.docked) .tab-bar > .tabs.dragging-tab > .item.selected): Deleted.
Usenth-child
andnth-last-child
instead of:first-child
and:last-child
now that
there are.flexible-space
elements alongside tab bar items.
(@media (prefers-color-scheme: dark) .tab-bar):
(@media (prefers-color-scheme: dark) body:not(.docked) .tab-bar): Added.
(@media (prefers-color-scheme: dark) body.docked .tab-bar): Added.
(@media (prefers-color-scheme: dark) body:not(.docked):matches(.window-inactive, .window-docked-inactive) .tab-bar): Added.
(@media (prefers-color-scheme: dark) body:matches(.window-inactive, .window-docked-inactive) .tab-bar): Deleted.
Ensure completely separate styles forbackground-color
andbackground-image
when.docked
vs when:not(.docked)
so that they don't "bleed" into eachother.
(body:not(.docked):matches(.window-inactive, .window-docked-inactive) .tab-bar):
(body.docked:matches(.window-inactive, .window-docked-inactive) .tab-bar):
(.tab-bar > .navigation-bar > .item.group > .item):
(.tab-bar > .navigation-bar > .item.group > .item:nth-child(1 of :not(.hidden))):
(.tab-bar > .navigation-bar > .item.group > .item:nth-last-child(1 of :not(.hidden))):
(body:not(.docked):matches(.window-inactive, .window-docked-inactive) .tab-bar > .tabs > .item):
(body:not(.docked):matches(.window-inactive, .window-docked-inactive) .tab-bar > .tabs > .item:not(.disabled).selected):
(.tab-bar > .tabs.static-layout > :matches(.flexible-space, .item)):
(.tab-bar > .tabs.animating.inserting-tab > .item.being-inserted):
(body:not(.docked):matches(.window-inactive, .window-docked-inactive) .tab-bar > .tabs.dragging-tab > .item:not(.disabled).selected, body:not(.docked):matches(.window-inactive, .window-docked-inactive) .tab-bar > .tabs.static-layout:not(.animating.inserting-tab):not(.dragging-tab) > .item:nth-last-child(1 of :not(.pinned)), body:not(.docked):matches(.window-inactive, .window-docked-inactive) .tab-bar > .tabs.animating.closing-tab > .item:not(.disabled).selected):
(@media (prefers-color-scheme: dark) body:not(.docked) .tab-bar > .tabs > .item:not(.disabled).selected):
(@media (prefers-color-scheme: dark) body:not(.docked) .tab-bar > .tabs:not(.animating) > .item:not(.selected, .disabled):hover):
(@media (prefers-color-scheme: dark) body:not(.docked):matches(.window-inactive, .window-docked-inactive) .tab-bar > .tabs > .item):
(@media (prefers-color-scheme: dark) body:not(.docked):matches(.window-inactive, .window-docked-inactive) .tab-bar > .tabs > .item:not(.disabled).selected):
Drive-by: remove as many!important
as possible to make future modification simpler.
- 3:47 PM Changeset in webkit [257809] by
-
- 2 edits2 adds in trunk/Source/JavaScriptCore
Introduce JSRemoteInspectorServerStart API for socket-based RWI.
https://bugs.webkit.org/show_bug.cgi?id=208349
Reviewed by Joseph Pecoraro.
- API/JSRemoteInspectorServer.cpp: Added.
(JSRemoteInspectorServerStart):
- API/JSRemoteInspectorServer.h: Added.
- CMakeLists.txt:
- 3:33 PM Changeset in webkit [257808] by
-
- 3 edits in trunk/Source/WebKit
Unreviewed. Fix WinCairo build following r257801.
- UIProcess/Inspector/win/RemoteWebInspectorProxyWin.cpp:
(WebKit::RemoteWebInspectorProxy::platformSetForcedAppearance):
- UIProcess/Inspector/win/WebInspectorProxyWin.cpp:
(WebKit::WebInspectorProxy::platformSetForcedAppearance):
- 3:10 PM Changeset in webkit [257807] by
-
- 1 copy in tags/Safari-610.1.5.2
Tag Safari-610.1.5.2.
- 3:06 PM Changeset in webkit [257806] by
-
- 8 edits in trunk
Expose originalURL and originalHTTPMethod on _WKResourceLoadInfo
https://bugs.webkit.org/show_bug.cgi?id=208522
Reviewed by Brian Weinstein.
Source/WebKit:
Covered by API tests.
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::resourceLoadInfo):
- Shared/ResourceLoadInfo.h:
(WebKit::ResourceLoadInfo::encode const):
(WebKit::ResourceLoadInfo::decode):
- UIProcess/API/APIResourceLoadInfo.h:
- UIProcess/API/Cocoa/_WKResourceLoadInfo.h:
- UIProcess/API/Cocoa/_WKResourceLoadInfo.mm:
(-[_WKResourceLoadInfo originalURL]):
(-[_WKResourceLoadInfo initWithCoder:]):
(-[_WKResourceLoadInfo encodeWithCoder:]):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
(TEST):
- 3:02 PM Changeset in webkit [257805] by
-
- 2 edits in trunk/Source/WebCore
[CG] Change the UTI of the "WebP" image to be "com.google.webp"
https://bugs.webkit.org/show_bug.cgi?id=208038
Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2020-03-03
Reviewed by Simon Fraser.
This is to conform with CGImageSourceGetType().
- platform/graphics/cg/UTIRegistry.cpp:
(WebCore::defaultSupportedImageTypes):
Make sure CG supports the suggested UTI before considering it is actually
supported.
- 2:49 PM Changeset in webkit [257804] by
-
- 8 edits in branches/safari-610.1.5-branch/Source
Versioning.
- 2:20 PM Changeset in webkit [257803] by
-
- 2 edits in trunk/Tools
commit-queue should update working directory and reapply patch just before commiting
https://bugs.webkit.org/show_bug.cgi?id=208521
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/factories.py:
- 2:19 PM Changeset in webkit [257802] by
-
- 2 edits in trunk/Source/WebKitLegacy/win
[Win] API header file has USE macro
https://bugs.webkit.org/show_bug.cgi?id=208534
Reviewed by Brent Fulgham.
USE macros should not be used in API header files.
- WebKitCOMAPI.h:
- 2:11 PM Changeset in webkit [257801] by
-
- 29 edits in trunk/Source
Web Inspector: setting the frontend appearance doesn't update the window when undocked
https://bugs.webkit.org/show_bug.cgi?id=208503
Reviewed by Timothy Hatcher.
Notify the UIProcess when setting the forced appearance so platforms that support dark mode
are able to run native code to adjust the appearance of the undocked window.
Source/WebCore:
- inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::setForcedAppearance):
Call through to theInspectorFrontendClient
to change the forced appearance.
- inspector/InspectorFrontendClient.h:
(WebCore::InspectorFrontendHost::Appearance): Added.
Add anenum class Appearance
so that multiple copies of the same string comparison logic
isn't needed.
- testing/Internals.cpp:
(WebCore::InspectorStubFrontend::setForcedAppearance): Added.
Source/WebKit:
- WebProcess/Inspector/WebInspectorUI.h:
- WebProcess/Inspector/WebInspectorUI.cpp:
(WebKit::WebInspectorUI::setForcedAppearance): Added.
- UIProcess/Inspector/WebInspectorProxy.messages.in:
- UIProcess/Inspector/WebInspectorProxy.h:
- UIProcess/Inspector/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::setForcedAppearance): Added.
(WebKit::WebInspectorProxy::platformSetForcedAppearance): Added.
- UIProcess/Inspector/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformSetForcedAppearance): Added.
- UIProcess/Inspector/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateFrontendWindow): Added.
(WebKit::WebInspectorProxy::platformSetForcedAppearance): Added.
(WebKit::WebInspectorProxy::applyForcedAppearance): Added.
- UIProcess/Inspector/win/WebInspectorProxyWin.cpp:
(WebKit::WebInspectorProxy::platformSetForcedAppearance): Added.
- WebProcess/Inspector/RemoteWebInspectorUI.h:
- WebProcess/Inspector/RemoteWebInspectorUI.cpp:
(WebKit::RemoteWebInspectorUI::setForcedAppearance): Added.
- UIProcess/Inspector/RemoteWebInspectorProxy.messages.in:
- UIProcess/Inspector/RemoteWebInspectorProxy.h:
- UIProcess/Inspector/RemoteWebInspectorProxy.cpp:
(WebKit::RemoteWebInspectorProxy::setForcedAppearance): Added.
(WebKit::RemoteWebInspectorProxy::platformSetForcedAppearance): Added.
- UIProcess/Inspector/gtk/RemoteWebInspectorProxyGtk.cpp:
(WebKit::RemoteWebInspectorProxy::platformSetForcedAppearance): Added.
- UIProcess/Inspector/mac/RemoteWebInspectorProxyMac.mm:
(WebKit::RemoteWebInspectorProxy::platformSetForcedAppearance): Added.
- UIProcess/Inspector/win/RemoteWebInspectorProxyWin.cpp:
(WebKit::RemoteWebInspectorProxy::platformSetForcedAppearance): Added.
Source/WebKitLegacy/ios:
- WebCoreSupport/WebInspectorClientIOS.mm:
(WebInspectorFrontendClient::setForcedAppearance): Added.
Source/WebKitLegacy/mac:
- WebCoreSupport/WebInspectorClient.h:
- WebCoreSupport/WebInspectorClient.mm:
(WebInspectorFrontendClient::setForcedAppearance): Added.
Source/WebKitLegacy/win:
- WebCoreSupport/WebInspectorClient.h:
- WebCoreSupport/WebInspectorClient.cpp:
(WebInspectorFrontendClient::setForcedAppearance): Added.
- 1:42 PM Changeset in webkit [257800] by
-
- 2 edits in trunk/Source/WTF
Build Fix
https://bugs.webkit.org/show_bug.cgi?id=208530
Reviewed by Wenson Hsieh.
- wtf/PlatformHave.h:
- 1:24 PM Changeset in webkit [257799] by
-
- 53 edits in trunk
[WebGL2] Implement texImage2D(TexImageSource) for RGBA/RGBA/UNSIGNED_BYTE ImageElements
https://bugs.webkit.org/show_bug.cgi?id=208486
Reviewed by Dean Jackson.
Source/WebCore:
Partial implementation of WebGL 2 texImage2D(TexImageSource).
Covered by webgl/2.0.0/conformance2/textures/svg_image directory of tests, especially for RGBA/RGBA/UNSIGNED_BYTE.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::texImage2D): Enable.
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::isRGBFormat):
(WebCore::WebGLRenderingContextBase::texImageSource2D): Handle both WebGL and WebGL 2 versions of TexImage2D(TexImageSource).
(WebCore::WebGLRenderingContextBase::texImage2DImpl):
(WebCore::WebGLRenderingContextBase::texSubImage2D):
(WebCore::WebGLRenderingContextBase::texSubImage2DBase): Disable WebGL1-only validation check.
(WebCore::WebGLRenderingContextBase::texImage2D):
- html/canvas/WebGLRenderingContextBase.h:
- platform/graphics/opengl/GraphicsContextGLOpenGL.cpp: Prevent crashing for HALF_FLOAT textures.
LayoutTests:
Partial implementation of WebGL 2 texImage2D(TexImageSource). Update affected results, mostly partial progressions.
- TestExpectations: Unskip svg_image texture tests that test the ImageElement pathway.
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r11f_g11f_b10f-rgb-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r11f_g11f_b10f-rgb-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r16f-red-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r16f-red-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r32f-red-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r8-red-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-r8ui-red_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rg16f-rg-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rg16f-rg-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rg32f-rg-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rg8-rg-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rg8ui-rg_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb16f-rgb-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb16f-rgb-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb32f-rgb-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb565-rgb-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb565-rgb-unsigned_short_5_6_5-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb5_a1-rgba-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb5_a1-rgba-unsigned_short_5_5_5_1-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb8-rgb-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb8ui-rgb_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb9_e5-rgb-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgb9_e5-rgb-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba16f-rgba-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba16f-rgba-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba32f-rgba-float-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba4-rgba-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba4-rgba-unsigned_short_4_4_4_4-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba8-rgba-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-rgba8ui-rgba_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-srgb8-rgb-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/canvas_sub_rectangle/tex-2d-srgb8_alpha8-rgba-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-r11f_g11f_b10f-rgb-unsigned_int_10f_11f_11f_rev-expected.txt:
- webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-r16f-red-float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-r16f-red-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-r32f-red-float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-r8-red-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-r8ui-red_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-rg16f-rg-float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-rg16f-rg-half_float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-rg32f-rg-float-expected.txt:
- webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-rg8-rg-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-rg8ui-rg_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-rgb8ui-rgb_integer-unsigned_byte-expected.txt:
- webgl/2.0.0/conformance2/textures/image_bitmap_from_canvas/tex-2d-rgba8ui-rgba_integer-unsigned_byte-expected.txt:
- 1:19 PM Changeset in webkit [257798] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] svg/custom/textPath-change-id-pattern.svg is flakey failing
https://bugs.webkit.org/show_bug.cgi?id=208532
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 1:12 PM Changeset in webkit [257797] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Add entitlement for message filtering
https://bugs.webkit.org/show_bug.cgi?id=208526
<rdar://problem/58885485>
Reviewed by Brent Fulgham.
On iOS, an entitlement is needed to enable message filtering.
- Scripts/process-entitlements.sh:
- 1:08 PM Changeset in webkit [257796] by
-
- 5 edits in trunk/Tools
Add Unittest to commits_for_upload() and fix multiple unittests for several test suites.
https://bugs.webkit.org/show_bug.cgi?id=208485
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/common/checkout/scm/stub_repository.py:
(StubRepository.init): Fixing the constructor to call upon the parent class as we were not doing this before. It also means
that we don't have to recreate the variables that are already created.
- Scripts/webkitpy/common/checkout/scm/stub_repository_unittest.py: High level changed the imports to better reflect what we are using
from each module, rather than making extra imports that we don't need.
(StubRepositoryTest.mock_host_for_stub_repository): Since we are calling both an executive and a filesystem mock for most of the
tests. it makes more sense to create a mock host with the files needed, than it does to instantiate each of these as separate objects
and not part of the host.
(StubRepositoryTest.test_in_working_directory): Changed the filesystem call to the host call.
(StubRepositoryTest.test_native_revision): Changed the filesystem call to the host call.
(StubRepositoryTest.test_native_branch): Changed the filesystem call to the host call.
(StubRepositoryTest.test_svn_revision): Changed the filesystem call to the host call.
(StubRepositoryTest.test_find_checkout_root): Changed the filesystem call to the host call.
(StubRepositoryTest.test_find_checkout_root_failure): Changed the filesystem call to the host call.
(StubRepositoryTest.test_find_parent_path_matching_callback_condition_with_file_system): Changed the filesystem call to the host call.
- Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
(SummarizedResultsTest.test_svn_revision_exists): Changed the name to original test to better reflect that it was just looking to see
if we were geting any value at all
(SummarizedResultsTest.test_svn_revision): Added a test to make sure that the revision we are getting is what we expect to get and make
sure we aren't gabking the wrong key:value pair
- Scripts/webkitpy/port/base_unittest.py: Changed from MockSystemHost to MockHost as we want the extras that
come with the MockHosts and MockHost inherits from MockSystemHost.
(PortTest.make_port): Changed the port to call MockHost that will creat the required stub_repository files.
(test_commits_for_upload): Added amissing test for commits_for_upload as this has been an issue when trying to make changes
to the various upload steps.
- 12:24 PM Changeset in webkit [257795] by
-
- 3 edits in trunk/Source/JavaScriptCore
[WinCairo][PlayStation] Add interface to get listening port of RemoteInspectorServer
https://bugs.webkit.org/show_bug.cgi?id=208391
Reviewed by Don Olmstead.
When passing zero as a port argument, system will pick an available port for it.
Without this method, client cannot get which port is listening.
- inspector/remote/socket/RemoteInspectorServer.cpp:
(Inspector::RemoteInspectorServer::start):
(Inspector::RemoteInspectorServer::getPort):
- inspector/remote/socket/RemoteInspectorServer.h:
- 12:08 PM Changeset in webkit [257794] by
-
- 4 edits in trunk/Tools
[ews] Add build step to find list of modified changelogs
https://bugs.webkit.org/show_bug.cgi?id=208514
Reviewed by Jonathan Bedard.
- BuildSlaveSupport/ews-build/factories.py:
- BuildSlaveSupport/ews-build/steps.py:
(FindModifiedChangeLogs): Build step to find modified ChangeLogs.
(FindModifiedChangeLogs.start): Initialize log observer.
(FindModifiedChangeLogs.getResultSummary): Set custom failure message.
(FindModifiedChangeLogs.evaluateCommand):
(FindModifiedChangeLogs.is_path_to_changelog): Check if the file is a ChangeLog.
(FindModifiedChangeLogs._status_regexp): Regex to match files from git output.
(FindModifiedChangeLogs.extract_changelogs): Method to get list of ChangeLogs from git output.
- BuildSlaveSupport/ews-build/steps_unittest.py: Added unit-tests.
- 11:52 AM Changeset in webkit [257793] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] legacy-animation-engine/animations/play-state-start-paused.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=208527
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 11:44 AM Changeset in webkit [257792] by
-
- 2 edits in trunk/Tools
[iOS EWS] TestWebKitAPI.WKWebsiteDataStore.RemoveAndFetchData is failing
https://bugs.webkit.org/show_bug.cgi?id=208451
Unreviewed test gardening.
- TestWebKitAPI/Tests/WebKitCocoa/WKWebsiteDatastore.mm: Disable the test for iOS since it is slowing down EWS.
- 11:41 AM Changeset in webkit [257791] by
-
- 1 edit142 deletes in trunk/Source/WebInspectorUI
Removed old raster icons for object types and resources
https://bugs.webkit.org/show_bug.cgi?id=208458
Reviewed by Devin Rousso.
- UserInterface/Images/ApplicationCache.png: Removed.
- UserInterface/Images/ApplicationCache@2x.png: Removed.
- UserInterface/Images/ApplicationCacheManifest.png: Removed.
- UserInterface/Images/ApplicationCacheManifest@2x.png: Removed.
- UserInterface/Images/Assertion.svg: Removed.
- UserInterface/Images/AuditTestCase.svg: Removed.
- UserInterface/Images/AuditTestCaseResult.svg: Removed.
- UserInterface/Images/AuditTestGroup.svg: Removed.
- UserInterface/Images/AuditTestGroupResult.svg: Removed.
- UserInterface/Images/CPUInstrument.svg: Removed.
- UserInterface/Images/CallTrees.svg: Removed.
- UserInterface/Images/ClippingCSS.png: Removed.
- UserInterface/Images/ClippingCSS@2x.png: Removed.
- UserInterface/Images/ClippingCSSLarge.png: Removed.
- UserInterface/Images/ClippingCSSLarge@2x.png: Removed.
- UserInterface/Images/ClippingGeneric.png: Removed.
- UserInterface/Images/ClippingGeneric@2x.png: Removed.
- UserInterface/Images/ClippingGenericLarge.png: Removed.
- UserInterface/Images/ClippingGenericLarge@2x.png: Removed.
- UserInterface/Images/ClippingJS.png: Removed.
- UserInterface/Images/ClippingJS@2x.png: Removed.
- UserInterface/Images/ClippingJSLarge.png: Removed.
- UserInterface/Images/ClippingJSLarge@2x.png: Removed.
- UserInterface/Images/Cookie.png: Removed.
- UserInterface/Images/Cookie@2x.png: Removed.
- UserInterface/Images/DOMBreakpointAttributeModified.svg: Removed.
- UserInterface/Images/DOMBreakpointNodeRemoved.svg: Removed.
- UserInterface/Images/DOMBreakpointSubtreeModified.svg: Removed.
- UserInterface/Images/DOMCharacterData.svg: Removed.
- UserInterface/Images/DOMComment.svg: Removed.
- UserInterface/Images/DOMDocument.svg: Removed.
- UserInterface/Images/DOMDocumentType.svg: Removed.
- UserInterface/Images/DOMElement.svg: Removed.
- UserInterface/Images/DOMNode.svg: Removed.
- UserInterface/Images/DOMTextNode.svg: Removed.
- UserInterface/Images/Database.png: Removed.
- UserInterface/Images/Database@2x.png: Removed.
- UserInterface/Images/DatabaseTable.png: Removed.
- UserInterface/Images/DatabaseTable@2x.png: Removed.
- UserInterface/Images/DebuggerStatement.svg: Removed.
- UserInterface/Images/DocumentCSS.png: Removed.
- UserInterface/Images/DocumentCSS@2x.png: Removed.
- UserInterface/Images/DocumentCSSLarge.png: Removed.
- UserInterface/Images/DocumentCSSLarge@2x.png: Removed.
- UserInterface/Images/DocumentFont.png: Removed.
- UserInterface/Images/DocumentFont@2x.png: Removed.
- UserInterface/Images/DocumentFontLarge.png: Removed.
- UserInterface/Images/DocumentFontLarge@2x.png: Removed.
- UserInterface/Images/DocumentGL.png: Removed.
- UserInterface/Images/DocumentGL@2x.png: Removed.
- UserInterface/Images/DocumentGeneric.png: Removed.
- UserInterface/Images/DocumentGeneric@2x.png: Removed.
- UserInterface/Images/DocumentGenericLarge.png: Removed.
- UserInterface/Images/DocumentGenericLarge@2x.png: Removed.
- UserInterface/Images/DocumentImage.png: Removed.
- UserInterface/Images/DocumentImage@2x.png: Removed.
- UserInterface/Images/DocumentImageLarge.png: Removed.
- UserInterface/Images/DocumentImageLarge@2x.png: Removed.
- UserInterface/Images/DocumentJS.png: Removed.
- UserInterface/Images/DocumentJS@2x.png: Removed.
- UserInterface/Images/DocumentJSLarge.png: Removed.
- UserInterface/Images/DocumentJSLarge@2x.png: Removed.
- UserInterface/Images/DocumentMarkup.png: Removed.
- UserInterface/Images/DocumentMarkup@2x.png: Removed.
- UserInterface/Images/DocumentMarkupLarge.png: Removed.
- UserInterface/Images/DocumentMarkupLarge@2x.png: Removed.
- UserInterface/Images/EventBreakpointAnimationFrame.svg: Removed.
- UserInterface/Images/EventBreakpointInterval.svg: Removed.
- UserInterface/Images/EventBreakpointListener.svg: Removed.
- UserInterface/Images/EventBreakpointTimeout.svg: Removed.
- UserInterface/Images/EventListener.svg: Removed.
- UserInterface/Images/Events.svg: Removed.
- UserInterface/Images/Exception.svg: Removed.
- UserInterface/Images/FolderGeneric.png: Removed.
- UserInterface/Images/FolderGeneric@2x.png: Removed.
- UserInterface/Images/Function.svg: Removed.
- UserInterface/Images/HeapAllocationsInstrument.svg: Removed.
- UserInterface/Images/HeapSnapshot.svg: Removed.
- UserInterface/Images/HeapSnapshotDiff.svg: Removed.
- UserInterface/Images/HeapSnapshotInstances.svg: Removed.
- UserInterface/Images/HeapSnapshotObjectGraph.svg: Removed.
- UserInterface/Images/HeapSnapshotSelected.svg: Removed.
- UserInterface/Images/HeapSnapshotSummary.svg: Removed.
- UserInterface/Images/LayoutInstrument.svg: Removed.
- UserInterface/Images/LocalStorage.png: Removed.
- UserInterface/Images/LocalStorage@2x.png: Removed.
- UserInterface/Images/MediaInstrument.svg: Removed.
- UserInterface/Images/MemoryInstrument.svg: Removed.
- UserInterface/Images/Microtask.svg: Removed.
- UserInterface/Images/Native.svg: Removed.
- UserInterface/Images/NetworkInstrument.svg: Removed.
- UserInterface/Images/Object.svg: Removed.
- UserInterface/Images/PausedBreakpoint.svg: Removed.
- UserInterface/Images/Program.svg: Removed.
- UserInterface/Images/PseudoElement.svg: Removed.
- UserInterface/Images/Range.svg: Removed.
- UserInterface/Images/RangeLarge.svg: Removed.
- UserInterface/Images/Reflection.svg: Removed.
- UserInterface/Images/RenderingFrame.svg: Removed.
- UserInterface/Images/RenderingFramesInstrument.svg: Removed.
- UserInterface/Images/Request.svg: Removed.
- UserInterface/Images/Response.svg: Removed.
- UserInterface/Images/ScriptsInstrument.svg: Removed.
- UserInterface/Images/SessionStorage.png: Removed.
- UserInterface/Images/SessionStorage@2x.png: Removed.
- UserInterface/Images/Source.svg: Removed.
- UserInterface/Images/StyleRuleInheritedElement.svg: Removed.
- UserInterface/Images/TailDeletedFunction.svg: Removed.
- UserInterface/Images/Thread.svg: Removed.
- UserInterface/Images/TimelineRecordAPI.svg: Removed.
- UserInterface/Images/TimelineRecordAnimationFrame.svg: Removed.
- UserInterface/Images/TimelineRecordCSSAnimation.svg: Removed.
- UserInterface/Images/TimelineRecordCSSTransition.svg: Removed.
- UserInterface/Images/TimelineRecordComposite.svg: Removed.
- UserInterface/Images/TimelineRecordConsoleProfile.svg: Removed.
- UserInterface/Images/TimelineRecordEvent.svg: Removed.
- UserInterface/Images/TimelineRecordGarbageCollection.svg: Removed.
- UserInterface/Images/TimelineRecordLayout.svg: Removed.
- UserInterface/Images/TimelineRecordMediaElement.svg: Removed.
- UserInterface/Images/TimelineRecordPaint.svg: Removed.
- UserInterface/Images/TimelineRecordProbeSampled.svg: Removed.
- UserInterface/Images/TimelineRecordScriptEvaluated.svg: Removed.
- UserInterface/Images/TimelineRecordStyle.svg: Removed.
- UserInterface/Images/TimelineRecordTimer.svg: Removed.
- UserInterface/Images/TypeBigInt.svg: Removed.
- UserInterface/Images/TypeBoolean.svg: Removed.
- UserInterface/Images/TypeNull.svg: Removed.
- UserInterface/Images/TypeNumber.svg: Removed.
- UserInterface/Images/TypeObject.svg: Removed.
- UserInterface/Images/TypeRegex.svg: Removed.
- UserInterface/Images/TypeString.svg: Removed.
- UserInterface/Images/TypeSymbol.svg: Removed.
- UserInterface/Images/TypeUndefined.svg: Removed.
- UserInterface/Images/URLBreakpoint.svg: Removed.
- UserInterface/Images/WebSocket.png: Removed.
- UserInterface/Images/WebSocket@2x.png: Removed.
- UserInterface/Images/WebSocketLarge.png: Removed.
- UserInterface/Images/WebSocketLarge@2x.png: Removed.
- UserInterface/Images/WorkerScript.png: Removed.
- UserInterface/Images/WorkerScript@2x.png: Removed.
- UserInterface/Images/WorkerScriptLarge.png: Removed.
- UserInterface/Images/WorkerScriptLarge@2x.png: Removed.
- 11:30 AM Changeset in webkit [257790] by
-
- 2 edits in trunk/LayoutTests
[ macOS ] webgl/2.0.0/conformance/extensions/webgl-draw-buffers.html has been timing out ever since it was introduced.
https://bugs.webkit.org/show_bug.cgi?id=208524
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 11:17 AM Changeset in webkit [257789] by
-
- 3 edits in trunk/Source/WebCore
Address post-commit feedback after r257732
https://bugs.webkit.org/show_bug.cgi?id=208265
Reviewed by Darin Adler.
Remove the private initializeOrCopyPlatformPathIfNeeded() helper,
and move its logic into ensurePlatformPath().
- platform/graphics/Path.h:
- platform/graphics/cg/PathCG.cpp:
(WebCore::Path::ensurePlatformPath):
(WebCore::Path::initializeOrCopyPlatformPathIfNeeded): Deleted.
- 11:16 AM Changeset in webkit [257788] by
-
- 2 edits in trunk/LayoutTests
[ iOS wk2 ] http/tests/security/cookies/third-party-cookie-blocking-redirect.html is flaky timing out.
https://bugs.webkit.org/show_bug.cgi?id=208525
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 11:10 AM Changeset in webkit [257787] by
-
- 4 edits in branches/safari-610.1.6-branch
Cherry-pick r257694. rdar://problem/59957329
Unreviewed, rolling out r257618.
This allegedly causes Safari to crash when closing a window
(see rdar://problem/59922725).
Reverted changeset:
"UIProcess crash after using _prepareForMoveToWindow, then
deallocating the WKWebView before moving to the window"
https://bugs.webkit.org/show_bug.cgi?id=208365
https://trac.webkit.org/changeset/257618
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@257694 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:06 AM Changeset in webkit [257786] by
-
- 1 copy in branches/safari-610.1.6-branch
New branch.
- 10:21 AM Changeset in webkit [257785] by
-
- 29 edits in trunk
Adopt HTTP Alternative Services Storage
https://bugs.webkit.org/show_bug.cgi?id=208387
Patch by Jiten Mehta <jmehta@apple.com> on 2020-03-03
Reviewed by Alex Christensen.
Source/WebCore/PAL:
- pal/spi/cf/CFNetworkSPI.h:
Source/WebKit:
Covered by a new API test which verifies that data is written to the correct directory.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForOrigins):
(WebKit::NetworkProcess::deleteWebsiteDataForRegistrableDomains):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::getHostNamesWithAlternativeServices):
(WebKit::NetworkProcess::deleteAlternativeServicesForHostNames):
(WebKit::NetworkProcess::clearAlternativeServices):
- Shared/WebsiteData/WebsiteData.cpp:
(WebKit::WebsiteData::ownerProcess):
- Shared/WebsiteData/WebsiteDataType.h:
- UIProcess/API/Cocoa/WKWebsiteDataRecord.mm:
(dataTypesToString):
- UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:
(WebKit::toWebsiteDataType):
(WebKit::toWKWebsiteDataTypes):
- UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
- UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(+[WKWebsiteDataStore _allWebsiteDataTypesIncludingPrivate]):
- UIProcess/WebsiteData/WebsiteDataRecord.cpp:
(WebKit::WebsiteDataRecord::addAlternativeServicesHostname):
- UIProcess/WebsiteData/WebsiteDataRecord.h:
Source/WTF:
- wtf/PlatformHave.h:
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WebsiteDataStoreCustomPaths.mm:
(checkUntilEntryFound):
(TEST):
- 10:17 AM Changeset in webkit [257784] by
-
- 9 edits1 add in trunk
[JSC] @hasOwnLengthProperty returns wrong value if "length" is attempted to be modified
https://bugs.webkit.org/show_bug.cgi?id=208497
<rdar://problem/59913544>
Reviewed by Mark Lam.
JSTests:
- stress/function-length-update.js: Added.
(shouldBe):
(userFunction):
(userFunction2):
Source/JavaScriptCore:
When "length" of JSFunction is attempted to be modified, we put a flag. And @hasOwnLengthProperty
does not correctly use this flag to return a value for the fast path. This affects on "length"
property of bound functions. For example,
function userFunction(a) { }
userFunction.length = 20; This field is read-only. So, it is not changed.
userFunction.bind().length; Should be 1, but it returns 0.
- We rename m_hasModifiedLength to m_hasModifiedLengthForNonHostFunction and m_hasModifiedName to m_hasModifiedNameForNonHostFunction since we are not tracking these states for host-functions which can eagerly initialize them.
- We rename areNameAndLengthOriginal to canAssumeNameAndLengthAreOriginal to allow it to return "false" for host functions. If it returns true, we go to the fast path.
- Correctly use canAssumeNameAndLengthAreOriginal information in @hasOwnLengthProperty.
- runtime/FunctionRareData.cpp:
(JSC::FunctionRareData::FunctionRareData):
- runtime/FunctionRareData.h:
- runtime/JSFunction.cpp:
(JSC::JSFunction::put):
(JSC::JSFunction::deleteProperty):
(JSC::JSFunction::defineOwnProperty):
- runtime/JSFunction.h:
- runtime/JSFunctionInlines.h:
(JSC::JSFunction::canAssumeNameAndLengthAreOriginal):
(JSC::JSFunction::areNameAndLengthOriginal): Deleted.
- runtime/JSGlobalObject.cpp:
(JSC::hasOwnLengthProperty):
- tools/JSDollarVM.cpp:
(JSC::functionHasOwnLengthProperty):
- 10:11 AM Changeset in webkit [257783] by
-
- 2 edits in trunk/Source/WebCore
Regression (CookieCache) Unable to log into Hulu.com
https://bugs.webkit.org/show_bug.cgi?id=208517
<rdar://problem/59973630>
Reviewed by Geoffrey Garen.
Even though we are listening for notifications for 'www.hulu.com', CFNetwork sends us a notification for host
'secure.hulu.com' when a load to secure.hulu.com sets a cookie for domain '.hulu.com'. Because the host did
not match one if our map of observers, we would ignore the cookie notification and our cookie cache would get
out of sync. To temporarily address the issue (until a better fix is made, likely on CFNetwork side), WebKit
now matches registrable domains instead of hosts.
- platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::NetworkStorageSession::registerCookieChangeListenersIfNecessary):
- 9:49 AM Changeset in webkit [257782] by
-
- 2 edits in trunk/LayoutTests
[ Catalina ] webanimations/accelerated-animation-slot-invalidation.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208519
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 9:25 AM Changeset in webkit [257781] by
-
- 2 edits in trunk/LayoutTests
[ Mac wk1 Debug ] legacy-animation-engine/animations/animation-direction-reverse.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=208518
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations:
- 9:08 AM Changeset in webkit [257780] by
-
- 23 edits3 adds in trunk
Check for navigation to app-bound domain during script evaluation
https://bugs.webkit.org/show_bug.cgi?id=208319
<rdar://problem/57569321>
Reviewed by Brent Fulgham.
Source/WebCore:
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::executeScriptInWorld):
- loader/FrameLoaderClient.h:
- page/Frame.cpp:
(WebCore::Frame::injectUserScriptImmediately):
Source/WebKit:
Much of this patch is passing around a new parameter,
m_hasNavigatedAwayFromAppBoundDomain, to the Web Content Process to
indicate conditions for script evaluation.
- Shared/LoadParameters.cpp:
(WebKit::LoadParameters::encode const):
(WebKit::LoadParameters::decode):
- Shared/LoadParameters.h:
- Shared/PolicyDecision.h:
(WebKit::PolicyDecision::encode const):
(WebKit::PolicyDecision::decode):
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _inAppBrowserPrivacyEnabled]):
(-[WKPreferences _setInAppBrowserPrivacyEnabled:]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setIsNavigatingToAppBoundDomain:completionHandler:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::loadData):
(WebKit::ProvisionalPageProxy::loadRequest):
(WebKit::ProvisionalPageProxy::decidePolicyForNavigationActionSync):
- UIProcess/ProvisionalPageProxy.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::loadData):
(WebKit::WebPageProxy::loadDataWithNavigationShared):
(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomain):
(WebKit::WebPageProxy::setIsNavigatingToAppBoundDomainTesting):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNavigationActionSyncShared):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::hasNavigatedAwayFromAppBoundDomain const):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction):
(WebKit::WebFrameLoaderClient::hasNavigatedAwayFromAppBoundDomain):
- WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::loadRequest):
(WebKit::WebPage::loadDataImpl):
(WebKit::WebPage::loadData):
(WebKit::WebPage::loadAlternateHTML):
(WebKit::WebPage::didReceivePolicyDecision):
(WebKit::WebPage::runJavaScript):
(WebKit::WebPage::setIsNavigatingToAppBoundDomainTesting):
A new call to manually set isNavigatingToAppBoundDomain to mimic
test cases in which a webView switches between app-bound and
non-app-bound domains.
(WebKit::WebPage::setIsNavigatingToAppBoundDomain): Deleted.
Moved to header file because its setting a private variable.
- WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::setIsNavigatingToAppBoundDomain):
(WebKit::WebPage::hasNavigatedAwayFromAppBoundDomain const):
(WebKit::WebPage::setHasNavigatedAwayFromAppBoundDomain):
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/InAppBrowserPrivacy.mm: Added.
(-[TestInAppBrowserScriptMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/in-app-browser-privacy-test-user-agent-script.html: Added.
- TestWebKitAPI/Tests/WebKitCocoa/in-app-browser-privacy-test-user-script.html: Added.
- 8:44 AM Changeset in webkit [257779] by
-
- 6 edits in trunk/Source
Rename USE(GPU_PROCESS) to ENABLE(GPU_PROCESS_FOR_WEBRTC)
https://bugs.webkit.org/show_bug.cgi?id=208505
Reviewed by Eric Carlson.
Source/WebKit:
- Shared/WebPreferencesDefaultValues.h:
Source/WTF:
Rename macro since the name is misleading.
Disable GPU_PROCESS_FOR_WEBRTC for iOS except simulator for now.
- wtf/PlatformEnable.h:
- wtf/PlatformEnableCocoa.h:
- wtf/PlatformUse.h:
- 7:28 AM Changeset in webkit [257778] by
-
- 2 edits in trunk/Source/WebCore
[GTK][WPE] Fix current time and duration formatting in media controls
https://bugs.webkit.org/show_bug.cgi?id=208442
Reviewed by Xabier Rodriguez-Calvar.
We are always using mm:ss or hh:mm:ss for current time and duration. We should use different amount of digits
depending on the duration (m:ss, mm:ss, h:mm:ss or hh:mm:ss).
- Modules/mediacontrols/mediaControlsAdwaita.js:
(Controller.prototype.updateDuration): Set the amount of digits for current duration.
(Controller.prototype.prependZeroIfNeeded): Helper to prepend 0 for values less than 10.
(Controller.prototype.formatTime): Format the time depending on the number of digits required.
- 7:18 AM Changeset in webkit [257777] by
-
- 14 edits1 delete in trunk
Unreviewed, rolling out r257754.
https://bugs.webkit.org/show_bug.cgi?id=208513
Introduced API test failure (Requested by perarne on #webkit).
Reverted changeset:
"[Cocoa] Mapping from MIME type to UTI type should be done in
the UI process"
https://bugs.webkit.org/show_bug.cgi?id=208415
https://trac.webkit.org/changeset/257754
- 6:07 AM Changeset in webkit [257776] by
-
- 2 edits in trunk/Source/WebCore
Regression(r257354) Crash when trying on watch video on apple.com
https://bugs.webkit.org/show_bug.cgi?id=208487
<rdar://problem/59967385>
Reviewed by Eric Carlson.
Use WebCore::Cookie's code to convert to a NSHTTPCookie instead of using toNSHTTPCookie()
which was not quite right, especially after r257354.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::toNSHTTPCookie): Deleted.
- 6:05 AM Changeset in webkit [257775] by
-
- 2 edits in trunk/Source/WebCore
[GTK] Use -webkit-system-font instead of -webkit-small-control in media controls
https://bugs.webkit.org/show_bug.cgi?id=208509
Reviewed by Xabier Rodriguez-Calvar.
For consistency with the system font.
- Modules/mediacontrols/mediaControlsAdwaita.css:
(audio::-webkit-media-controls-current-time-display,):
(video::-webkit-media-controls-closed-captions-container):
- 5:33 AM Changeset in webkit [257774] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK gardening. Rebaseline media/video-controls-no-scripting.html after r257705
- platform/gtk/media/video-controls-no-scripting-expected.txt:
- 5:19 AM Changeset in webkit [257773] by
-
- 2 edits1 delete in trunk/LayoutTests
Unreviewed gardeing. Update expectations of media/video-controls-toggling.html after r257771
I forgot to update the expected file after the changes in media/video-controls-toggling.html.
- media/video-controls-toggling-expected.txt:
- platform/gtk/media/video-controls-toggling-expected.txt: Removed.
- 5:16 AM Changeset in webkit [257772] by
-
- 2 edits in trunk/Tools
REGRESSION(r257726): [GTK] LayoutTests crashing after r257726
https://bugs.webkit.org/show_bug.cgi?id=208506
Reviewed by Carlos Garcia Campos.
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::platformAdjustContext): Remove unnecessary code.
- 5:13 AM Changeset in webkit [257771] by
-
- 2 edits in trunk/LayoutTests
Test media/video-controls-toggling.html is failing for GTK since r257299
https://bugs.webkit.org/show_bug.cgi?id=208507
Reviewed by Xabier Rodriguez-Calvar.
This has started to fail for GTK since we switched to use adwaita media controls, but I think this was passing
by coincidence. The test itself is wrong and that's probably the reason why it fails in the other platforms
too. The test expects that the changes that happen after removing the controls attribute from video element are
sync, but they aren't because a mutation observer is used by media controls script. Then, it assumes that panel
display property is set to none after controls attribute is removed, but we are actually removing the media
controls tree from the DOM in that case so the panel is null at that point. This worked in GTK before because
all those checks that were supposed to happen after removing the controls were done before the
handleControlsChange() was called.
- media/video-controls-toggling.html: Check that panel is null after controls attribute is removed from video
element in the next run loop iteration.
- 1:26 AM Changeset in webkit [257770] by
-
- 6 edits in releases/WebKitGTK/webkit-2.28
Merge r257466 - [JSC][MIPS] Adding support to Checkpoints
https://bugs.webkit.org/show_bug.cgi?id=208196
Reviewed by Yusuke Suzuki.
JSTests:
- microbenchmarks/memcpy-typed-loop.js:
Source/JavaScriptCore:
This patch is adding changes to properly support OSR to
checkpoints on MIPS. It required fixes on JIT probe and some
adjustment on Offlineasm to correct generate$gp
load when executing
checkpoint_osr_exit_from_inlined_call_trampoline
.
- assembler/MacroAssemblerMIPS.cpp:
Probe trampoline needs to allocate 16 bytes for 4 arguments to
properly follow C calling conventions. This space is used by callee
when the JSC is compiled with-O0
flags
(Check "DEFAULT C CALLING CONVENTION (O32)" section on
https://www.mips.com/downloads/mips32-instruction-set-quick-reference-v1-01).
- llint/LowLevelInterpreter.asm:
As we need to do on ARMv7, 64-bits arguments needs to be passed in
register pairs$a1:$a0
or$a3:$a2
(little-endian mode). Since$a0
contaisCallFrame*
, we need to passEncodedJSValue
on$a3:$a2
pair.
- offlineasm/mips.rb:
Following the same reason for return locations on OSR to LLInt, we
need to adjust$gp
using$ra
instead of$t9
on
checkpoint_osr_exit_from_inlined_call_trampoline
, given it is only
reachable throughret
operations. For detailed explanation, check
ChangeLog of https://trac.webkit.org/changeset/252713.
- 1:21 AM Changeset in webkit [257769] by
-
- 2 edits in trunk/Source/WebCore
[GTK][WPE] Fix JavaScript exception when removing media controls
https://bugs.webkit.org/show_bug.cgi?id=208444
Reviewed by Xabier Rodriguez-Calvar.
- Modules/mediacontrols/mediaControlsAdwaita.js:
(Controller.prototype.hideCaptionMenu): Return early if there's no caption menu to hide.
- 1:20 AM Changeset in webkit [257768] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r257299): [GTK] media controls current time label is disabled for live streams
https://bugs.webkit.org/show_bug.cgi?id=208443
Reviewed by Xabier Rodriguez-Calvar.
Remove the no-duration class from currentTime element when we know it's a live stream.
- Modules/mediacontrols/mediaControlsAdwaita.js:
(Controller.prototype.updateTime):