From b617b0855e25308675a369f4a89c3cb048c9e123 Mon Sep 17 00:00:00 2001 From: Samuel Attard Date: Mon, 25 Mar 2019 19:47:13 -0700 Subject: [PATCH] fix: use file path as key for safeDialogs on filesystem --- atom/browser/atom_javascript_dialog_manager.cc | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/atom/browser/atom_javascript_dialog_manager.cc b/atom/browser/atom_javascript_dialog_manager.cc index 4a3023766a155..fbfc103507d9d 100644 --- a/atom/browser/atom_javascript_dialog_manager.cc +++ b/atom/browser/atom_javascript_dialog_manager.cc @@ -41,7 +41,16 @@ void AtomJavaScriptDialogManager::RunJavaScriptDialog( DialogClosedCallback callback, bool* did_suppress_message) { auto origin_url = rfh->GetLastCommittedURL(); - const std::string& origin = origin_url.GetOrigin().spec(); + + std::string origin; + // For file:// URLs we do the alert filtering by the + // file path currently loaded + if (origin_url.SchemeIsFile()) { + origin = origin_url.path(); + } else { + origin = origin_url.GetOrigin().spec(); + } + if (origin_counts_[origin] == kUserWantsNoMoreDialogs) { return std::move(callback).Run(false, base::string16()); }