// Copyright (c) 2010 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 "ppapi/tests/test_scrollbar.h" #include "ppapi/c/pp_input_event.h" #include "ppapi/cpp/instance.h" #include "ppapi/cpp/rect.h" #include "ppapi/tests/testing_instance.h" REGISTER_TEST_CASE(Scrollbar); TestScrollbar::TestScrollbar(TestingInstance* instance) : TestCase(instance), WidgetClient_Dev(instance), scrollbar_(*instance, true), scrollbar_value_changed_(false) { } void TestScrollbar::RunTest() { instance_->LogTest("HandleEvent", TestHandleEvent()); } std::string TestScrollbar::TestHandleEvent() { pp::Rect location; location.set_width(1000); location.set_height(1000); scrollbar_.SetLocation(location); scrollbar_.SetDocumentSize(10000); PP_InputEvent event; event.type = PP_INPUTEVENT_TYPE_KEYDOWN; event.u.key.key_code = 0x28; // VKEY_DOWN scrollbar_.HandleEvent(event); return scrollbar_value_changed_ ? "" : "Didn't get callback for scrollbar value change"; } void TestScrollbar::InvalidateWidget(pp::Widget_Dev widget, const pp::Rect& dirty_rect) { } void TestScrollbar::ScrollbarValueChanged(pp::Scrollbar_Dev scrollbar, uint32_t value) { if (scrollbar == scrollbar_) scrollbar_value_changed_ = true; }