Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(907)

Unified Diff: ui/views/corewm/desktop_capture_controller_unittest.cc

Issue 851853002: It is time. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Trying to reup because the last upload failed. Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/views/corewm/cursor_height_provider_win.cc ('k') | ui/views/corewm/tooltip.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/corewm/desktop_capture_controller_unittest.cc
diff --git a/ui/views/corewm/desktop_capture_controller_unittest.cc b/ui/views/corewm/desktop_capture_controller_unittest.cc
deleted file mode 100644
index 85c9c79b34ce52c51434312f4fb838fc4673fe09..0000000000000000000000000000000000000000
--- a/ui/views/corewm/desktop_capture_controller_unittest.cc
+++ /dev/null
@@ -1,202 +0,0 @@
-// Copyright (c) 2013 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 "ui/wm/core/capture_controller.h"
-
-#include "base/logging.h"
-#include "base/path_service.h"
-#include "ui/aura/env.h"
-#include "ui/aura/test/test_window_delegate.h"
-#include "ui/aura/window_event_dispatcher.h"
-#include "ui/aura/window_tree_host.h"
-#include "ui/base/resource/resource_bundle.h"
-#include "ui/base/ui_base_paths.h"
-#include "ui/events/event.h"
-#include "ui/events/test/event_generator.h"
-#include "ui/gl/gl_surface.h"
-#include "ui/views/test/views_test_base.h"
-#include "ui/views/view.h"
-#include "ui/views/widget/desktop_aura/desktop_native_widget_aura.h"
-#include "ui/views/widget/desktop_aura/desktop_screen_position_client.h"
-#include "ui/views/widget/root_view.h"
-#include "ui/views/widget/widget.h"
-
-// NOTE: these tests do native capture, so they have to be in
-// interactive_ui_tests.
-
-namespace views {
-
-class DesktopCaptureControllerTest : public ViewsTestBase {
- public:
- DesktopCaptureControllerTest() {}
- virtual ~DesktopCaptureControllerTest() {}
-
- virtual void SetUp() override {
- gfx::GLSurface::InitializeOneOffForTests();
- ui::RegisterPathProvider();
- base::FilePath ui_test_pak_path;
- ASSERT_TRUE(PathService::Get(ui::UI_TEST_PAK, &ui_test_pak_path));
- ui::ResourceBundle::InitSharedInstanceWithPakPath(ui_test_pak_path);
-
- ViewsTestBase::SetUp();
- }
-};
-
-// This class provides functionality to verify whether the View instance
-// received the gesture event.
-class DesktopViewInputTest : public View {
- public:
- DesktopViewInputTest()
- : received_gesture_event_(false) {}
-
- virtual void OnGestureEvent(ui::GestureEvent* event) override {
- received_gesture_event_ = true;
- return View::OnGestureEvent(event);
- }
-
- // Resets state maintained by this class.
- void Reset() {
- received_gesture_event_ = false;
- }
-
- bool received_gesture_event() const { return received_gesture_event_; }
-
- private:
- bool received_gesture_event_;
-
- DISALLOW_COPY_AND_ASSIGN(DesktopViewInputTest);
-};
-
-views::Widget* CreateWidget() {
- views::Widget* widget = new views::Widget;
- views::Widget::InitParams params;
- params.type = views::Widget::InitParams::TYPE_WINDOW_FRAMELESS;
- params.accept_events = true;
- params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
- params.native_widget = new DesktopNativeWidgetAura(widget);
- params.bounds = gfx::Rect(0, 0, 200, 100);
- widget->Init(params);
- widget->Show();
- return widget;
-}
-
-// Verifies mouse handlers are reset when a window gains capture. Specifically
-// creates two widgets, does a mouse press in one, sets capture in the other and
-// verifies state is reset in the first.
-TEST_F(DesktopCaptureControllerTest, ResetMouseHandlers) {
- scoped_ptr<Widget> w1(CreateWidget());
- scoped_ptr<Widget> w2(CreateWidget());
- ui::test::EventGenerator generator1(w1->GetNativeView()->GetRootWindow());
- generator1.MoveMouseToCenterOf(w1->GetNativeView());
- generator1.PressLeftButton();
- EXPECT_FALSE(w1->HasCapture());
- aura::WindowEventDispatcher* w1_dispatcher =
- w1->GetNativeView()->GetHost()->dispatcher();
- EXPECT_TRUE(w1_dispatcher->mouse_pressed_handler() != NULL);
- EXPECT_TRUE(w1_dispatcher->mouse_moved_handler() != NULL);
- w2->SetCapture(w2->GetRootView());
- EXPECT_TRUE(w2->HasCapture());
- EXPECT_TRUE(w1_dispatcher->mouse_pressed_handler() == NULL);
- EXPECT_TRUE(w1_dispatcher->mouse_moved_handler() == NULL);
- w2->ReleaseCapture();
- RunPendingMessages();
-}
-
-// Tests aura::Window capture and whether gesture events are sent to the window
-// which has capture.
-// The test case creates two visible widgets and sets capture to the underlying
-// aura::Windows one by one. It then sends a gesture event and validates whether
-// the window which had capture receives the gesture.
-// TODO(sky): move this test, it should be part of ScopedCaptureClient tests.
-TEST_F(DesktopCaptureControllerTest, CaptureWindowInputEventTest) {
- scoped_ptr<aura::client::ScreenPositionClient> desktop_position_client1;
- scoped_ptr<aura::client::ScreenPositionClient> desktop_position_client2;
-
- scoped_ptr<Widget> widget1(new Widget());
- Widget::InitParams params = CreateParams(Widget::InitParams::TYPE_POPUP);
- scoped_ptr<wm::ScopedCaptureClient> scoped_capture_client(
- new wm::ScopedCaptureClient(params.context->GetRootWindow()));
- aura::client::CaptureClient* capture_client =
- scoped_capture_client->capture_client();
- params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
- params.bounds = gfx::Rect(50, 50, 650, 650);
- widget1->Init(params);
- internal::RootView* root1 =
- static_cast<internal::RootView*>(widget1->GetRootView());
-
- desktop_position_client1.reset(
- new DesktopScreenPositionClient(params.context->GetRootWindow()));
- aura::client::SetScreenPositionClient(
- widget1->GetNativeView()->GetRootWindow(),
- desktop_position_client1.get());
-
- DesktopViewInputTest* v1 = new DesktopViewInputTest();
- v1->SetBoundsRect(gfx::Rect(0, 0, 300, 300));
- root1->AddChildView(v1);
- widget1->Show();
-
- scoped_ptr<Widget> widget2(new Widget());
-
- params = CreateParams(Widget::InitParams::TYPE_POPUP);
- params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
- params.bounds = gfx::Rect(50, 50, 650, 650);
- widget2->Init(params);
-
- internal::RootView* root2 =
- static_cast<internal::RootView*>(widget2->GetRootView());
- desktop_position_client2.reset(
- new DesktopScreenPositionClient(params.context->GetRootWindow()));
- aura::client::SetScreenPositionClient(
- widget2->GetNativeView()->GetRootWindow(),
- desktop_position_client2.get());
- ui::EventDispatchDetails details;
-
- DesktopViewInputTest* v2 = new DesktopViewInputTest();
- v2->SetBoundsRect(gfx::Rect(0, 0, 300, 300));
- root2->AddChildView(v2);
- widget2->Show();
-
- EXPECT_FALSE(widget1->GetNativeView()->HasCapture());
- EXPECT_FALSE(widget2->GetNativeView()->HasCapture());
- EXPECT_EQ(reinterpret_cast<aura::Window*>(0),
- capture_client->GetCaptureWindow());
-
- widget1->GetNativeView()->SetCapture();
- EXPECT_TRUE(widget1->GetNativeView()->HasCapture());
- EXPECT_FALSE(widget2->GetNativeView()->HasCapture());
- EXPECT_EQ(capture_client->GetCaptureWindow(), widget1->GetNativeView());
-
- ui::GestureEvent g1(80,
- 80,
- 0,
- base::TimeDelta(),
- ui::GestureEventDetails(ui::ET_GESTURE_LONG_PRESS));
- details = root1->OnEventFromSource(&g1);
- EXPECT_FALSE(details.dispatcher_destroyed);
- EXPECT_FALSE(details.target_destroyed);
-
- EXPECT_TRUE(v1->received_gesture_event());
- EXPECT_FALSE(v2->received_gesture_event());
- v1->Reset();
- v2->Reset();
-
- widget2->GetNativeView()->SetCapture();
-
- EXPECT_FALSE(widget1->GetNativeView()->HasCapture());
- EXPECT_TRUE(widget2->GetNativeView()->HasCapture());
- EXPECT_EQ(capture_client->GetCaptureWindow(), widget2->GetNativeView());
-
- details = root2->OnEventFromSource(&g1);
- EXPECT_FALSE(details.dispatcher_destroyed);
- EXPECT_FALSE(details.target_destroyed);
-
- EXPECT_TRUE(v2->received_gesture_event());
- EXPECT_FALSE(v1->received_gesture_event());
-
- widget1->CloseNow();
- widget2->CloseNow();
- RunPendingMessages();
-}
-
-} // namespace views
« no previous file with comments | « ui/views/corewm/cursor_height_provider_win.cc ('k') | ui/views/corewm/tooltip.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698