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

Timeline



Sep 1, 2018:

10:35 PM Changeset in webkit [235588] by Michael Catanzaro
  • 2 edits in trunk/Tools

[WPE] 2.21.91 fails to build with ENABLE_MINIBROWSER
https://bugs.webkit.org/show_bug.cgi?id=189006

Reviewed by Darin Adler.

The MiniBrowser source code is missing from the tarball. Oops! Add it.

  • wpe/manifest.txt.in:
10:33 PM Changeset in webkit [235587] by yoshiaki.jitsukawa@sony.com
  • 6 edits
    3 adds in trunk

[WinCairo] Add CryptoDigestOpenSSL
https://bugs.webkit.org/show_bug.cgi?id=188978

Reviewed by Darin Adler.

Source/WebCore/PAL:

Add a CryptoDigest implementation with OpenSSL/LibreSSL and let the
WinCairo port use it.

  • pal/PlatformAppleWin.cmake: Add CryptoDigestWin.cpp to PAL_SOURCES
  • pal/PlatformWin.cmake: Remove CryptoDigestWin.cpp from PAL_SOURCES
  • pal/PlatformWinCairo.cmake: Add CryptoDigestOpenSSL to PAL_SOURCES
  • pal/crypto/openssl/CryptoDigestOpenSSL.cpp: Added.

(PAL::toSHA1Context):
(PAL::toSHA224Context):
(PAL::toSHA256Context):
(PAL::toSHA384Context):
(PAL::toSHA512Context):
(PAL::CryptoDigest::CryptoDigest):
(PAL::CryptoDigest::~CryptoDigest):
(PAL::CryptoDigest::create):
(PAL::CryptoDigest::addBytes):
(PAL::CryptoDigest::computeHash):

Tools:

Add API tests for the PAL::CryptoDigest class.

  • TestWebKitAPI/PlatformWin.cmake:

Add CryptoDigest.cpp to TestWebCoreLib_Sources.

Define -DSTATICALLY_LINKED_WITH_PAL=1 to avoid warnings since
without the definition the functions marked with PAL_EXPORT are supposed to be
imported from another shared library, but as it is, TestWebCoreLib
links PAL statically.

  • TestWebKitAPI/Tests/WebCore/CryptoDigest.cpp: Added.

(TestWebKitAPI::toHex):
(TestWebKitAPI::expect):
(TestWebKitAPI::expectSHA1):
(TestWebKitAPI::expectSHA224):
(TestWebKitAPI::expectSHA256):
(TestWebKitAPI::expectSHA384):
(TestWebKitAPI::expectSHA512):
(TestWebKitAPI::TEST):

8:04 PM Changeset in webkit [235586] by Simon Fraser
  • 17 edits
    2 copies in trunk/Source/WebCore

Rename FilterEffectRenderer to CSSFilter
https://bugs.webkit.org/show_bug.cgi?id=189223

Reviewed by Sam Weinig.

Filter was subclassed by SVGFilter for SVG, and FilterEffectRenderer for CSS,
which was very confusing, especially when the code uses renderer() to get it.

Rename FilterEffectRenderer to CSSFilter, and access via filter().

Future cleanup will deal with FilterEffectRendererHelper.

  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSFilterImageValue.cpp:

(WebCore::CSSFilterImageValue::image):

  • platform/graphics/ca/cocoa/PlatformCAFiltersCocoa.mm:
  • platform/graphics/filters/Filter.h:

(WebCore::Filter::isCSSFilter const):

  • rendering/CSSFilter.cpp: Copied from Source/WebCore/rendering/FilterEffectRenderer.cpp.

(WebCore::endMatrixRow):
(WebCore::lastMatrixRow):
(WebCore::CSSFilter::create):
(WebCore::CSSFilter::CSSFilter):
(WebCore::m_sourceGraphic):
(WebCore::CSSFilter::inputContext):
(WebCore::CSSFilter::buildReferenceFilter):
(WebCore::CSSFilter::build):
(WebCore::CSSFilter::updateBackingStoreRect):
(WebCore::CSSFilter::allocateBackingStoreIfNeeded):
(WebCore::CSSFilter::clearIntermediateResults):
(WebCore::CSSFilter::apply):
(WebCore::CSSFilter::computeSourceImageRectForDirtyRect):
(WebCore::CSSFilter::output const):
(WebCore::CSSFilter::setSourceImageRect):
(WebCore::CSSFilter::setMaxEffectRects):
(WebCore::CSSFilter::outputRect const):

  • rendering/CSSFilter.h: Copied from Source/WebCore/rendering/FilterEffectRenderer.h.

(isType):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRendererHelper::prepareFilterEffect):
(WebCore::FilterEffectRendererHelper::filterContext const):
(WebCore::FilterEffectRendererHelper::beginFilterEffect):
(WebCore::FilterEffectRendererHelper::applyFilterEffect):
(WebCore::endMatrixRow): Deleted.
(WebCore::lastMatrixRow): Deleted.
(WebCore::FilterEffectRenderer::FilterEffectRenderer): Deleted.
(WebCore::m_sourceGraphic): Deleted.
(WebCore::FilterEffectRenderer::create): Deleted.
(WebCore::FilterEffectRenderer::inputContext): Deleted.
(WebCore::FilterEffectRenderer::buildReferenceFilter): Deleted.
(WebCore::FilterEffectRenderer::build): Deleted.
(WebCore::FilterEffectRenderer::updateBackingStoreRect): Deleted.
(WebCore::FilterEffectRenderer::allocateBackingStoreIfNeeded): Deleted.
(WebCore::FilterEffectRenderer::clearIntermediateResults): Deleted.
(WebCore::FilterEffectRenderer::apply): Deleted.
(WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect): Deleted.
(WebCore::FilterEffectRenderer::output const): Deleted.
(WebCore::FilterEffectRenderer::setMaxEffectRects): Deleted.
(WebCore::FilterEffectRenderer::outputRect const): Deleted.

  • rendering/FilterEffectRenderer.h:

(WebCore::FilterEffectRendererHelper::FilterEffectRendererHelper):
(WebCore::FilterEffectRenderer::setSourceImageRect): Deleted.

  • rendering/RenderBlockFlow.cpp:
  • rendering/RenderFrame.cpp:
  • rendering/RenderImage.cpp:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::requiresFullLayerImageForFilters const):
(WebCore::RenderLayer::filter const):
(WebCore::RenderLayer::filterPainter const):
(WebCore::RenderLayer::setupFilters):
(WebCore::RenderLayer::calculateClipRects const):
(WebCore::RenderLayer::filterRenderer const): Deleted.

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:
  • rendering/RenderLayerFilterInfo.cpp:

(WebCore::RenderLayer::FilterInfo::setFilter):
(WebCore::RenderLayer::FilterInfo::updateReferenceFilterClients):
(WebCore::RenderLayer::FilterInfo::removeReferenceFilterClients):
(WebCore::RenderLayer::FilterInfo::setRenderer): Deleted.

  • rendering/RenderLayerFilterInfo.h:
  • rendering/updating/RenderTreeBuilderBlock.cpp:
7:54 PM Changeset in webkit [235585] by Darin Adler
  • 13 edits
    1 delete in trunk/Source

[CFNetwork] Update CFNetwork SPI use to use CFNetworkSPI.h more consistently
https://bugs.webkit.org/show_bug.cgi?id=189072
Source/WebCore:

Reviewed by Dan Bernstein.

  • platform/mac/WebCoreNSURLExtras.mm: Include CFNetworkSPI.h and remove a

declaration of +[NSURLProtocol _protocolClassForRequest:].

  • platform/network/mac/ResourceHandleMac.mm: Remove a declaration of

-[NSURLConnection _initWithRequest:delegate:usesCache:maxContentLength:startImmediately:connectionProperties:].
(WebCore::ResourceHandle::createNSURLConnection): Add ignore of
"-Wdeprecated-declarations" around use of the above method, since it
is deprecated.

Source/WebCore/PAL:

Reviewed by Dan Bernstein.

  • pal/spi/cf/CFNetworkSPI.h: Added a FIXME about USE(CFNETWORK_IGNORE_HSTS).

Sorted Objective-C class interfaces alphabetically instead of having them
relatively randomly ordered in the file. Reduced the platform #if statements
since it's not critical to have these SPIs declared only where they are
present, as long as they are used only when they are present. Moved some
additional declarations into this file.

  • pal/spi/cocoa/NSURLDownloadSPI.h: Added more NSURLDownload methods.

Source/WebKit:

Reviewed by Dan Bernstein.

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm: Removed NSURLSessionTask

method declarations from this file, they are in CFNetworkSPI.h.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: Removed NSURLSessionConfiguration

method declarations from this file, they are in CFNetworkSPI.h.

Source/WebKitLegacy/mac:

Reviewed by Dan Bernstein.

  • Misc/WebDownload.mm: Removed forward declaration of NSURLConnectionDelegateProxy

and declarations for NSURLDownload init methods.

  • Misc/WebDownloadInternal.h: Removed.
  • WebCoreSupport/WebFrameLoaderClient.mm: Removed include of WebDownloadInternal.h.

(WebFrameLoaderClient::convertMainResourceLoadToDownload): Ignore
"-Wdeprecated-declarations" because the method used here is deprecated.

  • WebView/WebView.mm:

(-[WebView _downloadURL:]): Ignore "-Wdeprecated-declarations" because the method
used here is deprecated.

4:14 PM Changeset in webkit [235584] by mitz@apple.com
  • 4 edits
    1 add in trunk

[Cocoa] Crash using KVO for 'serverTrust' property of WKWebView - "this class is not key value coding-compliant for the key serverTrust"
https://bugs.webkit.org/show_bug.cgi?id=189222
<rdar://problem/33283179>

Reviewed by Sam Weinig.

Source/WebKit:

Test: TestWebKitAPI/Tests/WebKitCocoa/WKWebViewServerTrustKVC.mm

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView valueForUndefinedKey:]): Override to handle the "serverTrust" key, which is not

handled automatically by the KVC machinery since the getter’s return type is not an
Objective-C type.

Tools:

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

(TEST):

1:16 PM Changeset in webkit [235583] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Add some more filter logging
https://bugs.webkit.org/show_bug.cgi?id=189221

Reviewed by Anders Carlsson.

Add logging in FilterEffect::apply() that shows all the filter rects, and logging
that brackets the application of a whole filter chain, for both SVG and CSS filters.

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::apply):

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRendererHelper::applyFilterEffect):

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::postApplyResource):

1:03 AM Changeset in webkit [235582] by yusukesuzuki@slowstart.org
  • 3 edits
    1 add in trunk

Function object should convert params to string before throw a parsing error
https://bugs.webkit.org/show_bug.cgi?id=188874

Reviewed by Darin Adler.

JSTests:

  • stress/function-body-to-string-before-parameter-syntax-check.js: Added.

(shouldThrow):

Source/JavaScriptCore:

ToString operation onto the body of the Function constructor should be performed
before checking syntax correctness of the parameters.

  • runtime/FunctionConstructor.cpp:

(JSC::constructFunctionSkippingEvalEnabledCheck):

Aug 31, 2018:

7:30 PM Changeset in webkit [235581] by bshafiei@apple.com
  • 7 edits in branches/safari-606.1.36.2-branch/Source

Versioning.

6:11 PM Changeset in webkit [235580] by bshafiei@apple.com
  • 1 copy in tags/Safari-606.1.36.2.4

Tag Safari-606.1.36.2.4.

5:16 PM Changeset in webkit [235579] by dino@apple.com
  • 2 edits
    2 adds in trunk/Websites/webkit.org

Add support for USDZ to webkit.org for a sample file
https://bugs.webkit.org/show_bug.cgi?id=189217

Rubber-stamped by Anders Carlsson.

Use the accepted MIME-type for USDZ files, and provide a
simple example file.

  • .htaccess: Serve USD with a MIME-type that we will accept.
  • demos/ar/heart.usdz: Added.
5:02 PM Changeset in webkit [235578] by Aditya Keerthi
  • 2 edits in trunk/Tools

Unreviewed, add an alternate email for Aditya Keerthi.

  • Scripts/webkitpy/common/config/contributors.json:
4:28 PM Changeset in webkit [235577] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Added a CSS rule to DarkMode.css to fix color on sidebar toggle.
<https://webkit.org/b/189139>

Patch by Jamal Nasser <xnasser@outlook.com> on 2018-08-31
Reviewed by Matt Baker.

  • UserInterface/Views/DarkMode.css:

(@media (prefers-dark-interface)):
(.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):

4:27 PM Changeset in webkit [235576] by youenn@apple.com
  • 7 edits
    2 adds in trunk/Source/WebCore

Move stats gathering out of LibWebRTCMediaEndpoint
https://bugs.webkit.org/show_bug.cgi?id=189180

Reviewed by Alejandro G. Castro.

Move stats gathering in LibWebRTCStatsCollector.
Make sure that the lambda given to the collector is always called and destroyed from the main thread.
This allows capturing the promise here instead of storing it into the peer connection backend.
No change of behavior.

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:

(WebCore::LibWebRTCMediaEndpoint::getStats):

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

(WebCore::LibWebRTCPeerConnectionBackend::getStats):
(WebCore::LibWebRTCPeerConnectionBackend::doStop):

  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.h:
  • Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.cpp: Added.

(WebCore::LibWebRTCStatsCollector::LibWebRTCStatsCollector):
(WebCore::LibWebRTCStatsCollector::~LibWebRTCStatsCollector):
(WebCore::fromStdString):
(WebCore::fillRTCStats):
(WebCore::fillRTCRTPStreamStats):
(WebCore::fillInboundRTPStreamStats):
(WebCore::fillOutboundRTPStreamStats):
(WebCore::fillRTCMediaStreamTrackStats):
(WebCore::fillRTCDataChannelStats):
(WebCore::iceCandidatePairState):
(WebCore::fillRTCIceCandidatePairStats):
(WebCore::fillRTCCertificateStats):
(WebCore::LibWebRTCStatsCollector::OnStatsDelivered):

  • Modules/mediastream/libwebrtc/LibWebRTCStatsCollector.h: Added.

(WebCore::LibWebRTCStatsCollector::create):

  • WebCore.xcodeproj/project.pbxproj:
4:22 PM Changeset in webkit [235575] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Compile error in RealtimeOutgoingVideoSource.cpp; unused parameter in libwebrtc header
https://bugs.webkit.org/show_bug.cgi?id=189203

Reviewed by Youenn Fablet.

If RealtimeOutgoingVideoSource.cpp is compiled alone (non-unified) or if it is the first file compiled in
a unified build, there is no pragma set to ignore unused parameter warnings in place.

  • platform/mediastream/RealtimeOutgoingVideoSource.cpp:
4:18 PM Changeset in webkit [235574] by Wenson Hsieh
  • 6 edits in trunk

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

Reviewed by Tim Horton.

Source/WebCore:

Remove redundant and unnecessary logic for reading from the pasteboard on iOS.

  • platform/PlatformPasteboard.h:
  • platform/ios/PlatformPasteboardIOS.mm:

(WebCore::PlatformPasteboard::stringForType const):

This currently grabs a string corresponding to the given type from the first item in the pasteboard. Make
stringForType instead call readString with pasteboard item index 0.

(WebCore::PlatformPasteboard::count const):
(WebCore::PlatformPasteboard::readBuffer const):
(WebCore::PlatformPasteboard::readString const):

Make readString with "public.url" call readURL.

(WebCore::PlatformPasteboard::readURL const):

Remove logic for reading URLs from the pasteboard as property lists deserialized from properly lists. This was
added in r223195 due to fix a case "when UIPasteboard serializes NSURL as a plist" when grabbing pasteboard data
using -valuesForPasteboardType:inItemSet:. However, this case only arises in non-UI applications (i.e. when
UIApplicationInitialize() has not been invoked); this is currently exercised by the test CopyURL.ValidURL, but
doesn't really correspond to a real-world use case, since all UI applications where a user would be able to
paste in a web view already invoke UIApplicationInitialize().

Instead of handling the case where the pasteboard contains a property list that has not been coerced to an
NSURL, simply remove the code from PlatformPasteboard::readURL and allow UIKit to perform the coercion when
running the test.

(WebCore::PlatformPasteboard::count): Deleted.
(WebCore::PlatformPasteboard::readBuffer): Deleted.
(WebCore::PlatformPasteboard::readString): Deleted.
(WebCore::PlatformPasteboard::readURL): Deleted.

Mark these functions as const.

  • platform/wpe/PlatformPasteboardWPE.cpp:

(WebCore::PlatformPasteboard::readString const):
(WebCore::PlatformPasteboard::readString): Deleted.

Mark this function as const.

Tools:

See WebCore/ChangeLog for more detail.

  • TestWebKitAPI/Tests/WebKitCocoa/CopyURL.mm:

(createWebViewWithCustomPasteboardDataEnabled):

4:14 PM Changeset in webkit [235573] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Compilation error in FormData.cpp: incomplete type 'WebCore::SharedBuffer'
https://bugs.webkit.org/show_bug.cgi?id=189207

Reviewed by Youenn Fablet.

If FormData.cpp is compiled alone (non-unified) or if it is the first file compiled in
a unified build, SharedBuffer.h is not included.

  • platform/network/FormData.cpp:
3:50 PM Changeset in webkit [235572] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r235565.
https://bugs.webkit.org/show_bug.cgi?id=189212

Broke the WHLSL build (Requested by litherum on #webkit).

Reverted changeset:

"[WHLSL] Remove useless code in NameResolver"
https://bugs.webkit.org/show_bug.cgi?id=189176
https://trac.webkit.org/changeset/235565

3:23 PM Changeset in webkit [235571] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Clean up TestExpectations so that ./Tools/Scripts/lint-test-expectations
succeeds now.

  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
  • platform/win/TestExpectations:
2:48 PM Changeset in webkit [235570] by Chris Dumez
  • 11 edits
    1 move in trunk

[ WK2 ] http/tests/workers/service/client-*-page-cache.html LayoutTests are flaky
https://bugs.webkit.org/show_bug.cgi?id=183705
<rdar://problem/42440606>

Reviewed by Youenn Fablet.

Source/WebCore:

Add internals.serviceWorkerClientIdentifier() utility function so that a layout test can get the
service worker client identifier of a document.

  • testing/Internals.cpp:

(WebCore::Internals::serviceWorkerClientIdentifier const):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

Update Layout tests to not rely on the total number of clients as this is flaky. Instead, check for specific client
identifiers to see if they are present or not.

  • http/tests/workers/service/client-added-to-clients-when-restored-from-page-cache.html:
  • http/tests/workers/service/client-removed-from-clients-while-in-page-cache.html:
  • http/tests/workers/service/resources/getClientIds-worker.js: Renamed from LayoutTests/http/tests/workers/service/resources/getClientCount-worker.js.

(event.then):

  • http/tests/workers/service/serviceworkerclients-matchAll-worker.js:

(async.doTestAfterMessage):

  • http/tests/workers/service/serviceworkerclients-matchAll.https.html:
  • platform/ios-wk2/TestExpectations:
  • platform/mac-wk2/TestExpectations:

Unskip tests as they should no longer be flaky.

2:09 PM Changeset in webkit [235569] by wilander@apple.com
  • 13 edits
    2 copies
    2 moves in trunk

Storage Access API: Maintain access through same-site navigations
https://bugs.webkit.org/show_bug.cgi?id=188564
<rdar://problem/43445160>

Reviewed by Alex Christensen.

Source/WebCore:

Tests: http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access.html

http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access.html

  • dom/Document.h:

Removed unused member variable m_hasFrameSpecificStorageAccess.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::willSendRequest):

  • loader/FrameLoaderClient.h:

Source/WebKit:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchWillChangeDocument):

Now takes the current URL and the new URL as parameters
and only clears out storage access if the navigation is
cross-site, i.e. with differing eTLD+1s.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:

LayoutTests:

  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame-expected.txt:
  • http/tests/storageAccess/request-and-grant-access-cross-origin-sandboxed-iframe-from-prevalent-domain-with-user-interaction-and-access-from-right-frame.html:

Added both a same-site and a cross-site navigation to the sub frame to test maintained and cleared access.

  • http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access-expected.txt: Copied from LayoutTests/http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access-expected.txt.
  • http/tests/storageAccess/request-and-grant-access-then-navigate-cross-site-should-not-have-access.html: Copied from LayoutTests/http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access.html.
  • http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access-expected.txt: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access-expected.txt.
  • http/tests/storageAccess/request-and-grant-access-then-navigate-same-site-should-have-access.html: Renamed from LayoutTests/http/tests/storageAccess/request-and-grant-access-then-navigate-should-not-have-access.html.
  • http/tests/storageAccess/resources/get-cookies.php:

Support for the new test scenarios.

  • http/tests/storageAccess/resources/self-navigating-frame-after-granted-access.html:

Support for the new test scenarios.

  • platform/mac-wk2/TestExpectations:

Marked the new and the renamed tests as [ Pass ].

1:41 PM Changeset in webkit [235568] by rniwa@webkit.org
  • 3 edits in trunk/LayoutTests

slotchange-event-bubbling.html fails in Chrome & Firefox
https://bugs.webkit.org/show_bug.cgi?id=189183

Reviewed by Chris Dumez.

slotchange event is supposed to fire when a slot element is inserted and there are assigned nodes.

Firefox and Chrome implement this behavior and fail this test since the test doesn't let microstask
check point run before start mutating the DOM.

Fixed the test by manually waiting for the current microtask queue to be emptied after constructing
the test shadow tree so that slotchange event from the initial tree construction doesn't get merged
with slotchange event fired for the actual DOM mutation being tested.

Also fixed typos in slotchange-in-fallback.html and a bug that we were removing the slot instead
of the shadow host at the end of each test case.

  • fast/shadow-dom/slotchange-event-bubbling.html:
  • fast/shadow-dom/slotchange-in-fallback.html:
1:23 PM Changeset in webkit [235567] by Kocsen Chung
  • 7 edits in branches/safari-606.1.36.2-branch/Source

Versioning.

1:15 PM Changeset in webkit [235566] by Chris Dumez
  • 2 edits in trunk/Source/WebKitLegacy/win

Unreviewed Windows build fix after r235562.

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::dispatchWillSubmitForm):

1:08 PM Changeset in webkit [235565] by mmaxfield@apple.com
  • 2 edits in trunk/Tools

[WHLSL] Remove useless code in NameResolver
https://bugs.webkit.org/show_bug.cgi?id=189176

Reviewed by Dean Jackson and Thomas Denney.

The check will always pass becase the standard library contains at least one function with the correct name.

  • WebGPUShadingLanguageRI/NameResolver.js:

(NameResolver.prototype.visitDotExpression):
(NameResolver.prototype._handlePropertyAccess): Deleted.
(NameResolver.prototype.visitIndexExpression): Deleted.

1:00 PM Changeset in webkit [235564] by Simon Fraser
  • 7 edits in trunk/Tools

Make it possible to mark tests as leaks in TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=189088

Reviewed by Jon Lee.

Have webkitpy parse out "Leak" expectations in TestExpectations, and do the right
thing if the test run did not use --world-leaks. Add unit tests for leaks combined
with various other result combinations.

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

(LayoutTestRunner._update_summary_with_result):
(LayoutTestRunner._annotate_results_with_additional_failures):

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

(TestExpectationParser):
(TestExpectations): The 'Leak' line was duplicated here, so remove a copy.
(TestExpectations.remove_leak_failures):
(TestExpectations.matches_an_expected_result):

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

(Base.get_basic_tests):

  • Scripts/webkitpy/port/test.py:

(TestList.add_reftest):
(unit_test_list):

12:13 PM Changeset in webkit [235563] by youenn@apple.com
  • 4 edits in trunk/Source/WebCore

WebAudioBufferList.cpp/.h is named as cocoa/WebAudioBufferList.cpp/.h
https://bugs.webkit.org/show_bug.cgi?id=189160

Reviewed by Jer Noble.

Add WebAudioBufferList.cpp to unified build.
Update XCode project so that the file names are right.
No change of behavior.

  • PlatformMac.cmake:
  • SourcesCocoa.txt:
  • WebCore.xcodeproj/project.pbxproj:
12:00 PM Changeset in webkit [235562] by Chris Dumez
  • 17 edits in trunk/Source

Assertion hit in ~CompletionHandler() from ~WebFrame()
https://bugs.webkit.org/show_bug.cgi?id=189199
<rdar://problem/42657233>

Reviewed by Youenn Fablet.

Source/WebCore:

The issue was caused by WebFrame::m_willSubmitFormCompletionHandlers implicitly containing
CompletionHandlers (wrapped in WTF::Functions) and not calling them upon WebFrame
destruction.

No new tests, covered by fast/frames/iframe-target.html.

  • loader/EmptyClients.cpp:

(WebCore::EmptyFrameLoaderClient::dispatchWillSubmitForm):

  • loader/EmptyFrameLoaderClient.h:
  • loader/FrameLoaderClient.h:

Source/WebKit:

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::~WebFrame):
(WebKit::WebFrame::setUpWillSubmitFormListener):
(WebKit::WebFrame::invalidatePolicyListener):

  • WebProcess/WebPage/WebFrame.h:

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebFrameLoaderClient.h:
  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchWillSubmitForm):

Source/WebKitLegacy/win:

  • WebCoreSupport/WebFrameLoaderClient.cpp:

(WebFrameLoaderClient::dispatchWillSubmitForm):

  • WebCoreSupport/WebFrameLoaderClient.h:
11:07 AM Changeset in webkit [235561] by Alan Bujtas
  • 6 edits
    2 adds in trunk

[LFC] Add margin box verification back now that Display::Box has non-computed horizontal margin.
https://bugs.webkit.org/show_bug.cgi?id=189193

Reviewed by Antti Koivisto.

Source/WebCore:

Use the non-computed margin values to verify correctness.
This patch also fixes a margin collapsing issue when the inflow box has a float sibling. The float
sibling does not prevent collapsing with the parent's top/bottom margin.

Test: fast/block/block-only/floating-and-next-previous-inflow-with-margin-with-no-border.html

  • layout/Verification.cpp:

(WebCore::Layout::outputMismatchingBlockBoxInformationIfNeeded):
(WebCore::Layout::LayoutContext::verifyAndOutputMismatchingLayoutTree const):

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::isMarginTopCollapsedWithParent):
(WebCore::Layout::BlockFormattingContext::MarginCollapse::isMarginBottomCollapsedWithParent):

Tools:

  • LayoutReloaded/misc/LFC-passing-tests.txt:

LayoutTests:

  • fast/block/block-only/floating-and-next-previous-inflow-with-margin-with-no-border-expected.txt: Added.
  • fast/block/block-only/floating-and-next-previous-inflow-with-margin-with-no-border.html: Added.
10:59 AM Changeset in webkit [235560] by Antti Koivisto
  • 80 edits in trunk

Replace OptionSet |= and -= operators with add() and remove() functions
https://bugs.webkit.org/show_bug.cgi?id=189169

Reviewed by Anders Carlsson.

Source/WebCore:

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::rangeOfStringClosestToRangeInDirection const):

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertTextDecoration):
(WebCore::StyleBuilderConverter::convertTextEmphasisPosition):
(WebCore::StyleBuilderConverter::convertTextUnderlinePosition):
(WebCore::StyleBuilderConverter::convertTextDecorationSkip):
(WebCore::StyleBuilderConverter::convertSpeakAs):
(WebCore::StyleBuilderConverter::convertHangingPunctuation):

  • css/parser/CSSParser.cpp:

(WebCore::CSSParser::parseSystemColor):

  • dom/Document.cpp:

(WebCore::Document::styleColorOptions const):

  • dom/DocumentMarkerController.cpp:

(WebCore::DocumentMarkerController::addMarker):
(WebCore::DocumentMarkerController::removeMarkers):

  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::addThrottlingReason):
(WebCore::ScriptedAnimationController::removeThrottlingReason):

  • dom/SecurityContext.h:

(WebCore::SecurityContext::setFoundMixedContent):

  • dom/UIEventWithKeyState.cpp:

(WebCore::UIEventWithKeyState::modifiersFromInitializer):
(WebCore::UIEventWithKeyState::setModifierKeys):

  • dom/UserActionElementSet.cpp:

(WebCore::UserActionElementSet::setFlags):

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::moveParagraphs):

  • editing/Editor.cpp:

(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::appliedEditing):
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::markMisspellingsAndBadGrammar):
(WebCore::Editor::resolveTextCheckingTypeMask):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::moveWithoutValidationTo):
(WebCore::FrameSelection::setSelectedRange):

  • editing/FrameSelection.h:

(WebCore::FrameSelection::defaultSetSelectionOptions):

  • editing/MoveSelectionCommand.cpp:

(WebCore::MoveSelectionCommand::doApply):

  • editing/SpellChecker.cpp:

(WebCore::SpellChecker::didCheckSucceed):

  • editing/TextCheckingHelper.cpp:

(WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
(WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange const):

  • editing/TextIterator.cpp:

(WebCore::SearchBuffer::SearchBuffer):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • inspector/agents/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::reload):

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::contextMenuItemSelected):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::find const):

  • page/DragController.cpp:

(WebCore::DragController::concludeEditDrag):

  • page/FrameSnapshotting.cpp:

(WebCore::snapshotFrameRectWithClip):

  • page/FrameView.cpp:

(WebCore::updateLayerPositionFlags):
(WebCore::FrameView::willPaintContents):

  • page/Page.cpp:

(WebCore::Page::setIsVisible):

  • page/PerformanceObserver.cpp:

(WebCore::PerformanceObserver::observe):

  • page/TextIndicator.cpp:

(WebCore::TextIndicator::createWithRange):

  • page/WindowFeatures.cpp:

(WebCore::parseDisabledAdaptations):

  • page/csp/ContentSecurityPolicy.h:

(WebCore::ContentSecurityPolicy::addHashAlgorithmsForInlineScripts):
(WebCore::ContentSecurityPolicy::addHashAlgorithmsForInlineStylesheets):

  • page/csp/ContentSecurityPolicySourceList.cpp:

(WebCore::ContentSecurityPolicySourceList::parseHashSource):

  • platform/PlatformEvent.h:

(WebCore::PlatformEvent::PlatformEvent):

  • platform/ios/PlatformEventFactoryIOS.mm:

(WebCore::modifiersForEvent):

  • platform/mac/PlatformEventFactoryMac.mm:

(WebCore::modifiersForEvent):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositions):
(WebCore::RenderLayer::updateLayerPositionsAfterScroll):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContentsAndReflection):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintForegroundForFragments):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::reasonsForCompositing const):
(WebCore::RenderLayerCompositor::updateScrollCoordinatedStatus):

  • rendering/TextDecorationPainter.cpp:

(WebCore::collectStylesForRenderer):

  • rendering/TextPaintStyle.cpp:

(WebCore::computeTextPaintStyle):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayout const):
(WebCore::RenderStyle::changeRequiresLayerRepaint const):
(WebCore::RenderStyle::changeRequiresRepaint const):

  • testing/Internals.cpp:

(WebCore::parseFindOptions):
(WebCore::Internals::forceReload):
(WebCore::Internals::setPageVisibility):
(WebCore::Internals::setPageIsFocusedAndActive):

Source/WebKit:

  • NetworkProcess/cocoa/NetworkProcessCocoa.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcessCocoa):

  • Shared/RemoteLayerTree/RemoteLayerTreeTransaction.h:

(WebKit::RemoteLayerTreeTransaction::LayerProperties::notePropertiesChanged):

  • Shared/WebEventConversion.cpp:

(WebKit::WebKit2PlatformMouseEvent::WebKit2PlatformMouseEvent):
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
(WebKit::WebKit2PlatformKeyboardEvent::WebKit2PlatformKeyboardEvent):
(WebKit::WebKit2PlatformTouchEvent::WebKit2PlatformTouchEvent):
(WebKit::WebKit2PlatformGestureEvent::WebKit2PlatformGestureEvent):

  • Shared/WebsitePoliciesData.cpp:

(WebKit::WebsitePoliciesData::applyToDocumentLoader):

  • UIProcess/API/C/WKPage.cpp:

(WKPageReload):

  • UIProcess/API/C/WKResourceCacheManager.cpp:

(toWebsiteDataTypes):

  • UIProcess/API/C/WKWebsitePolicies.cpp:

(WKWebsitePoliciesSetAllowedAutoplayQuirks):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView reload]):

  • UIProcess/API/Cocoa/WKWebsiteDataRecordInternal.h:

(WebKit::toWebsiteDataTypes):

  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _fetchDataRecordsOfTypes:withOptions:completionHandler:]):

  • UIProcess/API/Cocoa/_WKWebsitePolicies.mm:

(-[_WKWebsitePolicies setAllowedAutoplayQuirks:]):

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::viewDidMoveToWindow):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::updateActivityState):
(WebKit::WebPageProxy::activityStateDidChange):
(WebKit::WebPageProxy::dispatchActivityStateChange):

  • UIProcess/WebsiteData/WebsiteDataRecord.cpp:

(WebKit::WebsiteDataRecord::add):
(WebKit::WebsiteDataRecord::addCookieHostName):
(WebKit::WebsiteDataRecord::addPluginDataHostName):
(WebKit::WebsiteDataRecord::addHSTSCacheHostname):
(WebKit::WebsiteDataRecord::addOriginWithCredential):

  • UIProcess/mac/WKInspectorViewController.mm:

(-[WKInspectorViewController inspectorWKWebViewReload:]):

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::imageForRect):

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::InjectedBundleRangeHandle::renderedImage):

  • WebProcess/WebPage/FindController.cpp:

(WebKit::core):
(WebKit::FindController::findString):

Source/WebKitLegacy/mac:

  • WebView/WebFrame.mm:

(-[WebFrame _drawRect:contentsOnly:]):

  • WebView/WebView.mm:

(coreOptions):

Source/WTF:

Improve code readability.

  • wtf/OptionSet.h:

(WTF::OptionSet::add):
(WTF::OptionSet::remove):
(WTF::OptionSet::operator==):
(WTF::OptionSet::operator!=):
(WTF::OptionSet::operator|=): Deleted.
(WTF::OptionSet::operator-=): Deleted.

  • wtf/ProcessPrivilege.cpp:

(WTF::addProcessPrivilege):
(WTF::removeProcessPrivilege):

Tools:

  • TestWebKitAPI/Tests/WTF/OptionSet.cpp:

(TestWebKitAPI::TEST):

10:41 AM Changeset in webkit [235559] by Chris Dumez
  • 11 edits in trunk/Source/WebKit

Rename ShouldProcessSwapIfPossible to ProcessSwapRequestedByClient for clarity
https://bugs.webkit.org/show_bug.cgi?id=189195

Reviewed by Alex Christensen.

Rename ShouldProcessSwapIfPossible to ProcessSwapRequestedByClient for clarity, since it indicates the client
requested a process swap via its navigation policy decision.

  • UIProcess/API/C/WKFramePolicyListener.cpp:

(WKFramePolicyListenerUseInNewProcess):
(useWithPolicies):
(WKFramePolicyListenerUseWithPolicies):
(WKFramePolicyListenerUseInNewProcessWithPolicies):

  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):

  • UIProcess/WebFramePolicyListenerProxy.cpp:

(WebKit::WebFramePolicyListenerProxy::use):
(WebKit::WebFramePolicyListenerProxy::download):
(WebKit::WebFramePolicyListenerProxy::ignore):

  • UIProcess/WebFramePolicyListenerProxy.h:
  • UIProcess/WebFrameProxy.cpp:

(WebKit::WebFrameProxy::setUpPolicyListenerProxy):

  • UIProcess/WebFrameProxy.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::decidePolicyForNewWindowAction):
(WebKit::WebPageProxy::decidePolicyForResponse):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::processForNavigation):
(WebKit::WebProcessPool::processForNavigationInternal):

  • UIProcess/WebProcessPool.h:
10:12 AM Changeset in webkit [235558] by mark.lam@apple.com
  • 4 edits
    1 add in trunk

Fix exception check accounting in constructJSWebAssemblyCompileError().
https://bugs.webkit.org/show_bug.cgi?id=189185
<rdar://problem/39786007>

Reviewed by Michael Saboff.

JSTests:

  • stress/regress-189185.js: Added.

(new.WebAssembly.CompileError.valueOf):

Source/JavaScriptCore:

Also add an exception check in JSWebAssemblyModule::createStub() so that we don't
inadvertently overwrite a pre-existing exception (if present).

  • wasm/js/JSWebAssemblyModule.cpp:

(JSC::JSWebAssemblyModule::createStub):

  • wasm/js/WebAssemblyCompileErrorConstructor.cpp:

(JSC::constructJSWebAssemblyCompileError):

10:06 AM Changeset in webkit [235557] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Gardening: ARMv7 build fix.
https://bugs.webkit.org/show_bug.cgi?id=158911

Not reviewed.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::patchableBranch8):

9:49 AM Changeset in webkit [235556] by Aditya Keerthi
  • 22 edits
    1 copy
    1 add in trunk/Source

[Datalist][iOS] Add suggestions UI for TextFieldInputTypes
https://bugs.webkit.org/show_bug.cgi?id=186714

Reviewed by Wenson Hsieh.

Source/WebCore:

On iOS, the datalist button should appear as a downward triangle. Furthermore, the
button should only be displayed if the input has focus and there are suggested
values.

  • css/html.css:

(input::-webkit-list-button): Draw the triangle using an SVG.

  • html/DataListSuggestionInformation.h:
  • html/HTMLInputElement.h:
  • html/TextFieldInputType.cpp: Added logic to show and hide the datalist button as necessary.

(WebCore::TextFieldInputType::handleFocusEvent):
(WebCore::TextFieldInputType::handleBlurEvent):
(WebCore::TextFieldInputType::didSetValueByUserEdit):
(WebCore::TextFieldInputType::listAttributeTargetChanged):
(WebCore::TextFieldInputType::displaySuggestions):

Source/WebKit:

On iOS, we have less space to display suggestions from a datalist element compared
to macOS. Furthermore, iPhones and iPads have different form factors, leading to a
different approach on each device. The commonalities of the two implementations
can be found in WKDataListSuggestionsControl. This class is subclassed by the
device specific implementations.

On iPhone, we display the suggestions in a UIPickerView. This view is accessible
only after tapping on the datalist button element to the side of the input field.
This approach was chosen in order to avoid tricking the user into thinking that
the values displayed in the picker are the only accepted values.
WKDataListSuggestionsPicker is responsible for managing the interface shown on
iPhones.

On iPad, we display the suggestions in a popover, that is visible alongside the
keyboard. The suggestions in the popover update as the user types.
WKDataListSuggestionsPopover is responsible for managing the interface shown on
iPads.

Both devices display predictive text suggestions, taking the first three values
from the filtered suggestions list. In order to prevent other clients from
overwriting the suggestions provided by the datalist element, we prevent writing
to the predictive text bar if an input with the list attribute is the currently
assisted node.

  • Shared/AssistedNodeInformation.cpp:

(WebKit::AssistedNodeInformation::encode const):
(WebKit::AssistedNodeInformation::decode):

  • Shared/AssistedNodeInformation.h:
  • Shared/ios/InteractionInformationAtPosition.h:
  • Shared/ios/InteractionInformationAtPosition.mm:

(WebKit::InteractionInformationAtPosition::encode const):
(WebKit::InteractionInformationAtPosition::decode):

  • SourcesCocoa.txt:
  • UIProcess/WebDataListSuggestionsDropdownIOS.h: Added.
  • UIProcess/WebDataListSuggestionsDropdownIOS.mm: Added.

(WebKit::WebDataListSuggestionsDropdownIOS::create):
(WebKit::WebDataListSuggestionsDropdownIOS::WebDataListSuggestionsDropdownIOS):
(WebKit::WebDataListSuggestionsDropdownIOS::show):
(WebKit::WebDataListSuggestionsDropdownIOS::handleKeydownWithIdentifier):
(WebKit::WebDataListSuggestionsDropdownIOS::close):
(WebKit::WebDataListSuggestionsDropdownIOS::didSelectOption):
(-[WKDataListSuggestionsControl initWithInformation:inView:]):
(-[WKDataListSuggestionsControl updateWithInformation:]):
(-[WKDataListSuggestionsControl showSuggestionsDropdown:activationType:]):
(-[WKDataListSuggestionsControl didSelectOptionAtIndex:]):
(-[WKDataListSuggestionsControl invalidate]):
(-[WKDataListSuggestionsControl textSuggestions]):
(-[WKDataListSuggestionsControl suggestionsCount]):
(-[WKDataListSuggestionsControl suggestionAtIndex:]):
(-[WKDataListSuggestionsControl textAlignment]):
(-[WKDataListSuggestionsPicker initWithInformation:inView:]):
(-[WKDataListSuggestionsPicker updateWithInformation:]):
(-[WKDataListSuggestionsPicker showSuggestionsDropdown:activationType:]):
(-[WKDataListSuggestionsPicker numberOfComponentsInPickerView:]):
(-[WKDataListSuggestionsPicker pickerView:numberOfRowsInComponent:]):
(-[WKDataListSuggestionsPicker pickerView:titleForRow:forComponent:]):
(-[WKDataListSuggestionsPicker invalidate]):
(-[WKDataListSuggestionsPickerView controlView]):
(-[WKDataListSuggestionsPickerView controlBeginEditing]):
(-[WKDataListSuggestionsPickerView controlEndEditing]):
(-[WKDataListSuggestionsPopover initWithInformation:inView:]):
(-[WKDataListSuggestionsPopover updateWithInformation:]):
(-[WKDataListSuggestionsPopover showSuggestionsDropdown:activationType:]):
(-[WKDataListSuggestionsPopover invalidate]):
(-[WKDataListSuggestionsPopover didSelectOptionAtIndex:]):
(-[WKDataListSuggestionsViewController reloadData]):
(-[WKDataListSuggestionsViewController tableView:numberOfRowsInSection:]):
(-[WKDataListSuggestionsViewController tableView:cellForRowAtIndexPath:]):
(-[WKDataListSuggestionsViewController tableView:didSelectRowAtIndexPath:]):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::pageDidScroll):

  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::createDataListSuggestionsDropdown):

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

(-[WKFormInputSession endEditing]):
(-[WKFormInputSession setSuggestions:]):
(-[WKContentView _formInputSession]):
(-[WKContentView resignFirstResponderForWebView]):
(-[WKContentView textInteractionGesture:shouldBeginAtPoint:]):
(-[WKContentView accessoryTab:]):
(-[WKContentView insertTextSuggestion:]):

  • UIProcess/mac/WebDataListSuggestionsDropdownMac.h:
  • UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:

(WebKit::WebDataListSuggestionsDropdownMac::didSelectOption):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCloseSuggestions):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::getPositionInformation):
(WebKit::WebPage::getAssistedNodeInformation):

9:44 AM Changeset in webkit [235555] by dbates@webkit.org
  • 2 edits in trunk/Tools

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

Update comment to explain that we return early and do not compute the set of enumerators in the
OptionSet when the underlying value of the set is an invalid value.

Additionally, update the change log entry for r235482 to reflect the updated title for the bug
and to better describe the change that was made.

  • lldb/lldb_webkit.py:

(WTFOptionSetProvider.update):

9:05 AM Changeset in webkit [235554] by mark.lam@apple.com
  • 3 edits
    1 add in trunk

Fix exception check accounting in JSDataView::defineOwnProperty().
https://bugs.webkit.org/show_bug.cgi?id=189186
<rdar://problem/39786049>

Reviewed by Michael Saboff.

JSTests:

  • stress/regress-189186.js: Added.

Source/JavaScriptCore:

  • runtime/JSDataView.cpp:

(JSC::JSDataView::defineOwnProperty):

8:52 AM Changeset in webkit [235553] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit

REGRESSION(r235484) _WKPreferencesGetWebRTCLegacyAPIEnabled symbol not found when running Safari with external SDK build
https://bugs.webkit.org/show_bug.cgi?id=189188

Patch by Frederic Wang <fwang@igalia.com> on 2018-08-31
Reviewed by Youenn Fablet.

WebRTCLegacyAPI preference has been removed in r235484. However, the API is still used by
Safari when running external SDK builds. Hence we restore some dummy getter/setter for now.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetWebRTCLegacyAPIEnabled): no-op.
(WKPreferencesGetWebRTCLegacyAPIEnabled): Always return false.

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

(-[WKPreferences _webRTCLegacyAPIEnabled]): Always return false.
(-[WKPreferences _setWebRTCLegacyAPIEnabled:]): no-op.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
8:51 AM Changeset in webkit [235552] by youenn@apple.com
  • 5 edits in trunk/Source/WebCore

Move LibWebRTCMediaEndpoint data channel code to LibWebRTCDataChannelHandler
https://bugs.webkit.org/show_bug.cgi?id=189182

Reviewed by Alejandro G. Castro.

Moving data channel code outside of LibWebRTCMediaEndpoint.
This will allow future development to support unified plan.
No change of behavior.

  • Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:

(WebCore::LibWebRTCDataChannelHandler::fromRTCDataChannelInit):
(WebCore::LibWebRTCDataChannelHandler::channelEvent):

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

(WebCore::LibWebRTCMediaEndpoint::createDataChannel):
(WebCore::LibWebRTCMediaEndpoint::OnDataChannel):

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
8:50 AM Changeset in webkit [235551] by youenn@apple.com
  • 3 edits
    1 add in trunk/Source/WebCore

Move session observers outside LibWebRTCMediaEndpoint
https://bugs.webkit.org/show_bug.cgi?id=189181

Reviewed by Alejandro G. Castro.

Move classes of LibWebRTCMediaEndpoint to a separate file.
No change of behavior.

  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
  • Modules/mediastream/libwebrtc/LibWebRTCObservers.h: Added.
  • WebCore.xcodeproj/project.pbxproj:
8:29 AM Changeset in webkit [235550] by pvollan@apple.com
  • 2 edits in trunk/LayoutTests

[Win] Some tests are failing on ews200 after upgrading iTunes.
https://bugs.webkit.org/show_bug.cgi?id=189194

Unreviewed test gardening.

  • platform/win/TestExpectations:
5:43 AM Changeset in webkit [235549] by eric.carlson@apple.com
  • 6 edits
    1 delete in trunk/Source/WebCore

[MediaStream] Remove AVMediaCaptureSource
https://bugs.webkit.org/show_bug.cgi?id=189159

Reviewed by Youenn Fablet.

No new tests, no change in functionality.

Refactor video capture to get rid of a base class we don't
need any more.

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/mac/AVMediaCaptureSource.h: Removed.
  • platform/mediastream/mac/AVMediaCaptureSource.mm: Removed.
  • platform/mediastream/mac/AVVideoCaptureSource.h:

(WebCore::AVVideoCaptureSource::session const):
(WebCore::AVVideoCaptureSource::device const):

  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::globaVideoCaptureSerialQueue):
(WebCore::AVVideoCaptureSource::AVVideoCaptureSource):
(WebCore::AVVideoCaptureSource::~AVVideoCaptureSource):
(WebCore::AVVideoCaptureSource::startProducingData):
(WebCore::AVVideoCaptureSource::stopProducingData):
(WebCore::AVVideoCaptureSource::beginConfiguration):
(WebCore::AVVideoCaptureSource::commitConfiguration):
(WebCore::AVVideoCaptureSource::settingsDidChange):
(WebCore::AVVideoCaptureSource::settings const):
(WebCore::AVVideoCaptureSource::capabilities const):
(WebCore::AVVideoCaptureSource::setPreset):
(WebCore::AVVideoCaptureSource::setupSession):
(WebCore::AVVideoCaptureSource::setupCaptureSession):
(WebCore::AVVideoCaptureSource::captureSessionIsRunningDidChange):
(WebCore::AVVideoCaptureSource::interrupted const):
(WebCore::AVVideoCaptureSource::captureSessionRuntimeError):
(WebCore::AVVideoCaptureSource::captureSessionBeginInterruption):
(WebCore::AVVideoCaptureSource::captureSessionEndInterruption):
(-[WebCoreAVVideoCaptureSourceObserver initWithCallback:]):
(-[WebCoreAVVideoCaptureSourceObserver disconnect]):
(-[WebCoreAVVideoCaptureSourceObserver addNotificationObservers]):
(-[WebCoreAVVideoCaptureSourceObserver removeNotificationObservers]):
(-[WebCoreAVVideoCaptureSourceObserver captureOutput:didOutputSampleBuffer:fromConnection:]):
(-[WebCoreAVVideoCaptureSourceObserver observeValueForKeyPath:ofObject:change:context:]):
(-[WebCoreAVVideoCaptureSourceObserver sessionRuntimeError:]):
(-[WebCoreAVVideoCaptureSourceObserver beginSessionInterrupted:]):
(-[WebCoreAVVideoCaptureSourceObserver endSessionInterrupted:]):
(WebCore::AVVideoCaptureSource::initializeCapabilities): Deleted.
(WebCore::AVVideoCaptureSource::initializeSupportedConstraints): Deleted.
(WebCore::AVVideoCaptureSource::updateSettings): Deleted.

5:02 AM Changeset in webkit [235548] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

Unreviewed, GTK Ubuntu LTS build fix after r235543.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
4:47 AM Changeset in webkit [235547] by ddkilzer@apple.com
  • 3 edits
    1 delete in trunk/Source/WTF

REGRESSION (r226407): Remove unused BlockStack.h
<https://webkit.org/b/189189>

Reviewed by Yusuke Suzuki.

  • WTF.xcodeproj/project.pbxproj: Remove references to BlockStack.h.
  • wtf/BlockStack.h: Remove.
  • wtf/CMakeLists.txt: Remove references to BlockStack.h.
3:54 AM Changeset in webkit [235546] by ddkilzer@apple.com
  • 2 edits
    1 move in trunk/Tools

WebKitLauncher: Move WebKitLauncher.entitlements into Configurations directory

This makes the Configurations folder in the Xcode project match
what's in the Configurations directory on disk. Found by
tidy-Xcode-project-file (see Bug 188754).

  • WebKitLauncher/Configurations/WebKitLauncher.entitlements: Rename from Tools/WebKitLauncher/WebKitLauncher.entitlements.
  • WebKitLauncher/WebKitLauncher.xcodeproj/project.pbxproj:
  • Update project for file move.
3:54 AM Changeset in webkit [235545] by ddkilzer@apple.com
  • 4 edits in trunk/Tools

WebKitLauncher: Fix build failures

  • WebKitLauncher/Configurations/Base.xcconfig:

(ARCHS): Use $(ARCHS_STANDARD_32_64_BIT).
(MACOSX_DEPLOYMENT_TARGET): Update from Snow Leopard to Sierra.

  • WebKitLauncher/WebKitNightlyEnabler.m:

(myApplicationWillFinishLaunching):

  • WebKitLauncher/main.m:

(displayErrorAndQuit):
(locateSafariBundle):

  • Use pragma to ignore deprecation warnings.
3:47 AM Changeset in webkit [235544] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

Unreviewed, fix compilation warning in EME GStreamer backend.

Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:1293:19:
warning: format ‘%lu’ expects argument of type ‘long unsigned
int’, but argument 9 has type ‘unsigned int’ [-Wformat=]

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::initializationDataEncountered):

3:22 AM Changeset in webkit [235543] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[GStreamer][GL] useless ifdef in pushTextureToCompositor
https://bugs.webkit.org/show_bug.cgi?id=188552

Patch by Philippe Normand <philn@igalia.com> on 2018-08-31
Reviewed by Xabier Rodriguez-Calvar.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::pushTextureToCompositor):
There's no need for an ifdef because the frame holder already
ensures a valid texture ID will be set if it maps a GL video frame.

3:19 AM Changeset in webkit [235542] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION (r235190): Fix name of WebAudioBufferList.{cpp,h} in Xcode project

  • WebCore.xcodeproj/project.pbxproj:
  • Add the 'name' parameter to the file references, then fix the visual name everywhere else, so these files don't appear as "cocoa/WebAudioBufferList.{cpp,h}" in the project.
3:19 AM Changeset in webkit [235541] by ddkilzer@apple.com
  • 2 edits
    1 move in trunk/Tools

MobileMiniBrowser: Move test2s.mp4 into Resources directory

This makes the Resources folder in the Xcode project match
what's in the Resources directory on disk. Found by
tidy-Xcode-project-file (see Bug 188754).

  • MobileMiniBrowser/MobileMiniBrowser.xcodeproj/project.pbxproj:
  • Update project for file move.
  • MobileMiniBrowser/MobileMiniBrowserFramework/Resources/test2s.mp4: Rename from Tools/MobileMiniBrowser/MobileMiniBrowserFramework/test2s.mp4.
1:40 AM Changeset in webkit [235540] by mark.lam@apple.com
  • 3 edits
    1 add in trunk

Add missing exception check in arrayProtoFuncLastIndexOf().
https://bugs.webkit.org/show_bug.cgi?id=189184
<rdar://problem/39785959>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/regress-189184.js: Added.

Source/JavaScriptCore:

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncLastIndexOf):

12:49 AM Changeset in webkit [235539] by commit-queue@webkit.org
  • 29 edits in trunk

Bug 182053 - [CSSOM View] Implement standard behavior for scrollingElement
https://bugs.webkit.org/show_bug.cgi?id=182053

Patch by Frederic Wang <fwang@igalia.com> on 2018-08-31
Reviewed by Simon Fraser.

Source/WebCore:

This commit introduces a new CSSOMViewScrollingAPIEnabled flag that will be used to implement
the standard behavior of DOM scroll* API as specified by the CSSOM View spec (see bug 5991).
It changes the behavior of document.scrollingElement so that it follows the spec when the
flag is enabled. This will allow to pass the WPT test cssom-view/scrollingElement.html when
it becomes the default behavior. WPT tests cssom-view/scrollingElement-quirks-dynamic*.html
still fail; comparing with Chromium's code, we might need to propagate the style of <html>
and <body> to the viewport element. Behaviors for other scrolling attributes will be changed
in follow-up bugs.

Tests: fast/dom/Document/scrollingElement-quirks-mode.html

fast/dom/Document/scrollingElement-standard-mode.html

  • dom/Document.cpp:

(WebCore::Document::isBodyPotentiallyScrollable): Helper function to verify whether the body
is potentially scrollable, as defined by the CSSOM View spec. It seems that
RenderObject::hasOverflowClip() may return incorrect value at this point and we might need
to do something similar to Chromium's style propagation to make it work. For now, we just
use the computed style. See bug 182292.
(WebCore::Document::scrollingElement): When CSSOMViewScrollingAPIEnabled is enabled, we
implement the algorithm of the CSSOM View spec.
(WebCore::Document::body const): Verify that the root is actually a <html> element or
otherwise return null. This is required by the CSSOM View spec and for WPT test
scrollingElement.html. It is consistent with bodyOrFrameset().

  • dom/Document.h: Add spec references for body() and bodyOrFrameset() and declare

isBodyPotentiallyScrollable().

  • page/Settings.yaml: Add developer option for enabling the CSSOM View behavior.
  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::isOverflowVisible const): Add helper function to check whether the
style implies visible overflow.

Source/WebKit:

Add developer flag to use standard behavior for scrolling* attributes.

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

(WKPreferencesSetCSSOMViewScrollingAPIEnabled):
(WKPreferencesGetCSSOMViewScrollingAPIEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:

Source/WebKitLegacy/mac:

Add developer flag to use standard behavior for scrolling* attributes.

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

(+[WebPreferences initialize]):
(-[WebPreferences CSSOMViewScrollingAPIEnabled]):
(-[WebPreferences setCSSOMViewScrollingAPIEnabled:]):

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

(-[WebView _preferencesChanged:]):

Source/WebKitLegacy/win:

Add developer flag to use standard behavior for scrolling* attributes.

  • Interfaces/IWebPreferencesPrivate.idl:
  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::CSSOMViewScrollingAPIEnabled):
(WebPreferences::setCSSOMViewScrollingAPIEnabled):

  • WebPreferences.h:
  • WebView.cpp:

(WebView::notifyPreferencesChanged):

Tools:

Add FIXMEs comments to add the new developer flag in the future and disable it for now.

  • DumpRenderTree/mac/DumpRenderTree.mm:

(enableExperimentalFeatures):
(resetWebPreferencesToConsistentValues):

  • DumpRenderTree/win/DumpRenderTree.cpp:

(enableExperimentalFeatures):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetPreferencesToConsistentValues):

LayoutTests:

Add a test to check that in Quirks mode, the <body> element returned by
document.scrollingElement is indeed a child of a <html> root (i.e. in the HTML namespace).
Adjust scrollingElement*.html tests so that they are executed with the flag
CSSOMViewScrollingAPI enabled and update expectations now that these tests pass.

  • fast/dom/Document/scrollingElement-quirks-mode.html:
  • fast/dom/Document/scrollingElement-quirks-mode-expected.txt:
  • fast/dom/Document/scrollingElement-standards-mode.html:
  • fast/dom/Document/scrollingElement-standards-mode-expected.txt:
12:45 AM Changeset in webkit [235538] by sbarati@apple.com
  • 6 edits
    1 add in trunk

convertToRegExpMatchFastGlobal must use KnownString as the child use kind
https://bugs.webkit.org/show_bug.cgi?id=189173
<rdar://problem/43501645>

Reviewed by Michael Saboff.

JSTests:

  • stress/may-exit-should-be-false-regexp-constant-folding.js: Added.

(foo):
(bar):

Source/JavaScriptCore:

We were crashing during validation because mayExit returned true
at a point in the program when we weren't allowed to exit.

The issue was is in StrengthReduction: we end up emitting code that
had a StringUse on an edge after a node that did side effects and before
an ExitOK/bytecode number transition. However, StrenghReduction did the
right thing here and also emitted the type checks before the node with
side effects. It just did bad bookkeeping. The node we convert to needs
to use KnownStringUse instead of StringUse for the child edge.

  • dfg/DFGNode.cpp:

(JSC::DFG::Node::convertToRegExpExecNonGlobalOrStickyWithoutChecks):
(JSC::DFG::Node::convertToRegExpMatchFastGlobalWithoutChecks):
(JSC::DFG::Node::convertToRegExpExecNonGlobalOrSticky): Deleted.
(JSC::DFG::Node::convertToRegExpMatchFastGlobal): Deleted.

  • dfg/DFGNode.h:
  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):

Note: See TracTimeline for information about the timeline view.