/* * Copyright (c) 2023, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #include namespace Web::HTML { void DecodedImageData::Client::register_with_decoded_image_data_if_needed() { auto const& image_data = decoded_image_data(); if (!image_data) return; image_data->m_clients.set(this); image_data->on_client_registered(); } void DecodedImageData::Client::unregister_with_decoded_image_data_if_needed() { auto const& image_data = decoded_image_data(); if (!image_data) return; image_data->m_clients.remove(this); } DecodedImageData::DecodedImageData() = default; DecodedImageData::~DecodedImageData() = default; void DecodedImageData::notify_clients_did_update() { for (auto* client : m_clients) client->decoded_image_data_did_update(); } }