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

Side by Side Diff: content/shell/test_runner/test_plugin.cc

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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/test_runner/test_plugin.h" 5 #include "content/shell/test_runner/test_plugin.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <utility> 10 #include <utility>
11 11
12 #include "base/bind.h" 12 #include "base/bind.h"
13 #include "base/logging.h" 13 #include "base/logging.h"
14 #include "base/memory/ptr_util.h" 14 #include "base/memory/ptr_util.h"
15 #include "base/memory/shared_memory.h" 15 #include "base/memory/shared_memory.h"
16 #include "base/strings/stringprintf.h" 16 #include "base/strings/stringprintf.h"
17 #include "cc/blink/web_layer_impl.h" 17 #include "cc/blink/web_layer_impl.h"
18 #include "cc/layers/texture_layer.h" 18 #include "cc/layers/texture_layer.h"
19 #include "cc/resources/shared_bitmap_manager.h" 19 #include "cc/resources/shared_bitmap_manager.h"
20 #include "components/test_runner/web_test_delegate.h" 20 #include "content/shell/test_runner/web_test_delegate.h"
21 #include "gpu/command_buffer/client/gles2_interface.h" 21 #include "gpu/command_buffer/client/gles2_interface.h"
22 #include "third_party/WebKit/public/platform/Platform.h" 22 #include "third_party/WebKit/public/platform/Platform.h"
23 #include "third_party/WebKit/public/platform/WebCompositorSupport.h" 23 #include "third_party/WebKit/public/platform/WebCompositorSupport.h"
24 #include "third_party/WebKit/public/platform/WebGestureEvent.h" 24 #include "third_party/WebKit/public/platform/WebGestureEvent.h"
25 #include "third_party/WebKit/public/platform/WebGraphicsContext3DProvider.h" 25 #include "third_party/WebKit/public/platform/WebGraphicsContext3DProvider.h"
26 #include "third_party/WebKit/public/platform/WebInputEvent.h" 26 #include "third_party/WebKit/public/platform/WebInputEvent.h"
27 #include "third_party/WebKit/public/platform/WebMouseEvent.h" 27 #include "third_party/WebKit/public/platform/WebMouseEvent.h"
28 #include "third_party/WebKit/public/platform/WebThread.h" 28 #include "third_party/WebKit/public/platform/WebThread.h"
29 #include "third_party/WebKit/public/platform/WebTouchEvent.h" 29 #include "third_party/WebKit/public/platform/WebTouchEvent.h"
30 #include "third_party/WebKit/public/platform/WebTouchPoint.h" 30 #include "third_party/WebKit/public/platform/WebTouchPoint.h"
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 return "Cancelled"; 65 return "Cancelled";
66 default: 66 default:
67 return "Unknown"; 67 return "Unknown";
68 } 68 }
69 } 69 }
70 70
71 void PrintTouchList(WebTestDelegate* delegate, 71 void PrintTouchList(WebTestDelegate* delegate,
72 const blink::WebTouchPoint* points, 72 const blink::WebTouchPoint* points,
73 int length) { 73 int length) {
74 for (int i = 0; i < length; ++i) { 74 for (int i = 0; i < length; ++i) {
75 delegate->PrintMessage(base::StringPrintf("* %.2f, %.2f: %s\n", 75 delegate->PrintMessage(
76 points[i].position.x, 76 base::StringPrintf("* %.2f, %.2f: %s\n", points[i].position.x,
77 points[i].position.y, 77 points[i].position.y, PointState(points[i].state)));
78 PointState(points[i].state)));
79 } 78 }
80 } 79 }
81 80
82 void PrintEventDetails(WebTestDelegate* delegate, 81 void PrintEventDetails(WebTestDelegate* delegate,
83 const blink::WebInputEvent& event) { 82 const blink::WebInputEvent& event) {
84 if (blink::WebInputEvent::isTouchEventType(event.type())) { 83 if (blink::WebInputEvent::isTouchEventType(event.type())) {
85 const blink::WebTouchEvent& touch = 84 const blink::WebTouchEvent& touch =
86 static_cast<const blink::WebTouchEvent&>(event); 85 static_cast<const blink::WebTouchEvent&>(event);
87 PrintTouchList(delegate, touch.touches, touch.touchesLength); 86 PrintTouchList(delegate, touch.touches, touch.touchesLength);
88 } else if (blink::WebInputEvent::isMouseEventType(event.type()) || 87 } else if (blink::WebInputEvent::isMouseEventType(event.type()) ||
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 else if (attribute_name == "supports-keyboard-focus") 153 else if (attribute_name == "supports-keyboard-focus")
155 supports_keyboard_focus_ = ParseBoolean(attribute_value); 154 supports_keyboard_focus_ = ParseBoolean(attribute_value);
156 else if (attribute_name == "print-user-gesture-status") 155 else if (attribute_name == "print-user-gesture-status")
157 print_user_gesture_status_ = ParseBoolean(attribute_value); 156 print_user_gesture_status_ = ParseBoolean(attribute_value);
158 } 157 }
159 if (can_create_without_renderer_) 158 if (can_create_without_renderer_)
160 delegate_->PrintMessage( 159 delegate_->PrintMessage(
161 std::string("TestPlugin: canCreateWithoutRenderer\n")); 160 std::string("TestPlugin: canCreateWithoutRenderer\n"));
162 } 161 }
163 162
164 TestPlugin::~TestPlugin() { 163 TestPlugin::~TestPlugin() {}
165 }
166 164
167 bool TestPlugin::initialize(blink::WebPluginContainer* container) { 165 bool TestPlugin::initialize(blink::WebPluginContainer* container) {
168 DCHECK(container); 166 DCHECK(container);
169 DCHECK_EQ(this, container->plugin()); 167 DCHECK_EQ(this, container->plugin());
170 168
171 container_ = container; 169 container_ = container;
172 170
173 blink::Platform::ContextAttributes attrs; 171 blink::Platform::ContextAttributes attrs;
174 attrs.webGLVersion = 1; // We are creating a context through the WebGL APIs. 172 attrs.webGLVersion = 1; // We are creating a context through the WebGL APIs.
175 blink::WebURL url = container->document().url(); 173 blink::WebURL url = container->document().url();
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 *release_callback = cc::SingleReleaseCallback::Create( 308 *release_callback = cc::SingleReleaseCallback::Create(
311 base::Bind(&ReleaseSharedMemory, base::Passed(&shared_bitmap_))); 309 base::Bind(&ReleaseSharedMemory, base::Passed(&shared_bitmap_)));
312 } 310 }
313 mailbox_changed_ = false; 311 mailbox_changed_ = false;
314 return true; 312 return true;
315 } 313 }
316 314
317 TestPlugin::Primitive TestPlugin::ParsePrimitive( 315 TestPlugin::Primitive TestPlugin::ParsePrimitive(
318 const blink::WebString& string) { 316 const blink::WebString& string) {
319 const CR_DEFINE_STATIC_LOCAL(blink::WebString, kPrimitiveNone, ("none")); 317 const CR_DEFINE_STATIC_LOCAL(blink::WebString, kPrimitiveNone, ("none"));
320 const CR_DEFINE_STATIC_LOCAL( 318 const CR_DEFINE_STATIC_LOCAL(blink::WebString, kPrimitiveTriangle,
321 blink::WebString, kPrimitiveTriangle, ("triangle")); 319 ("triangle"));
322 320
323 Primitive primitive = PrimitiveNone; 321 Primitive primitive = PrimitiveNone;
324 if (string == kPrimitiveNone) 322 if (string == kPrimitiveNone)
325 primitive = PrimitiveNone; 323 primitive = PrimitiveNone;
326 else if (string == kPrimitiveTriangle) 324 else if (string == kPrimitiveTriangle)
327 primitive = PrimitiveTriangle; 325 primitive = PrimitiveTriangle;
328 else 326 else
329 NOTREACHED(); 327 NOTREACHED();
330 return primitive; 328 return primitive;
331 } 329 }
(...skipping 159 matching lines...) Expand 10 before | Expand all | Expand 10 after
491 gl_->EnableVertexAttribArray(scene_.position_location); 489 gl_->EnableVertexAttribArray(scene_.position_location);
492 gl_->VertexAttribPointer(scene_.position_location, 3, GL_FLOAT, GL_FALSE, 0, 490 gl_->VertexAttribPointer(scene_.position_location, 3, GL_FLOAT, GL_FALSE, 0,
493 nullptr); 491 nullptr);
494 gl_->DrawArrays(GL_TRIANGLES, 0, 3); 492 gl_->DrawArrays(GL_TRIANGLES, 0, 3);
495 } 493 }
496 494
497 GLuint TestPlugin::LoadShader(GLenum type, const std::string& source) { 495 GLuint TestPlugin::LoadShader(GLenum type, const std::string& source) {
498 GLuint shader = gl_->CreateShader(type); 496 GLuint shader = gl_->CreateShader(type);
499 if (shader) { 497 if (shader) {
500 const GLchar* shader_data = source.data(); 498 const GLchar* shader_data = source.data();
501 GLint shader_length = strlen(shader_data); //source.length(); 499 GLint shader_length = strlen(shader_data); // source.length();
502 gl_->ShaderSource(shader, 1, &shader_data, &shader_length); 500 gl_->ShaderSource(shader, 1, &shader_data, &shader_length);
503 gl_->CompileShader(shader); 501 gl_->CompileShader(shader);
504 502
505 int compiled = 0; 503 int compiled = 0;
506 gl_->GetShaderiv(shader, GL_COMPILE_STATUS, &compiled); 504 gl_->GetShaderiv(shader, GL_COMPILE_STATUS, &compiled);
507 if (!compiled) { 505 if (!compiled) {
508 gl_->DeleteShader(shader); 506 gl_->DeleteShader(shader);
509 shader = 0; 507 shader = 0;
510 } 508 }
511 } 509 }
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
586 return false; 584 return false;
587 } 585 }
588 586
589 TestPlugin* TestPlugin::create(blink::WebFrame* frame, 587 TestPlugin* TestPlugin::create(blink::WebFrame* frame,
590 const blink::WebPluginParams& params, 588 const blink::WebPluginParams& params,
591 WebTestDelegate* delegate) { 589 WebTestDelegate* delegate) {
592 return new TestPlugin(frame, params, delegate); 590 return new TestPlugin(frame, params, delegate);
593 } 591 }
594 592
595 const blink::WebString& TestPlugin::MimeType() { 593 const blink::WebString& TestPlugin::MimeType() {
596 const CR_DEFINE_STATIC_LOCAL( 594 const CR_DEFINE_STATIC_LOCAL(blink::WebString, kMimeType,
597 blink::WebString, kMimeType, ("application/x-webkit-test-webplugin")); 595 ("application/x-webkit-test-webplugin"));
598 return kMimeType; 596 return kMimeType;
599 } 597 }
600 598
601 const blink::WebString& TestPlugin::CanCreateWithoutRendererMimeType() { 599 const blink::WebString& TestPlugin::CanCreateWithoutRendererMimeType() {
602 const CR_DEFINE_STATIC_LOCAL( 600 const CR_DEFINE_STATIC_LOCAL(
603 blink::WebString, 601 blink::WebString, kCanCreateWithoutRendererMimeType,
604 kCanCreateWithoutRendererMimeType,
605 ("application/x-webkit-test-webplugin-can-create-without-renderer")); 602 ("application/x-webkit-test-webplugin-can-create-without-renderer"));
606 return kCanCreateWithoutRendererMimeType; 603 return kCanCreateWithoutRendererMimeType;
607 } 604 }
608 605
609 const blink::WebString& TestPlugin::PluginPersistsMimeType() { 606 const blink::WebString& TestPlugin::PluginPersistsMimeType() {
610 const CR_DEFINE_STATIC_LOCAL( 607 const CR_DEFINE_STATIC_LOCAL(
611 blink::WebString, 608 blink::WebString, kPluginPersistsMimeType,
612 kPluginPersistsMimeType,
613 ("application/x-webkit-test-webplugin-persistent")); 609 ("application/x-webkit-test-webplugin-persistent"));
614 return kPluginPersistsMimeType; 610 return kPluginPersistsMimeType;
615 } 611 }
616 612
617 bool TestPlugin::IsSupportedMimeType(const blink::WebString& mime_type) { 613 bool TestPlugin::IsSupportedMimeType(const blink::WebString& mime_type) {
618 return mime_type == TestPlugin::MimeType() || 614 return mime_type == TestPlugin::MimeType() ||
619 mime_type == PluginPersistsMimeType() || 615 mime_type == PluginPersistsMimeType() ||
620 mime_type == CanCreateWithoutRendererMimeType(); 616 mime_type == CanCreateWithoutRendererMimeType();
621 } 617 }
622 618
623 } // namespace test_runner 619 } // namespace test_runner
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698