Timeline
Dec 3, 2020:
- 11:10 PM Changeset in webkit [270425] by
-
- 19 edits1 delete in trunk
Only the first wheel event in a gesture should be cancelable
https://bugs.webkit.org/show_bug.cgi?id=218764
<rdar://problem/71248946>
Reviewed by Tim Horton.
Source/WebCore:
Implement the WebKit2 version of r270312, where only the first wheel event in a gesture is
cancelable.
When scrolling over an element with handlers, we do event handling on the main thread,
so we can take the compute value of EventHandler's Optional<WheelScrollGestureState>
from the first event and send it back to the scrolling thread.
However, the scrolling thread needs to block until this first event comes back from
the main thread. To achieve this, EventDispatcher::wheelEvent() now dispaches
main thread scrolls from the scrolling thread (not the dispatcher thread), and
waits on m_waitingForBeganEventCondition with a 50ms timeout for that first event to
come back.
In the normal case, main thread handling dispatches the event back to the scrolling
thread for scrolling via handleWheelEventAfterMainThread(), and then calls
wheelEventWasProcessedByMainThread() to signal the condition. If for some reason
handleWheelEventAfterMainThread() doesn't get called (e.g. nothing was scrollable),
then wheelEventWasProcessedByMainThread() still gets called to signal.
If m_waitingForBeganEventCondition times out, then the scrolling thread falls back
to non-blocking behaviour (as if the first event was not canceled).
Finally, when we know the gesture will become non-blocking, we transition to running
the scroll from the scrolling thread, which requires that we set up latching, hence
the changes in ScrollingTreeLatchingController.
Tested by existing tests in fast/events/wheel.
- page/EventHandler.cpp:
(WebCore::EventHandler::wheelEventWasProcessedByMainThread):
(WebCore::EventHandler::handleWheelEventInScrollableArea):
- page/WheelEventTestMonitor.cpp:
(WebCore::operator<<):
- page/WheelEventTestMonitor.h:
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::processWheelEventForScrolling):
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::determineWheelEventProcessing):
(WebCore::ScrollingTree::setGestureState):
(WebCore::ScrollingTree::gestureState):
- page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::willSendEventToMainThread):
(WebCore::ScrollingTree::waitForEventToBeProcessedByMainThread):
- page/scrolling/ScrollingTreeLatchingController.cpp:
(WebCore::ScrollingTreeLatchingController::receivedWheelEvent):
(WebCore::ScrollingTreeLatchingController::nodeDidHandleEvent):
- page/scrolling/ScrollingTreeLatchingController.h:
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::handleWheelEventAfterMainThread):
(WebCore::ThreadedScrollingTree::wheelEventWasProcessedByMainThread):
(WebCore::ThreadedScrollingTree::willSendEventToMainThread):
(WebCore::ThreadedScrollingTree::waitForEventToBeProcessedByMainThread):
- page/scrolling/ThreadedScrollingTree.h:
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::handleWheelEventForScrolling): Need to track deferral
for WheelEventTestMonitor.
(WebCore::ScrollingCoordinatorMac::wheelEventWasProcessedByMainThread): This is now synchronous
to the scrolling thread so no need for the deferrer.
(WebCore::nextDeferIdentifier): Deleted.
- page/scrolling/nicosia/ScrollingCoordinatorNicosia.cpp:
(WebCore::ScrollingCoordinatorNicosia::wheelEventWasProcessedByMainThread):
- platform/cocoa/ScrollController.mm:
(WebCore::ScrollController::handleWheelEvent):
Source/WebKit:
In EventDispatcher::wheelEvent(), all wheel events now bounce through the scrolling
thread, even those destined for main thread scrolling. This allows the scrolling thread
to wait on a condition for the event to come back to the scrolling thread via
handleWheelEventAfterMainThread(), since we have to know whether content called
preventDefault() on the first event before sending subsequent events.
- WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):
LayoutTests:
- fast/scrolling/mac/rubberband-overflow-in-wheel-region-root-jiggle.html: Make more robust.
- platform/mac-wk2/fast/events/wheel/wheel-events-become-non-cancelable-expected.txt: Test now passes in WK2.
- 10:45 PM Changeset in webkit [270424] by
-
- 2 edits in trunk/LayoutTests
[GTK] Gardening anchor download failures after r270422
Unreviewed test gardening.
- platform/gtk/TestExpectations:
- 8:08 PM Changeset in webkit [270423] by
-
- 4 edits in trunk/Source/JavaScriptCore
"done" checkpoint of iterator_next stores the wrong register in the value profile in baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=219501
Reviewed by Keith Miller.
- jit/JIT.h:
- jit/JITCall.cpp:
(JSC::JIT::emit_op_iterator_next):
- jit/JITInlines.h:
(JSC::JIT::emitValueProfilingSite):
(JSC::JIT::emitValueProfilingSiteIfProfiledOpcode):
- 7:30 PM Changeset in webkit [270422] by
-
- 75 edits3 copies1 move5 adds2 deletes in trunk
Source/WebKit:
Introduce new download API
https://bugs.webkit.org/show_bug.cgi?id=217747
Patch by Alex Christensen <achristensen@webkit.org> on 2020-12-03
Reviewed by Brady Eidson.
Safari currently uses _WKDownload, which has evolved strangely over the last decade.
In order to make a nicer interface, we need to learn from those lessons and take a step back.
I did that, and here's what I came up with: WKDownload and WKDownloadDelegate!
Notable changes include:
- The delegate now lives on the download object instead of the process pool.
- WKDownload does not conform to NSCopying because we have NSMapTable instead of NSDictionary.
- publishProgressAtURL is gone. That will be reimplemented in the UI process of the client that used it.
- cancel has a completion handler to get the resume data instead of waiting for didCancel then getting it from the download object.
- didFailWithError also gives you the resume data, so there is no way to get it from the download object. That's more about a fail/cancel
event than a property of the download.
- wasUserInitiated is gone. Instead, WKNavigationDelegate has a callback that links a navigation action (where _isUserInitiated is exposed) to the download.
- redirectChain is also gone. That can also be gotten from the link to the navigation and the download delegate's redirect callback.
- _downloadDidStart is gone. Instead, we have completion handlers that expose a WKDownload once it's started. There's no need to
reference the download object before then anyways. Note: that's when the download "starts" which is before it receives the response,
so there will be no server delay in the difference between download object availabilities.
- didReceiveServerRedirectToURL now gives you the option of continuing or cancelling. This reflects the amount of control the
WKNavigationDelegate has.
- decideDestinationWithSuggestedFilename and didReceiveResponse have been merged, since they actually happen at the same time and
NSURLResponse has suggestedFilename API. allowOverwrite is also gone. It wasn't used, and not really needed.
- didCreateDestination is gone. That callback time wasn't really necessary. If you need to know when it's created, wait until the first
didWriteData callback. The destination has definitely been created by then.
- shouldDecodeSourceDataOfMIMEType is gone. It's actually not called since we adopted NSURLSession, and we should remove the related dead code.
- originatingFrame is gone. On _WKDownload it was actually a non-null WKFrameInfo that often contained no information. When information was there,
the information access has been replaced by didBecomeDownload which links the WKNavigationResponse which has frame info on it.
I wrote API tests for everything I could think of.
- NetworkProcess/Downloads/DownloadManager.cpp:
(WebKit::DownloadManager::resumeDownload):
- NetworkProcess/Downloads/DownloadManager.h:
- NetworkProcess/Downloads/cocoa/DownloadCocoa.mm:
(WebKit::Download::resume):
(WebKit::Download::platformCancelNetworkLoad):
- NetworkProcess/NetworkDataTaskBlob.cpp:
(WebKit::NetworkDataTaskBlob::suggestedFilename const):
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::resumeDownload):
(WebKit::NetworkProcess::findPendingDownloadLocation):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:didCompleteWithError:]):
- Scripts/webkit/messages.py:
- Shared/API/Cocoa/WebKit.h:
- Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
- Shared/Cocoa/APIObject.mm:
(API::Object::newObject):
- Sources.txt:
- SourcesCocoa.txt:
- UIProcess/API/APIDownloadClient.h:
(API::DownloadClient::legacyDidStart):
(API::DownloadClient::didFail):
(API::DownloadClient::didStart): Deleted.
- UIProcess/API/APINavigationAction.h:
- UIProcess/API/APINavigationClient.h:
(API::NavigationClient::navigationResponseDidBecomeDownload):
(API::NavigationClient::navigationActionDidBecomeDownload):
(API::NavigationClient::contextMenuDidCreateDownload):
- UIProcess/API/APIPolicyClient.h:
(API::PolicyClient::decidePolicyForNavigationAction):
(API::PolicyClient::decidePolicyForNewWindowAction):
- UIProcess/API/C/WKContext.cpp:
(WKContextSetDownloadClient): Deleted.
- UIProcess/API/C/WKContext.h:
- UIProcess/API/C/WKContextDownloadClient.h: Removed.
- UIProcess/API/C/WKDownload.cpp: Removed.
- UIProcess/API/C/WKDownloadClient.h: Added.
- UIProcess/API/C/WKDownloadRef.cpp: Added.
(WKDownloadGetTypeID):
(WKDownloadCopyRequest):
(WKDownloadCancel):
(WKDownloadGetOriginatingPage):
(WKDownloadGetWasUserInitiated):
(WKDownloadSetClient):
- UIProcess/API/C/WKDownloadRef.h: Renamed from Source/WebKit/UIProcess/API/C/WKDownload.h.
- UIProcess/API/C/WKNavigationActionRef.cpp:
(WKNavigationActionGetDownloadAttribute):
(WKNavigationActionShouldPerformDownload): Deleted.
- UIProcess/API/C/WKNavigationActionRef.h:
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPagePolicyClient):
(WKPageSetPageNavigationClient):
- UIProcess/API/C/WKPageNavigationClient.h:
- UIProcess/API/Cocoa/WKDownload.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKDownload.h.
- UIProcess/API/Cocoa/WKDownload.mm: Added.
(-[WKDownload cancel:]):
(-[WKDownload originalRequest]):
(-[WKDownload delegate]):
(-[WKDownload setDelegate:]):
(-[WKDownload dealloc]):
(-[WKDownload _apiObject]):
- UIProcess/API/Cocoa/WKDownloadDelegate.h: Added.
- UIProcess/API/Cocoa/WKDownloadInternal.h: Copied from Source/WebKit/UIProcess/API/Cocoa/_WKDownloadInternal.h.
- UIProcess/API/Cocoa/WKNavigationAction.h:
- UIProcess/API/Cocoa/WKNavigationAction.mm:
(-[WKNavigationAction downloadAttribute]):
(-[WKNavigationAction _shouldPerformDownload]):
- UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
- UIProcess/API/Cocoa/WKNavigationDelegate.h:
- UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
- UIProcess/API/Cocoa/WKProcessPool.mm:
(-[WKProcessPool _downloadURLRequest:websiteDataStore:originatingWebView:]):
(-[WKProcessPool _resumeDownloadFromData:websiteDataStore:path:originatingWebView:]):
- UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- UIProcess/API/Cocoa/WKWebView.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView downloadRequest:completionHandler:]):
(-[WKWebView resumeDownloadWithData:completionHandler:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/API/Cocoa/_WKDownload.h:
- UIProcess/API/Cocoa/_WKDownload.mm:
(-[_WKDownload initWithDownload2:]):
(+[_WKDownload downloadWithDownload:]):
(-[_WKDownload cancel]):
(-[_WKDownload publishProgressAtURL:]):
(-[_WKDownload request]):
(-[_WKDownload originatingWebView]):
(-[_WKDownload redirectChain]):
(-[_WKDownload wasUserInitiated]):
(-[_WKDownload resumeData]):
(-[_WKDownload originatingFrame]):
(-[_WKDownload _apiObject]):
(-[_WKDownload dealloc]): Deleted.
- UIProcess/API/Cocoa/_WKDownloadDelegate.h:
- UIProcess/API/Cocoa/_WKDownloadInternal.h:
- UIProcess/API/glib/WebKitDownloadClient.cpp:
- UIProcess/Cocoa/LegacyDownloadClient.h:
- UIProcess/Cocoa/LegacyDownloadClient.mm:
(WebKit::LegacyDownloadClient::legacyDidStart):
(WebKit::LegacyDownloadClient::didReceiveResponse):
(WebKit::LegacyDownloadClient::didReceiveData):
(WebKit::LegacyDownloadClient::didReceiveAuthenticationChallenge):
(WebKit::LegacyDownloadClient::didCreateDestination):
(WebKit::LegacyDownloadClient::processDidCrash):
(WebKit::LegacyDownloadClient::decideDestinationWithSuggestedFilename):
(WebKit::LegacyDownloadClient::didFinish):
(WebKit::LegacyDownloadClient::didFail):
(WebKit::LegacyDownloadClient::legacyDidCancel):
(WebKit::LegacyDownloadClient::willSendRequest):
(WebKit::LegacyDownloadClient::didStart): Deleted.
- UIProcess/Cocoa/NavigationState.h:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::NavigationState::setNavigationDelegate):
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationResponse):
(WebKit::NavigationState::NavigationClient::navigationActionDidBecomeDownload):
(WebKit::NavigationState::NavigationClient::navigationResponseDidBecomeDownload):
(WebKit::NavigationState::NavigationClient::contextMenuDidCreateDownload):
- UIProcess/Cocoa/WebProcessProxyCocoa.mm:
- UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::~DownloadProxy):
(WebKit::DownloadProxy::didStart):
(WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
(WebKit::DownloadProxy::didFail):
(WebKit::DownloadProxy::setClient):
- UIProcess/Downloads/DownloadProxy.h:
(WebKit::DownloadProxy::setDidStartCallback):
(WebKit::DownloadProxy::setSuggestedFilename):
- UIProcess/Network/NetworkProcessProxy.cpp:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::receivedPolicyDecision):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponseShared):
(WebKit::WebPageProxy::resumeDownload):
(WebKit::WebPageProxy::downloadRequest):
(WebKit::WebPageProxy::contextMenuItemSelected):
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::receivedPolicyDecision):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::resumeDownload):
- UIProcess/WebProcessPool.h:
- WebKit.xcodeproj/project.pbxproj:
Tools:
Introduce new download SPI
https://bugs.webkit.org/show_bug.cgi?id=217747
Patch by Alex Christensen <achristensen@webkit.org> on 2020-12-03
Reviewed by Brady Eidson.
- TestWebKitAPI/SourcesCocoa.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKit/DownloadDecideDestinationCrash.cpp:
(TestWebKitAPI::decidePolicyForNavigationResponse):
(TestWebKitAPI::decideDestinationWithSuggestedFilename):
(TestWebKitAPI::navigationResponseDidBecomeDownload):
(TestWebKitAPI::setPagePolicyClient):
(TestWebKitAPI::TEST):
(TestWebKitAPI::decidePolicyForNavigationAction): Deleted.
(TestWebKitAPI::setContextDownloadClient): Deleted.
- TestWebKitAPI/Tests/WebKit/mac/ContextMenuDownload.mm:
(TestWebKitAPI::decideDestinationWithSuggestedFilename):
(TestWebKitAPI::contextMenuDidCreateDownload):
(TestWebKitAPI::TEST):
(TestWebKitAPI::decideDestinationWithSuggestedFilenameContainingSlashes):
(TestWebKitAPI::contextMenuDidCreateDownloadWithSuggestedFilenameContainingSlashes):
- TestWebKitAPI/Tests/WebKitCocoa/ContentFiltering.mm:
(-[BecomeDownloadDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[ConvertResponseToDownloadNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[TestDownloadNavigationResponseFromMemoryCacheDelegate webView:didFailProvisionalNavigation:withError:]):
(-[TestDownloadNavigationResponseFromMemoryCacheDelegate webView:didFinishNavigation:]):
(TEST):
(downloadTestServer):
(checkResumedDownloadContents):
(simpleDownloadTestServer):
(checkFileContents):
(tempFileThatDoesNotExist):
(-[DownloadTestSchemeDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(TestWebKitAPI::mutateFile):
- TestWebKitAPI/Tests/WebKitCocoa/DownloadProgress.mm:
(-[DownloadProgressTestRunner webView:decidePolicyForNavigationResponse:decisionHandler:]):
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
(-[PSONNavigationDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
- TestWebKitAPI/Tests/WebKitCocoa/QuickLook.mm:
(TEST):
- TestWebKitAPI/cocoa/TestDownloadDelegate.h:
- TestWebKitAPI/cocoa/TestDownloadDelegate.mm:
(-[TestDownloadDelegate download:willPerformHTTPRedirection:newRequest:decisionHandler:]):
(-[TestDownloadDelegate download:decideDestinationWithResponse:suggestedFilename:completionHandler:]):
(-[TestDownloadDelegate download:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[TestDownloadDelegate download:didReceiveAuthenticationChallenge:completionHandler:]):
(-[TestDownloadDelegate downloadDidFinish:]):
(-[TestDownloadDelegate download:didFailWithError:resumeData:]):
(-[TestDownloadDelegate webView:navigationResponse:didBecomeDownload:]):
(-[TestDownloadDelegate webView:decidePolicyForNavigationResponse:decisionHandler:]):
(-[TestDownloadDelegate waitForDownloadDidFinish]):
(-[TestDownloadDelegate takeCallbackRecord]):
(-[TestDownloadDelegate _downloadDidStart:]): Deleted.
(-[TestDownloadDelegate _download:didReceiveServerRedirectToURL:]): Deleted.
(-[TestDownloadDelegate _download:didReceiveResponse:]): Deleted.
(-[TestDownloadDelegate _download:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]): Deleted.
(-[TestDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]): Deleted.
(-[TestDownloadDelegate _downloadDidFinish:]): Deleted.
(-[TestDownloadDelegate _download:didFailWithError:]): Deleted.
(-[TestDownloadDelegate _downloadDidCancel:]): Deleted.
(-[TestDownloadDelegate _download:didReceiveAuthenticationChallenge:completionHandler:]): Deleted.
(-[TestDownloadDelegate _download:didCreateDestination:]): Deleted.
- TestWebKitAPI/cocoa/TestLegacyDownloadDelegate.h: Copied from Tools/TestWebKitAPI/cocoa/TestDownloadDelegate.h.
- TestWebKitAPI/cocoa/TestLegacyDownloadDelegate.mm: Copied from Tools/TestWebKitAPI/cocoa/TestDownloadDelegate.mm.
(-[TestLegacyDownloadDelegate _downloadDidStart:]):
(-[TestLegacyDownloadDelegate _download:didReceiveServerRedirectToURL:]):
(-[TestLegacyDownloadDelegate _download:didReceiveResponse:]):
(-[TestLegacyDownloadDelegate _download:didWriteData:totalBytesWritten:totalBytesExpectedToWrite:]):
(-[TestLegacyDownloadDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
(-[TestLegacyDownloadDelegate _downloadDidFinish:]):
(-[TestLegacyDownloadDelegate _download:didFailWithError:]):
(-[TestLegacyDownloadDelegate _downloadDidCancel:]):
(-[TestLegacyDownloadDelegate _download:didReceiveAuthenticationChallenge:completionHandler:]):
(-[TestLegacyDownloadDelegate _download:didCreateDestination:]):
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::navigationDidBecomeDownloadShared):
(WTR::TestController::navigationActionDidBecomeDownload):
(WTR::TestController::navigationResponseDidBecomeDownload):
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::decideDestinationWithSuggestedFilename):
(WTR::TestController::downloadDidFinish):
(WTR::TestController::downloadDidFail):
(WTR::TestController::downloadDidReceiveServerRedirectToURL):
(WTR::TestController::downloadDidStart):
(WTR::TestController::decidePolicyForNavigationAction):
(WTR::TestController::downloadDidCancel): Deleted.
- WebKitTestRunner/TestController.h:
LayoutTests:
Introduce new download API
https://bugs.webkit.org/show_bug.cgi?id=217747
Patch by Alex Christensen <achristensen@webkit.org> on 2020-12-03
Reviewed by Brady Eidson.
- fast/dom/HTMLAnchorElement/anchor-download-expected.txt:
- fast/dom/HTMLAnchorElement/anchor-download-user-triggered-synthetic-click-expected.txt:
- fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-async-delegate-expected.txt:
- fast/dom/HTMLAnchorElement/anchor-file-blob-convert-to-download-expected.txt:
- fast/dom/HTMLAnchorElement/anchor-nodownload-set-expected.txt:
Now that NetworkDataTaskBlob::suggestedFilename doesn't suggest "unknown"
the capitalization has changed to "Unknown" from NSURLResponse's suggestedFilename.
- 5:32 PM Changeset in webkit [270421] by
-
- 4 edits in trunk/Source/WebCore
Issue logging in to Microsoft Teams if logged into other Microsoft accounts and navigating directly to teams.microsoft.com
https://bugs.webkit.org/show_bug.cgi?id=219505
<rdar://problem/71391657>
Reviewed by Alex Christensen.
This is a temporary quirk to assist a high-traffic website while they
complete the large task of migrating away from login flows that
require third party cookies. This quirk will be removed when the site
is updated.
No new tests, site specific quirk.
In https://bugs.webkit.org/show_bug.cgi?id=218778 we added a quirk to
call the Storage Access API on behalf of microsoft.com when logging
into Microsoft Teams. This patch covers a final edge case where a user
was logged into other Microsoft accounts prior to the fix. In this
case, if the user tries to go straight to teams.microsoft.com, an endless
redirect loop will occur because the site has login credentials from a previous
Microsoft login but does not have 3rd party cookie access to authenticate the
login on teams.microsoft.com. The solution is to redirect the user to
the login page for Teams on microsoft.com where the previous fix added
a Storage Access prompt.
- loader/DocumentLoader.cpp:
(WebCore::microsoftTeamsRedirectURL):
(WebCore::DocumentLoader::responseReceived):
- page/Quirks.cpp:
(WebCore::Quirks::isMicrosoftTeamsRedirectURL):
- page/Quirks.h:
- 5:22 PM Changeset in webkit [270420] by
-
- 41 edits in trunk
Adopt FALLBACK_PLATFORM
https://bugs.webkit.org/show_bug.cgi?id=219504
Patch by Adam Roben <Adam Roben> on 2020-12-03
Reviewed by Tim Horton.
PerformanceTests:
- MediaTime/Configurations/SDKVariant.xcconfig: Use FALLBACK_PLATFORM
it if it's defined, otherwise use PLATFORM_NAME as before.
Source/bmalloc:
- Configurations/SDKVariant.xcconfig: Use FALLBACK_PLATFORM it if it's
defined, otherwise use PLATFORM_NAME as before.
Source/JavaScriptCore:
- Configurations/SDKVariant.xcconfig:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Scripts/check-xcfilelists.sh:
Use FALLBACK_PLATFORM it if it's defined, otherwise use PLATFORM_NAME
as before.
Source/ThirdParty:
- gtest/xcode/Config/SDKVariant.xcconfig: Use FALLBACK_PLATFORM it if
it's defined, otherwise use PLATFORM_NAME as before.
Source/ThirdParty/ANGLE:
- Configurations/SDKVariant.xcconfig: Use FALLBACK_PLATFORM it if it's
defined, otherwise use PLATFORM_NAME as before.
Source/ThirdParty/libwebrtc:
- Configurations/SDKVariant.xcconfig: Use FALLBACK_PLATFORM it if it's
defined, otherwise use PLATFORM_NAME as before.
Source/WebCore:
- Configurations/SDKVariant.xcconfig:
- Scripts/check-xcfilelists.sh:
Use FALLBACK_PLATFORM it if it's defined, otherwise use PLATFORM_NAME
as before.
Source/WebCore/PAL:
- Configurations/SDKVariant.xcconfig: Use FALLBACK_PLATFORM it if it's
defined, otherwise use PLATFORM_NAME as before.
Source/WebInspectorUI:
- Configurations/SDKVariant.xcconfig: Use FALLBACK_PLATFORM it if it's
defined, otherwise use PLATFORM_NAME as before.
Source/WebKit:
- Configurations/SDKVariant.xcconfig:
- Scripts/check-xcfilelists.sh:
Use FALLBACK_PLATFORM it if it's defined, otherwise use PLATFORM_NAME
as before.
Source/WebKitLegacy:
- scripts/check-xcfilelists.sh: Use FALLBACK_PLATFORM it if it's
defined, otherwise use PLATFORM_NAME as before.
Source/WebKitLegacy/mac:
- Configurations/SDKVariant.xcconfig:
- Configurations/WebKitLegacy.xcconfig:
Use FALLBACK_PLATFORM it if it's defined, otherwise use PLATFORM_NAME
as before.
Source/WTF:
- Configurations/SDKVariant.xcconfig: Use FALLBACK_PLATFORM it if it's
defined, otherwise use PLATFORM_NAME as before.
Tools:
- ContentExtensionTester/Configurations/SDKVariant.xcconfig:
- DumpRenderTree/mac/Configurations/SDKVariant.xcconfig:
- ImageDiff/cg/Configurations/SDKVariant.xcconfig:
- MiniBrowser/Configurations/SDKVariant.xcconfig:
- MobileMiniBrowser/Configurations/SDKVariant.xcconfig:
- TestWebKitAPI/Configurations/SDKVariant.xcconfig:
- WebEditingTester/Configurations/SDKVariant.xcconfig:
- WebKitTestRunner/Configurations/SDKVariant.xcconfig:
- lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig:
Use FALLBACK_PLATFORM it if it's defined, otherwise use PLATFORM_NAME
as before.
- 4:38 PM Changeset in webkit [270419] by
-
- 3 edits in trunk/Source/WebKit
Drop unimplemented suspension functions on GPUConnectionToWebProcess and WebAuthnConnectionToWebProcess
https://bugs.webkit.org/show_bug.cgi?id=219513
Reviewed by Tim Horton.
These functions are never called and have no implementation. This is just bad copy/paste from
NetworkConnectionToWebProcess.
- GPUProcess/GPUConnectionToWebProcess.h:
- WebAuthnProcess/WebAuthnConnectionToWebProcess.h:
- 4:31 PM Changeset in webkit [270418] by
-
- 3 edits in trunk/Source/WebKit
[macOS] Only extend access to the AppleSNBFBUserClient IOKit class if the GPU Process is not used
https://bugs.webkit.org/show_bug.cgi?id=219014
<rdar://problem/70463873>
Reviewed by Per Arne Vollan.
Instead of globally extending access to the AppleSNBFBUserClient IOKit class,
only extend it when the GPU process is not in use.
- UIProcess/WebPageProxy.cpp:
(WebKit::gpuIOKitClasses): Add 'AppleSNBFBUserClient' as a dynamically-extended
IOKit class.
- WebProcess/com.apple.WebProcess.sb.in: Only allow 'AppleSNBFBUserClient' if it
was dynamically extended.
- 4:24 PM Changeset in webkit [270417] by
-
- 6 edits in trunk/Source
[GPU Process] Disconnect NativeImages from RemoteResourceCacheProxy when RemoteRenderingBackendProxy is destroyed
https://bugs.webkit.org/show_bug.cgi?id=219417
Reviewed by Tim Horton.
Source/WebCore:
Allow multiple observers for a single NativeImage. The NativeImage is
usually a frame of a CachedImage. The CachedImage can be referenced by
multiple pages and every page has its RemoteRenderingBackendProxy which
is a superclass of NativeImage::Observer.s
- platform/graphics/NativeImage.cpp:
(WebCore::NativeImage::~NativeImage):
- platform/graphics/NativeImage.h:
(WebCore::NativeImage::addObserver):
(WebCore::NativeImage::removeObserver):
(WebCore::NativeImage::setObserver): Deleted.
(): Deleted.
Source/WebKit:
If the WebPage is destroyed before destroying the CachedImages, a crash
may happen. The NativeImage will try to release itself from its observer,
which is RemoteResourceCacheProxy, after it has been freed.
- WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:
(WebKit::RemoteResourceCacheProxy::~RemoteResourceCacheProxy):
(WebKit::RemoteResourceCacheProxy::cacheNativeImage):
- WebProcess/GPU/graphics/RemoteResourceCacheProxy.h:
- 4:07 PM Changeset in webkit [270416] by
-
- 2 edits in trunk/Source/WebCore
Use red color for sync wheel event handler debug overlay text
https://bugs.webkit.org/show_bug.cgi?id=219514
Reviewed by Tim Horton.
Use red for the "sync" wheel event handler debug overlay text.
- rendering/RenderLayerBacking.cpp:
(WebCore::patternForEventListenerRegionType):
- 4:02 PM Changeset in webkit [270415] by
-
- 9 edits in trunk/Source/WebKit
Bad IPC from the WebProcess should not terminate the GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=219511
Reviewed by Simon Fraser.
Bad IPC from the WebProcess should not terminate the GPUProcess. The GPUProcess is shared by all
WebProcesses and it is not acceptable for a single bad WebProcess to negatively impact other
WebProcesses. Instead, we should terminate the bad WebProcess, like the NetworkProcess already
does on bad IPC.
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::didReceiveInvalidMessage):
- Shared/ProcessTerminationReason.h:
- UIProcess/API/C/WKAPICast.h:
(WebKit::toAPI):
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::wkProcessTerminationReason):
- UIProcess/GPU/GPUProcessProxy.cpp:
(WebKit::GPUProcessProxy::terminateWebProcess):
- UIProcess/GPU/GPUProcessProxy.h:
- UIProcess/GPU/GPUProcessProxy.messages.in:
- UIProcess/WebPageProxy.cpp:
(WebKit::shouldReloadAfterProcessTermination):
- 4:01 PM Changeset in webkit [270414] by
-
- 22 edits1 copy1 add in trunk
Serialize NFA to disk before converting it to a DFA when compiling a WKContentRuleList
https://bugs.webkit.org/show_bug.cgi?id=219452
Patch by Alex Christensen <achristensen@webkit.org> on 2020-12-03
Reviewed by Geoffrey Garen.
Source/WebCore:
This decreases maximum memory use by about 50% because the NFA and DFA never need to be in memory at the same time.
I'll have to do some tuning and on-device measurement, but this may allow us to increase maxRuleCount.
- Headers.cmake:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- contentextensions/CombinedURLFilters.cpp:
(WebCore::ContentExtensions::CombinedURLFilters::processNFAs):
- contentextensions/CombinedURLFilters.h:
- contentextensions/ContentExtensionCompiler.cpp:
(WebCore::ContentExtensions::compileToBytecode):
(WebCore::ContentExtensions::compileRuleList):
- contentextensions/ContentExtensionError.cpp:
(WebCore::ContentExtensions::contentExtensionErrorCategory):
- contentextensions/ContentExtensionError.h:
- contentextensions/ContentExtensionsDebugging.h:
- contentextensions/DFA.cpp:
(WebCore::ContentExtensions::DFA::shrinkToFit): Deleted.
- contentextensions/DFA.h:
- contentextensions/ImmutableNFA.h:
(WebCore::ContentExtensions::ImmutableNFA::clear):
(WebCore::ContentExtensions::ImmutableNFA::ConstTargetIterator::operator* const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::ConstTargetIterator::operator-> const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::ConstTargetIterator::operator== const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::ConstTargetIterator::operator!= const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::ConstTargetIterator::operator++): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::IterableConstTargets::begin const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::IterableConstTargets::end const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::ConstRangeIterator::operator== const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::ConstRangeIterator::operator!= const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::ConstRangeIterator::operator++): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::ConstRangeIterator::first const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::ConstRangeIterator::last const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::ConstRangeIterator::data const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::ConstRangeIterator::range const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::IterableConstRange::begin const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::IterableConstRange::end const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::IterableConstRange::debugPrint const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::transitionsForNode const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::root const): Deleted.
(WebCore::ContentExtensions::ImmutableNFA::finalize): Deleted.
- contentextensions/ImmutableNFANodeBuilder.h:
- contentextensions/NFAToDFA.cpp:
(WebCore::ContentExtensions::epsilonClosureExcludingSelf):
(WebCore::ContentExtensions::resolveEpsilonClosures):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetSource::NodeIdSetToUniqueNodeIdSetSource):
(WebCore::ContentExtensions::NodeIdSetToUniqueNodeIdSetTranslator::translate):
(WebCore::ContentExtensions::createCombinedTransition):
(WebCore::ContentExtensions::getOrCreateDFANode):
(WebCore::ContentExtensions::NFAToDFA::convert):
- contentextensions/NFAToDFA.h:
- contentextensions/SerializedNFA.cpp: Added.
(WebCore::ContentExtensions::writeAllToFile):
(WebCore::ContentExtensions::SerializedNFA::serialize):
(WebCore::ContentExtensions::SerializedNFA::SerializedNFA):
(WebCore::ContentExtensions::SerializedNFA::pointerAtOffsetInFile const):
(WebCore::ContentExtensions::SerializedNFA::nodes const const):
(WebCore::ContentExtensions::SerializedNFA::transitions const const):
(WebCore::ContentExtensions::SerializedNFA::targets const const):
(WebCore::ContentExtensions::SerializedNFA::epsilonTransitionsTargets const const):
(WebCore::ContentExtensions::SerializedNFA::actions const const):
- contentextensions/SerializedNFA.h: Copied from Source/WebCore/contentextensions/ImmutableNFA.h.
(WebCore::ContentExtensions::SerializedNFA::Range::Range):
(WebCore::ContentExtensions::SerializedNFA::Range::begin const):
(WebCore::ContentExtensions::SerializedNFA::Range::end const):
(WebCore::ContentExtensions::SerializedNFA::Range::size const):
(WebCore::ContentExtensions::SerializedNFA::Range::operator[] const):
(WebCore::ContentExtensions::SerializedNFA::root const):
(WebCore::ContentExtensions::SerializedNFA::ConstTargetIterator::operator* const):
(WebCore::ContentExtensions::SerializedNFA::ConstTargetIterator::operator-> const):
(WebCore::ContentExtensions::SerializedNFA::ConstTargetIterator::operator== const):
(WebCore::ContentExtensions::SerializedNFA::ConstTargetIterator::operator!= const):
(WebCore::ContentExtensions::SerializedNFA::ConstTargetIterator::operator++):
(WebCore::ContentExtensions::SerializedNFA::IterableConstTargets::begin const):
(WebCore::ContentExtensions::SerializedNFA::IterableConstTargets::end const):
(WebCore::ContentExtensions::SerializedNFA::ConstRangeIterator::operator== const):
(WebCore::ContentExtensions::SerializedNFA::ConstRangeIterator::operator!= const):
(WebCore::ContentExtensions::SerializedNFA::ConstRangeIterator::operator++):
(WebCore::ContentExtensions::SerializedNFA::ConstRangeIterator::first const):
(WebCore::ContentExtensions::SerializedNFA::ConstRangeIterator::last const):
(WebCore::ContentExtensions::SerializedNFA::ConstRangeIterator::data const):
(WebCore::ContentExtensions::SerializedNFA::ConstRangeIterator::range const):
(WebCore::ContentExtensions::SerializedNFA::IterableConstRange::begin const):
(WebCore::ContentExtensions::SerializedNFA::IterableConstRange::end const):
(WebCore::ContentExtensions::SerializedNFA::IterableConstRange::debugPrint const):
(WebCore::ContentExtensions::SerializedNFA::transitionsForNode const):
Source/WebKit:
- UIProcess/API/Cocoa/WKContentRuleListStore.mm:
(-[WKContentRuleListStore _compileContentRuleListForIdentifier:encodedContentRuleList:completionHandler:]):
- UIProcess/API/Cocoa/WKContentRuleListStorePrivate.h:
Remove NS_RELEASES_ARGUMENT because it was incorrect and unnecessary because the WTF::String is copied to a background thread.
Tools:
Update syntax of existing tests, which cover behavior quite well.
- TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
(TestWebKitAPI::createNFAs):
(TestWebKitAPI::TEST_F):
- TestWebKitAPI/Tests/WebCore/DFAHelpers.h:
(TestWebKitAPI::createNFAs):
(TestWebKitAPI::buildDFAFromPatterns):
- 3:54 PM Changeset in webkit [270413] by
-
- 2 edits in trunk/Source/WebKit
Make sure the GPUConnectionToWebProcess gets destroyed when the connection to the WebProcess gets severed
https://bugs.webkit.org/show_bug.cgi?id=219508
Reviewed by Geoffrey Garen.
Make sure the GPUConnectionToWebProcess gets destroyed when the connection to the WebProcess gets severed
(WebProcess exited normally or crashed). This is similar to what we do in the NetworkProcess for
NetworkConnectionToWebProcess.
- GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::didClose):
- 3:34 PM Changeset in webkit [270412] by
-
- 3 edits in trunk/Tools
[webkitscmpy] Incorrect identifier on remote SVN branches
https://bugs.webkit.org/show_bug.cgi?id=219509
<rdar://problem/71953465>
Reviewed by Stephanie Lewis.
Request reconstructed from packet inspection of requests sent by the svn binary.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn._cache_revisions): Clarify that revisions should only come from the specified branch.
- 3:20 PM Changeset in webkit [270411] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] not using std::make_pair for workaround of (possibly) ASan bug
https://bugs.webkit.org/show_bug.cgi?id=219502
<rdar://71642789>
Reviewed by Robin Morisset.
We are getting ASan crash in LayoutTests/fast/canvas/webgl/array-unit-tests.html after r269574.
However, this is inside std::make_pair, and it looks like a bug in ASan.
To workaround this for now, we avoid using std::make_pair and instead just using C++ uniform initialization.
- runtime/JSArrayBufferPrototype.cpp:
- 3:15 PM Changeset in webkit [270410] by
-
- 2 edits in trunk/Source/WebCore
ASSERTION FAILED: isMainThread() in WTF::Optional<IntSize> &WebCore::surfaceMaximumSize()
https://bugs.webkit.org/show_bug.cgi?id=219492
Reviewed by Ryosuke Niwa.
No new tests; fixes a failing test.
- platform/graphics/cocoa/IOSurface.mm:
(WebCore::surfaceMaximumSize):
(WebCore::IOSurface::setMaximumSize):
(WebCore::IOSurface::maximumSize):
maximumSize() is used off the main thread, so wrap it in a WTF::Atomic.
- 3:09 PM Changeset in webkit [270409] by
-
- 42 edits40 copies3 adds2 deletes in trunk/LayoutTests
Get rid of LayoutTests/platform/mac-bigsur
https://bugs.webkit.org/show_bug.cgi?id=218359
Unreviewed test gardening.
- platform/mac-bigsur/editing/pasteboard/pasting-tabs-expected.txt: Removed.
- platform/mac-bigsur/editing/selection/select-from-textfield-outwards-expected.txt: Removed.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt: Removed.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-backward-br-mixed-expected.txt: Removed.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt: Removed.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-backward-p-mixed-expected.txt: Removed.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt: Removed.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-forward-br-mixed-expected.txt: Removed.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt: Removed.
- platform/mac-bigsur/editing/selection/vertical-rl-rtl-extend-line-forward-p-mixed-expected.txt: Removed.
- platform/mac-bigsur/fast/css/apple-system-control-colors-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/basic-textareas-quirks-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/box-shadow-override-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/form-element-geometry-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/hidpi-textfield-background-bleeding-expected.html: Removed.
- platform/mac-bigsur/fast/forms/input-appearance-preventDefault-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/input-appearance-spinbutton-up-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/input-placeholder-visibility-1-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/input-placeholder-visibility-3-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/input-table-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/input-value-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/listbox-width-change-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/search-rtl-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/search/search-size-with-decorations-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/search/search-zoom-computed-style-height-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/select-visual-hebrew-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/textAreaLineHeight-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/textarea-placeholder-visibility-1-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/textarea-placeholder-visibility-2-expected.txt: Removed.
- platform/mac-bigsur/fast/forms/visual-hebrew-text-field-expected.txt: Removed.
- platform/mac-bigsur/fast/parser/entity-comment-in-textarea-expected.txt: Removed.
- platform/mac-bigsur/fast/parser/open-comment-in-textarea-expected.txt: Removed.
- platform/mac-bigsur/fast/text/backslash-to-yen-sign-euc-expected.txt: Removed.
- platform/mac-bigsur/fast/text/drawBidiText-expected.txt: Removed.
- platform/mac-bigsur/fast/text/international/danda-space-expected.txt: Removed.
- platform/mac-bigsur/fast/text/international/system-language/system-font-punctuation-expected.txt: Removed.
- platform/mac-bigsur/fast/text/justify-ideograph-leading-expansion-expected.txt: Removed.
- platform/mac-bigsur/fast/text/vertical-rl-rtl-linebreak-expected.txt: Removed.
- platform/mac-bigsur/fast/text/vertical-rl-rtl-linebreak-mixed-expected.txt: Removed.
- platform/mac-catalina/fast/forms/listbox-width-change-expected.txt:
- platform/mac-catalina/fast/forms/search/search-size-with-decorations-expected.txt:
- platform/mac/editing/pasteboard/pasting-tabs-expected.txt:
- platform/mac/editing/selection/select-from-textfield-outwards-expected.txt:
- platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
- platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-br-mixed-expected.txt:
- platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
- platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-p-mixed-expected.txt:
- platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
- platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-br-mixed-expected.txt:
- platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
- platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-p-mixed-expected.txt:
- platform/mac/fast/css/apple-system-control-colors-expected.txt:
- platform/mac/fast/forms/auto-fill-button/hide-auto-fill-strong-password-viewable-treatment-when-form-is-reset-expected.txt:
- platform/mac/fast/forms/basic-textareas-quirks-expected.txt:
- platform/mac/fast/forms/box-shadow-override-expected.txt:
- platform/mac/fast/forms/form-element-geometry-expected.txt:
- platform/mac/fast/forms/input-appearance-preventDefault-expected.txt:
- platform/mac/fast/forms/input-appearance-spinbutton-up-expected.txt:
- platform/mac/fast/forms/input-placeholder-visibility-1-expected.txt:
- platform/mac/fast/forms/input-placeholder-visibility-3-expected.txt:
- platform/mac/fast/forms/input-table-expected.txt:
- platform/mac/fast/forms/input-value-expected.txt:
- platform/mac/fast/forms/listbox-width-change-expected.txt:
- platform/mac/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt:
- platform/mac/fast/forms/search-rtl-expected.txt:
- platform/mac/fast/forms/search/search-size-with-decorations-expected.txt:
- platform/mac/fast/forms/select-visual-hebrew-expected.txt:
- platform/mac/fast/forms/textAreaLineHeight-expected.txt:
- platform/mac/fast/forms/textarea-placeholder-visibility-1-expected.txt:
- platform/mac/fast/forms/textarea-placeholder-visibility-2-expected.txt:
- platform/mac/fast/forms/visual-hebrew-text-field-expected.txt:
- platform/mac/fast/parser/entity-comment-in-textarea-expected.txt:
- platform/mac/fast/parser/open-comment-in-textarea-expected.txt:
- platform/mac/fast/text/backslash-to-yen-sign-euc-expected.txt:
- platform/mac/fast/text/drawBidiText-expected.txt:
- platform/mac/fast/text/international/danda-space-expected.txt:
- platform/mac/fast/text/international/system-language/system-font-punctuation-expected.txt:
- platform/mac/fast/text/justify-ideograph-leading-expansion-expected.txt:
- platform/mac/fast/text/vertical-rl-rtl-linebreak-expected.txt:
- platform/mac/fast/text/vertical-rl-rtl-linebreak-mixed-expected.txt:
- 2:24 PM Changeset in webkit [270408] by
-
- 4 edits2 adds in trunk
Crash when trying to suspend an OfflineAudioContext with a bad buffer
https://bugs.webkit.org/show_bug.cgi?id=219496
Reviewed by Geoffrey Garen.
Source/WebCore:
Test: webaudio/OfflineAudioContext-bad-buffer-suspend-crash.html
- Modules/webaudio/OfflineAudioContext.cpp:
(WebCore::OfflineAudioContext::startOfflineRendering):
Throw a NotSupportedError for consistency with Blink.
(WebCore::OfflineAudioContext::suspendOfflineRendering):
Use length() instead of dereferencing the potentially null renderTarget to get
the length.
LayoutTests:
Add layout test coverage.
- webaudio/OfflineAudioContext-bad-buffer-suspend-crash-expected.txt: Added.
- webaudio/OfflineAudioContext-bad-buffer-suspend-crash.html: Added.
- 1:14 PM Changeset in webkit [270407] by
-
- 1 copy in tags/Safari-611.1.7
Tag Safari-611.1.7.
- 1:14 PM Changeset in webkit [270406] by
-
- 9 edits1 move in trunk/Source
Refactor macros for low power mode code
https://bugs.webkit.org/show_bug.cgi?id=219497
Reviewed by Geoffrey Garen.
Source/WebCore:
Use HAVE(APPLE_LOW_POWER_MODE_SUPPORT) instead of PLATFORM(IOS_FAMILY), which is equivalent.
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/LowPowerModeNotifier.h:
- platform/cocoa/LowPowerModeNotifier.mm: Renamed from Source/WebCore/platform/ios/LowPowerModeNotifierIOS.mm.
(-[WebLowPowerModeObserver initWithNotifier:]):
(-[WebLowPowerModeObserver dealloc]):
(-[WebLowPowerModeObserver _didReceiveLowPowerModeChange]):
(WebCore::LowPowerModeNotifier::LowPowerModeNotifier):
(WebCore::LowPowerModeNotifier::~LowPowerModeNotifier):
(WebCore::LowPowerModeNotifier::isLowPowerModeEnabled const):
(WebCore::LowPowerModeNotifier::notifyLowPowerModeChanged):
(WebCore::notifyLowPowerModeChanged):
Source/WTF:
Add new HAVE_APPLE_LOW_POWER_MODE_SUPPORT macro, enabled on iOS_FAMILY.
- wtf/PlatformHave.h:
- 1:14 PM Changeset in webkit [270405] by
-
- 1 copy in tags/Safari-610.4.2
Tag Safari-610.4.2.
- 1:12 PM Changeset in webkit [270404] by
-
- 4 edits4 adds in trunk
[GStreamer] Fix video losing size at the end of the stream
https://bugs.webkit.org/show_bug.cgi?id=219493
Reviewed by Xabier Rodriguez-Calvar.
LayoutTests/imported/w3c:
Added a test reproducing the bug that gets fixed with the patch.
- web-platform-tests/html/semantics/embedded-content/the-video-element/video_size_preserved_after_ended-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-video-element/video_size_preserved_after_ended.html: Added.
- web-platform-tests/media/test-1s.mp4: Added.
- web-platform-tests/media/test-1s.webm: Added.
Source/WebCore:
Our port for long had an issue where at the end of the video the
tracks would be erased, causing the video to lose its size and by
extension its aspect ratio.
In absence of a size, WebKit uses the default video size defined by
the spec of 300x150 (2:1 aspect ratio). This causes a video element
that doesn't have a size set through CSS to shrink to that size at the
end of playback, and also for black bars to appear on wider content
(e.g. 16:9 video) when watched in full screen mode.
This patch fixes the problem by not removing the tracks after an end
of stream, and instead reusing them with different pads the next time
the video is played.
Test: imported/w3c/web-platform-tests/html/semantics/embedded-content/the-video-element/video_size_preserved_after_ended.html
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
(WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
- platform/graphics/gstreamer/TrackPrivateBaseGStreamer.cpp:
(WebCore::TrackPrivateBaseGStreamer::setPad):
- platform/graphics/gstreamer/TrackPrivateBaseGStreamer.h:
- 12:47 PM Changeset in webkit [270403] by
-
- 3 edits in trunk/Source/WebCore
[iOS][FCR] Add new look for buttons in their default state
https://bugs.webkit.org/show_bug.cgi?id=219446
<rdar://problem/71904353>
Reviewed by Wenson Hsieh.
Controls with a button-like appearance include <button> and <input>
elements with the following type attributes: “button”, “submit”,
“reset”, and “file”. All of these have the same default appearance,
with the exception of "submit", which has a darker background and
lighter text color than the others.
Note that styles for additional states (pressed, disabled) will be
added once final specifications are obtained.
- css/formControlsIOS.css:
(input:matches([type="button"], [type="submit"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button):
(input:matches([type="button"], [type="reset"]), input[type="file"]::-webkit-file-upload-button, button):
(input[type="submit"]):
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintPushButtonDecorations):
The old button appearance painted a gradient over the button background.
This gradient is no longer necessary under the new design.
- 12:28 PM Changeset in webkit [270402] by
-
- 2 edits in trunk/Source/JavaScriptCore
JIT::emit_op_iterator_next fast path passes in the wrong identifier to the "done" JITGetByIdGenerator
https://bugs.webkit.org/show_bug.cgi?id=219499
Reviewed by Keith Miller.
The reason nothing was failing here is that the slow path which calls into C
code to do repatching of the IC was using the right "done" identifier. The
fast path only checks if the identifier is "length", so the code sidestepped
itself being wrong in any way. However, it's good form to use the correct
identifier.
- jit/JITCall.cpp:
(JSC::JIT::emit_op_iterator_next):
- 11:58 AM Changeset in webkit [270401] by
-
- 5 edits in trunk/Source/WebCore
GraphicsContextGLOpenGL: Rename IOSurfaceTextureTarget to drawingBufferTextureTarget
https://bugs.webkit.org/show_bug.cgi?id=219475
Reviewed by Don Olmstead.
Cocoa port has IOSurfaceTextureTarget method to switch a buffer
target type. Non-Cocoa ports also need a similar method.
Rename IOSurfaceTextureTarget, IOSurfaceTextureTargetQuery and
EGLIOSurfaceTextureTarget to drawingBufferTextureTarget,
drawingBufferTextureTargetQuery and EGLDrawingBufferTextureTarget.
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLOpenGL::reshapeFBOs):
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
(WebCore::GraphicsContextGLOpenGL::drawingBufferTextureTarget):
(WebCore::GraphicsContextGLOpenGL::drawingBufferTextureTargetQuery):
(WebCore::GraphicsContextGLOpenGL::EGLDrawingBufferTextureTarget):
(WebCore::GraphicsContextGLOpenGL::reshapeDisplayBufferBacking):
(WebCore::GraphicsContextGLOpenGL::bindDisplayBufferBacking):
(WebCore::GraphicsContextGLOpenGL::IOSurfaceTextureTarget): Deleted.
(WebCore::GraphicsContextGLOpenGL::IOSurfaceTextureTargetQuery): Deleted.
(WebCore::GraphicsContextGLOpenGL::EGLIOSurfaceTextureTarget): Deleted.
- platform/graphics/cv/GraphicsContextGLCVANGLE.cpp:
(WebCore::GraphicsContextGLCVANGLE::initializeUVContextObjects):
(WebCore::GraphicsContextGLCVANGLE::attachIOSurfaceToTexture):
(WebCore::GraphicsContextGLCVANGLE::copyPixelBufferToTexture):
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- 11:29 AM Changeset in webkit [270400] by
-
- 21 edits in trunk/Source/WebCore
GraphicsContextGL has a couple non-robust getters and other small API problems preventing GPU process implementation
https://bugs.webkit.org/show_bug.cgi?id=219486
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2020-12-03
Reviewed by Dean Jackson.
Changes GraphicsContextGL and ExtensionsGL to not have duplicate names
and have the correct function signatures.
Changes few remaining GraphicsContextGL getters to use robust GCGLSpan
form.
Changes few robust getters to GCGLSpan form and moves them from
ExtensionsGL to GraphicsContextGL.
Changes GraphicsContextGLOpenGL::getActiveUniforms to return the result
vector instead of taking it as non-const reference. This way the out
vector does not need to be transferred to the GPU process, when the
code is implemented. The call site is also more natural.
Requests GL_EXT_occlusion_query_boolean so that WebGL 2.0 occlusion
queries work when called with gl::GetQueryObjectuivRobustANGLE.
Removes use of mapBufferRange and related functions, changes them to a single
getBufferSubData. If the mapping ever is useful, the more complex
form of API can be added back.
Changes the getInternalformativ call site to check erros similar to other
generic error checking: first clear the errors and then after the call
check if there are new errors. This is slightly less efficient than
using the domain knowledge that the function never returns -1 in the slot.
Current single-value-as-return-value pattern cannot express this. In the
future, GPU process context cannot / will not support passing non-default
in-arrays. In the future, the generic error checking pattern will possibly
be improved, circumventing the need for the -1 domain knowledge case.
Removes getVertexAttrib*v, they are not used.
Removes getAttachedShaders, it is not used.
Removes the vendor-based workarounds from ANGLE ExtensionsGL, it was not
used.
No new tests, a refactor.
- html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getBufferSubData):
(WebCore::WebGL2RenderingContext::getInternalformatParameter):
(WebCore::WebGL2RenderingContext::vertexAttribI4uiv):
(WebCore::WebGL2RenderingContext::getQueryParameter):
(WebCore::WebGL2RenderingContext::bindSampler):
(WebCore::WebGL2RenderingContext::getSamplerParameter):
(WebCore::WebGL2RenderingContext::clientWaitSync):
(WebCore::WebGL2RenderingContext::deleteTransformFeedback):
(WebCore::WebGL2RenderingContext::beginTransformFeedback):
(WebCore::WebGL2RenderingContext::endTransformFeedback):
(WebCore::WebGL2RenderingContext::transformFeedbackVaryings):
(WebCore::WebGL2RenderingContext::getActiveUniforms):
(WebCore::WebGL2RenderingContext::readPixels):
- html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::readPixels):
- html/canvas/WebGLSync.cpp:
(WebCore::WebGLSync::updateCache):
- platform/graphics/ExtensionsGL.h:
- platform/graphics/GraphicsContextGL.h:
(WebCore::GraphicsContextGL::getInternalformati):
- platform/graphics/GraphicsTypesGL.h:
- platform/graphics/angle/ExtensionsGLANGLE.cpp:
(WebCore::ExtensionsGLANGLE::ExtensionsGLANGLE):
(WebCore::ExtensionsGLANGLE::getGraphicsResetStatusARB):
(WebCore::ExtensionsGLANGLE::getTranslatedShaderSourceANGLE):
(WebCore::ExtensionsGLANGLE::blitFramebufferANGLE):
(WebCore::ExtensionsGLANGLE::renderbufferStorageMultisampleANGLE):
(WebCore::ExtensionsGLANGLE::drawArraysInstancedANGLE):
(WebCore::ExtensionsGLANGLE::drawElementsInstancedANGLE):
(WebCore::ExtensionsGLANGLE::vertexAttribDivisorANGLE):
(WebCore::ExtensionsGLANGLE::getUniformuivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getTexLevelParameterivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getTexLevelParameterfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getnUniformfvRobustANGLE):
(WebCore::ExtensionsGLANGLE::getnUniformivRobustANGLE):
(WebCore::ExtensionsGLANGLE::getnUniformuivRobustANGLE):
- platform/graphics/angle/ExtensionsGLANGLE.h:
- platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLOpenGL::readnPixels):
(WebCore::GraphicsContextGLOpenGL::readnPixelsImpl):
(WebCore::GraphicsContextGLOpenGL::getBufferSubData):
(WebCore::GraphicsContextGLOpenGL::getInternalformativ):
(WebCore::GraphicsContextGLOpenGL::getActiveUniforms):
(WebCore::GraphicsContextGLOpenGL::getQueryObjectui):
(WebCore::GraphicsContextGLOpenGL::getSamplerParameterf):
(WebCore::GraphicsContextGLOpenGL::getSamplerParameteri):
(WebCore::GraphicsContextGLOpenGL::getSynci):
- platform/graphics/cocoa/GraphicsContextGLOpenGLCocoa.mm:
(WebCore::GraphicsContextGLOpenGL::GraphicsContextGLOpenGL):
- platform/graphics/opengl/ExtensionsGLOpenGL.cpp:
(WebCore::ExtensionsGLOpenGL::blitFramebufferANGLE):
(WebCore::ExtensionsGLOpenGL::renderbufferStorageMultisampleANGLE):
(WebCore::ExtensionsGLOpenGL::drawArraysInstancedANGLE):
(WebCore::ExtensionsGLOpenGL::drawElementsInstancedANGLE):
(WebCore::ExtensionsGLOpenGL::vertexAttribDivisorANGLE):
- platform/graphics/opengl/ExtensionsGLOpenGL.h:
- platform/graphics/opengl/ExtensionsGLOpenGLCommon.cpp:
- platform/graphics/opengl/ExtensionsGLOpenGLCommon.h:
- platform/graphics/opengl/ExtensionsGLOpenGLES.cpp:
(WebCore::ExtensionsGLOpenGLES::blitFramebufferANGLE):
(WebCore::ExtensionsGLOpenGLES::renderbufferStorageMultisampleANGLE):
(WebCore::ExtensionsGLOpenGLES::drawArraysInstancedANGLE):
(WebCore::ExtensionsGLOpenGLES::drawElementsInstancedANGLE):
(WebCore::ExtensionsGLOpenGLES::vertexAttribDivisorANGLE):
- platform/graphics/opengl/ExtensionsGLOpenGLES.h:
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp:
(WebCore::GraphicsContextGLOpenGL::readnPixels):
- platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:
(WebCore::GraphicsContextGLOpenGL::reshape):
(WebCore::GraphicsContextGLOpenGL::blendFunc):
(WebCore::GraphicsContextGLOpenGL::compileShader):
(WebCore::GraphicsContextGLOpenGL::getActiveAttribImpl):
(WebCore::GraphicsContextGLOpenGL::getActiveAttrib):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformImpl):
(WebCore::GraphicsContextGLOpenGL::getActiveUniform):
(WebCore::GraphicsContextGLOpenGL::originalSymbolName):
(WebCore::GraphicsContextGLOpenGL::mappedSymbolName):
(WebCore::GraphicsContextGLOpenGL::deleteVertexArray):
(WebCore::GraphicsContextGLOpenGL::isVertexArray):
(WebCore::GraphicsContextGLOpenGL::getNonBuiltInActiveSymbolCount):
(WebCore::GraphicsContextGLOpenGL::getUnmangledInfoLog):
(WebCore::GraphicsContextGLOpenGL::getProgramInfoLog):
(WebCore::GraphicsContextGLOpenGL::getShaderi):
(WebCore::GraphicsContextGLOpenGL::getShaderInfoLog):
(WebCore::GraphicsContextGLOpenGL::getShaderSource):
(WebCore::GraphicsContextGLOpenGL::drawArraysInstanced):
(WebCore::GraphicsContextGLOpenGL::drawElementsInstanced):
(WebCore::GraphicsContextGLOpenGL::vertexAttribDivisor):
(WebCore::GraphicsContextGLOpenGL::getBufferSubData):
(WebCore::GraphicsContextGLOpenGL::getInternalformativ):
(WebCore::GraphicsContextGLOpenGL::getQueryObjectui):
(WebCore::GraphicsContextGLOpenGL::getSamplerParameterf):
(WebCore::GraphicsContextGLOpenGL::getSamplerParameteri):
(WebCore::GraphicsContextGLOpenGL::getSynci):
(WebCore::GraphicsContextGLOpenGL::getActiveUniforms):
(WebCore::GraphicsContextGLOpenGL::getUniformBlockIndex):
(WebCore::GraphicsContextGLOpenGL::getActiveUniformBlockName):
(WebCore::GraphicsContextGLOpenGL::uniformBlockBinding):
(WebCore::GraphicsContextGLOpenGL::readnPixels):
- platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp:
(WebCore::GraphicsContextGLOpenGL::readnPixels):
(WebCore::GraphicsContextGLOpenGL::reshapeFBOs):
- 11:07 AM Changeset in webkit [270399] by
-
- 4 edits11 adds in trunk
[iOS][FCR] Add new look for search fields
https://bugs.webkit.org/show_bug.cgi?id=219443
<rdar://problem/71902666>
Reviewed by Wenson Hsieh.
Source/WebCore:
Tests: fast/forms/ios/form-control-refresh/search/background-color.html
fast/forms/ios/form-control-refresh/search/border.html
fast/forms/ios/form-control-refresh/search/font-size.html
fast/forms/ios/form-control-refresh/search/results-attribute.html
fast/forms/ios/form-control-refresh/search/width-height.html
- css/formControlsIOS.css:
(input[type="search"]):
Unlike traditional text fields, the new appearance has no border and a
filled background.
(input[type="search"]::-webkit-search-decoration,):
The new appearance has a magnifying glass glyph in the search field.
On macOS, the glyph changes depending on the value of the "results"
attribute. However, on iOS, the glyph should always be shown.
Consequently, "-webkit-search-decoration", "-webkit-search-results-decoration",
and "-webkit-search-results-button" all specify the same glyph.
- rendering/RenderThemeIOS.mm:
(WebCore::canAdjustBorderRadiusForAppearance):
The old search field forced a pill-like appearance. This is no longer
required under the new appearance.
(WebCore::RenderThemeIOS::adjustRoundBorderRadius):
LayoutTests:
Added tests to verify the stylability of search fields with the new appearance.
- fast/forms/ios/form-control-refresh/search/background-color-expected-mismatch.html: Added.
- fast/forms/ios/form-control-refresh/search/background-color.html: Added.
- fast/forms/ios/form-control-refresh/search/border-expected-mismatch.html: Added.
- fast/forms/ios/form-control-refresh/search/border.html: Added.
- fast/forms/ios/form-control-refresh/search/font-size-expected-mismatch.html: Added.
- fast/forms/ios/form-control-refresh/search/font-size.html: Added.
- fast/forms/ios/form-control-refresh/search/results-attribute-expected.html: Added.
- fast/forms/ios/form-control-refresh/search/results-attribute.html: Added.
- fast/forms/ios/form-control-refresh/search/width-height-expected-mismatch.html: Added.
- fast/forms/ios/form-control-refresh/search/width-height.html: Added.
- 11:01 AM Changeset in webkit [270398] by
-
- 4 edits in trunk/Source/WebCore
[iOS][FCR] Add new look for controls with text entry
https://bugs.webkit.org/show_bug.cgi?id=219362
rdar://problem/71813850
Reviewed by Wenson Hsieh.
Controls with text entry include <textarea> and the following <input>
types: "email", "password", "search", "tel", "text", and "url".
Additionally, <input> without a specified type is also a control with
text entry, since the default behavior matches <input type="text">.
- css/formControlsIOS.css:
(textarea, input): Updated border and font to match new look.
- css/html.css:
Removed input[type="range"] and input:matches([type="password"], [type="search"])
from the rule-set containing the selector "input", since "input" encompasses
"range", "password", and "search".
This change aligns with the user-agent stylesheets in Chrome and Firefox.
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
The previous appearance painted a gradient inside the control. However,
the new appearance does not have any decorations.
- 10:59 AM Changeset in webkit [270397] by
-
- 2 edits in trunk/LayoutTests
[macOS WK1] imported/w3c/web-platform-tests/css/css-scroll-snap/scroll-target-padding-003.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=219498
Unreviewed test gardening.
- platform/mac-wk1/TestExpectations: Mark test as flaky.
- 10:41 AM Changeset in webkit [270396] by
-
- 2 edits in trunk/LayoutTests
(r270171) [ iOS ] http/wpt/mediarecorder/set-srcObject-MediaStream-Blob.html is failing
https://bugs.webkit.org/show_bug.cgi?id=219439
<rdar://problem/71900353>
Reviewed by Darin Adler.
- http/wpt/mediarecorder/set-srcObject-MediaStream-Blob.html:
Remove the audio track to allow both video elements to play concurrently on iOS.
Tested by running the test on iOS simulator.
- 9:24 AM Changeset in webkit [270395] by
-
- 5 edits in trunk/Source
Remove GraphicsContextGLOpenGL::setRenderbufferStorageFromDrawable declaration
https://bugs.webkit.org/show_bug.cgi?id=219463
Reviewed by Alex Christensen.
Source/WebCore:
r268198 removed the definition.
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp:
(WebCore::GraphicsContextGLOpenGL::reshapeFBOs):
Removed a dead code of USE(OPENGL_ES) in PLATFORM(COCOA).
Source/WTF:
- wtf/Platform.h: Removed checking whether USE_ANGLE, USE_OPENGL,
and USE_OPENGL_ES are exclusive because Cocoa ports no longer use
USE_OPENGL and USE_OPENGL_ES, and they are not exclusive on
non-Cocoa ports.
- 9:15 AM Changeset in webkit [270394] by
-
- 2 edits in trunk/Source/WebCore
MediaSessionHelper::setSharedHelper() hangs when "media in the GPU process" is enabled
https://bugs.webkit.org/show_bug.cgi?id=219466
<rdar://problem/71566601>
Reviewed by Chris Dumez.
The WebProcess will attempt to set a RemoteMediaSessionHelper as the sharedHelper, but calling
MediaSessionHelper::setSharedHelper() will cause a MediaSessionHelperIOS to be created, which in
turn tries to talk to AVSystemController.sharedAVSystemController, which fails due to sandbox
restrictions.
Refactor sharedHelperInstance() to not create a MediaSessionHelperIOS by default, which allows
setSharedHelper to assign a new helper without creating one by default.
- platform/audio/ios/MediaSessionHelperIOS.mm:
(sharedHelperInstance):
(MediaSessionHelper::sharedHelper):
(MediaSessionHelper::resetSharedHelper):
(MediaSessionHelper::setSharedHelper):
- 6:08 AM Changeset in webkit [270393] by
-
- 5 edits in trunk/Source/WebCore
Fix for crash handling NSAccessibilityInsertionPointLineNumberAttribute for text fields in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=219477
Reviewed by Chris Fleizach.
Tests:
accessibility/content-editable-as-textarea.html
accessibility/mac/content-editable-range-properties.html
- Implemented AXIsolatedObject::selectionStart/End, selectedText, visiblePositionForIndex.
- Handler of the NSAccessibilityInsertionPointLineNumberAttribute
request now dispatches to the main thread the calls that involve
VisiblePositions.
- This change fixes the above mentioned layout tests in isolated tree mode.
- accessibility/AccessibilityObjectInterface.h:
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::selectionStart const):
(WebCore::AXIsolatedObject::selectionEnd const):
(WebCore::AXIsolatedObject::selectedText const):
(WebCore::AXIsolatedObject::visiblePositionForIndex const):
- accessibility/isolatedtree/AXIsolatedObject.h:
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
- 3:09 AM Changeset in webkit [270392] by
-
- 8 edits in trunk/Source
GPU Process: Sandbox violations under IOSurface::maximumSize in the Web Content process
https://bugs.webkit.org/show_bug.cgi?id=219484
<rdar://problem/71603808>
Reviewed by Ryosuke Niwa.
Source/WebCore:
- platform/graphics/cocoa/IOSurface.h:
- platform/graphics/cocoa/IOSurface.mm:
(WebCore::computeMaximumSurfaceSize):
(WebCore::surfaceMaximumSize):
(WebCore::IOSurface::setMaximumSize):
(WebCore::IOSurface::maximumSize):
Make it possible to externally override IOSurface::maximumSize.
Source/WebKit:
- 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):
Fetch the maximum allowed size of an IOSurface on the current hardware
in the UI process, and push it to the Web Content process on creation.
- 2:30 AM Changeset in webkit [270391] by
-
- 8 edits in trunk/Source
[WTF] Avoid JSONValue::create with raw string falling to bool overload
https://bugs.webkit.org/show_bug.cgi?id=219483
Reviewed by Adrian Perez de Castro.
Source/JavaScriptCore:
- inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::makeAsyncCall): Convert to WTF::String when creating the value.
Source/WebCore:
Covered by existing tests.
- inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::setAttachedWindow): Convert to WTF::String when creating the value.
Source/WebDriver:
Avoid accidental conversion of "selected" to bool that would make the
getElementAttribute javascriptcode to fail with "attributeName.toLowerCase
is undefined"
- Session.cpp:
(WebDriver::Session::isElementSelected): Convert to WTF::String when creating the value.
Source/WTF:
r269757 removed the const char* overload for Value::create() and replaced
them with makeString() versions. While this worked most of the time, one
could still call Value::create(raw_string) and it would end up calling the
bool overload. This could cause side effects like making a number of
WebDriver tests to fail with wrong types in the executed javascript code.
To avoid these accidental conversions, this commit added an overload to
delete all implicit conversions of Value::create().
- wtf/JSONValues.h: Delete implicit overloads for Value::create(T).
- 1:50 AM Changeset in webkit [270390] by
-
- 14 edits1 move1 delete in trunk/Source
Move code from AxisScrollSnapOffsets to ScrollSnapOffsetsInfo
https://bugs.webkit.org/show_bug.cgi?id=219345
Patch by Martin Robinson <mrobinson@igalia.com> on 2020-12-03
Reviewed by Daniel Bates.
Source/WebCore:
No new tests. This should not modify behavior.
- Headers.cmake: Remove AxisScrollSnapOffsets.h from header list.
- Sources.txt: Update source list.
- WebCore.xcodeproj/project.pbxproj: Ditto.
- page/FrameView.cpp: Update includes.
- page/scrolling/AxisScrollSnapOffsets.h: Removed.
- page/scrolling/ScrollSnapOffsetsInfo.cpp: Renamed from Source/WebCore/page/scrolling/AxisScrollSnapOffsets.cpp.
(WebCore::indicesOfNearestSnapOffsetRanges): Added from AxisScrollSnapOffsets.
(WebCore::indicesOfNearestSnapOffsets): Ditto.
(WebCore::closestSnapOffset): Ditto.
(WebCore::computeScrollSnapPortOrAreaRect): Ditto.
(WebCore::computeScrollSnapAlignOffset): Ditto.
(WebCore::operator<<): Ditto.
(WebCore::computeAxisProximitySnapOffsetRanges): Ditto.
(WebCore::updateSnapOffsetsForScrollableArea): Ditto.
- page/scrolling/ScrollSnapOffsetsInfo.h: Added functions from AxisScrollSnapOffsets.h and surrounded
this header in conditional compilation so it can be included unconditionally.
- page/scrolling/ScrollingCoordinator.h: Updated includes.
- page/scrolling/ScrollingMomentumCalculator.h: Ditto.
- platform/cocoa/ScrollSnapAnimatorState.h: Ditto.
- rendering/RenderLayer.cpp: Ditto.
Source/WebKit:
- UIProcess/RemoteLayerTree/ios/RemoteScrollingCoordinatorProxyIOS.mm: Remove AxisScrollSnapOffsets.h include.
- UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm: Ditto.
Dec 2, 2020:
- 11:58 PM Changeset in webkit [270389] by
-
- 20 edits in trunk/Source/WebCore
Determine the WheelScrollGestureState on the main thread before passing it to ScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=219481
Reviewed by Tim Horton.
Fixing webkit.org/b/218764 requires that we store state for a given series of wheel events
related to whether the "begin" event had preventDefault() called on it (i.e. was canceled).
Previously code was designed to propagate OptionSet<EventHandling> around, and use it to compute
WheelScrollGestureState in both EventHandler and ScrollingTree code. However, we can
compute WheelScrollGestureState just once in EventHandler, and pass it to ScrollingCoordinator.
To achieve this, add a bottleneck in the form of EventHandler::handleWheelEventInScrollableArea()
and before calling the ScrollableArea function (implementation of which can call ScrollingCoordinator),
compute WheelScrollGestureState from OptionSet<EventHandling>. This required making
handleWheelEventInAppropriateEnclosingBox() a member function.
- page/EventHandler.cpp:
(WebCore::EventHandler::processWheelEventForScrolling):
(WebCore::EventHandler::handleWheelEvent):
(WebCore::handleWheelEventPhaseInScrollableArea):
(WebCore::didScrollInScrollableArea):
(WebCore::EventHandler::handleWheelEventInAppropriateEnclosingBox):
(WebCore::EventHandler::handleWheelEventInScrollableArea):
(WebCore::EventHandler::updateWheelGestureState):
(WebCore::EventHandler::defaultWheelEventHandler):
(WebCore::handleWheelEventInAppropriateEnclosingBox): Deleted.
- page/EventHandler.h:
- page/FrameView.cpp:
(WebCore::FrameView::handleWheelEventForScrolling):
- page/FrameView.h:
- page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::wheelEvent):
(WebCore::EventHandler::processWheelEventForScrolling):
(WebCore::EventHandler::wheelEventWasProcessedByMainThread):
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::handleWheelEventForScrolling):
(WebCore::ScrollingCoordinator::wheelEventWasProcessedByMainThread):
- page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::handleWheelEventAfterMainThread):
(WebCore::ThreadedScrollingTree::wheelEventWasProcessedByMainThread):
- page/scrolling/ThreadedScrollingTree.h:
- page/scrolling/mac/ScrollingCoordinatorMac.h:
- page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::handleWheelEventForScrolling):
(WebCore::ScrollingCoordinatorMac::wheelEventWasProcessedByMainThread):
- page/scrolling/nicosia/ScrollingCoordinatorNicosia.cpp:
(WebCore::ScrollingCoordinatorNicosia::handleWheelEventForScrolling):
(WebCore::ScrollingCoordinatorNicosia::wheelEventWasProcessedByMainThread):
- page/scrolling/nicosia/ScrollingCoordinatorNicosia.h:
- platform/ScrollableArea.cpp:
(WebCore::ScrollableArea::handleWheelEventForScrolling):
- platform/ScrollableArea.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::handleWheelEventForScrolling):
- rendering/RenderLayer.h:
- 11:38 PM Changeset in webkit [270388] by
-
- 3 edits in trunk/Source/WebCore
Remove m_reversedOrderIteratorForHitTesting
https://bugs.webkit.org/show_bug.cgi?id=218554
Patch by Rob Buis <rbuis@igalia.com> on 2020-12-02
Reviewed by Zalan Bujtas.
Remove m_reversedOrderIteratorForHitTesting as
determining it at hit test time should not be very expensive.
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::hitTestChildren):
(WebCore::RenderFlexibleBox::layoutFlexItems):
- rendering/RenderFlexibleBox.h:
- 9:06 PM Changeset in webkit [270387] by
-
- 7 edits in trunk
Many different assertion failures on the GPU process bot after r270366
https://bugs.webkit.org/show_bug.cgi?id=219467
Reviewed by Simon Fraser.
Source/WebKit:
- WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::supportsGPUProcessRendering):
- WebProcess/WebPage/DrawingArea.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::updatePreferences):
- WebProcess/WebPage/WebPage.h:
Disable DOM rendering in the GPU process if the DrawingArea doesn't support it.
Currently only RemoteLayerTreeDrawingArea does.
Tools:
- CISupport/build-webkit-org/config.json:
Revert r270366; macOS UI-side compositing is in way too sad
of a state, the world is not ready for this yet.
- 8:59 PM Changeset in webkit [270386] by
-
- 2 edits in trunk/Source/WebKit
GPU Process: Temporarily disable Web Fonts when DOM rendering in the GPU process is enabled
https://bugs.webkit.org/show_bug.cgi?id=219479
Reviewed by Simon Fraser.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
Web fonts don't work in the GPU process yet, so disable them.
Unstyled text is better than no text.
- 8:06 PM Changeset in webkit [270385] by
-
- 5 edits in trunk/Source/WebCore
GraphicsContextGL: Remove unused platformTexture and platformGraphicsContextGL interface
https://bugs.webkit.org/show_bug.cgi?id=219461
Reviewed by Daniel Bates.
- platform/graphics/GraphicsContextGL.h:
- platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- platform/graphics/opengl/GraphicsContextGLOpenGLES.cpp:
(WebCore::GraphicsContextGLOpenGL::platformGraphicsContextGL): Deleted.
(WebCore::GraphicsContextGLOpenGL::platformTexture const): Deleted.
- platform/graphics/texmap/GraphicsContextGLTextureMapper.cpp:
(WebCore::GraphicsContextGLOpenGL::platformGraphicsContextGL const): Deleted.
(WebCore::GraphicsContextGLOpenGL::platformTexture const): Deleted.
- 7:58 PM Changeset in webkit [270384] by
-
- 2 edits in branches/safari-610-branch/Source/JavaScriptCore
Apply patch. rdar://problem/71921536
- 7:25 PM Changeset in webkit [270383] by
-
- 2 edits in branches/safari-610.3.7.0-branch/Source/JavaScriptCore
Revert "Apply patch. rdar://problem/71911423"
This reverts commit r270370.
- 6:56 PM Changeset in webkit [270382] by
-
- 2 edits in trunk/LayoutTests
[WPE] Unreviewed test gardening. Gardened several flaky timeout failures.
- platform/wpe/TestExpectations:
- 5:40 PM Changeset in webkit [270381] by
-
- 8 edits in trunk
[macOS] WebContent sandbox; remove AppleIntelMEUserClient
https://bugs.webkit.org/show_bug.cgi?id=219012
<rdar://problem/70462796>
Reviewed by Eric Carlson.
Source/WebKit:
Instead of globally extending access to the AppleIntelMEUserClient IOKit class,
only extend it when the GPU process is not in use.
- UIProcess/WebPageProxy.cpp:
(WebKit::gpuIOKitClasses): Add 'AppleIntelMEUserClient' as a dynamically-extended
IOKit class.
- WebProcess/com.apple.WebProcess.sb.in: Only allow 'AppleIntelMEUserClient' if it
was dynamically extended.
Tools:
Update the various sandboxes to allow the UIProcess to extend IOKit classes
to child processes on macOS. We already do this on iOS.
- MiniBrowser/MiniBrowser.entitlements:
- TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements:
- TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements:
- WebKitTestRunner/Configurations/WebKitTestRunner.entitlements:
- 5:08 PM Changeset in webkit [270380] by
-
- 4 edits in trunk/LayoutTests
[WPE] Unreviewed test gardening. Gardened several flaky failures.
- platform/glib/TestExpectations:
- platform/gtk/TestExpectations:
- platform/wpe/TestExpectations:
- 5:06 PM Changeset in webkit [270379] by
-
- 2 edits in trunk/LayoutTests
[macOS Debug] imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/moving-between-documents/before-prepare-* tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=219464
Unreviewed test gardening.
- platform/mac/TestExpectations: Mark tests as flaky.
- 4:55 PM Changeset in webkit [270378] by
-
- 3 edits in trunk/Tools
[webkitcorepy] Allow caller of autoinstall to specify CA file
https://bugs.webkit.org/show_bug.cgi?id=219433
<rdar://problem/71869247>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:
(AutoInstall):
(AutoInstall._request): Allow user to specify CA cert file.
(AutoInstall.set_index): Allow caller to specify CA cert file.
- 4:42 PM Changeset in webkit [270377] by
-
- 9 edits in trunk/Source
aarch64 llint does not build with JIT disabled
https://bugs.webkit.org/show_bug.cgi?id=219288
<rdar://problem/71855960>
Source/JavaScriptCore:
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-12-02
Reviewed by Darin Adler.
- assembler/ARM64Assembler.h: Rename USE(JUMP_ISLANDS) to ENABLE(JUMP_ISLANDS).
(JSC::ARM64Assembler::replaceWithJump):
(JSC::ARM64Assembler::linkJumpOrCall):
- assembler/AbstractMacroAssembler.h: Rename USE(JUMP_ISLANDS) to ENABLE(JUMP_ISLANDS).
(JSC::AbstractMacroAssembler::prepareForAtomicRepatchNearCallConcurrently):
- assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::copyCompactAndLinkCode): Guard JIT-specific code with ENABLE(JIT).
- jit/ExecutableAllocator.cpp: Rename USE(JUMP_ISLANDS) to ENABLE(JUMP_ISLANDS).
(JSC::initializeJITPageReservation):
- jit/ExecutableAllocator.h: Rename USE(JUMP_ISLANDS) to ENABLE(JUMP_ISLANDS).
Source/WTF:
Rename USE(JUMP_ISLANDS) to ENABLE(JUMP_ISLANDS), and make it depend on ENABLE(JIT). We need
it to depend on ENABLE(JIT) to fix the build, but this is awkward to do otherwise, because
USE macros are defined in PlatformUse.h before ENABLE macros in PlatformEnable.h. But it
makes sense, since USE macros should be used for "a particular third-party library or
optional OS service," and jump islands are neither, so ENABLE is more suitable anyway.
Patch by Michael Catanzaro <Michael Catanzaro> on 2020-12-02
Reviewed by Darin Adler.
- wtf/PlatformEnable.h:
- wtf/PlatformUse.h:
- 4:29 PM Changeset in webkit [270376] by
-
- 3 edits in trunk/LayoutTests
[iOS macOS] imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-perfect-negotiation.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=219460
Unreviewed test gardening.
- platform/ios/TestExpectations: Mark test as flaky.
- platform/mac/TestExpectations: Ditto.
- 3:15 PM Changeset in webkit [270375] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] Update expectations for http/wpt/service-workers/skipFetchEvent.https.html which is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=208581
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:11 PM Changeset in webkit [270374] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] fast/canvas/canvas-overflow-hidden-animation.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=219438
Unreviewed test gardening.
- platform/ios-wk2/TestExpectations:
- 3:01 PM Changeset in webkit [270373] by
-
- 5 edits3 adds in trunk
iframe with
sandbox=allow-top-navigation-by-user-activationcan navigate top frame when the user interacts with an iframe from another origin
https://bugs.webkit.org/show_bug.cgi?id=219413
<rdar://problem/64887657>
Reviewed by Geoffrey Garen.
Source/WebCore:
An iframe with
sandbox=allow-top-navigation-by-user-activationcan navigate the top frame when the user
interacts with an frame from another origin. This is not strict enough and does not match the behavior of
Chrome.
In Chrome, the user activation is only valid for the purpose of navigation if the user interacted with either:
- The iframe triggering the navigation
- A descendant iframe of the iframe triggering the navigation
- A frame from the same origin as the iframe triggering the navigation
This patch aligns our behavior with Chrome's.
Test: http/tests/security/block-top-level-navigations-by-sandboxed-iframe-with-propagated-user-gesture.html
- dom/Document.cpp:
(WebCore::Document::canNavigateInternal):
- dom/UserGestureIndicator.cpp:
(WebCore::UserGestureToken::UserGestureToken):
(WebCore::UserGestureToken::isValidForDocument const):
(WebCore::UserGestureIndicator::processingUserGesture):
- dom/UserGestureIndicator.h:
(WebCore::UserGestureToken::create):
LayoutTests:
Add layout test coverage.
- http/tests/security/block-top-level-navigations-by-sandboxed-iframe-with-propagated-user-gesture-expected.txt: Added.
- http/tests/security/block-top-level-navigations-by-sandboxed-iframe-with-propagated-user-gesture.html: Added.
- http/tests/security/resources/navigate-top-level-frame-to-failure-page-via-message-handler.html: Added.
- 3:00 PM Changeset in webkit [270372] by
-
- 1 copy in tags/Safari-610.3.7.1.6
Tag Safari-610.3.7.1.6.
- 2:57 PM Changeset in webkit [270371] by
-
- 4 edits in trunk
%TypedArray%#slice shouldn't care about source buffer detachment if there's nothing to copy
https://bugs.webkit.org/show_bug.cgi?id=219451
Reviewed by Yusuke Suzuki.
JSTests:
- test262/expectations.yaml:
Mark four test cases as passing.
Source/JavaScriptCore:
From https://tc39.es/ecma262/#sec-%typedarray%.prototype.slice:
- Let A be ? TypedArraySpeciesCreate(O, « 𝔽(count) »).
- If count > 0, then
- If IsDetachedBuffer(O.ViewedArrayBuffer) is true, throw a TypeError exception. ...
- Return A.
We had step 14.a raised above 14; this patch fixes the ordering.
- runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::genericTypedArrayViewProtoFuncSlice):
- 2:56 PM Changeset in webkit [270370] by
-
- 2 edits in branches/safari-610.3.7.0-branch/Source/JavaScriptCore
Apply patch. rdar://problem/71911423
- 2:15 PM Changeset in webkit [270369] by
-
- 2 edits in trunk/LayoutTests
[macOS] imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffer-interface/ctor-audiobuffer.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=219455
Unreviewed test gardening.
- platform/mac/TestExpectations: Mark test as flaky.
- 2:15 PM Changeset in webkit [270368] by
-
- 3 edits in trunk/LayoutTests
Unreviewed test gardening, skip two webgl tests that are frequently timing out on macOS.
- platform/mac-wk1/TestExpectations:
- platform/mac/TestExpectations:
- 1:55 PM Changeset in webkit [270367] by
-
- 3 edits3 adds in trunk
Block suspicious top level navigations by iframes even if sandbox=allow-top-navigation is specified
https://bugs.webkit.org/show_bug.cgi?id=219408
<rdar://problem/71049726>
Reviewed by Geoffrey Garen.
Source/WebCore:
Block suspicious top level navigations by iframes even if sandbox=allow-top-navigation is specified,
when the parent of the sandboxed iframe is not first-party.
Test: http/tests/security/block-top-level-navigations-by-third-party-sandboxed-iframe.html
- dom/Document.cpp:
(WebCore::Document::isNavigationBlockedByThirdPartyIFrameRedirectBlocking):
LayoutTests:
Add layout test coverage.
- http/tests/security/block-top-level-navigations-by-third-party-sandboxed-iframe-expected.txt: Added.
- http/tests/security/block-top-level-navigations-by-third-party-sandboxed-iframe.html: Added.
- http/tests/security/resources/navigate-top-level-frame-to-failure-page-via-sandboxed-iframe.html: Added.
- 1:39 PM Changeset in webkit [270366] by
-
- 2 edits in trunk/Tools
Enable UI-side compositing on the GPU Process layout tests bot
https://bugs.webkit.org/show_bug.cgi?id=219450
Reviewed by Simon Fraser.
- CISupport/build-webkit-org/config.json:
GPU Process without UI-side compositing is not a valid configuration.
- 1:03 PM Changeset in webkit [270365] by
-
- 7 edits in trunk/Tools
[webkitscmpy] Json encode Contributor
https://bugs.webkit.org/show_bug.cgi?id=217932
<rdar://problem/70462473>
Reviewed by Dewei Zhu.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/commit.py:
(Commit.Encoder.default): Use Json encoding for Contributor.
- Scripts/libraries/webkitscmpy/webkitscmpy/contributor.py:
(Contributor.Encoder): Encode Contributor object as dictionary.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py:
- Scripts/libraries/webkitscmpy/webkitscmpy/test/contributor_unittest.py:
(TestContributor.test_json_encode):
(TestContributor.test_json_decode):
- Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
- 12:33 PM Changeset in webkit [270364] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, fix the iOS build after r270362
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView createHighlightInCurrentGroupWithRange:]):
(-[WKContentView createHighlightInNewGroupWithRange:]):
- 12:16 PM Changeset in webkit [270363] by
-
- 4 edits2 deletes in trunk
Unreviewed, reverting r270339.
introduced a constantly failing test.
Reverted changeset:
"Toggling pointer-events on body does not re-enable scrolling
on child"
https://bugs.webkit.org/show_bug.cgi?id=218533
https://trac.webkit.org/changeset/270339
- 12:09 PM Changeset in webkit [270362] by
-
- 31 edits1 copy in trunk
Create and draw app highlights
https://bugs.webkit.org/show_bug.cgi?id=219365
Reviewed by Wenson Hsieh.
Source/WebCore:
Create a separate highlight register for app highlights so that there is a clear separation
with no risk of web content accessing the wrong highlights. Extend rendering to include the
app highlights with the current default settings.
- Modules/highlight/Highlight.h:
- Modules/highlight/HighlightRegister.cpp:
(WebCore::HighlightRegister::appHighlightKey):
(WebCore::HighlightRegister::addAppHighlight):
- Modules/highlight/HighlightRegister.h:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSValueKeywords.in:
- dom/Document.cpp:
(WebCore::Document::appHighlightRegister):
(WebCore::Document::collectRageDataFromRegister):
(WebCore::Document::updateHighlightPositions):
- dom/Document.h:
- dom/StaticRange.h:
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
- rendering/HighlightData.cpp:
(WebCore::rendererAfterOffset):
- rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::resolveStyleForMarkedText):
(WebCore::InlineTextBox::collectMarkedTextsForHighlights const):
- rendering/MarkedText.h:
- rendering/RenderTheme.cpp:
(WebCore::RenderTheme::platformAppHighlightColor const):
- rendering/RenderTheme.h:
- rendering/RenderThemeIOS.mm:
(WebCore::cssValueIDSelectorList):
- rendering/RenderThemeMac.h:
- rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::platformAppHighlightColor const):
(WebCore::RenderThemeMac::systemColor const):
Source/WebKit:
Handle the creation of App Highlights from selections when the context menu item is selected.
This patch will add the highlights to the Document's app Highlight register, and handle drawing
them in InlineTextBox. Later patches will handle the persistent storage and repopulation of app
highlights on launch or reload of a page.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::createAppHighlightInSelectedRange):
- UIProcess/PageClient.h:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::contextMenuItemSelected):
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView createHighlightInCurrentGroupWithRange:]):
(-[WKContentView createHighlightInNewGroupWithRange:]):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createAppHighlightInSelectedRange):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- TestWebKitAPI/Tests/WebCore/MarkedText.cpp:
(WebCore::operator<<):
- 12:07 PM Changeset in webkit [270361] by
-
- 2 edits in trunk/Tools
Remove unused JSC ARMv7 worker from EWS
https://bugs.webkit.org/show_bug.cgi?id=219444
Reviewed by Aakash Jain.
Worker igalia-jsc32-armv7-ews-03 is unused and there isn't any
plan to use it on the near future.
- CISupport/ews-build/config.json:
- 11:35 AM Changeset in webkit [270360] by
-
- 2 edits in trunk/LayoutTests
[WPE] webgl/1.0.3/conformance/rendering/multisample-corruption.html is also timing out
Unreviewed test gardening.
- platform/wpe/TestExpectations:
- 11:30 AM Changeset in webkit [270359] by
-
- 2 edits in branches/safari-610.3.7.1-branch/Source/JavaScriptCore
Apply patch. rdar://problem/70289034
- 11:29 AM Changeset in webkit [270358] by
-
- 10 edits in trunk/Tools
[webkitscmpy] Provide switch to exclude commit message
https://bugs.webkit.org/show_bug.cgi?id=219409
<rdar://problem/71866445>
Rubber-stamped by Aakash Jain.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.commit): Pass --format-short if the user is opting out of the commit message.
(Git.find): Add include_log flag, pass to commit(...) function.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn.commit): Skip network call to retrieve commit message if include_log is false.
- Scripts/libraries/webkitscmpy/webkitscmpy/program.py:
(Find.parser): Add --log and --no-log flags.
(Find.main): Allow user to skip network call to retrieve commit message.
- Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn.info): Support case were SVN cannot determine the author.
(Svn.commit): Skip network call to retrieve commit message if include_log is false.
- Scripts/libraries/webkitscmpy/webkitscmpy/scm_base.py:
(ScmBase.commit): Add include_log flag.
(ScmBase.find): Add include_log flag, pass to commit(...) function.
- Scripts/libraries/webkitscmpy/webkitscmpy/test/find_unittest.py:
(TestFind.test_no_log_svn):
(TestFind.test_no_log_git):
- Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_no_log):
- Scripts/libraries/webkitscmpy/webkitscmpy/test/svn_unittest.py:
(TestLocalSvn.test_no_log):
(TestRemoteSvn.test_no_log):
- 11:29 AM Changeset in webkit [270357] by
-
- 8 edits in branches/safari-610.3.7.1-branch/Source
Versioning.
WebKit-7610.3.7.1.6
- 11:10 AM Changeset in webkit [270356] by
-
- 3 edits in trunk/Source/WebKit
[iOS] Silence sandbox warning for unneeded sysctl-read of "hw.tbfrequency_compat"
https://bugs.webkit.org/show_bug.cgi?id=219414
<rdar://problem/71740719>
Reviewed by Per Arne Vollan.
Silence a spurious log generated when our sandbox denies access to the unused sysctl
"hw.tbfrequency_compat". I have confirmed with the framework that attempts to read this
value, and they confirm they don't need the value, and actually are not using the result
anywhere in their framework.
Let's silence this report.
- Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- 11:07 AM Changeset in webkit [270355] by
-
- 5 edits in trunk
Fix crash with performance.measure() with negative duration
https://bugs.webkit.org/show_bug.cgi?id=219418
Patch by Julian Gonzalez <julian_a_gonzalez@apple.com> on 2020-12-02
Reviewed by Alex Christensen.
Source/WebCore:
In PerformanceUserTiming::measure(), the wrong variable is used
to look up the exception to return if an invalid duration
value is provided.
Updated user-timing-apis test to catch this crash.
- page/PerformanceUserTiming.cpp:
(WebCore::PerformanceUserTiming::measure):
LayoutTests:
Add a test to verify that an Exception is thrown when
passing a negative duration to performance.measure(),
instead of a crash occurring.
- performance-api/resources/user-timing-api.js:
- performance-api/user-timing-apis-expected.txt:
- 11:05 AM Changeset in webkit [270354] by
-
- 4 edits1 add in trunk/Tools
[build.webkit.org] Add unit-tests based on new buildbot
https://bugs.webkit.org/show_bug.cgi?id=219363
Reviewed by Jonathan Bedard.
- CISupport/build-webkit-org/loadConfig_unittest.py: Drive-by fix to import loadConfig when running through runUnittests.py
- CISupport/build-webkit-org/htdigestparser.py: Adding python 3 compatibality.
- CISupport/build-webkit-org/htdigestparser_unittest.py: Adding python 3 compatibality.
- CISupport/build-webkit-org/steps_unittest.py: Added unit-tests for various steps.
(ExpectMasterShellCommand):
(BuildStepMixinAdditions):
(TestStepNameShouldBeValidIdentifier):
(TestStepNameShouldBeValidIdentifier.test_step_names_are_valid):
(TestRunBindingsTests):
(TestRunBindingsTests.test_success):
(TestRunBindingsTests.test_failure):
(TestKillOldProcesses):
(TestKillOldProcesses.test_success):
(TestKillOldProcesses.test_failure):
(TestCleanBuildIfScheduled):
(TestCleanBuildIfScheduled.test_success):
(TestCleanBuildIfScheduled.test_failure):
(TestCleanBuildIfScheduled.test_skip):
(TestInstallGtkDependencies):
(TestInstallGtkDependencies.test_success):
(TestInstallGtkDependencies.test_failure):
(TestInstallWpeDependencies):
(TestInstallWpeDependencies.test_success):
(TestInstallWpeDependencies.test_failure):
(TestCompileWebKit):
(TestCompileWebKit.test_success):
(TestCompileWebKit.test_success_gtk):
(TestCompileWebKit.test_success_wpe):
(TestCompileWebKit.test_failure):
(TestCompileJSCOnly):
(TestCompileJSCOnly.test_success):
(TestCompileJSCOnly.test_failure):
- 10:56 AM Changeset in webkit [270353] by
-
- 2 edits in trunk/Source/WebKit
Entire image elements are sometimes selected after ending a image extraction interaction
https://bugs.webkit.org/show_bug.cgi?id=219435
<rdar://problem/71897557>
Reviewed by Megan Gardner.
If the image extraction interaction is currently active, regular text interactions may need to defer to these
image extraction interactions. See WebKitAdditions changes for more details.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView hasSelectablePositionAtPoint:]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):
- 10:47 AM Changeset in webkit [270352] by
-
- 3 edits in trunk/Source/WebCore
Fix for accessibility layout tests involving ranges in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=219436
Reviewed by Chris Fleizach.
Tests:
accessibility/mac/bounds-for-range.html
accessibility/misspelling-range.html
- Implementation of AXIsolatedObject::boundsForRange and misspellingRange.
- Fix for bug in stringForRange that wasn't isolatedCopying the returned
string. Also this method should not dispatch the call to the main thread
since the caller needs to do so because it is passing a SimpleRange as a
parameter.
- Implementation of AXIsolatedObject::lineForPosition. Other methods
that take or return VisiblePositions and VisiblePositionRanges need also
to be implemented.
- accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::stringForRange const):
(WebCore::AXIsolatedObject::boundsForRange const):
(WebCore::AXIsolatedObject::misspellingRange const):
(WebCore::AXIsolatedObject::lineForPosition const):
- accessibility/isolatedtree/AXIsolatedObject.h:
- 10:36 AM Changeset in webkit [270351] by
-
- 868 edits4 copies18 moves147 adds19 deletes in trunk
- 9:30 AM Changeset in webkit [270350] by
-
- 3 edits in trunk/Source/WebKit
Context menu should be shown after a long timeout following image extraction
https://bugs.webkit.org/show_bug.cgi?id=219415
<rdar://problem/71872600>
Reviewed by Andy Estes.
Ensures that the context menu can still be shown when triggering an image extraction gesture. To do this, we
add a new long press gesture recognizer with a much longer delay. See WebKitAdditions patch for more details.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView _doAfterPendingImageExtraction:]):
(-[WKContentView _invokeAllActionsToPerformAfterPendingImageExtraction]):
Drive-by fix: move a couple of methods out of WebKitAdditions and into non-internal source.
- 9:05 AM Changeset in webkit [270349] by
-
- 6 edits in trunk/Tools
[webkitscmpy] Handle adding, modifying and deleting files on branches
https://bugs.webkit.org/show_bug.cgi?id=219432
<rdar://problem/71894089>
Rubber-stamped by Aakash Jain.
Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/local/svn.py:
(Svn._branch_for): Support branch detection when files are added or deleted.
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
(Svn.init):
- Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/svn.py:
(Svn.request):
- Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py:
(Svn._branch_for): Support branch detection when files are deleted.
- 8:39 AM Changeset in webkit [270348] by
-
- 4 edits in trunk/Tools
Switch EWS workers for JSC-ARMv7-32bits build and test queues to a new machine.
https://bugs.webkit.org/show_bug.cgi?id=219189
Reviewed by Aakash Jain.
This switches the workers for the JSC-ARMv7-32bits-Build-EWS and
JSC-ARMv7-32bits-Test-EWS queues to a new ARM server that will run
things faster than the previous combination of cross-builder + RPis
Since now the tets run natively there is no need for passing the
"--remote-config-file" switch to the run-javascriptcore-tests script.
However "--memory-limited" is still needed because the issues with
failures on memory intensive tests happen on all Linux machines.
So the check to pass this flag is generalized like we do for all
Linux ports on the build.webkit.org buildbot config.
- CISupport/ews-build/config.json:
- CISupport/ews-build/steps.py:
(RunJavaScriptCoreTests.start):
- CISupport/ews-build/steps_unittest.py:
(TestRunJavaScriptCoreTests.test_remote_success):
(TestRunJavaScriptCoreTests.test_dfg_air_and_stress_test_failure):
(TestReRunJavaScriptCoreTests.test_remote_success):
- 8:05 AM Changeset in webkit [270347] by
-
- 6 edits in trunk/Source/WebCore
Optimize padding in EventHandler and platform event classes
https://bugs.webkit.org/show_bug.cgi?id=219420
Reviewed by Ryosuke Niwa.
Organize the member variables in EventHandler a bit better, to minimize padding
and avoid redundant #ifdefs. This shrinks it from 632 bytes to 576 bytes.
Minimize padding in the Platform*Event classes.
- page/EventHandler.h:
- platform/PlatformEvent.h:
(WebCore::PlatformEvent::PlatformEvent):
- platform/PlatformKeyboardEvent.h:
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
- platform/PlatformMouseEvent.h:
(WebCore::PlatformMouseEvent::PlatformMouseEvent):
- platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::m_wheelTicksY):
(WebCore::PlatformWheelEvent::m_granularity): Deleted.
- 7:46 AM Changeset in webkit [270346] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION: [iOS] imported/w3c/web-platform-tests/css/css-ui/appearance-revert-001.tentative.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=219410
<rdar://problem/71868276>
Reviewed by Wenson Hsieh.
The flaky failure started appearing after r270065, which introduced a
new look for progress bars when the iOSFormControlRefresh setting is
enabled. Animated indeterminate progress bars were added as part of the
new appearance.
However, since the setting is disabled by default, there should have
been no effect on existing tests. r270065 omitted an early return in
RenderThemeIOS::animationRepeatIntervalForProgressBar, which would
lead to the existing progress bar being repainted 30 times per second.
This repainting is the likely cause of the flaky image failure.
Furthermore, this test uses a determinate progress bar, so repainting
due to animation should never occur, regardless of whether or not the
iOSFormControlRefresh setting is enabled. To fix the incorrect behavior,
a change was made to RenderProgress::updateAnimationState.
- rendering/RenderProgress.cpp:
(WebCore::RenderProgress::updateAnimationState):
Only indeterminate progress bars have an animation.
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::animationRepeatIntervalForProgressBar const):
Use the original value if the iOSFormControlRefresh setting is disabled.
- 6:44 AM Changeset in webkit [270345] by
-
- 2 edits in trunk/Tools
Add Tetsuharu Ohzeki to contributors.json
https://bugs.webkit.org/show_bug.cgi?id=219429
Patch by Tetsuharu Ohzeki <Tetsuharu Ohzeki> on 2020-12-02
Reviewed by Jonathan Bedard.
- Scripts/webkitpy/common/config/contributors.json:
- 2:43 AM Changeset in webkit [270344] by
-
- 12 edits1 add in trunk
[WASM-References] Add support for active mods in element section
https://bugs.webkit.org/show_bug.cgi?id=219192
Patch by Dmitry Bezhetskov <dbezhetskov> on 2020-12-02
Reviewed by Yusuke Suzuki.
JSTests:
Fix builder dsl to produce the right element section.
It produces correct wasm code for the previous spec and for the ref-types spec because the core spec is binary compatible with the ref-types.
https://webassembly.github.io/reference-types/core/binary/modules.html#element-section.
Added basic tests for the element section.
- wasm/Builder.js:
(export.default.Builder.prototype._registerSectionBuilders.const.section.in.WASM.description.section.switch.section.case.string_appeared_here.this.section):
- wasm/Builder_WebAssemblyBinary.js:
(const.emitters.Element):
- wasm/references-spec-tests/ref_null.js:
(module):
- wasm/references/element_active_mod.js: Added.
(module):
(basicTest):
(refNullExternInElemsSection):
- wasm/references/element_parsing.js:
- wasm/references/multitable.js:
Source/JavaScriptCore:
Adjust wasm parser to parse new form of element section.
https://webassembly.github.io/reference-types/core/binary/modules.html#element-section.
- wasm/WasmEntryPlan.cpp:
(JSC::Wasm::EntryPlan::prepare):
- wasm/WasmFormat.h:
(JSC::Wasm::Element::Element):
(JSC::Wasm::Element::active const):
- wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseElement):
(JSC::Wasm::SectionParser::validateElementTableIdx):
(JSC::Wasm::SectionParser::parseI32InitExpr):
(JSC::Wasm::SectionParser::parseElemKind):
(JSC::Wasm::SectionParser::parseIndexCountForElemSection):
(JSC::Wasm::SectionParser::parseFuncIdxFromRefExpForElemSection):
(JSC::Wasm::SectionParser::parseFuncIdxForElemSection):
- wasm/WasmSectionParser.h:
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::evaluate):