| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 228 WebPluginContainer* m_container; | 228 WebPluginContainer* m_container; |
| 229 | 229 |
| 230 WebRect m_rect; | 230 WebRect m_rect; |
| 231 WebGraphicsContext3D* m_context; | 231 WebGraphicsContext3D* m_context; |
| 232 unsigned m_colorTexture; | 232 unsigned m_colorTexture; |
| 233 unsigned m_framebuffer; | 233 unsigned m_framebuffer; |
| 234 Scene m_scene; | 234 Scene m_scene; |
| 235 OwnPtr<WebExternalTextureLayer> m_layer; | 235 OwnPtr<WebExternalTextureLayer> m_layer; |
| 236 | 236 |
| 237 WebPluginContainer::TouchEventRequestType m_touchEventRequest; | 237 WebPluginContainer::TouchEventRequestType m_touchEventRequest; |
| 238 // Requests touch events from the WebPluginContainerImpl multiple times to t
ickle webkit.org/b/108381 |
| 239 bool m_reRequestTouchEvents; |
| 238 bool m_printEventDetails; | 240 bool m_printEventDetails; |
| 239 bool m_printUserGestureStatus; | 241 bool m_printUserGestureStatus; |
| 240 bool m_canProcessDrag; | 242 bool m_canProcessDrag; |
| 241 }; | 243 }; |
| 242 | 244 |
| 243 WebTestPluginImpl::WebTestPluginImpl(WebFrame* frame, const WebPluginParams& par
ams, WebTestDelegate* delegate) | 245 WebTestPluginImpl::WebTestPluginImpl(WebFrame* frame, const WebPluginParams& par
ams, WebTestDelegate* delegate) |
| 244 : m_frame(frame) | 246 : m_frame(frame) |
| 245 , m_delegate(delegate) | 247 , m_delegate(delegate) |
| 246 , m_container(0) | 248 , m_container(0) |
| 247 , m_context(0) | 249 , m_context(0) |
| 248 , m_touchEventRequest(WebPluginContainer::TouchEventRequestTypeNone) | 250 , m_touchEventRequest(WebPluginContainer::TouchEventRequestTypeNone) |
| 251 , m_reRequestTouchEvents(false) |
| 249 , m_printEventDetails(false) | 252 , m_printEventDetails(false) |
| 250 , m_printUserGestureStatus(false) | 253 , m_printUserGestureStatus(false) |
| 251 , m_canProcessDrag(false) | 254 , m_canProcessDrag(false) |
| 252 { | 255 { |
| 253 static const WebString kAttributePrimitive = WebString::fromUTF8("primitive"
); | 256 static const WebString kAttributePrimitive = WebString::fromUTF8("primitive"
); |
| 254 static const WebString kAttributeBackgroundColor = WebString::fromUTF8("back
ground-color"); | 257 static const WebString kAttributeBackgroundColor = WebString::fromUTF8("back
ground-color"); |
| 255 static const WebString kAttributePrimitiveColor = WebString::fromUTF8("primi
tive-color"); | 258 static const WebString kAttributePrimitiveColor = WebString::fromUTF8("primi
tive-color"); |
| 256 static const WebString kAttributeOpacity = WebString::fromUTF8("opacity"); | 259 static const WebString kAttributeOpacity = WebString::fromUTF8("opacity"); |
| 257 static const WebString kAttributeAcceptsTouch = WebString::fromUTF8("accepts
-touch"); | 260 static const WebString kAttributeAcceptsTouch = WebString::fromUTF8("accepts
-touch"); |
| 261 static const WebString kAttributeReRequestTouchEvents = WebString::fromUTF8(
"re-request-touch"); |
| 258 static const WebString kAttributePrintEventDetails = WebString::fromUTF8("pr
int-event-details"); | 262 static const WebString kAttributePrintEventDetails = WebString::fromUTF8("pr
int-event-details"); |
| 259 static const WebString kAttributeCanProcessDrag = WebString::fromUTF8("can-p
rocess-drag"); | 263 static const WebString kAttributeCanProcessDrag = WebString::fromUTF8("can-p
rocess-drag"); |
| 260 static const WebString kAttributePrintUserGestureStatus = WebString::fromUTF
8("print-user-gesture-status"); | 264 static const WebString kAttributePrintUserGestureStatus = WebString::fromUTF
8("print-user-gesture-status"); |
| 261 | 265 |
| 262 ASSERT(params.attributeNames.size() == params.attributeValues.size()); | 266 ASSERT(params.attributeNames.size() == params.attributeValues.size()); |
| 263 size_t size = params.attributeNames.size(); | 267 size_t size = params.attributeNames.size(); |
| 264 for (size_t i = 0; i < size; ++i) { | 268 for (size_t i = 0; i < size; ++i) { |
| 265 const WebString& attributeName = params.attributeNames[i]; | 269 const WebString& attributeName = params.attributeNames[i]; |
| 266 const WebString& attributeValue = params.attributeValues[i]; | 270 const WebString& attributeValue = params.attributeValues[i]; |
| 267 | 271 |
| 268 if (attributeName == kAttributePrimitive) | 272 if (attributeName == kAttributePrimitive) |
| 269 m_scene.primitive = parsePrimitive(attributeValue); | 273 m_scene.primitive = parsePrimitive(attributeValue); |
| 270 else if (attributeName == kAttributeBackgroundColor) | 274 else if (attributeName == kAttributeBackgroundColor) |
| 271 parseColor(attributeValue, m_scene.backgroundColor); | 275 parseColor(attributeValue, m_scene.backgroundColor); |
| 272 else if (attributeName == kAttributePrimitiveColor) | 276 else if (attributeName == kAttributePrimitiveColor) |
| 273 parseColor(attributeValue, m_scene.primitiveColor); | 277 parseColor(attributeValue, m_scene.primitiveColor); |
| 274 else if (attributeName == kAttributeOpacity) | 278 else if (attributeName == kAttributeOpacity) |
| 275 m_scene.opacity = parseOpacity(attributeValue); | 279 m_scene.opacity = parseOpacity(attributeValue); |
| 276 else if (attributeName == kAttributeAcceptsTouch) | 280 else if (attributeName == kAttributeAcceptsTouch) |
| 277 m_touchEventRequest = parseTouchEventRequestType(attributeValue); | 281 m_touchEventRequest = parseTouchEventRequestType(attributeValue); |
| 282 else if (attributeName == kAttributeReRequestTouchEvents) |
| 283 m_reRequestTouchEvents = parseBoolean(attributeValue); |
| 278 else if (attributeName == kAttributePrintEventDetails) | 284 else if (attributeName == kAttributePrintEventDetails) |
| 279 m_printEventDetails = parseBoolean(attributeValue); | 285 m_printEventDetails = parseBoolean(attributeValue); |
| 280 else if (attributeName == kAttributeCanProcessDrag) | 286 else if (attributeName == kAttributeCanProcessDrag) |
| 281 m_canProcessDrag = parseBoolean(attributeValue); | 287 m_canProcessDrag = parseBoolean(attributeValue); |
| 282 else if (attributeName == kAttributePrintUserGestureStatus) | 288 else if (attributeName == kAttributePrintUserGestureStatus) |
| 283 m_printUserGestureStatus = parseBoolean(attributeValue); | 289 m_printUserGestureStatus = parseBoolean(attributeValue); |
| 284 } | 290 } |
| 285 } | 291 } |
| 286 | 292 |
| 287 WebTestPluginImpl::~WebTestPluginImpl() | 293 WebTestPluginImpl::~WebTestPluginImpl() |
| 288 { | 294 { |
| 289 } | 295 } |
| 290 | 296 |
| 291 bool WebTestPluginImpl::initialize(WebPluginContainer* container) | 297 bool WebTestPluginImpl::initialize(WebPluginContainer* container) |
| 292 { | 298 { |
| 293 WebGraphicsContext3D::Attributes attrs; | 299 WebGraphicsContext3D::Attributes attrs; |
| 294 m_context = Platform::current()->createOffscreenGraphicsContext3D(attrs); | 300 m_context = Platform::current()->createOffscreenGraphicsContext3D(attrs); |
| 295 if (!m_context) | 301 if (!m_context) |
| 296 return false; | 302 return false; |
| 297 | 303 |
| 298 if (!m_context->makeContextCurrent()) | 304 if (!m_context->makeContextCurrent()) |
| 299 return false; | 305 return false; |
| 300 | 306 |
| 301 if (!initScene()) | 307 if (!initScene()) |
| 302 return false; | 308 return false; |
| 303 | 309 |
| 304 m_layer = adoptPtr(Platform::current()->compositorSupport()->createExternalT
extureLayer(this)); | 310 m_layer = adoptPtr(Platform::current()->compositorSupport()->createExternalT
extureLayer(this)); |
| 305 m_container = container; | 311 m_container = container; |
| 306 m_container->setWebLayer(m_layer->layer()); | 312 m_container->setWebLayer(m_layer->layer()); |
| 313 if (m_reRequestTouchEvents) { |
| 314 m_container->requestTouchEventType(WebPluginContainer::TouchEventRequest
TypeSynthesizedMouse); |
| 315 m_container->requestTouchEventType(WebPluginContainer::TouchEventRequest
TypeRaw); |
| 316 } |
| 307 m_container->requestTouchEventType(m_touchEventRequest); | 317 m_container->requestTouchEventType(m_touchEventRequest); |
| 308 m_container->setWantsWheelEvents(true); | 318 m_container->setWantsWheelEvents(true); |
| 309 return true; | 319 return true; |
| 310 } | 320 } |
| 311 | 321 |
| 312 void WebTestPluginImpl::destroy() | 322 void WebTestPluginImpl::destroy() |
| 313 { | 323 { |
| 314 if (m_container) | 324 if (m_container) |
| 315 m_container->setWebLayer(0); | 325 m_container->setWebLayer(0); |
| 316 m_layer.clear(); | 326 m_layer.clear(); |
| (...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 638 { | 648 { |
| 639 } | 649 } |
| 640 | 650 |
| 641 const WebString& WebTestPlugin::mimeType() | 651 const WebString& WebTestPlugin::mimeType() |
| 642 { | 652 { |
| 643 static const WebString kMimeType = WebString::fromUTF8("application/x-webkit
-test-webplugin"); | 653 static const WebString kMimeType = WebString::fromUTF8("application/x-webkit
-test-webplugin"); |
| 644 return kMimeType; | 654 return kMimeType; |
| 645 } | 655 } |
| 646 | 656 |
| 647 } | 657 } |
| OLD | NEW |