Commit Graph

85091 Commits

Author SHA1 Message Date
Vitaly Provodin
5521f5e61b JBR-6246 add default CDS archives into jbrsdk distributions
(cherry picked from commit f103a46a4d)
2025-08-23 11:49:28 +04:00
Dmitry Drobotov
6a9ca5fb65 JBR-4479 Add text caret tracking for macOS Accessibility Zoom
(cherry picked from commit 0dfbf34b37)
(cherry picked from commit 29ce00912d)
2025-08-23 11:49:28 +04:00
Dmitry Drobotov
1493922efe JBR-6194 Fix VoiceOver reading old JComboBox value after changing it
1. Remove `value == nil` check in ComboBoxAccessiblity.accessibilityValue to fix the issue with not updated value of combo box. With `value == nil` check, the value was not reassigned on every get request of `accessibilityValue`, but only on get `accessibilitySelectedChildren`. When changing focus by Tab, only get `accessibilityValue` is called, and because `value` is already not nil, an old value was returned.

2. Set combo box role to NSAccessibilityPopUpButtonRole if it's not editable. Setting role to popup button fixes the bug when combo box value was not updated when using VO cursor navigation. Native MacOS non-editable combo boxes and non-editable HTML <select> elements also have the "popup button" role instead of "combo box", so the role should become more clear. Popup button role additionally enables opening the combo box menu with VO+Space shortcut, and changes VO instructions to be more appropriate when combo box is focused.

3. Add test for VoiceOver-specific issues of JComboBox.

(cherry picked from commit 8982db51d7)
(cherry picked from commit aebfb1439e)
2025-08-23 11:49:27 +04:00
Vitaly Provodin
3e163a39e8 Update README.md
(cherry picked from commit 053f3acae4)
2025-08-23 11:49:26 +04:00
Maxim Kartashev
44b8ac32f0 JBR-6220 javax/swing/GraphicsConfigNotifier/StalePreferredSize.java became failing by time out on Linux
(cherry picked from commit 3f78590707)
2025-08-23 11:49:26 +04:00
Maxim Kartashev
138dfbce82 JBR-6142 Impossible to move/resize IDE window after restart if several projects were initially opened on secondary monitor
Announce to Mutter that we are "client-decorated" when a Frame is
undecorated by setting _GTK_FRAME_EXTENTS to all zeroes.
This prevents Mutter from applying certain harmful heuristics.

(cherry picked from commit c5a34ea526)
2025-08-23 11:49:25 +04:00
Maxim Kartashev
22b4259d6a JBR-5971 Wayland: support WindowMove JBR API
Updated the XToolkit implementation to match API changes required for
WLToolkit

(cherry picked from commit 7492c11138)
2025-08-23 11:49:25 +04:00
Maxim Kartashev
df0757f79c JBR-5777 isWindowMoveSupported() doesn't work with non-default GraphicsEnvironment
Co-authored-by: Nikita Gubarkov <nikita.gubarkov@jetbrains.com>
(cherry picked from commit 4496757a35)
2025-08-23 11:49:24 +04:00
Maxim Kartashev
e757fb8a69 JBR-5637 Linux: implement window position change with WM help
Introduced JBR.isWindowMoveSupported() and
JBR.getWindowMove().startMovingTogetherWithMouse()

(cherry picked from commit 747bc94e8f)
2025-08-23 11:49:24 +04:00
Maxim Kartashev
c3b016caed JBR-5084 Add ability to log additional data to jstack output
The data can be provided via this JBR API call:
JBR.getJstack().includeInfoFrom(Supplier<String>)

(cherry picked from commit 5244ec31f9)
2025-08-23 11:49:24 +04:00
Alexander Lobas
c483c63e77 JBR-5546 Iterating open windows with cmd backtick on Mac forces minimized windows to un-minimize
(cherry picked from commit ffb74e32a0)
2025-08-23 11:49:24 +04:00
Alexander Lobas
380eff49e5 JBR-5478 IDEA window doesn't fit the screen properly on turning off/on an external monitor
(cherry picked from commit 24930c2624)
2025-08-23 11:49:23 +04:00
Alexander Lobas
048383b0f8 JBR-5384 New UI: window header is hard to resize on the top edge, top/right corner
(cherry picked from commit c4dd01c027)
2025-08-23 11:49:23 +04:00
Alexander Lobas
68ebcf6674 JBR-5174 Opening project as tabs in Mac OS (version2)
JBR-5023 Configure TabbingIdentifier during create native window
JBR-5256 IDEA window resizes to zero height when exit full-screen mode with new window controls enabled
JBR-5197 Window control buttons are not visible in full-screen mode in dark themes when IDE window is focused
JBR-5175 jb/java/awt/Window/FullScreenTwoFrames.java: -[AWTWindow resetWindowFullScreeControls]: unrecognized selector sent to instance 0x60000232d5f0
JBR-5499 Window control buttons bugfix
JBR-4462 BigSur: project tab does not gain focus when click it after focusing another app

(cherry picked from commit 4aa2061ab6)
2025-08-23 11:49:23 +04:00
Dmitry Batrak
247ccaa5ea JBR-5300 Change source code and test files to use GPL license
fix copyright profile in generated IDE project

(cherry picked from commit 43ebbe3cd1)
(cherry picked from commit 39d49c5abe)
2025-08-23 11:49:22 +04:00
Nikita Gubarkov
01b049099f JBR-5124 Rewrite custom decorations support
JBR API v0.0.8
Added new WindowDecorations API, deprecated old CustomWindowDecoration.

JBR-4641 JBR-4630 Fix client area calculation with custom decorations on Windows.

- Window insets are rounded up, which causes visible & unusable border in fullscreen on some scales, round down instead.

- Clipping in Swing components sometimes cuts what it shouldn't, fixed.

(cherry picked from commit 03d850e722)
2025-08-23 11:49:22 +04:00
Vitaly Provodin
252a52adf1 update exclude list on results of 21.0.1_b293.1 test runs
(cherry picked from commit a247590ca0)
2025-08-23 11:49:22 +04:00
Nikita Provotorov
dc1283c612 JBR-6282: java/awt/TextArea/TextAreaEditing/TextAreaEditing.java intermittently fails due to deadlock.
Makes the test invoke any UI-operation on EDT only (since AWT doesn't guarantee thread-safety of UI operations, see more at https://mail.openjdk.org/pipermail/client-libs-dev/2023-November/016172.html).

(cherry picked from commit 8dbb889509)
(cherry picked from commit 559ec0c370)
2025-08-23 11:49:21 +04:00
Maxim Kartashev
9b31cfa89a JBR-6291 runtime/cds/appcds/dynamicArchive/TestDynamicDumpAtOom.java: Attempting to acquire lock OOMEStacks_lock/safepoint out of order
(cherry picked from commit c8c8881be4)
2025-08-23 11:49:21 +04:00
Alexander Lobas
0691aaab4d JBR-5409 "No Print Service Found" Error when saving to PDF
(cherry picked from commit 9c9859ba1a)
2025-08-23 11:49:21 +04:00
Alexey Ushakov
8bc661a346 JBR-6281 Remove MTLEvent sync from Metal rendering code
Removed sync code

(cherry picked from commit 660d97005c)
2025-08-23 11:49:21 +04:00
Nikita Provotorov
f7e59b2d44 JBR-2460: Wrong position of input window and no input preview with fcitx and ubuntu 13.04.
This patch makes the fix of JBR-1573 (which caused JBR-4394) disabled by default, because it's incompatible with the native below-the-spot mode (a.k.a. over-the-spot in the X11's terminology).

(cherry picked from commit 3fe2a97aa0)
(cherry picked from commit fc3ce96788)
2025-08-23 11:49:20 +04:00
Nikita Provotorov
a549f2e4db JBR-2460: Wrong position of input window and no input preview with fcitx and ubuntu 13.04.
- introduces and integrates jbNewXimClient: a new implementation of XIC creation routine (it's mostly refactoring and generalizing of AWT's existed code). Enabled by default and can be disabled via a new system property -Djb.awt.newXimClient.enabled=false ;
- introduces support of the X11's native over-the-spot input method style (it's almost the same as AWT's below-the-spot mode, but the input method's windows are drawn externally, not by AWT). Enabled by default and can be disabled via a new system property -Djb.awt.newXimClient.enabled=false. Doesn't work if -Djb.awt.newXimClient.enabled=false is set ;
- introduces sun.awt.X11.XInputMethod.ClientComponentCaretPositionTracker class that tracks all kind of events for the current client component that can lead to the caret position changing ;
- makes the XInputMethod class to update the input window's position (whenever the ClientComponentCaretPositionTracker discovers that's necessary) by setting the X11's XNSpotLocation property .

Check out the branch nprovotorov/backups/JBR-2460_wrong-position-of-input-window-and-no-input-preview for more granular patches.

(cherry picked from commit c57030a2ef)
(cherry picked from commit 56d9759667)
2025-08-23 11:49:20 +04:00
Maxim Kartashev
d2675c7e22 JBR-6193 Impossible to resize snapped IDE when native header is turned off
Drop the maximized state right before the resize operation for
undecorated windows.

Also fixes setExtendedState() to work when changing snapped window's state
(MAXIMIZED_HORIZ or MAXIMIZED_VERT) to NORMAL.

(cherry picked from commit a9a227c5ab)
2025-08-23 11:49:20 +04:00
Nikita Provotorov
86fa351792 JBR-5980: Pasting from clipboard not working reliably in Windows.
(also contains the fix of JBR-6267 Image retreived from the Clipboard is not the same image that was set to the Clipboard)

- Adds a way to disable caching of the data placed into the clipboard. The behavior is controlled by the system property "awt.windows.clipboard.cache.disabled" (=false by default) ;
- Whenever the app gets focus additionally checks if another app has modified the clipboard. The behavior is controlled by the system property "awt.windows.clipboard.extraOwnershipChecksEnabled" (=true by default) .

(cherry picked from commit e6f4a25b1a)
2025-08-23 11:49:19 +04:00
Nikita Provotorov
709bbe3dcd JBR-5980: Pasting from clipboard not working reliably in Windows.
Marks the native flag AwtClipboard::isGettingOwnership as volatile and adds memory barriers around it to avoid inconsistencies of CPU caches.

(cherry picked from commit 51d2b31b28)
2025-08-23 11:49:19 +04:00
Vitaly Provodin
bdfdba754f JBR-6255 improve calculation JDK_BUILD_NUMBER
(cherry picked from commit 186d1c3229)
2025-08-23 11:49:19 +04:00
Nikita Gubarkov
85eb0041c2 JBR-5274 recreate CGraphicsDevice if it was changed.
- AWT code heavily relies on reference comparison when updating graphics devices & configurations, so we need to actually re-create CGraphicsDevice if it was changed.

- Also do not rely on graphicsConfig.getDefaultTransform() when firing `graphicsContextScaleTransform` property change, as graphics devices are mutable and returned default transform may change over time, e.g. when device is invalidated.

(cherry picked from commit f9ad92a71c)
2025-08-23 11:49:19 +04:00
Alexey Ushakov
4f4bbbf040 JBR-5025 Reduce latency during display reconfiguration in Metal
Moved metal load library checks to CGraphicsEnvironment

(cherry picked from commit eeee663bb4)
2025-08-23 11:49:18 +04:00
Alexey Ushakov
4e4e18f97d JBR-4666 java.lang.InternalError: Error - unable to initialize Metal after recreation of graphics device.
Reverted fix of the JRE-359 (CGraphicsEnvironment.getDefaultScreenDevice() returns null)
Logged exception after first attempt to create graphics device

(cherry picked from commit 345fd320c7)
2025-08-23 11:49:18 +04:00
Alexey Ushakov
8bde5e15e2 JBR-4588 macOS: SIGILL at [libsystem_kernel] __kill in CCE: class sun.java2d.opengl.CGLGraphicsConfig cannot be cast to class sun.java2d.metal.MTLGraphicsConfig
Prevent fall back to OpenGL if Metal has been used before
Added more diagnostics.

(cherry picked from commit 4002007cc2)
2025-08-23 11:49:18 +04:00
Vitaly Provodin
41071e742b Update README.md
(cherry picked from commit 74f354be28)
2025-08-23 11:49:18 +04:00
Vladimir Kharitonov
80c0b81619 JBR-6239 sign frameworks in cef_server.app
(cherry picked from commit 8f6ae7a89c)
2025-08-23 11:49:17 +04:00
Maxim Kartashev
50112a9248 JBR-4020 Test ObsoleteFlagErrorMessage fails after +IgnoreUnrecognizedVMOptions has become the default
(cherry picked from commit ae5963a094)
(cherry picked from commit 5b27cdbd14)
2025-08-23 11:49:17 +04:00
Maxim Kartashev
f48dc553c9 JBR-5722 vmTestbase/vm/gc/compact/Compact_TwoFields_InternedStrings: SIGSEGV at Symbol::as_klass_external_name(char*, int)
Do not use print_native_stack() when recording OOME stacks as it is
designed to be used only in the context of a fatal error reporting where
induced crashes are tolerated.

(cherry picked from commit 6a87945cc5)
2025-08-23 11:49:17 +04:00
Alexey Ushakov
5b20f24d06 JBR-5741 broken build in main because of hotspot changes (JDK-8309613)
Added missing parameter

(cherry picked from commit c4c6d022f8)
2025-08-23 11:49:16 +04:00
Maxim Kartashev
e11ed79c51 JBR-5480 Include more information in OOME crash reports
(cherry picked from commit 44f8dc85da)
2025-08-23 11:49:16 +04:00
Maxim Kartashev
918f00e0b7 JBR-5466 jb/hotspot/JNIRefsInCrashLog.java: 'hs_err_42.txt' missing from stdout/stderr
(cherry picked from commit e511c26794)
2025-08-23 11:49:16 +04:00
Maxim Kartashev
8d0fedeed4 JBR-5431 Include memory used by JNI references into crash reports
(cherry picked from commit 9a6eb0b730)
2025-08-23 11:49:16 +04:00
Vitaly Provodin
68d6532f90 Update README.md
(cherry picked from commit 66c66543bb)
2025-08-23 11:49:15 +04:00
bourgesl
9fa0bbc6e2 JBR-5638: improved renderer performance for simple rectangular area (see BBoxAATileGenerator), added new statistics in Renderer
(cherry picked from commit dd4f818488)
2025-08-23 11:49:15 +04:00
Nikita Tsarev
e463a0d456 JBR-6215: Override XToolkit's default nonintuitive behavior when translating F13-F24 keys
(cherry picked from commit 413b679eda)
2025-08-23 11:49:15 +04:00
Konstantin Bulenkov
e79a423679 JBR-6214 [fwp jbr21] IDEA-299292 Use Inter semibold instead of Inter bold
Replaced Inter bold with semi-bold fonts

(cherry picked from commit 1ca726da46)
2025-08-23 11:49:14 +04:00
Nikita Gubarkov
85c8dfb5be JBR-6208 Extended glyph cache for Metal
(cherry picked from commit 6878613df0)
2025-08-23 11:49:14 +04:00
Vitaly Provodin
4d7c013eea JBR-6181 add Linux executables with bundled FreeType
(cherry picked from commit 12449b3de5)
2025-08-23 11:49:13 +04:00
Vitaly Provodin
710fa0b52f Update README.md
(cherry picked from commit cff858e253)
2025-08-23 11:49:13 +04:00
Alexey Ushakov
0b0bd36bd3 JBR-4983 MacOS Ventura - External monitor lagging
Restored REDRAW_INC to 2. Enabled the fix by default only for M2 and spans displays property enabled (Displays have separate spaces OFF)

(cherry picked from commit 19728e911b)
2025-08-23 11:49:13 +04:00
Dmitrii Morskii
0b1ee57cd7 JBR-6135 removed dependence on process reading TTF in fixed size chunks
(cherry picked from commit 7c4721fa68)
2025-08-23 11:49:12 +04:00
Alexey Ushakov
d27ec80472 JBR-6132 Crash in [MTLLayer blitTexture] when MTL_DEBUG_LAYER enabled
Blit operation should not be performed on textures with MTLTextureUsageRenderTarget only, so changing framebufferOnly to NO

(cherry picked from commit 5fb47ffc78)
2025-08-23 11:49:12 +04:00
Vitaly Provodin
3842f27bd9 Update README.md
(cherry picked from commit 7d1bcef8cd)
2025-08-23 11:49:12 +04:00