Index: content/renderer/npapi/webplugin_delegate_proxy.h |
diff --git a/content/renderer/npapi/webplugin_delegate_proxy.h b/content/renderer/npapi/webplugin_delegate_proxy.h |
deleted file mode 100644 |
index d23b51718f1a7526dd83e91f9520f9c8c0451c3c..0000000000000000000000000000000000000000 |
--- a/content/renderer/npapi/webplugin_delegate_proxy.h |
+++ /dev/null |
@@ -1,243 +0,0 @@ |
-// Copyright (c) 2012 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 CONTENT_RENDERER_NPAPI_WEBPLUGIN_DELEGATE_PROXY_H_ |
-#define CONTENT_RENDERER_NPAPI_WEBPLUGIN_DELEGATE_PROXY_H_ |
- |
-#include <stdint.h> |
- |
-#include <string> |
-#include <vector> |
- |
-#include "base/macros.h" |
-#include "base/memory/ref_counted.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "base/memory/weak_ptr.h" |
-#include "base/sequenced_task_runner_helpers.h" |
-#include "build/build_config.h" |
-#include "content/child/npapi/webplugin_delegate.h" |
-#include "content/public/common/webplugininfo.h" |
-#include "ipc/ipc_listener.h" |
-#include "ipc/ipc_message.h" |
-#include "ipc/ipc_sender.h" |
-#include "skia/ext/refptr.h" |
-#include "ui/gfx/geometry/rect.h" |
-#include "ui/gfx/native_widget_types.h" |
-#include "url/gurl.h" |
- |
-#if defined(OS_MACOSX) |
-#include "base/containers/hash_tables.h" |
-#endif |
- |
-struct NPObject; |
-struct PluginHostMsg_URLRequest_Params; |
-class SkBitmap; |
- |
-namespace base { |
-class WaitableEvent; |
-} |
- |
- |
-namespace content { |
-class PluginChannelHost; |
-class RenderFrameImpl; |
-class RenderViewImpl; |
-class SharedMemoryBitmap; |
-class WebPluginImpl; |
- |
-// An implementation of WebPluginDelegate that proxies all calls to |
-// the plugin process. |
-class WebPluginDelegateProxy |
- : public WebPluginDelegate, |
- public IPC::Listener, |
- public IPC::Sender, |
- public base::SupportsWeakPtr<WebPluginDelegateProxy> { |
- public: |
- WebPluginDelegateProxy(WebPluginImpl* plugin, |
- const std::string& mime_type, |
- const base::WeakPtr<RenderViewImpl>& render_view, |
- RenderFrameImpl* render_frame); |
- |
- // WebPluginDelegate implementation: |
- void PluginDestroyed() override; |
- bool Initialize(const GURL& url, |
- const std::vector<std::string>& arg_names, |
- const std::vector<std::string>& arg_values, |
- bool load_manually) override; |
- void UpdateGeometry(const gfx::Rect& window_rect, |
- const gfx::Rect& clip_rect) override; |
- void Paint(SkCanvas* canvas, const gfx::Rect& rect) override; |
- void SetFocus(bool focused) override; |
- bool HandleInputEvent(const blink::WebInputEvent& event, |
- WebCursor::CursorInfo* cursor) override; |
- int GetProcessId() override; |
- |
- // Informs the plugin that its containing content view has gained or lost |
- // first responder status. |
- virtual void SetContentAreaFocus(bool has_focus); |
-#if defined(OS_MACOSX) |
- // Informs the plugin that its enclosing window has gained or lost focus. |
- virtual void SetWindowFocus(bool window_has_focus); |
- // Informs the plugin that its container (window/tab) has changed visibility. |
- virtual void SetContainerVisibility(bool is_visible); |
- // Informs the plugin that its enclosing window's frame has changed. |
- virtual void WindowFrameChanged(gfx::Rect window_frame, gfx::Rect view_frame); |
- // Informs the plugin that plugin IME has completed. |
- // If |text| is empty, composition was cancelled. |
- virtual void ImeCompositionCompleted(const base::string16& text, |
- int plugin_id); |
-#endif |
- |
- // IPC::Listener implementation: |
- bool OnMessageReceived(const IPC::Message& msg) override; |
- void OnChannelError() override; |
- |
- // IPC::Sender implementation: |
- bool Send(IPC::Message* msg) override; |
- |
- protected: |
- friend class base::DeleteHelper<WebPluginDelegateProxy>; |
- ~WebPluginDelegateProxy() override; |
- |
- private: |
- struct SharedBitmap { |
- SharedBitmap(); |
- ~SharedBitmap(); |
- |
- scoped_ptr<SharedMemoryBitmap> bitmap; |
- skia::RefPtr<SkCanvas> canvas; |
- }; |
- |
- // Message handlers for messages that proxy WebPlugin methods, which |
- // we translate into calls to the real WebPlugin. |
- void OnCompleteURL(const std::string& url_in, std::string* url_out, |
- bool* result); |
- void OnHandleURLRequest(const PluginHostMsg_URLRequest_Params& params); |
- void OnInvalidateRect(const gfx::Rect& rect); |
- void OnResolveProxy(const GURL& url, bool* result, std::string* proxy_list); |
- void OnSetCookie(const GURL& url, |
- const GURL& first_party_for_cookies, |
- const std::string& cookie); |
- void OnGetCookies(const GURL& url, const GURL& first_party_for_cookies, |
- std::string* cookies); |
- void OnCancelDocumentLoad(); |
- void OnInitiateHTTPRangeRequest(const std::string& url, |
- const std::string& range_info, |
- int range_request_id); |
- void OnDidStartLoading(); |
- void OnDidStopLoading(); |
-#if defined(OS_MACOSX) |
- void OnFocusChanged(bool focused); |
- void OnStartIme(); |
- // Accelerated (Core Animation) plugin implementation. |
- void OnAcceleratedPluginEnabledRendering(); |
- void OnAcceleratedPluginAllocatedIOSurface(int32_t width, |
- int32_t height, |
- uint32_t surface_id); |
- void OnAcceleratedPluginSwappedIOSurface(); |
-#endif |
- // Helper function that sends the UpdateGeometry message. |
- void SendUpdateGeometry(bool bitmaps_changed); |
- |
- // Copies the given rectangle from the back-buffer transport_stores_ bitmap to |
- // the front-buffer transport_stores_ bitmap. |
- void CopyFromBackBufferToFrontBuffer(const gfx::Rect& rect); |
- |
- // Updates the front-buffer with the given rectangle from the back-buffer, |
- // either by copying the rectangle or flipping the buffers. |
- void UpdateFrontBuffer(const gfx::Rect& rect, bool allow_buffer_flipping); |
- |
- // Clears the shared memory section and canvases used for windowless plugins. |
- void ResetWindowlessBitmaps(); |
- |
- int front_buffer_index() const { |
- return front_buffer_index_; |
- } |
- |
- int back_buffer_index() const { |
- return 1 - front_buffer_index_; |
- } |
- |
- SkCanvas* front_buffer_canvas() const { |
- return transport_stores_[front_buffer_index()].canvas.get(); |
- } |
- |
- SkCanvas* back_buffer_canvas() const { |
- return transport_stores_[back_buffer_index()].canvas.get(); |
- } |
- |
- SharedMemoryBitmap* front_buffer_bitmap() const { |
- return transport_stores_[front_buffer_index()].bitmap.get(); |
- } |
- |
- SharedMemoryBitmap* back_buffer_bitmap() const { |
- return transport_stores_[back_buffer_index()].bitmap.get(); |
- } |
- |
-#if !defined(OS_WIN) |
- // Creates a process-local memory section and canvas. PlatformCanvas on |
- // Windows only works with a DIB, not arbitrary memory. |
- bool CreateLocalBitmap(std::vector<uint8_t>* memory, |
- skia::RefPtr<SkCanvas>* canvas); |
-#endif |
- |
- // Creates a shared memory section and canvas. |
- bool CreateSharedBitmap(scoped_ptr<SharedMemoryBitmap>* memory, |
- skia::RefPtr<SkCanvas>* canvas); |
- |
- // Called for cleanup during plugin destruction. Normally right before the |
- // plugin window gets destroyed, or when the plugin has crashed (at which |
- // point the window has already been destroyed). |
- void WillDestroyWindow(); |
- |
-#if defined(OS_WIN) |
- // Returns true if we should update the plugin geometry synchronously. |
- bool UseSynchronousGeometryUpdates(); |
-#endif |
- |
- base::WeakPtr<RenderViewImpl> render_view_; |
- RenderFrameImpl* render_frame_; |
- WebPluginImpl* plugin_; |
- bool uses_shared_bitmaps_; |
-#if defined(OS_MACOSX) |
- bool uses_compositor_; |
-#endif |
- scoped_refptr<PluginChannelHost> channel_host_; |
- std::string mime_type_; |
- int instance_id_; |
- WebPluginInfo info_; |
- |
- gfx::Rect plugin_rect_; |
- gfx::Rect clip_rect_; |
- |
- // Bitmap for crashed plugin |
- SkBitmap* sad_plugin_; |
- |
- // True if we got an invalidate from the plugin and are waiting for a paint. |
- bool invalidate_pending_; |
- |
- // If the plugin is transparent or not. |
- bool transparent_; |
- |
- // The index in the transport_stores_ array of the current front buffer |
- // (i.e., the buffer to display). |
- int front_buffer_index_; |
- SharedBitmap transport_stores_[2]; |
- // This lets us know the total portion of the transport store that has been |
- // painted since the buffers were created. |
- gfx::Rect transport_store_painted_; |
- // This is a bounding box on the portion of the front-buffer that was painted |
- // on the last buffer flip and which has not yet been re-painted in the |
- // back-buffer. |
- gfx::Rect front_buffer_diff_; |
- |
- // The url of the main frame hosting the plugin. |
- GURL page_url_; |
- |
- DISALLOW_COPY_AND_ASSIGN(WebPluginDelegateProxy); |
-}; |
- |
-} // namespace content |
- |
-#endif // CONTENT_RENDERER_NPAPI_WEBPLUGIN_DELEGATE_PROXY_H_ |