Timeline
Jun 28, 2019:
- 10:09 PM Changeset in webkit [246949] by
-
- 3 edits in trunk/Source/WebKit
Revise WebContent sandbox based on seed feedback
https://bugs.webkit.org/show_bug.cgi?id=199339
<rdar://problem/49609201>
Reviewed by Alexey Proskuryakov.
Unblock syscall needed by CoreText.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- WebProcess/com.apple.WebProcess.sb.in:
- 8:48 PM Changeset in webkit [246948] by
-
- 8 edits in trunk/Source
iOS WebKit2 find-in-page indicator doesn't move with 'overflow: scroll'
https://bugs.webkit.org/show_bug.cgi?id=175032
<rdar://problem/29346482>
Reviewed by Wenson Hsieh.
Source/WebCore:
- editing/FrameSelection.cpp:
(WebCore::FrameSelection::selectionBounds const):
(WebCore::FrameSelection::revealSelection):
- editing/FrameSelection.h:
Make selectionBounds' clipToVisibleContent param an enum class.
- page/TextIndicator.cpp:
(WebCore::initializeIndicator):
Save the un-clipped selection rect; otherwise we'll frequently save 0, 0
here when finding a match that is off-screen.
Source/WebKit:
- WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::drawRect):
(WebKit::FindController::didScrollAffectingFindIndicatorPosition):
Adopt the macOS code that notices that the find highlight doesn't match
its original position, but instead of hiding the highlight like we do on macOS,
update it. We do this asynchronously to avoid mutating the layer tree
in the middle of painting, which is not /truly/ unsafe, but definitely
non-ideal and causes fun flashes.
- WebProcess/WebPage/FindController.h:
- WebProcess/WebPage/ios/FindControllerIOS.mm:
(WebKit::FindController::updateFindIndicator):
Store m_findIndicatorRect when updating the indicator, just like we do on macOS.
- 4:35 PM Changeset in webkit [246947] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed build fix attempt after r246928.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _closeAllMediaPresentations]):
- 4:19 PM Changeset in webkit [246946] by
-
- 8 edits3 adds in trunk
Add b3 macro lowering for CheckMul on arm64
https://bugs.webkit.org/show_bug.cgi?id=199251
Reviewed by Robin Morisset.
JSTests:
- microbenchmarks/check-mul-constant.js: Added.
(doTest):
- microbenchmarks/check-mul-no-constant.js: Added.
(doTest):
- microbenchmarks/check-mul-power-of-two.js: Added.
(doTest):
Source/JavaScriptCore:
- Lower CheckMul for 32-bit arguments on arm64 into a mul and then an overflow check.
- Add a new opcode to air on arm64 for smull (multiplySignExtend32).
- Fuse sign extend 32 + mul into smull (taking two 32-bit arguments and producing 64 bits).
- 1.25x speedup on power of two microbenchmark, 1.15x speedup on normal constant microbenchmark, and no change on the no-constant benchmark.
Also, skip some of the b3 tests that were failing before this patch so that the new tests can run
to completion.
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::multiplySignExtend32):
- assembler/testmasm.cpp:
(JSC::testMul32SignExtend):
(JSC::run):
- b3/B3LowerMacros.cpp:
- b3/B3LowerToAir.cpp:
- b3/air/AirOpcode.opcodes:
- b3/testb3.cpp:
(JSC::B3::testMulArgs32SignExtend):
(JSC::B3::testMulImm32SignExtend):
(JSC::B3::testMemoryFence):
(JSC::B3::testStoreFence):
(JSC::B3::testLoadFence):
(JSC::B3::testPinRegisters):
(JSC::B3::run):
- 3:50 PM Changeset in webkit [246945] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
unable to build WebRTC for iOS Simulator
https://bugs.webkit.org/show_bug.cgi?id=199337
<rdar://problem/52020841>
Reviewed by Tim Horton.
Run the compiled yasm with DYLD_ROOT_PATH=/
in order to convince dyld that it can load
the simulator binary on macOS.
- libwebrtc.xcodeproj/project.pbxproj:
- 3:48 PM Changeset in webkit [246944] by
-
- 2 edits in trunk/Tools
Adding myself as a reviewer in contributors.json.
- 3:27 PM Changeset in webkit [246943] by
-
- 3 edits2 adds in trunk
[Text autosizing][iPadOS] bing.com is hard to read even with boosted text because of the line height
https://bugs.webkit.org/show_bug.cgi?id=199318
<rdar://problem/51826096>
Reviewed by Wenson Hsieh.
Source/WebCore:
Initial implementation of line height boosting on iPadOs. It enlarges line height in certain cases to improve readability when the text content feels too dense.
It kicks in only for relatively small text (12px) where it slightly (1.25x) changes the line height to widen the gap between lines.
- css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyleForTextAutosizing):
LayoutTests:
- fast/text-autosizing/ios/idempotentmode/line-height-boosting-expected.txt: Added.
- fast/text-autosizing/ios/idempotentmode/line-height-boosting.html: Added.
- 3:24 PM Changeset in webkit [246942] by
-
- 2 edits in trunk/Source/WebCore
Make getHostnamesWithCookies more robust
https://bugs.webkit.org/show_bug.cgi?id=199334
<rdar://problem/51860593>
Patch by Alex Christensen <achristensen@webkit.org> on 2019-06-28
Reviewed by Brent Fulgham.
Crash logs suggest either httpCookies is returning a nil cookie or a cookie without a domain.
This should not happen, but if it does we shouldn't crash.
- platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::NetworkStorageSession::getHostnamesWithCookies):
- 3:21 PM Changeset in webkit [246941] by
-
- 5 edits in trunk/Source/WebCore
AX: Both convertToNSArray() functions in WebAccessibilityObjectWrapperBase.mm leak every NSMutableArray returned
https://bugs.webkit.org/show_bug.cgi?id=199306
Reviewed by David Kilzer.
Stop leaking every instance of convertToNSArray and return an autoreleased version.
Remove unneeded casts.
- accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityFindMatchingObjects:]):
- accessibility/mac/WebAccessibilityObjectWrapperBase.h:
- accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(convertToNSArray):
- accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper childrenVectorArray]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
- 3:18 PM Changeset in webkit [246940] by
-
- 2 edits in trunk/Source/WebCore
Followup to r246931
https://bugs.webkit.org/show_bug.cgi?id=199331
Reviewed by Tim Horton.
Extend the site-specific quirk added in r246931 to *.sharepoint.com, so that it fixes Word for enterprise
customers as well.
- page/Quirks.cpp:
(WebCore::Quirks::shouldAvoidResizingWhenInputViewBoundsChange const):
- 2:53 PM Changeset in webkit [246939] by
-
- 5 edits in trunk/Source/WebKit
Protect NetworkProcess::m_swServers from bad session IDs
https://bugs.webkit.org/show_bug.cgi?id=199298
<rdar://problem/51859081>
Reviewed by Chris Dumez.
Protect NetworkProcess from receiving bad session IDs in service worker code path by checking for session ID validity whenever interacting with the map.
One of the check is done in WebProcess in which case, if the session ID is bad, the SW connection to NetworkProcess will not be made.
For bad session IDs, this will in that case trigger timing out of service worker operations.
For get/clear data, exit early in case of bad session ID.
Made some refactoring to remove swOriginStoreForSession method.
In the one call site where it is used, the store should already be created so we reuse existingSWOriginStoreForSession.
Added a bunch of additional ASSERTs.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::destroySession):
(WebKit::NetworkProcess::fetchWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteData):
(WebKit::NetworkProcess::deleteWebsiteDataForRegistrableDomains):
(WebKit::NetworkProcess::registrableDomainsWithWebsiteData):
(WebKit::NetworkProcess::actualPrepareToSuspend):
(WebKit::NetworkProcess::swServerForSession):
(WebKit::NetworkProcess::existingSWOriginStoreForSession const):
(WebKit::NetworkProcess::registerSWServerConnection):
- NetworkProcess/NetworkProcess.h:
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::initializeSWClientConnection):
- WebProcess/Storage/WebSWClientConnection.cpp:
(WebKit::WebSWClientConnection::WebSWClientConnection):
(WebKit::WebSWClientConnection::initializeConnectionIfNeeded):
(WebKit::WebSWClientConnection::ensureConnectionAndSend):
- 2:39 PM Changeset in webkit [246938] by
-
- 31 edits in trunk/Source
Rename effectiveAppearanceIsInactive and useInactiveAppearance to better match UIUserInterfaceLevel.
https://bugs.webkit.org/show_bug.cgi?id=199336
rdar://problem/52348938
Reviewed by Tim Horton.
Source/WebCore:
- css/StyleColor.h:
- dom/Document.cpp:
(WebCore::Document::useElevatedUserInterfaceLevel const):
(WebCore::Document::styleColorOptions const):
(WebCore::Document::useInactiveAppearance const): Deleted.
- dom/Document.h:
- page/Page.cpp:
(WebCore::Page::effectiveAppearanceDidChange):
- page/Page.h:
(WebCore::Page::useElevatedUserInterfaceLevel const):
(WebCore::Page::useInactiveAppearance const): Deleted.
- platform/ios/LocalCurrentTraitCollection.h:
(WebCore::LocalCurrentTraitCollection::usingElevatedUserInterfaceLevel const):
(WebCore::LocalCurrentTraitCollection::usingBaseLevelAppearance const): Deleted.
- platform/ios/LocalCurrentTraitCollection.mm:
(WebCore::LocalCurrentTraitCollection::LocalCurrentTraitCollection):
- rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::systemColor const):
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::setUseDarkAppearanceInternal):
Source/WebKit:
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _effectiveUserInterfaceLevelIsElevated]):
(-[WKWebView _effectiveAppearanceIsInactive]): Deleted.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/Cocoa/WebViewImpl.h:
- UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::effectiveUserInterfaceLevelIsElevated):
(WebKit::WebViewImpl::effectiveAppearanceIsInactive): Deleted.
- UIProcess/PageClient.h:
(WebKit::PageClient::effectiveUserInterfaceLevelIsElevated const):
(WebKit::PageClient::effectiveAppearanceIsInactive const): Deleted.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::useElevatedUserInterfaceLevel const):
(WebKit::WebPageProxy::effectiveAppearanceDidChange):
(WebKit::WebPageProxy::useInactiveAppearance const): Deleted.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/PageClientImplIOS.h:
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::effectiveUserInterfaceLevelIsElevated const):
(WebKit::PageClientImpl::effectiveAppearanceIsInactive const): Deleted.
- UIProcess/mac/PageClientImplMac.h:
- UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::effectiveUserInterfaceLevelIsElevated const):
(WebKit::PageClientImpl::effectiveAppearanceIsInactive const): Deleted.
- WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
(WKBundlePageSetUseDarkAppearance):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_shrinkToFitContentTimer):
(WebKit::WebPage::effectiveAppearanceDidChange):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]):
(-[WebView _setUseDarkAppearance:]):
(-[WebView _useElevatedUserInterfaceLevel]):
(-[WebView _setUseElevatedUserInterfaceLevel:]):
(-[WebView _setUseDarkAppearance:useInactiveAppearance:]):
(-[WebView _setUseDarkAppearance:useElevatedUserInterfaceLevel:]):
(-[WebView _effectiveUserInterfaceLevelIsElevated]):
(-[WebView viewDidChangeEffectiveAppearance]):
(-[WebView _useInactiveAppearance]): Deleted.
(-[WebView _setUseInactiveAppearance:]): Deleted.
(-[WebView _effectiveAppearanceIsInactive]): Deleted.
- WebView/WebViewPrivate.h:
- 2:01 PM Changeset in webkit [246937] by
-
- 3 edits2 adds in tags/Safari-608.1.32.1
Cherry-pick r246835. rdar://problem/51787961
[ContentChangeObserver] Dispatch synthetic mouse event asynchronously in completePendingSyntheticClickForContentChangeObserver
https://bugs.webkit.org/show_bug.cgi?id=199220
<rdar://problem/51787961>
Reviewed by Simon Fraser.
Source/WebKit:
WebPage::completePendingSyntheticClickForContentChangeObserver should not dispatch mouse events synchronously.
Mouse events, through style updates could destroy the element that initiated this change.
WebPage::handleSyntheticClick() already implements this pattern.
- WebProcess/WebPage/ios/WebPageIOS.mm: (WebKit::WebPage::completePendingSyntheticClickForContentChangeObserver):
LayoutTests:
- fast/events/touch/ios/content-observation/animation-end-with-visiblity-change-crash-expected.txt: Added.
- fast/events/touch/ios/content-observation/animation-end-with-visiblity-change-crash.html: Added.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246835 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:01 PM Changeset in webkit [246936] by
-
- 3 edits in tags/Safari-608.1.32.1/Source/WebKit
Cherry-pick r246901. rdar://problem/52202948
Regression(r246526): StorageManager thread hangs
https://bugs.webkit.org/show_bug.cgi?id=199278
<rdar://problem/52202948>
Reviewed by Geoffrey Garen.
r246526 adds a lock m_localStorageNamespacesMutex to protect m_localStorageNamespaces, because
m_localStorageNamespaces is destroyed at main thread while accesses to m_localStorageNamespaces happen in the
background thread.
After r246526, getOrCreateLocalStorageNamespace acquires lock m_localStorageNamespacesMutex when
m_localStorageNamespacesMutex is already acquired in cloneSessionStorageNamespace, so the StorageManager thread
hangs.
To solve this issue, we can remove the lock in getOrCreateLocalStorageNamespace, or we can remove the
m_localStorageNamespacesMutex. waitUntilWritesFinished() before ~StorageManager() already guarantees nothing
will be running in the background thread, so it is unlikely we the access to m_localStorageNamespaces in the
background thread would collide with the destruction of m_localStorageNamespaces. Also, we don't need
didDestroyStorageArea as LocalStorageNamespace can hold the last reference of StorageArea after r245881.
- NetworkProcess/WebStorage/StorageManager.cpp: (WebKit::StorageManager::StorageArea::StorageArea): (WebKit::StorageManager::StorageArea::~StorageArea): (WebKit::StorageManager::LocalStorageNamespace::LocalStorageNamespace): (WebKit::StorageManager::cloneSessionStorageNamespace): (WebKit::StorageManager::getLocalStorageOrigins): (WebKit::StorageManager::deleteLocalStorageEntriesForOrigin): (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince): (WebKit::StorageManager::deleteLocalStorageEntriesForOrigins): (WebKit::StorageManager::getOrCreateLocalStorageNamespace): (WebKit::StorageManager::LocalStorageNamespace::didDestroyStorageArea): Deleted.
- NetworkProcess/WebStorage/StorageManager.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 2:01 PM Changeset in webkit [246935] by
-
- 2 edits in tags/Safari-608.1.32.1/Source/WebKit
Cherry-pick r246859. rdar://problem/51554509
[iPadOS] Fix another crash in -[UIPreviewTarget initWithContainer:center:transform:] when generating a fallback targeted preview
https://bugs.webkit.org/show_bug.cgi?id=199243
<rdar://problem/51554509>
Reviewed by Tim Horton.
Additionally make createFallbackTargetedPreview robust in the case where the content view is unparented, and
rename _ensureTargetedPreview to _createTargetedPreviewIfPossible, to reflect the fact that it may now return
nil.
- UIProcess/ios/WKContentViewInteraction.mm: (createTargetedPreview): (createFallbackTargetedPreview): (-[WKContentView _createTargetedPreviewIfPossible]): (-[WKContentView contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]): (-[WKContentView contextMenuInteraction:previewForDismissingMenuWithConfiguration:]): (-[WKContentView _ensureTargetedPreview]): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246859 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:23 PM Changeset in webkit [246934] by
-
- 5 edits in trunk/Source/WebCore
REGRESSION (r239984): pages with custom scrollbars also show normal scrollbars
https://bugs.webkit.org/show_bug.cgi?id=199321
<rdar://problem/52308095>
Reviewed by Timothy Hatcher.
Revert the part of r239984 that made isCustomScrollbar() virtual, since theme().registerScrollbar()
calls it from the base class constructor.
I wasn't able to make a test that tests rendering of overlay scrollbars (webkit.org/b/199323).
- platform/Scrollbar.cpp:
(WebCore::Scrollbar::Scrollbar):
- platform/Scrollbar.h:
(WebCore::Scrollbar::isCustomScrollbar const):
- rendering/RenderScrollbar.cpp:
(WebCore::RenderScrollbar::RenderScrollbar):
- rendering/RenderScrollbar.h:
- 1:15 PM Changeset in webkit [246933] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed maccatalyst build fix; add ENABLE(FULLSCREEN) checks around calls to fullScreenManager().
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _closeAllMediaPresentations]):
- 1:14 PM Changeset in webkit [246932] by
-
- 7 edits in trunk/Source/WebKit
macCatalyst: Selected range sometimes wrong after autocorrection
https://bugs.webkit.org/show_bug.cgi?id=199299
<rdar://problem/49717224>
Reviewed by Wenson Hsieh.
- UIProcess/Cocoa/TextCheckingController.h:
- UIProcess/Cocoa/TextCheckingController.mm:
(WebKit::TextCheckingController::replaceRelativeToSelection):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView replaceSelectionOffset:length:withAnnotatedString:relativeReplacementRange:]):
Plumb the whole relative replacement range through to the Web Content process.
- WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.h:
- WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.messages.in:
- WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:
(WebKit::TextCheckingControllerProxy::replaceRelativeToSelection):
Only replace the text of the substring that changed (the replacement range),
and fix up the selection offset math (it was really just wrong before).
- 1:12 PM Changeset in webkit [246931] by
-
- 11 edits in trunk/Source
Need a way for SPI clients to know when to avoid resizing to accommodate for the input view bounds
https://bugs.webkit.org/show_bug.cgi?id=199331
<rdar://problem/52116170>
Reviewed by Tim Horton.
Source/WebCore:
Add a new quirk to avoid resizing the web view when input view bounds change.
- page/Quirks.cpp:
(WebCore::Quirks::shouldAvoidResizingWhenInputViewBoundsChange const):
- page/Quirks.h:
Source/WebKit:
Expose new SPI, such that clients may check whether to avoid resizing the web view when changing input view
bounds. In particular, resizing the web view in this case causes toolbar menus in Microsoft Word online to
dismiss immediately after opening them, due to resize events fired as a result of the input view dismissing.
- Shared/FocusedElementInformation.cpp:
(WebKit::FocusedElementInformation::encode const):
(WebKit::FocusedElementInformation::decode):
- Shared/FocusedElementInformation.h:
Add a new flag to FocusedElementInformation to indicate whether we should avoid resizing the web view when an
input view is presented.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _shouldAvoidResizingWhenInputViewBoundsChange]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _elementDidBlur]):
Reset the value of the flag.
(-[WKContentView _shouldAvoidResizingWhenInputViewBoundsChange]):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getFocusedElementInformation):
- 1:00 PM Changeset in webkit [246930] by
-
- 7 edits in tags/Safari-608.1.32.1/Source
Versioning.
- 11:20 AM Changeset in webkit [246929] by
-
- 1 copy in tags/Safari-608.1.32.1
New tag.
- 10:39 AM Changeset in webkit [246928] by
-
- 10 edits1 add in trunk
Add new -[WKWebView _closeAllMediaPresentations] SPI
https://bugs.webkit.org/show_bug.cgi?id=199294
<rdar://problem/51965958>
Reviewed by Alex Christensen.
Source/WebKit:
Add a new SPI that will close all out-of-window media presentations, including
picture-in-picture, video fullscreen, and element fullscreen.
Drive-by fixes:
+ -[WKApplicationStateTrackingView didMoveToWindow] incorrectly assumes that a WKWebView will
never be moved frome one window to another, and asserts.
+ -[WKFullScreenWindowController close] doesn't fire the correct 'webkitfullscreenchange' event
when called in the middle of animating into fullscreen.
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _closeAllMediaPresentations]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
- UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
(WebKit::VideoFullscreenManagerProxy::forEachSession):
- UIProcess/ios/WKApplicationStateTrackingView.mm:
(-[WKApplicationStateTrackingView didMoveToWindow]):
- UIProcess/mac/WKFullScreenWindowController.h:
- UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController exitFullScreenImmediately]):
(-[WKFullScreenWindowController close]):
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/WKWebViewCloseAllMediaPresentations.mm: Added.
(TEST):
- 10:35 AM Changeset in webkit [246927] by
-
- 3 edits1 add in trunk/Tools
Add a regression test for change r246901
https://bugs.webkit.org/show_bug.cgi?id=199290
Reviewed by Geoffrey Garen.
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:
(-[LocalStorageNavigationDelegate webView:createWebViewWithConfiguration:forNavigationAction:windowFeatures:]):
(TEST):
- TestWebKitAPI/Tests/WebKitCocoa/localstorage-open-window-private.html: Added.
- 10:12 AM Changeset in webkit [246926] by
-
- 5 edits in trunk/Source/WebKit
[iOS Scrolling] Propagate scrolls to non-nested UIScrollViews
https://bugs.webkit.org/show_bug.cgi?id=199222
Reviewed by Simon Fraser.
We may generate scrolling hierarchies where the scrolling ancestor of a layer is not
an ancestor in the layer tree. We handle this in most situations but there is still
a problem where a scroller fails to propage scroll to the ancestor when it reaches
the edge.
This patch hooks up a new SPI that allows us to tell UIKit about non-ancestor scrolling
relations and solve this problem.
- UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.h:
- UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:
(WebKit::findActingScrollParent):
- UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:
- UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.mm:
(-[WKScrollingNodeScrollViewDelegate _actingParentScrollViewForScrollView:]):
Hook into UIKit SPI.
(WebKit::ScrollingTreeScrollingNodeDelegateIOS::findActingScrollParent):
- 9:00 AM Changeset in webkit [246925] by
-
- 28 edits1 delete in trunk
Remove traces of ENABLE_ICONDATABASE remaining after its removal in 219733
https://bugs.webkit.org/show_bug.cgi?id=199317
Reviewed by Michael Catanzaro.
While IconDatabase and all code using it was removed,
ENABLE_ICONDATABASE still exists as build option and C++ macro.
.:
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsPlayStation.cmake:
- Source/cmake/OptionsWin.cmake:
- Source/cmake/WebKitFeatures.cmake:
- Source/cmake/tools/vsprops/FeatureDefines.props:
- Source/cmake/tools/vsprops/FeatureDefinesCairo.props:
PerformanceTests:
- StitchMarker/wtf/FeatureDefines.h:
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
- Configurations/FeatureDefines.xcconfig:
- Resources/urlIcon.png: Removed file which was only used in
IconDatabase.cpp.
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
- PlatformGTK.cmake: Remove reference to unused urlIcon.png file.
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig:
- WebView/WebView.mm:
(-[WebView _cacheFrameLoadDelegateImplementations]): Use PLATFORM(MAC)
guard instead of ENABLE_ICONDATABASE, because ENABLE_ICONDATABASE was
enabled for macOS only.
Source/WTF:
- wtf/FeatureDefines.h:
Tools:
- Scripts/webkitperl/FeatureList.pm:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- gtk/manifest.txt.in: Remove reference to unused urlIcon.png file.
- wpe/manifest.txt.in: Remove reference to unused urlIcon.png file.
- 7:48 AM Changeset in webkit [246924] by
-
- 9 edits in trunk
-[WKContentView _selectionClipRects] returns a bogus value in -reloadInputViews when focusing an element
https://bugs.webkit.org/show_bug.cgi?id=199310
<rdar://problem/52292137>
Reviewed by Megan Gardner.
Source/WebKit:
When reloading input views under -_elementDidFocus:, -_selectionClipRect returns the value of the previously
focused element; this is because _selectionClipRect depends on EditorState's post layout data, which is only
guaranteed to arrive during the next remote layer tree commit after the element is focused.
However, some clients need to inspect this value under the call to -reloadInputViews when an element is focused;
to make this work, simply check whether we are currently waiting for post-layout EditorState data to arrive
following element focus; if so, return the FocusedElementInformation's elementRect, which represents the initial
state of the focused element. Otherwise, use the EditorState's post layout data, which is guaranteed to be more
up-to-date than the FocusedElementInformation's element rect.
Test: KeyboardInputTests.SelectionClipRectsWhenPresentingInputView
- UIProcess/WebPageProxy.h:
(WebKit::WebPageProxy::waitingForPostLayoutEditorStateUpdateAfterFocusingElement const):
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _selectionClipRect]):
Tools:
Add a new API test to verify that _selectionClipRects returns the correct value when invoked under the scope of
_elementDidFocus.
- TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/ios/TestInputDelegate.h:
- TestWebKitAPI/Tests/ios/TestInputDelegate.mm:
(-[TestInputDelegate setDidStartInputSessionHandler:]):
(-[TestInputDelegate didStartInputSessionHandler]):
Add plumbing for a handler block in TestInputDelegate.
(-[TestInputDelegate setWillStartInputSessionHandler:]):
Drive-by style fixes to add a space between id and < for Objective-C protocols.
(-[TestInputDelegate willStartInputSessionHandler]):
(-[TestInputDelegate _webView:willStartInputSession:]):
(-[TestInputDelegate _webView:didStartInputSession:]):
- TestWebKitAPI/cocoa/TestWKWebView.h:
- TestWebKitAPI/ios/UIKitSPI.h:
Add a declaration for _selectionClipRects.
- 12:46 AM Changeset in webkit [246923] by
-
- 2 edits in trunk/Source/WebKit
[SOUP] WebSockets: runtime critical warning when closing the connection in some cases
https://bugs.webkit.org/show_bug.cgi?id=199265
Reviewed by Michael Catanzaro.
Ensure the connection is still open before calling soup_websocket_connection_close().
- NetworkProcess/soup/WebSocketTaskSoup.cpp:
(WebKit::WebSocketTask::close):
- 12:38 AM Changeset in webkit [246922] by
-
- 2 edits in trunk/Source/WebCore
[Win] unresolved external symbol "JSC::JSObject::didBecomePrototype(void)" referenced in function "JSC::Structure::create(...)"
https://bugs.webkit.org/show_bug.cgi?id=199312
Reviewed by Keith Miller.
WinCairo port, clang-cl Release builds reported a following linkage error:
WebCore.lib(UnifiedSource-4babe430-10.cpp.obj) : error LNK2019: unresolved external symbol "public: void cdecl JSC::JSObject::didBecomePrototype(void)" (?didBecomePrototype@JSObject@JSC@@QEAAXXZ) referenced in function "public: static class JSC::Structure * cdecl JSC::Structure::create(class JSC::VM &,class JSC::JSGlobalObject *,class JSC::JSValue,class JSC::TypeInfo const &,struct JSC::ClassInfo const *,unsigned char,unsigned int)" (?create@Structure@JSC@@SAPEAV12@AEAVVM@2@PEAVJSGlobalObject@2@VJSValue@2@AEBVTypeInfo@2@PEBUClassInfo@2@EI@Z)
No new tests because there is no behavior change.
- Modules/indexeddb/server/SQLiteIDBBackingStore.cpp: Include <JavaScriptCore/JSCInlines.h>,
and do not include headers which is included by it.
Jun 27, 2019:
- 10:57 PM Changeset in webkit [246921] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed WPE build fix.
- SourcesWPE.txt: Add WebSocketTaskSoup.cpp to the build.
- 8:22 PM Changeset in webkit [246920] by
-
- 4 edits in trunk
REGRESSION(r244633): e-mail with "height: 100%" causes unstable layout.
https://bugs.webkit.org/show_bug.cgi?id=199303
<rdar://problem/51340927>
Reviewed by Tim Horton.
Source/WebCore:
This patch restores the previous behavior (pre r244633) where we intentionally reported stale content size value to
avoid unstable layout for content like height: 100px.
- page/FrameView.cpp:
(WebCore::FrameView::autoSizeIfEnabled):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/AutoLayoutIntegration.mm:
(TEST):
- 8:08 PM Changeset in webkit [246919] by
-
- 2 edits in trunk/Source/WebCore
[WinCairo][MediaFoundation] Stop using soft linking for Media Foundation
https://bugs.webkit.org/show_bug.cgi?id=198783
<rdar://problem/52301843>
Unreviewed compilation warning fix. clang-cl reports:
..\..\Source\WebCore\platform\graphics\win\MediaPlayerPrivateMediaFoundation.cpp(526,10): warning: address of function 'MFCreateTopology' will always evaluate to 'true' [-Wpointer-bool-conversion]
if (!MFCreateTopology)
~
~
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::MediaPlayerPrivateMediaFoundation::createTopologyFromSource): Removed the pointer check of MFCreateTopology.
- 7:29 PM WebKitGTK/2.24.x edited by
- (diff)
- 7:10 PM Changeset in webkit [246918] by
-
- 3 edits in trunk/Source/WebCore
[WinCairo][MediaFoundation] Stop using soft linking for Media Foundation
https://bugs.webkit.org/show_bug.cgi?id=198783
Reviewed by Alex Christensen.
WinCairo is supporting Windows 7 or newer. It doesn't need soft
linking anymore.
No new tests because there is no behavior change.
- PlatformWinCairo.cmake: Added libraries to WebCore_LIBRARIES.
- platform/graphics/win/MediaPlayerPrivateMediaFoundation.cpp:
(WebCore::mimeTypeCache):
(WebCore::MediaPlayerPrivateMediaFoundation::setRate):
(WebCore::MediaPlayerPrivateMediaFoundation::setAllChannelVolumes):
(WebCore::MediaPlayerPrivateMediaFoundation::createSession):
(WebCore::MediaPlayerPrivateMediaFoundation::endSession):
(WebCore::MediaPlayerPrivateMediaFoundation::startCreateMediaSource):
(WebCore::MediaPlayerPrivateMediaFoundation::createTopologyFromSource):
(WebCore::MediaPlayerPrivateMediaFoundation::createOutputNode):
(WebCore::MediaPlayerPrivateMediaFoundation::createSourceStreamNode):
(WebCore::MediaPlayerPrivateMediaFoundation::updateReadyState):
(WebCore::MediaPlayerPrivateMediaFoundation::videoDisplay):
(WebCore::MediaPlayerPrivateMediaFoundation::CustomVideoPresenter::createOptimalVideoType):
(WebCore::MediaPlayerPrivateMediaFoundation::VideoScheduler::setFrameRate):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::presentSample):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::initializeD3D):
(WebCore::MediaPlayerPrivateMediaFoundation::Direct3DPresenter::createD3DSample):
- 6:49 PM Changeset in webkit [246917] by
-
- 4 edits in trunk/Source/WebCore
Fix build error on WebCore when disabling ENABLE_INDEXED_DATABASE.
https://bugs.webkit.org/show_bug.cgi?id=199286
Unreviewed build fix.
- testing/Internals.cpp: Make method conditional.
- testing/Internals.h: Ditto.
- testing/Internals.idl: Ditto.
- 6:35 PM Changeset in webkit [246916] by
-
- 1 copy in tags/Safari-608.1.31.1.2
Tag Safari-608.1.31.1.2.
- 6:32 PM Changeset in webkit [246915] by
-
- 7 edits in branches/safari-608.1.31.1-branch/Source
Versioning.
- 6:19 PM Changeset in webkit [246914] by
-
- 1 copy in tags/Safari-608.1.31.0.4
Tag Safari-608.1.31.0.4.
- 6:09 PM Changeset in webkit [246913] by
-
- 6 edits in trunk/Source/WebCore
Fix crash in ScrollingStateNode::insertChild()
https://bugs.webkit.org/show_bug.cgi?id=199297
rdar://problem/49415136
Reviewed by Tim Horton.
Crash data suggest that 'parent' can be deleted in ScrollingStateTree::insertNode(). To avoid this,
have ScrollingStateTree::m_stateNodeMap store RefPts, and do the same for ScrollingTree::m_nodeMap.
- page/scrolling/ScrollingStateNode.cpp:
(WebCore::ScrollingStateNode::ScrollingStateNode): The relaxAdoptionRequirement() is required
to avoid ASSERT(!m_adoptionIsRequired) when the node is added to the tree in its constructor.
- page/scrolling/ScrollingStateTree.cpp:
(WebCore::ScrollingStateTree::unparentNode):
(WebCore::ScrollingStateTree::unparentChildrenAndDestroyNode):
(WebCore::ScrollingStateTree::detachAndDestroySubtree):
(WebCore::ScrollingStateTree::stateNodeForID const):
- page/scrolling/ScrollingStateTree.h:
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::updateTreeFromStateNode):
- page/scrolling/ScrollingTree.h:
- 6:06 PM Changeset in webkit [246912] by
-
- 4 edits in trunk/Source/WebKit
Provide overrides for UIKit's suggested actions in UIContextMenuInteraction
https://bugs.webkit.org/show_bug.cgi?id=199301
<rdar://problem/52297380>
Reviewed by Tim Horton.
We were previously wrapping the actionMenuProvider with our own block
in order to ensure the correct suggestedActions were passed to the provider.
UIKit added API for us to override the actions separately.
Unfortunately we can't quite yet get rid of our access into the
UIContextMenuConfiguration, because we still need to override the preview
handler in the case where the user does not want link previews.
- Platform/spi/ios/UIKitSPI.h:
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView continueContextMenuInteraction:]):
(-[WKContentView _contextMenuInteraction:overrideSuggestedActionsForConfiguration:]):
Implement the new delegate SPI to provide our own actions.
- 5:45 PM Changeset in webkit [246911] by
-
- 1 copy in tags/Safari-607.3.7
Tag Safari-607.3.7.
- 5:26 PM Changeset in webkit [246910] by
-
- 2 edits in trunk/Source/JavaScriptCore
FTL keepAlive()'s patchpoint should also declare that it reads HeapRange::top().
https://bugs.webkit.org/show_bug.cgi?id=199291
Reviewed by Yusuke Suzuki and Filip Pizlo.
The sole purpose of keepAlive() is to communicate to B3 that an LValue
needs to be kept alive past the last opportunity for a GC. The only way
we can get a GC is via a function call. Hence, what keepAlive() really
needs to communicate is that the LValue needs to be kept alive past the
last function call. Function calls read and write HeapRange::top().
Currently, B3 does not shuffle writes. Hence, simply inserting the
keepAlive() after the calls that can GC is sufficient.
But to be strictly correct, keepAlive() should also declare that it reads
HeapRange::top(). This will guarantee that the keepAlive patchpoint won't
ever be moved before the function call should B3 gain the ability to shuffle
writes in the future.
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::keepAlive):
- 4:49 PM Changeset in webkit [246909] by
-
- 2 edits in trunk/LayoutTests
Fix the test added in r246868 on iOS debug simulator.
- editing/pasteboard/paste-contents-with-side-effects.html:
- 4:06 PM Changeset in webkit [246908] by
-
- 3 edits2 adds in trunk
[iOS] Select all with existing range selection replaces range instead of selecting all text
https://bugs.webkit.org/show_bug.cgi?id=197950
<rdar://problem/50245131>
Reviewed by Wenson Hsieh.
Source/WebKit:
Following <rdar://problem/47333786>, UIKit now asks WebKit whether it can handle Command + A as
"select all" instead of just demanding that we handle it. So, WebKit needs to be able to correctly
tell UIKit in advance whether it can handle it. Currenlty WebKit tells UIKit it cannot handle a
"select all" whenever there is an existing range selection. So, UIKit does not tell WebKit to
perform the "select all". Moreover, since UIKit has no other means to handle this key command
itself it tells WebKit the key command was not handled. So, WebKit tells the keyboard to insert
the "a". Instead, WebKit should tell UIKit it can handle a "select all" even when this is an
existing range selection. However we need to keep the current logic just for when UIKit is
asking us with respect to populating the callout menu to not regress platform behavior.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView canPerformActionForWebView:withSender:]): Do what we do now if we are called
when populating the callout menu and action is Select All. Otherwise, return YES for the Select All
action if we have a non-empty selection.
LayoutTests:
Add a test to ensure that pressing Command + A performs a "select all" even when there
is an existing range selection.
- fast/events/ios/select-all-with-existing-selection-expected.txt: Added.
- fast/events/ios/select-all-with-existing-selection.html: Added.
- 3:03 PM Changeset in webkit [246907] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Stop using cached UITargetedPreviews from previous interactions when starting a new context menu interaction
https://bugs.webkit.org/show_bug.cgi?id=199285
<rdar://problem/52074916>
Reviewed by Tim Horton.
WKContentView was caching the UITargetedPreview created in
-contextMenuInteraction:previewForHighlightingMenuWithConfiguration: for later reuse by
-contextMenuInteraction:previewForDismissingMenuWithConfiguration:. The cached value was
then cleared in -contextMenuInteractionDidEnd:.
This was wrong, because -contextMenuInteractionDidEnd: can be called before
-contextMenuInteraction:previewForDismissingMenuWithConfiguration:, so we would clear the
cache then create and cache a new UITargetedPreview during dismissal. Then when a new
context menu interaction started, we'd reuse the targeted preview created for the previous
dismissal (which has the wrong geometry).
Stop assuming an ordering between
-contextMenuInteraction:previewForDismissingMenuWithConfiguration: and
-contextMenuInteractionDidEnd:. Instead, always create and cache a new UITargetedPreview in
-contextMenuInteraction:previewForHighlightingMenuWithConfiguration:, then reuse it and
clear the cache in -contextMenuInteraction:previewForDismissingMenuWithConfiguration:.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _createTargetedPreviewIfPossible]):
(-[WKContentView contextMenuInteraction:previewForDismissingMenuWithConfiguration:]):
(-[WKContentView contextMenuInteractionDidEnd:]):
- 2:36 PM Changeset in webkit [246906] by
-
- 2 edits in trunk/Source/WTF
Avoid using WTF::Function for passing local function pointers and closures in URLHelpers.cpp
https://bugs.webkit.org/show_bug.cgi?id=199271
Reviewed by Yusuke Suzuki.
WTF::Function allocates memory on heap, which is totally redundant in this
case.
- wtf/URLHelpers.cpp:
(WTF::URLHelpers::isSecondLevelDomainNameAllowedByTLDRules):
- 2:11 PM Changeset in webkit [246905] by
-
- 4 edits in trunk/Source
Move WebKitLegacy off of a couple AppKit ivars.
https://bugs.webkit.org/show_bug.cgi?id=199279
rdar://problem/34983438
Reviewed by Tim Horton.
Source/WebKitLegacy/mac:
- WebView/WebHTMLView.mm:
(-[NSView _setSubviewsIvar:]): Added. Implement on older systems.
(-[NSView _subviewsIvar]): Added. Ditto.
(needsCursorRectsSupportAtPoint): Use _borderView property.
(-[WebHTMLView _setAsideSubviews]): Use _subviewsIvar property.
(-[NSWindow _web_borderView]): Deleted.
Source/WTF:
- wtf/Platform.h: Added HAVE_SUBVIEWS_IVAR_SPI.
- 1:57 PM Changeset in webkit [246904] by
-
- 4 edits in trunk/LayoutTests
Layout Test fast/parser/parser-yield-timing.html was flaky due to strict tolerance, increased tolerance.
https://bugs.webkit.org/show_bug.cgi?id=199280
Patch by Russell Epstein <russell_e@apple.com> on 2019-06-27
Reviewed by Tim Horton.
- fast/parser/parser-yield-timing-expected.txt:
- fast/parser/parser-yield-timing.html:
- platform/mac-wk1/TestExpectations:
- 1:54 PM Changeset in webkit [246903] by
-
- 3 edits in branches/safari-608.1.31.0-branch/Source/WebKit
Cherry-pick r246901. rdar://problem/52202948
Regression(r246526): StorageManager thread hangs
https://bugs.webkit.org/show_bug.cgi?id=199278
<rdar://problem/52202948>
Reviewed by Geoffrey Garen.
r246526 adds a lock m_localStorageNamespacesMutex to protect m_localStorageNamespaces, because
m_localStorageNamespaces is destroyed at main thread while accesses to m_localStorageNamespaces happen in the
background thread.
After r246526, getOrCreateLocalStorageNamespace acquires lock m_localStorageNamespacesMutex when
m_localStorageNamespacesMutex is already acquired in cloneSessionStorageNamespace, so the StorageManager thread
hangs.
To solve this issue, we can remove the lock in getOrCreateLocalStorageNamespace, or we can remove the
m_localStorageNamespacesMutex. waitUntilWritesFinished() before ~StorageManager() already guarantees nothing
will be running in the background thread, so it is unlikely we the access to m_localStorageNamespaces in the
background thread would collide with the destruction of m_localStorageNamespaces. Also, we don't need
didDestroyStorageArea as LocalStorageNamespace can hold the last reference of StorageArea after r245881.
- NetworkProcess/WebStorage/StorageManager.cpp: (WebKit::StorageManager::StorageArea::StorageArea): (WebKit::StorageManager::StorageArea::~StorageArea): (WebKit::StorageManager::LocalStorageNamespace::LocalStorageNamespace): (WebKit::StorageManager::cloneSessionStorageNamespace): (WebKit::StorageManager::getLocalStorageOrigins): (WebKit::StorageManager::deleteLocalStorageEntriesForOrigin): (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince): (WebKit::StorageManager::deleteLocalStorageEntriesForOrigins): (WebKit::StorageManager::getOrCreateLocalStorageNamespace): (WebKit::StorageManager::LocalStorageNamespace::didDestroyStorageArea): Deleted.
- NetworkProcess/WebStorage/StorageManager.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:54 PM Changeset in webkit [246902] by
-
- 3 edits in branches/safari-608.1.31.1-branch/Source/WebKit
Cherry-pick r246901. rdar://problem/52202948
Regression(r246526): StorageManager thread hangs
https://bugs.webkit.org/show_bug.cgi?id=199278
<rdar://problem/52202948>
Reviewed by Geoffrey Garen.
r246526 adds a lock m_localStorageNamespacesMutex to protect m_localStorageNamespaces, because
m_localStorageNamespaces is destroyed at main thread while accesses to m_localStorageNamespaces happen in the
background thread.
After r246526, getOrCreateLocalStorageNamespace acquires lock m_localStorageNamespacesMutex when
m_localStorageNamespacesMutex is already acquired in cloneSessionStorageNamespace, so the StorageManager thread
hangs.
To solve this issue, we can remove the lock in getOrCreateLocalStorageNamespace, or we can remove the
m_localStorageNamespacesMutex. waitUntilWritesFinished() before ~StorageManager() already guarantees nothing
will be running in the background thread, so it is unlikely we the access to m_localStorageNamespaces in the
background thread would collide with the destruction of m_localStorageNamespaces. Also, we don't need
didDestroyStorageArea as LocalStorageNamespace can hold the last reference of StorageArea after r245881.
- NetworkProcess/WebStorage/StorageManager.cpp: (WebKit::StorageManager::StorageArea::StorageArea): (WebKit::StorageManager::StorageArea::~StorageArea): (WebKit::StorageManager::LocalStorageNamespace::LocalStorageNamespace): (WebKit::StorageManager::cloneSessionStorageNamespace): (WebKit::StorageManager::getLocalStorageOrigins): (WebKit::StorageManager::deleteLocalStorageEntriesForOrigin): (WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince): (WebKit::StorageManager::deleteLocalStorageEntriesForOrigins): (WebKit::StorageManager::getOrCreateLocalStorageNamespace): (WebKit::StorageManager::LocalStorageNamespace::didDestroyStorageArea): Deleted.
- NetworkProcess/WebStorage/StorageManager.h:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246901 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 1:46 PM Changeset in webkit [246901] by
-
- 3 edits in trunk/Source/WebKit
Regression(r246526): StorageManager thread hangs
https://bugs.webkit.org/show_bug.cgi?id=199278
<rdar://problem/52202948>
Reviewed by Geoffrey Garen.
r246526 adds a lock m_localStorageNamespacesMutex to protect m_localStorageNamespaces, because
m_localStorageNamespaces is destroyed at main thread while accesses to m_localStorageNamespaces happen in the
background thread.
After r246526, getOrCreateLocalStorageNamespace acquires lock m_localStorageNamespacesMutex when
m_localStorageNamespacesMutex is already acquired in cloneSessionStorageNamespace, so the StorageManager thread
hangs.
To solve this issue, we can remove the lock in getOrCreateLocalStorageNamespace, or we can remove the
m_localStorageNamespacesMutex. waitUntilWritesFinished() before ~StorageManager() already guarantees nothing
will be running in the background thread, so it is unlikely we the access to m_localStorageNamespaces in the
background thread would collide with the destruction of m_localStorageNamespaces. Also, we don't need
didDestroyStorageArea as LocalStorageNamespace can hold the last reference of StorageArea after r245881.
- NetworkProcess/WebStorage/StorageManager.cpp:
(WebKit::StorageManager::StorageArea::StorageArea):
(WebKit::StorageManager::StorageArea::~StorageArea):
(WebKit::StorageManager::LocalStorageNamespace::LocalStorageNamespace):
(WebKit::StorageManager::cloneSessionStorageNamespace):
(WebKit::StorageManager::getLocalStorageOrigins):
(WebKit::StorageManager::deleteLocalStorageEntriesForOrigin):
(WebKit::StorageManager::deleteLocalStorageOriginsModifiedSince):
(WebKit::StorageManager::deleteLocalStorageEntriesForOrigins):
(WebKit::StorageManager::getOrCreateLocalStorageNamespace):
(WebKit::StorageManager::LocalStorageNamespace::didDestroyStorageArea): Deleted.
- NetworkProcess/WebStorage/StorageManager.h:
- 1:44 PM Changeset in webkit [246900] by
-
- 2 edits in trunk/LayoutTests
REGRESSION (r246888): fast/dom/navigator-detached-no-crash.html failing on Apple High Sierra Release WK2 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=199284
Unreviewed test gardening.
- platform/mac-highsierra/fast/dom/navigator-detached-no-crash-expected.txt: Rebaseline test after r246888.
- 1:22 PM Changeset in webkit [246899] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION (r246869): ASSERTION FAILED: !renderer().hasRepaintLayoutRects() renderer().repaintLayoutRects().m_repaintRect == renderer().clippedOverflowRectForRepaint(renderer().containerForRepaint()) https://bugs.webkit.org/show_bug.cgi?id=199274
Reviewed by Zalan Bujtas.
When layer backing sharing changes, we need to clear cached repaint rects, since they
painting root changes.
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setBackingProviderLayer):
- 1:00 PM Changeset in webkit [246898] by
-
- 2 edits in trunk/LayoutTests
Layout Test fast/parser/parser-yield-timing.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=199280
Unreviewed test gardening.
Patch by Russell Epstein <russell_e@apple.com> on 2019-06-27
- platform/mac-wk1/TestExpectations:
- 12:43 PM Changeset in webkit [246897] by
-
- 2 edits in trunk/LayoutTests
pointerevents/ios/pointer-events-implicit-capture.html fails on iOS
https://bugs.webkit.org/show_bug.cgi?id=199259
Patch by Antoine Quint <Antoine Quint> on 2019-06-27
Reviewed by Dean Jackson.
The assumptions made by this test were incorrect. The "gotpointercapture" event should not be dispatched
until the next pointer event is dispatched after setting pointer capture. Even though pointer capture is
set implicitly on "pointerdown" on non-mouse devices, the event will only be fired once a "pointermove" or
"pointerup" event is dispatched.
- pointerevents/ios/pointer-events-implicit-capture.html:
- 11:43 AM Changeset in webkit [246896] by
-
- 3 edits in trunk/Source/WebKit
WebSockets: avoid data copies when queuing tasks in WebSocketChannel
https://bugs.webkit.org/show_bug.cgi?id=199262
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-06-27
Reviewed by Alex Christensen.
For IPC message handler arguments we can receive rvalue references instead of const references.
- WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::didConnect):
(WebKit::WebSocketChannel::didReceiveText):
(WebKit::WebSocketChannel::didReceiveBinaryData):
(WebKit::WebSocketChannel::didClose):
(WebKit::WebSocketChannel::didReceiveMessageError):
- WebProcess/Network/WebSocketChannel.h:
- 11:36 AM Changeset in webkit [246895] by
-
- 4 edits in trunk/Source/WebKit
Fix build after revision 246877
https://bugs.webkit.org/show_bug.cgi?id=199276
Unreviewed.
Pass protocol parameter to NetworkSocketChannel.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:webSocketTask:didOpenWithProtocol:]):
- NetworkProcess/cocoa/WebSocketTaskCocoa.h:
- NetworkProcess/cocoa/WebSocketTaskCocoa.mm:
(WebKit::WebSocketTask::didConnect):
- 11:27 AM Changeset in webkit [246894] by
-
- 1 edit in trunk/LayoutTests/ChangeLog
Unreviewed, fix test failures after r246876.
- inspector/worker/console-basic-expected.txt:
- 11:23 AM Changeset in webkit [246893] by
-
- 2 edits in trunk/LayoutTests
Unreviewed test gardening, rebaseline test after r246876.
- inspector/worker/console-basic-expected.txt:
- 11:17 AM Changeset in webkit [246892] by
-
- 106 edits2 moves in trunk
Upstream use of MACCATALYST
https://bugs.webkit.org/show_bug.cgi?id=199245
rdar://problem/51687723
Reviewed by Tim Horton.
PerformanceTests:
- MediaTime/Configurations/SDKVariant.xcconfig:
Source/bmalloc:
- Configurations/SDKVariant.xcconfig:
Source/JavaScriptCore:
- Configurations/Base.xcconfig:
- Configurations/FeatureDefines.xcconfig:
- Configurations/JavaScriptCore.xcconfig:
- Configurations/SDKVariant.xcconfig:
Source/ThirdParty/ANGLE:
- Configurations/SDKVariant.xcconfig:
Source/ThirdParty/libwebrtc:
- Configurations/SDKVariant.xcconfig:
Source/WebCore:
- Configurations/Base.xcconfig:
- Configurations/FeatureDefines.xcconfig:
- Configurations/SDKVariant.xcconfig:
- Configurations/WebCore.xcconfig:
- Modules/geolocation/ios/GeolocationPositionIOS.mm:
(WebCore::GeolocationPosition::GeolocationPosition):
- editing/cocoa/DictionaryLookup.mm:
(-[WebRevealHighlight drawHighlightContentForItem:context:]):
(WebCore::showPopupOrCreateAnimationController):
- editing/cocoa/WebContentReaderCocoa.mm:
- page/Navigator.h:
- page/SettingsBase.cpp:
(WebCore::SettingsBase::defaultContentChangeObserverEnabled):
- page/cocoa/MemoryReleaseCocoa.mm:
(WebCore::platformReleaseMemory):
- platform/audio/ios/AudioSessionIOS.mm:
(WebCore::AudioSession::setCategory):
(WebCore::AudioSession::routingContextUID const):
- platform/cocoa/ParentalControlsContentFilter.mm:
(WebCore::canHandleResponse):
- platform/graphics/avfoundation/objc/AVAssetMIMETypeCache.mm:
(WebCore::AVAssetMIMETypeCache::isAvailable const):
- platform/graphics/avfoundation/objc/AVStreamDataParserMIMETypeCache.mm:
(WebCore::AVStreamDataParserMIMETypeCache::isAvailable const):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::setShouldDisableSleep):
- platform/graphics/cv/ImageTransferSessionVT.h:
- platform/graphics/cv/ImageTransferSessionVT.mm:
(WebCore::cvPixelFormatOpenGLKey):
(WebCore::ImageTransferSessionVT::ImageTransferSessionVT):
- platform/ios/PasteboardIOS.mm:
(WebCore::Pasteboard::readPasteboardWebContentDataForType):
(WebCore::Pasteboard::supportedWebContentPasteboardTypes):
- platform/ios/PlatformPasteboardIOS.mm:
(WebCore::registerItemToPasteboard):
(WebCore::PlatformPasteboard::write):
- platform/ios/VideoFullscreenInterfaceAVKit.mm:
(-[WebAVPlayerLayer setVideoGravity:]):
- platform/ios/WebItemProviderPasteboard.mm:
(-[WebItemProviderRegistrationInfoList itemProvider]):
(-[WebItemProviderLoadResult canBeRepresentedAsFileUpload]):
(-[WebItemProviderPasteboard numberOfFiles]):
- platform/network/cf/CertificateInfoCFNet.cpp:
(WebCore::CertificateInfo::summaryInfo const):
Source/WebCore/PAL:
- Configurations/Base.xcconfig:
- Configurations/FeatureDefines.xcconfig:
- Configurations/SDKVariant.xcconfig:
- pal/spi/mac/AVFoundationSPI.h:
Source/WebInspectorUI:
- Configurations/Base.xcconfig:
- Configurations/SDKVariant.xcconfig:
Source/WebKit:
- Configurations/Base.xcconfig:
- Configurations/FeatureDefines.xcconfig:
- Configurations/Network-iOSMac.entitlements: Removed.
- Configurations/Network-macCatalyst.entitlements: Copied from Source/WebKit/Configurations/Network-iOSMac.entitlements.
- Configurations/NetworkService.xcconfig:
- Configurations/SDKVariant.xcconfig:
- Configurations/WebContent-iOSMac.entitlements: Removed.
- Configurations/WebContent-macCatalyst.entitlements: Copied from Source/WebKit/Configurations/WebContent-iOSMac.entitlements.
- Configurations/WebContentService.xcconfig:
- Configurations/WebKit.xcconfig:
- NetworkProcess/ios/NetworkProcessIOS.mm:
- NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::initializeProcess):
(WebKit::NetworkProcess::initializeProcessName):
- Platform/mac/LayerHostingContext.mm:
(WebKit::LayerHostingContext::createForExternalHostingProcess):
- Platform/spi/ios/ManagedConfigurationSPI.h:
- Platform/spi/ios/UIKitSPI.h:
- Shared/WebPreferencesDefaultValues.cpp:
(WebKit::defaultCustomPasteboardDataEnabled):
- Shared/ios/AuxiliaryProcessIOS.mm:
(WebKit::AuxiliaryProcess::initializeSandbox):
- Shared/ios/InteractionInformationAtPosition.h:
- Shared/ios/InteractionInformationAtPosition.mm:
(WebKit::InteractionInformationAtPosition::encode const):
(WebKit::InteractionInformationAtPosition::decode):
- Shared/mac/AuxiliaryProcessMac.mm:
(WebKit::enableSandboxStyleFileQuarantine):
- Shared/mac/CodeSigning.mm:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _webViewPrintFormatter]):
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
- UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::updateLayerTree):
- UIProcess/RemoteLayerTree/ios/RemoteLayerTreeViews.mm:
(-[WKRemoteView initWithFrame:contextID:]):
- UIProcess/_WKWebViewPrintFormatter.mm:
- UIProcess/_WKWebViewPrintFormatterInternal.h:
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant _elementActionForDDAction:]):
- UIProcess/ios/WKContentView.mm:
(-[WKContentView _commonInitializationWithProcessPool:configuration:]):
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _removeDefaultGestureRecognizers]):
(-[WKContentView _addDefaultGestureRecognizers]):
(-[WKContentView _showTapHighlight]):
(-[WKContentView gestureRecognizer:canBePreventedByGestureRecognizer:]):
(-[WKContentView gestureRecognizer:shouldRecognizeSimultaneouslyWithGestureRecognizer:]):
(-[WKContentView canPerformActionForWebView:withSender:]):
(-[WKContentView _defineForWebView:]):
(-[WKContentView setSelectedTextRange:]):
(-[WKContentView closestPositionToPoint:]):
(-[WKContentView _showShareSheet:inRect:completionHandler:]):
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::desktopClassBrowsingSupported):
(WebKit::desktopClassBrowsingRecommended):
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel _showDocumentPickerMenu]):
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/Cocoa/TextCheckingControllerProxy.mm:
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::dictionaryPopupInfoForRange):
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::platformEditorState const):
(WebKit::WebPage::selectWithGesture):
(WebKit::selectionPositionInformation):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::initializeSandbox):
- WebProcess/com.apple.WebProcess.sb.in:
Source/WebKitLegacy/ios:
- Misc/WebGeolocationCoreLocationProvider.mm:
(-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]):
Source/WebKitLegacy/mac:
- Configurations/Base.xcconfig:
- Configurations/FeatureDefines.xcconfig:
- Configurations/SDKVariant.xcconfig:
Source/WTF:
- Configurations/SDKVariant.xcconfig:
- wtf/FeatureDefines.h:
- wtf/Platform.h:
Tools:
- ContentExtensionTester/Configurations/SDKVariant.xcconfig:
- DumpRenderTree/mac/Configurations/SDKVariant.xcconfig:
- ImageDiff/cg/Configurations/SDKVariant.xcconfig:
- MiniBrowser/Configurations/SDKVariant.xcconfig:
- MobileMiniBrowser/Configurations/SDKVariant.xcconfig:
- Scripts/webkitpy/generate_xcfilelists_lib/generators.py:
(JavaScriptCoreGenerator):
(WebCoreGenerator):
(WebKitGenerator):
- TestWebKitAPI/Configurations/Base.xcconfig:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- TestWebKitAPI/Configurations/SDKVariant.xcconfig:
- TestWebKitAPI/Tests/WebKitCocoa/SafeBrowsing.mm:
- WebEditingTester/Configurations/SDKVariant.xcconfig:
- WebKitLauncher/Configurations/SDKVariant.xcconfig:
- WebKitTestRunner/Configurations/SDKVariant.xcconfig:
- lldb/lldbWebKitTester/Configurations/SDKVariant.xcconfig:
- 11:12 AM Changeset in webkit [246891] by
-
- 3 edits in trunk/LayoutTests
Unreviewed. Skip WebGPU tests on High Sierra since WebGPU is disabled.
- platform/mac-wk2/TestExpectations:
- platform/mac/TestExpectations:
- 11:11 AM Changeset in webkit [246890] by
-
- 2 edits in trunk/Source/WebCore
Correct document lifecycle while processing commands
https://bugs.webkit.org/show_bug.cgi?id=199146
<rdar://problem/52047462>
Reviewed by Darin Adler.
Protect the document while commands are being processed since script may run
during the style resolution. We should protect against this.
- dom/Document.cpp:
(WebCore::command):
- 10:59 AM Changeset in webkit [246889] by
-
- 2 edits in trunk/Source/WebCore
Add status for Web Bluetooth Scanning standards specification.
https://bugs.webkit.org/show_bug.cgi?id=199235
Reviewed by Joseph Pecoraro.
- features.json:
- 10:47 AM Changeset in webkit [246888] by
-
- 12 edits in trunk
Make WEBGPU enabled only on Mojave and later.
Rubber-stamped by Myles C. Maxfield.
Source/JavaScriptCore:
- Configurations/FeatureDefines.xcconfig:
Source/WebCore:
We're going to look into re-enabling it on High Sierra in:
https://bugs.webkit.org/show_bug.cgi?id=199275
- Configurations/FeatureDefines.xcconfig:
Source/WebCore/PAL:
- Configurations/FeatureDefines.xcconfig:
Source/WebKit:
- Configurations/FeatureDefines.xcconfig:
Source/WebKitLegacy/mac:
- Configurations/FeatureDefines.xcconfig:
Tools:
- TestWebKitAPI/Configurations/FeatureDefines.xcconfig:
- 10:42 AM Changeset in webkit [246887] by
-
- 2 edits in branches/safari-608.1.31.0-branch/Source/WebKit
Cherry-pick r246859. rdar://problem/51554509
[iPadOS] Fix another crash in -[UIPreviewTarget initWithContainer:center:transform:] when generating a fallback targeted preview
https://bugs.webkit.org/show_bug.cgi?id=199243
<rdar://problem/51554509>
Reviewed by Tim Horton.
Additionally make createFallbackTargetedPreview robust in the case where the content view is unparented, and
rename _ensureTargetedPreview to _createTargetedPreviewIfPossible, to reflect the fact that it may now return
nil.
- UIProcess/ios/WKContentViewInteraction.mm: (createTargetedPreview): (createFallbackTargetedPreview): (-[WKContentView _createTargetedPreviewIfPossible]): (-[WKContentView contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]): (-[WKContentView contextMenuInteraction:previewForDismissingMenuWithConfiguration:]): (-[WKContentView _ensureTargetedPreview]): Deleted.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246859 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:42 AM Changeset in webkit [246886] by
-
- 7 edits in branches/safari-608.1.31.0-branch
Revert r246853. rdar://problem/51554509
Re-integrates the content introduced when cherry-picking r246800 as r246834.
- 10:14 AM Changeset in webkit [246885] by
-
- 7 edits in branches/safari-608.1.31.0-branch/Source
Versioning.
- 9:54 AM Changeset in webkit [246884] by
-
- 4 edits3 adds in trunk
[FTW] Build JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=199254
Reviewed by Brent Fulgham.
.:
Add the FTW [For the Win(dows)] port. FTW is OS(WINDOWS) + USE(DIRECT2D) +
USE(CURL). Its eventual goal is to be the one true Windows port but to avoid
breaking AppleWin and WinCairo its being split into its own port for the interim.
- CMakeLists.txt:
- Source/cmake/OptionsFTW.cmake: Added.
Source/JavaScriptCore:
- PlatformFTW.cmake: Added.
Source/WTF:
- wtf/PlatformFTW.cmake: Added.
- 9:35 AM Changeset in webkit [246883] by
-
- 5 edits1 add in branches/safari-607-branch
Cherry-pick r246740. rdar://problem/52054323
ArraySlice needs to keep the source array alive.
https://bugs.webkit.org/show_bug.cgi?id=197374
<rdar://problem/50304429>
Reviewed by Michael Saboff and Filip Pizlo.
JSTests:
- stress/array-slice-must-keep-source-array-alive.js: Added.
Source/JavaScriptCore:
The implementation of the FTL ArraySlice intrinsics may GC while allocating the
result array and its butterfly. Previously, ArraySlice already keeps the source
butterfly alive in order to copy from it to the new butterfly after the allocation.
Unfortunately, this is not enough. We also need to keep the source array alive
so that GC will scan the values in the butterfly as well. Note: the butterfly
does not have a visitChildren() method to do this scan. It's the parent object's
responsibility to do the scanning.
This patch fixes this by introducing a keepAlive() utility method, and we use it
to keep the source array alive while allocating the result array and butterfly.
keepAlive() works by using a patchpoint to communicate to B3 that a value (the
source array in this case) is still in use. It also uses a fence to keep B3 from
relocating the patchpoint, which may defeat the fix.
For the DFG's SpeculativeJIT::compileArraySlice(), we may have lucked out and the
source array cell is kept alive. This patch makes it explicit that we should
keep its cell alive till after the result array has been allocated.
For the Baseline JIT and LLInt, we use the arrayProtoFuncSlice() runtime function
and there is no issue because the source array (in "thisObj") is in the element
copying loop that follows the allocation of the result array. However, for
documentation purposes, this patch adds a call to HeapCell::use() to indicate that
the source array need to kept alive at least until after the allocation of the
result array.
- dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileArraySlice):
- ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::compileArraySlice): (JSC::FTL::DFG::LowerDFGToB3::allocateJSArray): (JSC::FTL::DFG::LowerDFGToB3::keepAlive):
- runtime/ArrayPrototype.cpp: (JSC::arrayProtoFuncSlice):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@246740 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:10 AM Changeset in webkit [246882] by
-
- 3 edits in trunk/Tools
[ews-build] Do not print worker environment variables in each build step
https://bugs.webkit.org/show_bug.cgi?id=197319
Reviewed by Lucas Forschler.
- BuildSlaveSupport/ews-build/steps.py:
(CheckOutSource.init): Disabled logging of environment variables.
(ApplyPatch.init): Ditto.
(KillOldProcesses.init): Ditto.
(ArchiveBuiltProduct.init): Ditto.
(DownloadBuiltProduct.init): Ditto.
(ExtractBuiltProduct.init): Ditto.
(RunAPITests.init): Ditto.
- BuildSlaveSupport/ews-build/steps_unittest.py: Updated unit-tests accordingly.
- 8:38 AM Changeset in webkit [246881] by
-
- 4 edits in trunk/Source/JavaScriptCore
Use JSC_GLIB_API_ENABLED instead of USE(GLIB) as a compile-time check for GLib JSC API
https://bugs.webkit.org/show_bug.cgi?id=199270
Reviewed by Michael Catanzaro.
This change allows building code with enabled USE(GLIB) but without
GLib JSC API.
- heap/Heap.cpp:
(JSC::Heap::releaseDelayedReleasedObjects):
- heap/Heap.h:
- heap/HeapInlines.h:
- 6:45 AM Changeset in webkit [246880] by
-
- 2 edits in trunk/Source/WebKit
[GTK][WPE] Fix build non-unified builds after r246856
https://bugs.webkit.org/show_bug.cgi?id=199263
Reviewed by Michael Catanzaro.
- UIProcess/API/C/WKMessageListener.cpp: Added missing inclusion of WKAPICast.h and usage of WebKit namespace.
- 6:32 AM Changeset in webkit [246879] by
-
- 3 edits2 adds in trunk
REGRESSION (touch-action): Can't scroll vertically when touching a horizontally-scrollable element on instagram.com
https://bugs.webkit.org/show_bug.cgi?id=199268
<rdar://problem/52246473>
Reviewed by Antoine Quint.
Source/WebCore:
Test: pointerevents/ios/touch-action-region-manipulation.html
Having a restrictive touch-action value like 'pan-y' on on element and then having a descendant with
'touch-action: manipulation' computes to 'none'.
- css/StyleResolver.cpp:
(WebCore::computeEffectiveTouchActions):
For value 'manipulation' return the current effective value, similar to the reverse case above.
Set intersection should only be computed out of restrictive values (pan-x/pan-y/pinch-zoom/none).
LayoutTests:
- pointerevents/ios/touch-action-region-manipulation-expected.txt: Added.
- pointerevents/ios/touch-action-region-manipulation.html: Added.
- 1:58 AM Changeset in webkit [246878] by
-
- 2 edits in trunk/Source/WebKit
[SOUP] WebSockets: handle TLS certificate and errors
https://bugs.webkit.org/show_bug.cgi?id=199223
Reviewed by Michael Catanzaro.
Connect to accept-certificate signal on the WebSocket message connection to decide what to do in case of TLS errors.
- NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::webSocketAcceptCertificateCallback):
(WebKit::webSocketMessageNetworkEventCallback):
(WebKit::NetworkSessionSoup::createWebSocketTask):
- 1:52 AM Changeset in webkit [246877] by
-
- 12 edits1 copy1 add in trunk/Source
[SOUP] Use libsoup WebSockets API
https://bugs.webkit.org/show_bug.cgi?id=199151
Reviewed by Michael Catanzaro.
Source/WebCore:
Use createWebSocketChannel() from the provider also for libsoup when WEBKIT_USE_SOUP_WEBSOCKETS env var is set.
- Modules/websockets/ThreadableWebSocketChannel.cpp:
(WebCore::ThreadableWebSocketChannel::create):
Source/WebKit:
Use the new WebSockets code path that depends on platform specific WebSockets implementation using the libsoup
API. This is an initial implementation manually tested using the layout tests, which most of them fail due to
missing console messages, missing features in the new code path or differences in the platform
implementation. It will be disabled by default until it's feature complete compared to the internal WebKit
implementation.
- NetworkProcess/NetworkSocketChannel.cpp:
(WebKit::NetworkSocketChannel::NetworkSocketChannel): Null check m_socket before using it, because
createWebSocketTask() can return nullptr;
(WebKit::NetworkSocketChannel::didConnect): Receive the protocol accepted by the server.
(WebKit::NetworkSocketChannel::didReceiveMessageError): Something failed in the server side.
- NetworkProcess/NetworkSocketChannel.h:
- NetworkProcess/WebSocketTask.h:
- NetworkProcess/soup/NetworkSessionSoup.cpp:
(WebKit::NetworkSessionSoup::createWebSocketTask): Create a WebSocketTask.
- NetworkProcess/soup/NetworkSessionSoup.h:
- NetworkProcess/soup/WebSocketTaskSoup.cpp: Added.
(WebKit::WebSocketTask::WebSocketTask):
(WebKit::WebSocketTask::~WebSocketTask):
(WebKit::WebSocketTask::didConnect):
(WebKit::WebSocketTask::didReceiveMessageCallback):
(WebKit::WebSocketTask::didReceiveErrorCallback):
(WebKit::WebSocketTask::didFail):
(WebKit::WebSocketTask::didCloseCallback):
(WebKit::WebSocketTask::didClose):
(WebKit::WebSocketTask::sendString):
(WebKit::WebSocketTask::sendData):
(WebKit::WebSocketTask::close):
(WebKit::WebSocketTask::cancel):
(WebKit::WebSocketTask::resume):
- NetworkProcess/soup/WebSocketTaskSoup.h: Copied from Source/WebKit/NetworkProcess/WebSocketTask.h.
- SourcesGTK.txt:
- WebProcess/Network/WebSocketChannel.cpp:
(WebKit::WebSocketChannel::subprotocol): Return the protocol accepted by the server.
(WebKit::WebSocketChannel::didConnect): Set the protocol accepted by the server.
(WebKit::WebSocketChannel::didReceiveMessageError): It's now an IPC message handler and receives the reason as parameter.
(WebKit::WebSocketChannel::networkProcessCrashed): Pass empty reason.
- WebProcess/Network/WebSocketChannel.h:
- WebProcess/Network/WebSocketChannel.messages.in:
- 1:25 AM Changeset in webkit [246876] by
-
- 25 edits in trunk
Web Inspector: throw an error if console.count/console.countReset is called with an object that throws an error from toString
https://bugs.webkit.org/show_bug.cgi?id=199252
Reviewed by Joseph Pecoraro.
Source/JavaScriptCore:
Parse the arguments passed to
console.countandconsole.countResetbefore sending it to
theConsoleClientso that an error can be thrown if the first argument doesn'ttoString
nicely (e.g. without throwing an error).
Generate call stacks for
console.countResetto match otherconsolemethods. Also do this
forconsole.time,console.timeLog, andconsole.timeEnd. Limit the call stack to only
have the top frame, so no unnecessary/extra data is sent to the frontend (right now, only
the call location is displayed).
Rename
titletolabelforconsole.time,console.timeLog, andconsole.timeEndto
better match the spec.
- runtime/ConsoleClient.h:
- runtime/ConsoleObject.cpp:
(JSC::valueOrDefaultLabelString):
(JSC::consoleProtoFuncCount):
(JSC::consoleProtoFuncCountReset):
(JSC::consoleProtoFuncTime):
(JSC::consoleProtoFuncTimeLog):
(JSC::consoleProtoFuncTimeEnd):
- inspector/JSGlobalObjectConsoleClient.h:
- inspector/JSGlobalObjectConsoleClient.cpp:
(Inspector::JSGlobalObjectConsoleClient::count):
(Inspector::JSGlobalObjectConsoleClient::countReset):
(Inspector::JSGlobalObjectConsoleClient::time):
(Inspector::JSGlobalObjectConsoleClient::timeLog):
(Inspector::JSGlobalObjectConsoleClient::timeEnd):
- inspector/agents/InspectorConsoleAgent.h:
- inspector/agents/InspectorConsoleAgent.cpp:
(Inspector::InspectorConsoleAgent::startTiming):
(Inspector::InspectorConsoleAgent::logTiming):
(Inspector::InspectorConsoleAgent::stopTiming):
(Inspector::InspectorConsoleAgent::count):
(Inspector::InspectorConsoleAgent::countReset):
(Inspector::InspectorConsoleAgent::getCounterLabel): Deleted.
- inspector/ConsoleMessage.h:
- inspector/ConsoleMessage.cpp:
(Inspector::ConsoleMessage::ConsoleMessage):
AllowConsoleMessages to be created with bothScriptArgumentsand aScriptCallStack.
Source/WebCore:
Parse the arguments passed to
console.countandconsole.countResetbefore sending it to
theConsoleClientso that an error can be thrown if the first argument doesn'ttoString
nicely (e.g. without throwing an error).
Generate call stacks for
console.countResetto match otherconsolemethods. Also do this
forconsole.time,console.timeLog, andconsole.timeEnd. Limit the call stack to only
have the top frame, so no unnecessary/extra data is sent to the frontend (right now, only
the call location is displayed).
Rename
titletolabelforconsole.time,console.timeLog, andconsole.timeEndto
better match the spec.
Updated existing LayoutTests:
- inspector/console/console-count.html
- inspector/console/console-api.html
Also covered by existing WPT tests.
- inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::consoleCount):
(WebCore::InspectorInstrumentation::consoleCountReset):
(WebCore::InspectorInstrumentation::startConsoleTiming):
(WebCore::InspectorInstrumentation::logConsoleTiming):
(WebCore::InspectorInstrumentation::stopConsoleTiming):
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::consoleCountImpl):
(WebCore::InspectorInstrumentation::consoleCountResetImpl):
(WebCore::InspectorInstrumentation::startConsoleTimingImpl):
(WebCore::InspectorInstrumentation::logConsoleTimingImpl):
(WebCore::InspectorInstrumentation::stopConsoleTimingImpl):
- page/PageConsoleClient.h:
- page/PageConsoleClient.cpp:
(WebCore::PageConsoleClient::count):
(WebCore::PageConsoleClient::countReset):
(WebCore::PageConsoleClient::time):
(WebCore::PageConsoleClient::timeLog):
(WebCore::PageConsoleClient::timeEnd):
- workers/WorkerConsoleClient.h:
- workers/WorkerConsoleClient.cpp:
(WebCore::WorkerConsoleClient::count):
(WebCore::WorkerConsoleClient::countReset):
(WebCore::WorkerConsoleClient::time):
(WebCore::WorkerConsoleClient::timeLog):
(WebCore::WorkerConsoleClient::timeEnd):
- worklets/WorkletConsoleClient.h:
- worklets/WorkletConsoleClient.cpp:
(WebCore::WorkletConsoleClient::count):
(WebCore::WorkletConsoleClient::countReset):
Source/WebInspectorUI:
Add entries for
console.countResetandconsole.timeLog.
Rename
titletolabelforconsole.time,console.timeLog, andconsole.timeEndto
better match the spec.
- UserInterface/Models/NativeFunctionParameters.js:
LayoutTests:
- inspector/console/console-count.html:
- inspector/console/console-count-expected.txt:
- inspector/console/console-api-expected.txt:
- 1:19 AM Changeset in webkit [246875] by
-
- 10 edits8 adds in trunk
[WHLSL] Implement arrays and MakeArrayReference
https://bugs.webkit.org/show_bug.cgi?id=198414
Reviewed by Myles C. Maxfield.
Source/WebCore:
This patch implements WHLSL arrays. The main implementation detail is that
arrays get compiled to use Metal's array type. To make everything work, this
patch also fixes a few bugs:
- The checker now allows "operator.length" to be called on arrays. Prior to
this patch, it was just allowed on array references.
- The preserve variable lifetimes pass now looks at MakeArrayReference nodes.
Prior to this patch, it just looked at MakePointerExpression.
- We were producing the wrong type for ander arguments for indexed accesses
on array types. We were saying the argument that was produced was a reference
to an array instead of an array reference to the element type.
- The trie we compose for the reverse type hierarchy was inserting elements
into the wrong "children" vector. We were always inserting things into the
top level vector. This is wrong when we have a nesting of types > 1.
I also found a bug with having arrays of pointers when writing this patch.
Work on this will take place in a follow up: https://bugs.webkit.org/show_bug.cgi?id=199197
Tests: webgpu/whlsl-huge-array.html
webgpu/whlsl-make-array-reference.html
webgpu/whlsl-simple-arrays.html
webgpu/whlsl-two-dimensional-array.html
- Modules/webgpu/WHLSL/Metal/WHLSLFunctionWriter.cpp:
(WebCore::WHLSL::Metal::FunctionDefinitionWriter::visit):
- Modules/webgpu/WHLSL/Metal/WHLSLNativeFunctionWriter.cpp:
(WebCore::WHLSL::Metal::writeNativeFunction):
- Modules/webgpu/WHLSL/Metal/WHLSLTypeNamer.cpp:
(WebCore::WHLSL::Metal::TypeNamer::insert):
(WebCore::WHLSL::Metal::TypeNamer::emitUnnamedTypeDefinition):
- Modules/webgpu/WHLSL/Metal/WHLSLTypeNamer.h:
- Modules/webgpu/WHLSL/WHLSLChecker.cpp:
(WebCore::WHLSL::resolveByInstantiation):
(WebCore::WHLSL::Checker::visit):
- Modules/webgpu/WHLSL/WHLSLPreserveVariableLifetimes.cpp:
(WebCore::WHLSL::EscapedVariableCollector::escapeVariableUse):
- Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp:
(WebCore::WHLSL::wrapAnderCallArgument):
(WebCore::WHLSL::anderCallArgument):
- Modules/webgpu/WHLSL/WHLSLStandardLibrary.txt:
LayoutTests:
- webgpu/whlsl-huge-array-expected.txt: Added.
- webgpu/whlsl-huge-array.html: Added.
- webgpu/whlsl-make-array-reference-expected.txt: Added.
- webgpu/whlsl-make-array-reference.html: Added.
- webgpu/whlsl-simple-arrays-expected.txt: Added.
- webgpu/whlsl-simple-arrays.html: Added.
- webgpu/whlsl-two-dimensional-array-expected.txt: Added.
- webgpu/whlsl-two-dimensional-array.html: Added.
- 1:14 AM Changeset in webkit [246874] by
-
- 10 edits in trunk
[CMake] Bump cmake_minimum_required version to 3.10
https://bugs.webkit.org/show_bug.cgi?id=199181
Reviewed by Don Olmstead.
.:
- CMakeLists.txt:
Source/JavaScriptCore:
- CMakeLists.txt:
Source/WebCore:
No new tests because there is no behavior change.
- CMakeLists.txt:
Source/WebKitLegacy:
- CMakeLists.txt:
Source/WTF:
- CMakeLists.txt:
- 12:11 AM Changeset in webkit [246873] by
-
- 6 edits in trunk
[cmake] Switch to built-in handling of C++ standard instead of hardcoding -std=c++17
https://bugs.webkit.org/show_bug.cgi?id=199108
Reviewed by Don Olmstead.
Rationale:
- It provides an abstraction over exact flags of particular compilers - we just specify required version of C++ standard
- External libraries (like Qt used in WPEQt) may require particular C++ standard or even particular C++ features to be availabe (e.g. Qt requires INTERFACE_COMPILE_FEATURES cxx_decltype, which causes cmake to add -std=gnu++11 unless proper CXX_STANDARD is defined)
.:
- Source/cmake/OptionsCommon.cmake:
- Source/cmake/OptionsMSVC.cmake:
- Source/cmake/WebKitCompilerFlags.cmake:
Source/WebKit:
- PlatformWPE.cmake: Use project-level default for CXX_STANDARD
property.