Skip to content

[Feature]: [Extensions] Chrome extension API shim implementation #3853

Open
@RendijsSmukulis

Description

@RendijsSmukulis

Describe the feature/enhancement you need

There are two kinds of shims (API method replacements) we utilize to modify the behaviour of chrome extension API (e.g. chrome.tabs.query):

  1. Pure JS, living in the extension only
  2. Ones which include interop with native layer (i.e. the app)

Pure JS shims are straight-forward, we inject some JS that replaces an existing JS function with a different JS function.

Interop ones are trickier, as we have not discovered a way to establish interop communication with the app in a sync method (while async ones and ones that return a promise are fine).

It would be great if WebView2 provided a way to easily replace existing chromium extension API methods with implementations where native layer can provide a response (an example again being the chrome.tabs.query method - only the native app has the concept of tab/window relationships)

The scenario/use case where you would use this feature

As we're building a browser with intention to host extensions, some amount of app-to-extension communication needs to happen as we need to re-implement some of the chrome extension APIs, e.g. chrome.tabs.query

How important is this request to you?

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

Suggested implementation

No response

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

No response

AB#46892716

Metadata

Metadata

Labels

feature requestfeature requesttrackedWe are tracking this work internally.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions