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

Unified Diff: components/test_runner/test_plugin.h

Issue 2707183003: Move //components/test_runner back into //content/shell (Closed)
Patch Set: Trim DEPS Created 3 years, 10 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: components/test_runner/test_plugin.h
diff --git a/components/test_runner/test_plugin.h b/components/test_runner/test_plugin.h
deleted file mode 100644
index 708e976cba650e90f5f42d04f5eed05c1b44f53f..0000000000000000000000000000000000000000
--- a/components/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 COMPONENTS_TEST_RUNNER_TEST_PLUGIN_H_
-#define COMPONENTS_TEST_RUNNER_TEST_PLUGIN_H_
-
-#include <memory>
-#include <string>
-
-#include "base/macros.h"
-#include "cc/layers/texture_layer.h"
-#include "cc/layers/texture_layer_client.h"
-#include "third_party/WebKit/public/platform/WebLayer.h"
-#include "third_party/WebKit/public/web/WebDocument.h"
-#include "third_party/WebKit/public/web/WebElement.h"
-#include "third_party/WebKit/public/web/WebPlugin.h"
-#include "third_party/WebKit/public/web/WebPluginContainer.h"
-#include "third_party/khronos/GLES2/gl2.h"
-
-namespace blink {
-class WebFrame;
-class WebGraphicsContext3DProvider;
-class WebLayer;
-struct WebPluginParams;
-}
-
-namespace cc {
-class SharedBitmap;
-}
-
-namespace gpu {
-namespace gles2 {
-class GLES2Interface;
-}
-}
-
-namespace test_runner {
-
-class WebTestDelegate;
-
-// A fake implemention of blink::WebPlugin for testing purposes.
-//
-// It uses GL 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:
- bool initialize(blink::WebPluginContainer* container) override;
- void destroy() override;
- blink::WebPluginContainer* container() const override;
- bool canProcessDrag() const override;
- bool supportsKeyboardFocus() const override;
- void updateAllLifecyclePhases() override {}
- void paint(blink::WebCanvas* canvas, const blink::WebRect& rect) override {}
- 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) override;
- void updateFocus(bool focus, blink::WebFocusType focus_type) override {}
- void updateVisibility(bool visibility) override {}
- blink::WebInputEventResult handleInputEvent(
- const blink::WebInputEvent& event,
- blink::WebCursorInfo& info) override;
- bool handleDragStatusUpdate(blink::WebDragStatus drag_status,
- const blink::WebDragData& data,
- blink::WebDragOperationsMask mask,
- const blink::WebPoint& position,
- const blink::WebPoint& screen_position) override;
- void didReceiveResponse(const blink::WebURLResponse& response) override {}
- void didReceiveData(const char* data, int data_length) override {}
- void didFinishLoading() override {}
- void didFailLoading(const blink::WebURLError& error) override {}
- bool isPlaceholder() override;
-
- // cc::TextureLayerClient methods:
- bool PrepareTextureMailbox(
- cc::TextureMailbox* mailbox,
- std::unique_ptr<cc::SingleReleaseCallback>* release_callback) override;
-
- private:
- TestPlugin(blink::WebFrame* frame,
- const blink::WebPluginParams& params,
- WebTestDelegate* delegate);
-
- enum Primitive { PrimitiveNone, PrimitiveTriangle };
-
- struct Scene {
- Primitive primitive;
- uint8_t background_color[3];
- uint8_t primitive_color[3];
- float opacity;
-
- GLuint vbo;
- GLuint 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, uint8_t 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();
- GLuint LoadShader(GLenum type, const std::string& source);
- GLuint 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_;
- std::unique_ptr<blink::WebGraphicsContext3DProvider> context_provider_;
- gpu::gles2::GLES2Interface* gl_;
- GLuint color_texture_;
- cc::TextureMailbox texture_mailbox_;
- std::unique_ptr<cc::SharedBitmap> shared_bitmap_;
- bool mailbox_changed_;
- GLuint framebuffer_;
- Scene scene_;
- scoped_refptr<cc::TextureLayer> layer_;
- std::unique_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 test_runner
-
-#endif // COMPONENTS_TEST_RUNNER_TEST_PLUGIN_H_

Powered by Google App Engine
This is Rietveld 408576698