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

Unified Diff: content/shell/tools/plugin/Tests/NPPSetWindowCalledDuringDestruction.cpp

Issue 1852523003: Remove NPAPI test plugin (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@fix_last_plugin_layout_tests
Patch Set: fix isolate Created 4 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: content/shell/tools/plugin/Tests/NPPSetWindowCalledDuringDestruction.cpp
diff --git a/content/shell/tools/plugin/Tests/NPPSetWindowCalledDuringDestruction.cpp b/content/shell/tools/plugin/Tests/NPPSetWindowCalledDuringDestruction.cpp
deleted file mode 100644
index 1a5a13bbdc8dd05578b20e96ee141fbbece72f37..0000000000000000000000000000000000000000
--- a/content/shell/tools/plugin/Tests/NPPSetWindowCalledDuringDestruction.cpp
+++ /dev/null
@@ -1,131 +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) 2011 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 <stdint.h>
-
-#include "PluginObject.h"
-
-using namespace std;
-
-// NPP_SetWindow should be called with a null window handle as destruction begins on non-Mac platforms.
-
-class NPPSetWindowCalledDuringDestruction : public PluginTest {
-public:
- NPPSetWindowCalledDuringDestruction(NPP, const string& identifier);
-
- void setWillBeDestroyed() { m_willBeDestroyed = true; }
-
-private:
- struct ScriptObject : Object<ScriptObject> {
- bool hasMethod(NPIdentifier);
- bool invoke(NPIdentifier, const NPVariant*, uint32_t, NPVariant*);
- };
-
- virtual NPError NPP_GetValue(NPPVariable, void*);
- virtual NPError NPP_SetWindow(NPWindow*);
- virtual NPError NPP_Destroy(NPSavedData**);
-
- bool m_willBeDestroyed;
- bool m_setWindowCalledBeforeDestruction;
- bool m_setWindowCalledDuringDestruction;
-};
-
-static PluginTest::Register<NPPSetWindowCalledDuringDestruction> registrar("npp-set-window-called-during-destruction");
-
-NPPSetWindowCalledDuringDestruction::NPPSetWindowCalledDuringDestruction(NPP npp, const string& identifier)
- : PluginTest(npp, identifier)
- , m_willBeDestroyed(false)
- , m_setWindowCalledBeforeDestruction(false)
- , m_setWindowCalledDuringDestruction(false)
-{
-}
-
-NPError NPPSetWindowCalledDuringDestruction::NPP_GetValue(NPPVariable variable, void* value)
-{
- if (variable != NPPVpluginScriptableNPObject)
- return NPERR_GENERIC_ERROR;
-
- *static_cast<NPObject**>(value) = ScriptObject::create(this);
-
- return NPERR_NO_ERROR;
-}
-
-NPError NPPSetWindowCalledDuringDestruction::NPP_SetWindow(NPWindow* window)
-{
- if (m_willBeDestroyed) {
- m_setWindowCalledDuringDestruction = true;
- if (!m_setWindowCalledBeforeDestruction) {
- log("Fail: setWillBeDestroyed() was called before the initial NPP_SetWindow call");
- return NPERR_NO_ERROR;
- }
-#ifndef XP_MACOSX
- if (window->window)
- log("Fail: NPP_SetWindow passed a non-null window during plugin destruction");
-#endif
- return NPERR_NO_ERROR;
- }
-
- if (m_setWindowCalledBeforeDestruction) {
- log("Fail: NPP_SetWindow called more than once before plugin destruction");
- return NPERR_NO_ERROR;
- }
-
- m_setWindowCalledBeforeDestruction = true;
- return NPERR_NO_ERROR;
-}
-
-NPError NPPSetWindowCalledDuringDestruction::NPP_Destroy(NPSavedData**)
-{
-#ifdef XP_MACOSX
- bool shouldHaveBeenCalledDuringDestruction = false;
-#else
- bool shouldHaveBeenCalledDuringDestruction = true;
-#endif
-
- if (m_setWindowCalledDuringDestruction == shouldHaveBeenCalledDuringDestruction)
- log("Success: NPP_SetWindow %s called during plugin destruction", shouldHaveBeenCalledDuringDestruction ? "was" : "was not");
- else
- log("Fail: NPP_SetWindow %s called during plugin destruction", shouldHaveBeenCalledDuringDestruction ? "was not" : "was");
-
- return NPERR_NO_ERROR;
-}
-
-bool NPPSetWindowCalledDuringDestruction::ScriptObject::hasMethod(NPIdentifier methodName)
-{
- return methodName == pluginTest()->NPN_GetStringIdentifier("setWillBeDestroyed");
-}
-
-bool NPPSetWindowCalledDuringDestruction::ScriptObject::invoke(NPIdentifier identifier, const NPVariant*, uint32_t, NPVariant*)
-{
- assert(identifier == pluginTest()->NPN_GetStringIdentifier("setWillBeDestroyed"));
- static_cast<NPPSetWindowCalledDuringDestruction*>(pluginTest())->setWillBeDestroyed();
- return true;
-}
« no previous file with comments | « content/shell/tools/plugin/Tests/NPPNewFails.cpp ('k') | content/shell/tools/plugin/Tests/NPRuntimeCallsWithNullNPP.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698