1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // The IE configurator mutates Internet Explorer's configuration to put it in a
6 // (thought to be) known good state for the Chrome Frame tests. The current
7 // user's IE configuration may be left in a different state than it was
8 // initially; see the implementation for details.
10 #ifndef CHROME_FRAME_TEST_IE_CONFIGURATOR_H_
11 #define CHROME_FRAME_TEST_IE_CONFIGURATOR_H_
13 #include "base/basictypes.h"
15 namespace chrome_frame_test
{
17 // Abstract interface to be implemented for per-version configurators.
18 class IEConfigurator
{
20 virtual ~IEConfigurator();
22 // Initializes a configurator, causing it to cache existing configuration
23 // settings that it will modify.
24 virtual void Initialize() = 0;
26 // Applies all configuration settings.
27 virtual void ApplySettings() = 0;
29 // Reverts all configuration settings.
30 virtual void RevertSettings() = 0;
36 // Returns a new configurator for the current configuration, or NULL if none
38 IEConfigurator
* CreateConfigurator();
40 // Installs a configurator in the Google Test unit test singleton.
41 void InstallIEConfigurator();
43 } // namespace chrome_frame_test
45 #endif // CHROME_FRAME_TEST_IE_CONFIGURATOR_H_