| Index: chrome/browser/ui/libgtk2ui/select_file_dialog_interactive_uitest.cc
|
| diff --git a/chrome/browser/ui/libgtk2ui/select_file_dialog_interactive_uitest.cc b/chrome/browser/ui/libgtk2ui/select_file_dialog_interactive_uitest.cc
|
| deleted file mode 100644
|
| index 424c80160ed9f21d111cebd0ee9695edcc752b16..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/libgtk2ui/select_file_dialog_interactive_uitest.cc
|
| +++ /dev/null
|
| @@ -1,113 +0,0 @@
|
| -// Copyright 2015 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/ui/libgtk2ui/select_file_dialog_impl_gtk2.h"
|
| -
|
| -#include "base/macros.h"
|
| -#include "chrome/browser/ui/browser.h"
|
| -#include "chrome/browser/ui/browser_window.h"
|
| -#include "chrome/browser/ui/chrome_select_file_policy.h"
|
| -#include "chrome/browser/ui/view_ids.h"
|
| -#include "chrome/test/base/in_process_browser_test.h"
|
| -#include "chrome/test/base/interactive_test_utils.h"
|
| -#include "chrome/test/base/ui_test_utils.h"
|
| -#include "net/test/embedded_test_server/embedded_test_server.h"
|
| -#include "ui/shell_dialogs/select_file_dialog.h"
|
| -#include "ui/views/test/widget_test.h"
|
| -#include "ui/views/widget/widget.h"
|
| -
|
| -using BrowserSelectFileDialogTest = InProcessBrowserTest;
|
| -
|
| -namespace libgtk2ui {
|
| -
|
| -// FilePicker opens a GtkFileChooser.
|
| -class FilePicker : public ui::SelectFileDialog::Listener {
|
| - public:
|
| - explicit FilePicker(BrowserWindow* window) {
|
| - select_file_dialog_ = ui::SelectFileDialog::Create(
|
| - this, new ChromeSelectFilePolicy(nullptr));
|
| -
|
| - gfx::NativeWindow parent_window = window->GetNativeWindow();
|
| - ui::SelectFileDialog::FileTypeInfo file_types;
|
| - file_types.allowed_paths = ui::SelectFileDialog::FileTypeInfo::ANY_PATH;
|
| - const base::FilePath file_path;
|
| - select_file_dialog_->SelectFile(ui::SelectFileDialog::SELECT_OPEN_FILE,
|
| - base::string16(),
|
| - file_path,
|
| - &file_types,
|
| - 0,
|
| - base::FilePath::StringType(),
|
| - parent_window,
|
| - nullptr);
|
| - }
|
| -
|
| - ~FilePicker() override {
|
| - select_file_dialog_->ListenerDestroyed();
|
| - }
|
| -
|
| - void Close() {
|
| - SelectFileDialogImplGTK* file_dialog =
|
| - static_cast<SelectFileDialogImplGTK*>(select_file_dialog_.get());
|
| -
|
| -
|
| - while (!file_dialog->dialogs_.empty())
|
| - gtk_widget_destroy(*(file_dialog->dialogs_.begin()));
|
| - }
|
| -
|
| - // SelectFileDialog::Listener implementation.
|
| - void FileSelected(const base::FilePath& path,
|
| - int index,
|
| - void* params) override {}
|
| - private:
|
| - // Dialog box used for opening and saving files.
|
| - scoped_refptr<ui::SelectFileDialog> select_file_dialog_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(FilePicker);
|
| -};
|
| -
|
| -} // namespace libgtk2ui
|
| -
|
| -// Test that the file-picker is modal.
|
| -IN_PROC_BROWSER_TEST_F(BrowserSelectFileDialogTest, ModalTest) {
|
| - // Bring the native window to the foreground. Returns true on success.
|
| - ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
|
| - ASSERT_TRUE(browser()->window()->IsActive());
|
| -
|
| - // Leaks in GtkFileChooserDialog. http://crbug.com/537468
|
| - ANNOTATE_SCOPED_MEMORY_LEAK;
|
| - libgtk2ui::FilePicker file_picker(browser()->window());
|
| -
|
| - gfx::NativeWindow window = browser()->window()->GetNativeWindow();
|
| - views::Widget* widget = views::Widget::GetWidgetForNativeWindow(window);
|
| - ASSERT_NE(nullptr, widget);
|
| -
|
| - // Run a nested loop until the browser window becomes inactive
|
| - // so that the file-picker can be active.
|
| - views::test::WidgetActivationWaiter waiter_inactive(widget, false);
|
| - waiter_inactive.Wait();
|
| - EXPECT_FALSE(browser()->window()->IsActive());
|
| -
|
| - ui_test_utils::ClickOnView(browser(), VIEW_ID_TAB_CONTAINER);
|
| - // The window should not get focus due to modal dialog.
|
| - EXPECT_FALSE(browser()->window()->IsActive());
|
| -
|
| - ASSERT_TRUE(ui_test_utils::BringBrowserWindowToFront(browser()));
|
| - EXPECT_FALSE(browser()->window()->IsActive());
|
| -
|
| - ASSERT_TRUE(ui_test_utils::ShowAndFocusNativeWindow(window));
|
| - EXPECT_FALSE(browser()->window()->IsActive());
|
| -
|
| - ASSERT_TRUE(ui_test_utils::SendKeyPressSync(
|
| - browser(), ui::VKEY_TAB, false, false, true, false));
|
| - EXPECT_FALSE(browser()->window()->IsActive());
|
| -
|
| - file_picker.Close();
|
| -
|
| - // Run a nested loop until the browser window becomes active.
|
| - views::test::WidgetActivationWaiter wait_active(widget, true);
|
| - wait_active.Wait();
|
| -
|
| - ui_test_utils::ClickOnView(browser(), VIEW_ID_TAB_CONTAINER);
|
| - EXPECT_TRUE(browser()->window()->IsActive());
|
| -}
|
|
|