Timeline
May 19, 2019:
- 11:08 PM Changeset in webkit [245511] by
-
- 2 edits in trunk/Source/JavaScriptCore
Add support for %pid in dumpJITMemoryPath
https://bugs.webkit.org/show_bug.cgi?id=198026
Reviewed by Saam Barati.
This is necessary when using dumpJITMemory with Safari. Otherwise, multiple WebContent
processes will try to write to the same file at the same time, which will crash since
the file is open with exclusive locking.
- jit/ExecutableAllocator.cpp:
(JSC::dumpJITMemory):
- 8:40 PM Changeset in webkit [245510] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed build fix after r245508.
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: Don't use
an 'import' directive in a C++ file.
- 8:15 PM Changeset in webkit [245509] by
-
- 3 edits2 adds in trunk
Wait to get frame until after layout has been run
https://bugs.webkit.org/show_bug.cgi?id=197999
<rdar://problem/50800345>
Reviewed by Alex Christensen.
Source/WebCore:
The current frame can change when layout runs, so don't bother retrieving
the frame until the final layout pass is complete.
Test: fast/dom/window-inner-width-crash.html
- page/DOMWindow.cpp:
(WebCore::DOMWindow::innerHeight const): Move frame access past the
layout operation.
(WebCore::DOMWindow::innerWidth const): Ditto.
(WebCore::DOMWindow::scrollX const): Ditto.
(WebCore::DOMWindow::scrollY const): Ditto.
LayoutTests:
- fast/dom/window-inner-width-crash-expected.txt: Added.
- fast/dom/window-inner-width-crash.html: Added.
- 5:48 PM Changeset in webkit [245508] by
-
- 47 edits in trunk/Source/WebCore
Unreviewed build fix
Attempting to build with only Open Source sources on shipping software with
ASan enabled triggers build failures due to missing includes. This patch adds
the necessary includes to cleanly build WebCore.
- Modules/applepay/ApplePaySession.cpp:
- Modules/applepay/PaymentSession.cpp:
- Modules/mediastream/UserMediaController.cpp:
- bindings/js/ScriptController.cpp:
- contentextensions/ContentExtensionsBackend.cpp:
- dom/Document.cpp:
- dom/ScriptedAnimationController.cpp:
- editing/cocoa/EditorCocoa.mm:
- editing/cocoa/HTMLConverter.mm:
- editing/cocoa/WebContentReaderCocoa.mm:
- editing/markup.cpp:
- history/CachedFrame.cpp:
- html/HTMLDocument.cpp:
- html/HTMLHtmlElement.cpp:
- html/HTMLMediaElement.cpp:
- html/ImageDocument.cpp:
- html/MediaDocument.cpp:
- html/PluginDocument.cpp:
- html/parser/HTMLDocumentParser.cpp:
- html/parser/XSSAuditor.cpp:
- inspector/InspectorInstrumentation.cpp:
- inspector/agents/InspectorApplicationCacheAgent.cpp:
- inspector/agents/InspectorNetworkAgent.cpp:
- inspector/agents/InspectorPageAgent.cpp:
- inspector/agents/page/PageNetworkAgent.cpp:
- loader/ApplicationManifestLoader.cpp:
- loader/FrameLoader.cpp:
- loader/LoadTiming.cpp:
- loader/NetscapePlugInStreamLoader.cpp:
- loader/ResourceLoader.cpp:
- loader/SubresourceLoader.cpp:
- loader/appcache/ApplicationCacheHost.cpp:
- loader/archive/cf/LegacyWebArchive.cpp:
- loader/icon/IconLoader.cpp:
- page/ContextMenuController.cpp:
- page/FrameView.cpp:
- page/Page.cpp:
- page/Performance.cpp:
- page/PerformanceNavigation.cpp:
- page/Quirks.cpp:
- page/UserContentProvider.cpp:
- page/csp/ContentSecurityPolicy.cpp:
- page/mac/PageMac.mm:
- platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
- svg/graphics/SVGImage.cpp:
- testing/Internals.cpp:
- 2:43 PM Changeset in webkit [245507] by
-
- 5 edits8 adds in trunk
[Pointer Events] Listening to a "pointerover", "pointerenter", "pointerout" or "pointerleave" event alone does not fire the event on iOS
https://bugs.webkit.org/show_bug.cgi?id=197882
<rdar://problem/50769116>
Reviewed by Dean Jackson.
Source/WebCore:
Tests: pointerevents/ios/pointerenter-alone.html
pointerevents/ios/pointerleave-alone.html
pointerevents/ios/pointerout-alone.html
pointerevents/ios/pointerover-alone.html
- dom/EventNames.h:
(WebCore::EventNames::isTouchRelatedEventType const):
(WebCore::EventNames::touchRelatedEventNames const):
(WebCore::EventNames::extendedTouchRelatedEventNames const):
Source/WebKit:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateTouchEventTracking):
LayoutTests:
Add new tests that check that adding a "pointerover", "pointerenter", "pointerout" or "pointerleave" event listener alone dispatches the
event as expected.
- pointerevents/ios/pointerenter-alone-expected.txt: Added.
- pointerevents/ios/pointerenter-alone.html: Added.
- pointerevents/ios/pointerleave-alone-expected.txt: Added.
- pointerevents/ios/pointerleave-alone.html: Added.
- pointerevents/ios/pointerout-alone-expected.txt: Added.
- pointerevents/ios/pointerout-alone.html: Added.
- pointerevents/ios/pointerover-alone-expected.txt: Added.
- pointerevents/ios/pointerover-alone.html: Added.
- 2:37 PM Changeset in webkit [245506] by
-
- 2 edits2 adds in trunk/LayoutTests
[Pointer Events] The pointerup, pointerout and pointerleave events may be fired twice
https://bugs.webkit.org/show_bug.cgi?id=198028
<rdar://problem/50769425>
Reviewed by Dean Jackson.
Add a new test that checks that we're firing a "pointermove" event when the touch pressure
changes, even when the touch is stationary, and that a single "pointerup" event is fired
as the touch ends and the pressure changes. The relevant code change is done in WebKitAdditions.
- pointerevents/ios/pressure-change-expected.txt: Added.
- pointerevents/ios/pressure-change.html: Added.
- pointerevents/utils.js:
(prototype._handlePointerEvent):
(prototype.stationary):
(prototype._action):
- 2:34 PM Changeset in webkit [245505] by
-
- 8 edits in trunk
[Pointer Events] A pointer should be marked as primary for all of its events
https://bugs.webkit.org/show_bug.cgi?id=197909
<rdar://problem/50801608>
Reviewed by Dean Jackson.
Source/WebCore:
Add an ivar for EventHandler which we'll use in WebKitAdditions code to track the touch identifier
of the very first touch to start in a given sequence.
- page/EventHandler.h:
LayoutTests:
Update tests to match expectations that only the first touch of a sequence is the primary pointer,
which applies to all of its events, even after the even is no longer touching the digitizer.
- pointerevents/ios/over-enter-out-leave.html:
- pointerevents/ios/pointer-event-order.html:
- pointerevents/ios/pointer-events-implicit-capture.html:
- pointerevents/ios/pointer-events-is-primary-expected.txt:
- pointerevents/ios/pointer-events-is-primary.html:
- 11:17 AM Changeset in webkit [245504] by
-
- 15 edits in trunk
Change String::number to use "shortest" instead of "fixed precision 6 digits"
https://bugs.webkit.org/show_bug.cgi?id=178319
Reviewed by Sam Weinig.
Source/WebCore:
- accessibility/atk/WebKitAccessibleInterfaceValue.cpp:
(webkitAccessibleSetNewValue): Use String::numberToStringFixedPrecision
instead of String::number to be explicit about the fact that it's fixed precision.
- page/linux/ResourceUsageOverlayLinux.cpp:
(gcTimerString): Ditto.
- platform/graphics/ca/win/PlatformCALayerWin.cpp:
(printTransform): Use appendFixedPrecisionNumber instead of appendNumber
to be explicit about the fact that it's fixed precision.
(printLayer): Ditto.
(WebCore::PlatformCALayerWin::layerTreeAsString const): Ditto.
- platform/graphics/freetype/FontCacheFreeType.cpp:
(buildVariationSettings): Ditto.
- svg/SVGNumberList.h: Use appendFixedPrecisionNumber instead of appendNumber
to be explicit about the fact that it's fixed precision. We'll consider moving
to shortest later.
- svg/SVGPathUtilities.cpp:
(WebCore::buildStringFromPath): Use appendNumberShortest instead of
appendNumberECMAScript since these are single-precision.
- svg/SVGPointList.h: Use appendFixedPrecisionNumber instead of appendNumber
to be explicit about the fact that it's fixed precision. We'll consider moving
to shortest later.
- svg/SVGTransformValue.h: Ditto.
Source/WTF:
- wtf/text/StringBuilder.h: Delete appendNumber for floating point and
appendECMAScriptNumber for single-precision.
- wtf/text/WTFString.h: Delete String::number for floating point and
numberToStringECMAScript for single-precision.
Tools:
- TestWebKitAPI/Tests/WTF/WTFString.cpp:
(TestWebKitAPI::testStringNumberFixedPrecision): Use String::numberToStringFixedPrecision.
- WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(attributesOfElement): Use appendFixedPrecisionNumber.
- 10:12 AM Changeset in webkit [245503] by
-
- 2 edits in trunk/Source/WebInspectorUI
Web Inspector: Decrease spacing before and after tooltip paragraphs
https://bugs.webkit.org/show_bug.cgi?id=198024
Reviewed by Joseph Pecoraro.
- UserInterface/Views/Popover.css:
(.popover p): Added.
(.popover p + p): Added.
- 7:01 AM Changeset in webkit [245502] by
-
- 4 edits2 adds in trunk
Layers painting into shared backing need to contribute to overlap
https://bugs.webkit.org/show_bug.cgi?id=198021
Reviewed by Zalan Bujtas.
Source/WebCore:
Layers that paint into a composited (non-root) layer get added to the overlap map so
that later layers correct overlap them; this is done via the test against currentState.compositingAncestor.
We need the same logic for layers that paint into shared backing; they need to behave
the same way in terms of how they contribute to overlap. We already had currentState.backingSharingAncestor
which was unused, but now use it for this, and correctly null it out when a layer composites.
Bug was noticed during testing, and not known to affect any websites (though it probably does).
Also move the overlap container popping into updateOverlapMap() so the two callers can
share the code, and more explicitly track whether a container was pushed.
Test: compositing/shared-backing/sharing-child-contributes-to-overlap.html
- rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::traverseUnchangedSubtree):
(WebCore::RenderLayerCompositor::updateOverlapMap const):
- rendering/RenderLayerCompositor.h:
LayoutTests:
- compositing/shared-backing/sharing-child-contributes-to-overlap-expected.html: Added.
- compositing/shared-backing/sharing-child-contributes-to-overlap.html: Added.
- 12:46 AM Changeset in webkit [245501] by
-
- 4 edits3 deletes in trunk/Source/WebKit
Revert r240956
https://bugs.webkit.org/show_bug.cgi?id=198007
<rdar://problem/49808949>
Patch by Alex Christensen <achristensen@webkit.org> on 2019-05-19
Reviewed by Alexey Proskuryakov.
r240956 made SafariForWebKitDevelopment crash when using WebKit nightly builds.
Since it's not needed and the binary reduction wasn't too big, just revert that revision.
- Shared/API/Cocoa/WKMain.h: Removed.
- Shared/API/Cocoa/WKMain.mm: Removed.
- Shared/EntryPointUtilities/Cocoa/AuxiliaryProcessMain.cpp: Removed.
- Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:
(main):
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
May 18, 2019:
- 5:42 PM Changeset in webkit [245500] by
-
- 19 edits in trunk
[WebAuthN] Allow authenticators that support both CTAP and U2F to try U2F if CTAP fails in authenticatorGetAssertion
https://bugs.webkit.org/show_bug.cgi?id=197974
<rdar://problem/50879746>
Reviewed by Brent Fulgham.
Source/WebKit:
Authenticators that support both CTAP and U2F protocols can be used in a U2F enabled browser to create a credential in
U2F format. When such authenticator is used to login in WebKit, it will be treated as a CTAP authenticator. Since the
previous credential is in U2F format, the authenticator will not consider that as a valid credential when CTAP requests
come along for that U2F credential. Therefore the previous created U2F credential will not be asked at all, and users
will not be able to login. This situation is not well documented in the CTAP/WebAuthN spec yet.
To workaround the above issue, an authenticator that supports both protocols will be downgraded to a U2F authenticator
to ask a potential U2F credential once a valid error is returned regarding to the first CTAP request.
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
(WKWebsiteDataStoreSetWebAuthenticationMockConfiguration):
- UIProcess/WebAuthentication/Authenticator.h:
- UIProcess/WebAuthentication/AuthenticatorManager.cpp:
(WebKit::AuthenticatorManager::downgrade):
- UIProcess/WebAuthentication/AuthenticatorManager.h:
- UIProcess/WebAuthentication/Mock/MockHidConnection.cpp:
(WebKit::MockHidConnection::parseRequest):
(WebKit::MockHidConnection::feedReports):
- UIProcess/WebAuthentication/Mock/MockWebAuthenticationConfiguration.h:
- UIProcess/WebAuthentication/fido/CtapHidAuthenticator.cpp:
(WebKit::CtapHidAuthenticator::makeCredential):
(WebKit::CtapHidAuthenticator::getAssertion):
(WebKit::CtapHidAuthenticator::continueGetAssertionAfterResponseReceived):
(WebKit::CtapHidAuthenticator::tryDowngrade):
(WebKit::CtapHidAuthenticator::continueGetAssertionAfterResponseReceived const): Deleted.
- UIProcess/WebAuthentication/fido/CtapHidAuthenticator.h:
Tools:
Add a canDowngrade option for mock hid devices to simulate the situation.
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
(WTR::TestRunner::setWebAuthenticationMockConfiguration):
LayoutTests:
- http/wpt/webauthn/public-key-credential-get-failure-hid-silent.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-failure-hid-silent.https.html:
- http/wpt/webauthn/public-key-credential-get-failure-hid.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-failure-hid.https.html:
- http/wpt/webauthn/public-key-credential-get-success-u2f.https-expected.txt:
- http/wpt/webauthn/public-key-credential-get-success-u2f.https.html:
- http/wpt/webauthn/resources/util.js:
- 12:12 AM Changeset in webkit [245499] by
-
- 7 edits in trunk
Add extra information to dumpJITMemory
https://bugs.webkit.org/show_bug.cgi?id=197998
Reviewed by Saam Barati.
Source/JavaScriptCore:
Add ktrace events around the memory dump and mach_absolute_time to link the
events with the entries in the dump. Additionally, add a background queue
to flush on a configurable interval, since the atexit callback does not work
in every situation.
- jit/ExecutableAllocator.cpp:
(JSC::dumpJITMemory):
- runtime/Options.h:
Source/WTF:
Add a new trace point code for JSC::dumpJITMemory
- wtf/SystemTracing.h:
Tools:
Add description for the new dumpJITMemory trace point code.
- Tracing/SystemTracePoints.plist: