LibWeb: Implement DataTransferItemList.remove()

This commit is contained in:
Tim Ledbetter 2025-09-05 07:23:46 +01:00 committed by Jelle Raaijmakers
commit d9341adb1e
Notes: github-actions[bot] 2025-09-12 10:31:50 +00:00
9 changed files with 84 additions and 1 deletions

View file

@ -248,6 +248,22 @@ GC::Ref<DataTransferItem> DataTransfer::add_item(DragDataStoreItem item)
return data_transfer_item;
}
void DataTransfer::remove_item(size_t index)
{
VERIFY(m_associated_drag_data_store);
VERIFY(index < m_item_list.size());
m_associated_drag_data_store->remove_item_at(index);
auto& item = m_item_list.at(index);
item->set_item_index({}, OptionalNone {});
m_item_list.remove(index);
for (size_t i = index; i < m_item_list.size(); ++i) {
m_item_list.at(i)->set_item_index({}, i);
}
update_data_transfer_types_list();
}
bool DataTransfer::contains_item_with_type(DragDataStoreItem::Kind kind, String const& type) const
{
VERIFY(m_associated_drag_data_store);