← Chrome 149 reference

v149 · android · ime · editing

Android IME media insertion

Chrome 149 on Android enables Input Method Editors (keyboards) to insert rich media content — images, GIFs, and stickers — directly into editable web content, matching the capability that native Android apps have had through the Android IME commitContent API.

at a glance

Shipped inChrome 149 (Stepped rollout)
StatusStepped rollout (gradually enabled)
PlatformAndroid only
API changeBehavioural — media arrives via existing clipboard/paste event pipeline
Standards position (Firefox)No signal
Standards position (Safari)No signal
ChromeStatus5484282563919872 — Android IME media insertion
Source: chromestatus.com/feature/5484282563919872

why it exists

On Android, virtual keyboards (IMEs) such as Gboard can insert rich content — emoji packs, GIF stickers, inline images — into native app text fields using the Android InputConnection.commitContent() API. Prior to Chrome 149, this capability did not propagate to web content: a user could tap a GIF key on their keyboard while editing a <textarea> or contenteditable element on a website, but nothing would happen.

Chrome 149 wires up the Android IME rich-content insertion path into Chromium's editing pipeline. When an IME commits media content, Chrome converts it and delivers it to the page using the existing paste event / InputEvent path, the same mechanism that handles clipboard pastes. No new Web API is needed; sites that already handle pasted images (e.g. by listening to paste events or using DataTransfer) receive the IME-inserted media automatically.

Source: chromestatus feature summary

what this means for developers

ScenarioBefore Chrome 149Chrome 149+ (Android)
User taps GIF/sticker key in Android keyboardNo effect in web contentMedia delivered via paste event to the focused editable element
Site listening for paste + reading DataTransferClipboard pastes onlyClipboard pastes + IME media insertions
Sites not listening for pasteNo changeNo change — media is not inserted automatically into plain text fields
Source: chromestatus feature summary

example

No code changes are needed for sites that already handle pasted images. A minimal handler:

document.addEventListener('paste', (event) => {
  const items = Array.from(event.clipboardData?.items ?? []);
  for (const item of items) {
    if (item.type.startsWith('image/')) {
      event.preventDefault();
      const blob = item.getAsFile();
      if (!blob) continue;
      const url = URL.createObjectURL(blob);
      const img = document.createElement('img');
      img.src = url;
      document.querySelector('#editor').append(img);
    }
  }
});
// Chrome 149+ on Android: this handler also fires when the user
// taps a GIF or sticker key on their Android keyboard.
Source: Clipboard API Living Standard — paste event

browser support

BrowserSupportNotes
Chrome 149+ (Android)Stepped rolloutAndroid only; uses existing clipboard event path
Firefox (Android)No signal
Safari (iOS)No signal
Source: chromestatus.com/feature/5484282563919872

see also