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.
4
5#ifndef CHROME_BROWSER_UI_WEBUI_NET_INTERNALS_NET_INTERNALS_UI_BROWSERTEST_H_
6#define CHROME_BROWSER_UI_WEBUI_NET_INTERNALS_NET_INTERNALS_UI_BROWSERTEST_H_
7
8#include "base/memory/scoped_ptr.h"
9#include "chrome/test/base/web_ui_browser_test.h"
10
11class GURL;
12
13namespace base {
14class ListValue;
15}  // namespace base
16
17class NetInternalsTest : public WebUIBrowserTest {
18 protected:
19  NetInternalsTest();
20  virtual ~NetInternalsTest();
21
22 private:
23  class MessageHandler;
24
25  // InProcessBrowserTest overrides.
26  virtual void SetUpCommandLine(base::CommandLine* command_line) OVERRIDE;
27  virtual void SetUpOnMainThread() OVERRIDE;
28
29  // WebUIBrowserTest implementation.
30  virtual content::WebUIMessageHandler* GetMockMessageHandler() OVERRIDE;
31
32  GURL CreatePrerenderLoaderUrl(const GURL& prerender_url);
33
34  // Attempts to start the test server.  Returns true on success or if the
35  // TestServer is already started.
36  bool StartTestServer();
37
38  scoped_ptr<MessageHandler> message_handler_;
39
40  // True if the test server has already been successfully started.
41  bool test_server_started_;
42
43  DISALLOW_COPY_AND_ASSIGN(NetInternalsTest);
44};
45
46#endif  // CHROME_BROWSER_UI_WEBUI_NET_INTERNALS_NET_INTERNALS_UI_BROWSERTEST_H_
47