mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
browser(webkit): introduce grantFileReadAccess command (#12965)
This commit is contained in:
parent
bed0ed12ec
commit
8c29803542
@ -1,2 +1,2 @@
|
|||||||
1619
|
1620
|
||||||
Changed: yurys@chromium.org Fri 18 Mar 2022 08:33:43 AM PDT
|
Changed: yurys@chromium.org Tue Mar 22 15:23:41 PDT 2022
|
||||||
|
|||||||
@ -1310,10 +1310,10 @@ index db52479a72d459be23d4d8d080c0ed15ea9fc4c0..658937fdc58425b9a164d9bc368a9e61
|
|||||||
}
|
}
|
||||||
diff --git a/Source/JavaScriptCore/inspector/protocol/Playwright.json b/Source/JavaScriptCore/inspector/protocol/Playwright.json
|
diff --git a/Source/JavaScriptCore/inspector/protocol/Playwright.json b/Source/JavaScriptCore/inspector/protocol/Playwright.json
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..b608b7e5c6007cfc0d47a5ea8d3cdefd2dda8f0e
|
index 0000000000000000000000000000000000000000..91bdeadaeb77d223cd4dc47b8bb90850d54a9056
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/Source/JavaScriptCore/inspector/protocol/Playwright.json
|
+++ b/Source/JavaScriptCore/inspector/protocol/Playwright.json
|
||||||
@@ -0,0 +1,269 @@
|
@@ -0,0 +1,277 @@
|
||||||
+{
|
+{
|
||||||
+ "domain": "Playwright",
|
+ "domain": "Playwright",
|
||||||
+ "availability": ["web"],
|
+ "availability": ["web"],
|
||||||
@ -1451,6 +1451,14 @@ index 0000000000000000000000000000000000000000..b608b7e5c6007cfc0d47a5ea8d3cdefd
|
|||||||
+ ]
|
+ ]
|
||||||
+ },
|
+ },
|
||||||
+ {
|
+ {
|
||||||
|
+ "name": "grantFileReadAccess",
|
||||||
|
+ "description": "Grants read access for the specified files to the web process of the page.",
|
||||||
|
+ "parameters": [
|
||||||
|
+ { "name": "pageProxyId", "$ref": "PageProxyID", "description": "Unique identifier of the page proxy." },
|
||||||
|
+ { "name": "paths", "type": "array", "items": { "type": "string" }, "description": "Id of the frame to navigate."}
|
||||||
|
+ ]
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
+ "name": "setIgnoreCertificateErrors",
|
+ "name": "setIgnoreCertificateErrors",
|
||||||
+ "description": "Change whether all certificate errors should be ignored.",
|
+ "description": "Change whether all certificate errors should be ignored.",
|
||||||
+ "parameters": [
|
+ "parameters": [
|
||||||
@ -14630,10 +14638,10 @@ index 0000000000000000000000000000000000000000..d0e11ed81a6257c011df23d5870da740
|
|||||||
+} // namespace WebKit
|
+} // namespace WebKit
|
||||||
diff --git a/Source/WebKit/UIProcess/InspectorPlaywrightAgent.cpp b/Source/WebKit/UIProcess/InspectorPlaywrightAgent.cpp
|
diff --git a/Source/WebKit/UIProcess/InspectorPlaywrightAgent.cpp b/Source/WebKit/UIProcess/InspectorPlaywrightAgent.cpp
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..f9389996a68338891a6d8702ec302c98033d3fd5
|
index 0000000000000000000000000000000000000000..3979cd916a8a2821fa5ee5fe018a7ffc9d8cb2e1
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/Source/WebKit/UIProcess/InspectorPlaywrightAgent.cpp
|
+++ b/Source/WebKit/UIProcess/InspectorPlaywrightAgent.cpp
|
||||||
@@ -0,0 +1,950 @@
|
@@ -0,0 +1,974 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (C) 2019 Microsoft Corporation.
|
+ * Copyright (C) 2019 Microsoft Corporation.
|
||||||
+ *
|
+ *
|
||||||
@ -14672,6 +14680,7 @@ index 0000000000000000000000000000000000000000..f9389996a68338891a6d8702ec302c98
|
|||||||
+#include "NetworkProcessMessages.h"
|
+#include "NetworkProcessMessages.h"
|
||||||
+#include "NetworkProcessProxy.h"
|
+#include "NetworkProcessProxy.h"
|
||||||
+#include "PageClient.h"
|
+#include "PageClient.h"
|
||||||
|
+#include "SandboxExtension.h"
|
||||||
+#include "StorageNamespaceIdentifier.h"
|
+#include "StorageNamespaceIdentifier.h"
|
||||||
+#include "WebAutomationSession.h"
|
+#include "WebAutomationSession.h"
|
||||||
+#include "WebGeolocationManagerProxy.h"
|
+#include "WebGeolocationManagerProxy.h"
|
||||||
@ -14680,6 +14689,7 @@ index 0000000000000000000000000000000000000000..f9389996a68338891a6d8702ec302c98
|
|||||||
+#include "WebPageGroup.h"
|
+#include "WebPageGroup.h"
|
||||||
+#include "WebPageInspectorController.h"
|
+#include "WebPageInspectorController.h"
|
||||||
+#include "WebPageInspectorTarget.h"
|
+#include "WebPageInspectorTarget.h"
|
||||||
|
+#include "WebPageMessages.h"
|
||||||
+#include "WebPageProxy.h"
|
+#include "WebPageProxy.h"
|
||||||
+#include "WebProcessPool.h"
|
+#include "WebProcessPool.h"
|
||||||
+#include "WebProcessProxy.h"
|
+#include "WebProcessProxy.h"
|
||||||
@ -15333,6 +15343,28 @@ index 0000000000000000000000000000000000000000..f9389996a68338891a6d8702ec302c98
|
|||||||
+ });
|
+ });
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
|
+Inspector::Protocol::ErrorStringOr<void> InspectorPlaywrightAgent::grantFileReadAccess(const String& pageProxyID, Ref<JSON::Array>&& paths)
|
||||||
|
+{
|
||||||
|
+#if ENABLE(SANDBOX_EXTENSIONS)
|
||||||
|
+ auto* pageProxyChannel = m_pageProxyChannels.get(pageProxyID);
|
||||||
|
+ if (!pageProxyChannel)
|
||||||
|
+ return makeUnexpected("Unknown pageProxyID"_s);
|
||||||
|
+
|
||||||
|
+ Vector<String> files;
|
||||||
|
+ for (const auto& value : paths.get()) {
|
||||||
|
+ String path;
|
||||||
|
+ if (!value->asString(path))
|
||||||
|
+ return makeUnexpected("Filr path must be a string"_s);
|
||||||
|
+
|
||||||
|
+ files.append(path);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ auto sandboxExtensionHandles = SandboxExtension::createReadOnlyHandlesForFiles("InspectorPlaywrightAgent::grantFileReadAccess"_s, files);
|
||||||
|
+ pageProxyChannel->page().send(Messages::WebPage::ExtendSandboxForFilesFromOpenPanel(WTFMove(sandboxExtensionHandles)));
|
||||||
|
+#endif
|
||||||
|
+ return { };
|
||||||
|
+}
|
||||||
|
+
|
||||||
+Inspector::Protocol::ErrorStringOr<void> InspectorPlaywrightAgent::setIgnoreCertificateErrors(const String& browserContextID, bool ignore)
|
+Inspector::Protocol::ErrorStringOr<void> InspectorPlaywrightAgent::setIgnoreCertificateErrors(const String& browserContextID, bool ignore)
|
||||||
+{
|
+{
|
||||||
+ String errorString;
|
+ String errorString;
|
||||||
@ -15586,10 +15618,10 @@ index 0000000000000000000000000000000000000000..f9389996a68338891a6d8702ec302c98
|
|||||||
+#endif // ENABLE(REMOTE_INSPECTOR)
|
+#endif // ENABLE(REMOTE_INSPECTOR)
|
||||||
diff --git a/Source/WebKit/UIProcess/InspectorPlaywrightAgent.h b/Source/WebKit/UIProcess/InspectorPlaywrightAgent.h
|
diff --git a/Source/WebKit/UIProcess/InspectorPlaywrightAgent.h b/Source/WebKit/UIProcess/InspectorPlaywrightAgent.h
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000000000000000000000000000000000000..27e1bf3c7fd32d676a09605604936fa505c6ad05
|
index 0000000000000000000000000000000000000000..8522b4942343d9a6f2473ea9a133d1ff5267e8ed
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/Source/WebKit/UIProcess/InspectorPlaywrightAgent.h
|
+++ b/Source/WebKit/UIProcess/InspectorPlaywrightAgent.h
|
||||||
@@ -0,0 +1,126 @@
|
@@ -0,0 +1,127 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Copyright (C) 2019 Microsoft Corporation.
|
+ * Copyright (C) 2019 Microsoft Corporation.
|
||||||
+ *
|
+ *
|
||||||
@ -15678,6 +15710,7 @@ index 0000000000000000000000000000000000000000..27e1bf3c7fd32d676a09605604936fa5
|
|||||||
+ void deleteContext(const String& browserContextID, Ref<DeleteContextCallback>&& callback) override;
|
+ void deleteContext(const String& browserContextID, Ref<DeleteContextCallback>&& callback) override;
|
||||||
+ Inspector::Protocol::ErrorStringOr<String /* pageProxyID */> createPage(const String& browserContextID) override;
|
+ Inspector::Protocol::ErrorStringOr<String /* pageProxyID */> createPage(const String& browserContextID) override;
|
||||||
+ void navigate(const String& url, const String& pageProxyID, const String& frameId, const String& referrer, Ref<NavigateCallback>&&) override;
|
+ void navigate(const String& url, const String& pageProxyID, const String& frameId, const String& referrer, Ref<NavigateCallback>&&) override;
|
||||||
|
+ Inspector::Protocol::ErrorStringOr<void> grantFileReadAccess(const String& pageProxyID, Ref<JSON::Array>&& paths) override;
|
||||||
+ Inspector::Protocol::ErrorStringOr<void> setIgnoreCertificateErrors(const String& browserContextID, bool ignore) override;
|
+ Inspector::Protocol::ErrorStringOr<void> setIgnoreCertificateErrors(const String& browserContextID, bool ignore) override;
|
||||||
+
|
+
|
||||||
+ void getAllCookies(const String& browserContextID, Ref<GetAllCookiesCallback>&&) override;
|
+ void getAllCookies(const String& browserContextID, Ref<GetAllCookiesCallback>&&) override;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user