devtools_http_handler_delegate.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
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/files/file_path.h" 12 13class GURL; 14 15namespace content { 16 17class RenderViewHost; 18 19class DevToolsHttpHandlerDelegate { 20 public: 21 enum TargetType { 22 kTargetTypeTab = 0, 23 kTargetTypeOther, 24 }; 25 26 virtual ~DevToolsHttpHandlerDelegate() {} 27 28 // Should return discovery page HTML that should list available tabs 29 // and provide attach links. 30 virtual std::string GetDiscoveryPageHTML() = 0; 31 32 // Returns true if and only if frontend resources are bundled. 33 virtual bool BundlesFrontendResources() = 0; 34 35 // Returns path to the front-end files on the local filesystem for debugging. 36 virtual base::FilePath GetDebugFrontendDir() = 0; 37 38 // Get a thumbnail for a given page. Returns non-empty string iff we have the 39 // thumbnail. 40 virtual std::string GetPageThumbnailData(const GURL& url) = 0; 41 42 // Creates new inspectable target and returns its render view host. 43 virtual RenderViewHost* CreateNewTarget() = 0; 44 45 // Returns the type of the target. 46 virtual TargetType GetTargetType(RenderViewHost*) = 0; 47 48 // Provides the delegate with an ability to supply a description for views. 49 virtual std::string GetViewDescription(content::RenderViewHost*) = 0; 50}; 51 52} // namespace content 53 54#endif // CONTENT_PUBLIC_BROWSER_DEVTOOLS_HTTP_HANDLER_DELEGATE_H_ 55