Timeline
Mar 11, 2019:
- 11:58 PM Changeset in webkit [242784] by
-
- 3 edits in trunk/Source/WebCore
Remove OS X Server QuickTime plugin quirks
https://bugs.webkit.org/show_bug.cgi?id=195607
Reviewed by Brent Fulgham.
r87244 added a site specific quirk for Mac OS X Sever wiki pages.
However, the issue has since been resolved as of OS X Mountain Lion,
of which Apple has ended the support in September 2015.
Because the latest versions of Safari no longer supports non-Flash plugins,
the only scenario in which this quirk comes into play is when a third party app
which embeds WKWebView or WebKitLegacy loaded web pages on a OS X Server
running OS X Mountain Lion or earlier.
Given these observations, it's probably safe to remove this quirk from WebKit.
- html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::hasFallbackContent const):
(WebCore::HTMLObjectElement::hasValidClassId):
(WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk): Deleted.
- html/HTMLObjectElement.h:
- 11:44 PM Changeset in webkit [242783] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed speculative WPE build fix after r195586.
- platform/encryptedmedia/CDMInstance.h:
- 11:15 PM Changeset in webkit [242782] by
-
- 2 edits in branches/safari-607.1.40.1-branch/Source/WebCore
Cherry-pick r242770. rdar://problem/48795263
REGRESSION(r236281): YouTube Movies fail with "video format" error
https://bugs.webkit.org/show_bug.cgi?id=195598
<rdar://problem/48782842>
Reviewed by Jon Lee.
Partially revert r236281 for YouTube.com.
- page/Quirks.cpp: (WebCore::Quirks::hasBrokenEncryptedMediaAPISupportQuirk const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:10 PM Changeset in webkit [242781] by
-
- 2 edits in branches/safari-607.1.40.0-branch/Source/WebCore
Cherry-pick r242770. rdar://problem/48795264
REGRESSION(r236281): YouTube Movies fail with "video format" error
https://bugs.webkit.org/show_bug.cgi?id=195598
<rdar://problem/48782842>
Reviewed by Jon Lee.
Partially revert r236281 for YouTube.com.
- page/Quirks.cpp: (WebCore::Quirks::hasBrokenEncryptedMediaAPISupportQuirk const):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@242770 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 11:09 PM Changeset in webkit [242780] by
-
- 4 edits in trunk/Source/WebCore
Remove MediaWiki site specific quirks
https://bugs.webkit.org/show_bug.cgi?id=195597
Reviewed by Simon Fraser.
r47383 added a site specific quirk for the KHTML workaround in MediaWiki.
Blink since removed this workaround:
https://github.com/chromium/chromium/commit/ecf84fc9c1a51c8ede7adfd0b0cba446d9a8caa0
Given Chrome has been shipping without this quirk for six years, it's safe to assume
this site specific quirk is no longer neeed for Web compatibility.
- css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::parseAuthorStyleSheet):
- css/parser/CSSParserContext.cpp:
(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
- css/parser/CSSParserContext.h:
(WebCore::CSSParserContextHash::hash):
- 11:07 PM Changeset in webkit [242779] by
-
- 2 edits in trunk/Source/WebCore
Remove OpenCube QuickMenu quirks from navigator.appVersion
https://bugs.webkit.org/show_bug.cgi?id=195600
Reviewed by Simon Fraser.
Remove the site specific quirk added in r35050 for OpenCube QuickMenu library for nwa.com
Blink removed this code back in 2013. The fact Chrome has been shipping successfully without
this quirk for six years is a good evidence that it's no longer needed for the Web compatibility.
- page/Navigator.cpp:
(WebCore::Navigator::appVersion const):
(WebCore::shouldHideFourDot): Deleted.
- 11:04 PM Changeset in webkit [242778] by
-
- 4 edits in trunk
WTF::Expected should use std::addressof instead of operator&
https://bugs.webkit.org/show_bug.cgi?id=195604
Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-11
Reviewed by Myles Maxfield.
Source/WTF:
The latter was causing problems with types that do tricky things with constructors and operator&,
specifically UniqueRef but I made a reduced test case. When it used operator&, it would get the contained
type and call the constructor that takes a contained type instead of the move constructor.
- wtf/Expected.h:
(std::experimental::fundamentals_v3::expected_detail::base::base):
(std::experimental::fundamentals_v3::expected::swap):
Tools:
- TestWebKitAPI/Tests/WTF/Expected.cpp:
(TestWebKitAPI::Unique::Unique):
(TestWebKitAPI::Unique::operator&):
(TestWebKitAPI::TEST):
- 10:50 PM Changeset in webkit [242777] by
-
- 8 edits in trunk
Unreviewed, rolling out r242763.
Causes layout test crashes on iOS simulator
Reverted changeset:
"[Synthetic Click] Dispatch mouseout soon after mouseup"
https://bugs.webkit.org/show_bug.cgi?id=195575
https://trac.webkit.org/changeset/242763
- 10:27 PM Changeset in webkit [242776] by
-
- 132 edits in trunk
Add Optional to Forward.h.
https://bugs.webkit.org/show_bug.cgi?id=195586
Reviewed by Darin Adler.
Source/JavaScriptCore:
- b3/B3Common.cpp:
- b3/B3Common.h:
- debugger/DebuggerParseData.cpp:
- debugger/DebuggerParseData.h:
- heap/HeapSnapshot.cpp:
- heap/HeapSnapshot.h:
- jit/PCToCodeOriginMap.cpp:
- jit/PCToCodeOriginMap.h:
- runtime/AbstractModuleRecord.cpp:
- runtime/AbstractModuleRecord.h:
- wasm/WasmInstance.h:
- wasm/WasmModuleParser.h:
- wasm/WasmSectionParser.cpp:
- wasm/WasmSectionParser.h:
- wasm/WasmStreamingParser.cpp:
- wasm/WasmStreamingParser.h:
- yarr/YarrFlags.cpp:
- yarr/YarrFlags.h:
- yarr/YarrUnicodeProperties.cpp:
- yarr/YarrUnicodeProperties.h:
Remove unnecessary includes from headers.
Source/WebCore:
- Modules/encryptedmedia/MediaKeyStatusMap.cpp:
- Modules/encryptedmedia/MediaKeyStatusMap.h:
- Modules/webauthn/apdu/ApduCommand.cpp:
- Modules/webauthn/apdu/ApduCommand.h:
- Modules/webauthn/apdu/ApduResponse.cpp:
- Modules/webauthn/apdu/ApduResponse.h:
- Modules/webauthn/fido/FidoHidMessage.cpp:
- Modules/webauthn/fido/FidoHidMessage.h:
- Modules/webauthn/fido/U2fCommandConstructor.cpp:
- Modules/webauthn/fido/U2fCommandConstructor.h:
- Modules/webdatabase/SQLTransaction.cpp:
- Modules/webdatabase/SQLTransaction.h:
- Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.cpp:
- Modules/webgpu/WHLSL/Metal/WHLSLEntryPointScaffolding.h:
- Modules/webgpu/WHLSL/WHLSLGatherEntryPointItems.h:
- Modules/webgpu/WHLSL/WHLSLPrepare.cpp:
- Modules/webgpu/WHLSL/WHLSLPrepare.h:
- Modules/webgpu/WebGPU.cpp:
- Modules/webgpu/WebGPU.h:
- Modules/webgpu/WebGPUCommandBuffer.cpp:
- Modules/webgpu/WebGPUCommandBuffer.h:
- animation/WebAnimation.cpp:
- animation/WebAnimation.h:
- crypto/gcrypt/GCryptUtilities.cpp:
- crypto/gcrypt/GCryptUtilities.h:
- css/CSSStyleDeclaration.cpp:
- css/CSSStyleDeclaration.h:
- dom/TextDecoder.cpp:
- dom/TextDecoder.h:
- dom/UserGestureIndicator.cpp:
- dom/UserGestureIndicator.h:
- editing/ChangeListTypeCommand.cpp:
- editing/ChangeListTypeCommand.h:
- editing/EditingStyle.cpp:
- editing/EditingStyle.h:
- html/DOMFormData.cpp:
- html/DOMFormData.h:
- html/HTMLAllCollection.cpp:
- html/HTMLAllCollection.h:
- html/HTMLAnchorElement.cpp:
- html/HTMLAnchorElement.h:
- html/ImageBitmap.cpp:
- html/ImageBitmap.h:
- html/canvas/Path2D.h:
- html/canvas/WebMetalEnums.cpp:
- html/canvas/WebMetalEnums.h:
- html/parser/HTMLParserIdioms.cpp:
- html/parser/HTMLParserIdioms.h:
- loader/ResourceCryptographicDigest.cpp:
- loader/ResourceCryptographicDigest.h:
- mathml/MathMLOperatorDictionary.cpp:
- mathml/MathMLOperatorDictionary.h:
- page/PerformanceEntry.cpp:
- page/PerformanceEntry.h:
- page/ResourceUsageData.h:
- platform/ReferrerPolicy.cpp:
- platform/ReferrerPolicy.h:
- platform/Theme.cpp:
- platform/Theme.h:
- platform/encryptedmedia/CDMInstance.h:
- platform/graphics/gpu/GPUDevice.cpp:
- platform/graphics/gpu/GPUDevice.h:
- platform/graphics/transforms/AffineTransform.cpp:
- platform/graphics/transforms/AffineTransform.h:
- platform/graphics/transforms/TransformState.cpp:
- platform/graphics/transforms/TransformState.h:
- platform/graphics/transforms/TransformationMatrix.cpp:
- platform/graphics/transforms/TransformationMatrix.h:
- platform/graphics/win/ImageDecoderDirect2D.cpp:
- platform/graphics/win/ImageDecoderDirect2D.h:
- platform/mediacapabilities/AudioConfiguration.h:
- platform/network/CacheValidation.cpp:
- platform/network/CacheValidation.h:
- platform/network/DataURLDecoder.cpp:
- platform/network/DataURLDecoder.h:
- platform/network/HTTPParsers.cpp:
- platform/network/HTTPParsers.h:
- platform/network/curl/CookieJarDB.cpp:
- platform/network/curl/CookieJarDB.h:
- platform/win/SearchPopupMenuDB.cpp:
- platform/win/SearchPopupMenuDB.h:
- rendering/ImageQualityController.cpp:
- rendering/ImageQualityController.h:
- svg/SVGToOTFFontConversion.cpp:
- svg/SVGToOTFFontConversion.h:
Remove unnecessary includes from headers.
Source/WebCore/PAL:
- pal/crypto/tasn1/Utilities.cpp:
- pal/crypto/tasn1/Utilities.h:
Remove unnecessary includes from headers.
Source/WebKit:
- Shared/RTCNetwork.cpp:
- Shared/RTCNetwork.h:
- Shared/RTCPacketOptions.cpp:
- Shared/RTCPacketOptions.h:
- UIProcess/API/APIWebsitePolicies.h:
- UIProcess/WebStorage/LocalStorageDatabaseTracker.h:
Remove unnecessary includes from headers.
Source/WTF:
- wtf/Forward.h:
Add forward declaration for Optional.
- wtf/CPUTime.h:
- wtf/Expected.h:
- wtf/MainThread.h:
- wtf/MemoryFootprint.h:
- wtf/URLHelpers.cpp:
- wtf/URLHelpers.h:
- wtf/cocoa/CPUTimeCocoa.cpp:
- wtf/fuchsia/CPUTimeFuchsia.cpp:
- wtf/unix/CPUTimeUnix.cpp:
- wtf/win/CPUTimeWin.cpp:
Remove unnecessary includes from headers.
Tools:
- TestWebKitAPI/Tests/WebCore/ApduTest.cpp:
- TestWebKitAPI/Tests/WebCore/FidoHidMessageTest.cpp:
Remove unnecessary includes from headers.
- 10:23 PM Changeset in webkit [242775] by
-
- 9 edits in trunk/Source/WebKit
Unreviewed, rolling out r242745 and r242756.
https://bugs.webkit.org/show_bug.cgi?id=195606
Breaks internal builds (Requested by ryanhaddad on #webkit).
Reverted changesets:
"[iOS] Block access to backboardd service"
https://bugs.webkit.org/show_bug.cgi?id=195484
https://trac.webkit.org/changeset/242745
"Unreviewed build fix after r242745."
https://trac.webkit.org/changeset/242756
- 10:18 PM Changeset in webkit [242774] by
-
- 3 edits in trunk/LayoutTests
Unreviewed test gardening, rebaseline tests after r242757.
- http/tests/adClickAttribution/anchor-tag-attributes-validation-expected.txt:
- http/tests/security/anchor-download-block-crossorigin-expected.txt:
- 9:59 PM Changeset in webkit [242773] by
-
- 7 edits2 adds in trunk
Add testing API to hit-test and scroll overflow scrollers
https://bugs.webkit.org/show_bug.cgi?id=195278
Reviewed by Antti Koivisto.
Tools:
Add UIScriptController::immediateScrollElementAtContentPointToOffset() to enable
testing of the view hit-testing code path, and immediate scrolling of overflow:scroll.
Tests: scrollingcoordinator/ios/scroll-element-at-point.html
- DumpRenderTree/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptController::immediateScrollElementAtContentPointToOffset):
- TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- TestRunnerShared/UIScriptContext/UIScriptController.cpp:
(WTR::UIScriptController::immediateScrollElementAtContentPointToOffset):
- TestRunnerShared/UIScriptContext/UIScriptController.h:
- WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::enclosingScrollViewIncludingSelf):
(WTR::UIScriptController::immediateScrollElementAtContentPointToOffset):
LayoutTests:
The test loads a scaled page with accelerated overflow:scroll, and hit-tests
near the top-left and bottom-right corners to test the point conversion logic.
- scrollingcoordinator/ios/scroll-element-at-point-expected.txt: Added.
- scrollingcoordinator/ios/scroll-element-at-point.html: Added.
- 9:56 PM Changeset in webkit [242772] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: REGRESSION: Network Cookies Table does not load
https://bugs.webkit.org/show_bug.cgi?id=195599
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2019-03-11
Reviewed by Devin Rousso.
- UserInterface/Views/ResourceCookiesContentView.js:
(WI.ResourceCookiesContentView.prototype.tableIndexForRepresentedObject):
(WI.ResourceCookiesContentView.prototype.tableRepresentedObjectForIndex):
Include needed delegate methods.
- 9:12 PM Changeset in webkit [242771] by
-
- 2 edits in trunk/Source/WebKit
[CoordinatedGraphics] ASSERTION FAILED: !m_state.isSuspended
https://bugs.webkit.org/show_bug.cgi?id=195550
Reviewed by Carlos Garcia Campos.
CompositingRunLoop::suspend() locks a mutex and stops the update
timer. But, the timer can be fired after the lock was acquired and
before the timer is stopped.
- Shared/CoordinatedGraphics/threadedcompositor/CompositingRunLoop.cpp:
(WebKit::CompositingRunLoop::updateTimerFired): Removed the
assertion. Return early if m_state.isSuspended.
- 8:49 PM Changeset in webkit [242770] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION(r236281): YouTube Movies fail with "video format" error
https://bugs.webkit.org/show_bug.cgi?id=195598
<rdar://problem/48782842>
Reviewed by Jon Lee.
Partially revert r236281 for YouTube.com.
- page/Quirks.cpp:
(WebCore::Quirks::hasBrokenEncryptedMediaAPISupportQuirk const):
- 8:24 PM Changeset in webkit [242769] by
-
- 2 edits in trunk/Source/WebKit
[macOS] Remove the Kerberos rules from the WebContent sandbox
https://bugs.webkit.org/show_bug.cgi?id=195464
<rdar://problem/35369230>
Reviewed by Brent Fulgham.
Kerberos auth is done in the UIProcess or NetworkProcess now.
- WebProcess/com.apple.WebProcess.sb.in:
- 8:22 PM Changeset in webkit [242768] by
-
- 36 edits in trunk/Source/WebInspectorUI
Web Inspector: use -webkit-{margin,padding}-{start,end} instead of [dir={ltr/rtl}] rules
https://bugs.webkit.org/show_bug.cgi?id=195569
<rdar://problem/48778727>
Reviewed by Matt Baker.
- UserInterface/Debug/UncaughtExceptionReporter.css:
- UserInterface/Views/BoxModelDetailsSectionRow.css:
- UserInterface/Views/BreakpointActionView.css:
- UserInterface/Views/BreakpointPopoverController.css:
- UserInterface/Views/CPUTimelineView.css:
- UserInterface/Views/CallFrameTreeElement.css:
- UserInterface/Views/CallFrameView.css:
- UserInterface/Views/DOMTreeContentView.css:
- UserInterface/Views/DOMTreeOutline.css:
- UserInterface/Views/DashboardContainerView.css:
- UserInterface/Views/DataGrid.css:
- UserInterface/Views/DebuggerDashboardView.css:
- UserInterface/Views/DebuggerSidebarPanel.css:
- UserInterface/Views/DefaultDashboardView.css:
- UserInterface/Views/DetailsSection.css:
- UserInterface/Views/FilterBar.css:
- UserInterface/Views/FindBanner.css:
- UserInterface/Views/FontResourceContentView.css:
- UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:
- UserInterface/Views/HierarchicalPathComponent.css:
- UserInterface/Views/LayerTreeDetailsSidebarPanel.css:
- UserInterface/Views/Main.css:
- UserInterface/Views/NetworkTableContentView.css:
- UserInterface/Views/OpenResourceDialog.css:
- UserInterface/Views/RecordingActionTreeElement.css:
- UserInterface/Views/ScopeRadioButtonNavigationItem.css:
- UserInterface/Views/SettingsTabContentView.css:
- UserInterface/Views/ThreadTreeElement.css:
- UserInterface/Views/Toolbar.css:
- UserInterface/Views/TreeOutline.css:
- UserInterface/Views/TypeTreeElement.css:
- UserInterface/Views/TypeTreeView.css:
- UserInterface/Views/URLBreakpointPopover.css:
- UserInterface/Views/WebSocketContentView.css:
- UserInterface/Views/RecordingActionTreeElement.js:
(WI.RecordingActionTreeElement.static _getClassNames):
Replace class.actionwith.recording-actionfor better uniqueness/clarity.
- 8:21 PM Changeset in webkit [242767] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Add entitlement to enable use of graphics endpoint with limited capabilities
https://bugs.webkit.org/show_bug.cgi?id=195582
<rdar://problem/36082379>
Reviewed by Brent Fulgham.
This is a QuartzCore endpoint with a minimal set of capabilities.
- Configurations/WebContent-iOS.entitlements:
- 8:19 PM Changeset in webkit [242766] by
-
- 11 edits1 add1 delete in trunk/Source/WebCore
[Web GPU] BindGroups/Argument buffers: Move MTLBuffer creation from and GPUBindGroup validation to GPUDevice.createBindGroup
https://bugs.webkit.org/show_bug.cgi?id=195519
<rdar://problem/48781297>
Reviewed by Myles C. Maxfield.
Metal's Argument Buffers should not be tied directly to GPUBindGroupLayout; rather, create the MTLBuffer
in GPUBindGroup creation process.
Move GPUBindGroup validation out of setBindGroup and to GPUBindGroup creation for performance.
Covered by existing tests. No behavior change.
- Modules/webgpu/WebGPUDevice.cpp:
(WebCore::WebGPUDevice::createBindGroup const):
- Sources.txt:
- SourcesCocoa.txt:
- WebCore.xcodeproj/project.pbxproj:
- platform/graphics/gpu/GPUBindGroup.cpp: Removed.
- platform/graphics/gpu/GPUBindGroup.h:
(WebCore::GPUBindGroup::vertexArgsBuffer): A buffer that arguments will be encoded into during setBindGroup.
(WebCore::GPUBindGroup::fragmentArgsBuffer): Ditto.
(WebCore::GPUBindGroup::boundBuffers const): A list of resources that are bound by this GPUBindGroup.
(WebCore::GPUBindGroup::boundTextures const): Ditto.
(WebCore::GPUBindGroup::layout const): Deleted.
(WebCore::GPUBindGroup::bindings const): Deleted.
- platform/graphics/gpu/GPUBindGroupLayout.h: No longer creating and retaining MTLBuffers.
(WebCore::GPUBindGroupLayout::vertexEncoder const):
(WebCore::GPUBindGroupLayout::fragmentEncoder const):
(WebCore::GPUBindGroupLayout::computeEncoder const):
(WebCore::GPUBindGroupLayout::ArgumentEncoderBuffer::isValid const): Deleted.
(WebCore::GPUBindGroupLayout::vertexArguments const): Deleted.
(WebCore::GPUBindGroupLayout::fragmentArguments const): Deleted.
(WebCore::GPUBindGroupLayout::computeArguments const): Deleted.
- platform/graphics/gpu/GPUProgrammablePassEncoder.h:
- platform/graphics/gpu/cocoa/GPUBindGroupLayoutMetal.mm:
(WebCore::tryCreateMtlArgumentEncoder):
(WebCore::GPUBindGroupLayout::tryCreate):
(WebCore::GPUBindGroupLayout::GPUBindGroupLayout):
(WebCore::tryCreateArgumentEncoderAndBuffer): Deleted.
- platform/graphics/gpu/cocoa/GPUBindGroupMetal.mm: Added.
(WebCore::tryCreateArgumentBuffer): Create and associate the MTLBuffer that backs the MTLArgumentEncoder.
(WebCore::tryGetResourceAsBufferBinding): Validate a GPUBindingResource.
(WebCore::trySetBufferOnEncoder): Encodes a GPUBufferBinding's MTLBuffer on a MTLArgumentEncoder.
(WebCore::tryGetResourceAsSampler): Ditto, for GPUSamplers.
(WebCore::trySetSamplerOnEncoder):
(WebCore::tryGetResourceAsTexture): Ditto, for GPUTextures.
(WebCore::trySetTextureOnEncoder):
(WebCore::GPUBindGroup::tryCreate): Most setBindGroup validation moved here.
(WebCore::GPUBindGroup::GPUBindGroup): Retains the resource references needed for setBindGroup.
- platform/graphics/gpu/cocoa/GPUProgrammablePassEncoderMetal.mm:
(WebCore::GPUProgrammablePassEncoder::setBindGroup): Most validation moved to GPUBindGroup::tryCreate().
(WebCore::GPUProgrammablePassEncoder::setResourceAsBufferOnEncoder): Deleted.
(WebCore::GPUProgrammablePassEncoder::setResourceAsSamplerOnEncoder): Deleted.
(WebCore::GPUProgrammablePassEncoder::setResourceAsTextureOnEncoder): Deleted.
- platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm:
(WebCore::GPURenderPassEncoder::useResource):
(WebCore::GPURenderPassEncoder::setVertexBuffer):
(WebCore::GPURenderPassEncoder::setFragmentBuffer):
Misc:
- platform/graphics/gpu/GPUCommandBuffer.cpp/h: Move missing includes to header.
- 7:54 PM Changeset in webkit [242765] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: DOMDebugger: protocol error on first open
https://bugs.webkit.org/show_bug.cgi?id=195248
<rdar://problem/48538465>
Unreviewed followup of r242743 to fix test inspector/dom-debugger/dom-breakpoints.html.
- UserInterface/Controllers/DOMDebuggerManager.js:
(WI.DOMDebuggerManager.prototype.addDOMBreakpoint):
(WI.DOMDebuggerManager.prototype._resolveDOMBreakpoint):
Still attempt to resolve the DOM breakpoint if it already has adomNodeIdentifierso that
it will get added to the node's frame's DOM breakpoint map. Without this, some breakpoints
might get "missed" when callingWI.domDebuggerManager.removeDOMBreakpointsForNode.
- 7:16 PM Changeset in webkit [242764] by
-
- 14 edits1 delete in trunk/Source/WebKit
Move NetworkProcess/Classifier/ResourceLoadStatisticsStoreCocoa.mm functionality into UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=195117
<rdar://problem/48448715>
Reviewed by Brent Fulgham.
Reading of user defaults on Cocoa platforms should be done in the UI process and
forwarded to Resource Load Statistics in the network process through the
WebKit::NetworkSessionCreationParameters struct.
This patch does away with some old user defaults we don't use anymore. It also
changes the developer-facing default name to ITPManualPrevalentResource.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore):
Removed the call to the old registerUserDefaultsIfNeeded().
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::ResourceLoadStatisticsMemoryStore):
Removed the call to the old registerUserDefaultsIfNeeded().
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
Removed the declaration of the old registerUserDefaultsIfNeeded().
- NetworkProcess/Classifier/ResourceLoadStatisticsStoreCocoa.mm: Removed.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
Added an enum class EnableResourceLoadStatisticsDebugMode.
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::setResourceLoadStatisticsEnabled):
- NetworkProcess/NetworkSession.h:
- NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
- NetworkProcess/NetworkSessionCreationParameters.h:
The struct now has two new fields:
- enableResourceLoadStatisticsDebugMode
- resourceLoadStatisticsManualPrevalentResource
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
Forwarding of the parameters.
- SourcesCocoa.txt:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
Forwarding of the parameters.
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::parameters):
This is where user defaults for Resource Load Statistics are now read.
- WebKit.xcodeproj/project.pbxproj:
- 6:58 PM Changeset in webkit [242763] by
-
- 8 edits in trunk
[Synthetic Click] Dispatch mouseout soon after mouseup
https://bugs.webkit.org/show_bug.cgi?id=195575
<rdar://problem/47093049>
Reviewed by Simon Fraser.
Source/WebCore:
Let's fire a mouseout event when a click is submitted as the result of a tap. It helps to dismiss content which would otherwise require you to move the mouse (cases like control bar on youtube.com).
Test: fast/events/touch/ios/content-observation/mouse-out-event-should-fire-on-click.html
- page/EventHandler.h:
- page/ios/EventHandlerIOS.mm:
(WebCore::EventHandler::dispatchFakeMouseOut):
Source/WebKit:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::completeSyntheticClick):
LayoutTests:
- fast/events/touch/ios/content-observation/mouse-out-event-should-fire-on-click-expected.txt: Added.
- fast/events/touch/ios/content-observation/mouse-out-event-should-fire-on-click.html: Added.
- 6:53 PM Changeset in webkit [242762] by
-
- 5 edits in trunk
API test WebKit.RequestTextInputContext fails on iOS
https://bugs.webkit.org/show_bug.cgi?id=195585
Reviewed by Wenson Hsieh and Simon Fraser.
Source/WebKit:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _convertRectFromRootViewCoordinates:]):
(-[WKWebView _convertRectToRootViewCoordinates:]):
(-[WKWebView _requestTextInputContextsInRect:completionHandler:]):
(-[WKWebView _focusTextInputContext:completionHandler:]):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::elementRectInRootViewCoordinates):
(WebKit::WebPage::textInputContextsInRect):
(WebKit::elementRectInWindowCoordinates): Deleted.
Text input context SPI should be in terms of WKWebView coordinates,
for consistency's sake. This is a bit irritating; WebPage(Proxy) continue
to operate in "root view" coordinates, which means different things
depending on if delegatesScrolling is true or not. So, WKWebView does
the conversion, re-creating objects as needed.
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm:
(applyStyle):
(TEST):
Add a viewport, so that the coordinates match up on iOS.
Scroll by moving the UIScrollView's contentOffset.
- 6:08 PM Changeset in webkit [242761] by
-
- 2 edits in trunk/Source/WebCore
REGRESSION: (r242181) API test DragAndDropTests.ExternalSourcePlainTextToIFrame is Timing out
https://bugs.webkit.org/show_bug.cgi?id=195362
Reviewed by Alexey Proskuryakov.
Covered by API test no longer crashing.
- page/SecurityOrigin.cpp:
(WebCore::originsMatch):
String representation should only match if originsMatch returns true.
- 5:57 PM Changeset in webkit [242760] by
-
- 10 edits in trunk/Source/WebKit
Optimizing loads when creating new pages
https://bugs.webkit.org/show_bug.cgi?id=195516
<rdar://problem/48738086>
Reviewed by Darin Adler.
This patch adds hooks in WebPageProxy::createNewPage to optimize loads, and moves the creationParameters
of API::NavigationAction from UI clients to WebPageProxy::createNewPage. Also, we now pass the whole
API::NavigationAction to the load optimizer instead of the request within.
- UIProcess/API/APINavigationAction.h:
- UIProcess/API/APIUIClient.h:
(API::UIClient::createNewPage):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/API/glib/WebKitUIClient.cpp:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::tryOptimizingLoad):
(WebKit::tryInterceptNavigation):
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::createNewPage):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::tryOptimizingLoad):
(WebKit::WebPageProxy::createNewPage):
- UIProcess/WebPageProxy.h:
- 5:46 PM Changeset in webkit [242759] by
-
- 62 edits2 copies3 moves5 deletes in trunk
[Web GPU] Update GPUSwapChainDescriptor, GPUSwapChain and implement GPUCanvasContext
https://bugs.webkit.org/show_bug.cgi?id=194406
<rdar://problem/47892466>
Reviewed by Myles C. Maxfield.
Source/JavaScriptCore:
Added WebGPU to inspector context types.
- inspector/protocol/Canvas.json:
- inspector/scripts/codegen/generator.py:
Source/WebCore:
GPUSwapChain no longer inherits from GPUBasedRenderingContext, and is now created from a GPUDevice.
WebGPURenderingContext is now GPUCanvasContext and delegates functionality to the GPUSwapChain, if it exists.
GPUQueue now implicitly presents the GPUSwapChain's current drawable at the task boundary, if one exists.
Creating a new GPUSwapChain with the same GPUCanvasContext invalidates the previous one and its drawable and pipeline attachments.
Calling GPUSwapChain::getCurrentTexture returns the same drawable within one task cycle.
Some mentions of "WebGPU" have been renamed to "Web GPU" and "gpu".
All Web GPU tests updated to match.
Add new files and symbols.
- CMakeLists.txt:
- DerivedSources-input.xcfilelist:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/WebCoreBuiltinNames.h:
Rename some mentions of "webgpu" to "gpu".
- Modules/webgpu/DOMWindowWebGPU.cpp:
(WebCore::DOMWindowWebGPU::gpu):
(WebCore::DOMWindowWebGPU::gpu const):
- Modules/webgpu/DOMWindowWebGPU.h:
- Modules/webgpu/DOMWindowWebGPU.idl:
Replace WebGPURenderingContext with GPUCanvasContext.
- Modules/webgpu/GPUCanvasContext.cpp: Renamed from Source/WebCore/Modules/webgpu/WebGPURenderingContext.cpp.
(WebCore::GPUCanvasContext::create):
(WebCore::GPUCanvasContext::GPUCanvasContext):
(WebCore::GPUCanvasContext::replaceSwapChain):
(WebCore::GPUCanvasContext::platformLayer const):
(WebCore::GPUCanvasContext::reshape):
(WebCore::GPUCanvasContext::markLayerComposited):
- Modules/webgpu/GPUCanvasContext.h: Renamed from Source/WebCore/Modules/webgpu/WebGPURenderingContext.h.
- Modules/webgpu/GPUCanvasContext.idl: Renamed from Source/WebCore/Modules/webgpu/WebGPURenderingContext.idl.
- dom/Document.cpp:
(WebCore::Document::getCSSCanvasContext):
- dom/Document.h:
- dom/Document.idl:
- html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::getContext):
(WebCore::HTMLCanvasElement::isWebGPUType):
(WebCore::HTMLCanvasElement::createContextWebGPU):
(WebCore::HTMLCanvasElement::getContextWebGPU):
- html/HTMLCanvasElement.h:
- html/HTMLCanvasElement.idl:
- inspector/InspectorCanvas.cpp:
(WebCore::InspectorCanvas::buildObjectForCanvas):
- inspector/agents/InspectorCanvasAgent.cpp:
(WebCore::contextAsScriptValue):
Update WebGPUSwapChain.
- Modules/webgpu/GPUTextureDescriptor.idl:
- Modules/webgpu/GPUTextureFormat.idl: Add the other two texture formats supported by CAMetalLayer.
- Modules/webgpu/WebGPUDevice.cpp: Implement createSwapChain.
(WebCore::WebGPUDevice::createSwapChain const):
(WebCore::WebGPUDevice::getQueue const):
(WebCore::WebGPUDevice::getQueue): Deleted.
- Modules/webgpu/WebGPUDevice.h:
- Modules/webgpu/WebGPUDevice.idl:
- Modules/webgpu/WebGPUSwapChain.cpp:
(WebCore::WebGPUSwapChain::create):
(WebCore::WebGPUSwapChain::WebGPUSwapChain):
(WebCore::WebGPUSwapChain::getCurrentTexture): Renamed from getNextTexture. Only returns the next drawable if the last was presented.
(WebCore::WebGPUSwapChain::destroy): Invalidate this GPUSwapChain and its textures and views.
(WebCore::WebGPUSwapChain::configure): Deleted.
(WebCore::WebGPUSwapChain::getNextTexture): Deleted.
(WebCore::WebGPUSwapChain::present): Deleted.
(WebCore::WebGPUSwapChain::reshape): Deleted.
(WebCore::WebGPUSwapChain::markLayerComposited): Deleted.
- Modules/webgpu/WebGPUSwapChain.h: Now a device-based object rather than a rendering context.
(WebCore::WebGPUSwapChain::swapChain const):
(WebCore::WebGPUSwapChain::WebGPUSwapChain): Deleted.
- Modules/webgpu/WebGPUSwapChain.idl:
- Modules/webgpu/WebGPUSwapChainDescriptor.h: Added.
- platform/graphics/gpu/GPUDevice.cpp: Implement tryCreateSwapChain.
(WebCore::GPUDevice::tryCreateSwapChain const):
(WebCore::GPUDevice::getQueue const):
(WebCore::GPUDevice::getQueue): Deleted.
- platform/graphics/gpu/GPUDevice.h: Retain a reference to the current GPUSwapChain, if one exists.
(WebCore::GPUDevice::swapChain const):
- platform/graphics/gpu/GPUQueue.h:
- platform/graphics/gpu/GPUSwapChain.h:
(WebCore::GPUSwapChain::destroy):
- platform/graphics/gpu/GPUSwapChainDescriptor.h: Added.
- platform/graphics/gpu/GPUTextureFormat.h: Add the other two texture formats supported by CAMetalLayer.
- platform/graphics/gpu/cocoa/GPUBufferMetal.mm:
(WebCore::GPUBuffer::commandBufferCommitted):
- platform/graphics/gpu/cocoa/GPUQueueMetal.mm:
(WebCore::GPUQueue::tryCreate): Renamed from create to better fit functionality. Now retain a reference to the GPUDevice.
(WebCore::GPUQueue::GPUQueue):
(WebCore::GPUQueue::submit): Now checks state of all resources before marking them as committed or committing any resource.
In addition, schedules the current drawable to be presented after all commands have been submitted during this task cycle.
- platform/graphics/gpu/cocoa/GPURenderPassEncoderMetal.mm:
(WebCore::useAttachments): Ensure that the command buffer is aware of any texture resources used as attachments.
(WebCore::GPURenderPassEncoder::tryCreate):
- platform/graphics/gpu/cocoa/GPUSwapChainMetal.mm:
(WebCore::tryGetSupportedPixelFormat): Supported texture formats are the intersection of Web GPU's texture formats and CAMetalLayer's.
(WebCore::setLayerShape):
(WebCore::tryCreateSwapLayer): Create and configure the CAMetalLayer backing the swap chain.
(WebCore::GPUSwapChain::tryCreate):
(WebCore::GPUSwapChain::GPUSwapChain):
(WebCore::GPUSwapChain::tryGetCurrentTexture): Renamed from getNextTexture. Only returns a texture if the last one was presented.
(WebCore::GPUSwapChain::present):
(WebCore::GPUSwapChain::reshape):
(WebCore::GPUSwapChain::takeDrawable): Swaps out the current drawable so that it can be presented. The GPUSwapChain thus releases its reference to it.
(WebCore::GPUSwapChain::create): Deleted.
(WebCore::GPUSwapChain::setDevice): Deleted.
(WebCore::GPUSwapChain::setFormat): Deleted.
(WebCore::GPUSwapChain::getNextTexture): Deleted.
- platform/graphics/gpu/cocoa/GPUUtilsMetal.mm:
(WebCore::platformTextureFormatForGPUTextureFormat):
Misc:
- Modules/webgpu/WebGPUProgrammablePassEncoder.cpp: Missing include.
Source/WebInspectorUI:
Name updates for Web GPU renaming in inspector.
- UserInterface/Models/Canvas.js:
(WI.Canvas.displayNameForContextType):
LayoutTests:
Update all tests for new WebGPUSwapChain and GPUCanvasContext, and window object name change from 'webgpu' to 'gpu'.
In addition, all tests have been updated to WPT style.
- webgpu/adapter-options.html:
- webgpu/buffer-command-buffer-races.html:
- webgpu/buffer-resource-triangles.html:
- webgpu/command-buffers-expected.txt:
- webgpu/command-buffers.html:
- webgpu/depth-enabled-triangle-strip.html:
- webgpu/js/basic-webgpu-functions.js: Removed. No longer needed.
- webgpu/js/webgpu-functions.js:
(async.getBasicDevice):
(createBasicSwapChain): Renamed from createBasicContext.
(beginBasicRenderPass):
(createBasicContext): Deleted.
(createBasicDepthStateDescriptor): Deleted.
- webgpu/queue-creation.html:
- webgpu/render-command-encoding-expected.txt:
- webgpu/render-command-encoding.html:
- webgpu/render-passes-expected.txt: Removed.
- webgpu/render-passes.html: Removed for redundancy with other tests.
- webgpu/shader-modules-expected.txt:
- webgpu/shader-modules.html:
- webgpu/simple-triangle-strip.html:
- webgpu/texture-triangle-strip.html:
- webgpu/textures-textureviews.html:
- webgpu/vertex-buffer-triangle-strip.html:
- webgpu/webgpu-basics-expected.txt: Removed.
- webgpu/webgpu-basics.html: Removed for redundancy with other tests.
- webgpu/webgpu-enabled-expected.txt:
- webgpu/webgpu-enabled.html:
- 5:11 PM Changeset in webkit [242758] by
-
- 2 edits in trunk/LayoutTests
[iOS WK2] REGRESSION (r242687): Programmatic scroll of overflow scroll results in bad rendering
https://bugs.webkit.org/show_bug.cgi?id=195584
Unreviewed test gardening. Mark compositing/ios/overflow-scroll-update-overlap.html as failing
since I want to unskip and land a fix with additional tests.
- platform/ios-wk2/TestExpectations:
- 4:43 PM Changeset in webkit [242757] by
-
- 25 edits2 moves3 adds in trunk
[iOS] Implement a faster click detection that intercepts double-tap-to-zoom if possible
https://bugs.webkit.org/show_bug.cgi?id=195473
<rdar://problem/48718396>
Reviewed by Wenson Hsieh (with some help from Dan Bates).
Source/WebKit:
Adds a new algorithm, behind a flag FasterClicksEnabled, that can trigger a click
event without waiting to see if a double tap will occur. It does this by examining
the amount of zoom that would be triggered if it was a double tap, and if that value
doesn't exceed a set threshold, commits to the click event instead.
This is implemented by having the Web Process respond to the potential click with
some geometry information. If the UI Process receives the information before the
second tap in a double tap, it can decide to trigger a click.
- Shared/WebPreferences.yaml: New internal feature so this can be toggled in
a UI for testing.
- SourcesCocoa.txt: Renamed WKSyntheticTapGestureRecognizer.
- WebKit.xcodeproj/project.pbxproj: Ditto.
- UIProcess/ios/WKSyntheticTapGestureRecognizer.h:
- UIProcess/ios/WKSyntheticTapGestureRecognizer.m:
(-[WKSyntheticTapGestureRecognizer setGestureIdentifiedTarget:action:]):
(-[WKSyntheticTapGestureRecognizer setGestureFailedTarget:action:]):
(-[WKSyntheticTapGestureRecognizer setResetTarget:action:]):
(-[WKSyntheticTapGestureRecognizer setState:]):
(-[WKSyntheticTapGestureRecognizer reset]): Renamed WKSyntheticClickTapGestureRecognizer to
WKSyntheticTapGestureRecognizer, changed the signature of the main function to be a bit
more clear about what it does, and added a gesture failed target.
- UIProcess/API/Cocoa/WKWebViewInternal.h:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _initialScaleFactor]):
(-[WKWebView _contentZoomScale]):
(-[WKWebView _targetContentZoomScaleForRect:currentScale:fitEntireRect:minimumScale:maximumScale:]):
Exposed the initial content scale, the current scale and added a declaration that
was missing from the .h.
- UIProcess/WebPageProxy.messages.in: Add a new message,
HandleSmartMagnificationInformationForPotentialTap, to
communicate the geometry of the clicked node to the UI Process.
- UIProcess/PageClient.h: Pure virtual function for the geometry message response.
- UIProcess/WebPageProxy.h: Ditto.
- UIProcess/ios/PageClientImplIOS.h: Calls into the WKContentView.
- UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::handleSmartMagnificationInformationForPotentialTap):
- UIProcess/ios/SmartMagnificationController.h:
- UIProcess/ios/SmartMagnificationController.mm:
(WebKit::SmartMagnificationController::calculatePotentialZoomParameters): A new method that
asks the WKContentView to work out what the zoom factor will be for a potential double
tap at a location.
(WebKit::SmartMagnificationController::smartMagnificationTargetRectAndZoomScales): New implementation
of this function to avoid multiple out-arguments.
- UIProcess/ios/WKContentView.h:
- UIProcess/ios/WKContentView.mm:
(-[WKContentView _initialScaleFactor]):
(-[WKContentView _contentZoomScale]):
(-[WKContentView _targetContentZoomScaleForRect:currentScale:fitEntireRect:minimumScale:maximumScale:]):
Exposed the initial content scale, the current scale and the target zoom scale. These
all just call into the WKWebView implementation.
- UIProcess/ios/WKContentViewInteraction.h:
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _createAndConfigureDoubleTapGestureRecognizer]): Use a WKSyntheticTapGestureRecognizer instead
of a generic one, so we can capture the failure.
(-[WKContentView setupInteraction]):
(-[WKContentView cleanupInteraction]):
(-[WKContentView _handleSmartMagnificationInformationForPotentialTap:origin:renderRect:fitEntireRect:viewportMinimumScale:viewportMaximumScale:]):
New method that responds to the incoming Web Process message, and decides if any
potential zoom would be "significant".
(-[WKContentView _singleTapIdentified:]):
(-[WKContentView _doubleTapDidFail:]):
(-[WKContentView _didCompleteSyntheticClick]):
(-[WKContentView _singleTapRecognized:]):
(-[WKContentView _doubleTapRecognized:]):
Add some release logging.
(-[WKContentView _singleTapCommited:]): Deleted.
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::potentialTapAtPosition):
(WebKit::WebPageProxy::handleSmartMagnificationInformationForPotentialTap):
- WebProcess/WebPage/ViewGestureGeometryCollector.h:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Removed an unused parameter from the existing message.
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::potentialTapAtPosition): Calculates the geometry of the element
if requested, and sends it to the UIProcess.
LayoutTests:
Implement a test (iPad only) that sets up a page with zoomable content
but not quite at a significant scale, meaning we should dispatch a click
event rather than Double Tap To Zoom.
In order to do this, a humanSpeedDoubleTapAt() method was added to
UIHelper that sleeps a bit between taps, otherwise the double tap
gesture is recognized before the Web Process has had a chance to
evaluate the potential click.
- fast/events/ios/ipad/fast-click-double-tap-sends-click-on-insignificant-zoom-expected.txt: Added.
- fast/events/ios/ipad/fast-click-double-tap-sends-click-on-insignificant-zoom.html: Added.
- platform/ios/TestExpectations:
- platform/ipad/TestExpectations:
- resources/ui-helper.js:
(window.UIHelper.humanSpeedDoubleTapAt):
- 4:36 PM Changeset in webkit [242756] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed build fix after r242745.
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):
- 4:31 PM Changeset in webkit [242755] by
-
- 4 edits in trunk
Assert in WebPageProxy::suspendCurrentPageIfPossible()
https://bugs.webkit.org/show_bug.cgi?id=195506
<rdar://problem/48733477>
Reviewed by Alex Christensen.
Source/WebKit:
The crash was caused by the top-hit preloading logic in MobileSafari which creates a new Web view that is *related*
to the previous one, restores the session state onto it and then triggers a load in this new Web view.
Initially, the 2 Web views use the same process as they are related. However, if the new load's URL is cross-site
with regards to the first view's URL, then we decide to process swap in the new view. This process swap makes
sense from a security standpoint. However, when we commit the load in the new process and call
suspendCurrentPageIfPossible() we end up in an unexpected state because we have a fromItem (due to the session
state having been restored on the new view) but we haven't committed any load yet in this new view.
To address the issue, suspendCurrentPageIfPossible() now returns early and does not attempt to suspend anything
if we have not committed any load yet.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::suspendCurrentPageIfPossible):
Do not attempt to suspend to current page if we have not committed any provisional load yet.
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
- 4:30 PM Changeset in webkit [242754] by
-
- 2 edits in trunk/Tools
Adding myself to contributors.json
Unreviewed, addming myself to contributors.json .
- Scripts/webkitpy/common/config/contributors.json:
- 4:14 PM Changeset in webkit [242753] by
-
- 16 edits in trunk/Source
Update device orientation & motion permission native SPI as per latest proposal
https://bugs.webkit.org/show_bug.cgi?id=195567
Reviewed by Youenn Fablet.
Source/WebCore:
- dom/DeviceOrientationAndMotionAccessController.cpp:
(WebCore::DeviceOrientationAndMotionAccessController::shouldAllowAccess):
- page/ChromeClient.h:
Source/WebKit:
The native SPI is now:
+- (void)_webView:(WKWebView *)webView shouldAllowDeviceOrientationAndMotionAccessRequestedByFrame:(WKFrameInfo *)frameInfo decisionHandler:(void ()(BOOL))decisionHandler;
- UIProcess/API/APIUIClient.h:
(API::UIClient::shouldAllowDeviceOrientationAndMotionAccess):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::shouldAllowDeviceOrientationAndMotionAccess):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestDeviceOrientationAndMotionAccess):
- UIProcess/WebPageProxy.h:
- UIProcess/WebPageProxy.messages.in:
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::shouldAllowDeviceOrientationAndMotionAccess):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::shouldAllowDeviceOrientationAndMotionAccess):
- WebProcess/WebPage/WebPage.h:
- 4:08 PM Changeset in webkit [242752] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Editing Timelines shows two CPU Timelines
https://bugs.webkit.org/show_bug.cgi?id=195578
Patch by Joseph Pecoraro <Joseph Pecoraro> on 2019-03-11
Reviewed by Devin Rousso.
- UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.availableTimelineTypes):
The CPU Instrument is already in the default list.
- 3:58 PM Changeset in webkit [242751] by
-
- 7 edits in tags/Safari-608.1.8.2/Source
Versioning.
- 3:55 PM Changeset in webkit [242750] by
-
- 1 copy in tags/Safari-608.1.8.2
Tag Safari-608.1.8.2.
- 3:46 PM Changeset in webkit [242749] by
-
- 4 edits2 adds in trunk
[macOS] Dispatching reentrant "contextmenu" events may cause crashes
https://bugs.webkit.org/show_bug.cgi?id=195571
<rdar://problem/48086046>
Reviewed by Andy Estes.
Source/WebCore:
Make ContextMenuController::handleContextMenuEvent robust against reentrancy by guarding it with a boolean flag.
As demonstrated in the test case, it is currently possible to force WebKit into a bad state by dispatching a
synthetic "contextmenu" event from within the scope of one of the "before(copy|cut|paste)" events triggered as
a result of handling a context menu event.
Test: fast/events/contextmenu-reentrancy-crash.html
- page/ContextMenuController.cpp:
(WebCore::ContextMenuController::handleContextMenuEvent):
- page/ContextMenuController.h:
LayoutTests:
Add a test to verify that triggering reentrant "contextmenu" events from script does not cause a crash.
- fast/events/contextmenu-reentrancy-crash-expected.txt: Added.
- fast/events/contextmenu-reentrancy-crash.html: Added.
- 3:42 PM Changeset in webkit [242748] by
-
- 36 edits1 copy2 adds in trunk/Source
[Apple Pay] Use PKPaymentAuthorizationController to present the Apple Pay UI remotely from the Networking service on iOS
https://bugs.webkit.org/show_bug.cgi?id=195530
<rdar://problem/48747164>
Reviewed by Alex Christensen.
Source/WebCore:
- Modules/applepay/PaymentCoordinatorClient.h: Defined isWebPaymentCoordinator.
- page/Settings.yaml: Defined the applePayRemoteUIEnabled setting and reordered the other
Apple Pay settings.
Source/WebCore/PAL:
- pal/cocoa/PassKitSoftLink.h: Soft-linked PKPaymentAuthorizationController on iOS.
- pal/cocoa/PassKitSoftLink.mm: Ditto.
- pal/spi/cocoa/PassKitSPI.h: Declared PKPaymentAuthorizationControllerPrivateDelegate and
related SPI.
Source/WebKit:
- Configurations/Network-iOS.entitlements: Added the 'com.apple.payment.all-access'
entitlement and reordered the others.
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage): Forwarded
WebPaymentCoordinatorProxy messages to the payment coordinator.
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage): Ditto.
(WebKit::NetworkConnectionToWebProcess::didClose): Set m_paymentCoordinator to nullptr.
- NetworkProcess/NetworkConnectionToWebProcess.h: Inherited from
WebPaymentCoordinatorProxy::Client and added a unique_ptr<WebPaymentCoordinatorProxy> member.
- NetworkProcess/cocoa/NetworkSessionCocoa.h: Declared getters for source application bundle
and secondary identifiers, and CTDataConnectionServiceType on iOS.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::sourceApplicationBundleIdentifier const): Defined getter.
(WebKit::NetworkSessionCocoa::sourceApplicationSecondaryIdentifier const): Ditto.
(WebKit::NetworkSessionCocoa::ctDataConnectionServiceType const): Ditto.
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa): Initialized
m_sourceApplicationBundleIdentifier and m_sourceApplicationSecondaryIdentifier with
corresponding NetworkSessionCreationParameters.
- NetworkProcess/ios/NetworkConnectionToWebProcessIOS.mm: Added.
(WebKit::NetworkConnectionToWebProcess::paymentCoordinator): Added. Returns
m_paymentCoordinator after lazily initializing it.
(WebKit::NetworkConnectionToWebProcess::paymentCoordinatorConnection): Added. Returns the
connection to the web process.
(WebKit::NetworkConnectionToWebProcess::paymentCoordinatorPresentingViewController): Added.
Returns nil.
(WebKit::NetworkConnectionToWebProcess::paymentCoordinatorCTDataConnectionServiceType):
Added. Returns the value from the network session identified by sessionID.
(WebKit::NetworkConnectionToWebProcess::paymentCoordinatorSourceApplicationBundleIdentifier):
Ditto.
(WebKit::NetworkConnectionToWebProcess::paymentCoordinatorSourceApplicationSecondaryIdentifier):
Ditto.
(WebKit::NetworkConnectionToWebProcess::paymentCoordinatorAuthorizationPresenter): Added.
Returns a new PaymentAuthorizationController.
(WebKit::NetworkConnectionToWebProcess::paymentCoordinatorAddMessageReceiver): Added empty
definition. NetworkConnectionToWebProcess explicitly forwards WebPaymentCoordinatorProxy
messages to its payment coordinator, so there's no need to register with a MessageReceiverMap.
(WebKit::NetworkConnectionToWebProcess::paymentCoordinatorRemoveMessageReceiver): Ditto.
- Platform/ios/PaymentAuthorizationController.h: Added. Declares a
PaymentAuthorizationPresenter subclass based on PKPaymentAuthorizationController.
- Platform/ios/PaymentAuthorizationController.mm: Added.
(-[WKPaymentAuthorizationControllerDelegate initWithRequest:presenter:]):
Initialized WKPaymentAuthorizationDelegate with request and presenter.
(-[WKPaymentAuthorizationControllerDelegate paymentAuthorizationControllerDidFinish:]):
Forwarded call to WKPaymentAuthorizationDelegate.
(-[WKPaymentAuthorizationControllerDelegate paymentAuthorizationController:didAuthorizePayment:handler:]):
Ditto.
(-[WKPaymentAuthorizationControllerDelegate paymentAuthorizationController:didSelectShippingMethod:handler:]):
Ditto.
(-[WKPaymentAuthorizationControllerDelegate paymentAuthorizationController:didSelectShippingContact:handler:]):
Ditto.
(-[WKPaymentAuthorizationControllerDelegate paymentAuthorizationController:didSelectPaymentMethod:handler:]):
Ditto.
(-[WKPaymentAuthorizationControllerDelegate paymentAuthorizationController:willFinishWithError:]):
Ditto.
(-[WKPaymentAuthorizationControllerDelegate paymentAuthorizationController:didRequestMerchantSession:]):
Ditto.
(WebKit::PaymentAuthorizationController::PaymentAuthorizationController):
Initialized m_controller with a new PKPaymentAuthorizationController and m_delegate with a
new WKPaymentAuthorizationControllerDelegate.
(WebKit::PaymentAuthorizationController::platformDelegate): Returned m_delegate.
(WebKit::PaymentAuthorizationController::dismiss): Dismissed the controller, set its
delegates to nil, set m_controller to nil, invalidated the delegate, and set m_delegate to
nil.
(WebKit::PaymentAuthorizationController::present): Called -presentWithCompletion: on the
controller, forwarding the passed-in completion handler.
- Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: Allowed PassKit to look up
the "com.apple.passd.in-app-payment" and "com.apple.passd.library" service endpoints.
- Shared/ApplePay/WebPaymentCoordinatorProxy.cpp:
(WebKit::WebPaymentCoordinatorProxy::WebPaymentCoordinatorProxy): Changed to call
paymentCoordinatorAddMessageReceiver.
(WebKit::WebPaymentCoordinatorProxy::~WebPaymentCoordinatorProxy): Changed to call
paymentCoordinatorRemoveMessageReceiver.
(WebKit::WebPaymentCoordinatorProxy::messageSenderDestinationID const): Deleted.
(WebKit::WebPaymentCoordinatorProxy::canMakePaymentsWithActiveCard): Passed sessionID to
platformCanMakePaymentsWithActiveCard.
(WebKit::WebPaymentCoordinatorProxy::showPaymentUI): Stored destinationID and passed
sessionID to platformShowPaymentUI.
(WebKit::WebPaymentCoordinatorProxy::cancelPaymentSession): Changed to account for new
behavior of didCancelPaymentSession.
(WebKit::WebPaymentCoordinatorProxy::didCancelPaymentSession): Changed to call hidePaymentUI.
(WebKit::WebPaymentCoordinatorProxy::presenterDidFinish): Changed to only call hidePaymentUI
when didReachFinalState is true, since didCancelPaymentSession is called otherwise.
(WebKit::WebPaymentCoordinatorProxy::didReachFinalState): Cleared m_destinationID.
- Shared/ApplePay/WebPaymentCoordinatorProxy.h: Added m_destionationID member.
- Shared/ApplePay/WebPaymentCoordinatorProxy.messages.in: Changed
CanMakePaymentsWithActiveCard and ShowPaymentUI messages to take destinationID and sessionID
arguments.
- Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::WebPaymentCoordinatorProxy::platformCanMakePaymentsWithActiveCard): Passed
sessionID to paymentCoordinatorSourceApplicationSecondaryIdentifier.
(WebKit::WebPaymentCoordinatorProxy::platformPaymentRequest): Passed sessionID to various
m_client call sites.
- Shared/ApplePay/ios/WebPaymentCoordinatorProxyIOS.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI): Passed sessionID to
platformPaymentRequest.
(WebKit::WebPaymentCoordinatorProxy::hidePaymentUI): Null-checked m_authorizationPresenter
before calling dismiss.
- Shared/ApplePay/mac/WebPaymentCoordinatorProxyMac.mm:
(WebKit::WebPaymentCoordinatorProxy::platformShowPaymentUI): Passed sessionID to
platformPaymentRequest.
(WebKit::WebPaymentCoordinatorProxy::hidePaymentUI): Null-checked m_authorizationPresenter
before calling dismiss.
- Shared/WebPreferences.yaml: Added ApplePayRemoteUIEnabled as an internal preference.
- SourcesCocoa.txt: Added NetworkConnectionToWebProcessIOS.mm and
PaymentAuthorizationController.mm.
- UIProcess/AuxiliaryProcessProxy.h:
(WebKit::AuxiliaryProcessProxy::messageReceiverMap): Deleted.
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::paymentCoordinatorConnection): Moved from WebPageProxy.cpp.
(WebKit::WebPageProxy::paymentCoordinatorSourceApplicationBundleIdentifier): Ditto.
(WebKit::WebPageProxy::paymentCoordinatorSourceApplicationSecondaryIdentifier): Ditto.
(WebKit::WebPageProxy::paymentCoordinatorAddMessageReceiver): Ditto.
(WebKit::WebPageProxy::paymentCoordinatorRemoveMessageReceiver): Ditto.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::paymentCoordinatorConnection): Moved to WebPageProxyCocoa.mm.
(WebKit::WebPageProxy::paymentCoordinatorMessageReceiver): Ditto.
(WebKit::WebPageProxy::paymentCoordinatorSourceApplicationBundleIdentifier): Ditto.
(WebKit::WebPageProxy::paymentCoordinatorSourceApplicationSecondaryIdentifier): Ditto.
(WebKit::WebPageProxy::paymentCoordinatorDestinationID): Ditto.
- UIProcess/WebPageProxy.h:
- UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::paymentCoordinatorCTDataConnectionServiceType): Asserted that
sessionID equals the website data store's sessionID.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::WebPaymentCoordinator::networkProcessConnectionClosed): Added. Cancels the current
session if Apple Pay Remote UI is enabled and the network process connection closes.
(WebKit::WebPaymentCoordinator::availablePaymentNetworks): Changed to account for
WebPaymentCoordinator being an IPC::MessageSender.
(WebKit::WebPaymentCoordinator::canMakePayments): Ditto.
(WebKit::WebPaymentCoordinator::canMakePaymentsWithActiveCard): Ditto.
(WebKit::WebPaymentCoordinator::openPaymentSetup): Ditto.
(WebKit::WebPaymentCoordinator::showPaymentUI): Ditto.
(WebKit::WebPaymentCoordinator::completeMerchantValidation): Ditto.
(WebKit::WebPaymentCoordinator::completeShippingMethodSelection): Ditto.
(WebKit::WebPaymentCoordinator::completeShippingContactSelection): Ditto.
(WebKit::WebPaymentCoordinator::completePaymentMethodSelection): Ditto.
(WebKit::WebPaymentCoordinator::completePaymentSession): Ditto.
(WebKit::WebPaymentCoordinator::abortPaymentSession): Ditto.
(WebKit::WebPaymentCoordinator::cancelPaymentSession): Ditto.
(WebKit::WebPaymentCoordinator::messageSenderConnection const): Added. Returns a connection
to the network process if Apple Pay Remote UI is enabled. Otherwise, returned the web
process's parent connection.
(WebKit::WebPaymentCoordinator::messageSenderDestinationID const): Added. Returns the web
page's ID.
(WebKit::WebPaymentCoordinator::remoteUIEnabled const): Added. Calls Settings::applePayRemoteUIEnabled.
- WebProcess/ApplePay/WebPaymentCoordinator.h: Inherited from IPC::MessageSender.
- WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage): Forwarded WebPaymentCoordinator
messages to the payment coordinator of the web page matching the decoder's destination ID.
(WebKit::NetworkProcessConnection::didReceiveSyncMessage): Ditto for sync messages.
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::paymentCoordinator): Added a payment coordinator getter.
- WebProcess/WebPage/WebPage.h: Ditto.
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::networkProcessConnectionClosed): Called
WebPaymentCoordinator::networkProcessConnectionClosed when the network process connection
closes.
Source/WTF:
- wtf/FeatureDefines.h: Defined ENABLE_APPLE_PAY_REMOTE_UI.
- 3:37 PM Changeset in webkit [242747] by
-
- 2 edits in trunk/Source/WTF
[JSC] Make StaticStringImpl & StaticSymbolImpl actually static
https://bugs.webkit.org/show_bug.cgi?id=194212
Reviewed by Mark Lam.
Avoid mutation onto refcounts if
isStatic()returns true so that the content of StaticStringImpl never gets modified.
- wtf/text/StringImpl.h:
(WTF::StringImpl::ref):
(WTF::StringImpl::deref):
- 3:31 PM Changeset in webkit [242746] by
-
- 4 edits in trunk/Source/WebCore
Soft linking to Reveal framework should be optional
https://bugs.webkit.org/show_bug.cgi?id=195576
<rdar://problem/46822452>
Reviewed by Megan Gardner.
Source/WebCore:
Systems exist with ENABLE(REVEAL) true and the Reveal framework does not exist.
- editing/cocoa/DictionaryLookup.mm:
(WebCore::showPopupOrCreateAnimationController):
Source/WebCore/PAL:
- pal/spi/cocoa/RevealSPI.h:
- 3:15 PM Changeset in webkit [242745] by
-
- 9 edits in trunk/Source/WebKit
[iOS] Block access to backboardd service
https://bugs.webkit.org/show_bug.cgi?id=195484
Reviewed by Brent Fulgham.
This patch is addressing blocking the backboardd service "com.apple.backboard.hid.services". Getting the
backlight level in the WebContent process will initiate a connection with this service. To be able to
block the service, the backlight level is queried in the UI process and sent to the WebContent process
when the WebContent process is started, and when the backlight level is changed. On the WebContent side,
the method getting the backlight level is swizzled to return the value sent from the UI process.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
- UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::displayBrightness):
(WebKit::WebProcessPool::backlightLevelDidChangeCallback):
(WebKit::WebProcessPool::registerNotificationObservers):
(WebKit::WebProcessPool::unregisterNotificationObservers):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::initializeNewWebProcess):
- UIProcess/WebProcessPool.h:
- WebProcess/WebProcess.h:
- WebProcess/WebProcess.messages.in:
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::currentBacklightLevel):
(WebKit::WebProcess::backlightLevelDidChange):
- 3:12 PM Changeset in webkit [242744] by
-
- 2 edits in trunk/LayoutTests
REGRESSION: Layout Test media/media-fullscreen-return-to-inline.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=193399
Unreviewed test gardening.
- platform/mac/TestExpectations:
- 2:56 PM Changeset in webkit [242743] by
-
- 5 edits1 add in trunk/Source/WebInspectorUI
Web Inspector: DOMDebugger: protocol error on first open
https://bugs.webkit.org/show_bug.cgi?id=195248
<rdar://problem/48538465>
Reviewed by Joseph Pecoraro.
Don't try to call
DOMDebuggercommands until a target has been initialized.
Still attempt to resolve DOM breakpoints whenever the main resource/frame changes.
- UserInterface/Controllers/DOMDebuggerManager.js:
(WI.DOMDebuggerManager):
(WI.DOMDebuggerManager.prototype.initializeTarget): Added.
(WI.DOMDebuggerManager.supportsEventBreakpoints):
(WI.DOMDebuggerManager.prototype.get supported):
(WI.DOMDebuggerManager.prototype.addDOMBreakpoint):
(WI.DOMDebuggerManager.prototype.removeDOMBreakpoint):
(WI.DOMDebuggerManager.prototype.addEventBreakpoint):
(WI.DOMDebuggerManager.prototype.removeEventBreakpoint):
(WI.DOMDebuggerManager.prototype.addURLBreakpoint):
(WI.DOMDebuggerManager.prototype.removeURLBreakpoint):
(WI.DOMDebuggerManager.prototype._speculativelyResolveDOMBreakpointsForURL): Added.
(WI.DOMDebuggerManager.prototype._resolveDOMBreakpoint):
(WI.DOMDebuggerManager.prototype._updateDOMBreakpoint):
(WI.DOMDebuggerManager.prototype._updateEventBreakpoint):
(WI.DOMDebuggerManager.prototype._updateURLBreakpoint):
(WI.DOMDebuggerManager.prototype._saveDOMBreakpoints):
(WI.DOMDebuggerManager.prototype._handleDOMBreakpointDisabledStateChanged):
(WI.DOMDebuggerManager.prototype._handleEventBreakpointDisabledStateChanged):
(WI.DOMDebuggerManager.prototype._handleURLBreakpointDisabledStateChanged):
(WI.DOMDebuggerManager.prototype._mainFrameDidChange):
(WI.DOMDebuggerManager.prototype._mainResourceDidChange):
(WI.DOMDebuggerManager.prototype.removeEventBreakpoint.breakpointRemoved): Deleted.
(WI.DOMDebuggerManager.prototype._speculativelyResolveBreakpoints): Deleted.
(WI.DOMDebuggerManager.prototype._updateDOMBreakpoint.breakpointUpdated): Deleted.
(WI.DOMDebuggerManager.prototype._resolveEventBreakpoint): Deleted.
(WI.DOMDebuggerManager.prototype._resolveURLBreakpoint): Deleted.
- UserInterface/Base/Multimap.js: Added.
(Multimap):
(Multimap.prototype.get):
(Multimap.prototype.add):
(Multimap.prototype.delete):
(Multimap.prototype.clear):
(Multimap.prototype.keys):
(Multimap.prototype.*values):
(Multimap.prototype.*[Symbol.iterator]):
(Multimap.prototype.toJSON):
- .eslintrc:
- UserInterface/Main.html:
- UserInterface/Test.html:
Helper data structure for managing Maps of Sets (e.g. all DOM breakpoints for a URL).
- 2:55 PM Changeset in webkit [242742] by
-
- 18 edits in trunk/Source
[JSC] Reduce # of structures in JSGlobalObject initialization
https://bugs.webkit.org/show_bug.cgi?id=195498
Reviewed by Darin Adler.
Source/JavaScriptCore:
This patch reduces # of structure allocations in JSGlobalObject initialization. Now it becomes 141, it fits in one
MarkedBlock and this patch drops one MarkedBlock used for Structure previously.
- CMakeLists.txt:
- DerivedSources-output.xcfilelist:
- DerivedSources.make:
- JavaScriptCore.xcodeproj/project.pbxproj:
- runtime/ArrayIteratorPrototype.cpp:
(JSC::ArrayIteratorPrototype::finishCreation): ArrayIteratorPrototype, MapIteratorPrototype, and StringIteratorPrototype's
"next" properties are referenced by JSGlobalObject::init, and it causes reification of the lazy "next" property and structure
transition anyway. So we should put it eagerly "without-transition" configuration to avoid one structure transition.
- runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation): @@unscopable object's structure should be dictionary because (1) it is used as a dictionary
in with-scope-resolution and (2) since with-scope-resolution is C++ runtime function anyway, non-dictionary structure does not add
any performance benefit. This change saves several structures that are not useful.
- runtime/ClonedArguments.cpp:
(JSC::ClonedArguments::createStructure): Bake CloneArguments's structure with 'without-transition' manner.
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init): Previously we are always call resetProtoype at the end of JSGlobalObject::init. But it is not necessary
since we do not change Prototype of JSGlobalObject. All we want is (1) fixupPrototypeChainWithObjectPrototype's operation and (2) setGlobalThis
operation. Since setGlobalThis part is done in JSGlobalObject::finishCreation, fixupPrototypeChainWithObjectPrototype is only the thing
we should do here.
(JSC::JSGlobalObject::fixupPrototypeChainWithObjectPrototype):
(JSC::JSGlobalObject::resetPrototype): If the Prototype is the same to the current Prototype, we can skip the operation.
- runtime/JSGlobalObject.h:
- runtime/MapIteratorPrototype.cpp:
(JSC::MapIteratorPrototype::finishCreation):
- runtime/NullGetterFunction.h:
- runtime/NullSetterFunction.h: Since structures of them are allocated per JSGlobalObject and they are per-JSGlobalObject,
we can use without-transition property addition.
- runtime/StringIteratorPrototype.cpp:
(JSC::StringIteratorPrototype::finishCreation):
- runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::setIteratorStructureSlow):
(JSC::VM::mapIteratorStructureSlow): These structures are only used in WebCore's main thread.
- runtime/VM.h:
(JSC::VM::setIteratorStructure):
(JSC::VM::mapIteratorStructure):
Source/WebCore:
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::serialize):
- 2:26 PM Changeset in webkit [242741] by
-
- 9 edits2 deletes in trunk/Source/WebInspectorUI
Web Inspector: CPU Usage Timeline - Enable by default
https://bugs.webkit.org/show_bug.cgi?id=195471
Reviewed by Devin Rousso.
Remove experimental setting and include the CPU timeline in the
default set of timelines.
- UserInterface/Base/Setting.js:
- UserInterface/Controllers/TimelineManager.js:
(WI.TimelineManager.defaultTimelineTypes):
- UserInterface/Main.html:
- UserInterface/Views/CPUTimelineOverviewGraph.css:
(.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect.selected):
(.timeline-overview-graph.cpu > .column-chart > svg > rect): Deleted.
(body[dir=rtl] .timeline-overview-graph.cpu > .column-chart): Deleted.
- UserInterface/Views/CPUTimelineOverviewGraph.js:
(WI.CPUTimelineOverviewGraph):
(WI.CPUTimelineOverviewGraph.prototype.layout):
- UserInterface/Views/ContentView.js:
(WI.ContentView.createFromRepresentedObject):
- UserInterface/Views/LegacyCPUTimelineView.css: Removed.
- UserInterface/Views/LegacyCPUTimelineView.js: Removed.
- UserInterface/Views/SettingsTabContentView.js:
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
- UserInterface/Views/Variables.css:
(:root):
- 2:26 PM Changeset in webkit [242740] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: CPU Usage Timeline - Better Thread chart layout values
https://bugs.webkit.org/show_bug.cgi?id=195547
Reviewed by Devin Rousso.
- UserInterface/Views/CPUTimelineView.js:
(WI.CPUTimelineView.prototype.layout.bestThreadLayoutMax):
(WI.CPUTimelineView.prototype.layout.layoutView):
(WI.CPUTimelineView.prototype._showGraphOverlay):
Include a separate layoutMax for the combined view and a thread layoutMax
for the thread groups.
- 2:26 PM Changeset in webkit [242739] by
-
- 10 edits1 move1 add3 deletes in trunk/Source/WebInspectorUI
Web Inspector: CPU Usage Timeline - Add legend and graph hover effects
https://bugs.webkit.org/show_bug.cgi?id=195390
Reviewed by Devin Rousso.
- Localizations/en.lproj/localizedStrings.js:
New strings for the legends.
- UserInterface/Main.html:
Combined files.
- UserInterface/Views/Variables.css:
(:root):
(@media (prefers-color-scheme: dark)):
Tweaked colors, including individual stroke and fill colors for each CPU section.
- UserInterface/Views/CPUTimelineOverviewGraph.css:
(.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect.total-usage):
(.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect.main-thread-usage):
(.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect.worker-thread-usage):
Updated colors.
- UserInterface/Views/CPUUsageCombinedView.css: Renamed from Source/WebInspectorUI/UserInterface/Views/CPUUsageStackedView.css.
(.cpu-usage-combined-view > .details > .legend-container):
(.cpu-usage-combined-view > .details > .legend-container > .row):
(.cpu-usage-combined-view > .details > .legend-container > .row + .row):
(.cpu-usage-combined-view > .details > .legend-container > .row > .swatch):
- UserInterface/Views/CPUUsageCombinedView.js: Renamed from Source/WebInspectorUI/UserInterface/Views/CPUUsageStackedView.js.
(WI.CPUUsageCombinedView.appendLegendRow):
(WI.CPUUsageCombinedView):
(WI.CPUUsageCombinedView.prototype.get graphElement):
(WI.CPUUsageCombinedView.prototype.get chart):
(WI.CPUUsageCombinedView.prototype.get rangeChart):
(WI.CPUUsageCombinedView.prototype.clear):
(WI.CPUUsageCombinedView.prototype.updateChart):
(WI.CPUUsageCombinedView.prototype.updateMainThreadIndicator):
(WI.CPUUsageCombinedView.prototype.clearLegend):
(WI.CPUUsageCombinedView.prototype.updateLegend):
(WI.CPUUsageCombinedView.prototype._updateDetails):
- UserInterface/Views/CPUUsageIndicatorView.css: Removed.
- UserInterface/Views/CPUUsageIndicatorView.js: Removed.
Combined the Indicator and StackedAreaChart into a single view
that share a left details section.
- UserInterface/Views/CPUUsageView.js:
(WI.CPUUsageView):
(WI.CPUUsageView.prototype.get graphElement):
(WI.CPUUsageView.prototype.clear):
(WI.CPUUsageView.prototype.updateChart):
(WI.CPUUsageView.prototype.clearLegend):
(WI.CPUUsageView.prototype.updateLegend):
(WI.CPUUsageView.prototype._updateDetails):
Include a legend in the left details section.
- UserInterface/Views/AreaChart.js:
(WI.AreaChart):
(WI.AreaChart.prototype.addPointMarker):
(WI.AreaChart.prototype.clearPointMarkers):
(WI.AreaChart.prototype.clear):
(WI.AreaChart.prototype.layout):
- UserInterface/Views/StackedAreaChart.js:
(WI.StackedAreaChart):
(WI.StackedAreaChart.prototype.addPointMarker):
(WI.StackedAreaChart.prototype.clearPointMarkers):
(WI.StackedAreaChart.prototype.clear):
(WI.StackedAreaChart.prototype.layout):
Add point markers for the area charts.
- UserInterface/Views/CPUTimelineView.css:
- UserInterface/Views/CPUTimelineView.js:
(WI.CPUTimelineView):
(WI.CPUTimelineView.prototype.get cpuUsageViewHeight):
(WI.CPUTimelineView.prototype.clear):
(WI.CPUTimelineView.prototype.initialLayout.appendLegendRow):
(WI.CPUTimelineView.prototype.initialLayout):
(WI.CPUTimelineView.prototype.layout):
(WI.CPUTimelineView.prototype._graphPositionForMouseEvent):
(WI.CPUTimelineView.prototype._handleMouseClick):
(WI.CPUTimelineView.prototype._handleGraphMouseMove):
(WI.CPUTimelineView.prototype._showGraphOverlayNearTo):
(WI.CPUTimelineView.prototype._updateGraphOverlay):
(WI.CPUTimelineView.prototype._showGraphOverlay.xScale):
(WI.CPUTimelineView.prototype._showGraphOverlay.yScale):
(WI.CPUTimelineView.prototype._showGraphOverlay.addOverlayPoint):
(WI.CPUTimelineView.prototype._showGraphOverlay):
(WI.CPUTimelineView.prototype._clearOverlayMarkers.clearGraphOverlayElement):
(WI.CPUTimelineView.prototype._clearOverlayMarkers):
(WI.CPUTimelineView.prototype._hideGraphOverlay):
Include graph overlay markers.
- 2:19 PM Changeset in webkit [242738] by
-
- 29 edits in trunk/Source
Remove obsolete runtime flag for StorageAccess API Prompt
https://bugs.webkit.org/show_bug.cgi?id=195564
<rdar://problem/37279014>
Reviewed by Chris Dumez.
This bug tracks the work of removing the obsolete flag that had been used to optionally
prevent display of the StorageAccess API prompt. We have since shipped the final version
of this feature with an always-on prompt, and should have removed this runtime flag.
No test changes because this has no change in behavior. Tests already assume the prompt
behavior, and did not test turning the flag off.
Source/WebCore:
- page/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::setStorageAccessPromptsEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::storageAccessPromptsEnabled const): Deleted.
- testing/InternalSettings.cpp:
(WebCore::InternalSettings::Backup::Backup):
(WebCore::InternalSettings::Backup::restoreTo):
(WebCore::InternalSettings::setStorageAccessPromptsEnabled): Deleted.
- testing/InternalSettings.h:
(): Deleted.
- testing/InternalSettings.idl:
Source/WebKit:
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsDatabaseStore::grantStorageAccessInternal):
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::requestStorageAccess):
(WebKit::ResourceLoadStatisticsMemoryStore::grantStorageAccessInternal):
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
(WebKit::ResourceLoadStatisticsStore::debugModeEnabled const):
(WebKit::ResourceLoadStatisticsStore::storageAccessPromptsEnabled const): Deleted.
(WebKit::ResourceLoadStatisticsStore::setStorageAccessPromptsEnabled): Deleted.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::requestStorageAccessGranted):
(WebKit::WebResourceLoadStatisticsStore::requestStorageAccess):
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
- NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::requestStorageAccess):
- NetworkProcess/NetworkConnectionToWebProcess.h:
- NetworkProcess/NetworkConnectionToWebProcess.messages.in:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::requestStorageAccess):
(WebKit::NetworkProcess::requestStorageAccessGranted):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- Shared/WebPreferences.yaml:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetStorageAccessPromptsEnabled): Deleted.
(WKPreferencesGetStorageAccessPromptsEnabled): Deleted.
- UIProcess/API/C/WKPreferencesRef.h:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _storageAccessPromptsEnabled]): Deleted.
(-[WKPreferences _setStorageAccessPromptsEnabled:]): Deleted.
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::requestStorageAccess):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::requestStorageAccess):
- UIProcess/WebsiteData/WebsiteDataStore.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::requestStorageAccess):
- 1:35 PM Changeset in webkit [242737] by
-
- 10 edits in trunk/Source/WebInspectorUI
Web Inspector: eliminate manual syncing of numeric constants used by JavaScript and CSS
https://bugs.webkit.org/show_bug.cgi?id=194883
<rdar://problem/48257785>
Reviewed by Joseph Pecoraro.
- UserInterface/Views/CanvasOverviewContentView.js:
(WI.CanvasOverviewContentView):
(WI.CanvasOverviewContentView.static get recordingAutoCaptureInputMargin): Added.
(WI.CanvasOverviewContentView.prototype._updateRecordingAutoCaptureInputElementSize):
- UserInterface/Views/CanvasOverviewContentView.css:
(.navigation-bar > .item.canvas-recording-auto-capture > label > input):
- UserInterface/Views/MemoryTimelineView.js:
(WI.MemoryTimelineView.static get memoryCategoryViewHeight): Added.
(WI.MemoryTimelineView.prototype.initialLayout): Added.
(WI.MemoryTimelineView.prototype.layout):
- UserInterface/Views/MemoryCategoryView.css:
(.memory-category-view):
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.static get nodeWaterfallDOMEventSize): Added.
(WI.NetworkTableContentView.prototype.initialLayout):
- UserInterface/Views/NetworkTableContentView.css:
(.content-view.network .network-table): Deleted.
- UserInterface/Views/TreeOutline.js:
(WI.TreeOutline._generateStyleRulesIfNeeded):
- UserInterface/Views/TreeOutline.css:
(.tree-outline, .tree-outline .children):
(.tree-outline .item):
- UserInterface/Controllers/CanvasManager.js:
(WI.CanvasManager.supportsRecordingAutoCapture):
Drive-by: fix usage of InspectorBackend.domains.{CanvasAgent => Canvas}
- 1:22 PM Changeset in webkit [242736] by
-
- 2 edits in trunk/LayoutTests
Unreviewed, fix a test expecation linter warning for macOS.
- platform/mac/TestExpectations: Delete the entry for 'media/modern-media-controls/media-documents/ipad'.
- 1:21 PM Changeset in webkit [242735] by
-
- 23 edits in trunk
Add a WKContentRuleList variant that uses copied memory instead of mmap'd shared memory for class A containerized apps
https://bugs.webkit.org/show_bug.cgi?id=195511
<rdar://problem/44873269>
Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-11
Reviewed by Darin Adler.
Source/WebKit:
- NetworkProcess/NetworkContentRuleListManager.cpp:
(WebKit::NetworkContentRuleListManager::addContentRuleLists):
- NetworkProcess/NetworkContentRuleListManager.h:
- NetworkProcess/cache/NetworkCacheFileSystem.cpp:
(WebKit::NetworkCache::pathRegisteredAsUnsafeToMemoryMapForTesting):
(WebKit::NetworkCache::registerPathAsUnsafeToMemoryMapForTesting):
(WebKit::NetworkCache::isSafeToUseMemoryMapForPath):
- NetworkProcess/cache/NetworkCacheFileSystem.h:
- Shared/WebCompiledContentRuleList.cpp:
(WebKit::WebCompiledContentRuleList::usesCopiedMemory const):
(WebKit::WebCompiledContentRuleList::conditionsApplyOnlyToDomain const):
(WebKit::WebCompiledContentRuleList::filtersWithoutConditionsBytecode const):
(WebKit::WebCompiledContentRuleList::filtersWithConditionsBytecode const):
(WebKit::WebCompiledContentRuleList::topURLFiltersBytecode const):
(WebKit::WebCompiledContentRuleList::actions const):
- Shared/WebCompiledContentRuleList.h:
- Shared/WebCompiledContentRuleListData.cpp:
(WebKit::WebCompiledContentRuleListData::size const):
(WebKit::WebCompiledContentRuleListData::dataPointer const):
(WebKit::WebCompiledContentRuleListData::encode const):
(WebKit::WebCompiledContentRuleListData::decode):
- Shared/WebCompiledContentRuleListData.h:
(WebKit::WebCompiledContentRuleListData::WebCompiledContentRuleListData):
- UIProcess/API/APIContentRuleList.cpp:
(API::ContentRuleList::usesCopiedMemory const):
- UIProcess/API/APIContentRuleList.h:
- UIProcess/API/APIContentRuleListStore.cpp:
(API::getData):
(API::decodeContentRuleListMetaData):
(API::ContentRuleListStore::readContentsOfFile):
(API::MappedOrCopiedData::dataPointer const):
(API::openAndMapOrCopyContentRuleList):
(API::compiledToFile):
(API::createExtension):
(API::ContentRuleListStore::lookupContentRuleList):
(API::ContentRuleListStore::compileContentRuleList):
(API::ContentRuleListStore::getContentRuleListSource):
(API::openAndMapContentRuleList): Deleted.
- UIProcess/API/APIContentRuleListStore.h:
- UIProcess/API/Cocoa/APIContentRuleListStoreCocoa.mm:
(API::ContentRuleListStore::readContentsOfFile):
- UIProcess/API/Cocoa/WKContentRuleListStore.mm:
(+[WKContentRuleListStore _registerPathAsUnsafeToMemoryMapForTesting:]):
- UIProcess/API/Cocoa/WKContentRuleListStorePrivate.h:
- UIProcess/API/Cocoa/_WKUserContentFilter.mm:
(-[_WKUserContentFilter usesCopiedMemory]):
- UIProcess/API/Cocoa/_WKUserContentFilterPrivate.h:
- WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserContentController::addContentRuleLists):
- WebProcess/UserContent/WebUserContentController.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_hostFileDescriptor):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm:
(-[TestSchemeHandlerSubresourceShouldBeBlocked webView:startURLSchemeTask:]):
(-[TestSchemeHandlerSubresourceShouldBeBlocked webView:stopURLSchemeTask:]):
(TEST_F):
- 1:19 PM Changeset in webkit [242734] by
-
- 28 edits in trunk/Source/WebCore
Add web audio release logging
https://bugs.webkit.org/show_bug.cgi?id=195554
<rdar://problem/48767211>
Reviewed by Jer Noble.
No new tests, no functional change.
- Modules/webaudio/AudioBasicInspectorNode.cpp:
(WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
- Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::setBuffer):
(WebCore::AudioBufferSourceNode::startPlaying):
- Modules/webaudio/AudioContext.cpp:
(WebCore::nextLogIdentifier):
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::uninitialize):
(WebCore::AudioContext::stop):
(WebCore::AudioContext::createBufferSource):
(WebCore::AudioContext::createMediaElementSource):
(WebCore::AudioContext::createMediaStreamSource):
(WebCore::AudioContext::createScriptProcessor):
(WebCore::AudioContext::createBiquadFilter):
(WebCore::AudioContext::createWaveShaper):
(WebCore::AudioContext::createPanner):
(WebCore::AudioContext::createConvolver):
(WebCore::AudioContext::createDynamicsCompressor):
(WebCore::AudioContext::createAnalyser):
(WebCore::AudioContext::createGain):
(WebCore::AudioContext::createDelay):
(WebCore::AudioContext::createChannelSplitter):
(WebCore::AudioContext::createChannelMerger):
(WebCore::AudioContext::createOscillator):
(WebCore::AudioContext::createPeriodicWave):
(WebCore::AudioContext::willBeginPlayback):
(WebCore::AudioContext::startRendering):
(WebCore::AudioContext::fireCompletionEvent):
(WebCore::AudioContext::logChannel const):
- Modules/webaudio/AudioContext.h:
(WebCore::AudioContext::nextAudioNodeLogIdentifier):
(WebCore::AudioContext::nextAudioParameterLogIdentifier):
- Modules/webaudio/AudioDestinationNode.cpp:
(WebCore::AudioDestinationNode::AudioDestinationNode):
- Modules/webaudio/AudioNode.cpp:
(WebCore::convertEnumerationToString):
(WebCore::AudioNode::AudioNode):
(WebCore::AudioNode::~AudioNode):
(WebCore::AudioNode::setNodeType):
(WebCore::AudioNode::addInput):
(WebCore::AudioNode::addOutput):
(WebCore::AudioNode::connect):
(WebCore::AudioNode::disconnect):
(WebCore::AudioNode::setChannelCount):
(WebCore::AudioNode::setChannelCountMode):
(WebCore::AudioNode::setChannelInterpretation):
(WebCore::AudioNode::logChannel const):
- Modules/webaudio/AudioNode.h:
(WTF::LogArgument<WebCore::AudioNode::NodeType>::toString):
- Modules/webaudio/AudioParam.cpp:
(WebCore::AudioParam::AudioParam):
(WebCore::AudioParam::setValue):
(WebCore::AudioParam::connect):
(WebCore::AudioParam::disconnect):
(WebCore::AudioParam::logChannel const):
- Modules/webaudio/AudioParam.h:
- Modules/webaudio/AudioScheduledSourceNode.cpp:
(WebCore::AudioScheduledSourceNode::start):
(WebCore::AudioScheduledSourceNode::stop):
- Modules/webaudio/BiquadFilterNode.cpp:
(WebCore::BiquadFilterNode::BiquadFilterNode):
- Modules/webaudio/ChannelMergerNode.cpp:
(WebCore::ChannelMergerNode::ChannelMergerNode):
- Modules/webaudio/ChannelSplitterNode.cpp:
(WebCore::ChannelSplitterNode::ChannelSplitterNode):
- Modules/webaudio/ConvolverNode.cpp:
(WebCore::ConvolverNode::ConvolverNode):
- Modules/webaudio/DefaultAudioDestinationNode.cpp:
(WebCore::DefaultAudioDestinationNode::initialize):
(WebCore::DefaultAudioDestinationNode::uninitialize):
(WebCore::DefaultAudioDestinationNode::enableInput):
(WebCore::DefaultAudioDestinationNode::setChannelCount):
- Modules/webaudio/DelayNode.cpp:
(WebCore::DelayNode::DelayNode):
- Modules/webaudio/DynamicsCompressorNode.cpp:
(WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
- Modules/webaudio/GainNode.cpp:
(WebCore::GainNode::GainNode):
- Modules/webaudio/MediaElementAudioSourceNode.cpp:
(WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
- Modules/webaudio/MediaStreamAudioSourceNode.cpp:
(WebCore::MediaStreamAudioSourceNode::MediaStreamAudioSourceNode):
- Modules/webaudio/OfflineAudioDestinationNode.cpp:
(WebCore::OfflineAudioDestinationNode::startRendering):
- Modules/webaudio/OscillatorNode.cpp:
(WebCore::OscillatorNode::setType):
(WebCore::OscillatorNode::setPeriodicWave):
- Modules/webaudio/OscillatorNode.h:
(WTF::LogArgument<WebCore::OscillatorNode::Type>::toString):
- Modules/webaudio/PannerNode.cpp:
(WebCore::PannerNode::PannerNode):
- Modules/webaudio/ScriptProcessorNode.cpp:
(WebCore::ScriptProcessorNode::ScriptProcessorNode):
- Modules/webaudio/WaveShaperNode.cpp:
(WebCore::WaveShaperNode::WaveShaperNode):
(WebCore::WaveShaperNode::setCurve):
(WebCore::WaveShaperNode::setOversample):
- Modules/webaudio/WaveShaperNode.h:
(WTF::LogArgument<WebCore::WaveShaperNode::OverSampleType>::toString):
- 1:17 PM Changeset in webkit [242733] by
-
- 2 edits in trunk/Tools
Regression(r242664) WebKit.WebsitePoliciesDeviceOrientationEventEnabled API test is timing out
https://bugs.webkit.org/show_bug.cgi?id=195561
Reviewed by Youenn Fablet.
Make sure the JS in the test requests for permission to receive device orientation events.
- TestWebKitAPI/Tests/WebKitCocoa/WebsitePolicies.mm:
- 1:06 PM Changeset in webkit [242732] by
-
- 2 edits in trunk/Source/WTF
Crash under WebCore::IDBDatabase::connectionToServerLost
https://bugs.webkit.org/show_bug.cgi?id=195563
<rdar://problem/37193655>
CrossThreadTask should protect callee if it is ThreadSafeRefCounted.
Reviewed by Geoffrey Garen.
- wtf/CrossThreadTask.h:
(WTF::createCrossThreadTask):
- 1:05 PM Changeset in webkit [242731] by
-
- 2 edits in trunk/Source/WebInspectorUI
REGRESSION(r242622): Web Inspector: Fix asserts "Overridden property is missing overridingProperty"
https://bugs.webkit.org/show_bug.cgi?id=195515
<rdar://problem/48737315>
Reviewed by Matt Baker.
- UserInterface/Views/SpreadsheetStyleProperty.js:
(WI.SpreadsheetStyleProperty.prototype.updateStatus):
- 1:03 PM Changeset in webkit [242730] by
-
- 2 edits in trunk/LayoutTests
[ iOS Sim ] Layout Test imported/w3c/web-platform-tests/webrtc/simplecall-no-ssrcs.https.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=195433
Unreviewed test gardening.
- platform/ios/TestExpectations: Skip the test.
- 1:00 PM Changeset in webkit [242729] by
-
- 4 edits in trunk/Source/WebCore
Make IDBDatabaseIdentifier take a ClientOrigin as member
https://bugs.webkit.org/show_bug.cgi?id=195544
Reviewed by Geoffrey Garen.
Instead of taking a top and a frame origin, make
make IDBDatabaseIdentifier take a ClientOrigin.
This allows reusing some ClientOrigin code
and will ease implementation of storage quota checking in
NetworkProcess, as quota managers are keyed by client origins.
No change of behavior.
- Modules/indexeddb/IDBDatabaseIdentifier.cpp:
(WebCore::IDBDatabaseIdentifier::IDBDatabaseIdentifier):
(WebCore::IDBDatabaseIdentifier::isolatedCopy const):
(WebCore::IDBDatabaseIdentifier::databaseDirectoryRelativeToRoot const):
(WebCore::IDBDatabaseIdentifier::debugString const):
- Modules/indexeddb/IDBDatabaseIdentifier.h:
(WebCore::IDBDatabaseIdentifier::hash const):
(WebCore::IDBDatabaseIdentifier::operator== const):
(WebCore::IDBDatabaseIdentifier::origin const):
(WebCore::IDBDatabaseIdentifier::isRelatedToOrigin const):
(WebCore::IDBDatabaseIdentifier::encode const):
(WebCore::IDBDatabaseIdentifier::decode):
- page/ClientOrigin.h:
(WebCore::ClientOrigin::isRelated const):
- 12:51 PM Changeset in webkit [242728] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, fix assertions in layout tests on iOS Simulator after r242666.
Log an error but do not crash if we fail to acquire a ProcessAssertion.
- UIProcess/ios/ProcessAssertionIOS.mm:
(WebKit::ProcessAssertion::ProcessAssertion):
- 12:38 PM Changeset in webkit [242727] by
-
- 11 edits in trunk
Allow storage quota increase by default in WTR
https://bugs.webkit.org/show_bug.cgi?id=195541
Reviewed by Geoffrey Garen.
Tools:
Allow storage quota increase by default in WTR.
Move from testRunner.allowStorageQuotaIncrease to testRunner.setAllowStorageQuotaIncrease.
Use this for tests that explicitly need cache increase.
Instead of increasing quota by 2, make sure the next request is
granted by adding all given parameters.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setAllowStorageQuotaIncrease):
(WTR::TestRunner::allowCacheStorageQuotaIncrease): Deleted.
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::setAllowStorageQuotaIncrease):
(WTR::TestController::allowCacheStorageQuotaIncrease): Deleted.
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
- WebKitTestRunner/cocoa/TestControllerCocoa.mm:
(WTR::TestController::cocoaResetStateToConsistentValues):
(WTR::TestController::setAllowStorageQuotaIncrease):
(WTR::TestController::allowCacheStorageQuotaIncrease): Deleted.
- WebKitTestRunner/cocoa/TestWebsiteDataStoreDelegate.mm:
(-[TestWebsiteDataStoreDelegate requestStorageSpace:frameOrigin:quota:currentSize:spaceRequired:decisionHandler:]):
LayoutTests:
- http/wpt/cache-storage/cache-quota.any.js:
(promise_test):
- 12:30 PM Changeset in webkit [242726] by
-
- 6 edits in trunk/Source/WebKit
WebProcessCache should keep track of processes being added
https://bugs.webkit.org/show_bug.cgi?id=195538
Reviewed by Geoffrey Garen.
WebProcessCache should keep track of processes being added, while they are being
checked for responsiveness. This is useful so that:
- Requests to clear the cache also clear processes being added
- Requests to remove a given process from the cache (either because it crashed or because it is being used for a history navigation) actually remove the process if it is still being checked for responsiveness.
- The cached process eviction timer applies to such processes in case something goes wrong with the code and the pending request does not get processed.
- UIProcess/WebProcessCache.cpp:
(WebKit::generateAddRequestIdentifier):
(WebKit::WebProcessCache::addProcessIfPossible):
(WebKit::WebProcessCache::addProcess):
(WebKit::WebProcessCache::clear):
(WebKit::WebProcessCache::clearAllProcessesForSession):
(WebKit::WebProcessCache::removeProcess):
(WebKit::WebProcessCache::CachedProcess::evictionTimerFired):
(WebKit::WebProcessCache::evictProcess): Deleted.
- UIProcess/WebProcessCache.h:
(WebKit::WebProcessCache::size const):
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::processForNavigationInternal):
- UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::processDidTerminateOrFailedToLaunch):
- 12:21 PM Changeset in webkit [242725] by
-
- 6 edits in trunk/Source/WebCore
Unreviewed. Manually rolling out r242701 and r242703 since the changes
are causing test timeouts and crashes on GTK and WPE.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
(WebCore::MediaPlayerPrivateGStreamerBase::flushCurrentBuffer):
(WebCore::MediaPlayerPrivateGStreamerBase::createGLAppSink):
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::pushNextBuffer):
(WebCore::TextureMapperPlatformLayerProxy::dropCurrentBufferWhilePreservingTexture):
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:
(): Deleted.
- 12:11 PM Changeset in webkit [242724] by
-
- 4 edits in trunk
[CMake] Build 32bit binaries on Linux/64bit when the --32-bit is passed to build-jsc
https://bugs.webkit.org/show_bug.cgi?id=194147
Patch by Xan Lopez <Xan Lopez> on 2019-03-11
Reviewed by Michael Saboff.
.:
- CMakeLists.txt: set WTF_CPU properly if FORCE_32BIT is set in
build-jsc.
Tools:
To make --32-bit work correctly on Linux/64bit we need to:
- Set FORCE_32BIT on, which will be read by CMake to set WTF_CPU
correctly. Ideally we'd just redefine CMAKE_SYSTEM_PROCESSOR, but
unfortunately CMake only allows us to do this during
crosscompilation, which is overkill here.
- Set CMAKE_PREFIX_PATH and CMAKE_LIBRARY_ARCHITECTURE so that the
pkg-config detection module uses the x86 .pc files instead of the
x86_64 ones.
- Set the -m32 flags for the compiler.
- Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject):
- 12:07 PM Changeset in webkit [242723] by
-
- 4 edits in trunk/Source/WebKit
REGRESSION: ( r240978-r240985 ) [ iOS Release ] Layout Test imported/w3c/web-platform-tests/xhr/send-redirect-post-upload.htm is crashing
https://bugs.webkit.org/show_bug.cgi?id=194523
Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-11
Reviewed by Alexey Proskuryakov.
Attempt another workaround to prevent crashes.
- NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
- NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:
(WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(-[WKNetworkSessionDelegate URLSession:task:needNewBodyStream:]):
- 11:59 AM Changeset in webkit [242722] by
-
- 4 edits in trunk/Source/JavaScriptCore
[JSC] BuiltinExecutables should behave like a WeakSet instead of generic WeakHandleOwner for memory footprint
https://bugs.webkit.org/show_bug.cgi?id=195508
Reviewed by Darin Adler.
Weak<> is not cheap in terms of memory footprint. We allocate WeakBlock (256 bytes) for book-keeping Weak<>.
Currently BuiltinExecutables has 203 Weak<> members and many WeakBlocks are actually allocated because
many UnlinkedFunctionExecutables in BuiltinExecutables are allocated during JSGlobalObject initialization process.
This patch changes two things in BuiltinExecutables.
- Previously we have m_xxxSourceCode fields too. But we do not need to keep it since we know how to produce it when it is required. We generate SourceCode in xxxSourceCode() method instead of just returning m_xxxSourceCode. This reduces sizeof(BuiltinExecutables) 24 x 203 = 4KB.
- Instead of using Weak<>, BuiltinExecutables holds raw array of UnlinkedFunctionExecutable*. And Heap::finalizeUnconditionalFinalizers() correctly clears dead executables. This is similar to JSWeakSet implementation. And it saves WeakBlock allocations.
- builtins/BuiltinExecutables.cpp:
(JSC::BuiltinExecutables::BuiltinExecutables):
(JSC::BuiltinExecutables::finalizeUnconditionally):
(JSC::JSC_FOREACH_BUILTIN_CODE): Deleted.
(JSC::BuiltinExecutables::finalize): Deleted.
- builtins/BuiltinExecutables.h:
(JSC::BuiltinExecutables::static_cast<unsigned>):
(): Deleted.
- heap/Heap.cpp:
(JSC::Heap::finalizeUnconditionalFinalizers):
- 11:45 AM Changeset in webkit [242721] by
-
- 1 edit1 add in trunk/Tools
Add MotionMark-1.1 plan file for run-benchmark script.
https://bugs.webkit.org/show_bug.cgi?id=195481
Rubber-stamped by Darin Adler.
Run-benchmark script should support MontionMark-1.1.
- Scripts/webkitpy/benchmark_runner/data/plans/motionmark1.1.plan: Added.
- 11:30 AM Changeset in webkit [242720] by
-
- 12 edits in trunk/Source/WebCore
Use AVContentKeySession for "com.apple.fps.2_0" CDM version when AVStreamSession is absent
https://bugs.webkit.org/show_bug.cgi?id=195462
<rdar://problem/48712306>
Reviewed by Eric Carlson.
The difference between "com.apple.fps.2_0" and "3_0" is a protocol difference more than an
implementation difference. In "2_0", the "EME nitialization" data comes in the form of a "content
identifier", while the true initialization data is retrieved through a side channel directly from
the attached element. In "3_0", the "EME initialization data" is the exact initialization data
given by the parser, with no "content identifier" at all.
In the original implementation, the "2_0" used AVStreamSession, and "3_0" used AVContentKeySession,
but in the absense of AVStreamSession, those protocol differences are minor and can be implemented
using AVContentKeySession.
Changes:
- Add a new helper struct in CDMPrivateMediaSourceAVFObjC that represents the parsed parameters of the CDM string.
- Add an "initData()" accessor to SourceBufferPrivateAVFObjC so that the "2_0" path can implement the side channel access to the necessary initialization data.
- Refactor some of the SPI code to not re-declare unnecessary APIs.
- In CDMSessionAVContentKeySession::generateKeyRequest(), this function can never be called twice so it is a logical impossibility to have a certificate at this point. Remove all this if() code.
- Modules/encryptedmedia/legacy/LegacyCDM.cpp:
- platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:
(WebCore::CDMPrivateMediaSourceAVFObjC::parseKeySystem):
(WebCore::queryDecoderAvailability):
(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystem):
(WebCore::CDMPrivateMediaSourceAVFObjC::createSession):
(WebCore::validKeySystemRE): Deleted.
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.h:
- platform/graphics/avfoundation/objc/CDMSessionAVContentKeySession.mm:
(WebCore::CDMSessionAVContentKeySession::CDMSessionAVContentKeySession):
(WebCore::CDMSessionAVContentKeySession::generateKeyRequest):
(WebCore::CDMSessionAVContentKeySession::update):
(WebCore::CDMSessionAVContentKeySession::addParser):
(WebCore::CDMSessionAVContentKeySession::removeParser):
(WebCore::CDMSessionAVContentKeySession::contentKeySession):
- platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.h:
- platform/graphics/avfoundation/objc/CDMSessionAVStreamSession.mm:
(WebCore::CDMSessionAVStreamSession::CDMSessionAVStreamSession):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCDMSession):
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
- platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:
(WebCore::SourceBufferPrivateAVFObjC::didProvideContentKeyRequestInitializationDataForTrackID):
- 11:22 AM Changeset in webkit [242719] by
-
- 4 edits2 adds in trunk/Tools
[ews-app] Add support for submit-to-ews url
https://bugs.webkit.org/show_bug.cgi?id=195477
Reviewed by Lucas Forschler.
- BuildSlaveSupport/ews-app/ews/fetcher.py:
- BuildSlaveSupport/ews-app/ews/templates/statusbubble.html:
- BuildSlaveSupport/ews-app/ews/templates/submittoews.html: Copied from QueueStatusServer/templates/submittoews.html.
- BuildSlaveSupport/ews-app/ews/urls.py:
- BuildSlaveSupport/ews-app/ews/views/submittoews.py: Added.
- 10:54 AM Changeset in webkit [242718] by
-
- 2 edits in trunk/Source/JavaScriptCore
IntlDateTimeFormat can be shrunk by 32 bytes
https://bugs.webkit.org/show_bug.cgi?id=195504
Reviewed by Darin Adler.
- runtime/IntlDateTimeFormat.h:
- 10:39 AM Changeset in webkit [242717] by
-
- 2 edits in trunk/Source/JavaScriptCore
IntlCollator can be shrunk by 16 bytes
https://bugs.webkit.org/show_bug.cgi?id=195503
Reviewed by Darin Adler.
- runtime/IntlCollator.h:
- 10:27 AM Changeset in webkit [242716] by
-
- 2 edits in trunk/Source/JavaScriptCore
IntlNumberFormat can be shrunk by 16 bytes
https://bugs.webkit.org/show_bug.cgi?id=195505
Reviewed by Darin Adler.
- runtime/IntlNumberFormat.h:
- 10:21 AM Changeset in webkit [242715] by
-
- 25 edits6 adds in trunk
[ESNext][BigInt] Implement "~" unary operation
https://bugs.webkit.org/show_bug.cgi?id=182216
Reviewed by Keith Miller.
JSTests:
- stress/big-int-bit-not-general.js: Added.
- stress/big-int-bitwise-not-jit.js: Added.
- stress/big-int-bitwise-not-wrapped-value.js: Added.
- stress/bit-op-with-object-returning-int32.js:
- stress/bitwise-not-fixup-rules.js: Added.
- stress/value-bit-not-ai-rule.js: Added.
PerformanceTests:
- BigIntBench/big-int-simple-bit-not.js: Added.
Source/JavaScriptCore:
This patch is adding support of BigInt into op_bitnot operations. In
addition, we are changing ArithBitNot to handle only Number operands,
while introducing a new node named ValueBitNot to handle Untyped and
BigInt. This node follows the same approach we are doing into other
arithimetic operations into DFG.
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
It is possible that fixup and prediction propagation don't convert a
ValueBitNot(ConstInt32) into ArithBitNot(ConstInt32) because these
analysis are conservative. In such case, we are adding constant
folding rules to ValueBitNot AI.
- dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::propagate):
ValueBitNot has same rules as ArithBitNot on backwards propagation.
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
We can emit ArithBitNot if we know that operand of op_bitnot is a
Number or any int. Otherwise we fallback to ValueBitNot and rely on
fixup to convert the node to ArithBitNot when it is possible.
ValueBitNot uses heap prediction on prediction propagation and we
collect its type from op_bitnot's value profiler.
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
When we have the case with ValueBitNot(BigInt), we don't clobberize
world.
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
ValueBitNot can GC on BigIntUse because, right now, all bitNot
operation allocates temporary BigInts to perform calculations and it
can potentially trigger GC.
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
ValueBitNot is responsible do handle BigIntUse and UntypedUse. To all
other uses, we fallback to ArithBitNot.
- dfg/DFGNode.h:
(JSC::DFG::Node::hasHeapPrediction):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
(JSC::DFG::bitwiseBinaryOp):
This template function is abstracting the new semantics of numeric
values operations on bitwise operations. These operations usually
folow these steps:
- rhsNumeric = GetInt32OrBigInt(rhs)
- lhsNumeric = GetInt32OrBigInt(lhs)
- trhow error if TypeOf(rhsNumeric) != TypeOf(lhsNumeric)
- return BigInt::bitwiseOp(bitOp, rhs, lhs) if TypeOf(lhsNumeric) == BigInt
- return rhs <int32BitOp> lhs
Since we have almost the same code for every bitwise op,
we use such template to avoid code duplication. The template receives
Int32 and BigInt operations as parameter. Error message is received as
const char*instead ofString&to avoid String allocation even when
there is no error to throw.
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueBitNot):
ValueBitNot generates speculative code for BigIntUse and this code is a
call tooperationBitNotBigInt. This operation is faster than
operationValueBitNotbecause there is no need to check types of
operands and execute properly operation. We still need to check
exceptions afteroperationBitNotBigIntbecause it can throw OOM.
(JSC::DFG::SpeculativeJIT::compileBitwiseNot):
- dfg/DFGSpeculativeJIT.h:
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileValueBitNot):
(JSC::FTL::DFG::LowerDFGToB3::compileArithBitNot):
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::bitwiseNot):
- runtime/JSBigInt.h:
- 10:19 AM Changeset in webkit [242714] by
-
- 39 edits1 move1 add1 delete in trunk
Unreviewed, rolling out r242688, r242643, r242624.
Caused multiple layout test failures and crashes on iOS and macOS.
Reverted changeset:
"requestAnimationFrame should execute before the next frame"
https://bugs.webkit.org/show_bug.cgi?id=177484
https://trac.webkit.org/changeset/242624/webkit
Source/WebCore:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::platformHandleFocusedUIElementChanged):
- animation/DocumentAnimationScheduler.cpp: Added.
(WebCore::DocumentAnimationScheduler::create):
(WebCore::DocumentAnimationScheduler::DocumentAnimationScheduler):
(WebCore::DocumentAnimationScheduler::detachFromDocument):
(WebCore::DocumentAnimationScheduler::scheduleWebAnimationsResolution):
(WebCore::DocumentAnimationScheduler::unscheduleWebAnimationsResolution):
(WebCore::DocumentAnimationScheduler::scheduleScriptedAnimationResolution):
(WebCore::DocumentAnimationScheduler::displayRefreshFired):
(WebCore::DocumentAnimationScheduler::windowScreenDidChange):
(WebCore::DocumentAnimationScheduler::createDisplayRefreshMonitor const):
- animation/DocumentAnimationScheduler.h: Renamed from Source/WebCore/page/RenderingUpdateScheduler.h.
(WebCore::DocumentAnimationScheduler::lastTimestamp):
(WebCore::DocumentAnimationScheduler::isFiring const):
- animation/DocumentTimeline.cpp:
(WebCore::DocumentTimeline::DocumentTimeline):
(WebCore::DocumentTimeline::updateThrottlingState):
(WebCore::DocumentTimeline::suspendAnimations):
(WebCore::DocumentTimeline::resumeAnimations):
(WebCore::DocumentTimeline::liveCurrentTime const):
(WebCore::DocumentTimeline::currentTime):
(WebCore::DocumentTimeline::cacheCurrentTime):
(WebCore::DocumentTimeline::scheduleAnimationResolutionIfNeeded):
(WebCore::DocumentTimeline::animationTimingDidChange):
(WebCore::DocumentTimeline::scheduleAnimationResolution):
(WebCore::DocumentTimeline::unscheduleAnimationResolution):
(WebCore::DocumentTimeline::animationResolutionTimerFired):
(WebCore::DocumentTimeline::updateAnimationsAndSendEvents):
(WebCore::DocumentTimeline::scheduleNextTick):
(WebCore::DocumentTimeline::updateListOfElementsWithRunningAcceleratedAnimationsForElement):
(WebCore::DocumentTimeline::resolveAnimationsForElement):
(WebCore::DocumentTimeline::internalUpdateAnimationsAndSendEvents): Deleted.
- animation/DocumentTimeline.h:
- dom/Document.cpp:
(WebCore::Document::resolveStyle):
(WebCore::Document::prepareForDestruction):
(WebCore::Document::windowScreenDidChange):
(WebCore::Document::updateIntersectionObservations):
(WebCore::Document::scheduleForcedIntersectionObservationUpdate):
(WebCore::Document::animationScheduler):
(WebCore::Document::updateAnimationsAndSendEvents): Deleted.
(WebCore::Document::serviceRequestAnimationFrameCallbacks): Deleted.
- dom/Document.h:
- dom/ScriptedAnimationController.cpp:
(WebCore::ScriptedAnimationController::serviceScriptedAnimations):
(WebCore::ScriptedAnimationController::scheduleAnimation):
(WebCore::ScriptedAnimationController::animationTimerFired):
(WebCore::ScriptedAnimationController::documentAnimationSchedulerDidFire):
(WebCore::ScriptedAnimationController::serviceRequestAnimationFrameCallbacks): Deleted.
- dom/ScriptedAnimationController.h:
- page/FrameView.cpp:
(WebCore::FrameView::viewportContentsChanged):
- page/IntersectionObserver.cpp:
(WebCore::IntersectionObserver::observe):
- page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::willDisplayPage):
(WebCore::Page::addDocumentNeedingIntersectionObservationUpdate):
(WebCore::Page::updateIntersectionObservations):
(WebCore::Page::scheduleForcedIntersectionObservationUpdate):
(WebCore::Page::layoutIfNeeded): Deleted.
(WebCore::Page::renderingUpdate): Deleted.
(WebCore::Page::renderingUpdateScheduler): Deleted.
- page/Page.h:
- page/PageOverlayController.cpp:
(WebCore::PageOverlayController::didChangeViewExposedRect):
(WebCore::PageOverlayController::notifyFlushRequired):
- page/RenderingUpdateScheduler.cpp: Removed.
- page/ios/ContentChangeObserver.h:
- page/mac/ServicesOverlayController.mm:
(WebCore::ServicesOverlayController::Highlight::notifyFlushRequired):
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::scheduleLayerFlushNow):
Source/WebKit:
- WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:
(WebKit::DrawingAreaCoordinatedGraphics::scheduleCompositingLayerFlush):
(WebKit::DrawingAreaCoordinatedGraphics::updateBackingStoreState):
(WebKit::DrawingAreaCoordinatedGraphics::display):
- WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:
(WebKit::LayerTreeHost::layerFlushTimerFired):
- WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::layoutIfNeeded):
(WebKit::WebPage::willDisplayPage):
(WebKit::WebPage::renderingUpdate): Deleted.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
Source/WebKitLegacy/mac:
- WebView/WebView.mm:
(-[WebView _viewWillDrawInternal]):
Source/WebKitLegacy/win:
- WebView.cpp:
(WebView::updateBackingStore):
(WebView::flushPendingGraphicsLayerChangesSoon):
(WebView::flushPendingGraphicsLayerChanges):
Source/WTF:
- wtf/SystemTracing.h:
Tools:
- Tracing/SystemTracePoints.plist:
LayoutTests:
- TestExpectations:
- animations/animation-multiple-callbacks-timestamp.html:
- animations/no-style-recalc-during-accelerated-animation-expected.txt:
- animations/no-style-recalc-during-accelerated-animation.html:
- platform/mac-wk2/TestExpectations:
- 10:11 AM Changeset in webkit [242713] by
-
- 37 edits in trunk/Source
Specify fixed precision explicitly to prepare to change String::number and StringBuilder::appendNumber floating point behavior
https://bugs.webkit.org/show_bug.cgi?id=195533
Reviewed by Brent Fulgham.
Source/JavaScriptCore:
- API/tests/ExecutionTimeLimitTest.cpp:
(testExecutionTimeLimit): Use appendFixedPrecisionNumber.
- runtime/NumberPrototype.cpp:
(JSC::numberProtoFuncToPrecision): Use numberToStringFixedPrecision.
- runtime/Options.cpp:
(JSC::Option::dump const): Use appendFixedPrecisionNumber.
Source/WebCore:
- accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::changeValueByStep): Use numberToStringFixedPrecision.
(WebCore::AccessibilityNodeObject::changeValueByPercent): Ditto.
- accessibility/AccessibilityScrollbar.cpp:
(WebCore::AccessibilityScrollbar::setValue): Ditto.
- css/CSSFontVariationValue.cpp:
(WebCore::CSSFontVariationValue::customCSSText const): Use appendFixedPrecisionNumber.
- css/CSSGradientValue.cpp:
(WebCore::CSSLinearGradientValue::customCSSText const): Ditto.
(WebCore::CSSRadialGradientValue::customCSSText const): Ditto.
- css/CSSKeyframeRule.cpp:
(WebCore::StyleRuleKeyframe::keyText const): Ditto.
- css/CSSTimingFunctionValue.cpp:
(WebCore::CSSCubicBezierTimingFunctionValue::customCSSText const): Ditto.
(WebCore::CSSSpringTimingFunctionValue::customCSSText const): Ditto.
- css/parser/CSSParserToken.cpp:
(WebCore::CSSParserToken::serialize const): Ditto.
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::completeURLsInAttributeValue const): Ditto.
- inspector/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::drawRulers): Use numberToStringFixedPrecision.
- loader/ResourceLoadStatistics.cpp:
(WebCore::ResourceLoadStatistics::toString const): Use appendFixedPrecisionNumber.
- page/PrintContext.cpp:
(WebCore::PrintContext::pageProperty): Use numberToStringFixedPrecision.
- page/cocoa/ResourceUsageOverlayCocoa.mm:
(WebCore::gcTimerString): Use numberToStringFixedPrecision.
- platform/LayoutUnit.h:
(WTF::ValueToString<WebCore::LayoutUnit>::string): Ditto.
- platform/graphics/Color.cpp:
(WebCore::Color::cssText const): Use appendFixedPrecisionNumber.
- platform/graphics/ExtendedColor.cpp:
(WebCore::ExtendedColor::cssText const): Ditto.
- svg/SVGAngleValue.cpp:
(WebCore::SVGAngleValue::valueAsString const): Use numberToStringFixedPrecision.
- svg/SVGNumberListValues.cpp:
(WebCore::SVGNumberListValues::valueAsString const): Use appendFixedPrecisionNumber.
- svg/SVGPathStringBuilder.cpp:
(WebCore::appendNumber): Ditto.
(WebCore::appendPoint): Ditto.
- svg/SVGPointListValues.cpp:
(WebCore::SVGPointListValues::valueAsString const): Ditto.
- svg/SVGTransformValue.cpp:
(WebCore::SVGTransformValue::valueAsString const): Ditto.
- svg/properties/SVGPropertyTraits.h:
(WebCore::SVGPropertyTraits<float>::toString): Use numberToStringFixedPrecision.
(WebCore::SVGPropertyTraits<FloatPoint>::toString): Use appendFixedPrecisionNumber.
(WebCore::SVGPropertyTraits<FloatRect>::toString): Ditto.
- testing/Internals.cpp:
(WebCore::Internals::dumpMarkerRects): Use appendFixedPrecisionNumber.
(WebCore::Internals::getCurrentCursorInfo): Ditto.
- xml/XPathValue.cpp:
(WebCore::XPath::Value::toString const): Use numberToStringFixedPrecision.
Source/WebKit:
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::Cache::dumpContentsToFile): Use appendFixedPrecisionNumber.
- NetworkProcess/cache/NetworkCacheEntry.cpp:
(WebKit::NetworkCache::Entry::asJSON const): Ditto.
- Shared/Gamepad/GamepadData.cpp:
(WebKit::GamepadData::loggingString const): Ditto.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::logDiagnosticMessageWithValue): Use numberToStringFixedPrecision.
Source/WTF:
Soon, we will change String::number and StringBuilder::appendNumber for floating
point to use "shortest form" serialization instead of the current default, which is
"6-digit fixed precision stripping trailing zeros". To prepare to do this safely
without accidentally changing any behavior, changing callers to call the explicit
versions. Later, we may want to return and change many of them to use shortest form
instead, but that may require rebaselining tests, and in some extreme cases, getting
rid of flawed logic that converts between different single and double precision
floating point; such problems may be hidden by fixed precision serialization.
Since "shortest form" is already the behavior for AtomicString::number and
for makeString, no changes required for clients of either of those.
- wtf/Logger.h:
(WTF::LogArgument::toString): Use numberToStringFixedPrecision.
- wtf/MediaTime.cpp:
(WTF::MediaTime::toString const): Use appendFixedPrecisionNumber.
- wtf/text/ValueToString.h:
(WTF::ValueToString<float>::string): Use numberToStringFixedPrecision.
(WTF::ValueToString<double>::string): Ditto.
- 10:01 AM Changeset in webkit [242712] by
-
- 46 edits in trunk
Resource Load Statistics: Make it possible exclude localhost from classification
https://bugs.webkit.org/show_bug.cgi?id=195474
<rdar://problem/47520577>
Reviewed by Brent Fulgham.
Source/WebKit:
This patch allows for localhost to be excluded from classification and
treatment as a prevalent resource.
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::ResourceLoadStatisticsDatabaseStore):
(WebKit::ResourceLoadStatisticsDatabaseStore::reclassifyResources):
Makes use of the new ResourceLoadStatisticsMemoryStore::shouldSkip().
(WebKit::ResourceLoadStatisticsDatabaseStore::setPrevalentResource):
Makes use of the new ResourceLoadStatisticsMemoryStore::shouldSkip().
(WebKit::ResourceLoadStatisticsDatabaseStore::isPrevalentResource const):
Makes use of the new ResourceLoadStatisticsMemoryStore::shouldSkip().
(WebKit::ResourceLoadStatisticsDatabaseStore::isVeryPrevalentResource const):
Makes use of the new ResourceLoadStatisticsMemoryStore::shouldSkip().
(WebKit::ResourceLoadStatisticsDatabaseStore::setVeryPrevalentResource):
Makes use of the new ResourceLoadStatisticsMemoryStore::shouldSkip().
- NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.cpp:
(WebKit::ResourceLoadStatisticsMemoryStore::ResourceLoadStatisticsMemoryStore):
(WebKit::ResourceLoadStatisticsMemoryStore::classifyPrevalentResources):
Makes use of the new ResourceLoadStatisticsMemoryStore::shouldSkip().
(WebKit::ResourceLoadStatisticsMemoryStore::setPrevalentResource):
Makes use of the new ResourceLoadStatisticsMemoryStore::shouldSkip().
(WebKit::ResourceLoadStatisticsMemoryStore::isPrevalentResource const):
Makes use of the new ResourceLoadStatisticsMemoryStore::shouldSkip().
(WebKit::ResourceLoadStatisticsMemoryStore::isVeryPrevalentResource const):
Makes use of the new ResourceLoadStatisticsMemoryStore::shouldSkip().
(WebKit::ResourceLoadStatisticsMemoryStore::setVeryPrevalentResource):
Makes use of the new ResourceLoadStatisticsMemoryStore::shouldSkip().
- NetworkProcess/Classifier/ResourceLoadStatisticsMemoryStore.h:
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::ResourceLoadStatisticsStore::ResourceLoadStatisticsStore):
Now takes a ShouldIncludeLocalhost parameter.
(WebKit::ResourceLoadStatisticsStore::shouldSkip const):
Convenience function, currently supporting the localhost exclusion.
(WebKit::ResourceLoadStatisticsStore::setIsRunningTest):
Test infrastructure.
- NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:
(WebKit::WebResourceLoadStatisticsStore::setIsRunningTest):
Test infrastructure.
(WebKit::WebResourceLoadStatisticsStore::WebResourceLoadStatisticsStore):
Now takes a ShouldIncludeLocalhost parameter.
- NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
Defines the new ShouldIncludeLocalhost boolean enum.
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::setIsRunningResourceLoadStatisticsTest):
Test infrastructure.
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkProcess.messages.in:
- NetworkProcess/NetworkSession.cpp:
(WebKit::NetworkSession::setResourceLoadStatisticsEnabled):
Forwards the localhost setting to the create function.
- NetworkProcess/NetworkSession.h:
- NetworkProcess/NetworkSessionCreationParameters.cpp:
(WebKit::NetworkSessionCreationParameters::encode const):
(WebKit::NetworkSessionCreationParameters::decode):
- NetworkProcess/NetworkSessionCreationParameters.h:
New parameter called shouldIncludeLocalhostInResourceLoadStatistics.
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::NetworkSessionCocoa):
Picks up the localhost setting from the parameters.
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreSetStatisticsIsRunningTest):
Test infrastructure.
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setIsRunningResourceLoadStatisticsTest):
Test infrastructure.
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebProcessPool.cpp:
(WebKit::WebProcessPool::ensureNetworkProcess):
Picks up the localhost setting from the WebsiteDataStore parameters.
- UIProcess/WebsiteData/Cocoa/WebsiteDataStoreCocoa.mm:
(WebKit::WebsiteDataStore::parameters):
Makes sure Safari does not exclude localhost.
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::setIsRunningResourceLoadStatisticsTest):
Test infrastructure.
- UIProcess/WebsiteData/WebsiteDataStore.h:
Tools:
This patch allows for localhost to be excluded from classification and
treatment as a prevalent resource.
The WebKit Tools change adds a new function called
testRunner.setStatisticsIsRunningTest() which can be used to control this
behavior.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setStatisticsIsRunningTest):
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
(WTR::TestController::setStatisticsIsRunningTest):
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
LayoutTests:
This patch makes sure that all test cases that need to, call the enableFeature()
function in http/tests/resourceLoadStatistics/resources/util.js.
The enableFeature() now calls the new function testRunner.setStatisticsIsRunningTest().
- http/tests/resourceLoadStatistics/do-not-block-top-level-navigation-redirect.html:
- http/tests/resourceLoadStatistics/non-sandboxed-iframe-redirect-ip-to-localhost-to-ip.html:
- http/tests/resourceLoadStatistics/prevalent-resource-with-user-interaction.html:
- http/tests/resourceLoadStatistics/resources/set-cookie-on-redirect.php:
- http/tests/resourceLoadStatistics/resources/util.js:
(setEnableFeature):
- http/tests/storageAccess/has-storage-access-from-prevalent-domain-with-user-interaction.html:
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction.html:
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-without-user-interaction.html:
- http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe.html:
- http/tests/storageAccess/request-storage-access-cross-origin-sandboxed-iframe-with-unique-origin.html:
- http/tests/storageAccess/request-storage-access-same-origin-iframe.html:
- http/tests/storageAccess/request-storage-access-same-origin-sandboxed-iframe.html:
- http/tests/storageAccess/request-storage-access-top-frame.html:
- 9:56 AM Changeset in webkit [242711] by
-
- 2 edits in trunk/Tools
[ews-build] Disable waterfall and console view for ews-build.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=195560
Reviewed by Lucas Forschler.
- BuildSlaveSupport/ews-build/master.cfg:
- 9:50 AM Changeset in webkit [242710] by
-
- 23 edits in trunk
Unreviewed, rolling out r242698.
API test crashes on bots.
Reverted changeset:
"Add a WKContentRuleList variant that uses copied memory
instead of mmap'd shared memory for class A containerized
apps"
https://bugs.webkit.org/show_bug.cgi?id=195511
https://trac.webkit.org/changeset/242698
- 9:47 AM Changeset in webkit [242709] by
-
- 9 edits1 add in trunk
[WPE] Enable web process sandbox
https://bugs.webkit.org/show_bug.cgi?id=195169
Reviewed by Daniel Bates.
.:
- Source/cmake/BubblewrapSandboxChecks.cmake: Added.
- Source/cmake/OptionsGTK.cmake:
- Source/cmake/OptionsWPE.cmake:
Source/WebKit:
- PlatformWPE.cmake:
- UIProcess/Launcher/glib/BubblewrapLauncher.cpp:
(WebKit::bubblewrapSpawn):
Tools:
- wpe/install-dependencies:
- wpe/jhbuild.modules:
- 9:40 AM Changeset in webkit [242708] by
-
- 2 edits in trunk/Tools
[ews-app] Use port 17000 for worker communication
https://bugs.webkit.org/show_bug.cgi?id=195558
Reviewed by Lucas Forschler.
- BuildSlaveSupport/ews-build/master.cfg:
- 9:38 AM Changeset in webkit [242707] by
-
- 4 edits in trunk/Tools
[ews-build] unit-tests fail when passwords.json is missing
https://bugs.webkit.org/show_bug.cgi?id=195557
Reviewed by Lucas Forschler.
- BuildSlaveSupport/ews-build/loadConfig.py:
(loadBuilderConfig):
- BuildSlaveSupport/ews-build/loadConfig_unittest.py:
(ConfigDotJSONTest.test_configuration):
- BuildSlaveSupport/ews-build/master.cfg:
- 9:25 AM Changeset in webkit [242706] by
-
- 5 edits1 delete in trunk
Unreviewed, rolling out r242702.
Broke High Sierra builders.
Reverted changeset:
"Add utility function to allow easy reverse range-based
iteration of a container"
https://bugs.webkit.org/show_bug.cgi?id=195542
https://trac.webkit.org/changeset/242702
- 8:55 AM Changeset in webkit [242705] by
-
- 10 edits in trunk/Source/WebKit
Unreviewed, rolling out r242697.
Broke internal builders.
Reverted changeset:
"Optimizing loads when creating new pages"
https://bugs.webkit.org/show_bug.cgi?id=195516
https://trac.webkit.org/changeset/242697
- 8:44 AM WebKitGTK/2.24.x edited by
- (diff)
- 8:38 AM Changeset in webkit [242704] by
-
- 2 edits in trunk/LayoutTests
Unreviewed GTK test gardening
https://bugs.webkit.org/show_bug.cgi?id=195551
Unreviewed test gardening.
Mark the text-transform-capitilize-026.html as flaky for all platforms.
- 8:26 AM Changeset in webkit [242703] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed, Non-GStreamer-GL build fix after r242701.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
- 8:25 AM Changeset in webkit [242702] by
-
- 5 edits1 add in trunk
Add utility function to allow easy reverse range-based iteration of a container
https://bugs.webkit.org/show_bug.cgi?id=195542
Patch by Sam Weinig <sam@webkit.org> on 2019-03-11
Reviewed by Antti Koivisto.
Source/WTF:
Add functions to create an IteratorRange<T> that will iterate a container backwards. It
works with any container that is compatible with std::rbegin() and std::rend(). It is
expected to be used in conjunction with range-based for-loops like so:
for (auto& value : WTF::makeReversedRange(myContainer))
...
- wtf/IteratorRange.h:
(WTF::makeReversedRange):
Tools:
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WTF/IteratorRange.cpp: Added.
(TestWebKitAPI::TEST):
Add test to ensure WTF::makeReversedRange() works correctly and uses the correct types.
- 7:43 AM WebKitGTK/2.24.x edited by
- (diff)
- 7:41 AM Changeset in webkit [242701] by
-
- 6 edits in trunk/Source/WebCore
[GStreamer][v4l2] Synchronous video texture flushing support
https://bugs.webkit.org/show_bug.cgi?id=195453
Reviewed by Xabier Rodriguez-Calvar.
The v4l2 video decoder currently requires that downstream users of
the graphics resources complete any pending draw call and release
resources before returning from the DRAIN query.
To accomplish this the player monitors the pipeline and whenever a
v4l2 decoder is added, synchronous video texture flushing support
is enabled. Additionally and for all decoder configurations, a
flush is performed before disposing of the player.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::playbinDeepElementAddedCallback):
Monitor elements added to the decodebin bin.
(WebCore::MediaPlayerPrivateGStreamer::decodebinElementAdded): Set
a flag if a v4l2 decoder was added in decodebin.
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin): Connect
to the deep-element-added signal so as to monitor pipeline
topology updates.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase):
Flush video texture before disposing of the player.
(WebCore::MediaPlayerPrivateGStreamerBase::flushCurrentBuffer):
Synchronously flush if the pipeline contains a v4l2 decoder.
(WebCore::MediaPlayerPrivateGStreamerBase::createGLAppSink): Monitor push events only.
- platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.cpp:
(WebCore::TextureMapperPlatformLayerProxy::pushNextBuffer): New
boolean flag used mostly to trigger synchronous flush conditions.
(WebCore::TextureMapperPlatformLayerProxy::dropCurrentBufferWhilePreservingTexture):
Optionally drop the current buffer in a synchronous manner. By
default the method keeps operating asynchronously.
- platform/graphics/texmap/TextureMapperPlatformLayerProxy.h:
- 5:58 AM Changeset in webkit [242700] by
-
- 3 edits in trunk/Source/WebCore
Rename contentOffsetInCompostingLayer to contentOffsetInCompositingLayer
https://bugs.webkit.org/show_bug.cgi?id=195553
Reviewed by Simon Fraser.
Less composting, more compositing.
- rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateBackdropFiltersGeometry):
(WebCore::RenderLayerBacking::resetContentsRect):
(WebCore::RenderLayerBacking::updateChildClippingStrategy):
(WebCore::RenderLayerBacking::updateImageContents):
(WebCore::RenderLayerBacking::contentOffsetInCompositingLayer const):
(WebCore::RenderLayerBacking::contentsBox const):
(WebCore::RenderLayerBacking::backgroundBoxForSimpleContainerPainting const):
(WebCore::RenderLayerBacking::contentOffsetInCompostingLayer const): Deleted.
- rendering/RenderLayerBacking.h:
- 2:08 AM WebKitGTK/2.24.x edited by
- (diff)
Mar 9, 2019:
- 11:20 PM Changeset in webkit [242699] by
-
- 25 edits2 adds1 delete in trunk
Invalid flags in a RegExp literal should be an early SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=195514
Reviewed by Darin Adler.
JSTests:
- test262/expectations.yaml:
Mark 4 test cases as passing.
- stress/regexp-syntax-error-invalid-flags.js:
- stress/regress-161995.js: Removed.
Update existing test, merging in an older test for the same behavior.
Source/JavaScriptCore:
Currently we're throwing a *runtime* SyntaxError; this should occur at parse time.
12.2.8.1 Static Semantics: Early Errors
PrimaryExpression : RegularExpressionLiteral
- It is a Syntax Error if BodyText of RegularExpressionLiteral cannot be recognized using the goal symbol Pattern of the ECMAScript RegExp grammar specified in 21.2.1.
- It is a Syntax Error if FlagText of RegularExpressionLiteral contains any code points other than "g", "i", "m", "s", "u", or "y", or if it contains the same code point more than once.
In fixing this, let's also move flag handling from runtime/ to yarr/.
- yarr/YarrSyntaxChecker.cpp:
(JSC::Yarr::checkSyntax):
Check flags before checking pattern.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- Sources.txt:
- bytecompiler/NodesCodegen.cpp:
(JSC::RegExpNode::emitBytecode):
- inspector/ContentSearchUtilities.cpp:
(Inspector::ContentSearchUtilities::findMagicComment):
- runtime/CachedTypes.cpp:
- runtime/RegExp.cpp:
(JSC::RegExp::RegExp):
(JSC::RegExp::createWithoutCaching):
(JSC::RegExp::create):
(JSC::regExpFlags): Deleted.
- runtime/RegExp.h:
- runtime/RegExpCache.cpp:
(JSC::RegExpCache::lookupOrCreate):
(JSC::RegExpCache::ensureEmptyRegExpSlow):
- runtime/RegExpCache.h:
- runtime/RegExpConstructor.cpp:
(JSC::toFlags):
(JSC::regExpCreate):
(JSC::constructRegExp):
- runtime/RegExpKey.h:
(JSC::RegExpKey::RegExpKey):
(WTF::HashTraits<JSC::RegExpKey>::constructDeletedValue):
(WTF::HashTraits<JSC::RegExpKey>::isDeletedValue):
(): Deleted.
- runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncCompile):
- testRegExp.cpp:
(parseRegExpLine):
- yarr/RegularExpression.cpp:
(JSC::Yarr::RegularExpression::Private::compile):
- yarr/YarrFlags.cpp: Added.
(JSC::Yarr::parseFlags):
- yarr/YarrFlags.h: Added.
- yarr/YarrInterpreter.h:
(JSC::Yarr::BytecodePattern::ignoreCase const):
(JSC::Yarr::BytecodePattern::multiline const):
(JSC::Yarr::BytecodePattern::sticky const):
(JSC::Yarr::BytecodePattern::unicode const):
(JSC::Yarr::BytecodePattern::dotAll const):
- yarr/YarrPattern.cpp:
(JSC::Yarr::YarrPattern::compile):
(JSC::Yarr::YarrPattern::YarrPattern):
(JSC::Yarr::YarrPattern::dumpPattern):
- yarr/YarrPattern.h:
(JSC::Yarr::YarrPattern::global const):
(JSC::Yarr::YarrPattern::ignoreCase const):
(JSC::Yarr::YarrPattern::multiline const):
(JSC::Yarr::YarrPattern::sticky const):
(JSC::Yarr::YarrPattern::unicode const):
(JSC::Yarr::YarrPattern::dotAll const):
Move flag handling to Yarr and modernize API.
Source/WebCore:
- bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readTerminal):
Consume YarrFlags.
- 11:04 PM Changeset in webkit [242698] by
-
- 23 edits in trunk
Add a WKContentRuleList variant that uses copied memory instead of mmap'd shared memory for class A containerized apps
https://bugs.webkit.org/show_bug.cgi?id=195511
<rdar://problem/44873269>
Patch by Alex Christensen <achristensen@webkit.org> on 2019-03-10
Reviewed by Darin Adler.
Source/WebKit:
- NetworkProcess/NetworkContentRuleListManager.cpp:
(WebKit::NetworkContentRuleListManager::addContentRuleLists):
- NetworkProcess/NetworkContentRuleListManager.h:
- NetworkProcess/cache/NetworkCacheFileSystem.cpp:
(WebKit::NetworkCache::pathRegisteredAsUnsafeToMemoryMapForTesting):
(WebKit::NetworkCache::registerPathAsUnsafeToMemoryMapForTesting):
(WebKit::NetworkCache::isSafeToUseMemoryMapForPath):
- NetworkProcess/cache/NetworkCacheFileSystem.h:
- Shared/WebCompiledContentRuleList.cpp:
(WebKit::WebCompiledContentRuleList::usesCopiedMemory const):
(WebKit::WebCompiledContentRuleList::conditionsApplyOnlyToDomain const):
(WebKit::WebCompiledContentRuleList::filtersWithoutConditionsBytecode const):
(WebKit::WebCompiledContentRuleList::filtersWithConditionsBytecode const):
(WebKit::WebCompiledContentRuleList::topURLFiltersBytecode const):
(WebKit::WebCompiledContentRuleList::actions const):
- Shared/WebCompiledContentRuleList.h:
- Shared/WebCompiledContentRuleListData.cpp:
(WebKit::WebCompiledContentRuleListData::size const):
(WebKit::WebCompiledContentRuleListData::dataPointer const):
(WebKit::WebCompiledContentRuleListData::encode const):
(WebKit::WebCompiledContentRuleListData::decode):
- Shared/WebCompiledContentRuleListData.h:
(WebKit::WebCompiledContentRuleListData::WebCompiledContentRuleListData):
- UIProcess/API/APIContentRuleList.cpp:
(API::ContentRuleList::usesCopiedMemory const):
- UIProcess/API/APIContentRuleList.h:
- UIProcess/API/APIContentRuleListStore.cpp:
(API::getData):
(API::decodeContentRuleListMetaData):
(API::ContentRuleListStore::readContentsOfFile):
(API::MappedOrCopiedData::dataPointer const):
(API::openAndMapOrCopyContentRuleList):
(API::compiledToFile):
(API::createExtension):
(API::ContentRuleListStore::lookupContentRuleList):
(API::ContentRuleListStore::compileContentRuleList):
(API::ContentRuleListStore::getContentRuleListSource):
(API::openAndMapContentRuleList): Deleted.
- UIProcess/API/APIContentRuleListStore.h:
- UIProcess/API/Cocoa/APIContentRuleListStoreCocoa.mm:
(API::ContentRuleListStore::readContentsOfFile):
- UIProcess/API/Cocoa/WKContentRuleListStore.mm:
(+[WKContentRuleListStore _registerPathAsUnsafeToMemoryMapForTesting:]):
- UIProcess/API/Cocoa/WKContentRuleListStorePrivate.h:
- UIProcess/API/Cocoa/_WKUserContentFilter.mm:
(-[_WKUserContentFilter usesCopiedMemory]):
- UIProcess/API/Cocoa/_WKUserContentFilterPrivate.h:
- WebProcess/UserContent/WebUserContentController.cpp:
(WebKit::WebUserContentController::addContentRuleLists):
- WebProcess/UserContent/WebUserContentController.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::m_hostFileDescriptor):
Tools:
- TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm:
(-[TestSchemeHandlerSubresourceShouldBeBlocked webView:startURLSchemeTask:]):
(-[TestSchemeHandlerSubresourceShouldBeBlocked webView:stopURLSchemeTask:]):
(TEST_F):
- 8:41 PM Changeset in webkit [242697] by
-
- 10 edits in trunk/Source/WebKit
Optimizing loads when creating new pages
https://bugs.webkit.org/show_bug.cgi?id=195516
<rdar://problem/48738086>
Reviewed by Darin Adler.
This patch adds hooks in WebPageProxy::createNewPage to optimize loads, and moves the creationParameters
of API::NavigationAction from UI clients to WebPageProxy::createNewPage. Also, we now pass the whole
API::NavigationAction to the load optimizer instead of the request within.
- UIProcess/API/APINavigationAction.h:
- UIProcess/API/APIUIClient.h:
(API::UIClient::createNewPage):
- UIProcess/API/C/WKPage.cpp:
(WKPageSetPageUIClient):
- UIProcess/API/glib/WebKitUIClient.cpp:
- UIProcess/Cocoa/NavigationState.mm:
(WebKit::tryOptimizingLoad):
(WebKit::tryInterceptNavigation):
(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
- UIProcess/Cocoa/UIDelegate.h:
- UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::UIClient::createNewPage):
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::tryOptimizingLoad):
(WebKit::WebPageProxy::createNewPage):
- UIProcess/WebPageProxy.h:
- 8:32 PM Changeset in webkit [242696] by
-
- 24 edits7 adds in trunk
Add SPI to retrieve the set of text inputs in a given rect, and later focus one
https://bugs.webkit.org/show_bug.cgi?id=195499
Reviewed by Darin Adler.
Source/WebCore:
New API tests: WebKit.RequestTextInputContext and WebKit.FocusTextInputContext
- WebCore.xcodeproj/project.pbxproj:
- dom/Document.cpp:
(WebCore::Document::identifierForElement):
(WebCore::Document::elementWithIdentifier):
(WebCore::Document::identifiedElementWasRemovedFromDocument):
- dom/Document.h:
Add a mechanism where Document will vend an ObjectIdentifier for a given
element, and can (if possible) retrieve that element later.
- dom/Element.cpp:
(WebCore::Element::removedFromAncestor):
If an Element has an identifier created for it, inform Document to remove
it from the identifier map when the element is detached.
(WebCore::Element::createElementIdentifier):
- dom/Element.h:
- dom/ElementIdentifier.h: Added.
- dom/ElementRareData.cpp:
- dom/ElementRareData.h:
(WebCore::ElementRareData::hasElementIdentifier const):
(WebCore::ElementRareData::setHasElementIdentifier):
(WebCore::ElementRareData::ElementRareData):
Store a bit indicating if the Element has had a identifier created for it,
so that we can avoid a hash lookup on every Element removal.
- dom/Node.h:
- html/HTMLTextFormControlElement.h:
Source/WebKit:
- Scripts/webkit/messages.py:
- Shared/TextInputContext.cpp: Added.
(IPC::ArgumentCoder<WebKit::TextInputContext>::encode):
(IPC::ArgumentCoder<WebKit::TextInputContext>::decode):
- Shared/TextInputContext.h: Added.
(WebKit::TextInputContext::operator== const):
Add TextInputContext, which represents a minimal set of information
about a text field.
- Sources.txt:
- SourcesCocoa.txt:
- UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _requestTextInputContextsInRect:completionHandler:]):
(-[WKWebView _focusTextInputContext:completionHandler:]):
- UIProcess/API/Cocoa/WKWebViewPrivate.h:
Add SPI that allows clients to asynchronously request text input
contexts for a given rect, and later focus a given context.
- UIProcess/API/Cocoa/_WKTextInputContext.h: Added.
- UIProcess/API/Cocoa/_WKTextInputContext.mm: Added.
(-[_WKTextInputContext _initWithTextInputContext:]):
(-[_WKTextInputContext boundingRect]):
(-[_WKTextInputContext _textInputContext]):
(-[_WKTextInputContext isEqual:]):
(-[_WKTextInputContext hash]):
(-[_WKTextInputContext copyWithZone:]):
- UIProcess/API/Cocoa/_WKTextInputContextInternal.h: Added.
Add an SPI object that exposes a read-only window on a TextInputContext to clients.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::textInputContextsInRect):
(WebKit::WebPageProxy::focusTextInputContext):
- UIProcess/WebPageProxy.h:
Plumbing from WKWebView<->WebPage.
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::elementRectInWindowCoordinates):
(WebKit::isEditableTextInputElement):
(WebKit::WebPage::textInputContextsInRect):
Search the DOM for text input contexts: <input type='text'> (or other
form fields that fall back on text field behavior), <textarea>, and
contenteditable roots. Store the WebPage, Document, and Element identifiers
so that we can find the element again later.
(WebKit::WebPage::focusTextInputContext):
Find the element for a given (web page, document, element) triple and focus it,
if it's still available.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/RequestTextInputContext.mm: Added.
(-[WKWebView synchronouslyRequestTextInputContextsInRect:]):
(-[WKWebView synchronouslyFocusTextInputContext:]):
(applyStyle):
(applyIframe):
(TEST):
Add some tests for this SPI.
- 7:54 PM Changeset in webkit [242695] by
-
- 4 edits in trunk/Source/WebKit
iOS: Using ⌥ to scroll horizontally is no different than arrow key
https://bugs.webkit.org/show_bug.cgi?id=195268
<rdar://problem/48326682>
Reviewed by Brent Fulgham.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView keyboardScrollViewAnimator:distanceForIncrement:inDirection:]):
(-[WKContentView keyboardScrollViewAnimator:distanceForIncrement:]): Deleted.
- UIProcess/ios/WKKeyboardScrollingAnimator.h:
- UIProcess/ios/WKKeyboardScrollingAnimator.mm:
(-[WKKeyboardScrollingAnimator keyboardScrollForEvent:]):
(-[WKKeyboardScrollViewAnimator setDelegate:]):
(-[WKKeyboardScrollViewAnimator distanceForIncrement:inDirection:]):
(-[WKKeyboardScrollViewAnimator distanceForIncrement:]): Deleted.
Add a direction parameter to -distanceForIncrement:, so the client
can return a different page/document size based on the scrolling axis.
Adopt it both in the default implementation and in WKContentViewInteraction.
Make the option key scroll by page when scrolling horizontally, like it
does when scrolling vertically.
- 7:36 PM Changeset in webkit [242694] by
-
- 8 edits in trunk
[WTF] Align assumption in RunLoopWin to the other platform's RunLoop
https://bugs.webkit.org/show_bug.cgi?id=181151
Source/WTF:
Reviewed by Don Olmstead.
This patch fixes RunLoop in Windows to align it to the implementations in the other platforms
to use RunLoop more aggressively.
- wtf/RunLoop.h:
(WTF::RunLoop::Timer::Timer):
- wtf/win/MainThreadWin.cpp:
(initializeMainThreadPlatform): Call RunLoop::registerRunLoopMessageWindowClass.
- wtf/win/RunLoopWin.cpp:
(WTF::RunLoop::wndProc):
(WTF::RunLoop::iterate):
(WTF::RunLoop::stop):
PostQuitMessage is only available in the RunLoop's thread. We should post a message and call
it inside this task.
(WTF::RunLoop::registerRunLoopMessageWindowClass):
Changed the return type from bool to void, and added RELEASE_ASSERT to check the return value of RegisterClass.
(WTF::RunLoop::~RunLoop):
When the RunLoop's thread is freed, its associated window is freed. We do not need to do here.
(WTF::RunLoop::TimerBase::timerFired):
(WTF::RunLoop::TimerBase::TimerBase):
(WTF::RunLoop::TimerBase::start):
(WTF::RunLoop::TimerBase::stop):
(WTF::RunLoop::TimerBase::isActive const):
(WTF::RunLoop::TimerBase::secondsUntilFire const):
(WTF::generateTimerID): Deleted.
We can use TimerBase's pointer as ID since it is uintptr_t.
Tools:
Patch by Yusuke Suzuki <Yusuke Suzuki> on 2019-03-10
Reviewed by Don Olmstead.
- TestWebKitAPI/CMakeLists.txt:
- TestWebKitAPI/PlatformWin.cmake:
Enable TestWTF RunLoop tests in all platforms.
- TestWebKitAPI/Tests/WTF/RunLoop.cpp:
(TestWebKitAPI::DerivedOneShotTimer::DerivedOneShotTimer):
(TestWebKitAPI::DerivedOneShotTimer::fired):
(TestWebKitAPI::TEST):
Only a few platforms support nested RunLoop.
(TestWebKitAPI::DerivedRepeatingTimer::DerivedRepeatingTimer):
(TestWebKitAPI::DerivedRepeatingTimer::fired):
- 7:33 PM SVG properties edited by
- (diff)
- 7:20 PM SVG properties edited by
- (diff)
- 5:27 PM Changeset in webkit [242693] by
-
- 4 edits in trunk
ASSERT(m_downloads.isEmpty()) fails in DownloadProxyMap::~DownloadProxyMap()
https://bugs.webkit.org/show_bug.cgi?id=152480
Reviewed by Chris Dumez.
Source/WebKit:
- UIProcess/Downloads/DownloadProxyMap.cpp:
(WebKit::DownloadProxyMap::downloadFinished):
If the DownloadProxy is holding the last reference to the process pool, then
invalidating the proxy will cause the process pool, the network process proxy,
and this DownloadProxyMap to deallocate. Ensure that doesn't happen until this
method has done everything it wants to do to clean up.
Tools:
Add a unit test based on Daniel Bates's test case that starts a download, ensures
there are no additional references to the process pool besides the one held by
the download, waits for the download to finish (in the sense that the
DownloadProxyMap is done tracking the DownloadProxy), and doesn't crash. For good
measure, also check that the process pool has been deallocated at the end of the
test. The test wouldn't be meaningful if the process pool were still alive.
- TestWebKitAPI/Tests/WebKitCocoa/Download.mm:
(-[WaitUntilDownloadCanceledDelegate _downloadDidStart:]):
(-[WaitUntilDownloadCanceledDelegate _downloadDidCancel:]):
The download will be canceled because the delegate does not implement the
method to decide the download's destination, so this is where we know the
DownloadProxyMap is done with the DownloadProxy.
(TEST):
- 5:13 PM Changeset in webkit [242692] by
-
- 7 edits in tags/Safari-608.1.8.1/Source
Versioning.
- 5:11 PM Changeset in webkit [242691] by
-
- 1 copy in tags/Safari-608.1.8.1
New tag.
- 4:49 PM Changeset in webkit [242690] by
-
- 2 edits in trunk/Source/WebKit
Fix some misleading function and variable names in WKContentViewInteraction.mm
https://bugs.webkit.org/show_bug.cgi?id=195536
Reviewed by Tim Horton.
- UIProcess/ios/WKContentViewInteraction.mm:
(shouldDeferZoomingToSelectionWhenRevealingFocusedElement):
Rename shouldZoomToRevealSelectionRect to shouldDeferZoomingToSelectionWhenRevealingFocusedElement; this
function is used to determine whether we should zoom to the selection rect when revealing the focused element,
and therefore affects whether we need to defer zooming until we get selection information.
(rectToRevealWhenZoomingToFocusedElement):
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:changingActivityState:userObject:]):
Rename shouldShowKeyboard to shouldShowInputView; this boolean indicates whether we should show not only the
keyboard, but other UI for user input such as date and select pickers.
(-[WKContentView _didReceiveEditorStateUpdateAfterFocus]):
(shouldZoomToRevealSelectionRect): Deleted.
- 1:08 PM Changeset in webkit [242689] by
-
- 8 edits in trunk
[ContentChangeObserver] Fix failing test cases
https://bugs.webkit.org/show_bug.cgi?id=195524
<rdar://problem/48745101>
Reviewed by Simon Fraser.
Source/WebCore:
- Do not start DOM timer install observation when we already detected change at touchstart.
- hasPendingActivity() should only care about ContentChangeObserver flags.
- Do not try to notify the client when we are in the mouseMoved dispatch call (currently it could happen
when a timer gets intalled and removed right away).
- page/ios/ContentChangeObserver.cpp:
(WebCore::ContentChangeObserver::adjustObservedState):
(WebCore::ContentChangeObserver::isNotifyContentChangeAllowed const): Deleted.
- page/ios/ContentChangeObserver.h:
(WebCore::ContentChangeObserver::hasPendingActivity const):
(WebCore::ContentChangeObserver::isObservationTimeWindowActive const):
LayoutTests:
They've been failing ever since the 32ms fixed time window was introduced.
- fast/events/touch/ios/content-observation/click-instead-of-hover-simple.html:
- fast/events/touch/ios/content-observation/stuck-with-hover-state.html:
- 11:10 AM Changeset in webkit [242688] by
-
- 2 edits in trunk/LayoutTests
Mark two tests as failing after r242624
https://bugs.webkit.org/show_bug.cgi?id=195531
Unreviewed test gardening.
These tests are failing:
accessibility/mac/selection-notification-focus-change.html [ Failure ]
compositing/video/video-clip-change-src.html [ ImageOnlyFailure ]
- platform/mac-wk2/TestExpectations:
- 11:03 AM Changeset in webkit [242687] by
-
- 25 edits in trunk/Source
ScrollingTree should have the final say on where layers go
https://bugs.webkit.org/show_bug.cgi?id=195507
Reviewed by Antti Koivisto.
Source/WebCore:
Main thread layer flushing can race with scrolling tree layer changes on macOS, causing
flashing as layers jump around sometimes. We go to some lengths to avoid this by trying
not to touch properties on layers that are being interacted with (scrollableArea->setIsUserScroll in
updateScrollPositionAfterAsyncScroll()), but that's fragile.
This patch adds ScrollingTree::applyScrollingTreeLayerPositions(), which enters
ScrollingTree::applyLayerPositions() on the main thread/UI process. This traverses
the tree allowing each node to run their layer positioning logic.
For macOS WK2, this is called from TiledCoreAnimationDrawingArea::flushLayers() after flushCompositingStateIncludingSubframes().
For macOS WK2 with UI-side compositing, RemoteLayerTreeDrawingAreaProxy::commitLayerTree()
calls m_webPageProxy.scrollingCoordinatorProxy()->applyScrollingTreeLayerPositions().
iOS WK2 is unchanged, using viewportChangedViaDelegatedScrolling() which does the same thing, allowing
for the dynamic viewport changes that happen when zooming on iOS.
Testing this requires infrastructure that we don't have yet.
- page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::applyScrollingTreeLayerPositions):
- page/scrolling/AsyncScrollingCoordinator.h:
- page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::applyScrollingTreeLayerPositions):
- page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::handleWheelEvent):
(WebCore::ScrollingTree::commitTreeState):
(WebCore::ScrollingTree::applyLayerPositions):
(WebCore::ScrollingTree::applyLayerPositionsRecursive):
- page/scrolling/ScrollingTree.h:
- page/scrolling/ScrollingTreeFrameHostingNode.cpp:
(WebCore::ScrollingTreeFrameHostingNode::applyLayerPositions):
- page/scrolling/ScrollingTreeFrameHostingNode.h:
- page/scrolling/ScrollingTreeNode.h:
- page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::applyLayerPositions):
- page/scrolling/ScrollingTreeScrollingNode.h:
- page/scrolling/cocoa/ScrollingTreeFixedNode.h:
- page/scrolling/cocoa/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::relatedNodeScrollPositionDidChange):
- page/scrolling/cocoa/ScrollingTreeStickyNode.h:
- page/scrolling/cocoa/ScrollingTreeStickyNode.mm:
(WebCore::ScrollingTreeStickyNode::applyLayerPositions):
(WebCore::ScrollingTreeStickyNode::relatedNodeScrollPositionDidChange):
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
- page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::applyLayerPositions):
Source/WebKit:
- UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree):
- UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::applyScrollingTreeLayerPositions):
- UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
- WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
- 10:13 AM Changeset in webkit [242686] by
-
- 2 edits in trunk/Source/WebKit
[Cocoa] Code signing fails because services are copied into XPCServices after the framework is signed
https://bugs.webkit.org/show_bug.cgi?id=195523
Reviewed by Dan Bernstein.
- WebKit.xcodeproj/project.pbxproj: Make symbolic links while building the WebKit
framework instead of copying in the services after the framework is built.