Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1965)

Unified Diff: content/shell/renderer/test_runner/test_plugin.h

Issue 1167703002: Move test runner to a component (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: updates Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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_
« no previous file with comments | « content/shell/renderer/test_runner/test_interfaces.cc ('k') | content/shell/renderer/test_runner/test_plugin.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698