OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include <cstring> | 5 #include <cstring> |
6 | 6 |
7 #include "base/message_loop.h" | 7 #include "base/message_loop.h" |
8 #include "ppapi/c/dev/ppb_printing_dev.h" | 8 #include "ppapi/c/dev/ppb_printing_dev.h" |
9 #include "ppapi/c/pp_errors.h" | 9 #include "ppapi/c/pp_errors.h" |
| 10 #include "ppapi/proxy/locking_resource_releaser.h" |
10 #include "ppapi/proxy/printing_resource.h" | 11 #include "ppapi/proxy/printing_resource.h" |
11 #include "ppapi/proxy/ppapi_messages.h" | 12 #include "ppapi/proxy/ppapi_messages.h" |
12 #include "ppapi/proxy/ppapi_proxy_test.h" | 13 #include "ppapi/proxy/ppapi_proxy_test.h" |
13 #include "ppapi/thunk/thunk.h" | 14 #include "ppapi/thunk/thunk.h" |
14 #include "ppapi/shared_impl/scoped_pp_resource.h" | |
15 | 15 |
16 namespace ppapi { | 16 namespace ppapi { |
17 namespace proxy { | 17 namespace proxy { |
18 | 18 |
19 namespace { | 19 namespace { |
20 | 20 |
21 typedef PluginProxyTest PrintingResourceTest; | 21 typedef PluginProxyTest PrintingResourceTest; |
22 | 22 |
23 bool g_callback_called; | 23 bool g_callback_called; |
24 int32_t g_callback_result; | 24 int32_t g_callback_result; |
(...skipping 15 matching lines...) Expand all Loading... |
40 | 40 |
41 } // namespace | 41 } // namespace |
42 | 42 |
43 // Does a full test of GetDefaultPrintSettings() and reply functionality in the | 43 // Does a full test of GetDefaultPrintSettings() and reply functionality in the |
44 // plugin side using the public C interfaces. | 44 // plugin side using the public C interfaces. |
45 TEST_F(PrintingResourceTest, GetDefaultPrintSettings) { | 45 TEST_F(PrintingResourceTest, GetDefaultPrintSettings) { |
46 g_callback_called = false; | 46 g_callback_called = false; |
47 | 47 |
48 const PPB_Printing_Dev_0_7* printing_iface = | 48 const PPB_Printing_Dev_0_7* printing_iface = |
49 thunk::GetPPB_Printing_Dev_0_7_Thunk(); | 49 thunk::GetPPB_Printing_Dev_0_7_Thunk(); |
50 ScopedPPResource res(ScopedPPResource::PassRef(), | 50 LockingResourceReleaser res(printing_iface->Create(pp_instance())); |
51 printing_iface->Create(pp_instance())); | |
52 | 51 |
53 PP_PrintSettings_Dev output_settings; | 52 PP_PrintSettings_Dev output_settings; |
54 | 53 |
55 int32_t result = printing_iface->GetDefaultPrintSettings( | 54 int32_t result = printing_iface->GetDefaultPrintSettings( |
56 res, &output_settings, PP_MakeCompletionCallback(&Callback, NULL)); | 55 res.get(), &output_settings, PP_MakeCompletionCallback(&Callback, NULL)); |
57 ASSERT_EQ(PP_OK_COMPLETIONPENDING, result); | 56 ASSERT_EQ(PP_OK_COMPLETIONPENDING, result); |
58 | 57 |
59 // Should have sent a "GetDefaultPrintSettings" message. | 58 // Should have sent a "GetDefaultPrintSettings" message. |
60 ResourceMessageCallParams params; | 59 ResourceMessageCallParams params; |
61 IPC::Message msg; | 60 IPC::Message msg; |
62 ASSERT_TRUE(sink().GetFirstResourceCallMatching( | 61 ASSERT_TRUE(sink().GetFirstResourceCallMatching( |
63 PpapiHostMsg_Printing_GetDefaultPrintSettings::ID, ¶ms, &msg)); | 62 PpapiHostMsg_Printing_GetDefaultPrintSettings::ID, ¶ms, &msg)); |
64 | 63 |
65 // Synthesize a response with some random print settings. | 64 // Synthesize a response with some random print settings. |
66 ResourceMessageReplyParams reply_params(params.pp_resource(), | 65 ResourceMessageReplyParams reply_params(params.pp_resource(), |
(...skipping 27 matching lines...) Expand all Loading... |
94 output_settings.print_scaling_option); | 93 output_settings.print_scaling_option); |
95 EXPECT_EQ(reply_settings.grayscale, output_settings.grayscale); | 94 EXPECT_EQ(reply_settings.grayscale, output_settings.grayscale); |
96 EXPECT_EQ(reply_settings.format, output_settings.format); | 95 EXPECT_EQ(reply_settings.format, output_settings.format); |
97 | 96 |
98 EXPECT_EQ(g_callback_result, PP_OK); | 97 EXPECT_EQ(g_callback_result, PP_OK); |
99 EXPECT_EQ(g_callback_called, true); | 98 EXPECT_EQ(g_callback_called, true); |
100 } | 99 } |
101 | 100 |
102 } // namespace proxy | 101 } // namespace proxy |
103 } // namespace ppapi | 102 } // namespace ppapi |
OLD | NEW |