| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 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 | 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 "webkit/plugins/ppapi/ppb_flash_impl.h" | 5 #include "webkit/plugins/ppapi/ppb_flash_impl.h" |
| 6 | 6 |
| 7 #include <string.h> | 7 #include <string.h> |
| 8 | 8 |
| 9 #include "base/file_path.h" | 9 #include "base/file_path.h" |
| 10 #include "base/stringprintf.h" | 10 #include "base/stringprintf.h" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h" | 21 #include "webkit/plugins/ppapi/ppapi_plugin_instance.h" |
| 22 #include "webkit/plugins/ppapi/var.h" | 22 #include "webkit/plugins/ppapi/var.h" |
| 23 | 23 |
| 24 namespace webkit { | 24 namespace webkit { |
| 25 namespace ppapi { | 25 namespace ppapi { |
| 26 | 26 |
| 27 // PPB_Flash_Impl -------------------------------------------------------------- | 27 // PPB_Flash_Impl -------------------------------------------------------------- |
| 28 | 28 |
| 29 namespace { | 29 namespace { |
| 30 | 30 |
| 31 void SetInstanceAlwaysOnTop(PP_Instance pp_instance, bool on_top) { | 31 void SetInstanceAlwaysOnTop(PP_Instance pp_instance, PP_Bool on_top) { |
| 32 PluginInstance* instance = ResourceTracker::Get()->GetInstance(pp_instance); | 32 PluginInstance* instance = ResourceTracker::Get()->GetInstance(pp_instance); |
| 33 if (!instance) | 33 if (!instance) |
| 34 return; | 34 return; |
| 35 instance->set_always_on_top(on_top); | 35 instance->set_always_on_top(on_top); |
| 36 } | 36 } |
| 37 | 37 |
| 38 PP_Var GetProxyForURL(PP_Instance pp_instance, const char* url) { | 38 PP_Var GetProxyForURL(PP_Instance pp_instance, const char* url) { |
| 39 PluginInstance* instance = ResourceTracker::Get()->GetInstance(pp_instance); | 39 PluginInstance* instance = ResourceTracker::Get()->GetInstance(pp_instance); |
| 40 if (!instance) | 40 if (!instance) |
| 41 return PP_MakeUndefined(); | 41 return PP_MakeUndefined(); |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 | 107 |
| 108 base::PlatformFileError result = instance->delegate()->RenameModuleLocalFile( | 108 base::PlatformFileError result = instance->delegate()->RenameModuleLocalFile( |
| 109 instance->module()->name(), | 109 instance->module()->name(), |
| 110 GetFilePathFromUTF8(path_from), | 110 GetFilePathFromUTF8(path_from), |
| 111 GetFilePathFromUTF8(path_to)); | 111 GetFilePathFromUTF8(path_to)); |
| 112 return PlatformFileErrorToPepperError(result); | 112 return PlatformFileErrorToPepperError(result); |
| 113 } | 113 } |
| 114 | 114 |
| 115 int32_t DeleteModuleLocalFileOrDir(PP_Instance pp_instance, | 115 int32_t DeleteModuleLocalFileOrDir(PP_Instance pp_instance, |
| 116 const char* path, | 116 const char* path, |
| 117 bool recursive) { | 117 PP_Bool recursive) { |
| 118 PluginInstance* instance = ResourceTracker::Get()->GetInstance(pp_instance); | 118 PluginInstance* instance = ResourceTracker::Get()->GetInstance(pp_instance); |
| 119 if (!instance) | 119 if (!instance) |
| 120 return PP_ERROR_FAILED; | 120 return PP_ERROR_FAILED; |
| 121 | 121 |
| 122 base::PlatformFileError result = | 122 base::PlatformFileError result = |
| 123 instance->delegate()->DeleteModuleLocalFileOrDir( | 123 instance->delegate()->DeleteModuleLocalFileOrDir( |
| 124 instance->module()->name(), GetFilePathFromUTF8(path), recursive); | 124 instance->module()->name(), GetFilePathFromUTF8(path), recursive); |
| 125 return PlatformFileErrorToPepperError(result); | 125 return PlatformFileErrorToPepperError(result); |
| 126 } | 126 } |
| 127 | 127 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 185 PP_DirEntry_Dev& entry = (*contents)->entries[i]; | 185 PP_DirEntry_Dev& entry = (*contents)->entries[i]; |
| 186 #if defined(OS_WIN) | 186 #if defined(OS_WIN) |
| 187 const std::string& name = UTF16ToUTF8(pepper_contents[i].name.value()); | 187 const std::string& name = UTF16ToUTF8(pepper_contents[i].name.value()); |
| 188 #else | 188 #else |
| 189 const std::string& name = pepper_contents[i].name.value(); | 189 const std::string& name = pepper_contents[i].name.value(); |
| 190 #endif | 190 #endif |
| 191 size_t size = name.size() + 1; | 191 size_t size = name.size() + 1; |
| 192 char* name_copy = new char[size]; | 192 char* name_copy = new char[size]; |
| 193 memcpy(name_copy, name.c_str(), size); | 193 memcpy(name_copy, name.c_str(), size); |
| 194 entry.name = name_copy; | 194 entry.name = name_copy; |
| 195 entry.is_dir = pepper_contents[i].is_dir; | 195 entry.is_dir = BoolToPPBool(pepper_contents[i].is_dir); |
| 196 } | 196 } |
| 197 return PP_OK; | 197 return PP_OK; |
| 198 } | 198 } |
| 199 | 199 |
| 200 void FreeModuleLocalDirContents(PP_Instance instance, | 200 void FreeModuleLocalDirContents(PP_Instance instance, |
| 201 PP_DirContents_Dev* contents) { | 201 PP_DirContents_Dev* contents) { |
| 202 DCHECK(contents); | 202 DCHECK(contents); |
| 203 for (int32_t i = 0; i < contents->count; ++i) { | 203 for (int32_t i = 0; i < contents->count; ++i) { |
| 204 delete [] contents->entries[i].name; | 204 delete [] contents->entries[i].name; |
| 205 } | 205 } |
| 206 delete [] contents->entries; | 206 delete [] contents->entries; |
| 207 delete contents; | 207 delete contents; |
| 208 } | 208 } |
| 209 | 209 |
| 210 bool NavigateToURL(PP_Instance pp_instance, | 210 PP_Bool NavigateToURL(PP_Instance pp_instance, |
| 211 const char* url, | 211 const char* url, |
| 212 const char* target) { | 212 const char* target) { |
| 213 PluginInstance* instance = ResourceTracker::Get()->GetInstance(pp_instance); | 213 PluginInstance* instance = ResourceTracker::Get()->GetInstance(pp_instance); |
| 214 if (!instance) | 214 if (!instance) |
| 215 return false; | 215 return PP_FALSE; |
| 216 return instance->NavigateToURL(url, target); | 216 return BoolToPPBool(instance->NavigateToURL(url, target)); |
| 217 } | 217 } |
| 218 | 218 |
| 219 const PPB_Flash ppb_flash = { | 219 const PPB_Flash ppb_flash = { |
| 220 &SetInstanceAlwaysOnTop, | 220 &SetInstanceAlwaysOnTop, |
| 221 &PPB_Flash_Impl::DrawGlyphs, | 221 &PPB_Flash_Impl::DrawGlyphs, |
| 222 &GetProxyForURL, | 222 &GetProxyForURL, |
| 223 &OpenModuleLocalFile, | 223 &OpenModuleLocalFile, |
| 224 &RenameModuleLocalFile, | 224 &RenameModuleLocalFile, |
| 225 &DeleteModuleLocalFileOrDir, | 225 &DeleteModuleLocalFileOrDir, |
| 226 &CreateModuleLocalDir, | 226 &CreateModuleLocalDir, |
| (...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 420 // Wipe everything else out for safety. | 420 // Wipe everything else out for safety. |
| 421 socket_out_ = NULL; | 421 socket_out_ = NULL; |
| 422 local_addr_out_ = NULL; | 422 local_addr_out_ = NULL; |
| 423 remote_addr_out_ = NULL; | 423 remote_addr_out_ = NULL; |
| 424 | 424 |
| 425 callback->Run(rv); // Will complete abortively if necessary. | 425 callback->Run(rv); // Will complete abortively if necessary. |
| 426 } | 426 } |
| 427 | 427 |
| 428 } // namespace ppapi | 428 } // namespace ppapi |
| 429 } // namespace webkit | 429 } // namespace webkit |
| OLD | NEW |