// 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 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 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 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_