blob: 7d8b20b242ef8472cea862ba3df78ddb0203546f [file] [log] [blame]
Jeff Brownc64f0d42016-03-09 14:23:23 -08001// Copyright 2016 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "mojo/ui/associates/mock_hit_tester.h"
6
7#include "base/bind.h"
8
9namespace mojo {
10namespace ui {
11
12MockHitTester::MockHitTester() {}
13
14MockHitTester::~MockHitTester() {}
15
16void MockHitTester::SetNextResult(
Jeff Brown563af9f2016-03-10 08:24:46 -080017 mojo::PointFPtr point,
Jeff Brownc64f0d42016-03-09 14:23:23 -080018 mojo::gfx::composition::HitTestResultPtr result) {
19 DCHECK(point);
20 DCHECK(result);
21
22 point_ = point.Pass();
23 result_ = result.Pass();
24}
25
Jeff Brown563af9f2016-03-10 08:24:46 -080026void MockHitTester::HitTest(mojo::PointFPtr point,
Jeff Brownc64f0d42016-03-09 14:23:23 -080027 const HitTestCallback& callback) {
28 DCHECK(point);
29
30 if (point.Equals(point_)) {
31 point_.reset();
32 callback.Run(result_.Pass());
33 } else {
34 callback.Run(mojo::gfx::composition::HitTestResult::New());
35 }
36}
37
38} // namespace ui
39} // namespace mojo