| OLD | NEW | 
|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "ui/shell_dialogs/select_file_dialog.h" | 5 #include "ui/shell_dialogs/select_file_dialog.h" | 
| 6 | 6 | 
| 7 #include "base/bind.h" | 7 #include "base/bind.h" | 
| 8 #include "base/logging.h" | 8 #include "base/logging.h" | 
| 9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" | 
| 10 #include "build/build_config.h" | 10 #include "build/build_config.h" | 
| 11 #include "ui/base/l10n/l10n_util.h" | 11 #include "ui/base/l10n/l10n_util.h" | 
| 12 #include "ui/shell_dialogs/select_file_dialog_factory.h" | 12 #include "ui/shell_dialogs/select_file_dialog_factory.h" | 
| 13 #include "ui/shell_dialogs/select_file_policy.h" | 13 #include "ui/shell_dialogs/select_file_policy.h" | 
| 14 #include "ui/shell_dialogs/selected_file_info.h" | 14 #include "ui/shell_dialogs/selected_file_info.h" | 
| 15 #include "ui/shell_dialogs/shell_dialogs_delegate.h" | 15 #include "ui/shell_dialogs/shell_dialogs_delegate.h" | 
| 16 | 16 | 
| 17 #if defined(OS_WIN) | 17 #if defined(OS_WIN) | 
| 18 #include "ui/shell_dialogs/select_file_dialog_win.h" | 18 #include "ui/shell_dialogs/select_file_dialog_win.h" | 
| 19 #elif defined(OS_MACOSX) | 19 #elif defined(OS_MACOSX) | 
| 20 #include "ui/shell_dialogs/select_file_dialog_mac.h" | 20 #include "ui/shell_dialogs/select_file_dialog_mac.h" | 
| 21 #elif defined(OS_ANDROID) | 21 #elif defined(OS_ANDROID) | 
| 22 #include "ui/shell_dialogs/select_file_dialog_android.h" | 22 #include "ui/shell_dialogs/select_file_dialog_android.h" | 
| 23 #elif defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS) | 23 #elif defined(USE_AURA) && !defined(USE_ASH) && defined(OS_LINUX) | 
| 24 #include "ui/shell_dialogs/linux_shell_dialog.h" | 24 #include "ui/shell_dialogs/linux_shell_dialog.h" | 
| 25 #endif | 25 #endif | 
| 26 | 26 | 
| 27 namespace { | 27 namespace { | 
| 28 | 28 | 
| 29 // Optional dialog factory. Leaked. | 29 // Optional dialog factory. Leaked. | 
| 30 ui::SelectFileDialogFactory* dialog_factory_ = NULL; | 30 ui::SelectFileDialogFactory* dialog_factory_ = NULL; | 
| 31 | 31 | 
| 32 // The global shell dialogs delegate. | 32 // The global shell dialogs delegate. | 
| 33 ui::ShellDialogsDelegate* g_shell_dialogs_delegate_ = NULL; | 33 ui::ShellDialogsDelegate* g_shell_dialogs_delegate_ = NULL; | 
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 69 // static | 69 // static | 
| 70 scoped_refptr<SelectFileDialog> SelectFileDialog::Create( | 70 scoped_refptr<SelectFileDialog> SelectFileDialog::Create( | 
| 71     Listener* listener, | 71     Listener* listener, | 
| 72     ui::SelectFilePolicy* policy) { | 72     ui::SelectFilePolicy* policy) { | 
| 73   if (dialog_factory_) { | 73   if (dialog_factory_) { | 
| 74     SelectFileDialog* dialog = dialog_factory_->Create(listener, policy); | 74     SelectFileDialog* dialog = dialog_factory_->Create(listener, policy); | 
| 75     if (dialog) | 75     if (dialog) | 
| 76       return dialog; | 76       return dialog; | 
| 77   } | 77   } | 
| 78 | 78 | 
| 79 #if defined(USE_AURA) && defined(OS_LINUX) && !defined(OS_CHROMEOS) | 79 #if defined(USE_AURA) && !defined(USE_ASH) && defined(OS_LINUX) | 
| 80   const ui::LinuxShellDialog* shell_dialogs = ui::LinuxShellDialog::instance(); | 80   const ui::LinuxShellDialog* shell_dialogs = ui::LinuxShellDialog::instance(); | 
| 81   if (shell_dialogs) | 81   if (shell_dialogs) | 
| 82     return shell_dialogs->CreateSelectFileDialog(listener, policy); | 82     return shell_dialogs->CreateSelectFileDialog(listener, policy); | 
| 83 #endif | 83 #endif | 
| 84 | 84 | 
| 85 #if defined(OS_WIN) | 85 #if defined(OS_WIN) | 
| 86   // TODO(ananta) | 86   // TODO(ananta) | 
| 87   // Fix this for Chrome ASH on Windows. | 87   // Fix this for Chrome ASH on Windows. | 
| 88   return CreateWinSelectFileDialog(listener, policy); | 88   return CreateWinSelectFileDialog(listener, policy); | 
| 89 #elif defined(OS_MACOSX) && !defined(USE_AURA) | 89 #elif defined(OS_MACOSX) && !defined(USE_AURA) | 
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 146 void SelectFileDialog::CancelFileSelection(void* params) { | 146 void SelectFileDialog::CancelFileSelection(void* params) { | 
| 147   if (listener_) | 147   if (listener_) | 
| 148     listener_->FileSelectionCanceled(params); | 148     listener_->FileSelectionCanceled(params); | 
| 149 } | 149 } | 
| 150 | 150 | 
| 151 ShellDialogsDelegate* SelectFileDialog::GetShellDialogsDelegate() { | 151 ShellDialogsDelegate* SelectFileDialog::GetShellDialogsDelegate() { | 
| 152   return g_shell_dialogs_delegate_; | 152   return g_shell_dialogs_delegate_; | 
| 153 } | 153 } | 
| 154 | 154 | 
| 155 }  // namespace ui | 155 }  // namespace ui | 
| OLD | NEW | 
|---|