summaryrefslogtreecommitdiffstats
path: root/content/browser/download/save_package.cc
diff options
context:
space:
mode:
Diffstat (limited to 'content/browser/download/save_package.cc')
-rw-r--r--content/browser/download/save_package.cc8
1 files changed, 7 insertions, 1 deletions
diff --git a/content/browser/download/save_package.cc b/content/browser/download/save_package.cc
index 6420268..6c2d3ea 100644
--- a/content/browser/download/save_package.cc
+++ b/content/browser/download/save_package.cc
@@ -1263,8 +1263,14 @@ void SavePackage::CreateDirectoryOnFileThread(
void SavePackage::ContinueGetSaveInfo(const FilePath& suggested_path,
bool can_save_as_complete) {
+ // The TabContents which owns this SavePackage may have disappeared during
+ // the UI->FILE->UI thread hop of
+ // GetSaveInfo->CreateDirectoryOnFileThread->ContinueGetSaveInfo.
+ if (!tab_contents())
+ return;
+
content::GetContentClient()->browser()->ChooseSavePath(
- this, suggested_path, can_save_as_complete);
+ AsWeakPtr(), suggested_path, can_save_as_complete);
}
// Called after the save file dialog box returns.