// 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. #ifndef CONTENT_TEST_PLUGIN_PLUGIN_DELETE_PLUGIN_IN_DEALLOCATE_TEST_H_ #define CONTENT_TEST_PLUGIN_PLUGIN_DELETE_PLUGIN_IN_DEALLOCATE_TEST_H_ #include "base/compiler_specific.h" #include "content/test/plugin/plugin_test.h" namespace NPAPIClient { // This test verifies that if a plugin scripts the page from within an // NPObject's deallocation, and the page tears down the plugin, then that // object doesn't end up being double-freed. class DeletePluginInDeallocateTest : public PluginTest { public: // Constructor. DeletePluginInDeallocateTest(NPP id, NPNetscapeFuncs* host_functions); // NPAPI handlers. NPError SetWindow(NPWindow* pNPWindow) override; NPError Destroy() override; NPObject* npobject_; bool test_started_; }; } // namespace NPAPIClient #endif // CONTENT_TEST_PLUGIN_PLUGIN_DELETE_PLUGIN_IN_DEALLOCATE_TEST_H_