| Index: webkit/plugins/npapi/test/plugin_npobject_identity_test.cc
|
| ===================================================================
|
| --- webkit/plugins/npapi/test/plugin_npobject_identity_test.cc (revision 212513)
|
| +++ webkit/plugins/npapi/test/plugin_npobject_identity_test.cc (working copy)
|
| @@ -1,90 +0,0 @@
|
| -// Copyright (c) 2011 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.
|
| -
|
| -#include "base/basictypes.h"
|
| -#include "base/compiler_specific.h"
|
| -
|
| -#include "webkit/plugins/npapi/test/plugin_npobject_identity_test.h"
|
| -
|
| -namespace {
|
| -
|
| -class NPThingy : public NPObject {
|
| - public:
|
| - NPThingy() : NPObject() {}
|
| -
|
| - static NPObject* Allocate(NPP npp, NPClass* npclass) {
|
| - return new NPThingy();
|
| - }
|
| -
|
| - static void Deallocate(NPObject* npobject) {
|
| - delete static_cast<NPThingy*>(npobject);
|
| - }
|
| -};
|
| -
|
| -NPClass* GetNPThingyClass() {
|
| - static NPClass plugin_class = {
|
| - NP_CLASS_STRUCT_VERSION,
|
| - NPThingy::Allocate,
|
| - NPThingy::Deallocate,
|
| - NULL, // Invalidate
|
| - NULL, // HasMethod
|
| - NULL, // Invoke
|
| - NULL, // InvokeDefault
|
| - NULL, // HasProperty
|
| - NULL, // GetProperty
|
| - NULL, // SetProperty
|
| - NULL, // RemoveProperty
|
| - };
|
| - return &plugin_class;
|
| -}
|
| -
|
| -
|
| -} // namespace
|
| -
|
| -namespace NPAPIClient {
|
| -
|
| -NPObjectIdentityTest::NPObjectIdentityTest(NPP id,
|
| - NPNetscapeFuncs *host_functions)
|
| - : PluginTest(id, host_functions) {
|
| -}
|
| -
|
| -NPError NPObjectIdentityTest::SetWindow(NPWindow* pNPWindow) {
|
| -#if !defined(OS_MACOSX)
|
| - if (pNPWindow->window == NULL)
|
| - return NPERR_NO_ERROR;
|
| -#endif
|
| -
|
| - NPIdentifier are_these_the_same_id = HostFunctions()->getstringidentifier(
|
| - "areTheseTheSame");
|
| -
|
| - // Get a function from window.areTheseTheSame.
|
| - NPObject* window;
|
| - HostFunctions()->getvalue(id(), NPNVWindowNPObject, &window);
|
| - NPVariant func_var;
|
| - HostFunctions()->getproperty(id(), window, are_these_the_same_id, &func_var);
|
| - NPObject* func = NPVARIANT_TO_OBJECT(func_var);
|
| -
|
| - // Create a custom NPObject and pass it in both arguments to areTheseTheSame.
|
| - NPObject* thingy = HostFunctions()->createobject(id(), GetNPThingyClass());
|
| - NPVariant func_args[2];
|
| - OBJECT_TO_NPVARIANT(thingy, func_args[0]);
|
| - OBJECT_TO_NPVARIANT(thingy, func_args[1]);
|
| - NPVariant were_the_same_var;
|
| - HostFunctions()->invokeDefault(id(), func, (const NPVariant*)&func_args, 2,
|
| - &were_the_same_var);
|
| -
|
| - // Confirm that JavaScript could see that the objects were the same.
|
| - bool were_the_same = NPVARIANT_TO_BOOLEAN(were_the_same_var);
|
| - if (!were_the_same)
|
| - SetError("Identity was lost in passing from NPAPI into JavaScript.");
|
| -
|
| - HostFunctions()->releaseobject(thingy);
|
| -
|
| - // If this test failed, then we'd have crashed by now.
|
| - SignalTestCompleted();
|
| -
|
| - return NPERR_NO_ERROR;
|
| -}
|
| -
|
| -} // namespace NPAPIClient
|
|
|