Route prepared export policy through platform services

This commit is contained in:
2026-06-04 17:05:49 +02:00
parent cabfa44729
commit 104358bc62
10 changed files with 111 additions and 65 deletions

View File

@@ -210,6 +210,12 @@ public:
callback(directory_path);
}
[[nodiscard]] bool uses_prepared_file_writes() override
{
++prepared_file_write_policy_checks;
return prepared_file_writes;
}
[[nodiscard]] pp::platform::PreparedFileTarget prepare_writable_file(
std::string_view type,
std::string_view default_name,
@@ -269,11 +275,13 @@ public:
int pick_file_requests = 0;
int pick_save_file_requests = 0;
int pick_directory_requests = 0;
int prepared_file_write_policy_checks = 0;
int prepare_writable_file_requests = 0;
int save_prepared_file_requests = 0;
bool cursor_visible = false;
bool keyboard_visible = false;
bool prepared_file_saved = true;
bool prepared_file_writes = true;
bool deletes_recorded_files = true;
bool live_asset_reloading = true;
float last_platform_delta = 0.0f;
@@ -571,8 +579,14 @@ void platform_services_dispatch_writable_file_target(pp::tests::Harness& harness
FakePlatformServices fake("unused");
pp::platform::PlatformServices& services = fake;
PP_EXPECT(harness, services.uses_prepared_file_writes());
fake.prepared_file_writes = false;
PP_EXPECT(harness, !services.uses_prepared_file_writes());
fake.prepared_file_writes = true;
const auto target = services.prepare_writable_file("mp4", "export", "D:/Paint", "D:/Paint/tmp");
PP_EXPECT(harness, fake.prepared_file_write_policy_checks == 2);
PP_EXPECT(harness, fake.prepare_writable_file_requests == 1);
PP_EXPECT(harness, fake.writable_file_type == "mp4");
PP_EXPECT(harness, fake.writable_file_default_name == "export");