Timeline
Oct 6, 2018:
- 7:48 PM Changeset in webkit [236903] by
-
- 2 edits in trunk/Source/WebKit
Tried to fix the macOS Mojave build.
- UIProcess/API/Cocoa/LegacyBundleForClass.mm:
- 6:29 PM Changeset in webkit [236902] by
-
- 18 edits in trunk/Source/WebKit
WebKit part of [Xcode] Update some build settings as recommended by Xcode 10
https://bugs.webkit.org/show_bug.cgi?id=190250
Reviewed by Andy Estes.
- Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF, and CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED.
- WebKit.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
- UIProcess/API/Cocoa/WKBrowsingContextController.mm:
- UIProcess/API/Cocoa/WKBrowsingContextGroup.mm:
- UIProcess/API/Cocoa/WKConnection.mm:
- UIProcess/API/Cocoa/WKNavigationData.mm:
- UIProcess/API/Cocoa/WKProcessGroup.mm:
- UIProcess/API/Cocoa/WKTypeRefWrapper.mm:
- UIProcess/API/Cocoa/WKWebView.mm:
- UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
- UIProcess/API/Cocoa/_WKWebsiteDataStore.mm:
- UIProcess/API/mac/WKView.mm:
- WebProcess/Plugins/PDF/PDFPlugin.mm:
- WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
Suppressed -Wdeprecated-implementations around some class, category and method
implementations the above files.
- 5:20 PM Changeset in webkit [236901] by
-
- 29 edits7 adds in trunk
[ESNext][BigInt] Implement support for "|"
https://bugs.webkit.org/show_bug.cgi?id=186229
Reviewed by Yusuke Suzuki.
JSTests:
- stress/big-int-bitwise-and-jit.js:
- stress/big-int-bitwise-or-general.js: Added.
- stress/big-int-bitwise-or-jit-untyped.js: Added.
- stress/big-int-bitwise-or-jit.js: Added.
- stress/big-int-bitwise-or-memory-stress.js: Added.
- stress/big-int-bitwise-or-to-primitive-precedence.js: Added.
- stress/big-int-bitwise-or-type-error.js: Added.
- stress/big-int-bitwise-or-wrapped-value.js: Added.
Source/JavaScriptCore:
This patch is introducing support for BigInt into bitwise "or" operator.
In addition, we are also introducing 2 new DFG nodes, named "ArithBitOr" and
"ValueBitOr", to replace "BitOr" node. The idea is to follow the
difference that we make on Arith<op> and Value<op>, where ArithBitOr
handles cases when the operands are Int32 and ValueBitOr handles
the remaining cases.
We are also changing op_bitor to use ValueProfile. We are using
ValueProfile during DFG generation to emit "ArithBitOr" when
outcome prediction is Int32.
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::arithProfileForPC):
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitBinaryOp):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGBackwardsPropagationPhase.cpp:
(JSC::DFG::BackwardsPropagationPhase::isWithinPowerOfTwo):
(JSC::DFG::BackwardsPropagationPhase::propagate):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGOperations.cpp:
(JSC::DFG::bitwiseOp):
- dfg/DFGOperations.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileValueBitwiseOp):
(JSC::DFG::SpeculativeJIT::compileBitwiseOp):
- dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::bitOp):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGStrengthReductionPhase.cpp:
(JSC::DFG::StrengthReductionPhase::handleNode):
- ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
- ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileValueBitOr):
(JSC::FTL::DFG::LowerDFGToB3::compileArithBitOr):
(JSC::FTL::DFG::LowerDFGToB3::compileBitOr): Deleted.
- jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_bitor):
- llint/LowLevelInterpreter32_64.asm:
- llint/LowLevelInterpreter64.asm:
- runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
- runtime/JSBigInt.cpp:
(JSC::JSBigInt::bitwiseAnd):
(JSC::JSBigInt::bitwiseOr):
(JSC::JSBigInt::absoluteBitwiseOp):
(JSC::JSBigInt::absoluteAddOne):
- runtime/JSBigInt.h:
- 12:49 PM Changeset in webkit [236900] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Use new extra memory reporting in SparseArrayMap
https://bugs.webkit.org/show_bug.cgi?id=190278
Reviewed by Keith Miller.
This patch switches the extra memory reporting mechanism from deprecatedReportExtraMemory
to reportExtraMemoryAllocated & reportExtraMemoryVisited in SparseArrayMap.
- runtime/SparseArrayValueMap.cpp:
(JSC::SparseArrayValueMap::add):
(JSC::SparseArrayValueMap::visitChildren):
- 12:10 PM Changeset in webkit [236899] by
-
- 2 edits in trunk/Source/WTF
Adding some temporary asserts to debug a mysterious ASAN bot crash.
https://bugs.webkit.org/show_bug.cgi?id=190331
Reviewed by Filip Pizlo.
These assertions are needed because we can't reproduce the issue locally.
We'll remove these asserts after the needed data has been collected from the bot.
- wtf/StackBounds.h:
(WTF::StackBounds::checkConsistency const):
- 9:07 AM Changeset in webkit [236898] by
-
- 4 edits in trunk
[Xcode] Never build yasm with ASAN
https://bugs.webkit.org/show_bug.cgi?id=190327
Reviewed by Youenn Fablet.
Source/ThirdParty/libwebrtc:
- Configurations/yasm.xcconfig: Set WK_ASAN_DISALLOWED to YES.
Tools:
- asan/asan.xcconfig: Allow targets to opt out of building with ASAN by setting the WK_ASAN_DISALLOWED build setting to YES (or, actually, anything other than NO or unset).
- 8:59 AM Changeset in webkit [236897] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
Fixed iOS device production builds after r236896.
- Configurations/yasm.xcconfig: Excluding all sources when building for an iOS device meant that nothing got built, which caused the install action to fail when it tried to copy the built product. Just put things back the way they were for now.
- 7:41 AM Changeset in webkit [236896] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
[Xcode] Don’t install yasm and don’t compile it in iOS device builds
https://bugs.webkit.org/show_bug.cgi?id=190326
Reviewed by Youenn Fablet.
- Configurations/yasm.xcconfig: Set SKIP_INSTALL to YES, and excluded all source files when targeting iOS devices.
- 6:57 AM Changeset in webkit [236895] by
-
- 14 edits in trunk
Properly determine if css custom property values are computationally independent
https://bugs.webkit.org/show_bug.cgi?id=190303
Patch by Justin Michaud <Justin Michaud> on 2018-10-06
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
- web-platform-tests/css/css-properties-values-api/register-property-syntax-parsing-expected.txt:
- web-platform-tests/css/css-properties-values-api/registered-property-computation-expected.txt:
Source/WebCore:
Add getDirectComputationalDependencies method to determine if a value is computationally
dependent. Use this method in CSS.registerProperty to replace existing substring checks.
No new tests are needed because the existing tests cover this behaviour.
- css/CSSCalculationValue.cpp:
(WebCore::determineCategory):
- css/CSSCalculationValue.h:
(WebCore::CSSCalcValue::getDirectComputationalDependencies const):
(WebCore::CSSCalcValue::getDirectRootComputationalDependencies const):
- css/CSSCustomPropertyValue.cpp:
(WebCore::CSSCustomPropertyValue::customCSSText const):
(WebCore::CSSCustomPropertyValue::tokens const):
(WebCore::CSSCustomPropertyValue::setResolvedTypedValue):
- css/CSSCustomPropertyValue.h:
- css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::getDirectComputationalDependencies const):
(WebCore::CSSPrimitiveValue::getDirectRootComputationalDependencies const):
- css/CSSPrimitiveValue.h:
- css/CSSValue.cpp:
(WebCore::CSSValue::getDirectComputationalDependencies const):
(WebCore::CSSValue::getDirectRootComputationalDependencies const):
- css/CSSValue.h:
- css/CSSVariableData.cpp:
(WebCore::CSSVariableData::CSSVariableData):
(WebCore::CSSVariableData::resolveVariableReference const):
- css/DOMCSSRegisterCustomProperty.cpp:
(WebCore::DOMCSSRegisterCustomProperty::registerProperty):
Oct 5, 2018:
- 6:45 PM Changeset in webkit [236894] by
-
- 7 edits in tags/Safari-607.1.9.2/Source
Versioning.
- 6:40 PM Changeset in webkit [236893] by
-
- 1 copy in tags/Safari-607.1.9.2
New tag.
- 6:06 PM Changeset in webkit [236892] by
-
- 3 edits in trunk/Source/WebInspectorUI
Web Inspector: add WebVTT MIME/file type mappings to the frontend
https://bugs.webkit.org/show_bug.cgi?id=190288
Reviewed by Brian Burg.
- UserInterface/Base/MIMETypeUtilities.js:
(WI.mimeTypeForFileExtension):
(WI.fileExtensionForMIMEType):
- UserInterface/Views/NetworkTableContentView.js:
(WI.NetworkTableContentView.displayNameForResource):
Also attempt to use the mime-type-to-extension when theWI.Resourceis of typeOther.
- 5:20 PM Changeset in webkit [236891] by
-
- 8 edits in trunk
Web Inspector: refactor constructor of WI.Resource
https://bugs.webkit.org/show_bug.cgi?id=190318
Reviewed by Joseph Pecoraro.
Source/WebInspectorUI:
Reworked constructor of
WI.Resourceto use an optional object for any non-essential arguments.
Drive-by: moved some simple getters to the top of the class to save space.
- UserInterface/Models/Resource.js:
(WI.Resource):
- UserInterface/Models/SourceMapResource.js:
(WI.SourceMapResource):
- UserInterface/Models/WebSocketResource.js:
(WI.WebSocketResource):
- UserInterface/Controllers/NetworkManager.js:
(WI.NetworkManager.prototype.frameDidNavigate):
(WI.NetworkManager.prototype.resourceRequestWillBeSent):
(WI.NetworkManager.prototype.webSocketWillSendHandshakeRequest):
(WI.NetworkManager.prototype.resourceRequestWasServedFromMemoryCache):
(WI.NetworkManager.prototype.resourceRequestDidReceiveResponse):
(WI.NetworkManager.prototype._addNewResourceToFrameOrTarget):
(WI.NetworkManager.prototype._createFrame):
(WI.NetworkManager.prototype._createResource):
LayoutTests:
- http/tests/inspector/network/har/har-basic.html:
- inspector/unit-tests/resource-collection.html:
- 5:02 PM Changeset in webkit [236890] by
-
- 1 edit3 adds in trunk/Websites/bugs.webkit.org
Radar links should be clickable on bugs.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=190293
<rdar://problem/45020184>
Reviewed by Lucas Forschler.
Add a new Extension which formats bug comments and makes radar:// links clickable.
- extensions/Radar/Config.pm: Added.
- extensions/Radar/Extension.pm: Added.
(bug_format_comment):
(_replace_radar):
- 3:26 PM Changeset in webkit [236889] by
-
- 7 edits in tags/Safari-607.1.9.1/Source
Versioning.
- 3:25 PM Changeset in webkit [236888] by
-
- 8 edits in trunk
Regression(r236862): Crash under DOMWindowExtension::willDetachGlobalObjectFromFrame()
https://bugs.webkit.org/show_bug.cgi?id=190320
<rdar://problem/45044814>
Reviewed by Geoffrey Garen.
Source/WebCore:
r236862 caused DOMWindowProperty::willDetachGlobalObjectFromFrame() to get called several
times. There was no effect for most DOMWindowProperty objects. However, it would cause
crashes for DOMWindowExtension objects, which subclass DOMWindowProperty and override
DOMWindowProperty::willDetachGlobalObjectFromFrame() because they dereference the frame
without null checking it.
To address the issue, we now make sure DOMWindowProperty::willDetachGlobalObjectFromFrame()
is not called several times.
- dom/Document.cpp:
(WebCore::Document::detachFromFrame):
Stop calling DOMWindow::willDetachDocumentFromFrame() here as most call sites already
take care of calling DOMWindow::willDetachDocumentFromFrame() beforehand (e.g.
Document::prepareForDestruction()).
Also, return early if the Document is already detached from its frame.
(WebCore::Document::frameWasDisconnectedFromOwner):
Add new utility function called when a Frame is disconnected from its owner which
calls both Document::detachFromFrame() and DOMWindow::willDetachDocumentFromFrame().
- dom/Document.h:
- page/DOMWindow.cpp:
(WebCore::DOMWindow::willDetachDocumentFromFrame):
Return early if the Window is already detached from its frame.
- page/Frame.cpp:
(WebCore::Frame::disconnectOwnerElement):
Tools:
Add API test coverage.
- TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic.cpp:
(TestWebKitAPI::TEST):
- TestWebKitAPI/Tests/WebKit/DOMWindowExtensionBasic_Bundle.cpp:
(TestWebKitAPI::DOMWindowExtensionBasic::willDestroyGlobalObjectForDOMWindowExtension):
- 3:14 PM Changeset in webkit [236887] by
-
- 1 copy in tags/Safari-607.1.9.1
Tag Safari-607.1.9.1.
- 2:39 PM Changeset in webkit [236886] by
-
- 2 edits in trunk/Source/WebKit
REGRESSION(r236154) Page loads are not drawn when loaded in shipped Safari11/12
https://bugs.webkit.org/show_bug.cgi?id=190202
Reviewed by Youenn Fablet.
Safari11/12 had a WKPageLoaderClient and a WKPageNavigationClient.
It did not actually draw the page until its WKPageNavigationClient.renderingProgressDidChange was called.
r236154 made it so we only call WKPageLoaderClient.didLayout if an application has both clients.
This fixes open source WebKit running with shipped Safari.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReachLayoutMilestone):
- 2:12 PM Changeset in webkit [236885] by
-
- 4 edits in trunk/Source/WebInspectorUI
Web Inspector: use iframe's name attribute for FrameTreeElement
https://bugs.webkit.org/show_bug.cgi?id=190275
Reviewed by Joseph Pecoraro.
- UserInterface/Views/FrameTreeElement.js:
(WI.FrameTreeElement.prototype.get mainTitleText): Added.
- UserInterface/Views/ResourceTreeElement.js:
(WI.ResourceTreeElement.prototype.get mainTitleText): Added.
(WI.ResourceTreeElement.prototype._updateTitles):
Provide a way for subclasses to override what is used for themainTitle.
- UserInterface/Views/QuickConsole.js:
(WI.QuickConsole.prototype._createExecutionContextPathComponentFromFrame):
Update the execution context picker to match whatWI.FrameTreeElements show.
- 1:08 PM Changeset in webkit [236884] by
-
- 2 edits in trunk/LayoutTests
Try to unflake inspector/layers/layerTreeDidChange.html
Unreviewed. Test gardening.
- inspector/layers/layerTreeDidChange.html:
Force a layout early in the test to try to force layout tree
update events in the expected sequence.
- 12:59 PM Changeset in webkit [236883] by
-
- 9 edits2 adds in trunk/Source
[JSC][Linux] Support Perf JITDump logging
https://bugs.webkit.org/show_bug.cgi?id=189893
Reviewed by Mark Lam.
Source/JavaScriptCore:
This patch adds Linux
perfcommand's JIT Dump support. It allows JSC to tell perf about JIT code information.
We add a command line option,--logJITCodeForPerf, which dumpsjit-%pid.dumpin the current directory.
By using this dump and perf.data output, we can annotate JIT code with profiling information.
$ echo "(function f() { var s = 0; for (var i = 0; i < 1000000000; i++) { s += i; } return s; })();" > test.js
$ perf record -k mono ../../WebKitBuild/perf/Release/bin/jsc test.js --logJITCodeForPerf=true
[ perf record: Woken up 1 times to write data ]
[ perf record: Captured and wrote 0.182 MB perf.data (4346 samples) ]
$ perf inject --jit -i perf.data -o perf.jit.data
$ perf report -i perf.jit.data
- Sources.txt:
- assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::finalizeCodeWithDisassemblyImpl):
- assembler/LinkBuffer.h:
(JSC::LinkBuffer::finalizeCodeWithDisassembly):
- assembler/PerfLog.cpp: Added.
(JSC::PerfLog::singleton):
(JSC::generateTimestamp):
(JSC::getCurrentThreadID):
(JSC::PerfLog::PerfLog):
(JSC::PerfLog::write):
(JSC::PerfLog::flush):
(JSC::PerfLog::log):
- assembler/PerfLog.h: Added.
- jit/ExecutableAllocator.cpp:
(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator):
- runtime/Options.cpp:
(JSC::Options::isAvailable):
- runtime/Options.h:
Source/WTF:
- wtf/PageReservation.h:
(WTF::PageReservation::reserveAndCommitWithGuardPages):
- 12:30 PM Changeset in webkit [236882] by
-
- 2 edits in trunk/Source/WebCore
Further unreviewed watchOS build fix: videoPerformanceMetrics unavailable on watchOS.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::videoPlaybackQualityMetrics):
- 12:14 PM Changeset in webkit [236881] by
-
- 2 edits in trunk/Source/JavaScriptCore
Gardening: Build fix after r236880.
https://bugs.webkit.org/show_bug.cgi?id=190317
Unreviewed.
- jit/ExecutableAllocator.h:
- 11:33 AM Changeset in webkit [236880] by
-
- 3 edits in trunk/Source/JavaScriptCore
performJITMemcpy() should handle the case when the executable allocator is not initialized yet.
https://bugs.webkit.org/show_bug.cgi?id=190317
<rdar://problem/45039398>
Reviewed by Saam Barati.
When SeparatedWXHeaps is in use, jitWriteThunkGenerator() will call performJITMemcpy()
to copy memory before the JIT fixed memory pool is initialize. Before r236864,
performJITMemcpy() would just do a memcpy in that case. We need to restore the
equivalent behavior.
- jit/ExecutableAllocator.cpp:
(JSC::isJITPC):
- jit/ExecutableAllocator.h:
(JSC::performJITMemcpy):
- 11:26 AM Changeset in webkit [236879] by
-
- 2 edits in trunk/Source/WebKit
[PSON] Drop snapshotting workaround introduced in r235898
https://bugs.webkit.org/show_bug.cgi?id=190314
Reviewed by Geoffrey Garen.
Drop snapshotting workaround introduced in r235898 as it is no longer needed now
that the flashing bug has been fixed.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::continueNavigationInNewProcess):
- 10:35 AM Changeset in webkit [236878] by
-
- 2 edits in trunk/Source/WebCore
Unreviewed watchOS build fix: videoPerformanceMetrics unavailable on watchOS.
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::videoPlaybackQualityMetrics):
- 10:20 AM Changeset in webkit [236877] by
-
- 58 edits in trunk/Source
[MediaStream] RealtimeMediaSource should be able to vend hashed IDs
https://bugs.webkit.org/show_bug.cgi?id=190142
<rdar://problem/44911109>
Reviewed by Youenn Fablet.
Source/WebCore:
No new tests, covered by existing tests.
- Modules/mediastream/CanvasCaptureMediaStreamTrack.cpp:
(WebCore::CanvasCaptureMediaStreamTrack::Source::Source): Update order of parameters passed
to base class.
- Modules/mediastream/MediaDevicesRequest.cpp:
(WebCore::MediaDevicesRequest::start): ASSERT if document.deviceIDHashSalt is not the same
as passed salt.
- Modules/mediastream/MediaStreamTrack.cpp:
(WebCore::MediaStreamTrack::getSettings const): Don't need to hash ID.
(WebCore::MediaStreamTrack::getCapabilities const): Ditto.
- Modules/mediastream/MediaStreamTrack.h:
- Modules/mediastream/MediaStreamTrack.idl:
- Modules/mediastream/UserMediaRequest.cpp:
(WebCore::UserMediaRequest::allow): Pass hash salt to createMediaStream.
- Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:
(WebCore::LibWebRTCPeerConnectionBackend::createReceiverForSource): Update order of parameters passed
to base class.
- Modules/webaudio/MediaStreamAudioSource.cpp:
(WebCore::MediaStreamAudioSource::MediaStreamAudioSource): Ditto.
- platform/mediastream/MediaConstraints.h:
- platform/mediastream/RealtimeIncomingAudioSource.cpp:
(WebCore::RealtimeIncomingAudioSource::RealtimeIncomingAudioSource): Ditto.
- platform/mediastream/RealtimeIncomingVideoSource.cpp:
(WebCore::RealtimeIncomingVideoSource::RealtimeIncomingVideoSource): Ditto.
- platform/mediastream/RealtimeMediaSource.cpp:
(WebCore::RealtimeMediaSource::RealtimeMediaSource): Calculate hashed ID.
(WebCore::RealtimeMediaSource::selectSettings): Use m_hashedID.
(WebCore::RealtimeMediaSource::hashedId const): New.
(WebCore::RealtimeMediaSource::deviceIDHashSalt const): New.
- platform/mediastream/RealtimeMediaSource.h:
- platform/mediastream/RealtimeMediaSourceCenter.cpp:
(WebCore::RealtimeMediaSourceCenter::createMediaStream): Take hash salt, pass it when creating
a source.
(WebCore::RealtimeMediaSourceCenter::getUserMediaDevices): Ditto.
(WebCore::RealtimeMediaSourceCenter::validateRequestConstraints): Ditto.
- platform/mediastream/RealtimeMediaSourceCenter.h:
- platform/mediastream/RealtimeMediaSourceFactory.h:
- platform/mediastream/RealtimeVideoSource.cpp:
(WebCore::RealtimeVideoSource::RealtimeVideoSource): Update parameters.
- platform/mediastream/RealtimeVideoSource.h:
- platform/mediastream/gstreamer/GStreamerAudioCaptureSource.cpp:
(WebCore::GStreamerAudioCaptureSource::create): Ditto.
(WebCore::GStreamerAudioCaptureSource::GStreamerAudioCaptureSource): Ditto.
- platform/mediastream/gstreamer/GStreamerAudioCaptureSource.h:
- platform/mediastream/gstreamer/GStreamerVideoCaptureSource.cpp:
(WebCore::GStreamerVideoCaptureSource::create): Ditto.
(WebCore::GStreamerVideoCaptureSource::GStreamerVideoCaptureSource): Ditto.
- platform/mediastream/gstreamer/GStreamerVideoCaptureSource.h:
- platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.cpp:
(WebCore::WrappedMockRealtimeAudioSource::WrappedMockRealtimeAudioSource): Ditto.
(WebCore::MockRealtimeAudioSource::create): Ditto.
(WebCore::MockGStreamerAudioCaptureSource::MockGStreamerAudioCaptureSource): Ditto.
- platform/mediastream/gstreamer/MockGStreamerAudioCaptureSource.h:
- platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.cpp:
(WebCore::MockRealtimeVideoSource::create): Ditto.
(WebCore::MockGStreamerVideoCaptureSource::MockGStreamerVideoCaptureSource): Ditto.
- platform/mediastream/gstreamer/MockGStreamerVideoCaptureSource.h:
- platform/mediastream/mac/AVVideoCaptureSource.h:
- platform/mediastream/mac/AVVideoCaptureSource.mm:
(WebCore::AVVideoCaptureSource::create): Ditto.
(WebCore::AVVideoCaptureSource::AVVideoCaptureSource): Ditto.
(WebCore::AVVideoCaptureSource::settings): Use hashedId to set device ID.
(WebCore::AVVideoCaptureSource::capabilities): Ditto.
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioCaptureSource::create): Update parameters.
(WebCore::CoreAudioCaptureSource::CoreAudioCaptureSource): Ditto.
(WebCore::CoreAudioCaptureSource::capabilities): Use hashedId to set device ID.
(WebCore::CoreAudioCaptureSource::settings): Ditto.
- platform/mediastream/mac/CoreAudioCaptureSource.h:
- platform/mediastream/mac/DisplayCaptureSourceCocoa.cpp:
(WebCore::DisplayCaptureSourceCocoa::DisplayCaptureSourceCocoa): Update parameters.
- platform/mediastream/mac/DisplayCaptureSourceCocoa.h:
- platform/mediastream/mac/MockRealtimeAudioSourceMac.h:
- platform/mediastream/mac/MockRealtimeAudioSourceMac.mm:
(WebCore::MockRealtimeAudioSource::create): Ditto.
(WebCore::MockRealtimeAudioSourceMac::MockRealtimeAudioSourceMac): Ditto.
- platform/mediastream/mac/MockRealtimeVideoSourceMac.h:
- platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
(WebCore::MockRealtimeVideoSource::create): Ditto.
(WebCore::MockRealtimeVideoSourceMac::MockRealtimeVideoSourceMac): Ditto.
- platform/mediastream/mac/RealtimeMediaSourceCenterMac.cpp:
- platform/mediastream/mac/ScreenDisplayCaptureSourceMac.h:
- platform/mediastream/mac/ScreenDisplayCaptureSourceMac.mm:
(WebCore::ScreenDisplayCaptureSourceMac::create): Ditto.
(WebCore::ScreenDisplayCaptureSourceMac::ScreenDisplayCaptureSourceMac): Ditto.
(WebCore::ScreenDisplayCaptureSourceMac::createDisplayStream): Update logging.
(WebCore::ScreenDisplayCaptureSourceMac::startDisplayStream): Ditto.
(WebCore::ScreenDisplayCaptureSourceMac::frameAvailable): Ditto.
- platform/mediastream/mac/WindowDisplayCaptureSourceMac.h:
- platform/mediastream/mac/WindowDisplayCaptureSourceMac.mm:
(WebCore::WindowDisplayCaptureSourceMac::create): Update parameters.
- platform/mock/MockRealtimeAudioSource.cpp:
(WebCore::MockRealtimeAudioSource::create): Ditto.
(WebCore::MockRealtimeAudioSource::MockRealtimeAudioSource): Ditto.
(WebCore::MockRealtimeAudioSource::settings): Use hashedId to set device ID.
(WebCore::MockRealtimeAudioSource::capabilities): Ditto.
- platform/mock/MockRealtimeAudioSource.h:
- platform/mock/MockRealtimeMediaSourceCenter.cpp:
- platform/mock/MockRealtimeVideoSource.cpp:
(WebCore::MockRealtimeVideoSource::create): Update parameters.
(WebCore::MockRealtimeVideoSource::MockRealtimeVideoSource): Ditto.
(WebCore::MockRealtimeVideoSource::capabilities): Use hashedId to set device ID.
(WebCore::MockRealtimeVideoSource::settings): Ditto.
- platform/mock/MockRealtimeVideoSource.h:
Source/WebKit:
- Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<MediaConstraints>::encode):
(IPC::ArgumentCoder<MediaConstraints>::decode):
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp:
(WebKit::UserMediaCaptureManagerProxy::createMediaSourceForCaptureDeviceWithConstraints):
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.h:
- UIProcess/Cocoa/UserMediaCaptureManagerProxy.messages.in:
- UIProcess/UserMediaPermissionRequestManagerProxy.cpp:
(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame):
- WebProcess/cocoa/UserMediaCaptureManager.cpp:
(WebKit::UserMediaCaptureManager::Source::Source):
(WebKit::UserMediaCaptureManager::createCaptureSource):
- WebProcess/cocoa/UserMediaCaptureManager.h:
- 9:37 AM Changeset in webkit [236876] by
-
- 2 edits in trunk/Source/WebCore/PAL
Unreviewed build fix: internal builds can't find AVVideoPerformanceMetrics.
- pal/spi/mac/AVFoundationSPI.h:
- 9:04 AM Changeset in webkit [236875] by
-
- 23 edits1 add in trunk
Add support for reporting "display composited video frames" through the VideoPlaybackQuality object.
https://bugs.webkit.org/show_bug.cgi?id=190266
Reviewed by Eric Carlson.
Source/WebCore:
Test: TestWebKitAPI.VideoQualityDisplayCompositing
Modify VideoPlaybackQuality to take a VideoPlaybackQualityMetrics object in its
constructor (rather than individual fields). Add a new setting to control visibility
of the displayCompositedVideoFrames attribute on VideoPlaybackQuality. Add support
for VideoPlaybackQualityMetrics to MediaPlayerPrivateAVFoundationObjC.
- Modules/mediasource/VideoPlaybackQuality.cpp:
(WebCore::VideoPlaybackQuality::create):
(WebCore::VideoPlaybackQuality::VideoPlaybackQuality):
- Modules/mediasource/VideoPlaybackQuality.h:
(WebCore::VideoPlaybackQuality::displayCompositedVideoFrames const):
- Modules/mediasource/VideoPlaybackQuality.idl:
- html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::getVideoPlaybackQuality):
- html/HTMLMediaElement.h:
- html/HTMLMediaElement.idl:
- page/Settings.yaml:
- platform/graphics/MediaPlayer.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::videoPlaybackQualityMetrics):
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::videoPlaybackQualityMetrics):
- platform/mock/mediasource/MockMediaSourcePrivate.cpp:
(WebCore::MockMediaSourcePrivate::videoPlaybackQualityMetrics):
Source/WebCore/PAL:
- pal/spi/mac/AVFoundationSPI.h:
Source/WebKit:
Add a new preference to control the visibility of displayCompositedVideoFrames in the VideoPlaybackQualityObject.
- Shared/WebPreferences.yaml:
- UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _setVideoQualityIncludesDisplayCompositingEnabled:]):
(-[WKPreferences _videoQualityIncludesDisplayCompositingEnabled]):
- UIProcess/API/Cocoa/WKPreferencesPrivate.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/VideoQualityDisplayCompositing.mm: Added.
(TestWebKitAPI::TEST):
- 8:58 AM Changeset in webkit [236874] by
-
- 23 edits1 delete in trunk
Unreviewed, rolling out r236866.
Breaks internal builds.
Reverted changeset:
"Add support for reporting "display composited video frames"
through the VideoPlaybackQuality object."
https://bugs.webkit.org/show_bug.cgi?id=190266
https://trac.webkit.org/changeset/236866
- 8:06 AM Changeset in webkit [236873] by
-
- 5 edits1 add in trunk
[WPE][JSC] Use Unified Sources for Platform-specific sources
https://bugs.webkit.org/show_bug.cgi?id=190300
Patch by Carlos Eduardo Ramalho <cadubentzen@gmail.com> on 2018-10-05
Reviewed by Yusuke Suzuki.
Currently the GTK port already used Unified Sources with the same source files.
As WPE has conditional code using gmodule, we need to add GLIB_GMODULE_LIBRARIES
to the list of libraries to link with.
Source/JavaScriptCore:
- PlatformWPE.cmake:
- SourcesWPE.txt: Added.
- shell/PlatformWPE.cmake:
Tools:
- TestWebKitAPI/PlatformWPE.cmake:
- 6:05 AM Changeset in webkit [236872] by
-
- 2 edits in trunk/JSTests
Skip test on systems with limited memory
https://bugs.webkit.org/show_bug.cgi?id=190310
Invoking runDefault adds test to runlist, skipping the test in the next
line does not prevent the test from executing. Change order of lines such
that runDefault is only executed if test is not executed.
Patch by Dominik Infuehr <dominik.infuehr@gmail.com> on 2018-10-05
Reviewed by Mark Lam.
- stress/regress-190187.js:
- 3:57 AM Changeset in webkit [236871] by
-
- 4 edits in trunk
[Web Animations] REGRESSION (r236809): crash under AnimationTimeline::updateCSSAnimationsForElement()
https://bugs.webkit.org/show_bug.cgi?id=190307
<rdar://problem/45009901>
Reviewed by Dean Jackson.
Source/WebCore:
We could crash with an invalid access to cssAnimationsByName since cancelOrRemoveDeclarativeAnimation() already
does the job of clearing the m_elementToCSSAnimationByName entry for this particular element if there are no
animations targeting it anymore. This started happening in r236809 when we switched from a simple call to to cancel()
to a call to cancelOrRemoveDeclarativeAnimation(). We can safely remove the removal here since cancelOrRemoveDeclarativeAnimation()
will already have performed this task safely if needed.
- animation/AnimationTimeline.cpp:
(WebCore::AnimationTimeline::updateCSSAnimationsForElement):
LayoutTests:
This test was also crashing even though it should not have been using the new animation engine. Adding the
flag to opt into the legacy animation engine.
- legacy-animation-engine/animations/animation-shorthand-removed.html:
- 3:56 AM Changeset in webkit [236870] by
-
- 5 edits in trunk/Source/JavaScriptCore
[GTK] build fails with python 3 if LANG and LC_TYPE are unset
https://bugs.webkit.org/show_bug.cgi?id=190258
Patch by Mike Gorse <mgorse@alum.wpi.edu> on 2018-10-05
Reviewed by Konstantin Tokarev.
- Scripts/cssmin.py: Set stdout to UTF-8 on python 3.
- Scripts/generateIntlCanonicalizeLanguage.py: Open files with encoding=UTF-8 on Python 3.
- yarr/generateYarrCanonicalizeUnicode: Ditto.
- yarr/generateYarrUnicodePropertyTables.py: Ditto.
- 12:49 AM Changeset in webkit [236869] by
-
- 8 edits1 add in trunk
Expose whether WKWebProcessPlugInNodeHandle is a select element to clients
https://bugs.webkit.org/show_bug.cgi?id=190302
<rdar://problem/45031469>
Patch by Zach Li <zachli@apple.com> on 2018-10-05
Reviewed by Tim Horton.
Source/WebKit:
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
Introduce a new property
isSelectElement.
- WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.mm:
(-[WKWebProcessPlugInNodeHandle isSelectElement]):
- WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
(WebKit::InjectedBundleNodeHandle::isSelectElement const):
Check whether the node is a select element.
- WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.h:
Tools:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/InjectedBundleNodeHandleIsSelectElement.mm: Added.
(-[InjectedBundleNodeHandleIsSelectElement verifySelectElementForHTMLElementTag:document:jsContext:expectedResult:failedElementTags:]):
(-[InjectedBundleNodeHandleIsSelectElement webProcessPlugIn:didCreateBrowserContextController:]):
- TestWebKitAPI/Tests/WebKitCocoa/UIDelegate.mm:
(-[InjectedBundleNodeHandleIsSelectElementDelegate webView:runJavaScriptAlertPanelWithMessage:initiatedByFrame:completionHandler:]):
(TEST):