eclipse-platform/eclipse.platform.text

Editor hover spawns a WebKit process per open tab on Linux

trancexpress opened this issue · 1 comments

To reproduce, open many Java editors and hover on code from each editor. Observe many WebKit processes are spawned (open per editor tab) and running (one per browser tab). E.g.:

sandreev   25004   23553 52 13:36 pts/2    00:00:55 /usr/lib/jvm/java-17-openjdk/bin/java -XX:+ShowCodeDetailsInExceptionMessages -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:41765 -Dorg.eclipse.swt.graphics.Resource.reportNonDisposed=true -Declipse.pde.launch=true --add-modules=ALL-SYSTEM -Djava.security.manager=allow -Dfile.encoding=UTF-8 -classpath /data/eclipses/eclipseSDK_428_m20230404/plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar org.eclipse.equinox.launcher.Main -launcher /data/eclipses/eclipseSDK_428_m20230404/eclipse -name Eclipse -showsplash 600 -product org.eclipse.platform.ide -data /data/workspaces/contributor_workspace/../runtime-Eclipse -configuration file:/data/workspaces/contributor_workspace/.metadata/.plugins/org.eclipse.pde.core/Eclipse/ -dev file:/data/workspaces/contributor_workspace/.metadata/.plugins/org.eclipse.pde.core/Eclipse/dev.properties -os linux -ws gtk -arch x86_64 -nl en_US -consoleLog
sandreev   25303   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitNetworkProcess 8 129
sandreev   25309   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 12 129
sandreev   25342   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 20 145
sandreev   25374   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 27 154
sandreev   25407   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 34 157
sandreev   25435   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 41 160
sandreev   25466   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 48 163
sandreev   25490   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 55 47
sandreev   25521   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 62 169
sandreev   25550   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 69 172
sandreev   25577   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 76 175
sandreev   25605   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 83 178
sandreev   25632   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 90 181
sandreev   25657   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 97 184
sandreev   25687   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 104 187
sandreev   25712   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 111 190
sandreev   25736   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 118 193
sandreev   25760   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 125 196
sandreev   25786   25004  0 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 132 199
sandreev   25834   25004  1 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 139 202
sandreev   25883   25004  1 13:37 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 146 205
sandreev   25908   25004  1 13:38 pts/2    00:00:00 /usr/lib/webkit2gtk-4.0/WebKitWebProcess 153 208

This doesn't scale well if the user continuously opens tabs, browses code, opens more tabs, and so on.

Opened eclipse-jdt/eclipse.jdt.ui#528, from what I can this will have to be fixed in JDT UI. The platform provides a way to reduce the number of browsers, but JDT UI is not using it.