blob: a3b834a7e3ad0747d303468db03fb082b26a8a1e [file] [log] [blame]
// Copyright 2015 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 COMPONENTS_DEVTOOLS_DISCOVERY_BASIC_TARGET_DESCRIPTOR_H_
#define COMPONENTS_DEVTOOLS_DISCOVERY_BASIC_TARGET_DESCRIPTOR_H_
#include "components/devtools_discovery/devtools_target_descriptor.h"
namespace devtools_discovery {
class BasicTargetDescriptor : public DevToolsTargetDescriptor {
public:
explicit BasicTargetDescriptor(
scoped_refptr<content::DevToolsAgentHost> agent_host);
~BasicTargetDescriptor() override;
static const char kTypePage[];
static const char kTypeServiceWorker[];
static const char kTypeSharedWorker[];
static const char kTypeOther[];
// DevToolsTargetDescriptor implementation.
std::string GetId() const override;
std::string GetParentId() const override;
std::string GetType() const override;
std::string GetTitle() const override;
std::string GetDescription() const override;
GURL GetURL() const override;
GURL GetFaviconURL() const override;
base::TimeTicks GetLastActivityTime() const override;
bool IsAttached() const override;
scoped_refptr<content::DevToolsAgentHost> GetAgentHost() const override;
bool Activate() const override;
bool Close() const override;
protected:
void set_parent_id(const std::string& parent_id) { parent_id_ = parent_id; }
void set_type(const std::string& type) { type_ = type; }
void set_title(const std::string& title) { title_ = title; }
void set_description(const std::string& desc) { description_ = desc; }
void set_url(const GURL& url) { url_ = url; }
void set_favicon_url(const GURL& url) { favicon_url_ = url; }
private:
scoped_refptr<content::DevToolsAgentHost> agent_host_;
std::string parent_id_;
std::string type_;
std::string title_;
std::string description_;
GURL url_;
GURL favicon_url_;
base::TimeTicks last_activity_time_;
};
} // namespace devtools_discovery
#endif // COMPONENTS_DEVTOOLS_DISCOVERY_BASIC_TARGET_DESCRIPTOR_H_