| Index: content/shell/tools/plugin/PluginTest.cpp
|
| diff --git a/content/shell/tools/plugin/PluginTest.cpp b/content/shell/tools/plugin/PluginTest.cpp
|
| deleted file mode 100644
|
| index fa95d8911e9d1914d96bf0acf72896b2dc8d8ea5..0000000000000000000000000000000000000000
|
| --- a/content/shell/tools/plugin/PluginTest.cpp
|
| +++ /dev/null
|
| @@ -1,265 +0,0 @@
|
| -// Copyright 2014 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.
|
| -
|
| -/*
|
| - * Copyright (C) 2010 Apple Inc. All rights reserved.
|
| - *
|
| - * Redistribution and use in source and binary forms, with or without
|
| - * modification, are permitted provided that the following conditions
|
| - * are met:
|
| - * 1. Redistributions of source code must retain the above copyright
|
| - * notice, this list of conditions and the following disclaimer.
|
| - * 2. Redistributions in binary form must reproduce the above copyright
|
| - * notice, this list of conditions and the following disclaimer in the
|
| - * documentation and/or other materials provided with the distribution.
|
| - *
|
| - * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
|
| - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
| - * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
| - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
|
| - * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
| - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
| - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
| - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
| - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
| - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
| - * THE POSSIBILITY OF SUCH DAMAGE.
|
| - */
|
| -
|
| -#include "PluginTest.h"
|
| -
|
| -#include "PluginObject.h"
|
| -#include <string.h>
|
| -
|
| -#if defined(XP_UNIX) || defined(ANDROID)
|
| -#include <unistd.h>
|
| -#endif
|
| -
|
| -using namespace std;
|
| -extern NPNetscapeFuncs *browser;
|
| -
|
| -static void (*shutdownFunction)();
|
| -
|
| -PluginTest* PluginTest::create(NPP npp, const string& identifier) {
|
| - if (identifier.empty())
|
| - return new PluginTest(npp, identifier);
|
| -
|
| - CreateTestFunction createTestFunction = createTestFunctions()[identifier];
|
| - if (createTestFunction)
|
| - return createTestFunction(npp, identifier);
|
| -
|
| - return 0;
|
| -}
|
| -
|
| -PluginTest::PluginTest(NPP npp, const string& identifier)
|
| - : m_npp(npp), m_identifier(identifier) {
|
| - // Reset the shutdown function.
|
| - shutdownFunction = 0;
|
| -}
|
| -
|
| -PluginTest::~PluginTest() {}
|
| -
|
| -void PluginTest::NP_Shutdown() {
|
| - if (shutdownFunction)
|
| - shutdownFunction();
|
| -}
|
| -
|
| -void PluginTest::registerNPShutdownFunction(void (*func)()) {
|
| - assert(!shutdownFunction);
|
| - shutdownFunction = func;
|
| -}
|
| -
|
| -void PluginTest::indicateTestFailure() {
|
| -// This should really be an assert, but there's no way for the test framework
|
| -// to know that the plugin process crashed, so we'll just sleep for a while
|
| -// to ensure that the test times out.
|
| -#if defined(XP_WIN)
|
| - ::Sleep(100000);
|
| -#else
|
| - sleep(1000);
|
| -#endif
|
| -}
|
| -
|
| -NPError PluginTest::NPP_New(NPMIMEType pluginType,
|
| - uint16_t mode,
|
| - int16_t argc,
|
| - char* argn[],
|
| - char* argv[],
|
| - NPSavedData* saved) {
|
| - return NPERR_NO_ERROR;
|
| -}
|
| -
|
| -NPError PluginTest::NPP_Destroy(NPSavedData**) { return NPERR_NO_ERROR; }
|
| -
|
| -NPError PluginTest::NPP_SetWindow(NPWindow*) { return NPERR_NO_ERROR; }
|
| -
|
| -NPError PluginTest::NPP_NewStream(NPMIMEType type,
|
| - NPStream* stream,
|
| - NPBool seekable,
|
| - uint16_t* stype) {
|
| - return NPERR_NO_ERROR;
|
| -}
|
| -
|
| -NPError PluginTest::NPP_DestroyStream(NPStream* stream, NPReason reason) {
|
| - return NPERR_NO_ERROR;
|
| -}
|
| -
|
| -int32_t PluginTest::NPP_WriteReady(NPStream*) { return 4096; }
|
| -
|
| -int32_t PluginTest::NPP_Write(NPStream*,
|
| - int32_t offset,
|
| - int32_t len,
|
| - void* buffer) {
|
| - return len;
|
| -}
|
| -
|
| -int16_t PluginTest::NPP_HandleEvent(void*) { return 0; }
|
| -
|
| -bool PluginTest::NPP_URLNotify(const char* url, NPReason, void* notifyData) {
|
| - // FIXME: Port the code from NPP_URLNotify in main.cpp over to always using
|
| - // PluginTest, so we don't have to use a return value to indicate whether the
|
| - // "default" NPP_URLNotify implementation should be invoked.
|
| - return false;
|
| -}
|
| -
|
| -NPError PluginTest::NPP_GetValue(NPPVariable variable, void* value) {
|
| - // We don't know anything about plugin values so just return
|
| - // NPERR_GENERIC_ERROR.
|
| - return NPERR_GENERIC_ERROR;
|
| -}
|
| -
|
| -NPError PluginTest::NPP_SetValue(NPNVariable, void* value) {
|
| - return NPERR_GENERIC_ERROR;
|
| -}
|
| -
|
| -// NPN functions.
|
| -
|
| -NPError PluginTest::NPN_GetValue(NPNVariable variable, void* value) {
|
| - return browser->getvalue(m_npp, variable, value);
|
| -}
|
| -
|
| -void PluginTest::NPN_InvalidateRect(NPRect* invalidRect) {
|
| - browser->invalidaterect(m_npp, invalidRect);
|
| -}
|
| -
|
| -bool PluginTest::NPN_Invoke(NPObject* npobj,
|
| - NPIdentifier methodName,
|
| - const NPVariant* args,
|
| - uint32_t argCount,
|
| - NPVariant* result) {
|
| - return browser->invoke(m_npp, npobj, methodName, args, argCount, result);
|
| -}
|
| -
|
| -void* PluginTest::NPN_MemAlloc(uint32_t size) {
|
| - return browser->memalloc(size);
|
| -}
|
| -
|
| -// NPRuntime NPN functions.
|
| -
|
| -NPIdentifier PluginTest::NPN_GetStringIdentifier(const NPUTF8* name) {
|
| - return browser->getstringidentifier(name);
|
| -}
|
| -
|
| -NPIdentifier PluginTest::NPN_GetIntIdentifier(int32_t intid) {
|
| - return browser->getintidentifier(intid);
|
| -}
|
| -
|
| -bool PluginTest::NPN_IdentifierIsString(NPIdentifier npIdentifier) {
|
| - return browser->identifierisstring(npIdentifier);
|
| -}
|
| -
|
| -NPUTF8* PluginTest::NPN_UTF8FromIdentifier(NPIdentifier npIdentifier) {
|
| - return browser->utf8fromidentifier(npIdentifier);
|
| -}
|
| -
|
| -int32_t PluginTest::NPN_IntFromIdentifier(NPIdentifier npIdentifier) {
|
| - return browser->intfromidentifier(npIdentifier);
|
| -}
|
| -
|
| -NPObject* PluginTest::NPN_CreateObject(NPClass* npClass) {
|
| - return browser->createobject(m_npp, npClass);
|
| -}
|
| -
|
| -NPObject* PluginTest::NPN_RetainObject(NPObject* npObject) {
|
| - return browser->retainobject(npObject);
|
| -}
|
| -
|
| -void PluginTest::NPN_ReleaseObject(NPObject* npObject) {
|
| - browser->releaseobject(npObject);
|
| -}
|
| -
|
| -bool PluginTest::NPN_GetProperty(NPObject* npObject,
|
| - NPIdentifier propertyName,
|
| - NPVariant* value) {
|
| - return browser->getproperty(m_npp, npObject, propertyName, value);
|
| -}
|
| -
|
| -bool PluginTest::NPN_RemoveProperty(NPObject* npObject,
|
| - NPIdentifier propertyName) {
|
| - return browser->removeproperty(m_npp, npObject, propertyName);
|
| -}
|
| -
|
| -void PluginTest::NPN_ReleaseVariantValue(NPVariant* variant) {
|
| - browser->releasevariantvalue(variant);
|
| -}
|
| -
|
| -#ifdef XP_MACOSX
|
| -bool PluginTest::NPN_ConvertPoint(double sourceX,
|
| - double sourceY,
|
| - NPCoordinateSpace sourceSpace,
|
| - double* destX,
|
| - double* destY,
|
| - NPCoordinateSpace destSpace) {
|
| - return browser->convertpoint(
|
| - m_npp, sourceX, sourceY, sourceSpace, destX, destY, destSpace);
|
| -}
|
| -#endif
|
| -
|
| -bool PluginTest::executeScript(const NPString* script, NPVariant* result) {
|
| - NPObject* windowScriptObject;
|
| - browser->getvalue(m_npp, NPNVWindowNPObject, &windowScriptObject);
|
| -
|
| - return browser->evaluate(
|
| - m_npp, windowScriptObject, const_cast<NPString*>(script), result);
|
| -}
|
| -
|
| -void PluginTest::executeScript(const char* script) {
|
| - NPString npScript;
|
| - npScript.UTF8Characters = script;
|
| - npScript.UTF8Length = strlen(script);
|
| -
|
| - NPVariant browserResult;
|
| - executeScript(&npScript, &browserResult);
|
| - browser->releasevariantvalue(&browserResult);
|
| -}
|
| -
|
| -void PluginTest::log(const char* format, ...) {
|
| - va_list args;
|
| - va_start(args, format);
|
| - pluginLogWithArguments(m_npp, format, args);
|
| - va_end(args);
|
| -}
|
| -
|
| -NPNetscapeFuncs* PluginTest::netscapeFuncs() { return browser; }
|
| -
|
| -void PluginTest::waitUntilDone() {
|
| - executeScript("testRunner.waitUntilDone()");
|
| -}
|
| -
|
| -void PluginTest::notifyDone() { executeScript("testRunner.notifyDone()"); }
|
| -
|
| -void PluginTest::registerCreateTestFunction(
|
| - const string& identifier,
|
| - CreateTestFunction createTestFunction) {
|
| - assert(!createTestFunctions().count(identifier));
|
| -
|
| - createTestFunctions()[identifier] = createTestFunction;
|
| -}
|
| -
|
| -std::map<std::string, PluginTest::CreateTestFunction>&
|
| -PluginTest::createTestFunctions() {
|
| - static std::map<std::string, CreateTestFunction> testFunctions;
|
| -
|
| - return testFunctions;
|
| -}
|
|
|