mirror of
https://github.com/electron/electron.git
synced 2026-04-10 03:01:51 -04:00
fix: potential crash in chrome.tabs.update() (#45304)
fix: potential crash in chrome.tabs.update() Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Shelley Vohr <shelley.vohr@gmail.com>
This commit is contained in:
@@ -651,7 +651,16 @@ bool TabsUpdateFunction::UpdateURL(const std::string& url_string,
|
||||
// will stay in the omnibox - see https://crbug.com/1085779.
|
||||
load_params.transition_type = ui::PAGE_TRANSITION_FROM_API;
|
||||
|
||||
web_contents_->GetController().LoadURLWithParams(load_params);
|
||||
base::WeakPtr<content::NavigationHandle> navigation_handle =
|
||||
web_contents_->GetController().LoadURLWithParams(load_params);
|
||||
// Navigation can fail for any number of reasons at the content layer.
|
||||
// Unfortunately, we can't provide a detailed error message here, because
|
||||
// there are too many possible triggers. At least notify the extension that
|
||||
// the update failed.
|
||||
if (!navigation_handle) {
|
||||
*error = "Navigation rejected.";
|
||||
return false;
|
||||
}
|
||||
|
||||
DCHECK_EQ(url,
|
||||
web_contents_->GetController().GetPendingEntry()->GetVirtualURL());
|
||||
|
||||
Reference in New Issue
Block a user