diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-01 18:41:23 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-01 18:41:23 +0000 |
commit | 076700e676bfcbfe23d25d569a09cc7d4b8e127a (patch) | |
tree | 740c9d1438dfb77fafcd49675dd6252a89e431ad /chrome/browser | |
parent | 03382f8aa1fc1730d7c0ffca748393c3cdd0356d (diff) | |
download | chromium_src-076700e676bfcbfe23d25d569a09cc7d4b8e127a.zip chromium_src-076700e676bfcbfe23d25d569a09cc7d4b8e127a.tar.gz chromium_src-076700e676bfcbfe23d25d569a09cc7d4b8e127a.tar.bz2 |
Re-enable save package on linux, mac.
Review URL: http://codereview.chromium.org/56153
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12966 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser')
-rw-r--r-- | chrome/browser/download/download_manager.cc | 8 | ||||
-rw-r--r-- | chrome/browser/download/save_package.cc | 20 |
2 files changed, 16 insertions, 12 deletions
diff --git a/chrome/browser/download/download_manager.cc b/chrome/browser/download/download_manager.cc index f58307c..f7f7864 100644 --- a/chrome/browser/download/download_manager.cc +++ b/chrome/browser/download/download_manager.cc @@ -28,6 +28,7 @@ #include "chrome/common/chrome_paths.h" #include "chrome/common/l10n_util.h" #include "chrome/common/notification_service.h" +#include "chrome/common/platform_util.h" #include "chrome/common/pref_names.h" #include "chrome/common/pref_service.h" #include "chrome/common/stl_util-inl.h" @@ -636,14 +637,11 @@ void DownloadManager::OnPathExistenceAvailable(DownloadCreateInfo* info) { #if defined(OS_WIN) std::wstring filter = win_util::GetFileFilterFromPath(info->suggested_path.value()); - gfx::NativeWindow owning_window = - contents ? GetAncestor(contents->GetNativeView(), GA_ROOT) : NULL; #elif defined(OS_LINUX) std::wstring filter; - gfx::NativeWindow owning_window = contents ? - GTK_WINDOW(gtk_widget_get_toplevel(contents->GetNativeView())) : - NULL; #endif + gfx::NativeWindow owning_window = + contents ? platform_util::GetTopLevel(contents->GetNativeView()) : NULL; select_file_dialog_->SelectFile(SelectFileDialog::SELECT_SAVEAS_FILE, std::wstring(), info->suggested_path.ToWStringHack(), diff --git a/chrome/browser/download/save_package.cc b/chrome/browser/download/save_package.cc index c5cdf1d..3f878a6 100644 --- a/chrome/browser/download/save_package.cc +++ b/chrome/browser/download/save_package.cc @@ -26,6 +26,7 @@ #include "chrome/browser/tab_contents/web_contents.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/l10n_util.h" +#include "chrome/common/platform_util.h" #include "chrome/common/pref_names.h" #include "chrome/common/pref_service.h" #include "chrome/common/stl_util-inl.h" @@ -985,7 +986,6 @@ FilePath SavePackage::GetSuggestNameForSaveAs(PrefService* prefs, } void SavePackage::GetSaveInfo() { -#if defined(OS_WIN) // Use "Web Page, Complete" option as default choice of saving page. int filter_index = 2; std::wstring filter; @@ -1008,10 +1008,17 @@ void SavePackage::GetSaveInfo() { filter[filter.size() - 2] = L'\0'; default_extension = L"htm"; } else { +#if defined(OS_WIN) filter = win_util::GetFileFilterFromPath(suggested_name); +#else + // TODO(port): implement this. + NOTIMPLEMENTED(); +#endif filter_index = 1; } + +#if defined(OS_LINUX) || defined(OS_WIN) if (g_should_prompt_for_filename) { if (!select_file_dialog_.get()) select_file_dialog_ = SelectFileDialog::Create(this); @@ -1021,17 +1028,16 @@ void SavePackage::GetSaveInfo() { filter, filter_index, default_extension, - GetAncestor(web_contents_->GetNativeView(), - GA_ROOT), + platform_util::GetTopLevel( + web_contents_->GetNativeView()), save_params); - } else { + } else +#endif // defined(OS_LINUX) || defined(OS_WIN) + { // Just use 'suggested_name' instead of opening the dialog prompt. ContinueSave(save_params, suggested_name, filter_index); delete save_params; } -#else - NOTIMPLEMENTED(); -#endif // OS_WIN } // Called after the save file dialog box returns. |