Index: content/shell/renderer/test_runner/test_plugin.h |
diff --git a/content/shell/renderer/test_runner/test_plugin.h b/content/shell/renderer/test_runner/test_plugin.h |
deleted file mode 100644 |
index c64d48b71b9d7869aa7ef28317591978b0800ef3..0000000000000000000000000000000000000000 |
--- a/content/shell/renderer/test_runner/test_plugin.h |
+++ /dev/null |
@@ -1,184 +0,0 @@ |
-// Copyright 2013 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_SHELL_RENDERER_TEST_RUNNER_TEST_PLUGIN_H_ |
-#define CONTENT_SHELL_RENDERER_TEST_RUNNER_TEST_PLUGIN_H_ |
- |
-#include <string> |
- |
-#include "base/basictypes.h" |
-#include "base/memory/scoped_ptr.h" |
-#include "cc/layers/texture_layer.h" |
-#include "cc/layers/texture_layer_client.h" |
-#include "third_party/WebKit/public/platform/WebExternalTextureLayer.h" |
-#include "third_party/WebKit/public/platform/WebExternalTextureLayerClient.h" |
-#include "third_party/WebKit/public/platform/WebExternalTextureMailbox.h" |
-#include "third_party/WebKit/public/platform/WebLayer.h" |
-#include "third_party/WebKit/public/web/WebPlugin.h" |
-#include "third_party/WebKit/public/web/WebPluginContainer.h" |
- |
-namespace blink { |
-class WebFrame; |
-class WebGraphicsContext3D; |
-class WebLayer; |
-struct WebPluginParams; |
-} |
- |
-namespace cc { |
-class SharedBitmap; |
-} |
- |
-namespace content { |
- |
-class WebTestDelegate; |
- |
-// A fake implemention of blink::WebPlugin for testing purposes. |
-// |
-// It uses WebGraphicsContext3D to paint a scene consisiting of a primitive |
-// over a background. The primitive and background can be customized using |
-// the following plugin parameters: |
-// primitive: none (default), triangle. |
-// background-color: black (default), red, green, blue. |
-// primitive-color: black (default), red, green, blue. |
-// opacity: [0.0 - 1.0]. Default is 1.0. |
-// |
-// Whether the plugin accepts touch events or not can be customized using the |
-// 'accepts-touch' plugin parameter (defaults to false). |
-class TestPlugin : public blink::WebPlugin, public cc::TextureLayerClient { |
- public: |
- static TestPlugin* create(blink::WebFrame* frame, |
- const blink::WebPluginParams& params, |
- WebTestDelegate* delegate); |
- ~TestPlugin() override; |
- |
- static const blink::WebString& MimeType(); |
- static const blink::WebString& CanCreateWithoutRendererMimeType(); |
- static const blink::WebString& PluginPersistsMimeType(); |
- static bool IsSupportedMimeType(const blink::WebString& mime_type); |
- |
- // WebPlugin methods: |
- virtual bool initialize(blink::WebPluginContainer* container); |
- virtual void destroy(); |
- virtual NPObject* scriptableObject(); |
- virtual bool canProcessDrag() const; |
- virtual bool supportsKeyboardFocus() const; |
- virtual void layoutIfNeeded() override { } |
- virtual void paint(blink::WebCanvas* canvas, const blink::WebRect& rect) {} |
- virtual void updateGeometry( |
- const blink::WebRect& window_rect, |
- const blink::WebRect& clip_rect, |
- const blink::WebRect& unobscured_rect, |
- const blink::WebVector<blink::WebRect>& cut_outs_rects, |
- bool is_visible); |
- virtual void updateFocus(bool focus, blink::WebFocusType focus_type) {} |
- virtual void updateVisibility(bool visibility) {} |
- virtual bool acceptsInputEvents(); |
- virtual bool handleInputEvent(const blink::WebInputEvent& event, |
- blink::WebCursorInfo& info); |
- virtual bool handleDragStatusUpdate(blink::WebDragStatus drag_status, |
- const blink::WebDragData& data, |
- blink::WebDragOperationsMask mask, |
- const blink::WebPoint& position, |
- const blink::WebPoint& screen_position); |
- virtual void didReceiveResponse(const blink::WebURLResponse& response) {} |
- virtual void didReceiveData(const char* data, int data_length) {} |
- virtual void didFinishLoading() {} |
- virtual void didFailLoading(const blink::WebURLError& error) {} |
- virtual void didFinishLoadingFrameRequest(const blink::WebURL& url, |
- void* notify_data) {} |
- virtual void didFailLoadingFrameRequest(const blink::WebURL& url, |
- void* notify_data, |
- const blink::WebURLError& error) {} |
- virtual bool isPlaceholder(); |
- |
- // cc::TextureLayerClient methods: |
- bool PrepareTextureMailbox( |
- cc::TextureMailbox* mailbox, |
- scoped_ptr<cc::SingleReleaseCallback>* release_callback, |
- bool use_shared_memory) override; |
- |
- private: |
- TestPlugin(blink::WebFrame* frame, |
- const blink::WebPluginParams& params, |
- WebTestDelegate* delegate); |
- |
- enum Primitive { PrimitiveNone, PrimitiveTriangle }; |
- |
- struct Scene { |
- Primitive primitive; |
- unsigned background_color[3]; |
- unsigned primitive_color[3]; |
- float opacity; |
- |
- unsigned vbo; |
- unsigned program; |
- int color_location; |
- int position_location; |
- |
- Scene() |
- : primitive(PrimitiveNone), |
- opacity(1.0f) // Fully opaque. |
- , |
- vbo(0), |
- program(0), |
- color_location(-1), |
- position_location(-1) { |
- background_color[0] = background_color[1] = background_color[2] = 0; |
- primitive_color[0] = primitive_color[1] = primitive_color[2] = 0; |
- } |
- }; |
- |
- // Functions for parsing plugin parameters. |
- Primitive ParsePrimitive(const blink::WebString& string); |
- void ParseColor(const blink::WebString& string, unsigned color[3]); |
- float ParseOpacity(const blink::WebString& string); |
- bool ParseBoolean(const blink::WebString& string); |
- |
- // Functions for loading and drawing scene in GL. |
- bool InitScene(); |
- void DrawSceneGL(); |
- void DestroyScene(); |
- bool InitProgram(); |
- bool InitPrimitive(); |
- void DrawPrimitive(); |
- unsigned LoadShader(unsigned type, const std::string& source); |
- unsigned LoadProgram(const std::string& vertex_source, |
- const std::string& fragment_source); |
- |
- // Functions for drawing scene in Software. |
- void DrawSceneSoftware(void* memory); |
- |
- blink::WebFrame* frame_; |
- WebTestDelegate* delegate_; |
- blink::WebPluginContainer* container_; |
- |
- blink::WebRect rect_; |
- blink::WebGraphicsContext3D* context_; |
- unsigned color_texture_; |
- cc::TextureMailbox texture_mailbox_; |
- scoped_ptr<cc::SharedBitmap> shared_bitmap_; |
- bool mailbox_changed_; |
- unsigned framebuffer_; |
- Scene scene_; |
- scoped_refptr<cc::TextureLayer> layer_; |
- scoped_ptr<blink::WebLayer> web_layer_; |
- |
- blink::WebPluginContainer::TouchEventRequestType touch_event_request_; |
- // Requests touch events from the WebPluginContainerImpl multiple times to |
- // tickle webkit.org/b/108381 |
- bool re_request_touch_events_; |
- bool print_event_details_; |
- bool print_user_gesture_status_; |
- bool can_process_drag_; |
- bool supports_keyboard_focus_; |
- |
- bool is_persistent_; |
- bool can_create_without_renderer_; |
- |
- DISALLOW_COPY_AND_ASSIGN(TestPlugin); |
-}; |
- |
-} // namespace content |
- |
-#endif // CONTENT_SHELL_RENDERER_TEST_RUNNER_TEST_PLUGIN_H_ |