diff options
Diffstat (limited to 'chrome/browser/download/save_file_manager.cc')
-rw-r--r-- | chrome/browser/download/save_file_manager.cc | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/chrome/browser/download/save_file_manager.cc b/chrome/browser/download/save_file_manager.cc index 631b55d..940e878 100644 --- a/chrome/browser/download/save_file_manager.cc +++ b/chrome/browser/download/save_file_manager.cc @@ -215,10 +215,14 @@ void SaveFileManager::RemoveSaveFile(int save_id, const std::wstring& save_url, // only on the UI thread. SavePackage* SaveFileManager::GetSavePackageFromRenderIds( int render_process_id, int render_view_id) { - WebContents* contents = tab_util::GetWebContentsByID(render_process_id, + TabContents* contents = tab_util::GetTabContentsByID(render_process_id, render_view_id); - if (contents) - return contents->save_package(); + if (contents && contents->type() == TAB_CONTENTS_WEB) { + // Convert const pointer of WebContents to pointer of WebContents. + const WebContents* web_contents = contents->AsWebContents(); + if (web_contents) + return web_contents->save_package(); + } return NULL; } |