#include "content/browser/permissions/permission_service_context.h"
#include <memory>
#include "base/memory/ptr_util.h"
#include "base/memory/raw_ptr.h"
#include "content/browser/permissions/permission_controller_impl.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include "content/public/browser/weak_document_ptr.h"
#include "content/public/test/navigation_simulator.h"
#include "content/public/test/test_renderer_host.h"
#include "content/test/test_render_frame_host.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/public/common/permissions/permission_utils.h"
#include "third_party/blink/public/mojom/permissions/permission.mojom.h"
#include "url/origin.h"
namespace content {
namespace {
constexpr char kTestUrl[] = …;
}
class TestPermissionObserver : public blink::mojom::PermissionObserver { … };
class PermissionServiceContextTest : public RenderViewHostTestHarness { … };
TEST_F(PermissionServiceContextTest, DispatchPermissionChangeEvent) { … }
TEST_F(PermissionServiceContextTest,
DispatchPermissionChangeEventInBackForwardCache) { … }
TEST_F(PermissionServiceContextTest,
DispatchMultiplePermissionChangeEventsInBackForwardCache) { … }
TEST_F(PermissionServiceContextTest, CreateSubscriptionInBackForwardCache) { … }
TEST_F(PermissionServiceContextTest,
DispatchSameStatusAfterLeaveBackForwardCache) { … }
TEST_F(PermissionServiceContextTest,
DispatchDifferentStatusAfterLeaveBackForwardCache) { … }
}