Index: content/shell/renderer/test_runner/TestPlugin.cpp |
diff --git a/content/shell/renderer/test_runner/TestPlugin.cpp b/content/shell/renderer/test_runner/TestPlugin.cpp |
index 421ab780c42adfed4df763de3cdb1c67731686d8..cad1d55e656aeb65711b42399f9d2c603eac70a9 100644 |
--- a/content/shell/renderer/test_runner/TestPlugin.cpp |
+++ b/content/shell/renderer/test_runner/TestPlugin.cpp |
@@ -127,7 +127,6 @@ void deferredDelete(void* context) |
} |
- |
TestPlugin::TestPlugin(WebFrame* frame, const WebPluginParams& params, WebTestDelegate* delegate) |
: m_frame(frame) |
, m_delegate(delegate) |
@@ -141,6 +140,8 @@ TestPlugin::TestPlugin(WebFrame* frame, const WebPluginParams& params, WebTestDe |
, m_printEventDetails(false) |
, m_printUserGestureStatus(false) |
, m_canProcessDrag(false) |
+ , m_isPersistent(params.mimeType == pluginPersistsMimeType()) |
+ , m_canCreateWithoutRenderer(params.mimeType == canCreateWithoutRendererMimeType()) |
{ |
const CR_DEFINE_STATIC_LOCAL(WebString, kAttributePrimitive, ("primitive")); |
const CR_DEFINE_STATIC_LOCAL(WebString, kAttributeBackgroundColor, ("background-color")); |
@@ -177,6 +178,8 @@ TestPlugin::TestPlugin(WebFrame* frame, const WebPluginParams& params, WebTestDe |
else if (attributeName == kAttributePrintUserGestureStatus) |
m_printUserGestureStatus = parseBoolean(attributeValue); |
} |
+ if (m_canCreateWithoutRenderer) |
+ m_delegate->printMessage(std::string("TestPlugin: canCreateWithoutRenderer\n")); |
} |
TestPlugin::~TestPlugin() |
@@ -545,6 +548,8 @@ bool TestPlugin::handleInputEvent(const WebInputEvent& event, WebCursorInfo& inf |
printEventDetails(m_delegate, event); |
if (m_printUserGestureStatus) |
m_delegate->printMessage(std::string("* ") + (WebUserGestureIndicator::isProcessingUserGesture() ? "" : "not ") + "handling user gesture\n"); |
+ if (m_isPersistent) |
+ m_delegate->printMessage(std::string("TestPlugin: isPersistent\n")); |
return false; |
} |
@@ -582,4 +587,23 @@ const WebString& TestPlugin::mimeType() |
return kMimeType; |
} |
+const WebString& TestPlugin::canCreateWithoutRendererMimeType() |
+{ |
+ const CR_DEFINE_STATIC_LOCAL(WebString, kCanCreateWithoutRendererMimeType, ("application/x-webkit-test-webplugin-can-create-without-renderer")); |
+ return kCanCreateWithoutRendererMimeType; |
+} |
+ |
+const WebString& TestPlugin::pluginPersistsMimeType() |
+{ |
+ const CR_DEFINE_STATIC_LOCAL(WebString, kPluginPersistsMimeType, ("application/x-webkit-test-webplugin-persistent")); |
+ return kPluginPersistsMimeType; |
+} |
+ |
+bool TestPlugin::isSupportedMimeType(const WebString& mimeType) |
+{ |
+ return mimeType == TestPlugin::mimeType() |
+ || mimeType == pluginPersistsMimeType() |
+ || mimeType == canCreateWithoutRendererMimeType(); |
+} |
+ |
} |