summaryrefslogtreecommitdiffstats
path: root/webkit/glue/plugins/pepper_plugin_delegate.h
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue/plugins/pepper_plugin_delegate.h')
-rw-r--r--webkit/glue/plugins/pepper_plugin_delegate.h281
1 files changed, 0 insertions, 281 deletions
diff --git a/webkit/glue/plugins/pepper_plugin_delegate.h b/webkit/glue/plugins/pepper_plugin_delegate.h
deleted file mode 100644
index 7032c2c..0000000
--- a/webkit/glue/plugins/pepper_plugin_delegate.h
+++ /dev/null
@@ -1,281 +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.
-
-#ifndef WEBKIT_GLUE_PLUGINS_PEPPER_PLUGIN_DELEGATE_H_
-#define WEBKIT_GLUE_PLUGINS_PEPPER_PLUGIN_DELEGATE_H_
-
-#include <string>
-
-#include "base/callback.h"
-#include "base/platform_file.h"
-#include "base/ref_counted.h"
-#include "base/shared_memory.h"
-#include "base/sync_socket.h"
-#include "gfx/size.h"
-#include "googleurl/src/gurl.h"
-#include "ppapi/c/pp_completion_callback.h"
-#include "ppapi/c/pp_errors.h"
-#include "ppapi/c/pp_stdint.h"
-#include "webkit/fileapi/file_system_types.h"
-#include "webkit/glue/plugins/pepper_dir_contents.h"
-
-class AudioMessageFilter;
-class GURL;
-
-namespace base {
-class MessageLoopProxy;
-class Time;
-}
-
-namespace fileapi {
-class FileSystemCallbackDispatcher;
-}
-
-namespace gfx {
-class Rect;
-}
-
-namespace gpu {
-namespace gles2 {
-class GLES2Implementation;
-}
-}
-
-namespace skia {
-class PlatformCanvas;
-}
-
-namespace WebKit {
-class WebFileChooserCompletion;
-struct WebFileChooserParams;
-}
-
-struct PP_VideoCompressedDataBuffer_Dev;
-struct PP_VideoDecoderConfig_Dev;
-struct PP_VideoUncompressedDataBuffer_Dev;
-
-class TransportDIB;
-
-namespace pepper {
-
-class FileIO;
-class PluginInstance;
-class FullscreenContainer;
-
-// Virtual interface that the browser implements to implement features for
-// Pepper plugins.
-class PluginDelegate {
- public:
- // Represents an image. This is to allow the browser layer to supply a correct
- // image representation. In Chrome, this will be a TransportDIB.
- class PlatformImage2D {
- public:
- virtual ~PlatformImage2D() {}
-
- // Caller will own the returned pointer, returns NULL on failure.
- virtual skia::PlatformCanvas* Map() = 0;
-
- // Returns the platform-specific shared memory handle of the data backing
- // this image. This is used by PPAPI proxying to send the image to the
- // out-of-process plugin. On success, the size in bytes will be placed into
- // |*bytes_count|. Returns 0 on failure.
- virtual intptr_t GetSharedMemoryHandle(uint32* byte_count) const = 0;
-
- virtual TransportDIB* GetTransportDIB() const = 0;
- };
-
- class PlatformContext3D {
- public:
- virtual ~PlatformContext3D() {}
-
- // Initialize the context.
- virtual bool Init() = 0;
-
- // Present the rendered frame to the compositor.
- virtual bool SwapBuffers() = 0;
-
- // Get the last EGL error.
- virtual unsigned GetError() = 0;
-
- // Resize the backing texture used as a back buffer by OpenGL.
- virtual void ResizeBackingTexture(const gfx::Size& size) = 0;
-
- // Set an optional callback that will be invoked when the side effects of
- // a SwapBuffers call become visible to the compositor. Takes ownership
- // of the callback.
- virtual void SetSwapBuffersCallback(Callback0::Type* callback) = 0;
-
- // If the plugin instance is backed by an OpenGL, return its ID in the
- // compositors namespace. Otherwise return 0. Returns 0 by default.
- virtual unsigned GetBackingTextureId() = 0;
-
- // This call will return the address of the GLES2 implementation for this
- // context that is constructed in Initialize() and is valid until this
- // context is destroyed.
- virtual gpu::gles2::GLES2Implementation* GetGLES2Implementation() = 0;
- };
-
- class PlatformAudio {
- public:
- class Client {
- protected:
- virtual ~Client() {}
-
- public:
- // Called when the stream is created.
- virtual void StreamCreated(base::SharedMemoryHandle shared_memory_handle,
- size_t shared_memory_size,
- base::SyncSocket::Handle socket) = 0;
- };
-
- // Starts the playback. Returns false on error or if called before the
- // stream is created or after the stream is closed.
- virtual bool StartPlayback() = 0;
-
- // Stops the playback. Returns false on error or if called before the stream
- // is created or after the stream is closed.
- virtual bool StopPlayback() = 0;
-
- // Closes the stream. Make sure to call this before the object is
- // destructed.
- virtual void ShutDown() = 0;
-
- protected:
- virtual ~PlatformAudio() {}
- };
-
- class PlatformVideoDecoder {
- public:
- virtual ~PlatformVideoDecoder() {}
-
- // Returns false on failure.
- virtual bool Decode(PP_VideoCompressedDataBuffer_Dev& input_buffer) = 0;
- virtual int32_t Flush(PP_CompletionCallback& callback) = 0;
- virtual bool ReturnUncompressedDataBuffer(
- PP_VideoUncompressedDataBuffer_Dev& buffer) = 0;
- };
-
- // Indicates that the given instance has been created.
- virtual void InstanceCreated(pepper::PluginInstance* instance) = 0;
-
- // Indicates that the given instance is being destroyed. This is called from
- // the destructor, so it's important that the instance is not dereferenced
- // from this call.
- virtual void InstanceDeleted(pepper::PluginInstance* instance) = 0;
-
- // The caller will own the pointer returned from this.
- virtual PlatformImage2D* CreateImage2D(int width, int height) = 0;
-
- // The caller will own the pointer returned from this.
- virtual PlatformContext3D* CreateContext3D() = 0;
-
- // The caller will own the pointer returned from this.
- virtual PlatformVideoDecoder* CreateVideoDecoder(
- const PP_VideoDecoderConfig_Dev& decoder_config) = 0;
-
- // The caller will own the pointer returned from this.
- virtual PlatformAudio* CreateAudio(uint32_t sample_rate,
- uint32_t sample_count,
- PlatformAudio::Client* client) = 0;
-
- // Notifies that the number of find results has changed.
- virtual void NumberOfFindResultsChanged(int identifier,
- int total,
- bool final_result) = 0;
-
- // Notifies that the index of the currently selected item has been updated.
- virtual void SelectedFindResultChanged(int identifier, int index) = 0;
-
- // Runs a file chooser.
- virtual bool RunFileChooser(
- const WebKit::WebFileChooserParams& params,
- WebKit::WebFileChooserCompletion* chooser_completion) = 0;
-
- // Sends an async IPC to open a file.
- typedef Callback2<base::PlatformFileError, base::PlatformFile
- >::Type AsyncOpenFileCallback;
- virtual bool AsyncOpenFile(const FilePath& path,
- int flags,
- AsyncOpenFileCallback* callback) = 0;
- virtual bool OpenFileSystem(
- const GURL& url,
- fileapi::FileSystemType type,
- long long size,
- fileapi::FileSystemCallbackDispatcher* dispatcher) = 0;
- virtual bool MakeDirectory(
- const FilePath& path,
- bool recursive,
- fileapi::FileSystemCallbackDispatcher* dispatcher) = 0;
- virtual bool Query(const FilePath& path,
- fileapi::FileSystemCallbackDispatcher* dispatcher) = 0;
- virtual bool Touch(const FilePath& path,
- const base::Time& last_access_time,
- const base::Time& last_modified_time,
- fileapi::FileSystemCallbackDispatcher* dispatcher) = 0;
- virtual bool Delete(const FilePath& path,
- fileapi::FileSystemCallbackDispatcher* dispatcher) = 0;
- virtual bool Rename(const FilePath& file_path,
- const FilePath& new_file_path,
- fileapi::FileSystemCallbackDispatcher* dispatcher) = 0;
- virtual bool ReadDirectory(
- const FilePath& directory_path,
- fileapi::FileSystemCallbackDispatcher* dispatcher) = 0;
-
- virtual base::PlatformFileError OpenModuleLocalFile(
- const std::string& module_name,
- const FilePath& path,
- int flags,
- base::PlatformFile* file) = 0;
- virtual base::PlatformFileError RenameModuleLocalFile(
- const std::string& module_name,
- const FilePath& path_from,
- const FilePath& path_to) = 0;
- virtual base::PlatformFileError DeleteModuleLocalFileOrDir(
- const std::string& module_name,
- const FilePath& path,
- bool recursive) = 0;
- virtual base::PlatformFileError CreateModuleLocalDir(
- const std::string& module_name,
- const FilePath& path) = 0;
- virtual base::PlatformFileError QueryModuleLocalFile(
- const std::string& module_name,
- const FilePath& path,
- base::PlatformFileInfo* info) = 0;
- virtual base::PlatformFileError GetModuleLocalDirContents(
- const std::string& module_name,
- const FilePath& path,
- PepperDirContents* contents) = 0;
-
- // Returns a MessageLoopProxy instance associated with the message loop
- // of the file thread in this renderer.
- virtual scoped_refptr<base::MessageLoopProxy>
- GetFileThreadMessageLoopProxy() = 0;
-
- // Create a fullscreen container for a plugin instance. This effectively
- // switches the plugin to fullscreen.
- virtual FullscreenContainer* CreateFullscreenContainer(
- PluginInstance* instance) = 0;
-
- // Returns a string with the name of the default 8-bit char encoding.
- virtual std::string GetDefaultEncoding() = 0;
-
- // Sets the mininum and maximium zoom factors.
- virtual void ZoomLimitsChanged(double minimum_factor,
- double maximum_factor) = 0;
-
- // Retrieves the proxy information for the given URL in PAC format. On error,
- // this will return an empty string.
- virtual std::string ResolveProxy(const GURL& url) = 0;
-
- // Tell the browser when resource loading starts/ends.
- virtual void DidStartLoading() = 0;
- virtual void DidStopLoading() = 0;
-
- // Sets restrictions on how the content can be used (i.e. no print/copy).
- virtual void SetContentRestriction(int restrictions) = 0;
-};
-
-} // namespace pepper
-
-#endif // WEBKIT_GLUE_PLUGINS_PEPPER_PLUGIN_DELEGATE_H_