summaryrefslogtreecommitdiffstats
path: root/webkit/glue/plugins/pepper_private2.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue/plugins/pepper_private2.cc')
-rw-r--r--webkit/glue/plugins/pepper_private2.cc243
1 files changed, 0 insertions, 243 deletions
diff --git a/webkit/glue/plugins/pepper_private2.cc b/webkit/glue/plugins/pepper_private2.cc
deleted file mode 100644
index 8492b65..0000000
--- a/webkit/glue/plugins/pepper_private2.cc
+++ /dev/null
@@ -1,243 +0,0 @@
-// 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 "webkit/glue/plugins/pepper_private2.h"
-
-#include <string.h>
-
-#include "base/file_path.h"
-#include "base/stringprintf.h"
-#include "base/utf_string_conversions.h"
-#include "googleurl/src/gurl.h"
-#include "ppapi/c/dev/pp_file_info_dev.h"
-#include "ppapi/c/dev/ppb_file_io_dev.h"
-#include "webkit/glue/plugins/pepper_error_util.h"
-#include "webkit/glue/plugins/pepper_plugin_delegate.h"
-#include "webkit/glue/plugins/pepper_plugin_instance.h"
-#include "webkit/glue/plugins/pepper_plugin_module.h"
-#include "webkit/glue/plugins/pepper_var.h"
-#include "webkit/glue/plugins/ppb_private2.h"
-
-namespace pepper {
-
-namespace {
-
-PluginInstance* GetSomeInstance(PP_Module pp_module) {
- PluginModule* module = ResourceTracker::Get()->GetModule(pp_module);
- if (!module)
- return NULL;
-
- return module->GetSomeInstance();
-}
-
-void SetInstanceAlwaysOnTop(PP_Instance pp_instance, bool on_top) {
- PluginInstance* instance = ResourceTracker::Get()->GetInstance(pp_instance);
- if (!instance)
- return;
- instance->set_always_on_top(on_top);
-}
-
-PP_Var GetProxyForURL(PP_Module pp_module, const char* url) {
- PluginInstance* instance = GetSomeInstance(pp_module);
- if (!instance)
- return PP_MakeUndefined();
-
- GURL gurl(url);
- if (!gurl.is_valid())
- return PP_MakeUndefined();
-
- std::string proxy_host = instance->delegate()->ResolveProxy(gurl);
- if (proxy_host.empty())
- return PP_MakeUndefined(); // No proxy.
- return StringVar::StringToPPVar(instance->module(), proxy_host);
-}
-
-FilePath GetFilePathFromUTF8(const char* path) {
-#if defined(OS_WIN)
- return FilePath(UTF8ToUTF16(path));
-#else
- return FilePath(path);
-#endif
-}
-
-int32_t OpenModuleLocalFile(PP_Module module,
- const char* path,
- int32_t mode,
- PP_FileHandle* file) {
- PluginInstance* instance = GetSomeInstance(module);
- if (!instance)
- return PP_ERROR_FAILED;
-
- int flags = 0;
- if (mode & PP_FILEOPENFLAG_READ)
- flags |= base::PLATFORM_FILE_READ;
- if (mode & PP_FILEOPENFLAG_WRITE) {
- flags |= base::PLATFORM_FILE_WRITE;
- flags |= base::PLATFORM_FILE_WRITE_ATTRIBUTES;
- }
- if (mode & PP_FILEOPENFLAG_TRUNCATE) {
- DCHECK(mode & PP_FILEOPENFLAG_WRITE);
- flags |= base::PLATFORM_FILE_TRUNCATE;
- }
-
- if (mode & PP_FILEOPENFLAG_CREATE) {
- if (mode & PP_FILEOPENFLAG_EXCLUSIVE)
- flags |= base::PLATFORM_FILE_CREATE;
- else
- flags |= base::PLATFORM_FILE_OPEN_ALWAYS;
- } else {
- flags |= base::PLATFORM_FILE_OPEN;
- }
-
- base::PlatformFile base_file;
- base::PlatformFileError result = instance->delegate()->OpenModuleLocalFile(
- instance->module()->name(),
- GetFilePathFromUTF8(path),
- flags,
- &base_file);
- *file = base_file;
- return PlatformFileErrorToPepperError(result);
-}
-
-
-int32_t RenameModuleLocalFile(PP_Module module,
- const char* path_from,
- const char* path_to) {
- PluginInstance* instance = GetSomeInstance(module);
- if (!instance)
- return PP_ERROR_FAILED;
-
- base::PlatformFileError result = instance->delegate()->RenameModuleLocalFile(
- instance->module()->name(),
- GetFilePathFromUTF8(path_from),
- GetFilePathFromUTF8(path_to));
- return PlatformFileErrorToPepperError(result);
-}
-
-int32_t DeleteModuleLocalFileOrDir(PP_Module module,
- const char* path,
- bool recursive) {
- PluginInstance* instance = GetSomeInstance(module);
- if (!instance)
- return PP_ERROR_FAILED;
-
- base::PlatformFileError result =
- instance->delegate()->DeleteModuleLocalFileOrDir(
- instance->module()->name(), GetFilePathFromUTF8(path), recursive);
- return PlatformFileErrorToPepperError(result);
-}
-
-int32_t CreateModuleLocalDir(PP_Module module, const char* path) {
- PluginInstance* instance = GetSomeInstance(module);
- if (!instance)
- return PP_ERROR_FAILED;
-
- base::PlatformFileError result = instance->delegate()->CreateModuleLocalDir(
- instance->module()->name(), GetFilePathFromUTF8(path));
- return PlatformFileErrorToPepperError(result);
-}
-
-int32_t QueryModuleLocalFile(PP_Module module,
- const char* path,
- PP_FileInfo_Dev* info) {
- PluginInstance* instance = GetSomeInstance(module);
- if (!instance)
- return PP_ERROR_FAILED;
-
- base::PlatformFileInfo file_info;
- base::PlatformFileError result = instance->delegate()->QueryModuleLocalFile(
- instance->module()->name(), GetFilePathFromUTF8(path), &file_info);
- if (result == base::PLATFORM_FILE_OK) {
- info->size = file_info.size;
- info->creation_time = file_info.creation_time.ToDoubleT();
- info->last_access_time = file_info.last_accessed.ToDoubleT();
- info->last_modified_time = file_info.last_modified.ToDoubleT();
- info->system_type = PP_FILESYSTEMTYPE_EXTERNAL;
- if (file_info.is_directory)
- info->type = PP_FILETYPE_DIRECTORY;
- else
- info->type = PP_FILETYPE_REGULAR;
- }
- return PlatformFileErrorToPepperError(result);
-}
-
-int32_t GetModuleLocalDirContents(PP_Module module,
- const char* path,
- PP_DirContents_Dev** contents) {
- PluginInstance* instance = GetSomeInstance(module);
- if (!instance)
- return PP_ERROR_FAILED;
-
- *contents = NULL;
- PepperDirContents pepper_contents;
- base::PlatformFileError result =
- instance->delegate()->GetModuleLocalDirContents(
- instance->module()->name(),
- GetFilePathFromUTF8(path),
- &pepper_contents);
-
- if (result != base::PLATFORM_FILE_OK)
- return PlatformFileErrorToPepperError(result);
-
- *contents = new PP_DirContents_Dev;
- size_t count = pepper_contents.size();
- (*contents)->count = count;
- (*contents)->entries = new PP_DirEntry_Dev[count];
- for (size_t i = 0; i < count; ++i) {
- PP_DirEntry_Dev& entry = (*contents)->entries[i];
-#if defined(OS_WIN)
- const std::string& name = UTF16ToUTF8(pepper_contents[i].name.value());
-#else
- const std::string& name = pepper_contents[i].name.value();
-#endif
- size_t size = name.size() + 1;
- char* name_copy = new char[size];
- memcpy(name_copy, name.c_str(), size);
- entry.name = name_copy;
- entry.is_dir = pepper_contents[i].is_dir;
- }
- return PP_OK;
-}
-
-void FreeModuleLocalDirContents(PP_Module module,
- PP_DirContents_Dev* contents) {
- DCHECK(contents);
- for (int32_t i = 0; i < contents->count; ++i) {
- delete [] contents->entries[i].name;
- }
- delete [] contents->entries;
- delete contents;
-}
-
-bool NavigateToURL(PP_Instance pp_instance,
- const char* url,
- const char* target) {
- PluginInstance* instance = ResourceTracker::Get()->GetInstance(pp_instance);
- if (!instance)
- return false;
- return instance->NavigateToURL(url, target);
-}
-
-const PPB_Private2 ppb_private2 = {
- &SetInstanceAlwaysOnTop,
- &Private2::DrawGlyphs,
- &GetProxyForURL,
- &OpenModuleLocalFile,
- &RenameModuleLocalFile,
- &DeleteModuleLocalFileOrDir,
- &CreateModuleLocalDir,
- &QueryModuleLocalFile,
- &GetModuleLocalDirContents,
- &FreeModuleLocalDirContents,
- &NavigateToURL,
-};
-
-} // namespace
-
-// static
-const PPB_Private2* Private2::GetInterface() {
- return &ppb_private2;
-}
-
-} // namespace pepper