blob: c4aa19e41fe623ddea6307c247e8bd70ae093132 [file] [log] [blame]
// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "components/contextual_tasks/public/contextual_task_context.h"
#include "components/contextual_tasks/public/contextual_task.h"
namespace contextual_tasks {
UrlAttachmentDecoratorData::UrlAttachmentDecoratorData() = default;
UrlAttachmentDecoratorData::~UrlAttachmentDecoratorData() = default;
UrlAttachmentDecoratorData::UrlAttachmentDecoratorData(
const UrlAttachmentDecoratorData&) = default;
UrlAttachmentDecoratorData& UrlAttachmentDecoratorData::operator=(
const UrlAttachmentDecoratorData&) = default;
UrlAttachmentDecoratorData::UrlAttachmentDecoratorData(
UrlAttachmentDecoratorData&&) = default;
UrlAttachmentDecoratorData& UrlAttachmentDecoratorData::operator=(
UrlAttachmentDecoratorData&&) = default;
UrlAttachment::UrlAttachment(const GURL& url) : url_(url) {}
UrlAttachment::~UrlAttachment() = default;
GURL UrlAttachment::GetURL() const {
return url_;
}
std::u16string UrlAttachment::GetTitle() const {
if (!decorator_data_.tab_strip_data.title.empty()) {
return decorator_data_.tab_strip_data.title;
}
if (!decorator_data_.history_data.title.empty()) {
return decorator_data_.history_data.title;
}
return decorator_data_.fallback_title_data.title;
}
gfx::Image UrlAttachment::GetFavicon() const {
return decorator_data_.favicon_data.image;
}
bool UrlAttachment::IsOpen() const {
return decorator_data_.tab_strip_data.is_open_in_tab_strip;
}
UrlAttachmentDecoratorData& UrlAttachment::GetMutableDecoratorDataForTesting() {
return decorator_data_;
}
UrlAttachmentDecoratorData& UrlAttachment::GetMutableDecoratorData() {
return decorator_data_;
}
ContextualTaskContext::ContextualTaskContext(const ContextualTask& task)
: task_id_(task.GetTaskId()) {
for (const auto& url_resource : task.GetUrlResources()) {
urls_.emplace_back(url_resource.url);
}
}
ContextualTaskContext::~ContextualTaskContext() = default;
ContextualTaskContext::ContextualTaskContext(
const ContextualTaskContext& other) = default;
ContextualTaskContext::ContextualTaskContext(ContextualTaskContext&& other) =
default;
ContextualTaskContext& ContextualTaskContext::operator=(
const ContextualTaskContext& other) = default;
ContextualTaskContext& ContextualTaskContext::operator=(
ContextualTaskContext&& other) = default;
const base::Uuid& ContextualTaskContext::GetTaskId() const {
return task_id_;
}
const std::vector<UrlAttachment>& ContextualTaskContext::GetUrlAttachments()
const {
return urls_;
}
std::vector<UrlAttachment>&
ContextualTaskContext::GetMutableUrlAttachmentsForTesting() {
return urls_;
}
std::vector<UrlAttachment>& ContextualTaskContext::GetMutableUrlAttachments() {
return urls_;
}
} // namespace contextual_tasks