Skip to content

[Feature]: ICoreWebView2BrowserExtension should be able to provide more information #5084

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
HIllya51 opened this issue Feb 4, 2025 · 5 comments
Assignees
Labels
feature request feature request

Comments

@HIllya51
Copy link

HIllya51 commented Feb 4, 2025

Describe the feature/enhancement you need

For example, it should be possible to obtain settings page link (like chrome-extension://bdiifdefkgmcblbcghdlonllpjhhjgof/options.html), icons, etc

The scenario/use case where you would use this feature

Some extensions require some configuration before they can be used, but I am unable to know what is their configuration page uri.

How important is this request to you?

Impactful. My app's user experience would be significantly compromised without it.

Suggested implementation

ICoreWebView2BrowserExtension2
{
HRESULT get_Icon(HICON*);
HRESULT get_OptionsUIPage(PWSTR*);
}

What does your app do? Is there a pending deadline for this request?

No response

@HIllya51 HIllya51 added the feature request feature request label Feb 4, 2025
@sivMSFT
Copy link

sivMSFT commented Feb 4, 2025

Hi @HIllya51, could you please with the importance of the request.

@HIllya51
Copy link
Author

HIllya51 commented Feb 4, 2025

I think it's quite important because the current extension related APIs seem to be just decorations and can hardly do anything. Large number of plugins require configuration before they can be used. If the configuration URL cannot be obtained, adding them is useless.

@Zaarrg
Copy link

Zaarrg commented Feb 5, 2025

Would also appreciate that. As currently for my app that uses Browser Extensions i have to keep a list with supported extensions where the settings page ending is kept like \options.html \popup.html

Also what would be needed in addition to that is a toggle for extensions developer mode as many browser extensions require this as well to fully work. Also created a issue for that.

@sandeepchads
Copy link

Can you share your scenario regarding why do you need the ability to view icons for extensions. Since these are mostly side-loaded extensions, you should be able to manage the enlistment of extensions using the crx id. I am not clear on the scenario.

Also, would love to understand the need for allowing developer mode status and ability to turn on developer mode for extensions. HOw will this help you? Are there extensions you plan to enable that can only operate behind developer mode. For example the mv3 type extensions?

@HIllya51
Copy link
Author

HIllya51 commented Mar 3, 2025

Can you share your scenario regarding why do you need the ability to view icons for extensions. Since these are mostly side-loaded extensions, you should be able to manage the enlistment of extensions using the crx id. I am not clear on the scenario.

Also, would love to understand the need for allowing developer mode status and ability to turn on developer mode for extensions. HOw will this help you? Are there extensions you plan to enable that can only operate behind developer mode. For example the mv3 type extensions?

I am not aiming to obtain icons; what I desire more is to access the extension's manifest. Currently, I retrieve the extension's path by querying EBWebView/Default/Secure Preferences, and then I manually look up the manifest.json to read this information. However, this method proves to be unstable in some scenarios, hence I prefer a more stable integration within the SDK.

Extensions are not necessarily loaded via crx files, we can reuse extensions already present in Chrome or Edge. Therefore, in such cases, I cannot gather extension information by traversing a specific folder where extensions are stored. Maintaining a self-stored list of added extensions is also unreliable, as I could very well use the same Userdata file across two programs to utilize the same set of extension configurations.

Image

These are some of the elements I currently utilize. I allow users to load additional extensions within the software's WebView2 to achieve more diverse functionalities. To facilitate easier management of these extensions by users, I require at least the following features to meet the needs: I need to retrieve the extension's icon to make it easier for users to identify the extension (manifest["icons"]), and I need to access the extension's configuration interface (manifest["options_ui"]["page"]). As for the developer mode, I currently have no use for it.

Related code: Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request feature request
Projects
None yet
Development

No branches or pull requests

5 participants