blob: 9a46c387f4c6b347abfed0f2616b40664f3099d8 [file] [log] [blame]
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +00001// Copyright (c) 2013 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 CONTENT_BROWSER_DEVTOOLS_RENDERER_OVERRIDES_HANDLER_H_
6#define CONTENT_BROWSER_DEVTOOLS_RENDERER_OVERRIDES_HANDLER_H_
7
8#include "base/basictypes.h"
9#include "base/compiler_specific.h"
10#include "base/memory/scoped_ptr.h"
Ben Murdochbb1529c2013-08-08 10:24:53 +010011#include "base/memory/weak_ptr.h"
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000012#include "content/browser/devtools/devtools_protocol.h"
13
14namespace content {
15
16class DevToolsAgentHost;
Ben Murdochca12bfa2013-07-23 11:17:05 +010017class DevToolsTracingHandler;
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000018
19// Overrides Inspector commands before they are sent to the renderer.
20// May override the implementation completely, ignore it, or handle
21// additional browser process implementation details.
22class RendererOverridesHandler : public DevToolsProtocol::Handler {
23 public:
24 explicit RendererOverridesHandler(DevToolsAgentHost* agent);
25 virtual ~RendererOverridesHandler();
26
27 private:
Ben Murdochbb1529c2013-08-08 10:24:53 +010028 scoped_refptr<DevToolsProtocol::Response>
29 GrantPermissionsForSetFileInputFiles(
30 scoped_refptr<DevToolsProtocol::Command> command);
31 scoped_refptr<DevToolsProtocol::Response> PageHandleJavaScriptDialog(
32 scoped_refptr<DevToolsProtocol::Command> command);
33 scoped_refptr<DevToolsProtocol::Response> PageNavigate(
34 scoped_refptr<DevToolsProtocol::Command> command);
35 scoped_refptr<DevToolsProtocol::Response> PageCaptureScreenshot(
36 scoped_refptr<DevToolsProtocol::Command> command);
Torne (Richard Coles)c2e0dbd2013-05-09 18:35:53 +010037
Ben Murdochbb1529c2013-08-08 10:24:53 +010038 void CaptureScreenshot(scoped_refptr<DevToolsProtocol::Command> command);
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000039
40 DevToolsAgentHost* agent_;
Ben Murdochbb1529c2013-08-08 10:24:53 +010041 base::WeakPtrFactory<RendererOverridesHandler> weak_factory_;
Torne (Richard Coles)2a99a7e2013-03-28 15:31:22 +000042 DISALLOW_COPY_AND_ASSIGN(RendererOverridesHandler);
43};
44
45} // namespace content
46
47#endif // CONTENT_BROWSER_DEVTOOLS_RENDERER_OVERRIDES_HANDLER_H_