blob: 54b1386f342cc497baaeda335a54bff8e739eb97 [file] [log] [blame]
// 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.
#ifndef CONTENT_SHELL_BROWSER_LAYOUT_TEST_LAYOUT_TEST_DEVTOOLS_FRONTEND_H_
#define CONTENT_SHELL_BROWSER_LAYOUT_TEST_LAYOUT_TEST_DEVTOOLS_FRONTEND_H_
#include "base/compiler_specific.h"
#include "base/macros.h"
#include "content/shell/browser/shell_devtools_frontend.h"
namespace content {
class RenderViewHost;
class Shell;
class WebContents;
class LayoutTestDevToolsFrontend : public ShellDevToolsFrontend {
public:
static LayoutTestDevToolsFrontend* Show(WebContents* inspected_contents,
const std::string& settings,
const std::string& frontend_url);
static GURL GetDevToolsPathAsURL(const std::string& frontend_url);
void ReuseFrontend(const std::string& settings,
const std::string frontend_url);
void EvaluateInFrontend(int call_id, const std::string& expression);
private:
LayoutTestDevToolsFrontend(Shell* frontend_shell,
WebContents* inspected_contents);
~LayoutTestDevToolsFrontend() override;
// content::DevToolsAgentHostClient implementation.
void AgentHostClosed(DevToolsAgentHost* agent_host, bool replaced) override;
// ShellDevToolsFrontend overrides.
void HandleMessageFromDevToolsFrontend(const std::string& message) override;
// WebContentsObserver implementation.
void RenderProcessGone(base::TerminationStatus status) override;
void RenderFrameCreated(RenderFrameHost* render_frame_host) override;
bool ready_for_test_;
std::vector<std::pair<int, std::string>> pending_evaluations_;
DISALLOW_COPY_AND_ASSIGN(LayoutTestDevToolsFrontend);
};
} // namespace content
#endif // CONTENT_SHELL_BROWSER_LAYOUT_TEST_LAYOUT_TEST_DEVTOOLS_FRONTEND_H_