mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-25 05:55:13 +00:00
We currently get a list of cookies when the Storage Inspector is opened and never update that list when deleting cookies. This updates the inspector to actually take cookies out of the model when deleting them, rather than deleting a copy of them.
45 lines
1.3 KiB
C++
45 lines
1.3 KiB
C++
/*
|
|
* Copyright (c) 2022, the SerenityOS developers.
|
|
*
|
|
* SPDX-License-Identifier: BSD-2-Clause
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "Tab.h"
|
|
#include <AK/Vector.h>
|
|
#include <LibGUI/Model.h>
|
|
#include <LibGUI/Widget.h>
|
|
#include <LibWeb/Cookie/Cookie.h>
|
|
|
|
namespace Browser {
|
|
|
|
class CookiesModel final : public GUI::Model {
|
|
public:
|
|
enum Column {
|
|
Domain,
|
|
Path,
|
|
Name,
|
|
Value,
|
|
ExpiryTime,
|
|
SameSite,
|
|
__Count,
|
|
};
|
|
|
|
void set_items(AK::Vector<Web::Cookie::Cookie> items);
|
|
void clear_items();
|
|
virtual int row_count(GUI::ModelIndex const&) const override;
|
|
virtual int column_count(GUI::ModelIndex const& = GUI::ModelIndex()) const override { return Column::__Count; }
|
|
virtual String column_name(int column) const override;
|
|
virtual GUI::ModelIndex index(int row, int column = 0, GUI::ModelIndex const& = GUI::ModelIndex()) const override;
|
|
virtual GUI::Variant data(GUI::ModelIndex const& index, GUI::ModelRole role = GUI::ModelRole::Display) const override;
|
|
virtual TriState data_matches(GUI::ModelIndex const& index, GUI::Variant const& term) const override;
|
|
|
|
Web::Cookie::Cookie take_cookie(GUI::ModelIndex const&);
|
|
AK::Vector<Web::Cookie::Cookie> take_all_cookies();
|
|
|
|
private:
|
|
AK::Vector<Web::Cookie::Cookie> m_cookies;
|
|
};
|
|
|
|
}
|