• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 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 "ppapi/tests/test_scrollbar.h"
6 
7 #include <cstring>
8 
9 #include "ppapi/c/pp_input_event.h"
10 #include "ppapi/cpp/input_event.h"
11 #include "ppapi/cpp/instance.h"
12 #include "ppapi/cpp/rect.h"
13 #include "ppapi/tests/testing_instance.h"
14 
15 REGISTER_TEST_CASE(Scrollbar);
16 
TestScrollbar(TestingInstance * instance)17 TestScrollbar::TestScrollbar(TestingInstance* instance)
18     : TestCase(instance),
19       WidgetClient_Dev(instance),
20       scrollbar_(instance, true),
21       scrollbar_value_changed_(false) {
22 }
23 
Init()24 bool TestScrollbar::Init() {
25   return CheckTestingInterface();
26 }
27 
RunTests(const std::string & filter)28 void TestScrollbar::RunTests(const std::string& filter) {
29   RUN_TEST(HandleEvent, filter);
30 }
31 
TestHandleEvent()32 std::string TestScrollbar::TestHandleEvent() {
33   pp::Rect location;
34   location.set_width(1000);
35   location.set_height(1000);
36   scrollbar_.SetLocation(location);
37 
38   scrollbar_.SetDocumentSize(10000);
39 
40   pp::Core* core = pp::Module::Get()->core();
41   pp::KeyboardInputEvent input_event(
42       instance_, PP_INPUTEVENT_TYPE_KEYDOWN,
43       core->GetTimeTicks(),
44       0,  // Modifier.
45       0x28,  // Key code = VKEY_DOWN.
46       pp::Var(),
47       pp::Var("ArrowDown"));
48   scrollbar_.HandleEvent(input_event);
49 
50   return scrollbar_value_changed_ ?
51       "" : "Didn't get callback for scrollbar value change";
52 }
53 
InvalidateWidget(pp::Widget_Dev widget,const pp::Rect & dirty_rect)54 void TestScrollbar::InvalidateWidget(pp::Widget_Dev widget,
55                                      const pp::Rect& dirty_rect) {
56 }
57 
ScrollbarValueChanged(pp::Scrollbar_Dev scrollbar,uint32_t value)58 void TestScrollbar::ScrollbarValueChanged(pp::Scrollbar_Dev scrollbar,
59                                           uint32_t value) {
60   if (scrollbar == scrollbar_)
61     scrollbar_value_changed_ = true;
62 }
63 
ScrollbarOverlayChanged(pp::Scrollbar_Dev scrollbar,bool type)64 void TestScrollbar::ScrollbarOverlayChanged(pp::Scrollbar_Dev scrollbar,
65                                             bool type) {
66 }
67