Filter out Overconstrainederror.constraint when getUserMedia is not granted
Created attachment 361196 [details] Patch
Created attachment 361304 [details] Rebasing
Created attachment 361417 [details] Patch
Comment on attachment 361417 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=361417&action=review > Source/WebKit/ChangeLog:8 > + Make sure in UIProcess to filter out constraint if either the page had not gum granted Nit: "filter out constraint if either the page had not gum granted" => "filter out the failed constraint name if either the page has not granted gUM" > Source/WebKit/ChangeLog:9 > + or it has not persistent access. Nit: "it has not persistent access" => "it does not have persistent access"
Created attachment 361457 [details] Patch for landing
Comment on attachment 361457 [details] Patch for landing Clearing flags on attachment: 361457 Committed r241167: <https://trac.webkit.org/changeset/241167>
All reviewed patches have been landed. Closing bug.
<rdar://problem/47900857>
This broke the GTK Release mediastream tests: Thread 1 (Thread 0x7f85423464c0 (LWP 95867)): #0 0x00007f8551069987 in _ZN6WebKit38UserMediaPermissionRequestManagerProxy34requestUserMediaPermissionForFrameEmmON3WTF3RefIN7WebCore14SecurityOriginENS1_13DumbPtrTraitsIS4_EEEES8_ONS3_18MediaStreamRequestE () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #1 0x00007f85510967ca in _ZN6WebKit12WebPageProxy34requestUserMediaPermissionForFrameEmmRKN7WebCore18SecurityOriginDataES4_ONS1_18MediaStreamRequestE () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #2 0x00007f8550ec15bc in _ZN3IPC13handleMessageIN8Messages12WebPageProxy34RequestUserMediaPermissionForFrameEN6WebKit12WebPageProxyEMS5_FvmmRKN7WebCore18SecurityOriginDataES9_ONS6_18MediaStreamRequestEEEEvRNS_7DecoderEPT0_T1_ () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #3 0x00007f8550eafe6c in _ZN6WebKit12WebPageProxy17didReceiveMessageERN3IPC10ConnectionERNS1_7DecoderE () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #4 0x00007f8550fc2d09 in _ZN3IPC18MessageReceiverMap15dispatchMessageERNS_10ConnectionERNS_7DecoderE () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #5 0x00007f85510bcaf2 in _ZN6WebKit15WebProcessProxy17didReceiveMessageERN3IPC10ConnectionERNS1_7DecoderE () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #6 0x00007f8550fbbe4f in _ZN3IPC10Connection15dispatchMessageERNS_7DecoderE () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #7 0x00007f8550fbd6bb in _ZN3IPC10Connection15dispatchMessageESt10unique_ptrINS_7DecoderESt14default_deleteIS2_EE () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #8 0x00007f8550fbe553 in _ZN3IPC10Connection24dispatchIncomingMessagesEv () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #9 0x0000559724407aa8 in _ZN3WTF7RunLoop11performWorkEv () #10 0x000055972446d4d9 in _ZZN3WTF7RunLoopC4EvENUlPvE_4_FUNES1_ () #11 0x00007f854eac165a in g_main_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3182 #12 g_main_context_dispatch () at ../../Source/glib-2.58.1/glib/gmain.c:3847 #13 0x00007f854eac19e8 in g_main_context_iterate () at ../../Source/glib-2.58.1/glib/gmain.c:3920 #14 0x00007f854eac1d02 in g_main_loop_run () at ../../Source/glib-2.58.1/glib/gmain.c:4116 #15 0x000055972446df20 in _ZN3WTF7RunLoop3runEv () #16 0x00005597243ec8b2 in _ZN3WTR14TestController16platformRunUntilERbN3WTF7SecondsE () #17 0x00005597243d4fa1 in _ZN3WTR14TestInvocation6invokeEv () #18 0x00005597243c96c2 in _ZN3WTR14TestController7runTestEPKc () #19 0x00005597243c9e7b in _ZN3WTR14TestController20runTestingServerLoopEv () #20 0x00005597243ca208 in _ZN3WTR14TestControllerC2EiPPKc () #21 0x00005597243bb8c1 in main ()
Re-opened since this is blocked by bug 194482
Philippe, any idea why the patch broke the GTK build? nullptr dereference ? uaf?
OK, I think this is again the use of a variable while moving in a lambda that is causing the issue. > getUserMediaPermissionInfo(frameID, request->userMediaDocumentSecurityOrigin(), request->topLevelDocumentSecurityOrigin(), [this, request = request.releaseNonNull()](Optional<bool> hasPersistentAccess) mutable { Will fix it and reland it. If you have time, let me know if this is not the case.
Created attachment 361689 [details] GTK fix
Comment on attachment 361689 [details] GTK fix Clearing flags on attachment: 361689 Committed r241270: <https://trac.webkit.org/changeset/241270>