Skip to content

Commit

Permalink
Ensure ChromeVox is not unloaded incorrectly in various screens
Browse files Browse the repository at this point in the history
The change
https://chromium-review.googlesource.com/c/chromium/src/+/1980612

explicitly unloads various component extensions deemed to be risky.

Unfortunately, the hash for ChromeVox (which was supposed to not be risky) was *wrong*, so it was being unloaded mysteriously.

Test: obtain the hash for ChromeVox (extension id mdn....), via logging and print the hex hash. Verify after correcting the hash in profile_helper.cc, on-device, doing things like clicking the "Add Person" button doesn't unloads ChromeVox.
Fixed: 1094031

Issue details:
On the login screen, invoke the "Add Person" button.

result:
ChromeVox is unloaded
i.e.
#2 0x57e72acd8634 content::RenderFrameHostImpl::~RenderFrameHostImpl()
#3 0x57e72acd8520 content::RenderFrameHostImpl::~RenderFrameHostImpl()
#4 0x57e72b0bb120 content::RenderFrameHostManager::~RenderFrameHostManager()
#5 0x57e72acd2449 content::FrameTreeNode::~FrameTreeNode()
#6 0x57e72bffe68d content::FrameTree::~FrameTree()
#7 0x57e72c20defa content::WebContentsImpl::~WebContentsImpl()
#8 0x57e72c20e928 content::WebContentsImpl::~WebContentsImpl()
#9 0x57e72c3d2490 extensions::ExtensionHost::~ExtensionHost()
#10 0x57e72c3d253c extensions::ExtensionHost::~ExtensionHost()
#11 0x57e72c40f857 extensions::ProcessManager::CloseBackgroundHost()
#12 0x57e72c40fabe extensions::ProcessManager::OnExtensionUnloaded()
#13 0x57e72c3ea211 extensions::ExtensionRegistry::TriggerOnUnloaded()
#14 0x57e72c3e8f3a extensions::ExtensionRegistrar::DeactivateExtension()
#15 0x57e72c3e8be7 extensions::ExtensionRegistrar::RemoveExtension()
#16 0x57e72f781d0b extensions::ExtensionService::RemoveComponentExtension()
#17 0x57e72f761c47 extensions::ComponentLoader::Remove()
#18 0x57e72cb46908 chromeos::ProfileHelperImpl::ClearSigninProfile()
#19 0x57e7304c57c1 chromeos::GaiaScreenHandler::StartClearingCookies()
#20 0x57e7304c58dc chromeos::GaiaScreenHandler::ShowGaiaAsync()
#21 0x57e72ca0362b chromeos::LoginDisplayHostCommon::ShowGaiaDialogCommon()
#22 0x57e72ca04686 chromeos::LoginDisplayHostMojo::ShowGaiaDialog()
#23 0x57e72fbfd2ef ash::LoginShelfView::ButtonPressed()
#24 0x57e72f27480c views::ButtonController::OnKeyPressed()
#25 0x57e72f2c2624 views::View::OnKeyEvent()
#26 0x57e72f266a3b ui::ScopedTargetHandler::OnEvent()
#27 0x57e72e80f1fc ui::EventDispatcherDelegate::DispatchEvent()
#28 0x57e72ebb32d6 ui::EventProcessor::OnEventFromSource()
#29 0x57e72e80fd89 ui::EventSource::SendEventToSinkFromRewriter()
#30 0x57e72f2cf9e0 views::Widget::OnKeyEvent()
#31 0x57e72e80f1fc ui::EventDispatcherDelegate::DispatchEvent()
#32 0x57e72ebb32d6 ui::EventProcessor::OnEventFromSource()
#33 0x57e72ebb9387 aura::WindowTreeHost::DispatchKeyEventPostIME()
#34 0x57e72e8381c3 ui::InputMethodBase::DispatchKeyEventPostIME()
#35 0x57e72e85f4fd ui::InputMethodChromeOS::ProcessUnfilteredKeyPressEvent()
chromium#36 0x57e72e85f24c ui::InputMethodChromeOS::DispatchKeyEvent()
#37 0x57e72ebb217f aura::WindowEventDispatcher::PreDispatchKeyEvent()
#38 0x57e72ebb1a28 aura::WindowEventDispatcher::PreDispatchEvent()
chromium#39 0x57e72e80eedd ui::EventDispatcherDelegate::DispatchEvent()
#40 0x57e72ebb32d6 ui::EventProcessor::OnEventFromSource()
#41 0x57e72e80fece ui::EventSource::EventRewriterContinuationImpl::SendEvent()
chromium#42 0x57e72c649a27 ui::EventRewriterChromeOS::RewriteKeyEventInContext()
#43 0x57e72c6492fe ui::EventRewriterChromeOS::RewriteEvent()
#44 0x57e72e80fea0 ui::EventSource::EventRewriterContinuationImpl::SendEvent()
#45 0x57e72fb88588 ash::KeyboardDrivenEventRewriter::RewriteEvent()
#46 0x57e72e80fea0 ui::EventSource::EventRewriterContinuationImpl::SendEvent()
#47 0x57e72fb88e9b ash::SpokenFeedbackEventRewriter::RewriteEvent()
#48 0x57e72e80fea0 ui::EventSource::EventRewriterContinuationImpl::SendEvent()
#49 0x57e72fbec429 ash::TouchExplorationController::RewriteEvent()
#50 0x57e72e80fea0 ui::EventSource::EventRewriterContinuationImpl::SendEvent()
#51 0x57e72fb5e078 ash::AutoclickDragEventRewriter::RewriteEvent()
#52 0x57e72e80fea0 ui::EventSource::EventRewriterContinuationImpl::SendEvent()
#53 0x57e72fbdf76b ash::MagnificationController::RewriteEvent()
#54 0x57e72e80fd68 ui::EventSource::SendEventToSinkFromRewriter()
#55 0x57e72fb9bb93 aura::WindowTreeHostPlatform::DispatchEvent()
#56 0x57e72fb9d8dc ash::AshWindowTreeHostPlatform::DispatchEvent()

Change-Id: Ibead7896cecddcb3da8bb4a553137f65700248f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2324108
Reviewed-by: Anastasia Helfinstein <anastasi@google.com>
Reviewed-by: Alexander Alekseev <alemate@chromium.org>
Commit-Queue: David Tseng <dtseng@chromium.org>
Cr-Commit-Position: refs/heads/master@{#792662}
  • Loading branch information
dtsengchromium authored and Commit Bot committed Jul 29, 2020
1 parent 6d18e92 commit ef9bd27
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion chrome/browser/chromeos/profiles/profile_helper.cc
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ const char* kNonRiskyExtensionsIdsHashes[] = {
"1CF709D51B2B96CF79D00447300BD3BFBE401D21", // Mobile activation
"40FF1103292F40C34066E023B8BE8CAE18306EAE", // Chromeos help
"3C654B3B6682CA194E75AD044CEDE927675DDEE8", // Easy unlock
"2FCBCE08B34CCA1728A85F1EFBD9A34DD2558B2E", // ChromeVox
"75C7F4B720314B6CB1B5817CD86089DB95CD2461", // ChromeVox
};

// As defined in /chromeos/dbus/cryptohome/cryptohome_client.cc.
Expand Down

0 comments on commit ef9bd27

Please sign in to comment.