WebKit Bugzilla
Attachment 346648 Details for
Bug 188309
: NotReadableError when calling getUserMedia
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-188309-20180806132446.patch (text/plain), 3.47 KB, created by
Eric Carlson
on 2018-08-06 13:24:46 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Eric Carlson
Created:
2018-08-06 13:24:46 PDT
Size:
3.47 KB
patch
obsolete
>Subversion Revision: 234500 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index a0b073e590fc479701f4748fd49746dbc77e98b0..d57bf9636afa25e489139064aad0689d83df66d8 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,15 @@ >+2018-08-06 Eric Carlson <eric.carlson@apple.com> >+ >+ NotReadableError when calling getUserMedia >+ https://bugs.webkit.org/show_bug.cgi?id=188309 >+ <rdar://problem/42916838> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * UIProcess/UserMediaProcessManager.cpp: >+ (WebKit::UserMediaProcessManager::willCreateMediaStream): Deal with audio and video sandbox >+ extensions being issued at different times. >+ > 2018-08-01 Tomas Popela <tpopela@redhat.com> > > [WTF] Rename String::format to String::deprecatedFormat >diff --git a/Source/WebKit/UIProcess/UserMediaProcessManager.cpp b/Source/WebKit/UIProcess/UserMediaProcessManager.cpp >index ae6df743a9f0130f3d94371b9fcec533098f6478..0d90924a674437679de8ca3096baeec94ec4709e 100644 >--- a/Source/WebKit/UIProcess/UserMediaProcessManager.cpp >+++ b/Source/WebKit/UIProcess/UserMediaProcessManager.cpp >@@ -128,6 +128,8 @@ void UserMediaProcessManager::muteCaptureMediaStreamsExceptIn(WebPageProxy& page > > bool UserMediaProcessManager::willCreateMediaStream(UserMediaPermissionRequestManagerProxy& proxy, bool withAudio, bool withVideo) > { >+ ASSERT(withAudio || withVideo); >+ > if (m_denyNextRequest) { > m_denyNextRequest = false; > return false; >@@ -144,33 +146,32 @@ bool UserMediaProcessManager::willCreateMediaStream(UserMediaPermissionRequestMa > auto& state = processState(processStartingCapture); > size_t extensionCount = 0; > unsigned requiredExtensions = ProcessState::SandboxExtensionsGranted::None; >+ unsigned currentExtensions = state.sandboxExtensionsGranted(); > >- if (withAudio) { >+ if (withAudio && !(currentExtensions & ProcessState::SandboxExtensionsGranted::Audio)) { > requiredExtensions |= ProcessState::SandboxExtensionsGranted::Audio; > extensionCount++; > } >- if (withVideo) { >+ if (withVideo && !(currentExtensions & ProcessState::SandboxExtensionsGranted::Video)) { > requiredExtensions |= ProcessState::SandboxExtensionsGranted::Video; > extensionCount++; > } > >- unsigned currentExtensions = state.sandboxExtensionsGranted(); >- >- if (!(requiredExtensions & currentExtensions)) { >+ if (requiredExtensions != currentExtensions) { > SandboxExtension::HandleArray handles; > handles.allocate(extensionCount); > > Vector<String> ids; > ids.reserveCapacity(extensionCount); > >- if (withAudio && requiredExtensions & ProcessState::SandboxExtensionsGranted::Audio) { >+ if (requiredExtensions & ProcessState::SandboxExtensionsGranted::Audio) { > if (SandboxExtension::createHandleForGenericExtension(audioExtensionPath, handles[--extensionCount])) { > ids.append(audioExtensionPath); > currentExtensions |= ProcessState::SandboxExtensionsGranted::Audio; > } > } > >- if (withVideo && requiredExtensions & ProcessState::SandboxExtensionsGranted::Video) { >+ if (requiredExtensions & ProcessState::SandboxExtensionsGranted::Video) { > if (SandboxExtension::createHandleForGenericExtension(videoExtensionPath, handles[--extensionCount])) { > ids.append(videoExtensionPath); > currentExtensions |= ProcessState::SandboxExtensionsGranted::Video;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 188309
:
346648
|
346712
|
346713