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

Timeline



Nov 4, 2018:

10:50 PM Changeset in webkit [237790] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[webkitpy] Support WPE in the run-web-platform-tests script
https://bugs.webkit.org/show_bug.cgi?id=191183

Reviewed by Alex Christensen.

  • Scripts/webkitpy/w3c/wpt_runner.py:

(parse_args): Support --wpe as an argument that specifies WPE as the
target port. Additionally, the --display-server flag now accepts
headless as a valid value, enabling the WPE WebDriver to run in
headless mode.

8:38 PM Changeset in webkit [237789] by Fujii Hironori
  • 6 edits in trunk

[Win] Use C++14, not C++17
https://bugs.webkit.org/show_bug.cgi?id=191101

Reviewed by Alex Christensen.

.:

Based on the webkit-dev discussion, this change switches Windows
port from C++17 to C++14.
<https://lists.webkit.org/pipermail/webkit-dev/2018-September/030186.html>

  • Source/cmake/OptionsMSVC.cmake: Replaced /std:c++17 with /std:c++14 switch.

Source/WTF:

  • wtf/StdLibExtras.h: Use _MSVC_LANG to check C++ language version

instead of _MSC_FULL_VER.

Tools:

std::basic_string::data() returns a read-only const buffer in
C++14.

  • MiniBrowser/win/WebKitBrowserWindow.cpp:

(createString): Use std::vector instead of std::wstring.
(createUTF8String): Use std::vector instead of std::string.

8:29 PM Changeset in webkit [237788] by Fujii Hironori
  • 3 edits in trunk/Source/WebKit

[MediaStream] User should not be prompted again after denying getDisplayMedia request
https://bugs.webkit.org/show_bug.cgi?id=191227
<rdar://problem/45784512>

Unreviewed build fix of ports not ENABLE(MEDIA_STREAM).

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp: Define getRequestAction only if ENABLE(MEDIA_STREAM).
  • UIProcess/UserMediaPermissionRequestManagerProxy.h: Ditto.
6:15 PM Changeset in webkit [237787] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove ENABLE_OPENCL fully
https://bugs.webkit.org/show_bug.cgi?id=191172

Patch by Rob Buis <rbuis@igalia.com> on 2018-11-04
Reviewed by Yusuke Suzuki.

Forgot to simplify this, no need for applyAll anymore
since it just calls apply.

No new tests since no change in functionality.

  • platform/graphics/filters/FilterEffect.h:

(WebCore::FilterEffect::applyAll): Deleted.

  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::postApplyResource):

1:19 PM Changeset in webkit [237786] by Wenson Hsieh
  • 6 edits in trunk/Tools

[Cocoa] Fold common UIScriptController functionality on macOS and iOS into UIScriptControllerCocoa.mm
https://bugs.webkit.org/show_bug.cgi?id=191231

Reviewed by Simon Fraser.

Moves some UIScriptController method implementations specific to iOS and macOS into UIScriptControllerCocoa, so
it can be shared between iOS-family and macOS platforms. See below for more details.

No change in behavior.

  • DumpRenderTree/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::overridePreference):

Add a method stub for DumpRenderTree.

  • TestRunnerShared/UIScriptContext/UIScriptController.cpp:
  • WebKitTestRunner/UIScriptControllerCocoa.mm:

(WTR::UIScriptController::doAsyncTask):
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution):

Unify these method implementations.

(WTR::UIScriptController::removeViewFromWindow):
(WTR::UIScriptController::addViewToWindow):

Move the macOS implementation to UIScriptControllerCocoa. On iOS, this method currently only adds the web view
to the window, and does not attempt to invoke the given completion block; additionally, invoking the completion
block after a presentation update (as done on macOS) causes pageoverlay/overlay-remove-reinsert-view.html to
begin failing consistently. This patch does not attempt to change behavior, but adds a FIXME describing this.

(WTR::UIScriptController::overridePreference):
(WTR::UIScriptController::findString):
(WTR::UIScriptController::contentsOfUserInterfaceItem const):

Move these from UIScriptControllerMac to UIScriptControllerCocoa, so that it is now implemented on iOS as well.

  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptController::doAsyncTask): Deleted.
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution): Deleted.
(WTR::UIScriptController::contentsOfUserInterfaceItem const): Deleted.
(WTR::UIScriptController::findString): Deleted.
(WTR::UIScriptController::removeViewFromWindow): Deleted.
(WTR::UIScriptController::addViewToWindow): Deleted.

  • WebKitTestRunner/mac/UIScriptControllerMac.mm:

(WTR::UIScriptController::doAsyncTask): Deleted.
(WTR::UIScriptController::contentsOfUserInterfaceItem const): Deleted.
(WTR::UIScriptController::overridePreference): Deleted.
(WTR::UIScriptController::findString): Deleted.
(WTR::UIScriptController::removeViewFromWindow): Deleted.
(WTR::UIScriptController::addViewToWindow): Deleted.
(WTR::UIScriptController::setShareSheetCompletesImmediatelyWithResolution): Deleted.

8:38 AM Changeset in webkit [237785] by Alan Bujtas
  • 17 edits in trunk/Source

[iOS] Issue initial paint soon after the visuallyNonEmpty milestone is fired.
https://bugs.webkit.org/show_bug.cgi?id=191078
<rdar://problem/45736178>

Reviewed by Antti Koivisto.

Source/WebCore:

  1. Improve visuallyNonEmpty milestone confidence level.

Ignore whitespace and non visible text content.
Parsing the main document should not necessarily fire the milestone. Check if there's any pending scripts/css/font loading.
Check if the html/body is actually visible.

  1. Issue initial paint soon after the milestone fires.

Use a 0ms timer to flush the initial paint.
Throttle additional flushes for 500ms (remove the non-initial 1.5 throttling)

  1. Suspend optional style recalcs and layouts while painting is being throttled. When parsing yields we initiate a 0ms style recalc/layout timer. These optional layouts produce content that we have no intention to paint.
  • dom/Document.cpp:

(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::shouldScheduleLayout):

  • page/ChromeClient.h:
  • page/FrameView.cpp:

(WebCore::FrameView::resetLayoutMilestones):
(WebCore::FrameView::qualifiesAsVisuallyNonEmpty const):
(WebCore::FrameView::updateSignificantRenderedTextMilestoneIfNeeded):
(WebCore::FrameView::updateIsVisuallyNonEmpty):

  • page/FrameView.h:

(WebCore::FrameView::incrementVisuallyNonEmptyCharacterCount): Ignore whitespace characters. Some pages start with plenty of whitespace only content.

  • platform/graphics/FontCascade.h:
  • rendering/RenderText.cpp: Check whether the text is actually visible at this point.

(WebCore::RenderText::RenderText):

Source/WebKit:

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::layerFlushThrottlingIsActive const):

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

(WebKit::AcceleratedDrawingArea::scheduleInitialDeferredPaint):

  • WebProcess/WebPage/AcceleratedDrawingArea.h:
  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::layerFlushThrottlingIsActive const):

  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::setLayerTreeStateIsFrozen):
(WebKit::RemoteLayerTreeDrawingArea::initialDeferredPaint):
(WebKit::RemoteLayerTreeDrawingArea::scheduleInitialDeferredPaint):
(WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::scheduleInitialDeferredPaint):

8:04 AM Changeset in webkit [237784] by eric.carlson@apple.com
  • 5 edits in trunk

[MediaStream] User should not be prompted again after denying getDisplayMedia request
https://bugs.webkit.org/show_bug.cgi?id=191227
<rdar://problem/45784512>

Reviewed by Youenn Fablet.

Source/WebKit:

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::userMediaAccessWasDenied):
(WebKit::UserMediaPermissionRequestManagerProxy::wasRequestDenied):
(WebKit::UserMediaPermissionRequestManagerProxy::requestUserMediaPermissionForFrame):

  • UIProcess/UserMediaPermissionRequestManagerProxy.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:

(-[GetDisplayMediaUIDelegate _webView:requestUserMediaAuthorizationForDevices:url:mainFrameURL:decisionHandler:]):
(TestWebKitAPI::GetDisplayMediaTest::promptForCapture):
(TestWebKitAPI::TEST_F):

7:46 AM Changeset in webkit [237783] by Alan Bujtas
  • 6 edits
    2 adds in trunk

[LFC][BFC] Add support for percentage height in quirks mode.
https://bugs.webkit.org/show_bug.cgi?id=191232

Reviewed by Antti Koivisto.

Source/WebCore:

In quirks mode, we go and travers the containing block chain to find a block level
box with fixed height value to resolve the percentage value.

Test: fast/block/basic/quirk-mode-percent-height.html

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::computedHeightValue):

  • layout/Verification.cpp:

(WebCore::Layout::LayoutState::verifyAndOutputMismatchingLayoutTree const):

Tools:

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

LayoutTests:

  • fast/block/basic/quirk-mode-percent-height-expected.txt: Added.
  • fast/block/basic/quirk-mode-percent-height.html: Added.
  • platform/ios/TestExpectations:
7:44 AM Changeset in webkit [237782] by Alan Bujtas
  • 8 edits
    2 adds in trunk

[LFC][BCF] Add support for block level non-replaced inflow height percentage
https://bugs.webkit.org/show_bug.cgi?id=191229

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/block/basic/child-block-level-box-with-height-percent.html

  • layout/FormattingContext.h:
  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::FormattingContext::Geometry::computedHeightValue):
(WebCore::Layout::computedHeightValue): Deleted.

  • layout/blockformatting/BlockFormattingContextGeometry.cpp:

(WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin):

Tools:

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

LayoutTests:

  • fast/block/basic/child-block-level-box-with-height-percent-expected.txt: Added.
  • fast/block/basic/child-block-level-box-with-height-percent.html: Added.
  • platform/ios/TestExpectations:
7:30 AM Changeset in webkit [237781] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

RealtimeOutgoingAudioSource should use DestructionThread::Main
https://bugs.webkit.org/show_bug.cgi?id=191230

Reviewed by Eric Carlson.

Covered by imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setRemoteDescription-replaceTrack.https.html
that should no longer crash in debug.

  • platform/mediastream/RealtimeOutgoingAudioSource.h:
7:05 AM Changeset in webkit [237780] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.22/Source/JavaScriptCore

[GTK] Cannot make debug builds of JSC using release 2.22.3
https://bugs.webkit.org/show_bug.cgi?id=191233

Unreviewed build fix.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitGetByVal):
Use context.asStructureForInContext() instead of explicit cast and
remove the unneeded assertion, which is already done in the helper
function.

2:28 AM Changeset in webkit [237779] by youenn@apple.com
  • 10 edits
    3 adds in trunk

IDB should allow storing RTCCertificate
https://bugs.webkit.org/show_bug.cgi?id=191077

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/RTCCertificate-postMessage.html: Added.
  • web-platform-tests/webrtc/resources/RTCCertificate-postMessage-iframe.html: Added.

Source/WebCore:

Add support for serialization/deserialization of RTCCertificate.
Store the origin in RTCCertificate and make sure that a certificate
with a different origin cannot be used to create a RTCPeerConnection.

Test: imported/w3c/web-platform-tests/webrtc/RTCCertificate-postMessage.html

  • Modules/mediastream/PeerConnectionBackend.cpp:

(WebCore::PeerConnectionBackend::generateCertificate):

  • Modules/mediastream/RTCCertificate.cpp:

(WebCore::RTCCertificate::create):
(WebCore::RTCCertificate::RTCCertificate):

  • Modules/mediastream/RTCCertificate.h:

(WebCore::RTCCertificate::origin const):

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::certificatesFromConfiguration):

  • Modules/mediastream/RTCPeerConnection.h:
  • Modules/mediastream/libwebrtc/LibWebRTCCertificateGenerator.cpp:

(WebCore::LibWebRTCCertificateGenerator::RTCCertificateGeneratorCallback::RTCCertificateGeneratorCallback):
(WebCore::LibWebRTCCertificateGenerator::generateCertificate):

  • Modules/mediastream/libwebrtc/LibWebRTCCertificateGenerator.h:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneDeserializer::CachedString::takeString):
(WebCore::CloneDeserializer::readRTCCertificate):
(WebCore::CloneDeserializer::readTerminal):

Nov 4, 2018:

12:55 AM Changeset in webkit [237778] by youenn@apple.com
  • 11 edits
    1 add in trunk

Add support for RTCMuxPolicy
https://bugs.webkit.org/show_bug.cgi?id=191188

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/RTCConfiguration-rtcpMuxPolicy-expected.txt:
  • web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-constructor-expected.txt:

Source/WebCore:

Add support for RTCMuxPolicy dictionary option for both constructor and setConfiguration.
Make sure setConfiguration throws if trying to change this policy.
Pipe this parameter up to libwebrtc.
Covered by rebased test.

  • Modules/mediastream/RTCConfiguration.h:
  • Modules/mediastream/RTCConfiguration.idl:
  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::iceServersFromConfiguration):
(WebCore::RTCPeerConnection::initializeConfiguration):
(WebCore::RTCPeerConnection::setConfiguration):

  • Modules/mediastream/libwebrtc/LibWebRTCPeerConnectionBackend.cpp:

(WebCore::rtcpMuxPolicyfromConfiguration):
(WebCore::configurationFromMediaEndpointConfiguration):

  • WebCore.xcodeproj/project.pbxproj:
  • platform/mediastream/MediaEndpointConfiguration.cpp:

(WebCore::MediaEndpointConfiguration::MediaEndpointConfiguration):

  • platform/mediastream/MediaEndpointConfiguration.h:
  • platform/mediastream/RTCPMuxPolicy.h: Added.

Nov 3, 2018:

4:24 PM Changeset in webkit [237777] by Devin Rousso
  • 19 edits in trunk

Web Inspector: Canvas: capture changes to <canvas> that would affect the recorded context
https://bugs.webkit.org/show_bug.cgi?id=190854

Reviewed by Matt Baker.

Source/WebCore:

Updated existing tests: inspector/canvas/recording-2d.html

inspector/canvas/recording-bitmaprenderer.html
inspector/canvas/recording-webgl.html

  • html/HTMLCanvasElement.idl:

Apply CallTracingCallback=recordCanvasAction to the width and height attributes so
that they are recorded through the same path as CanvasRenderingContext.

  • html/CanvasBase.h:
  • html/CanvasBase.cpp:

(WebCore::CanvasBase::callTracingActive const): Added.

  • bindings/js/CallTracer.h:
  • bindings/js/CallTracer.cpp:

(WebCore::CallTracer::recordCanvasAction):

Source/WebInspectorUI:

  • UserInterface/Models/RecordingAction.js:

(WI.RecordingAction):
(WI.RecordingAction.isFunctionForType):
(WI.RecordingAction.constantNameForParameter):
(WI.RecordingAction.prototype.get contextReplacer): Added.
(WI.RecordingAction.prototype.async.swizzle):
(WI.RecordingAction.prototype.apply):
Create a constant list of actions for each recording type that need to replace the context
with a different value before being applied (e.g. width should be applied to the
context's canvas instead of directly to the context).

  • UserInterface/Views/RecordingContentView.js:

(WI.RecordingContentView.prototype._generateContentCanvas2D.actionModifiesPath): Added.
(WI.RecordingContentView.prototype._generateContentCanvas2D):
(WI.RecordingContentView._actionModifiesPath): Deleted.
Generate the path context after the actions are applied to the preview context so that the
final width/height are known and can be used. This is needed because changing the
width/height causes the content to be erased.

  • UserInterface/Views/RecordingActionTreeElement.js:

(WI.RecordingActionTreeElement._generateDOM):
(WI.RecordingActionTreeElement._classNameForAction):

  • UserInterface/Views/RecordingActionTreeElement.css:

(.tree-outline:focus .item.action.selected:not(.invalid, .initial-state, .has-context-replacer) > .icon): Added.
(.item.action > .titles .context-replacer::after): Added.
(.item.action.has-context-replacer > .icon): Added.
(@media (prefers-dark-interface) .item.action:not(.invalid, .initial-state, .has-context-replacer) > .icon): Added.
(.tree-outline:focus .item.action.selected:not(.initial-state, .invalid) > .icon): Deleted.
(@media (prefers-dark-interface) .item.action:not(.initial-state) > .icon): Deleted.
(@media (prefers-dark-interface) .tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon): Deleted.
Add the context replacer text to the beginning of the action's name if it exists.

  • UserInterface/Views/CanvasContentView.js:

(WI.CanvasContentView.prototype._refreshPixelSize):
(WI.CanvasContentView.prototype._updatePixelSize): Deleted.
Update preview image when the canvas' size changes.

LayoutTests:

  • inspector/canvas/recording-2d-expected.txt:
  • inspector/canvas/recording-2d.html:
  • inspector/canvas/recording-bitmaprenderer-expected.txt:
  • inspector/canvas/recording-bitmaprenderer.html:
  • inspector/canvas/recording-webgl-expected.txt:
  • inspector/canvas/recording-webgl.html:
11:45 AM Changeset in webkit [237776] by aestes@apple.com
  • 5 edits in trunk

[Payment Request] PaymentResponse.retry()'s errorFields should be optional
https://bugs.webkit.org/show_bug.cgi?id=191212

Reviewed by Youenn Fablet.

Source/WebCore:

Per WebIDL, the errorFields argument to PaymentResponse.retry() should be optional. See
<https://github.com/w3c/payment-request/issues/804> for details.

Added test case to http/tests/paymentrequest/payment-response-retry-method.https.html.

  • Modules/paymentrequest/PaymentResponse.idl:

LayoutTests:

  • http/tests/paymentrequest/payment-response-retry-method.https-expected.txt:
  • http/tests/paymentrequest/payment-response-retry-method.https.html:
10:57 AM Changeset in webkit [237775] by Alan Bujtas
  • 6 edits
    2 adds in trunk

[LFC][BFC] Resolve percentage height values.
https://bugs.webkit.org/show_bug.cgi?id=191224

Reviewed by Antti Koivisto.

Source/WebCore:

10.5 Content height: the 'height' property
The percentage is calculated with respect to the height of the generated box's containing block.
If the height of the containing block is not specified explicitly (i.e., it depends on content height),
and this element is not absolutely positioned, the used height is calculated as if 'auto' was specified.

https://www.w3.org/TR/CSS22/visudet.html#propdef-height

Test: fast/block/basic/height-percentage-simple.html

  • layout/FormattingContextGeometry.cpp:

(WebCore::Layout::isHeightAuto):
(WebCore::Layout::computedHeightValue):
(WebCore::Layout::contentHeightForFormattingContextRoot):
(WebCore::Layout::FormattingContext::Geometry::computedMaxHeight):
(WebCore::Layout::FormattingContext::Geometry::computedMinHeight):
(WebCore::Layout::FormattingContext::Geometry::outOfFlowNonReplacedVerticalGeometry):
(WebCore::Layout::FormattingContext::Geometry::complicatedCases):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin):
(WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin):

Tools:

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

LayoutTests:

  • fast/block/basic/height-percentage-simple-expected.txt: Added.
  • fast/block/basic/height-percentage-simple.html: Added.
  • platform/ios/TestExpectations:
8:22 AM Changeset in webkit [237774] by achristensen@apple.com
  • 9 edits
    2 adds in trunk

Mac production builds should sign the network process xpc service with entitlements
https://bugs.webkit.org/show_bug.cgi?id=191209
<rdar://problem/45377609>

Reviewed by Geoff Garen.

Source/WebKit:

  • Configurations/Network-OSX.entitlements: Copied from Configurations/Network-OSX-sandbox.entitlements.
  • Configurations/NetworkService.xcconfig:

Set CODE_SIGN_ENTITLEMENTS_COCOA_TOUCH_NO like we do for the web process,
except with the corresponoding network process entitlements file.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _networkProcessHasEntitlementForTesting:]):

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/Cocoa/WebProcessPoolCocoa.mm:

(WebKit::WebProcessPool::networkProcessHasEntitlementForTesting):

  • UIProcess/WebProcessPool.h:
  • WebKit.xcodeproj/project.pbxproj:

Add infrastructure to test that the network process actually has an entitlement.

Tools:

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

(TEST):

7:57 AM Changeset in webkit [237773] by youenn@apple.com
  • 88 edits
    2 copies
    4 moves
    43 adds
    3 deletes in trunk/LayoutTests

Refresh WPT webrtc tests
https://bugs.webkit.org/show_bug.cgi?id=191133

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

  • web-platform-tests/webrtc/: Refreshed.
  • web-platform-tests/webrtc/w3c-import.log:

LayoutTests:

7:29 AM Changeset in webkit [237772] by Philippe Normand
  • 2 edits in trunk/Source/WebKit

[WPE] Add the WebKitVersion.h header
https://bugs.webkit.org/show_bug.cgi?id=191015
<rdar://problem/45647211>

Reviewed by Michael Catanzaro.

  • PlatformWPE.cmake: Install the generated header as well.
7:04 AM Changeset in webkit [237771] by Michael Catanzaro
  • 2 edits in trunk/WebDriverTests

Unreviewed, fix WebDriver expectations syntax after previous commit

6:30 AM Changeset in webkit [237770] by eric.carlson@apple.com
  • 9 edits
    3 adds in trunk

[MediaStream] enumerateDevices should not expose devices that are not available to getUserMedia
https://bugs.webkit.org/show_bug.cgi?id=191177
<rdar://problem/45747873>

Reviewed by Jer Noble.

Source/WebCore:

Test: http/tests/media/media-stream/enumerate-devices-iframe-allow-attribute.html

  • Modules/mediastream/MediaDevicesRequest.cpp:

(WebCore::MediaDevicesRequest::start): Only expose devices that are available to gUM.

  • Modules/mediastream/UserMediaController.cpp:

(WebCore::isSecure): Moved from UserMediaRequest.cpp.
(WebCore::isAllowedToUse): Ditto.
(WebCore::UserMediaController::canCallGetUserMedia): Modified from UserMediaRequest.cpp.
(WebCore::UserMediaController::logGetUserMediaDenial): Log reason for denial.

  • Modules/mediastream/UserMediaController.h:
  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::start): Use UserMediaController::canCallGetUserMedia.
(WebCore::isSecure): Deleted.
(WebCore::isAllowedToUse): Deleted.
(WebCore::canCallGetUserMedia): Deleted.

LayoutTests:

  • http/tests/media/media-stream/enumerate-devices-iframe-allow-attribute-expected.txt: Added.
  • http/tests/media/media-stream/enumerate-devices-iframe-allow-attribute.html: Added.
  • http/tests/media/media-stream/resources/enumerate-devices-iframe.html: Added.
  • http/tests/ssl/media-stream/get-user-media-different-host-expected.txt: Rebased for updated logging.
  • http/tests/ssl/media-stream/get-user-media-nested-expected.txt: Ditto.
Note: See TracTimeline for information about the timeline view.