summaryrefslogtreecommitdiffstats
path: root/chrome/browser
diff options
context:
space:
mode:
authorestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-01 18:41:23 +0000
committerestade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-01 18:41:23 +0000
commit076700e676bfcbfe23d25d569a09cc7d4b8e127a (patch)
tree740c9d1438dfb77fafcd49675dd6252a89e431ad /chrome/browser
parent03382f8aa1fc1730d7c0ffca748393c3cdd0356d (diff)
downloadchromium_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.cc8
-rw-r--r--chrome/browser/download/save_package.cc20
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.