⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Aug 29, 2018:

10:05 PM Changeset in webkit [235496] by bshafiei@apple.com
  • 4 edits in tags/Safari-607.1.4/Source/WebKit

Cherry-pick r235492. rdar://problem/43860224

Revert some of r235398
https://bugs.webkit.org/show_bug.cgi?id=189133

Patch by Alex Christensen <achristensen@webkit.org> on 2018-08-29
Reviewed by Tim Horton.

  • UIProcess/API/APILoaderClient.h: (API::LoaderClient::processDidCrash): (API::LoaderClient::didChangeBackForwardList): (API::LoaderClient::didCommitLoadForFrame):
  • UIProcess/API/C/WKPage.cpp: (WKPageSetPageLoaderClient):
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::didChangeBackForwardList): (WebKit::WebPageProxy::didCommitLoadForFrame): (WebKit::WebPageProxy::dispatchProcessDidTerminate):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@235492 268f45cc-cd09-0410-ab3c-d52691b4dbfc

8:39 PM Changeset in webkit [235495] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Avoid code duplication in ResourceLoadStatisticsMemoryStore::processStatisticsAndDataRecords()
https://bugs.webkit.org/show_bug.cgi?id=189130

Reviewed by Youenn Fablet.

Move if check inside the lambda instead of outside to avoid code duplication.

  • UIProcess/ResourceLoadStatisticsMemoryStore.cpp:

(WebKit::ResourceLoadStatisticsMemoryStore::processStatisticsAndDataRecords):

7:26 PM Changeset in webkit [235494] by aestes@apple.com
  • 2 edits in trunk/Source/WebCore

Addressed additional review feedback after r235342.

  • Modules/applepay/ApplePayRequestBase.cpp:

(WebCore::convertAndValidate):

Used '"' instead of "\"" with makeString().

6:50 PM Changeset in webkit [235493] by mmaxfield@apple.com
  • 4 edits in trunk/Tools

[WHLSL] Test row-majorness of matrices
https://bugs.webkit.org/show_bug.cgi?id=189101

The matrix multiplication functions are temporarily commented out of the standard library,
so I've temporarily copy/pasted them into the test. Matrix multiplication is not
commutative, so it requires the right indexing order.

Reviewed by Dean Jackson and Thomas Denney.

  • WebGPUShadingLanguageRI/Intrinsics.js:
  • WebGPUShadingLanguageRI/StandardLibrary.js:

(let.standardLibrary):

  • WebGPUShadingLanguageRI/Test.js:
6:22 PM Changeset in webkit [235492] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit

Revert some of r235398
https://bugs.webkit.org/show_bug.cgi?id=189133

Patch by Alex Christensen <achristensen@webkit.org> on 2018-08-29
Reviewed by Tim Horton.

  • UIProcess/API/APILoaderClient.h:

(API::LoaderClient::processDidCrash):
(API::LoaderClient::didChangeBackForwardList):
(API::LoaderClient::didCommitLoadForFrame):

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didChangeBackForwardList):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::dispatchProcessDidTerminate):

6:20 PM Changeset in webkit [235491] by mark.lam@apple.com
  • 4 edits
    1 add in trunk

Add some missing exception checks in JSRopeString::resolveRopeToAtomicString().
https://bugs.webkit.org/show_bug.cgi?id=189132
<rdar://problem/42513068>

Reviewed by Saam Barati.

JSTests:

  • stress/regress-189132.js: Added.

Source/JavaScriptCore:

  • runtime/JSCJSValueInlines.h:

(JSC::JSValue::toPropertyKey const):

  • runtime/JSString.cpp:

(JSC::JSRopeString::resolveRopeToAtomicString const):

5:26 PM Changeset in webkit [235490] by Aditya Keerthi
  • 6 edits
    2 adds in trunk

[Datalist] Display prefix-matched suggestions first
https://bugs.webkit.org/show_bug.cgi?id=189106

Reviewed by Tim Horton.

Source/WebCore:

In order to increase suggestion relevancy, we should display suggestions that have
the same prefix as the input value first. In order to achieve this, we can place
the suggestions into two buckets, one that contains prefix-matched values and
another that contains only substring-matched values.

TextFieldInputType::suggestions() can be called up to three times before we
display the values. In order to avoid generating the same suggestions multiple
times, the most recent values can be stored and reused. We clear the cached values
whenever the datalist element is modified or when the suggestions view is hidden.

Finally, removed logic to de-duplicate the list of suggested values. This behavior
is not a part of the specification and leads to unnecessary slowdown when
populating the suggestions view.

Test: fast/forms/datalist/datalist-textinput-suggestions-order.html

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::listAttributeTargetChanged):
(WebCore::TextFieldInputType::suggestions):
(WebCore::TextFieldInputType::didCloseSuggestions):

  • html/TextFieldInputType.h:
  • platform/DataListSuggestionsClient.h:

LayoutTests:

Added a test to verify that prefix-matched suggestions are shown before other
matches.

  • fast/forms/datalist/datalist-textinput-suggestions-order-expected.txt: Added.
  • fast/forms/datalist/datalist-textinput-suggestions-order.html: Added.
  • platform/ios/TestExpectations:
5:20 PM Changeset in webkit [235489] by commit-queue@webkit.org
  • 55 edits
    14 adds in trunk

Implement the Web Share API
https://bugs.webkit.org/show_bug.cgi?id=171100
<rdar://problem/31751734>

Patch by Olivia Barnett <obarnett@apple.com> on 2018-08-29
Reviewed by Tim Horton.

LayoutTests/imported/w3c:

  • web-platform-tests/web-share/idlharness.https-expected.txt:
  • web-platform-tests/web-share/share-empty.https-expected.txt:
  • web-platform-tests/web-share/share-securecontext.http-expected.txt:
  • web-platform-tests/web-share/share-url-invalid.https-expected.txt:
  • web-platform-tests/web-share/share-without-user-gesture.https-expected.txt:

Updated expected results.

Source/WebCore:

Added one test in fast/events/ios called share.html; adjusted expectations for existing tests.

  • DerivedSources.make:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • features.json:
  • loader/EmptyClients.cpp:

(WebCore::EmptyChromeClient::showShareSheet):

  • loader/EmptyClients.h:

Added empty showShareSheet function.

  • page/Chrome.cpp:

(WebCore::Chrome::showShareSheet):

  • page/Chrome.h:

Added call to showShareSheet on client.

  • page/ChromeClient.h:

Virtual showShareSheet function.

  • page/Navigator.cpp:

(WebCore::Navigator::share):

  • page/Navigator.h:

Share function that returns a promise and invokes the share sheet.

  • page/Navigator.idl:

Implements NavigatorShare

  • page/NavigatorShare.idl: Added.

Added definition of share function returning a promise.

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setWebShareEnabled):
(WebCore::RuntimeEnabledFeatures::webShareEnabled const):
Added RuntimeEnabledFeature switch.

  • page/ShareData.h: Added.
  • page/ShareData.idl: Added.

Definition of ShareData struct.

Source/WebKit:

  • Platform/spi/ios/UIKitSPI.h:

Added NSURL _title property as in the WebCore UIKitSPI.

  • Scripts/webkit/messages.py:

ShareDataWithParsedURL special case for header for type.

  • Shared/ShareSheetCallbackID.h:

Added a typedef for a share sheet callback id.

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ShareData>::encode):
(IPC::ArgumentCoder<ShareData>::decode):
(IPC::ArgumentCoder<ShareDataWithParsedURL>::encode):
(IPC::ArgumentCoder<ShareDataWithParsedURL>::decode):

  • Shared/WebCoreArgumentCoders.h:

Added encoding and decoding functionality for new structs.

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetWebShareEnabled):
(WKPreferencesGetWebShareEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:

Added switch for RuntimeEnabledFeature.

  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

Added hook for share sheet testing.

  • UIProcess/PageClient.h:

(WebKit::PageClient::showShareSheet):
Page client call to invoke share sheet.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::showShareSheet):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:

Web page proxy handling of call to invoke share sheet.
Creates completion handler to send to WKShareSheet.mm
Completion handler sends message to WebPage with message id.

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::showShareSheet):
Page client implementation call to invoke share sheet.

  • UIProcess/ios/WKContentViewInteraction.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView cleanupInteraction]):
(-[WKContentView _showShareSheet:completionHandler:]):
(-[WKContentView shareSheetDidDismiss:]):
(-[WKContentView invokeShareSheetWithResolution:resolved):
Call to WKShareSheet to invoke the share sheet and callback.
Hook for share sheet resolution testing.

  • UIProcess/ios/forms/WKShareSheet.h: Added.
  • UIProcess/ios/forms/WKShareSheet.mm: Added.

(-[WKShareSheet initWithView:]):
(-[WKShareSheet presentWithParameters:completionHandler:]):
(-[WKShareSheet _dispatchDidDismiss]):
(-[WKShareSheet _cancel]):
(-[WKShareSheet dismiss]):
(-[WKShareSheet _dismissDisplayAnimated:]):
(-[WKShareSheet _presentFullscreenViewController:animated:]):
(-[WKShareSheet invokeShareSheetWithResolution:resolved:]):
Completion handler call and creation of share sheet with parameters.
Hook that force resolves the share sheet completion handler for testing.

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::showShareSheet):
Call to page to invoke share sheet.

  • WebProcess/WebCoreSupport/WebChromeClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::nextShareSheetContextId):
(WebKit::WebPage::showShareSheet):
(WebKit::WebPage::showShareSheetResponse):
WebPage calls proxy and saves context id for promise.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Callback for completed response.

Source/WebKitLegacy/ios:

  • WebCoreSupport/WebChromeClientIOS.h:
  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::showShareSheet):
Empty declaration of showShareSheet.

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::showShareSheet):
Empty declaration of showShareSheet.

LayoutTests:

  • fast/dom/navigator-detached-no-crash-expected.txt:

Updated expected results.

5:04 PM Changeset in webkit [235488] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Layout Test js/error-should-not-strong-reference-global-object.html is flaky on macOS
https://bugs.webkit.org/show_bug.cgi?id=187103

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations: Consolidate expectations.
4:41 PM Changeset in webkit [235487] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Crash under WebKit: WTF::Function<void ()>::CallableWrapper<WebKit::ResourceLoadStatisticsMemoryStore::removeDataRecords(WTF::CompletionHandler<void ()>&&)::$_1>::call()
https://bugs.webkit.org/show_bug.cgi?id=189098
<rdar://problem/43179891>

Reviewed by Youenn Fablet.

The crash was caused by implicitly using |this| on the main thread by accessing member variables, even though
|this| gets destroyed on the statistics queue. To address the issue, capture what we need on the statistics
queue, *before* dispatching to the main thread.

Also stop capturing |this| in the lambdas to make this less error prone.

  • UIProcess/ResourceLoadStatisticsMemoryStore.cpp:

(WebKit::ResourceLoadStatisticsMemoryStore::removeDataRecords):
(WebKit::ResourceLoadStatisticsMemoryStore::grandfatherExistingWebsiteData):
(WebKit::ResourceLoadStatisticsMemoryStore::updateCookieBlocking):

4:39 PM Changeset in webkit [235486] by jer.noble@apple.com
  • 2 edits in trunk/Tools

Unreviewed test gardening; NowPlayingTest API tests require High Sierra.

  • TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm:
4:35 PM Changeset in webkit [235485] by dbates@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION (r226138): WebCore::subdivide() may return an empty vector; Web process can crash when performing find in Epiphany
https://bugs.webkit.org/show_bug.cgi?id=184390
<rdar://problem/41804994>
And
<rdar://problem/39771867>

Reviewed by Simon Fraser.

Source/WebCore:

Speculative fix for Epiphany.

In theory, WebCore::subdivide() should never return an empty vector - no subdivisions - as such a
result represents a programmer error. In practice, InlineTextBox can invoke WebCore::subdivide()
such that it returns an empty vector. One way this can happen is when subdividing an empty inline
text box associated with combined text (RenderCombineText). For now we add a check to bail out of
resolving the style of subdivisions when WebCore::subdivide() returns no subdivisions. In a
subsequent patch we will look to assert that WebCore::subdivide() always returns subdivisions.

Test: fast/text/text-combine-surroundContents-crash.html

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::subdivideAndResolveStyle):

LayoutTests:

Add a test to ensure that we do not crash when painting an empty inline text box associated
with combined text.

  • fast/text/text-combine-surroundContents-crash-expected.txt: Added.
  • fast/text/text-combine-surroundContents-crash.html: Added.
3:42 PM Changeset in webkit [235484] by youenn@apple.com
  • 74 edits
    23 deletes in trunk

Remove WebRTC legacy API implementation
https://bugs.webkit.org/show_bug.cgi?id=189040

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/mediacapture-streams/MediaDevices-IDL-all-expected.txt:
  • web-platform-tests/mediacapture-streams/MediaDevices-IDL-enumerateDevices-expected.txt:
  • web-platform-tests/mediacapture-streams/MediaStream-default-feature-policy.https-expected.txt:
  • web-platform-tests/webrtc/historical-expected.txt:
  • web-platform-tests/webrtc/no-media-call.html:
  • web-platform-tests/webrtc/simplecall.https.html:

Source/WebCore:

This API is no longer needed as the runtime flag is off by default.
Removing this option allows removing some code and will ease future WebRTC improvements.
Covered by existing tests.

  • CMakeLists.txt:
  • DerivedSources.make:
  • Modules/mediastream/MediaStreamEvent.cpp: Removed.
  • Modules/mediastream/MediaStreamEvent.h: Removed.
  • Modules/mediastream/MediaStreamEvent.idl: Removed.
  • Modules/mediastream/NavigatorUserMedia.idl: Removed.
  • Modules/mediastream/NavigatorUserMedia.js: Removed.
  • Modules/mediastream/PeerConnectionBackend.cpp:
  • Modules/mediastream/PeerConnectionBackend.h:
  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/RTCPeerConnection.idl:
  • Modules/mediastream/RTCPeerConnection.js:

(initializeRTCPeerConnection):
(createOffer):
(createAnswer):
(setLocalDescription):
(setRemoteDescription):
(addIceCandidate):
(getLocalStreams): Deleted.
(getStreamById): Deleted.
(addStream): Deleted.
(): Deleted.

  • Modules/mediastream/RTCPeerConnectionInternals.js:

(callbacksAndDictionaryOverload):
(if): Deleted.

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::mediaStreamFromRTCStream):
(WebCore::LibWebRTCMediaEndpoint::addRemoteStream):
(WebCore::LibWebRTCMediaEndpoint::removeRemoteStream):

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:

(WebCore::LibWebRTCPeerConnectionBackend::doStop):
(WebCore::LibWebRTCPeerConnectionBackend::removeRemoteStream): Deleted.
(WebCore::LibWebRTCPeerConnectionBackend::addRemoteStream): Deleted.

  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::addBuiltinGlobals):
(WebCore::isWebRTCLegacyAPIEnabled): Deleted.

  • bindings/js/WebCoreBuiltinNames.h:
  • dom/EventNames.in:
  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setPeerConnectionEnabled):
(WebCore::RuntimeEnabledFeatures::webRTCLegacyAPIEnabled const): Deleted.
(WebCore::RuntimeEnabledFeatures::setWebRTCLegacyAPIEnabled): Deleted.

Source/WebKit:

  • Shared/WebPreferences.yaml:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetWebRTCLegacyAPIEnabled): Deleted.
(WKPreferencesGetWebRTCLegacyAPIEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRef.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _webRTCLegacyAPIEnabled]): Deleted.
(-[WKPreferences _setWebRTCLegacyAPIEnabled:]): Deleted.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

Source/WebKitLegacy/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences webRTCLegacyAPIEnabled]): Deleted.
(-[WebPreferences setWebRTCLegacyAPIEnabled:]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:

(enableExperimentalFeatures):

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setWebRTCLegacyAPIEnabled): Deleted.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

  • TestExpectations:
  • fast/events/constructors/media-stream-event-constructor-expected.txt: Removed.
  • fast/events/constructors/media-stream-event-constructor.html: Removed.
  • fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt: Removed.
  • fast/mediastream/RTCPeerConnection-AddRemoveStream.html: Removed.
  • fast/mediastream/RTCPeerConnection-createAnswer-expected.txt:
  • fast/mediastream/RTCPeerConnection-createAnswer.html:
  • fast/mediastream/RTCPeerConnection-createOffer-expected.txt: Removed.
  • fast/mediastream/RTCPeerConnection-createOffer.html: Removed.
  • fast/mediastream/RTCPeerConnection-dtmf.html: Removed.
  • fast/mediastream/RTCPeerConnection-events-expected.txt: Removed.
  • fast/mediastream/RTCPeerConnection-events.html: Removed.
  • fast/mediastream/RTCPeerConnection-have-local-offer-expected.txt:
  • fast/mediastream/RTCPeerConnection-have-local-offer.html:
  • fast/mediastream/RTCPeerConnection-have-local-pranswer-expected.txt:
  • fast/mediastream/RTCPeerConnection-have-local-pranswer.html:
  • fast/mediastream/RTCPeerConnection-have-remote-offer-expected.txt:
  • fast/mediastream/RTCPeerConnection-have-remote-offer.html:
  • fast/mediastream/RTCPeerConnection-have-remote-pranswer-expected.txt:
  • fast/mediastream/RTCPeerConnection-have-remote-pranswer.html:
  • fast/mediastream/RTCPeerConnection-legacy-stream-based-api-expected.txt: Removed.
  • fast/mediastream/RTCPeerConnection-legacy-stream-based-api.html: Removed.
  • fast/mediastream/RTCPeerConnection-localDescription-expected.txt:
  • fast/mediastream/RTCPeerConnection-localDescription.html:
  • fast/mediastream/RTCPeerConnection-remoteDescription-expected.txt:
  • fast/mediastream/RTCPeerConnection-remoteDescription.html:
  • fast/mediastream/RTCPeerConnection-stable-expected.txt:
  • fast/mediastream/RTCPeerConnection-stable.html:
  • fast/mediastream/RTCPeerConnection-stats.html:
  • fast/mediastream/RTCPeerConnection-statsSelector-expected.txt:
  • fast/mediastream/RTCPeerConnection-statsSelector.html:
  • fast/mediastream/argument-types-expected.txt: Removed.
  • fast/mediastream/argument-types.html: Removed.
  • fast/mediastream/getusermedia-expected.txt: Removed.
  • fast/mediastream/getusermedia.html: Removed.
  • fast/mediastream/webkitGetUserMedia-shadowing-then-expected.txt: Removed.
  • fast/mediastream/webkitGetUserMedia-shadowing-then.html: Removed.
  • platform/mac/TestExpectations:
  • webrtc/legacy-api-expected.txt:
  • webrtc/legacy-api.html:
3:23 PM Changeset in webkit [235483] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

Modernize SlotAssignment
https://bugs.webkit.org/show_bug.cgi?id=189075

Reviewed by Antti Koivisto.

Modernized the code related to SlotAssignment. Namely, use HashMap<>::get instead of HashMap<>::find,
and use HashMap<>::ensure instead of HashMap<>::add. Also use WeakPtr to keep track of HTMLSlotElement
instead of a raw pointer.

  • dom/SlotAssignment.cpp:

(WebCore::SlotAssignment::findAssignedSlot):
(WebCore::SlotAssignment::addSlotElementByName):
(WebCore::SlotAssignment::removeSlotElementByName):
(WebCore::SlotAssignment::didChangeSlot):
(WebCore::SlotAssignment::findFirstSlotElement):
(WebCore::SlotAssignment::resolveAllSlotElements):
(WebCore::SlotAssignment::assignToSlot):

  • dom/SlotAssignment.h:

(WebCore::SlotAssignment::Slot::Slot): Renamed from SlotInfo since "Info" doesn't add any value.

  • html/HTMLSlotElement.h:
3:20 PM Changeset in webkit [235482] by dbates@webkit.org
  • 2 edits in trunk/Tools

lldb-webkit: KeyError thrown for uninitialized OptionSet
https://bugs.webkit.org/show_bug.cgi?id=189070

Reviewed by Simon Fraser.

Do not compute what enumerators are in an uninitialized OptionSet. A local OptionSet variable
is only considered initialized when execution passes over its assignment regardless of whether
the variable is in scope.

The LLDB Python API does not provide a way to determine whether an variable is initialized.
So, we use a simple heuristic: when the value of the OptionSet is greater than the value
of the bitmask with all enumerators set then we consider the OptionSet to be garbage (i.e.
uninitialized memory). When the variable is finally initialized LLDB will notify us to update
our state.

  • lldb/lldb_webkit.py:

(WTFOptionSetProvider.update):

3:01 PM Changeset in webkit [235481] by Chris Dumez
  • 7 edits in trunk

[PSON] We should only process-swap when eTLD+1 changes on navigation
https://bugs.webkit.org/show_bug.cgi?id=189090
<rdar://problem/43799225>

Reviewed by Geoffrey Garen.

Source/WebCore:

Add toRegistrableDomain() utility function to get the eTLD+1 (aka "registrable
domain") from an URL.

  • platform/network/ResourceRequestBase.h:

(WebCore::toRegistrableDomain):
(WebCore::registrableDomainsAreEqual):

Source/WebKit:

When navigating cross-origin, only process swap when the eTLD+1 (aka "Registrable
domain") changes, instead of considering the full security origin.

This has performance benefits and is also needed to keep document.domain origin
relaxation working.

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::addProcessToOriginCacheSet):
(WebKit::WebProcessPool::removeProcessFromOriginCacheSet):
(WebKit::WebProcessPool::processForNavigation):
(WebKit::WebProcessPool::processForNavigationInternal):

  • UIProcess/WebProcessPool.h:

Tools:

Update existing PSON API tests to use different registrable domains instead of different
protocols, as we now only process-swap when the eTLD+1 (aka "registrable domain") changes.

Add test coverage to make sure that we do not process swap when eTLD+1 does not change.

  • TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:
2:50 PM Changeset in webkit [235480] by youenn@apple.com
  • 19 edits in trunk

Add a runtime flag for WebRTC unified plan
https://bugs.webkit.org/show_bug.cgi?id=189068

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/RTCPeerConnection-addTrack.https-expected.txt:

Source/WebCore:

Covered by existing updated tests.
Main change is to call addTrack with a stream parameter so that on the other side, the track will be tied to a stream.
Receive-only case in unified plan is not yet supported.
This will be supported in follow-up patches.

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::setConfiguration): Activate unified plan based on runtime flag.
(WebCore::LibWebRTCMediaEndpoint::addTrack): Do not use AddStream in case of unified plan.
(WebCore::LibWebRTCMediaEndpoint::shouldOfferAllowToReceiveAudio const):
(WebCore::LibWebRTCMediaEndpoint::shouldOfferAllowToReceiveVideo const):
(WebCore::LibWebRTCMediaEndpoint::doCreateOffer): Use legacy webrtc option for receive only cases only in plan B case.

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::webRTCUnifiedPlanEnabled const):
(WebCore::RuntimeEnabledFeatures::setWebRTCUnifiedPlanEnabled):

Source/WebKit:

  • Shared/WebPreferences.yaml:
  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):

Tools:

  • WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::setWebRTCUnifiedPlanEnabled):

  • WebKitTestRunner/InjectedBundle/TestRunner.h:

LayoutTests:

  • fast/mediastream/RTCPeerConnection-add-removeTrack-expected.txt:
  • webrtc/peer-connection-audio-mute2.html:
  • webrtc/peer-connection-remote-audio-mute2.html:
  • webrtc/video-addTrack-expected.txt:
  • webrtc/video-addTrack.html:
  • webrtc/video-addTransceiver.html:
2:20 PM Changeset in webkit [235479] by ajuma@chromium.org
  • 3 edits in trunk/LayoutTests

Generalize suppresion for flaky IntersectionObserver web platform tests
https://bugs.webkit.org/show_bug.cgi?id=189091

Unreviewed test gardening.

2:09 PM Changeset in webkit [235478] by Aditya Keerthi
  • 2 edits in trunk/Source/WebKit

Followup (r235427): Use the null string instead of std::nullopt when no suggestion is selected
https://bugs.webkit.org/show_bug.cgi?id=189095

Reviewed by Tim Horton.

Followup to r235427 as per Darin's comment.

We can avoid unnecessary use of std::optional by taking advantage of the fact that
WTF::String already has a null value distinct from the empty value.

No change in behavior.

  • UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:

(WebKit::WebDataListSuggestionsDropdownMac::selectOption):
(-[WKDataListSuggestionsView currentSelectedString]):

1:55 PM Changeset in webkit [235477] by don.olmstead@sony.com
  • 2 edits
    4 adds in trunk/Tools

[CMake] Split Tools/CMakeLists.txt into platform files
https://bugs.webkit.org/show_bug.cgi?id=189093

Reviewed by Michael Catanzaro.

  • CMakeLists.txt:
  • PlatformGTK.cmake: Added.
  • PlatformMac.cmake: Added.
  • PlatformWPE.cmake: Added.
  • PlatformWin.cmake: Added.
1:33 PM Changeset in webkit [235476] by mitz@apple.com
  • 9 copies
    1 add in releases/Apple/Safari Technology Preview 64

Added a tag for Safari Technology Preview release 64.

12:57 PM Changeset in webkit [235475] by Simon Fraser
  • 3 edits
    2 adds in trunk

Fix crash when reflections and backdrop filter are combined
https://bugs.webkit.org/show_bug.cgi?id=188504
rdar://problem/43225590

Reviewed by Dan Bates.
Source/WebCore:

GraphicsLayerCA::updateBackdropFiltersRect() was confused about which hash map to modify
when changes to the clipping rect affect whether we make backdrop clipping layers;
we need to add/remove from backdropClippingLayerClones, not backdropLayerClones.

Test: compositing/filters/backdrop-filter-update-rect.html

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateBackdropFiltersRect):

LayoutTests:

  • compositing/filters/backdrop-filter-update-rect-expected.txt: Added.
  • compositing/filters/backdrop-filter-update-rect.html: Added.
12:39 PM Changeset in webkit [235474] by jer.noble@apple.com
  • 8 edits
    2 adds in trunk

Muted elements do not have their Now Playing status updated when unmuted.
https://bugs.webkit.org/show_bug.cgi?id=189069

Reviewed by Eric Carlson.

Source/WebCore:

Schedule an updateNowPlayingInfo() when an element becomes unmuted.

  • platform/audio/PlatformMediaSessionManager.h:
  • platform/audio/mac/MediaSessionManagerMac.h:
  • platform/audio/mac/MediaSessionManagerMac.mm:

(WebCore::MediaSessionManagerMac::sessionCanProduceAudioChanged):

Source/WebCore/PAL:

  • pal/spi/mac/MediaRemoteSPI.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/NowPlaying.mm: Added.

(userInfoHasNowPlayingApplicationPID):
(getNowPlayingClient):
(getNowPlayingClientPid):
(NowPlayingTest::webView):
(NowPlayingTest::configuration):
(NowPlayingTest::webViewPid):
(NowPlayingTest::loadPage):
(NowPlayingTest::runScriptWithUserGesture):
(NowPlayingTest::runScriptWithoutUserGesture):
(NowPlayingTest::executeAndWaitForPlaying):
(NowPlayingTest::executeAndWaitForWebViewToBecomeNowPlaying):
(NowPlayingTest::observers):
(NowPlayingTest::addObserver):
(NowPlayingTest::removeObserver):
(NowPlayingTest::notificationCallback):
(NowPlayingTest::receivedNotification):
(NowPlayingTest::performAfterReceivingNotification):
(TEST_F):

  • TestWebKitAPI/Tests/WebKitCocoa/now-playing.html: Added.
12:24 PM Changeset in webkit [235473] by ddkilzer@apple.com
  • 3 edits
    1 copy
    1 delete in trunk/Source/WTF

Rename wtf/text/mac/StringMac.mm to wtf/text/cococa/StringCococa.mm
<https://webkit.org/b/189082>

Reviewed by Sam Weinig.

Includes a drive-by fix for a webkit-style warning:

ERROR: Source/WTF/wtf/text/cocoa/StringCocoa.mm:34: Tests for true/false, null/non-null, and zero/non-zero should all be done without equality comparisons. [readability/comparison_to_zero] [5]

  • WTF.xcodeproj/project.pbxproj: Update for move and rename.
  • wtf/PlatformMac.cmake: Add missing cocoa/StringCocoa.mm source

file. Drive-by fix for rename of
TextBreakIteratorInternalICUMac.mm to
TextBreakIteratorInternalICUCocoa.cpp.

  • wtf/text/cocoa/StringCocoa.mm: Renamed from Source/WTF/wtf/text/mac/StringMac.mm.

(WTF::String::String):

12:17 PM Changeset in webkit [235472] by Wenson Hsieh
  • 8 edits in trunk/Source

Use the null string instead of std::nullopt for missing attachment file names and content types
https://bugs.webkit.org/show_bug.cgi?id=189080

Reviewed by Tim Horton.

Replace instances of std::optional<String> with just String instead, and use the null string to represent a
missing value instead of std::nullopt. No change in behavior.

Source/WebCore:

  • html/HTMLAttachmentElement.cpp:

(WebCore::HTMLAttachmentElement::updateAttributes):

  • html/HTMLAttachmentElement.h:

Source/WebKit:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateAttachmentAttributes):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updateAttachmentAttributes):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
11:44 AM Changeset in webkit [235471] by ajuma@chromium.org
  • 2 edits in trunk/LayoutTests

[mac-wk1] Mark three IntersectionObserver web platform tests as flaky
https://bugs.webkit.org/show_bug.cgi?id=189091

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
11:24 AM Changeset in webkit [235470] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[WHLSL] Ensure that isLValue is copied by the rewriter
https://bugs.webkit.org/show_bug.cgi?id=189083

The value of isLValue was not propagated when new TernaryExpressions are
created in Rewriter.

Patch by Thomas Denney <tdenney@apple.com> on 2018-08-29
Reviewed by Myles C. Maxfield.

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitTernaryExpression):

  • WebGPUShadingLanguageRI/Test.js: Add new test to verify the value is

propagated.

11:21 AM Changeset in webkit [235469] by mmaxfield@apple.com
  • 24 edits
    1 copy
    3 moves
    5 deletes in trunk/Tools

[WHLSL] Add more functions to the standard library
https://bugs.webkit.org/show_bug.cgi?id=188873

Reviewed by Filip Pizlo.

This patch adds the rest of the standard library to StandardLibrary.js, and updates the compiler to be able to compile it.

There are a few major pieces:

  1. Swizzle operators are now implemented in the language, instead of as native functions
  2. Vector constructors are now implemented in the language, instead of as native functions
  3. The matrix type is implemented
  4. Vector operator&[] is illegal, and is removed from the compiler
  5. Vector index setters & index getters are now implemented in the language, instead of as native functions
  6. Vector and matrix equality operators are implemented in the language, instead of as native functions
  7. Casting a scalar to a boolean is implemented in the language, instead of as native functions
  8. Casting a vector to a boolean is not part of the language, and is removed from the compiler
  9. Half-precision floating point types are implemented
  • WebGPUShadingLanguageRI/All.js:
  • WebGPUShadingLanguageRI/BuiltinMatrixGetter.js: Copied from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js.

(BuiltinMatrixGetter):
(BuiltinMatrixGetter.prototype.get height):
(BuiltinMatrixGetter.prototype.get width):
(BuiltinMatrixGetter.prototype.toString):
(BuiltinMatrixGetter.functions):
(BuiltinMatrixGetter.prototype.instantiateImplementation):

  • WebGPUShadingLanguageRI/BuiltinMatrixSetter.js: Renamed from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexSetter.js.

(BuiltinMatrixSetter):
(BuiltinMatrixSetter.prototype.get height):
(BuiltinMatrixSetter.prototype.get width):
(BuiltinMatrixSetter.prototype.toString):
(BuiltinMatrixSetter.functions):
(BuiltinMatrixSetter.prototype.instantiateImplementation):

  • WebGPUShadingLanguageRI/BuiltinVectorConstructors.js: Removed.
  • WebGPUShadingLanguageRI/BuiltinVectorEqualityOperator.js: Removed.
  • WebGPUShadingLanguageRI/BuiltinVectorGetter.js:

(BuiltinVectorGetter.prototype.instantiateImplementation):
(BuiltinVectorGetter):

  • WebGPUShadingLanguageRI/BuiltinVectorSetter.js:

(BuiltinVectorSetter.functions):
(BuiltinVectorSetter.prototype.instantiateImplementation):
(BuiltinVectorSetter):

  • WebGPUShadingLanguageRI/CallExpression.js:

(CallExpression.prototype.resolve):

  • WebGPUShadingLanguageRI/CheckTypesWithArguments.js:

(checkTypesWithArguments.TypeWithArgumentsChecker.prototype.visitTypeRef):
(checkTypesWithArguments.TypeWithArgumentsChecker):
(checkTypesWithArguments):

  • WebGPUShadingLanguageRI/Checker.js:

(Checker.prototype.visitVectorType):
(Checker.prototype.visitMatrixType):

  • WebGPUShadingLanguageRI/ConstexprFolder.js:

(ConstexprFolder.prototype.visitCallExpression):
(ConstexprFolder):

  • WebGPUShadingLanguageRI/Evaluator.js:

(Evaluator.prototype.visitTernaryExpression):

  • WebGPUShadingLanguageRI/FlattenedStructOffsetGatherer.js:

(FlattenedStructOffsetGatherer.prototype.visitMatrixType):
(FlattenedStructOffsetGatherer):

  • WebGPUShadingLanguageRI/Intrinsics.js:

(Intrinsics.):
(Intrinsics):

  • WebGPUShadingLanguageRI/MatrixType.js: Renamed from Tools/WebGPUShadingLanguageRI/BuiltinVectorIndexGetter.js.

(MatrixType):
(MatrixType.prototype.get elementType):
(MatrixType.prototype.get numRows):
(MatrixType.prototype.get numColumns):
(MatrixType.prototype.get numRowsValue):
(MatrixType.prototype.get numColumnsValue):
(MatrixType.prototype.get size):
(MatrixType.prototype.unifyImpl):
(MatrixType.prototype.populateDefaultValue):
(MatrixType.prototype.toString):

  • WebGPUShadingLanguageRI/NameContext.js:

(NameContext.prototype.add):

  • WebGPUShadingLanguageRI/NativeType.js:

(NativeType.create):
(NativeType):

  • WebGPUShadingLanguageRI/OperatorAnderIndexer.js: Renamed from Tools/WebGPUShadingLanguageRI/OperatorAnderIndex.js.

(OperatorAnderIndexer):

  • WebGPUShadingLanguageRI/OperatorBool.js: Removed.
  • WebGPUShadingLanguageRI/Prepare.js:

(let.prepare):

  • WebGPUShadingLanguageRI/Program.js:

(Program.prototype.add):

  • WebGPUShadingLanguageRI/Rewriter.js:

(Rewriter.prototype.visitMatrixType):
(Rewriter):

  • WebGPUShadingLanguageRI/SPIRV.html:
  • WebGPUShadingLanguageRI/StandardLibrary.js:

(operator.bool):
(bool.operator):
(uchar.operator):
(ushort.operator):
(char.operator):
(short.operator):
(uint.operator):
(int.operator):
(half.operator):
(float.operator):
(uchar2.operator):
(uchar3.operator):
(uchar4.operator):
(ushort2.operator):
(ushort3.operator):
(ushort4.operator):
(uint2.operator):
(uint3.operator):
(uint4.operator):
(char2.operator):
(char3.operator):
(char4.operator):
(short2.operator):
(short3.operator):
(short4.operator):
(int2.operator):
(int3.operator):
(int4.operator):
(half2.operator):
(half3.operator):
(half4.operator):
(float2.operator):
(float3.operator):
(float4.operator):
(half2x2.operator):
(half2x3.operator):
(half2x4.operator):
(half3x2.operator):
(half3x3.operator):
(half3x4.operator):
(half4x2.operator):
(half4x3.operator):
(half4x4.operator):
(float2x2.operator):
(float2x3.operator):
(float2x4.operator):
(float3x2.operator):
(float3x3.operator):
(float3x4.operator):
(float4x2.operator):
(float4x3.operator):
(float4x4.operator):
(operator.bool2):
(operator.bool3):
(operator.bool4):
(uint.operator.length):
(operator.uchar2):
(operator.uchar3):
(operator.uchar4):
(operator.ushort2):
(operator.ushort3):
(operator.ushort4):
(operator.uint2):
(operator.uint3):
(operator.uint4):
(operator.char2):
(operator.char3):
(operator.char4):
(operator.short2):
(operator.short3):
(operator.short4):
(operator.int2):
(operator.int3):
(operator.int4):
(operator.half2):
(operator.half3):
(operator.half4):
(operator.float2):
(operator.float3):
(operator.float4):
(bool2.operator):
(bool3.operator):
(bool4.operator):
(allVectorTypeNames):

  • WebGPUShadingLanguageRI/SwizzleOp.js: Removed.
  • WebGPUShadingLanguageRI/SynthesizeDefaultConstructorOperator.js:

(synthesizeDefaultConstructorOperator.FindAllTypes.prototype.visitMatrixType):
(synthesizeDefaultConstructorOperator.FindAllTypes):
(synthesizeDefaultConstructorOperator):

  • WebGPUShadingLanguageRI/SynthesizeOperatorBool.js: Removed.
  • WebGPUShadingLanguageRI/Test.html:
  • WebGPUShadingLanguageRI/Test.js:

(makeHalf):
(checkHalf):

  • WebGPUShadingLanguageRI/Visitor.js:

(Visitor.prototype.visitMatrixType):
(Visitor):

  • WebGPUShadingLanguageRI/index.html:
10:56 AM Changeset in webkit [235468] by Truitt Savell
  • 3 edits in trunk/LayoutTests

Layout Test svg/animations/animate-end-attribute-numeric-precision.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=189087

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
10:51 AM Changeset in webkit [235467] by Simon Fraser
  • 21 edits in trunk

Teach webkitpy how to check leaks and treat leaks as test failures
https://bugs.webkit.org/show_bug.cgi?id=189067

Reviewed by Darin Adler.

Tools:

Add a new "--world-leaks" argument to run-webkit-tests. When enabled, DRT/WTR are launched
with a --world-leaks argument (which is renamed in this patch for consistency). This enables the
behavior added in r235408, namely that they check for leaked documents after each test, and at
the end of one (if --run-singly) or a set of tests run in a single DRT/WTR instance handle the
"#CHECK FOR WORLD LEAKS" command to get still-live documents.

LayoutTestRunner in webkitpy now has the notion of doing "post-tests work", called via _finished_test_group(),
and here it sends the "#CHECK FOR WORLD LEAKS" command to the runner and parses the resulting output block.
If this results block includes leaks, we convert an existing TestResult into a LEAK failure
in TestRunResults.change_result_to_failure(). Leaks are then added to the ouput JSON for display in results.html

Unit tests are updated with some leak examples.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(initializeGlobalsFromCommandLineOptions):

  • Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:

(ParsedJSONResultsTest):

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:

(LayoutTestRunner._annotate_results_with_additional_failures):
(LayoutTestRunner._handle_finished_test_group):
(Worker.handle):
(Worker._run_test):
(Worker._do_post_tests_work):
(Worker._finished_test_group):
(Worker._run_test_in_another_thread):

  • Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:

(JSONLayoutResultsGenerator):

  • Scripts/webkitpy/layout_tests/models/test_expectations.py:

(TestExpectationParser):
(TestExpectations):

  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:

(Base.get_basic_tests):

  • Scripts/webkitpy/layout_tests/models/test_failures.py:

(determine_result_type):
(FailureLeak):
(FailureLeak.init):
(FailureLeak.message):
(FailureDocumentLeak):
(FailureDocumentLeak.init):
(FailureDocumentLeak.message):

  • Scripts/webkitpy/layout_tests/models/test_results.py:

(TestResult.convert_to_failure):

  • Scripts/webkitpy/layout_tests/models/test_run_results.py:

(TestRunResults.change_result_to_failure):
(_interpret_test_failures):
(summarize_results):

  • Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:

(get_result):
(run_results):
(summarized_results):

  • Scripts/webkitpy/layout_tests/run_webkit_tests.py:

(parse_args):

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(parse_args):
(RunTest.test_check_for_world_leaks):

  • Scripts/webkitpy/port/driver.py:

(DriverPostTestOutput):
(DriverPostTestOutput.init):
(Driver.do_post_tests_work):
(Driver._parse_world_leaks_output):
(Driver.cmd_line):
(DriverProxy.do_post_tests_work):

  • Scripts/webkitpy/port/test.py:

(unit_test_list):

  • WebKitTestRunner/Options.cpp:

(WTR::OptionsHandler::OptionsHandler):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::checkForWorldLeaks):

LayoutTests:

Put some fake leaks in full_results.json, and update results.html to show a table
of leaks when results are expanded.

  • fast/harness/full_results.json:
  • fast/harness/results-expected.txt:
  • fast/harness/results.html:
10:50 AM Changeset in webkit [235466] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Missed adding expctations to ios for webkit.org/b/188985
https://bugs.webkit.org/show_bug.cgi?id=188985

Unreviewed test gardening.

  • platform/ios-wk2/TestExpectations:
10:14 AM Changeset in webkit [235465] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r235432 and r235436.
https://bugs.webkit.org/show_bug.cgi?id=189086

Is a Swift source breaking change. (Requested by keith_miller
on #webkit).

Reverted changesets:

"Add nullablity attributes to JSValue"
https://bugs.webkit.org/show_bug.cgi?id=189047
https://trac.webkit.org/changeset/235432

"Add nullablity attributes to JSValue"
https://bugs.webkit.org/show_bug.cgi?id=189047
https://trac.webkit.org/changeset/235436

9:44 AM Changeset in webkit [235464] by Kocsen Chung
  • 1 copy in tags/Safari-607.1.4

Tag Safari-607.1.4.

9:30 AM Changeset in webkit [235463] by Kocsen Chung
  • 7 edits in trunk/Source

Versioning.

9:25 AM Changeset in webkit [235462] by ddkilzer@apple.com
  • 6 edits
    100 deletes in trunk

Remove empty directories from from svn.webkit.org repository
<https://webkit.org/b/189081>

Source/ThirdParty/ANGLE:

  • src/angle.xcodeproj: Removed.
  • src/common/third_party/numerics: Removed.

Source/ThirdParty/libwebrtc:

  • Source/webrtc/base: Removed.
  • Source/webrtc/media/devices: Removed.
  • Source/webrtc/modules/audio_conference_mixer: Removed.
  • Source/webrtc/modules/remote_bitrate_estimator/include/mock: Removed.
  • Source/webrtc/system_wrappers/test: Removed.
  • Source/webrtc/test/testsupport/mac: Removed.
  • Source/webrtc/voice_engine: Removed.

Source/WebCore:

  • Modules/proximity: Removed.

Source/WebInspectorUI:

  • WebInspectorUI.esproj: Removed.

Tools:

  • DumpRenderTree/TestNetscapePlugIn/unix: Removed.
  • WebKitTestRunner/UIScriptContext: Removed.

LayoutTests:

  • css3/filters/backdrop/script-tests: Removed.
  • css3/filters/script-tests: Removed.
  • indieui: Removed.
  • legacy-animation-engine/fullscreen: Removed.
  • platform/gtk/editing/pasteboard/script-tests: Removed.
  • platform/gtk/resources: Removed.
  • platform/ios-wk2/fast/backgrounds: Removed.
  • platform/ios-wk2/fast/block/margin-collapse/block-inside-inline: Removed.
  • platform/ios-wk2/fast/block/positioning/auto/vertical-lr: Removed.
  • platform/ios-wk2/fast/body-propagation/background-color: Removed.
  • platform/ios-wk2/fast/body-propagation/background-image: Removed.
  • platform/ios-wk2/fast/borders: Removed.
  • platform/ios-wk2/fast/box-shadow: Removed.
  • platform/ios-wk2/fast/box-sizing: Removed.
  • platform/ios-wk2/fast/canvas: Removed.
  • platform/ios-wk2/fast/compact: Removed.
  • platform/ios-wk2/fast/css/counters: Removed.
  • platform/ios-wk2/fast/css/namespaces: Removed.
  • platform/ios-wk2/fast/css3-text: Removed.
  • platform/ios-wk2/fast/doctypes: Removed.
  • platform/ios-wk2/fast/dom/Element: Removed.
  • platform/ios-wk2/fast/dom/HTMLDocument: Removed.
  • platform/ios-wk2/fast/dom/HTMLElement: Removed.
  • platform/ios-wk2/fast/dom/HTMLHeadElement: Removed.
  • platform/ios-wk2/fast/dom/HTMLImageElement: Removed.
  • platform/ios-wk2/fast/dom/HTMLInputElement: Removed.
  • platform/ios-wk2/fast/dom/HTMLLinkElement: Removed.
  • platform/ios-wk2/fast/dom/HTMLMeterElement: Removed.
  • platform/ios-wk2/fast/dom/HTMLObjectElement: Removed.
  • platform/ios-wk2/fast/dom/HTMLProgressElement: Removed.
  • platform/ios-wk2/fast/dom/HTMLTableColElement: Removed.
  • platform/ios-wk2/fast/dom/HTMLTableElement: Removed.
  • platform/ios-wk2/fast/dom/Range: Removed.
  • platform/ios-wk2/fast/dom/Window: Removed.
  • platform/ios-wk2/fast/events/touch: Removed.
  • platform/ios-wk2/fast/fast-mobile-scrolling: Removed.
  • platform/ios-wk2/fast/forms/color: Removed.
  • platform/ios-wk2/fast/forms/datalist: Removed.
  • platform/ios-wk2/fast/forms/file: Removed.
  • platform/ios-wk2/fast/forms/number: Removed.
  • platform/ios-wk2/fast/forms/range: Removed.
  • platform/ios-wk2/fast/forms/select: Removed.
  • platform/ios-wk2/fast/gradients: Removed.
  • platform/ios-wk2/fast/inspector-support: Removed.
  • platform/ios-wk2/fast/line-grid: Removed.
  • platform/ios-wk2/fast/multicol/span: Removed.
  • platform/ios-wk2/fast/multicol/vertical-lr: Removed.
  • platform/ios-wk2/fast/preloader: Removed.
  • platform/ios-wk2/fast/reflections: Removed.
  • platform/ios-wk2/fast/regions/auto-size: Removed.
  • platform/ios-wk2/fast/replaced/vertical-lr: Removed.
  • platform/ios-wk2/fast/replaced/vertical-rl: Removed.
  • platform/ios-wk2/fast/sub-pixel: Removed.
  • platform/ios-wk2/fast/text/firstline: Removed.
  • platform/ios-wk2/fast/text/shaping: Removed.
  • platform/ios-wk2/fast/tokenizer: Removed.
  • platform/ios-wk2/scrolling: Removed.
  • platform/ios/fast/viewport: Removed.
  • platform/ios/ios/fast/events/touch/script-tests: Removed.
  • platform/ios/ios/fast/html: Removed.
  • platform/ios/ios/scrolling: Removed.
  • platform/mac-sierra-wk2/js: Removed.
  • platform/mac-sierra/http/tests/ssl: Removed.
  • platform/mac-wk2/http/tests/plugins: Removed.
  • platform/mac-wk2/js: Removed.
  • platform/mac-wk2/tiled-drawing: Removed.
  • platform/mac/accessibility/resources: Removed.
  • platform/mac/accessibility/select-text: Removed.
  • platform/mac/editing/attributed-string: Removed.
  • platform/mac/editing/dictionary-lookup: Removed.
  • platform/mac/editing/input/resources: Removed.
  • platform/mac/editing/selection/script-tests: Removed.
  • platform/mac/fast/canvas/resources: Removed.
  • platform/mac/fast/forms/script-tests: Removed.
  • platform/mac/fast/ruby/resources: Removed.
  • platform/mac/fast/scrolling/resources: Removed.
  • platform/mac/http/tests/usercontentfilter: Removed.
  • platform/mac/platform/mac/accessibility: Removed.
  • platform/mac/platform/mac/editing: Removed.
  • platform/win-xp: Removed.
  • platform/win/editing/exeCommand: Removed.
  • platform/win/platform/win/accessibility: Removed.
  • platform/win/sputnik: Removed.
  • platform/wk2/js: Removed.
  • platform/wk2/storage: Removed.
  • proximity: Removed.
  • vibration: Removed.
8:07 AM Changeset in webkit [235461] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[GTK][WPE] Add JSCOnly Release bot for Linux ARMv7 Thumb2 SoftFP
https://bugs.webkit.org/show_bug.cgi?id=189077

Patch by Pablo Saavedra <Pablo Saavedra> on 2018-08-29
Reviewed by Michael Catanzaro.

Deployed new bot for WPE Release in Linux ARMv7 Thumb2 SoftFP
This bot (jsconly-linux-igalia-bot-5) will run the 'JSCOnly
Linux ARMv7 Thumb2 SoftFP Release' buildjob.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:
7:49 AM Changeset in webkit [235460] by Alan Bujtas
  • 7 edits
    2 copies in trunk/Source/WebCore

[LFC][Floating] Introduce FloatBox, a FloatAvoider subclass.
https://bugs.webkit.org/show_bug.cgi?id=189074

Reviewed by Antti Koivisto.

FloatBox is a float avoider and a float positioned box as well.
This is in preparation for the float avoidance feature where formatting context root boxes avoid existing floats.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • layout/displaytree/DisplayBox.h:
  • layout/floats/FloatAvoider.cpp:

(WebCore::Layout::FloatAvoider::FloatAvoider):
(WebCore::Layout::FloatAvoider::setHorizontalConstraints):
(WebCore::Layout::FloatAvoider::setVerticalConstraint):
(WebCore::Layout::FloatAvoider::horizontalPositionCandidate):
(WebCore::Layout::FloatAvoider::verticalPositionCandidate):
(WebCore::Layout::FloatAvoider::resetPosition):
(WebCore::Layout::FloatAvoider::rectInContainingBlock const):
(WebCore::Layout::FloatAvoider::initializePosition): Deleted.
(WebCore::Layout::FloatAvoider::isLeftAligned const): Deleted.
(WebCore::Layout::FloatAvoider::rect const): Deleted.
(WebCore::Layout::FloatAvoider::resetHorizontalConstraints): Deleted.
(WebCore::Layout::FloatAvoider::initialVerticalPosition const): Deleted.

  • layout/floats/FloatAvoider.h:

(WebCore::Layout::FloatAvoider::rect const):
(WebCore::Layout::FloatAvoider::isLeftAligned const):
(WebCore::Layout::FloatAvoider::initialVerticalPosition const):
(WebCore::Layout::FloatAvoider::floatingState const):
(WebCore::Layout::FloatAvoider::layoutBox const):
(WebCore::Layout::FloatAvoider::displayBox const):

  • layout/floats/FloatBox.cpp: Copied from Source/WebCore/layout/floats/FloatAvoider.h.

(WebCore::Layout::FloatBox::FloatBox):
(WebCore::Layout::FloatBox::horizontalPositionCandidate):
(WebCore::Layout::FloatBox::verticalPositionCandidate):
(WebCore::Layout::FloatBox::initialVerticalPosition const):

  • layout/floats/FloatBox.h: Copied from Source/WebCore/layout/floats/FloatAvoider.h.
  • layout/floats/FloatingContext.cpp:

(WebCore::Layout::FloatingContext::positionForFloat const):
(WebCore::Layout::FloatingContext::floatingPosition const):

5:36 AM Changeset in webkit [235459] by ajuma@chromium.org
  • 14 edits in trunk

[IntersectionObserver] Implement intersection logic for the same-document implicit root case
https://bugs.webkit.org/show_bug.cgi?id=189055

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Rebaseline tests.

  • web-platform-tests/intersection-observer/display-none-expected.txt:
  • web-platform-tests/intersection-observer/inline-client-rect-expected.txt:
  • web-platform-tests/intersection-observer/multiple-targets-expected.txt:
  • web-platform-tests/intersection-observer/multiple-thresholds-expected.txt:
  • web-platform-tests/intersection-observer/observer-without-js-reference-expected.txt:
  • web-platform-tests/intersection-observer/root-margin-expected.txt:
  • web-platform-tests/intersection-observer/same-document-no-root-expected.txt:
  • web-platform-tests/intersection-observer/same-document-zero-size-target-expected.txt:
  • web-platform-tests/intersection-observer/shadow-content-expected.txt:
  • web-platform-tests/intersection-observer/text-target-expected.txt:
  • web-platform-tests/intersection-observer/zero-area-element-hidden-expected.txt:

Source/WebCore:

Extend the intersection logic to handle computing the intersection of the target and the
viewport, for the case where the target is in the main frame.

Tested by existing tests in imported/w3c/web-platform-tests/intersection-observer.

  • dom/Document.cpp:

(WebCore::computeIntersectionRects):
(WebCore::Document::updateIntersectionObservations):

Aug 28, 2018:

10:31 PM Changeset in webkit [235458] by rniwa@webkit.org
  • 11 edits
    2 adds in trunk

Changes to slot children should trigger slotchange
https://bugs.webkit.org/show_bug.cgi?id=169718
<rdar://problem/43317496>

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaselined the test now that relevant test cases pass.

  • web-platform-tests/shadow-dom/slotchange-expected.txt:

Source/WebCore:

Fix the bug that slotchange event is not fired when a slot's fallback content is updated now that slotchange event
is more formally specified.

This particular behavior corresponds to step 7.5. of the concept *to insert a node* where it says:
"[I]f parent’s root is a shadow root, and parent is a slot whose assigned nodes is the empty list, then run signal
a slot change for parent."

See https://dom.spec.whatwg.org/#concept-node-insert

Tests: fast/shadow-dom/slotchange-in-fallback.html

imported/w3c/web-platform-tests/shadow-dom/slotchange.html

  • dom/Element.cpp:

(WebCore::Element::childrenChanged): Updated the comment.

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::addSlotElementByName): Added an assertion.
(WebCore::ShadowRoot::slotFallbackDidChange): Added.

  • dom/ShadowRoot.h:
  • dom/SlotAssignment.cpp:

(WebCore::SlotAssignment::slotFallbackDidChange): Added. When the assigned nodes is empty, we enqueue a slotchange.
Because assignedNodesForSlot invokes assignSlots, this can be O(n) but we don't expect mutating slot's fallback
contents and shadow host's children in turn to be a common scenario so this shouldn't be an issue in practice.

  • dom/SlotAssignment.h:
  • html/HTMLSlotElement.cpp:

(WebCore::HTMLSlotElement::insertedIntoAncestor): Be explicit about auto* being used here.
(WebCore::HTMLSlotElement::childrenChanged): Added. Invokes slotFallbackDidChange whenver child node is muated.

  • html/HTMLSlotElement.h:

LayoutTests:

Added a W3C style testharness.js test for firing slotchange event for the fallback content change
since web-platform-tests/shadow-dom/slotchange.html doesn't have adequate set of tests.

Chrome and Firefox pass all test cases. WebKit used to fail all test cases before this patch.

  • fast/shadow-dom/slotchange-in-fallback-expected.txt: Added.
  • fast/shadow-dom/slotchange-in-fallback.html: Added.
10:05 PM Changeset in webkit [235457] by don.olmstead@sony.com
  • 3 edits
    2 adds in trunk

Check for null renderer in canBeScrolledIntoView
https://bugs.webkit.org/show_bug.cgi?id=188935

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/spatial-navigation/snav-display-contents-crash.html

  • page/SpatialNavigation.cpp:

(WebCore::canBeScrolledIntoView):

LayoutTests:

  • fast/spatial-navigation/snav-display-contents-crash-expected.txt: Added.
  • fast/spatial-navigation/snav-display-contents-crash.html: Added.
9:52 PM Changeset in webkit [235456] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

IDBDatabase should not return true to hasPendingActivity after being stopped
https://bugs.webkit.org/show_bug.cgi?id=189073

Reviewed by Darin Adler.

There is a chance that IDBDatabase::hasPendingActivity returns true.
The case that might happen is when stop() is called but there are still some active/being committed transactions.
In that case, hasPendingActivity will return true until these transactions get finalized.
While these transactions will probably be finalized at some point, it delays GC for no good reason.
And we might want in a follow-up patch to assert that ActiveDOMObject are GC-able whenever their context is stopped.
For that purpose, make sure hasPendingActivity returns false when context is stopped.

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::hasPendingActivity const):

9:06 PM Changeset in webkit [235455] by ddkilzer@apple.com
  • 2 edits in trunk/Source/ThirdParty/libwebrtc

[libwebrtc] Remove references to Source/webrtc/modules/audio_coding/codecs/isac/main/source/fft.h

Found by tidy-Xcode-project-file script (see Bug 188754).

  • libwebrtc.xcodeproj/project.pbxproj:

(Source/webrtc/modules/audio_coding/codecs/isac/main/source/fft.h):
Remove references to this file since it doesn't exist.

8:58 PM Changeset in webkit [235454] by don.olmstead@sony.com
  • 7 edits
    1 delete in trunk

[CMake] Use CMake's FindFreetype
https://bugs.webkit.org/show_bug.cgi?id=189071

Reviewed by Michael Catanzaro.

.:

Use the builtin CMake functionality for finding Freetype.

  • Source/cmake/FindFreetype2.cmake: Removed.
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/OptionsWPE.cmake:

Source/WebCore:

No new tests. No change in behavior.

  • platform/FreeType.cmake:

Source/WebKit:

  • PlatformWPE.cmake:
7:37 PM Changeset in webkit [235453] by youenn@apple.com
  • 3 edits in trunk/LayoutTests

WebKitMediaSession should be GC collectable when its document is being stopped
https://bugs.webkit.org/show_bug.cgi?id=189016
<rdar://problem/43804904>

Unreviewed.
Increasing number of GC and checks to unflake tests on bots.

  • http/tests/IndexedDB/collect-IDB-objects.https.html:
  • http/tests/media/clearkey/collect-webkit-media-session.html:
6:36 PM Changeset in webkit [235452] by Devin Rousso
  • 5 edits in trunk

console.log() shows (anonymous function) instead of the passed string when a certain format is used
https://bugs.webkit.org/show_bug.cgi?id=188946
<rdar://problem/43756428>

Reviewed by Brian Burg.

Source/WebInspectorUI:

Stack trace URLs are much more likely to follow the following format:

<protocol>:<path>:<line>:<column>

Modify the test regexp to always require that a protocol exists and to check that there are
no ":" inside the protocol or path. Additionally, stack traces usually have more than one
frame, so return false if there isn't more than one line.

  • UserInterface/Models/StackTrace.js:

(WI.StackTrace.isLikelyStackTrace):

LayoutTests:

  • inspector/console/js-isLikelyStackTrace-expected.txt:
  • inspector/console/js-isLikelyStackTrace.html:
5:06 PM Changeset in webkit [235451] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: REGRESSION: CanvasSidebarPanel is empty for imported recordings
https://bugs.webkit.org/show_bug.cgi?id=189061

Reviewed by Brian Burg.

When recordings are imported, they don't have an associated WI.Canvas, meaning that the
WI.Recording is never added to the canvas' WI.RecordingCollection. Previously, the
canvas sidebar relied upon the ItemAdded event to update the recording WI.ScopeBar.
Since the imported recording isn't ever added to the collection, this is never fired.

This patch moves the function call that updates the WI.ScopeBar to a more universal path,
ensuring that no matter how a WI.Recording is set for the sidebar, it will be shown.

  • UserInterface/Views/CanvasSidebarPanel.js:

(WI.CanvasSidebarPanel.prototype.set recording):
(WI.CanvasSidebarPanel.prototype._recordingAdded):
(WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):

4:43 PM Changeset in webkit [235450] by mark.lam@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

Fix bit-rotted Interpreter::dumpRegisters() and move it to the VMInspector.
https://bugs.webkit.org/show_bug.cgi?id=189059
<rdar://problem/40335354>

Reviewed by Saam Barati.

  1. Moved Interpreter::dumpRegisters() to VMInspector::dumpRegisters().
  2. Added $vm.dumpRegisters().

Usage: $vm.dumpRegisters(N) dump the registers of the Nth CallFrame.
Usage: $vm.dumpRegisters()
dump the registers of the current CallFrame.

Note: Currently, $vm.dumpRegisters() only dump registers in the physical frame.
It will treat inlined frames content as registers in the bounding physical frame.

Here's an example of such a dump on a DFG frame:

Register frame:

-----------------------------------------------------------------------------

use | address | value

-----------------------------------------------------------------------------
[r 12 arguments[ 7]] | 0x7ffeefbfd330 | 0xa Undefined
[r 11 arguments[ 6]] | 0x7ffeefbfd328 | 0x10bbb3e80 Object: 0x10bbb3e80 with butterfly 0x0 (Structure 0x10bbf20d0:[Object, {}, NonArray, Proto:0x10bbb4000]), StructureID: 76
[r 10 arguments[ 5]] | 0x7ffeefbfd320 | 0xa Undefined
[r 9 arguments[ 4]] | 0x7ffeefbfd318 | 0xa Undefined
[r 8 arguments[ 3]] | 0x7ffeefbfd310 | 0xa Undefined
[r 7 arguments[ 2]] | 0x7ffeefbfd308 | 0xffff0000000a5eaa Int32: 679594
[r 6 arguments[ 1]] | 0x7ffeefbfd300 | 0x10bbd00f0 Object: 0x10bbd00f0 with butterfly 0x8000f8248 (Structure 0x10bba4700:[Function, {name:100, prototype:101, length:102, Symbol.species:103, isArray:104}, NonArray, Proto:0x10bbd0000, Leaf]), StructureID: 160
[r 5 this] | 0x7ffeefbfd2f8 | 0x10bbe0000 Object: 0x10bbe0000 with butterfly 0x8000d8808 (Structure 0x10bb35340:[global, {parseInt:100, parseFloat:101, Object:102, Function:103, Array:104, RegExp:105, RangeError:106, TypeError:107, PrivateSymbol.Object:108, PrivateSymbol.Array:109, ArrayBuffer:110, String:111, Symbol:112, Number:113, Boolean:114, Error:115, Map:116, Set:117, Promise:118, eval:119, Reflect:121, $vm:122, WebAssembly:123, debug:124, describe:125, describeArray:126, print:127, printErr:128, quit:129, gc:130, fullGC:131, edenGC:132, forceGCSlowPaths:133, gcHeapSize:134, addressOf:135, version:136, run:137, runString:138, load:139, loadString:140, readFile:141, read:142, checkSyntax:143, sleepSeconds:144, jscStack:145, readline:146, preciseTime:147, neverInlineFunction:148, noInline:149, noDFG:150, noFTL:151, numberOfDFGCompiles:153, jscOptions:154, optimizeNextInvocation:155, reoptimizationRetryCount:156, transferArrayBuffer:157, failNextNewCodeBlock:158, OSRExit:159, isFinalTier:160, predictInt32:161, isInt32:162, isPureNaN:163, fiatInt52:164, effectful42:165, makeMasquerader:166, hasCustomProperties:167, createGlobalObject:168, dumpTypesForAllVariables:169, drainMicrotasks:170, getRandomSeed:171, setRandomSeed:172, isRope:173, callerSourceOrigin:174, is32BitPlatform:175, loadModule:176, checkModuleSyntax:177, platformSupportsSamplingProfiler:178, generateHeapSnapshot:179, resetSuperSamplerState:180, ensureArrayStorage:181, startSamplingProfiler:182, samplingProfilerStackTraces:183, maxArguments:184, asyncTestStart:185, asyncTestPassed:186, WebAssemblyMemoryMode:187, console:188, $:189, $262:190, waitForReport:191, heapCapacity:192, flashHeapAccess:193, disableRichSourceInfo:194, mallocInALoop:195, totalCompileTime:196, Proxy:197, uneval:198, WScript:199, failWithMessage:200, triggerAssertFalse:201, isNaN:202, isFinite:203, escape:204, unescape:205, decodeURI:206, decodeURIComponent:207, encodeURI:208, encodeURIComponent:209, EvalError:210, ReferenceError:211, SyntaxError:212, URIError:213, JSON:214, Math:215, Int8Array:216, PrivateSymbol.Int8Array:217, Int16Array:218, PrivateSymbol.Int16Array:219, Int32Array:220, PrivateSymbol.Int32Array:221, Uint8Array:222, PrivateSymbol.Uint8Array:223, Uint8ClampedArray:224, PrivateSymbol.Uint8ClampedArray:225, Uint16Array:226, PrivateSymbol.Uint16Array:227, Uint32Array:228, PrivateSymbol.Uint32Array:229, Float32Array:230, PrivateSymbol.Float32Array:231, Float64Array:232, PrivateSymbol.Float64Array:233, DataView:234, Date:235, WeakMap:236, WeakSet:237, Intl:120, desc:238}, NonArray, Proto:0x10bbb4000, UncacheableDictionary, Leaf]), StructureID: 474
-----------------------------------------------------------------------------
[ArgumentCount] | 0x7ffeefbfd2f0 | 7
[ReturnVPC] | 0x7ffeefbfd2f0 | 164 (line 57)
[Callee] | 0x7ffeefbfd2e8 | 0x10bb68db0 Object: 0x10bb68db0 with butterfly 0x0 (Structure 0x10bbf1c00:[Function, {}, NonArray, Proto:0x10bbd0000, Shady leaf]), StructureID: 65
[CodeBlock] | 0x7ffeefbfd2e0 | 0x10bb2f8e0 callRandomFunction#DmVXnv:[0x10bb2f8e0->0x10bbfd1e0, LLIntFunctionCall, 253]
[ReturnPC] | 0x7ffeefbfd2d8 | 0x10064d14c
[CallerFrame] | 0x7ffeefbfd2d0 | 0x7ffeefbfd380
-----------------------------------------------------------------------------
[r -1 CalleeSaveReg] | 0x7ffeefbfd2c8 | 0xffff000000000002 Int32: 2
[r -2 CalleeSaveReg] | 0x7ffeefbfd2c0 | 0xffff000000000000 Int32: 0
[r -3 CalleeSaveReg] | 0x7ffeefbfd2b8 | 0x10baf1608
[r -4 ] | 0x7ffeefbfd2b0 | 0x10bbcc000 Object: 0x10bbcc000 with butterfly 0x0 (Structure 0x10bbf1960:[JSGlobalLexicalEnvironment, {}, NonArray, Leaf]), StructureID: 59
[r -5 ] | 0x7ffeefbfd2a8 | 0x10bbcc000 Object: 0x10bbcc000 with butterfly 0x0 (Structure 0x10bbf1960:[JSGlobalLexicalEnvironment, {}, NonArray, Leaf]), StructureID: 59
[r -6 ] | 0x7ffeefbfd2a0 | 0xa Undefined
-----------------------------------------------------------------------------
[r -7] | 0x7ffeefbfd298 | 0x10bb6fdc0 String (atomic) (identifier): length, StructureID: 4
[r -8] | 0x7ffeefbfd290 | 0x10bbb7ec0 Object: 0x10bbb7ec0 with butterfly 0x8000e0008 (Structure 0x10bbf2ae0:[Array, {}, ArrayWithContiguous, Proto:0x10bbc8080]), StructureID: 99
[r -9] | 0x7ffeefbfd288 | 0x10bbc33f0 Object: 0x10bbc33f0 with butterfly 0x8000fdda8 (Structure 0x10bbf1dc0:[Function, {name:100, length:101}, NonArray, Proto:0x10bbd0000, Leaf]), StructureID: 69
[r-10] | 0x7ffeefbfd280 | 0xffff000000000004 Int32: 4
[r-11] | 0x7ffeefbfd278 | 0x10bbb4290 Object: 0x10bbb4290 with butterfly 0x8000e8408 (Structure 0x10bb74850:[DollarVM, {abort:100, crash:101, breakpoint:102, dfgTrue:103, ftlTrue:104, cpuMfence:105, cpuRdtsc:106, cpuCpuid:107, cpuPause:108, cpuClflush:109, llintTrue:110, jitTrue:111, noInline:112, gc:113, edenGC:114, callFrame:115, codeBlockFor:116, codeBlockForFrame:117, dumpSourceFor:118, dumpBytecodeFor:119, dataLog:120, print:121, dumpCallFrame:122, dumpStack:123, dumpRegisters:124, dumpCell:125, indexingMode:126, inlineCapacity:127, value:128, getpid:129, createProxy:130, createRuntimeArray:131, createImpureGetter:132, createCustomGetterObject:133, createDOMJITNodeObject:134, createDOMJITGetterObject:135, createDOMJITGetterComplexObject:136, createDOMJITFunctionObject:137, createDOMJITCheckSubClassObject:138, createDOMJITGetterBaseJSObject:139, createBuiltin:140, getPrivateProperty:141, setImpureGetterDelegate:142, Root:143, Element:144, getElement:145, SimpleObject:146, getHiddenValue:147, setHiddenValue:148, shadowChickenFunctionsOnStack:149, setGlobalConstRedeclarationShouldNotThrow:150, findTypeForExpression:151, returnTypeFor:152, flattenDictionaryObject:153, dumpBasicBlockExecutionRanges:154, hasBasicBlockExecuted:155, basicBlockExecutionCount:156, enableDebuggerModeWhenIdle:158, disableDebuggerModeWhenIdle:159, globalObjectCount:160, globalObjectForObject:161, getGetterSetter:162, loadGetterFromGetterSetter:163, createCustomTestGetterSetter:164, deltaBetweenButterflies:165, totalGCTime:166}, NonArray, Proto:0x10bbb4000, Dictionary, Leaf]), StructureID: 306
[r-12] | 0x7ffeefbfd270 | 0x100000001
[r-13] | 0x7ffeefbfd268 | 0x10bbc33f0 Object: 0x10bbc33f0 with butterfly 0x8000fdda8 (Structure 0x10bbf1dc0:[Function, {name:100, length:101}, NonArray, Proto:0x10bbd0000, Leaf]), StructureID: 69
[r-14] | 0x7ffeefbfd260 | 0x0
[r-15] | 0x7ffeefbfd258 | 0x10064d14c
[r-16] | 0x7ffeefbfd250 | 0x7ffeefbfd2d0
[r-17] | 0x7ffeefbfd248 | 0x67ec87ee177 INVALID
[r-18] | 0x7ffeefbfd240 | 0x7ffeefbfd250
-----------------------------------------------------------------------------

  1. Removed dumpCallFrame() from the jsc shell. We have the following tools that we can use in its place:

$vm.dumpCallFrame()
$vm.dumpBytecodeFor()
$vm.dumpRegisters() Just added in this patch.

  1. Also fixed a bug in BytecodeDumper: it should only access CallLinkInfo::haveLastSeenCallee() only if CallLinkInfo::isDirect() is false.
  • bytecode/BytecodeDumper.cpp:

(JSC::BytecodeDumper<Block>::printCallOp):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::dumpCallFrame): Deleted.
(JSC::DumpReturnVirtualPCFunctor::DumpReturnVirtualPCFunctor): Deleted.
(JSC::DumpReturnVirtualPCFunctor::operator() const): Deleted.
(JSC::Interpreter::dumpRegisters): Deleted.

  • interpreter/Interpreter.h:
  • jsc.cpp:

(GlobalObject::finishCreation):
(functionDumpCallFrame): Deleted.

  • tools/JSDollarVM.cpp:

(JSC::functionDumpRegisters):
(JSC::JSDollarVM::finishCreation):

  • tools/VMInspector.cpp:

(JSC::VMInspector::dumpRegisters):

  • tools/VMInspector.h:
4:40 PM Changeset in webkit [235449] by Truitt Savell
  • 3 edits in trunk/LayoutTests

Edditing test expectations from webkit.org/b/188985.
https://bugs.webkit.org/show_bug.cgi?id=188985

Unreviewed test gardening.

4:28 PM Changeset in webkit [235448] by Wenson Hsieh
  • 14 edits in trunk/Source

Work towards: [iOS] Consolidate the implementations of readString, stringForType, and readURL in PlatformPasteboardIOS.mm
https://bugs.webkit.org/show_bug.cgi?id=189054

Reviewed by Andy Estes.

Source/WebCore:

Remove the pasteboard type argument from PlatformPasteboard::readURL(). Currently, we only ever pass it
"public.url" anyways; for reading other types of strings, readString() already exists, which takes an arbitrary
pasteboard type.

  • platform/PasteboardStrategy.h:
  • platform/PlatformPasteboard.h:
  • platform/ios/PasteboardIOS.mm:

(WebCore::Pasteboard::readPasteboardWebContentDataForType):
(WebCore::Pasteboard::readPlatformValueAsString):

  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::readURL):

Source/WebKit:

Remove the pasteboard type argument from readURLFromPasteboard.

  • UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:

(WebKit::WebPasteboardProxy::readURLFromPasteboard):

  • UIProcess/WebPasteboardProxy.h:
  • UIProcess/WebPasteboardProxy.messages.in:
  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::readURLFromPasteboard):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.h:

Source/WebKitLegacy/mac:

Remove the pasteboard type argument from readURLFromPasteboard.

  • WebCoreSupport/WebPlatformStrategies.h:
  • WebCoreSupport/WebPlatformStrategies.mm:

(WebPlatformStrategies::readURLFromPasteboard):

4:26 PM Changeset in webkit [235447] by Devin Rousso
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Search bar is too narrow in some localizations
https://bugs.webkit.org/show_bug.cgi?id=189060
<rdar://problem/43006369>

Reviewed by Brian Burg.

  • UserInterface/Views/Toolbar.css:

(.toolbar .search-bar):

4:20 PM Changeset in webkit [235446] by david_fenton@apple.com
  • 2 edits in trunk/LayoutTests

Layout Test imported/w3c/web-platform-tests/service-workers/cache-storage/window/cache-storage-match.https.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=187935

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
4:04 PM Changeset in webkit [235445] by dbates@webkit.org
  • 2 edits in trunk/Tools

lldb-webkit: KeyError thrown for OptionSet
https://bugs.webkit.org/show_bug.cgi?id=189062

Reviewed by Simon Fraser.

For some reason lldb(1) may not retrieve the enumerator names for an enum value
when it calls update() on the synthetic children provider. If this occurs then
bail out as we cannot compute what enumerators are in the set.

  • lldb/lldb_webkit.py:

(WTFOptionSetProvider.update):

3:25 PM Changeset in webkit [235444] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Remove assertion introduced in r235413
https://bugs.webkit.org/show_bug.cgi?id=188701

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didFinishWithRedirectResponse):
r235413 did not change behavior. The assertion was invalid.

3:13 PM Changeset in webkit [235443] by ddkilzer@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

Move PMurHash.{cpp,h} into 'src' folder to match path on disk

  • ANGLE.xcodeproj/project.pbxproj:

(src/common/third_party/smhasher/src): Add folder and move
PMurHash.{cpp,h} into it. This makes tidy-Xcode-project-file
run smoothly when updating the ANGLE project.

3:05 PM Changeset in webkit [235442] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

Remove references to "APIAttachmentCocoa.h" in WebKit.xcodeproj
Follow-up to https://bugs.webkit.org/show_bug.cgi?id=188933

Rubber-stamped by David Kilzer.

This header was not removed from the Xcode project file after being deleted.

  • WebKit.xcodeproj/project.pbxproj:
2:30 PM Changeset in webkit [235441] by Truitt Savell
  • 3 edits in trunk/LayoutTests

Moving test expectations for webkit.org/b/188985 from mac-wk2 to General test expectations due to failing on iOS.
https://bugs.webkit.org/show_bug.cgi?id=188985

Unreviewed test gardening.

2:26 PM Changeset in webkit [235440] by sihui_liu@apple.com
  • 4 edits in trunk

Add error information to help debug test failure in WKNavigation.ProcessCrashDuringCallback
https://bugs.webkit.org/show_bug.cgi?id=189037

Reviewed by Chris Dumez.

Source/WebKit:

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _getMainResourceDataWithCompletionHandler:]):
(-[WKWebView _getWebArchiveDataWithCompletionHandler:]):
(-[WKWebView _getContentsAsStringWithCompletionHandler:]):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WebContentProcessDidTerminate.mm:

(TEST):

2:02 PM Changeset in webkit [235439] by ddkilzer@apple.com
  • 5 edits in trunk/Tools

Fix incorrect use of sourceTree = "<group>"; for built products and frameworks in Xcode projects

Found by tidy-Xcode-project-file script (see Bug 188754).

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:

(IOKit.framework): Use sourceTree = "<absolute>"; to match
other frameworks in the project.

  • MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:

(WebKit.framework): Use sourceTree = BUILT_PRODUCTS_DIR; for
built product instead of relative build directory path.

  • jsc-cli/jsc-cli.xcodeproj/project.pbxproj:

(JavaScriptCore.framework): Ditto.

  • lldb/lldbWebKitTester/lldbWebKitTester.xcodeproj/project.pbxproj:

(libWTF.a): Ditto.

1:53 PM Changeset in webkit [235438] by youenn@apple.com
  • 5 edits in trunk

MediaDevices should be collectable as soon as its document is stopped
https://bugs.webkit.org/show_bug.cgi?id=189021

Reviewed by Eric Carlson.

Source/WebCore:

Introduce ActiveDOMObject::isContextStopped to check whether the context is stopped.
Use this check in MediaDevices::hasPendingActivity so that it returns false as soon as active dom objects are stopped.

Test: http/tests/media/collect-media-devices.https.html

  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::hasPendingActivity const):

  • dom/ActiveDOMObject.cpp:

(WebCore::ActiveDOMObject::hasPendingActivity const):
(WebCore::ActiveDOMObject::isContextStopped const):

  • dom/ActiveDOMObject.h:

LayoutTests:

  • http/tests/media/media-stream/collect-media-devices.https-expected.txt: Added.
  • http/tests/media/media-stream/collect-media-devices.https.html: Added.
  • http/tests/media/media-stream/resources/mymediadevicesframe.htm: Added.
1:50 PM Changeset in webkit [235437] by Basuke Suzuki
  • 7 edits
    2 adds in trunk

[Curl] Fix issue that extra cookie is added when redirect happens.
https://bugs.webkit.org/show_bug.cgi?id=187874

Reviewed by Alex Christensen.

Source/WebCore:

When initial request has cookie set and redirect happens, it add extra Cookie header to that
abd request was broken. Just stop modifying the original request by passing a value.

Test: http/tests/cookies/multiple-redirect-and-set-cookie.php

  • platform/network/ResourceHandle.h:
  • platform/network/curl/ResourceHandleCurl.cpp:

(WebCore::ResourceHandle::createCurlRequest):

Source/WebKit:

When initial request has cookie set and redirect happens, it add extra Cookie header to that
abd request was broken. Just stop modifying the original request by passing a value.

  • NetworkProcess/curl/NetworkDataTaskCurl.cpp:

(WebKit::NetworkDataTaskCurl::createCurlRequest):
(WebKit::NetworkDataTaskCurl::willPerformHTTPRedirection):
(WebKit::NetworkDataTaskCurl::restartWithCredential):

  • NetworkProcess/curl/NetworkDataTaskCurl.h:

LayoutTests:

  • http/tests/cookies/multiple-redirect-and-set-cookie-expected.txt: Added.
  • http/tests/cookies/multiple-redirect-and-set-cookie.php: Added.
1:00 PM Changeset in webkit [235436] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add nullablity attributes to JSValue
https://bugs.webkit.org/show_bug.cgi?id=189047

Reviewed by Dan Bernstein.

Switch to using NS_ASSUME_NONNULL_BEGIN/END.

  • API/JSValue.h:
11:56 AM Changeset in webkit [235435] by Aditya Keerthi
  • 9 edits in trunk

[macOS] Color wells should appear rounded and textured
https://bugs.webkit.org/show_bug.cgi?id=189039

Reviewed by Tim Horton.

Source/WebCore:

Color wells should have a rounded and textured appearance on macOS. We can use
NSBezelStyleTexturedSquare to achieve this appearance.

Also updated the user-agent stylesheet to match the system appearance.

Rebaselined existing test: fast/forms/color/input-appearance-color.html

  • css/html.css:

(input[type="color"]::-webkit-color-swatch-wrapper):
(input[type="color"]::-webkit-color-swatch):

  • platform/mac/ThemeMac.mm:

(WebCore::setUpButtonCell):

  • rendering/RenderThemeMac.h: Build fix.

Source/WebKit:

  • UIProcess/mac/WebColorPickerMac.mm: Build fix.

LayoutTests:

Rebaseline tests to match new color-well appearance.

  • platform/mac/fast/forms/color/input-appearance-color-expected.png:
  • platform/mac/fast/forms/color/input-appearance-color-expected.txt:
11:37 AM Changeset in webkit [235434] by achristensen@apple.com
  • 2 edits in trunk/Tools

Fix 32-bit Mac build.

  • TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:
11:29 AM Changeset in webkit [235433] by achristensen@apple.com
  • 2 edits in trunk/Tools

REGRESSION (r235391): [iOS] TestWebKitAPI.WebKit.RestoreSessionStateWithoutNavigation is timing out
https://bugs.webkit.org/show_bug.cgi?id=189050

Reviewed by Tim Horton.

  • TestWebKitAPI/Tests/WebKitCocoa/RestoreSessionStateWithoutNavigation.mm:

This test wasn't run on iOS before. Let's re-introduce the WK_HAVE_C_SPI guard.

11:11 AM Changeset in webkit [235432] by keith_miller@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add nullablity attributes to JSValue
https://bugs.webkit.org/show_bug.cgi?id=189047

Reviewed by Geoffrey Garen.

  • API/JSValue.h:
11:04 AM Changeset in webkit [235431] by Wenson Hsieh
  • 2 edits in trunk/Tools

[iOS] WKAttachmentTests.DropFolderAsAttachmentAndMoveByDragging encounters an exception on iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=189049

Reviewed by Tim Horton.

Wrap an NSURL in a RetainPtr to prevent it from being freed prematurely. It seems this broke when I changed the
load handler from an Objective-C block that captured folderURL to a C++ lambda that didn't retain folderURL.

  • TestWebKitAPI/Tests/WebKitCocoa/WKAttachmentTests.mm:

(simulateFolderDragWithURL):

11:00 AM Changeset in webkit [235430] by youenn@apple.com
  • 13 edits
    1 add in trunk/Source/ThirdParty/libwebrtc

Reenable -Wexit-time-destructors -and Wglobal-constructors in libwebrtc
https://bugs.webkit.org/show_bug.cgi?id=189036

Reviewed by Geoffrey Garen.

Renable these compilation warnings and introduce rtc::NeverDestroyed as helper.

  • Configurations/Base.xcconfig:
  • Source/webrtc/modules/audio_processing/agc2/rnn_vad/spectral_features_internal.cc:
  • Source/webrtc/modules/congestion_controller/bbr/bbr_network_controller.cc:
  • Source/webrtc/modules/congestion_controller/goog_cc/goog_cc_network_control.cc:
  • Source/webrtc/pc/peerconnection.cc:
  • Source/webrtc/rtc_base/flags.h:
  • Source/webrtc/rtc_base/logging.cc:
  • Source/webrtc/rtc_base/never_destroyed.h: Added.

(rtc::NeverDestroyed::NeverDestroyed):
(rtc::NeverDestroyed::operator T&):
(rtc::NeverDestroyed::get):
(rtc::NeverDestroyed::operator const T& const):
(rtc::NeverDestroyed::get const):
(rtc::NeverDestroyed::storagePointer const):
(rtc::makeNeverDestroyed):

  • Source/webrtc/rtc_base/virtualsocketserver.cc:
  • Source/webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCVideoCodec.mm:
  • Source/webrtc/system_wrappers/source/clock.cc:
  • Source/webrtc/system_wrappers/source/runtime_enabled_features_default.cc:
  • libwebrtc.xcodeproj/project.pbxproj:
11:00 AM Changeset in webkit [235429] by youenn@apple.com
  • 4 edits
    4 adds in trunk

WebKitMediaSession should be GC collectable when its document is being stopped
https://bugs.webkit.org/show_bug.cgi?id=189016

Reviewed by Eric Carlson.

Source/WebCore:

Make sure WebKitMediaSession is collectable after its document is stopped.
This is done by nullifying m_session when calling close.
This way hasPendingActivity() returns false when stop() is called.

Test: http/tests/media/clearkey/collect-webkit-media-session.html

  • Modules/encryptedmedia/legacy/WebKitMediaKeySession.cpp:

(WebCore::WebKitMediaKeySession::WebKitMediaKeySession):
(WebCore::WebKitMediaKeySession::close):

  • Modules/encryptedmedia/legacy/WebKitMediaKeySession.h:

LayoutTests:

  • http/tests/media/clearkey/collect-webkit-media-session-expected.txt: Added.
  • http/tests/media/clearkey/collect-webkit-media-session.html: Added.
  • http/tests/media/clearkey/resources/mywebkitmediasessionframe.htm: Added.
10:53 AM Changeset in webkit [235428] by ajuma@chromium.org
  • 2 edits in trunk/Source/WebCore

[IntersectionObserver] Fix build after r235424
https://bugs.webkit.org/show_bug.cgi?id=189051

Rubber-stamped by Simon Fraser.

Fix unused variable warning by using the variable.

  • page/FrameView.cpp:

(WebCore::FrameView::viewportContentsChanged):

10:02 AM Changeset in webkit [235427] by Aditya Keerthi
  • 5 edits in trunk

[Datalist] Pressing enter without a selected option shouldn't change the input
https://bugs.webkit.org/show_bug.cgi?id=189010

Reviewed by Tim Horton.

Source/WebKit:

Currently, the value of an input field gets cleared if there is no selected
datalist suggestion when the enter key is pressed. The correct behavior is to
leave the value of the input as-is.

The incorrect behavior is a consequence of the fact that an empty string is
returned by [WKDataListSuggestionsView currentSelectedString] if there is no
selection. To fix the behavior, the method now returns an std::optional instead
of an empty string. If std::nullopt is returned, we do not make any modification
to the value of the input. This ensures that we can still change the value of
an input field to an empty string in the case that an empty string is part of
the suggestions.

Augmented test: fast/forms/datalist/datalist-textinput-keydown.html

  • UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:

(WebKit::WebDataListSuggestionsDropdownMac::selectOption):
(-[WKDataListSuggestionCell drawRect:]): Quick fix. The mouseover color was incorrect.
(-[WKDataListSuggestionsView currentSelectedString]):

LayoutTests:

Augmented test to verify that pressing enter when there is no selected datalist
suggestion does not change the value of the input field.

  • fast/forms/datalist/datalist-textinput-keydown-expected.txt:
  • fast/forms/datalist/datalist-textinput-keydown.html:
9:34 AM Changeset in webkit [235426] by Aditya Keerthi
  • 15 edits
    2 adds in trunk

[iOS] Support inputmode=none
https://bugs.webkit.org/show_bug.cgi?id=188896

Reviewed by Tim Horton.

LayoutTests/imported/w3c:

  • web-platform-tests/html/dom/reflection-misc-expected.txt: Rebaseline.

Source/WebCore:

Updated InputMode.cpp to ensure that "none" is recognized as a valid value for the
inputmode attribute. This keyword is useful for content that renders its own
keyboard control.

Spec: https://html.spec.whatwg.org/multipage/interaction.html#input-modalities%3A-the-inputmode-attribute

Test: fast/forms/ios/inputmode-none.html

  • html/InputMode.cpp:

(WebCore::inputModeForAttributeValue):
(WebCore::stringForInputMode):
(WebCore::InputModeNames::none):

  • html/InputMode.h:

Source/WebKit:

inputmode=none is used by content that renders its own keyboard control.
Consequently, we should not display the virtual keyboard when a user interacts
with an element that has the inputmode attribute set to the "none" value.

In order to achieve this behavior, we return a UIView with a bounds of CGRectZero
as the inputView of the WKContentView when inputmode=none is present. Furthermore,
we do not provide an accessory view in this case.

Updated the logic that zooms and scrolls to a control when it gains focus, as that
behavior currently relies on an accessory view being present.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView _displayFormNodeInputView]):
(-[WKContentView inputView]):
(-[WKContentView requiresAccessoryView]):
(-[WKContentView textInputTraits]):

LayoutTests:

Added new test to verify that the system keyboard does not show for inputs with
inputmode=none. Updated existing inputmode tests to reflect the addition of the
"none" value.

  • fast/forms/inputmode-attribute-contenteditable-expected.txt:
  • fast/forms/inputmode-attribute-contenteditable.html:
  • fast/forms/inputmode-attribute-input-expected.txt:
  • fast/forms/inputmode-attribute-input.html:
  • fast/forms/inputmode-attribute-textarea-expected.txt:
  • fast/forms/inputmode-attribute-textarea.html:
  • fast/forms/ios/inputmode-none-expected.txt: Added.
  • fast/forms/ios/inputmode-none.html: Added.
  • resources/ui-helper.js:

(window.UIHelper.activateFormControl):
(window.UIHelper.inputViewBounds):

8:51 AM Changeset in webkit [235425] by Simon Fraser
  • 3 edits in trunk/LayoutTests

More results.html cleanup
https://bugs.webkit.org/show_bug.cgi?id=189038

Reviewed by Zalan Bujtas.

Use a map of table-id to SectionBuilderClass to drive the table builder class selection,
rather than hardcoding the builder class; this will allow for SectionBuilders to stay alive
longer in future, so they can be used to build the expanded state of each row.

Refactor the code that generates the expand link and test name, to de-duplicate some HTML strings,
and let SectionBuilders control whether their rows are expandable and test names linkifyable.

Put a "data-test-name" attribute on each row so we can easily map from HTML elements to
TestResults in future.

The test result change is a progression; there is nothing to show for a test with missing results,
so the row should not be expandable.

  • fast/harness/results-expected.txt:
  • fast/harness/results.html:
8:45 AM Changeset in webkit [235424] by ajuma@chromium.org
  • 11 edits in trunk

[IntersectionObserver] Schedule intersection observation updates
https://bugs.webkit.org/show_bug.cgi?id=189007

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

Rebaseline tests that now pass.

  • web-platform-tests/intersection-observer/bounding-box-expected.txt:
  • web-platform-tests/intersection-observer/containing-block-expected.txt:
  • web-platform-tests/intersection-observer/remove-element-expected.txt:
  • web-platform-tests/intersection-observer/same-document-root-expected.txt:
  • web-platform-tests/intersection-observer/unclipped-root-expected.txt:

Source/WebCore:

Schedule intersection observation updates in the following situations:
1) A new observation target is added.
2) FrameView::viewportContentsChanged -- this covers changes to layout and

to scroll positions for same-document observation. Scheduling for
cross-document observation will be handled in a future patch.

3) Style is resolved without triggering layout -- this handles updates that

were deferred because of a pending style recalculation.

Tested by existing tests in imported/w3c/web-platform-tests/intersection-observer.

  • dom/Document.cpp:

(WebCore::Document::resolveStyle):
(WebCore::Document::updateIntersectionObservations):
(WebCore::Document::scheduleIntersectionObservationUpdate):

  • dom/Document.h:
  • page/FrameView.cpp:

(WebCore::FrameView::viewportContentsChanged):

  • page/IntersectionObserver.cpp:

(WebCore::IntersectionObserver::observe):

8:01 AM Changeset in webkit [235423] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][Floating] Remove redundant FloatAvoider functions.
https://bugs.webkit.org/show_bug.cgi?id=189035

Reviewed by Antti Koivisto.

and move some code from FloatContext to FloatAvoider.

  • layout/floats/FloatAvoider.cpp:

(WebCore::Layout::FloatAvoider::initializePosition):
(WebCore::Layout::FloatAvoider::rect const):
(WebCore::Layout::FloatAvoider::setVerticalConstraint):
(WebCore::Layout::FloatAvoider::setHorizontalConstraints):
(WebCore::Layout::FloatAvoider::resetHorizontalConstraint):
(WebCore::Layout::FloatAvoider::initialVerticalPosition const):
(WebCore::Layout::FloatAvoider::initialHorizontalPosition const):
(WebCore::Layout::FloatAvoider::rectInContainingBlock const):
(WebCore::Layout::FloatAvoider::setLeft): Deleted.
(WebCore::Layout::FloatAvoider::setTopLeft): Deleted.
(WebCore::Layout::FloatAvoider::resetVertically): Deleted.
(WebCore::Layout::FloatAvoider::resetHorizontally): Deleted.
(WebCore::Layout::FloatAvoider::topLeftInContainingBlock const): Deleted.

  • layout/floats/FloatAvoider.h:

(WebCore::Layout::FloatAvoider::top const): Deleted.
(WebCore::Layout::FloatAvoider::left const): Deleted.
(WebCore::Layout::FloatAvoider::marginTop const): Deleted.
(WebCore::Layout::FloatAvoider::marginLeft const): Deleted.
(WebCore::Layout::FloatAvoider::marginBottom const): Deleted.
(WebCore::Layout::FloatAvoider::marginRight const): Deleted.
(WebCore::Layout::FloatAvoider::rectWithMargin const): Deleted.
(WebCore::Layout::FloatAvoider::setTop): Deleted.

  • layout/floats/FloatingContext.cpp:

(WebCore::Layout::FloatingContext::positionForFloat const):
(WebCore::Layout::FloatingContext::floatingPosition const):
(WebCore::Layout::FloatingPair::horizontalConstraints const):
(WebCore::Layout::FloatingPair::horiztonalPosition const): Deleted.

6:29 AM Changeset in webkit [235422] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Revert changes to RealtimeMediaSource.cpp made in r235086
https://bugs.webkit.org/show_bug.cgi?id=189046
<rdar://problem/43794875>

Unreviewed, reverting an accidental change.

  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::supportsSizeAndFrameRate):

12:49 AM Changeset in webkit [235421] by commit-queue@webkit.org
  • 11 edits in trunk/Source/WebCore

Fix gcc compilation warnings after r235230
https://bugs.webkit.org/show_bug.cgi?id=188981

Patch by Alejandro G. Castro <alex@igalia.com> on 2018-08-28
Reviewed by Eric Carlson.

Replace the pragma clang with pragma GCC, it is understood by
clang and gcc.

  • Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.h:
  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
  • platform/mediastream/RealtimeIncomingAudioSource.h:
  • platform/mediastream/RealtimeIncomingVideoSource.h:
  • platform/mediastream/RealtimeOutgoingAudioSource.h:
  • platform/mediastream/RealtimeOutgoingVideoSource.h:
  • platform/mediastream/libwebrtc/LibWebRTCAudioModule.h:
  • platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:
  • platform/mediastream/libwebrtc/LibWebRTCProvider.h:
  • testing/MockLibWebRTCPeerConnection.h:
Note: See TracTimeline for information about the timeline view.