Dear Chrome Developers,
Hello.
I have a highly popular extension, Quicker Connector, with a substantial user base. Its primary function is to integrate with a PC-side automation tool (a software named Quicker) to allow the insertion of control steps over web pages or the browser itself into user-defined "actions" (which can be understood as scripts).
Recently, I've seen the upcoming mandate to transition to MV3, so I took some time to learn about the MV3 API. I've discovered that a very important feature, widely used by users, cannot be implemented in MV3: executing custom scripts on the current tab (or a tab with a specified id) and returning data.
Previously, this was primarily achieved through chrome.tabs.executeScript(). I understand that, for the sake of protecting user privacy, MV3 will no longer support this method and will require the use of the chrome.scripting API instead. However, chrome.scripting does not allow the execution of user-defined scripts. Yet, chrome.userScripts, when developer mode is enabled, does allow the execution of user-defined scripts.
Based on my current understanding, userScripts has 2 insurmountable limitations: 1) It cannot execute scripts on a specified tab immediately. 2) It cannot return data to the caller.
Since users' needs are highly diverse, running custom scripts is often essential. These scripts, provided by the users themselves, are typically used for retrieving web page elements information or for automating control over web page elements. As everyone's needs are different, it's difficult to create pre-defined functions.
I hope developers will consider, consistent with the userScript API, allowing chrome.scripting to execute user-defined scripts specified in text form when developer mode is enabled and users have provided permission authorization. This would achieve the following objectives: 1) Run scripts on the current or specified tabs. 2) Return data.
This requirement is extremely important for users, Thank you!
--
You received this message because you are subscribed to the Google Groups "Chromium Extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-extensions/7b13d12d-e229-4da3-ba0e-c5e29c3b08f1n%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-extensions/8cd4d94d-d7d4-4a14-8440-a7410f681234n%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-extensions/CAOsQqBnnQ8-%3D_qSOzzJmAjNv5t7rTybNiYyg-wis8RnJBzKLVA%40mail.gmail.com.
In my case, MV2 extension was creating a window and injecting string script in that window.Is there a way to achieve that in MV3?
How are we supposed to explain to the user that they must accept those permissions even if they don't need the associated feature?
Execution of logic from a remote source is permissible only when accomplished through a documented API that explicitly allows this practice and the use is inline with the documented purpose of the API, as detailed in the API Use policy. The permitted APIs for such remote execution are:
Note that exemptions apply solely to the specific section of code covered by these APIs. Extensions may still be in violation of this policy if they employ alternative methods to execute logic from remote sources elsewhere in their code.
Additionally, code run in contexts that are isolated from extension APIs (such as iframes and sandboxed pages) are exempt from the restriction on loading code from remote sources; however, these are treated similarly to our policy on communication with external servers. That is, it must still be possible to determine the full functionality of your extension and the interaction must still comply with our user data policies, including Limited Use and the extension's Privacy Policy.
--
You received this message because you are subscribed to the Google Groups "Chromium Extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-extensions/4bcf6604-9b08-4f44-a685-c06101d66a64n%40chromium.org.
--
You received this message because you are subscribed to the Google Groups "Chromium Extensions" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-extens...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-extensions/e9a7e9c6-822d-4c99-94a8-5f1f8b76d1f3n%40chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/chromium-extensions/CAOsQqB%3DbXsRwno0pgDn%2BMFN204UA0qHMNL2jaBkbXe-c87Gf9g%40mail.gmail.com.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/chromium-extensions/405a9bcc-95ca-4267-be02-f6b278edfa68n%40chromium.org.
Can you please help me confirm whether this API can return the value of the script execution result?