| Index: chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc
|
| diff --git a/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc b/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc
|
| index 0ad10041b43391843787936645eed8dc795f2cf0..10d80815a0cfdcafb4aebf88a3522c4285ead267 100644
|
| --- a/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc
|
| +++ b/chrome/browser/ui/views/tabs/tab_drag_controller_interactive_uitest.cc
|
| @@ -9,9 +9,7 @@
|
| #include <algorithm>
|
|
|
| #include "base/bind.h"
|
| -#include "base/bind_helpers.h"
|
| #include "base/callback.h"
|
| -#include "base/callback_helpers.h"
|
| #include "base/command_line.h"
|
| #include "base/location.h"
|
| #include "base/macros.h"
|
| @@ -798,55 +796,18 @@
|
| }
|
| #endif
|
|
|
| -// Encapsulates waiting for the browser window to become maximized. This is
|
| -// needed for example on Chrome desktop linux, where window maximization is done
|
| -// asynchronously as an event received from a different process.
|
| -class MaximizedBrowserWindowWaiter {
|
| - public:
|
| - explicit MaximizedBrowserWindowWaiter(BrowserWindow* window)
|
| - : window_(window) {}
|
| - ~MaximizedBrowserWindowWaiter() = default;
|
| -
|
| - // Blocks until the browser window becomes maximized.
|
| - void Wait() {
|
| - if (CheckMaximized())
|
| - return;
|
| -
|
| - base::RunLoop run_loop;
|
| - quit_ = run_loop.QuitClosure();
|
| - run_loop.Run();
|
| - }
|
| -
|
| - private:
|
| - bool CheckMaximized() {
|
| - if (!window_->IsMaximized()) {
|
| - base::MessageLoop::current()->task_runner()->PostTask(
|
| - FROM_HERE, base::Bind(
|
| - base::IgnoreResult(&MaximizedBrowserWindowWaiter::CheckMaximized),
|
| - base::Unretained(this)));
|
| - return false;
|
| - }
|
| -
|
| - // Quit the run_loop to end the wait.
|
| - if (!quit_.is_null())
|
| - base::ResetAndReturn(&quit_).Run();
|
| - return true;
|
| - }
|
| -
|
| - // The browser window observed by this waiter.
|
| - BrowserWindow* window_;
|
| -
|
| - // The waiter's RunLoop quit closure.
|
| - base::Closure quit_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(MaximizedBrowserWindowWaiter);
|
| -};
|
| -
|
| } // namespace
|
|
|
| +#if defined(OS_CHROMEOS) || defined(OS_LINUX)
|
| +// TODO(sky,sad): Disabled as it fails due to resize locks with a real
|
| +// compositor. crbug.com/331924
|
| +#define MAYBE_DetachToOwnWindow DISABLED_DetachToOwnWindow
|
| +#else
|
| +#define MAYBE_DetachToOwnWindow DetachToOwnWindow
|
| +#endif
|
| // Drags from browser to separate window and releases mouse.
|
| IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTest,
|
| - DetachToOwnWindow) {
|
| + MAYBE_DetachToOwnWindow) {
|
| const gfx::Rect initial_bounds(browser()->window()->GetBounds());
|
| // Add another tab.
|
| AddTabAndResetBrowser(browser());
|
| @@ -899,13 +860,9 @@
|
| EXPECT_FALSE(tab_strip2->GetWidget()->HasCapture());
|
| }
|
|
|
| -#if defined(OS_LINUX) || defined(OS_MACOSX)
|
| -// TODO(afakhry,varkha): Disabled on Linux as it fails on the bot because
|
| -// setting the window bounds to the work area bounds in
|
| -// DesktopWindowTreeHostX11::SetBounds() always insets it by one pixel in both
|
| -// width and height. This results in considering the source browser window not
|
| -// being full size, and the test is not as expected.
|
| -// crbug.com/626761, crbug.com/331924.
|
| +#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX)
|
| +// TODO(sky,sad): Disabled as it fails due to resize locks with a real
|
| +// compositor. crbug.com/331924
|
| // TODO(tapted,mblsha): Disabled as the Mac IsMaximized() behavior is not
|
| // consistent with other platforms. crbug.com/603562
|
| #define MAYBE_DetachFromFullsizeWindow DISABLED_DetachFromFullsizeWindow
|
| @@ -966,7 +923,6 @@
|
|
|
| // Only second window should be maximized.
|
| EXPECT_FALSE(browser()->window()->IsMaximized());
|
| - MaximizedBrowserWindowWaiter(new_browser->window()).Wait();
|
| EXPECT_TRUE(new_browser->window()->IsMaximized());
|
|
|
| // The tab strip should no longer have capture because the drag was ended and
|
| @@ -975,7 +931,9 @@
|
| EXPECT_FALSE(tab_strip2->GetWidget()->HasCapture());
|
| }
|
|
|
| -#if defined(OS_MACOSX)
|
| +#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX)
|
| +// TODO(sky,sad): Disabled as it fails due to resize locks with a real
|
| +// compositor. crbug.com/331924
|
| // TODO(tapted,mblsha): Disabled as the Mac IsMaximized() behavior is not
|
| // consistent with other platforms. crbug.com/603562
|
| #define MAYBE_DetachToOwnWindowFromMaximizedWindow \
|
| @@ -989,7 +947,6 @@
|
| MAYBE_DetachToOwnWindowFromMaximizedWindow) {
|
| // Maximize the initial browser window.
|
| browser()->window()->Maximize();
|
| - MaximizedBrowserWindowWaiter(browser()->window()).Wait();
|
| ASSERT_TRUE(browser()->window()->IsMaximized());
|
|
|
| // Add another tab.
|
| @@ -1033,7 +990,6 @@
|
| new_browser->window()->GetNativeWindow()));
|
|
|
| // The new window should be maximized.
|
| - MaximizedBrowserWindowWaiter(new_browser->window()).Wait();
|
| EXPECT_TRUE(new_browser->window()->IsMaximized());
|
| }
|
|
|
| @@ -2473,7 +2429,7 @@
|
|
|
| // Drags from browser to separate window, docks that window and releases mouse.
|
| IN_PROC_BROWSER_TEST_P(DetachToBrowserTabDragControllerTest,
|
| - DetachToDockedWindowFromMaximizedWindow) {
|
| + DISABLED_DetachToDockedWindowFromMaximizedWindow) {
|
| // Maximize the initial browser window.
|
| browser()->window()->Maximize();
|
| ASSERT_TRUE(browser()->window()->IsMaximized());
|
|
|