1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:57:45 +00:00

Browser+LibWeb+WebContent: Allow Browser to load local files

To achieve this goal:
 - The Browser unveils "/tmp/portal/filesystemaccess"
 - Pass the page through LoadRequest => ResourceLoader
 - ResourceLoader requests a file to the FileSystemAccessServer via IPC
 - OutOfProcessWebView handles it and sends a file descriptor back to
 the Page.
This commit is contained in:
Lucas CHOLLET 2022-02-26 17:50:31 +01:00 committed by Linus Groh
parent 1ba9c821fb
commit 662711fa26
21 changed files with 165 additions and 14 deletions

View file

@ -17,6 +17,7 @@
#include <LibCore/IODevice.h>
#include <LibCore/MemoryStream.h>
#include <LibCore/Stream.h>
#include <LibCore/System.h>
#include <LibCore/Timer.h>
#include <LibGemini/GeminiRequest.h>
#include <LibGemini/GeminiResponse.h>
@ -214,6 +215,12 @@ public:
{
}
void request_file(NonnullRefPtr<Web::FileRequest>& request) override
{
auto const file = Core::System::open(request->path(), O_RDONLY);
request->on_file_request_finish(file);
}
private:
HeadlessBrowserPageClient()
: m_page(make<Web::Page>(*this))