Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(72)

Side by Side Diff: ppapi/thunk/ppb_file_ref_thunk.cc

Issue 10081020: PPAPI: Make blocking completion callbacks work. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Updated TestURLLoader to test blocking callbacks. Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 "ppapi/c/pp_file_info.h" 5 #include "ppapi/c/pp_file_info.h"
6 #include "ppapi/c/ppb_file_ref.h" 6 #include "ppapi/c/ppb_file_ref.h"
7 #include "ppapi/c/pp_completion_callback.h" 7 #include "ppapi/c/pp_completion_callback.h"
8 #include "ppapi/c/pp_errors.h" 8 #include "ppapi/c/pp_errors.h"
9 #include "ppapi/c/private/ppb_file_ref_private.h" 9 #include "ppapi/c/private/ppb_file_ref_private.h"
10 #include "ppapi/thunk/enter.h" 10 #include "ppapi/thunk/enter.h"
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 return enter.object()->GetParent(); 59 return enter.object()->GetParent();
60 } 60 }
61 61
62 int32_t MakeDirectory(PP_Resource directory_ref, 62 int32_t MakeDirectory(PP_Resource directory_ref,
63 PP_Bool make_ancestors, 63 PP_Bool make_ancestors,
64 PP_CompletionCallback callback) { 64 PP_CompletionCallback callback) {
65 EnterFileRef enter(directory_ref, callback, true); 65 EnterFileRef enter(directory_ref, callback, true);
66 if (enter.failed()) 66 if (enter.failed())
67 return enter.retval(); 67 return enter.retval();
68 return enter.SetResult(enter.object()->MakeDirectory(make_ancestors, 68 return enter.SetResult(enter.object()->MakeDirectory(make_ancestors,
69 callback)); 69 enter.callback()));
70 } 70 }
71 71
72 int32_t Touch(PP_Resource file_ref, 72 int32_t Touch(PP_Resource file_ref,
73 PP_Time last_access_time, 73 PP_Time last_access_time,
74 PP_Time last_modified_time, 74 PP_Time last_modified_time,
75 PP_CompletionCallback callback) { 75 PP_CompletionCallback callback) {
76 EnterFileRef enter(file_ref, callback, true); 76 EnterFileRef enter(file_ref, callback, true);
77 if (enter.failed()) 77 if (enter.failed())
78 return enter.retval(); 78 return enter.retval();
79 return enter.SetResult(enter.object()->Touch( 79 return enter.SetResult(enter.object()->Touch(
80 last_access_time, last_modified_time, callback)); 80 last_access_time, last_modified_time, enter.callback()));
81 } 81 }
82 82
83 int32_t Delete(PP_Resource file_ref, 83 int32_t Delete(PP_Resource file_ref,
84 PP_CompletionCallback callback) { 84 PP_CompletionCallback callback) {
85 EnterFileRef enter(file_ref, callback, true); 85 EnterFileRef enter(file_ref, callback, true);
86 if (enter.failed()) 86 if (enter.failed())
87 return enter.retval(); 87 return enter.retval();
88 return enter.SetResult(enter.object()->Delete(callback)); 88 return enter.SetResult(enter.object()->Delete(enter.callback()));
89 } 89 }
90 90
91 int32_t Rename(PP_Resource file_ref, 91 int32_t Rename(PP_Resource file_ref,
92 PP_Resource new_file_ref, 92 PP_Resource new_file_ref,
93 PP_CompletionCallback callback) { 93 PP_CompletionCallback callback) {
94 EnterFileRef enter(file_ref, callback, true); 94 EnterFileRef enter(file_ref, callback, true);
95 if (enter.failed()) 95 if (enter.failed())
96 return enter.retval(); 96 return enter.retval();
97 return enter.SetResult(enter.object()->Rename(new_file_ref, callback)); 97 return enter.SetResult(enter.object()->Rename(new_file_ref,
98 enter.callback()));
98 } 99 }
99 100
100 PP_Var GetAbsolutePath(PP_Resource file_ref) { 101 PP_Var GetAbsolutePath(PP_Resource file_ref) {
101 EnterFileRef enter(file_ref, true); 102 EnterFileRef enter(file_ref, true);
102 if (enter.failed()) 103 if (enter.failed())
103 return PP_MakeUndefined(); 104 return PP_MakeUndefined();
104 return enter.object()->GetAbsolutePath(); 105 return enter.object()->GetAbsolutePath();
105 } 106 }
106 107
107 const PPB_FileRef g_ppb_file_ref_thunk = { 108 const PPB_FileRef g_ppb_file_ref_thunk = {
(...skipping 18 matching lines...) Expand all
126 const PPB_FileRef_1_0* GetPPB_FileRef_1_0_Thunk() { 127 const PPB_FileRef_1_0* GetPPB_FileRef_1_0_Thunk() {
127 return &g_ppb_file_ref_thunk; 128 return &g_ppb_file_ref_thunk;
128 } 129 }
129 130
130 const PPB_FileRefPrivate_0_1* GetPPB_FileRefPrivate_0_1_Thunk() { 131 const PPB_FileRefPrivate_0_1* GetPPB_FileRefPrivate_0_1_Thunk() {
131 return &g_ppb_file_ref_private_thunk; 132 return &g_ppb_file_ref_private_thunk;
132 } 133 }
133 134
134 } // namespace thunk 135 } // namespace thunk
135 } // namespace ppapi 136 } // namespace ppapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698