| // Copyright 2017 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/webapps/browser/installable/installable_data.h" |
| |
| #include <utility> |
| |
| #include "base/containers/flat_set.h" |
| #include "components/webapps/browser/installable/installable_logging.h" |
| |
| namespace webapps { |
| |
| Screenshot::Screenshot(SkBitmap image, std::optional<std::u16string> label) |
| : image(std::move(image)), label(label) {} |
| |
| Screenshot::Screenshot(const Screenshot& screenshot) = default; |
| Screenshot& Screenshot::operator=(const Screenshot& screenshot) = default; |
| |
| Screenshot::~Screenshot() = default; |
| |
| InstallableData::InstallableData(std::vector<InstallableStatusCode> errors, |
| const GURL& manifest_url, |
| const blink::mojom::Manifest& manifest, |
| const mojom::WebPageMetadata& metadata, |
| const GURL& primary_icon_url, |
| const SkBitmap* primary_icon, |
| bool has_maskable_primary_icon, |
| const std::vector<Screenshot>& screenshots, |
| bool installable_check_passed) |
| : errors(std::move(errors)), |
| manifest_url(manifest_url), |
| manifest(manifest), |
| web_page_metadata(metadata), |
| primary_icon_url(primary_icon_url), |
| primary_icon(primary_icon), |
| has_maskable_primary_icon(has_maskable_primary_icon), |
| screenshots(screenshots), |
| installable_check_passed(installable_check_passed) {} |
| |
| InstallableData::~InstallableData() = default; |
| |
| InstallableStatusCode InstallableData::GetFirstError() const { |
| if (errors.empty()) { |
| return InstallableStatusCode::NO_ERROR_DETECTED; |
| } |
| return errors[0]; |
| } |
| |
| } // namespace webapps |