Skip to content

Make WebElementView API accessible in webMain source set#2614

Merged
Oleksandr Karpovich (eymar) merged 4 commits into
jb-mainfrom
ok/use_webMain
Dec 3, 2025
Merged

Make WebElementView API accessible in webMain source set#2614
Oleksandr Karpovich (eymar) merged 4 commits into
jb-mainfrom
ok/use_webMain

Conversation

@eymar

@eymar Oleksandr Karpovich (eymar) commented Dec 2, 2025

Copy link
Copy Markdown
Member

Without this change WebElementView can be used only separately in jsMain and in wasmJsMain.

Fixes https://youtrack.jetbrains.com/issue/CMP-9146

  • Refactoring of web related source sets: moved most of the things from "fake" webW3C source set to webMain
  • Removed some web expect/actuals, leaving just one implementation for both targets
  • Had to add some new expect/actuals due to kotlin-js interop difference in the targets
  • Bumped LV and api version to 2_2 to fix the metadata compilation for web (using "new" js interop API)

Testing

Existing tests

Release Notes

Fixes - Web

  • HtmlElementView is now available in webMain source set
  • Deprecated CanvasBasedWindow has been deleted

Migration Notes - Multiple Platforms

  • The project has migrated to Kotlin language version and API version 2.2. The projects depending on Compose Multiplatform need to use the same version or newer.

@eymar Oleksandr Karpovich (eymar) changed the title Ok/use web main Make WebElementView API accessible in webMain source set Dec 2, 2025
*/

package androidx.compose.ui.window
package androidx.compose.ui.platform

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not a rename/move of a file. GitHub is just confused.

}

class JsPlatformClipboard : Clipboard {
private class JsPlatformClipboard : Clipboard {

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was public by mistake.

}

class WasmPlatformClipboard : Clipboard {
private class WasmPlatformClipboard : Clipboard {

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was public by mistake.

@MatkovIvan Ivan Matkov (MatkovIvan) left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Such changes require two approvals

Comment thread compose/mpp/demo/build.gradle.kts Outdated
Comment thread compose/ui/ui/build.gradle Outdated
Comment thread compose/ui/ui/src/webMain/kotlin/androidx/compose/ui/platform/BackingDomInput.kt Outdated
@igordmn Igor Demin (igordmn) removed their request for review December 3, 2025 14:13
@igordmn

Copy link
Copy Markdown
Collaborator

Removed myself from review, as Shagen approved, and Ivan review was requested

@eymar Oleksandr Karpovich (eymar) merged commit af3ce5e into jb-main Dec 3, 2025
16 checks passed
@eymar Oleksandr Karpovich (eymar) deleted the ok/use_webMain branch December 3, 2025 15:45
Nikita Lipsky (pjBooms) added a commit to JetBrains/compose-multiplatform that referenced this pull request Dec 18, 2025
[#2614](JetBrains/compose-multiplatform-core#2614)
bumps LV to 2.2 for all non-android platforms so let's update explicit
check as well.

Fixes
[CMP-9282](https://youtrack.jetbrains.com/issue/CMP-9282/Minimal-Kotlin-version-requirements)

## Release Notes
N/A
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants