New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 823021 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
OOO until 4th Feb
Closed: Aug 20
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug
Team-Security-UX



Sign in to add a comment

DCHECK failure in AppWindow::CheckMediaAccessPermission with webview

Project Member Reported by michae...@chromium.org, Mar 17 2018

Issue description

Chrome Version:  67.0.3374.0
OS: Linux

1. Launch a platform app with a <webview>
2. Navigate the webview to some page that calls navigator.mediaDevices.enumerateDevices()

The AppWindow itself is the WebContentsDelegate that gets called for the guest contents:

[53185:53185:0316/211125.330936:FATAL:app_window.cc(357)] Check failed: AppWindow::web_contents() == content::WebContents::FromRenderFrameHost(render_frame_host) (0xbbb8129f200 vs. 0xbbb81a43b00)
#0 0x7f745a5fe49c base::debug::StackTrace::StackTrace()
#1 0x7f745a62862b logging::LogMessage::~LogMessage()
#2 0x56116b69f7eb extensions::AppWindow::CheckMediaAccessPermission()
#3 0x7f7458022fda content::WebContentsImpl::CheckMediaAccessPermission()
#4 0x7f7457dda96b content::(anonymous namespace)::DoCheckPermissionsOnUIThread()
#5 0x7f7457ddadb8 base::internal::ReturnAsParamAdapter<>()
#6 0x7f745765be5b _ZN4base8internal7InvokerINS0_9BindStateIPFvNS_12OnceCallbackIFNSt3__110unique_ptrIN5media22VideoEncodeAcceleratorENS4_14default_deleteIS7_EEEEvEEEPSA_EJSC_SD_EEEFvvEE7RunOnceEPNS0_13BindStateBaseE
#7 0x7f745a6adae8 base::(anonymous namespace)::PostTaskAndReplyRelay::RunTaskAndPostReply()
#8 0x7f745a5fedcf base::debug::TaskAnnotator::RunTask()
#9 0x7f745a633066 base::internal::IncomingTaskQueue::RunTask()
#10 0x7f745a6371d7 base::MessageLoop::RunTask()
#11 0x7f745a6375fa base::MessageLoop::DeferOrRunPendingTask()
#12 0x7f745a63788e base::MessageLoop::DoWork()
#13 0x7f745a63946f base::(anonymous namespace)::WorkSourceDispatch()
#14 0x7f744f8157f7 g_main_context_dispatch
#15 0x7f744f815a60 <unknown>
#16 0x7f744f815b0c g_main_context_iteration
#17 0x7f745a6391a2 base::MessagePumpGlib::Run()
#18 0x7f745a636a4c base::MessageLoop::Run()
#19 0x7f745a66ef76 base::RunLoop::Run()
#20 0x56116baeba07 ChromeBrowserMainParts::MainMessageLoopRun()
#21 0x7f7457b36637 content::BrowserMainLoop::RunMainMessageLoopParts()
#22 0x7f7457b39d73 content::BrowserMainRunnerImpl::Run()
#23 0x7f7457b32779 content::BrowserMain()
#24 0x7f745859552b content::RunNamedProcessTypeMain()
#25 0x7f7458596652 content::ContentMainRunnerImpl::Run()
#26 0x7f745ab10609 service_manager::Main()
#27 0x7f74585949e4 content::ContentMain()
#28 0x56116b5461b3 ChromeMain
#29 0x7f744df122b1 __libc_start_main
#30 0x56116b54602a _start

The attached extension can be unzipped and loaded as an unpacked extension from chrome://extensions or via --load-and-launch-app.
 
media-webview.zip
927 bytes Download

Comment 1 by raymes@chromium.org, Mar 19 2018

Owner: raymes@chromium.org
Status: Assigned (was: Untriaged)
Thanks for filing I'll take a look.
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 16

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3f9fba2310272a2ab50b90a61c7985599eaad6e0

commit 3f9fba2310272a2ab50b90a61c7985599eaad6e0
Author: W. James MacLean <wjmaclean@chromium.org>
Date: Thu Aug 16 15:20:36 2018

Use GetOutermostWebContents() when checking media permissions.

Instead of using GetOuterWebContents, which only return the immediate
parent of this WebContents, use GetOutermostWebContents to check against
the root of the web-contents tree, which in this case should be the
app-view's web-contents.

Bug:  873672 ,  823021 
Change-Id: I421a64be495c575d22501328ec732794abc045f4
Reviewed-on: https://chromium-review.googlesource.com/1176342
Commit-Queue: James MacLean <wjmaclean@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Lucas Gadani <lfg@chromium.org>
Reviewed-by: Alex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#583656}
[modify] https://crrev.com/3f9fba2310272a2ab50b90a61c7985599eaad6e0/content/browser/web_contents/web_contents_impl.h
[modify] https://crrev.com/3f9fba2310272a2ab50b90a61c7985599eaad6e0/content/public/browser/web_contents.h
[modify] https://crrev.com/3f9fba2310272a2ab50b90a61c7985599eaad6e0/extensions/browser/app_window/app_window.cc

Status: Fixed (was: Assigned)
This should be fixed now.

Sign in to add a comment