15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/aura/test/test_window_delegate.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75e3f23d412006dc4db4e659864679f29341e113fTorne (Richard Coles)#include "base/strings/stringprintf.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/aura/window.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/base/hit_test.h" 10d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "ui/events/event.h" 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/gfx/canvas.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/gfx/path.h" 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "ui/gfx/skia_util.h" 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 15d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#if defined(USE_AURA) 16d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "ui/base/cursor/cursor.h" 17d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#endif 18d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace aura { 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace test { 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//////////////////////////////////////////////////////////////////////////////// 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// TestWindowDelegate 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TestWindowDelegate::TestWindowDelegate() 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : window_component_(HTCLIENT), 272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) delete_on_destroyed_(false), 282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) can_focus_(true) { 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TestWindowDelegate::~TestWindowDelegate() { 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// static 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)TestWindowDelegate* TestWindowDelegate::CreateSelfDestroyingDelegate() { 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) TestWindowDelegate* delegate = new TestWindowDelegate; 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) delegate->delete_on_destroyed_ = true; 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return delegate; 395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)gfx::Size TestWindowDelegate::GetMinimumSize() const { 422a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return minimum_size_; 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 452a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)gfx::Size TestWindowDelegate::GetMaximumSize() const { 462a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return maximum_size_; 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 492a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void TestWindowDelegate::OnBoundsChanged(const gfx::Rect& old_bounds, 502a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) const gfx::Rect& new_bounds) { 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)gfx::NativeCursor TestWindowDelegate::GetCursor(const gfx::Point& point) { 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return gfx::kNullCursor; 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)int TestWindowDelegate::GetNonClientComponent(const gfx::Point& point) const { 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return window_component_; 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool TestWindowDelegate::ShouldDescendIntoChildForEventHandling( 625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Window* child, 635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) const gfx::Point& location) { 645821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool TestWindowDelegate::CanFocus() { 682a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) return can_focus_; 695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestWindowDelegate::OnCaptureLost() { 725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestWindowDelegate::OnPaint(gfx::Canvas* canvas) { 755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestWindowDelegate::OnDeviceScaleFactorChanged( 785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) float device_scale_factor) { 795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 81a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)void TestWindowDelegate::OnWindowDestroying(Window* window) { 825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 84a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)void TestWindowDelegate::OnWindowDestroyed(Window* window) { 855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) if (delete_on_destroyed_) 865821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) delete this; 875821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 885821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 895821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestWindowDelegate::OnWindowTargetVisibilityChanged(bool visible) { 905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 915821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 925821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool TestWindowDelegate::HasHitTestMask() const { 935821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return false; 945821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void TestWindowDelegate::GetHitTestMask(gfx::Path* mask) const { 975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//////////////////////////////////////////////////////////////////////////////// 1005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// ColorTestWindowDelegate 1015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1025821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ColorTestWindowDelegate::ColorTestWindowDelegate(SkColor color) 1035821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : color_(color), 1045821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) last_key_code_(ui::VKEY_UNKNOWN) { 1055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1062a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)ColorTestWindowDelegate::~ColorTestWindowDelegate() { 1085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void ColorTestWindowDelegate::OnKeyEvent(ui::KeyEvent* event) { 1115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) last_key_code_ = event->key_code(); 1122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) event->SetHandled(); 1135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 115a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles)void ColorTestWindowDelegate::OnWindowDestroyed(Window* window) { 1165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) delete this; 1175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) 1195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void ColorTestWindowDelegate::OnPaint(gfx::Canvas* canvas) { 1205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) canvas->DrawColor(color_, SkXfermode::kSrc_Mode); 1215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//////////////////////////////////////////////////////////////////////////////// 1245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// MaskedWindowDelegate 1255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MaskedWindowDelegate::MaskedWindowDelegate(const gfx::Rect mask_rect) 1275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : mask_rect_(mask_rect) { 1285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool MaskedWindowDelegate::HasHitTestMask() const { 1315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return true; 1325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)void MaskedWindowDelegate::GetHitTestMask(gfx::Path* mask) const { 1355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mask->addRect(RectToSkRect(mask_rect_)); 1365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)//////////////////////////////////////////////////////////////////////////////// 1395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// EventCountDelegate 1405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)EventCountDelegate::EventCountDelegate() 1425d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) : mouse_enter_count_(0), 1435d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mouse_move_count_(0), 1445d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mouse_leave_count_(0), 1455d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mouse_press_count_(0), 1465d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) mouse_release_count_(0), 1475d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) key_press_count_(0), 1485d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) key_release_count_(0), 1495d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gesture_count_(0) { 1505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1522a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void EventCountDelegate::OnKeyEvent(ui::KeyEvent* event) { 1535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) switch (event->type()) { 1545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case ui::ET_KEY_PRESSED: 1555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) key_press_count_++; 1565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 1575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case ui::ET_KEY_RELEASED: 1585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) key_release_count_++; 1595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) default: 1605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 1615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1635821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1642a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)void EventCountDelegate::OnMouseEvent(ui::MouseEvent* event) { 1655821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) switch (event->type()) { 1665821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case ui::ET_MOUSE_MOVED: 1675821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mouse_move_count_++; 1685821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 1695821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case ui::ET_MOUSE_ENTERED: 1705821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mouse_enter_count_++; 1715821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 1725821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case ui::ET_MOUSE_EXITED: 1735821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mouse_leave_count_++; 1745821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 1755821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case ui::ET_MOUSE_PRESSED: 1765821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mouse_press_count_++; 1775821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 1785821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) case ui::ET_MOUSE_RELEASED: 1795821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mouse_release_count_++; 1805821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 1815821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) default: 1825821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) break; 1835821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) } 1845821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 1855821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 1865d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)void EventCountDelegate::OnGestureEvent(ui::GestureEvent* event) { 1875d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gesture_count_++; 1885d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 1895d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 1905821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)std::string EventCountDelegate::GetMouseMotionCountsAndReset() { 1912a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string result = base::StringPrintf("%d %d %d", 1922a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mouse_enter_count_, 1932a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mouse_move_count_, 1942a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mouse_leave_count_); 1955821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mouse_enter_count_ = 0; 1965821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mouse_move_count_ = 0; 1975821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mouse_leave_count_ = 0; 1985821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return result; 1995821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2005821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2015821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)std::string EventCountDelegate::GetMouseButtonCountsAndReset() { 2022a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string result = base::StringPrintf("%d %d", 2032a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mouse_press_count_, 2042a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) mouse_release_count_); 2055821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mouse_press_count_ = 0; 2065821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mouse_release_count_ = 0; 2075821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return result; 2085821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2095821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)std::string EventCountDelegate::GetKeyCountsAndReset() { 2122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) std::string result = base::StringPrintf("%d %d", 2132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) key_press_count_, 2142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles) key_release_count_); 2155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) key_press_count_ = 0; 2165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) key_release_count_ = 0; 2175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) return result; 2185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 2195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 2205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)int EventCountDelegate::GetGestureCountAndReset() { 2215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) int gesture_count = gesture_count_; 2225d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) gesture_count_ = 0; 2235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return gesture_count; 2245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} 2255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 2265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace test 2275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace aura 228