Commit 06c6145d authored by Peter Boström's avatar Peter Boström Committed by Commit Bot

Fix nullptr crash in ExtensionUninstallDialogView

GetExtensionAnchorView() previously assumed that
GetBrowserActionsContainer() would always return a non-nullptr. This is
not the case for browser instances that do not support
Browser::FEATURE_TABSTRIP as most elements of ToolbarView are not
initialized (including |browser_actions_|).

Bug: chromium:892119
Change-Id: If67939cbe3c0174106848ce7339b789114391599
Reviewed-on: https://chromium-review.googlesource.com/c/1269176Reviewed-by: default avatarDevlin <rdevlin.cronin@chromium.org>
Commit-Queue: Peter Boström <pbos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#597634}
parent a230a990
...@@ -43,9 +43,13 @@ ToolbarActionView* GetExtensionAnchorView(const std::string& extension_id, ...@@ -43,9 +43,13 @@ ToolbarActionView* GetExtensionAnchorView(const std::string& extension_id,
BrowserView::GetBrowserViewForNativeWindow(window); BrowserView::GetBrowserViewForNativeWindow(window);
if (!browser_view) if (!browser_view)
return nullptr; return nullptr;
ToolbarActionView* reference_view = browser_view->toolbar_button_provider() DCHECK(browser_view->toolbar_button_provider());
->GetBrowserActionsContainer() BrowserActionsContainer* const browser_actions_container =
->GetViewForId(extension_id); browser_view->toolbar_button_provider()->GetBrowserActionsContainer();
if (!browser_actions_container)
return nullptr;
ToolbarActionView* const reference_view =
browser_actions_container->GetViewForId(extension_id);
return reference_view && reference_view->visible() ? reference_view : nullptr; return reference_view && reference_view->visible() ? reference_view : nullptr;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment