New issue
Advanced search Search tips

Issue 822102 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

DCHECK in loadable_plugin_placeholder.cc when running plugins in extensions

Project Member Reported by raymes@chromium.org, Mar 15 2018

Issue description

Steps to repro:
1) Install the cave run extension:
https://chrome.google.com/webstore/detail/cave-run/hgagjefipjphoggnobcenpnjjimejcme?hl=es
2) Open chrome-extension://hgagjefipjphoggnobcenpnjjimejcme/popup.html?size=full
3) Click the plugin page-action icon and click "Run Flash this time"
4) Crash occurs

[1:1:0315/132159.715957:FATAL:loadable_plugin_placeholder.cc(297)] Check failed: false. 
#0 0x7f3f4030eebc base::debug::StackTrace::StackTrace()
#1 0x7f3f40338d5c logging::LogMessage::~LogMessage()
#2 0x555f575f5d6e plugins::LoadablePluginPlaceholder::LoadPlugin()
#3 0x555f575f6ae1 plugins::LoadablePluginPlaceholder::OnLoadBlockedPlugins()
#4 0x555f5757d37c _ZN3IPC8MessageTI37ChromeViewMsg_LoadBlockedPlugins_MetaNSt3__15tupleIJNS2_12basic_stringIcNS2_11char_traitsIcEENS2_9allocatorIcEEEEEEEvE8DispatchI23ChromePluginPlaceholderSD_vMN7plugins25LoadablePluginPlaceholderEFvRKS9_EEEbPKNS_7MessageEPT_PT0_PT1_T2_
#5 0x555f5757d15b ChromePluginPlaceholder::OnMessageReceived()
#6 0x7f3f3e195193 content::RenderFrameImpl::OnMessageReceived()
#7 0x7f3f3f4a810f IPC::MessageRouter::RouteMessage()
#8 0x7f3f3f4a804a IPC::MessageRouter::OnMessageReceived()
#9 0x7f3f3d5296ac content::ChildThreadImpl::OnMessageReceived()
#10 0x7f3f3f491161 IPC::ChannelProxy::Context::OnDispatchMessage()
#11 0x7f3f3f4940f8 _ZN4base8internal7InvokerINS0_9BindStateIMN3IPC12ChannelProxy7ContextEFvRKNS3_7MessageEEJ13scoped_refptrIS5_ES6_EEEFvvEE3RunEPNS0_13BindStateBaseE
#12 0x7f3f4030f7da base::debug::TaskAnnotator::RunTask()
#13 0x7f3f37be7a28 blink::scheduler::TaskQueueManager::ProcessTaskFromWorkQueue()
#14 0x7f3f37be4d49 blink::scheduler::TaskQueueManager::DoWork()
#15 0x7f3f37bea169 _ZN4base8internal7InvokerINS0_9BindStateIMN5blink9scheduler16TaskQueueManagerEFvbEJNS_7WeakPtrIS5_EEbEEEFvvEE3RunEPNS0_13BindStateBaseE
#16 0x7f3f4030f7da base::debug::TaskAnnotator::RunTask()
#17 0x7f3f40343a16 base::internal::IncomingTaskQueue::RunTask()
#18 0x7f3f40347a7b base::MessageLoop::RunTask()
#19 0x7f3f40347e3b base::MessageLoop::DeferOrRunPendingTask()
#20 0x7f3f40348108 base::MessageLoop::DoWork()
#21 0x7f3f40349540 base::MessagePumpDefault::Run()
#22 0x7f3f4034731c base::MessageLoop::Run()
#23 0x7f3f4037d2e5 base::RunLoop::Run()
#24 0x7f3f3e1fe8a0 content::RendererMain()
#25 0x7f3f3e3c32f4 content::RunZygote()
#26 0x7f3f3e3c3c1b content::RunNamedProcessTypeMain()
#27 0x7f3f3e3c46c6 content::ContentMainRunnerImpl::Run()
#28 0x7f3f4081d794 service_manager::Main()
#29 0x7f3f3e3c2f31 content::ContentMain()
#30 0x555f55a651cc ChromeMain
#31 0x7f3f334802b1 __libc_start_main

 
Hey Raymes: We explicitly block plugin access in any non FILE, HTTP or HTTPS scheme

https://cs.chromium.org/chromium/src/chrome/browser/plugins/plugin_utils.cc?type=cs&l=94

So if that still holds true for extensions, the bug is that the little icon appears.

Can you confirm that we want to BLOCK Flash access for extensions?

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

Ah this is a good question. It's interesting that we haven't heard anyone complain yet. I think we don't want to block plugin access on extensions. It should be a similar experience to web pages (i.e. blocked by default but can be re-allowed on a per-extension basis). I can confirm that setting a flash content setting for an extension works currently.
Project Member

Comment 3 by bugdroid1@chromium.org, Mar 22 2018

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

commit b50430d7008867f7389a317c734f6fb6646bebd2
Author: Tommy C. Li <tommycli@chromium.org>
Date: Thu Mar 22 00:07:47 2018

Plugins: Allow Flash to run inside extensions.

 1. Allows Flash to be loaded inside extensions.
 2. Makes the "Plugin Blocked" content setting popup use the same
    content setting fetching logic as the actual plugin loading.

Bug:  822102 
Change-Id: If2bdd226d7923bfe7251a5db378106a0a55abcc1
Reviewed-on: https://chromium-review.googlesource.com/969074
Commit-Queue: Tommy Li <tommycli@chromium.org>
Reviewed-by: Raymes Khoury <raymes@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544913}
[modify] https://crrev.com/b50430d7008867f7389a317c734f6fb6646bebd2/chrome/browser/plugins/plugin_info_host_impl_unittest.cc
[modify] https://crrev.com/b50430d7008867f7389a317c734f6fb6646bebd2/chrome/browser/plugins/plugin_utils.cc
[modify] https://crrev.com/b50430d7008867f7389a317c734f6fb6646bebd2/chrome/browser/ui/content_settings/content_setting_bubble_model.cc

Status: Fixed (was: Assigned)

Sign in to add a comment