cef icon indicating copy to clipboard operation
cef copied to clipboard

Make webkit-app-region support configurable and default-disabled (M122+)

Open magreenblatt opened this issue 1 year ago • 2 comments

Is your feature request related to a problem? Please describe. Use of -webkit-app-region CSS to support draggable regions has performance consequences (see https://crbug.com/1447586). Chromium has made this support default-disabled but configurable starting with M122. Basically, we can call the following at any time on or after ContentRendererClient::RenderFrameCreated to toggle support:

render_frame->GetWebView()->SetSupportsAppRegion(bool);

Describe the solution you'd like Disable -webkit-app-region by default for the perf gain. Make it possible to enable for certain use cases, such as frameless windows. It's probably sufficient to make it configurable via CefBrowserSettings but we could also make it dynamically configurable if a use case exists for that.

Describe alternatives you've considered Leave -webkit-app-region default-enabled. This is the current state in CEF.

Additional context A related announcement was sent to embedder-dev in October 2023.

magreenblatt avatar Jan 26 '24 19:01 magreenblatt

One added complication is that we always want to enable draggable regions for frameless document PiP windows (see #3566).

magreenblatt avatar Jan 26 '24 19:01 magreenblatt