// Copyright (c) 2012 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. // The IE configurator mutates Internet Explorer's configuration to put it in a // (thought to be) known good state for the Chrome Frame tests. The current // user's IE configuration may be left in a different state than it was // initially; see the implementation for details. #ifndef CHROME_FRAME_TEST_IE_CONFIGURATOR_H_ #define CHROME_FRAME_TEST_IE_CONFIGURATOR_H_ #include "base/basictypes.h" namespace chrome_frame_test { // Abstract interface to be implemented for per-version configurators. class IEConfigurator { public: virtual ~IEConfigurator(); // Initializes a configurator, causing it to cache existing configuration // settings that it will modify. virtual void Initialize() = 0; // Applies all configuration settings. virtual void ApplySettings() = 0; // Reverts all configuration settings. virtual void RevertSettings() = 0; protected: IEConfigurator(); }; // Returns a new configurator for the current configuration, or NULL if none // applies. IEConfigurator* CreateConfigurator(); // Installs a configurator in the Google Test unit test singleton. void InstallIEConfigurator(); } // namespace chrome_frame_test #endif // CHROME_FRAME_TEST_IE_CONFIGURATOR_H_