Skip to content
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

Use adapter object to expose tab API to extensions #4446

Open
The-Compiler opened this issue Nov 30, 2018 · 1 comment
Open

Use adapter object to expose tab API to extensions #4446

The-Compiler opened this issue Nov 30, 2018 · 1 comment
Labels
component: extensions Issues related to the (work in progress) extension API priority: 1 - middle Issues which should be done at some point, but aren't that important.

Comments

@The-Compiler
Copy link
Member

Originally, I planned to expose the entire tab API to future extensions. However, during an API review it turned out that this probably isn't a good idea - the tab API has some stuff in it which is very specific and should probably only be exposed to the core.

Instead, there should probably be another adapter object in front - then we can only selectively expose the API which seems stable enough to actually make it public.

@The-Compiler The-Compiler added priority: 1 - middle Issues which should be done at some point, but aren't that important. component: extensions Issues related to the (work in progress) extension API labels Nov 30, 2018
@The-Compiler
Copy link
Member Author

@jgkamat mentioned a nice idea in IRC: Using decorators in the existing tab API to decide what to expose to the extension API. However, the big drawback of that (compared to hand-written classes) is that it will likely confuse anything doing static analysis or type checking...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: extensions Issues related to the (work in progress) extension API priority: 1 - middle Issues which should be done at some point, but aren't that important.
Projects
None yet
Development

No branches or pull requests

1 participant