devtools_http_handler_delegate.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
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 CONTENT_PUBLIC_BROWSER_DEVTOOLS_HTTP_HANDLER_DELEGATE_H_
6#define CONTENT_PUBLIC_BROWSER_DEVTOOLS_HTTP_HANDLER_DELEGATE_H_
7
8#include <string>
9#include <vector>
10
11#include "base/file_path.h"
12
13class GURL;
14
15namespace content {
16
17class RenderViewHost;
18
19class DevToolsHttpHandlerDelegate {
20 public:
21  virtual ~DevToolsHttpHandlerDelegate() {}
22
23  // Should return discovery page HTML that should list available tabs
24  // and provide attach links.
25  virtual std::string GetDiscoveryPageHTML() = 0;
26
27  // Returns true if and only if frontend resources are bundled.
28  virtual bool BundlesFrontendResources() = 0;
29
30  // Returns path to the front-end files on the local filesystem for debugging.
31  virtual FilePath GetDebugFrontendDir() = 0;
32
33  // Get a thumbnail for a given page. Returns non-empty string iff we have the
34  // thumbnail.
35  virtual std::string GetPageThumbnailData(const GURL& url) = 0;
36
37  // Creates new inspectable target and returns its render view host.
38  virtual RenderViewHost* CreateNewTarget() = 0;
39};
40
41}  // namespace content
42
43#endif  // CONTENT_PUBLIC_BROWSER_DEVTOOLS_HTTP_HANDLER_DELEGATE_H_
44