Skip to content

Port the NetBeans Connector for Chrome to Manifest V3 - #9799

Draft
mhalachev wants to merge 1 commit into
apache:masterfrom
mhalachev:chrome-connector-mv3
Draft

mhalachev wants to merge 1 commit into
apache:masterfrom
mhalachev:chrome-connector-mv3

Conversation

@mhalachev

Copy link
Copy Markdown
Contributor

Summary

This PR addresses apache/netbeans#6601, which tracks the legacy Chrome connector becoming unavailable in current versions of the browser.

I used OpenAI Codex to implement the port and run automated checks.

  • Ported the Chrome NetBeans Connector to Manifest V3;
  • Replaced the persistent background page with a service worker;
  • Used runtime messages for the popup, preset editor, and DevTools panel.

The port preserves the IDE protocol, auto-refresh, Browser DOM, Inspect in NetBeans Mode, Debug in NetBeans, and editable window-size presets.

Validation

  • Loaded the unpacked extension in a disposable Chrome profile and tested it against NetBeans 31 with an HTML project. Verified reload, Browser DOM, inspection, debugging, preset editing, and DevTools write-back.
  • Checked JavaScript syntax and exercised tab registration, debugger commands, preset saving.

Thanks to @mpizeli for sharing Netbeans ReConnector and renewing interest in the migration.

Try it locally

Check out this PR branch. In Chrome, open chrome://extensions, enable Developer mode, and select webcommon/extbrowser.chrome/plugins/chrome with Load unpacked. Run an HTML project from NetBeans with Chrome and NetBeans integration enabled.

Using a test Chrome profile is recommended. If either the Original NetBeans Connector or ReConnector by @mpizeli is loaded in that profile, remove it first because the two extensions share the connector ID. DevTools write-back can be enabled in the NetBeans panel in Chrome DevTools.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant