| Index: chrome/browser/ui/views/apps/shaped_app_window_targeter_unittest.cc
|
| diff --git a/chrome/browser/ui/views/apps/shaped_app_window_targeter_unittest.cc b/chrome/browser/ui/views/apps/shaped_app_window_targeter_unittest.cc
|
| deleted file mode 100644
|
| index 08bd65ed1fcf83dff17fc3de0bf921ae4fb706d0..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/ui/views/apps/shaped_app_window_targeter_unittest.cc
|
| +++ /dev/null
|
| @@ -1,151 +0,0 @@
|
| -// Copyright 2014 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/views/apps/shaped_app_window_targeter.h"
|
| -
|
| -#include "chrome/browser/ui/views/apps/native_app_window_views.h"
|
| -#include "ui/aura/root_window.h"
|
| -#include "ui/aura/test/aura_test_base.h"
|
| -#include "ui/aura/window.h"
|
| -#include "ui/views/controls/webview/webview.h"
|
| -#include "ui/wm/public/easy_resize_window_targeter.h"
|
| -
|
| -class ShapedAppWindowTargeterTest : public aura::test::AuraTestBase {
|
| - public:
|
| - ShapedAppWindowTargeterTest()
|
| - : web_view_(NULL) {
|
| - }
|
| -
|
| - virtual ~ShapedAppWindowTargeterTest() {}
|
| -
|
| - views::Widget* widget() { return widget_.get(); }
|
| -
|
| - apps::NativeAppWindow* app_window() { return &app_window_; }
|
| - NativeAppWindowViews* app_window_views() { return &app_window_; }
|
| -
|
| - protected:
|
| - virtual void SetUp() OVERRIDE {
|
| - aura::test::AuraTestBase::SetUp();
|
| - widget_.reset(new views::Widget);
|
| - views::Widget::InitParams params(views::Widget::InitParams::TYPE_WINDOW);
|
| - params.remove_standard_frame = true;
|
| - params.bounds = gfx::Rect(30, 30, 100, 100);
|
| - params.context = root_window();
|
| - params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
|
| - widget_->Init(params);
|
| -
|
| - app_window_.web_view_ = &web_view_;
|
| - app_window_.window_ = widget_.get();
|
| -
|
| - widget_->Show();
|
| - }
|
| -
|
| - virtual void TearDown() OVERRIDE {
|
| - widget_.reset();
|
| - aura::test::AuraTestBase::TearDown();
|
| - }
|
| -
|
| - private:
|
| - views::WebView web_view_;
|
| - scoped_ptr<views::Widget> widget_;
|
| - NativeAppWindowViews app_window_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ShapedAppWindowTargeterTest);
|
| -};
|
| -
|
| -TEST_F(ShapedAppWindowTargeterTest, HitTestBasic) {
|
| - aura::Window* window = widget()->GetNativeWindow();
|
| - {
|
| - // Without any custom shapes, the event should be targeted correctly to the
|
| - // window.
|
| - ui::MouseEvent move(ui::ET_MOUSE_MOVED,
|
| - gfx::Point(40, 40), gfx::Point(40, 40),
|
| - ui::EF_NONE, ui::EF_NONE);
|
| - ui::EventDispatchDetails details = dispatcher()->OnEventFromSource(&move);
|
| - ASSERT_FALSE(details.dispatcher_destroyed);
|
| - EXPECT_EQ(window, move.target());
|
| - }
|
| -
|
| - scoped_ptr<SkRegion> region(new SkRegion);
|
| - region->op(SkIRect::MakeXYWH(40, 0, 20, 100), SkRegion::kUnion_Op);
|
| - region->op(SkIRect::MakeXYWH(0, 40, 100, 20), SkRegion::kUnion_Op);
|
| - app_window()->UpdateShape(region.Pass());
|
| - {
|
| - // With the custom shape, the events that don't fall within the custom shape
|
| - // will go through to the root window.
|
| - ui::MouseEvent move(ui::ET_MOUSE_MOVED,
|
| - gfx::Point(40, 40), gfx::Point(40, 40),
|
| - ui::EF_NONE, ui::EF_NONE);
|
| - ui::EventDispatchDetails details = dispatcher()->OnEventFromSource(&move);
|
| - ASSERT_FALSE(details.dispatcher_destroyed);
|
| - EXPECT_EQ(root_window(), move.target());
|
| -
|
| - // But events within the shape will still reach the window.
|
| - ui::MouseEvent move2(ui::ET_MOUSE_MOVED,
|
| - gfx::Point(80, 80), gfx::Point(80, 80),
|
| - ui::EF_NONE, ui::EF_NONE);
|
| - details = dispatcher()->OnEventFromSource(&move2);
|
| - ASSERT_FALSE(details.dispatcher_destroyed);
|
| - EXPECT_EQ(window, move2.target());
|
| - }
|
| -}
|
| -
|
| -TEST_F(ShapedAppWindowTargeterTest, HitTestOnlyForShapedWindow) {
|
| - // Install a window-targeter on the root window that allows a window to
|
| - // receive events outside of its bounds. Verify that this window-targeter is
|
| - // active unless the window has a custom shape.
|
| - gfx::Insets inset(-30, -30, -30, -30);
|
| - root_window()->SetEventTargeter(scoped_ptr<ui::EventTargeter>(
|
| - new wm::EasyResizeWindowTargeter(root_window(), inset, inset)));
|
| -
|
| - aura::Window* window = widget()->GetNativeWindow();
|
| - {
|
| - // Without any custom shapes, an event within the window bounds should be
|
| - // targeted correctly to the window.
|
| - ui::MouseEvent move(ui::ET_MOUSE_MOVED,
|
| - gfx::Point(40, 40), gfx::Point(40, 40),
|
| - ui::EF_NONE, ui::EF_NONE);
|
| - ui::EventDispatchDetails details = dispatcher()->OnEventFromSource(&move);
|
| - ASSERT_FALSE(details.dispatcher_destroyed);
|
| - EXPECT_EQ(window, move.target());
|
| - }
|
| - {
|
| - // Without any custom shapes, an event that falls just outside the window
|
| - // bounds should also be targeted correctly to the window, because of the
|
| - // targeter installed on the root-window.
|
| - ui::MouseEvent move(ui::ET_MOUSE_MOVED,
|
| - gfx::Point(10, 10), gfx::Point(10, 10),
|
| - ui::EF_NONE, ui::EF_NONE);
|
| - ui::EventDispatchDetails details = dispatcher()->OnEventFromSource(&move);
|
| - ASSERT_FALSE(details.dispatcher_destroyed);
|
| - EXPECT_EQ(window, move.target());
|
| - }
|
| -
|
| - scoped_ptr<SkRegion> region(new SkRegion);
|
| - region->op(SkIRect::MakeXYWH(40, 0, 20, 100), SkRegion::kUnion_Op);
|
| - region->op(SkIRect::MakeXYWH(0, 40, 100, 20), SkRegion::kUnion_Op);
|
| - app_window()->UpdateShape(region.Pass());
|
| - {
|
| - // With the custom shape, the events that don't fall within the custom shape
|
| - // will go through to the root window.
|
| - ui::MouseEvent move(ui::ET_MOUSE_MOVED,
|
| - gfx::Point(10, 10), gfx::Point(10, 10),
|
| - ui::EF_NONE, ui::EF_NONE);
|
| - ui::EventDispatchDetails details = dispatcher()->OnEventFromSource(&move);
|
| - ASSERT_FALSE(details.dispatcher_destroyed);
|
| - EXPECT_EQ(root_window(), move.target());
|
| - }
|
| -
|
| - // Remove the custom shape. This should restore the behaviour of targeting the
|
| - // app window for events just outside its bounds.
|
| - app_window()->UpdateShape(scoped_ptr<SkRegion>());
|
| - {
|
| - ui::MouseEvent move(ui::ET_MOUSE_MOVED,
|
| - gfx::Point(10, 10), gfx::Point(10, 10),
|
| - ui::EF_NONE, ui::EF_NONE);
|
| - ui::EventDispatchDetails details = dispatcher()->OnEventFromSource(&move);
|
| - ASSERT_FALSE(details.dispatcher_destroyed);
|
| - EXPECT_EQ(window, move.target());
|
| - }
|
| -}
|
|
|