| Index: content/browser/debugger/devtools_browser_target.h
|
| diff --git a/content/browser/debugger/devtools_browser_target.h b/content/browser/debugger/devtools_browser_target.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..14e141fe4e8fd30d93d05178149f73c9dc2b8880
|
| --- /dev/null
|
| +++ b/content/browser/debugger/devtools_browser_target.h
|
| @@ -0,0 +1,68 @@
|
| +// Copyright (c) 2012 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_BROWSER_DEBUGGER_DEVTOOLS_BROWSER_TARGET_H_
|
| +#define CONTENT_BROWSER_DEBUGGER_DEVTOOLS_BROWSER_TARGET_H_
|
| +
|
| +#include <map>
|
| +#include <string>
|
| +
|
| +#include "base/basictypes.h"
|
| +
|
| +namespace base {
|
| +
|
| +class DictionaryValue;
|
| +class Value;
|
| +
|
| +} // namespace base
|
| +
|
| +namespace content {
|
| +
|
| +// This class handles the "Browser" target for remote debugging.
|
| +class DevToolsBrowserTarget {
|
| + public:
|
| + class Handler {
|
| + public:
|
| + virtual ~Handler() {}
|
| +
|
| + // Returns the domain name for this handler.
|
| + virtual std::string Domain() = 0;
|
| +
|
| + // |return_value| and |error_message_out| ownership is transferred to the
|
| + // caller.
|
| + virtual base::Value* OnProtocolCommand(
|
| + const std::string& method,
|
| + const base::DictionaryValue* params,
|
| + base::Value** error_message_out) = 0;
|
| + };
|
| +
|
| + explicit DevToolsBrowserTarget(int connection_id);
|
| + ~DevToolsBrowserTarget();
|
| +
|
| + int connection_id() const { return connection_id_; }
|
| +
|
| + // Takes ownership of |handler|.
|
| + void RegisterHandler(Handler* handler);
|
| +
|
| + std::string HandleMessage(const std::string& data);
|
| +
|
| + private:
|
| + const int connection_id_;
|
| +
|
| + typedef std::map<std::string, Handler*> HandlersMap;
|
| + HandlersMap handlers_;
|
| +
|
| + // Takes ownership of |error_object|.
|
| + std::string SerializeErrorResponse(int request_id, base::Value* error_object);
|
| +
|
| + base::Value* CreateErrorObject(int error_code, const std::string& message);
|
| +
|
| + std::string SerializeResponse(int request_id, base::Value* response);
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(DevToolsBrowserTarget);
|
| +};
|
| +
|
| +} // namespace content
|
| +
|
| +#endif // CONTENT_BROWSER_DEBUGGER_DEVTOOLS_BROWSER_TARGET_H_
|
|
|