The three issues above need to be solved before we consider this on Windows, until then we really have no choice but to manage native plugin widgets on the main thread.Take a look at the alternative list below to this software feel free to ask any query regards this if you have any doubts related to are alternatives.
Moving window management down to the compositor will work on linux, but I don't see the point if we don't have a Windows solution. we can hand ‘foreground taking rights’ off to flash if we can find the right process handle, but we can’t revoke it.Everything frees up after that.ģ) Plugin focus is broken for secondary windows like fullscreen Exiting these lockups requires switching desktop focus using alt-tab.This means the desktop gets caught up in these lockups. It appears the desktop switches to a synchronous event model for drag/resize loops.Unfortunately attaching a utility like procdump prevents me from reproducing to get stacks.I’m seeing random lockups when manipulating windows or when the plugin window gets clipped by other desktop windows.I’m not sure if this is something we can mitigate in code, some heavy debugging of focus events down in widget might shed some light on this.Ģ) random hangs in modal loops associated with window actions like dragging or resize.
media related code might break this if native ui is parented to chrome, need to investigate.īug 0818059: Detach the plugin-container input queue from the browser input queueġ) focus / flicker problems caused by conflicting foreground status between the browser window and the plugin window.content's main thread isn't caught up in the attached message queues problem afaict.the content process runs freely initially when chrome or plugin hang, until it sends a sync message to either.Since the plugin's main thread is bound to chrome's main thread, if either slows down, or hangs, they both slow down or hang. we have bugs on dealing with content hangs which overlap this.slow plugin scripts cause this pretty often.we have assertion mechanisms to warn about this in non-e10s.Ĭhrome -> sync ipc -> content -> sync ipc -> plugin -> sync sendmessage -> chromeĬontent -> sync ipc -> plugin -> plugin never responds back.happens while chrome is dispatching messages, or in a sync/rpc ipc call.No timeouts are set for DEBUG builds, see all.js and firefox.js.Ĭhrome sync ipc -> plugin -> plugin never responds backĬhrome -> sync ipc -> plugin -+Ĭhrome -> sync ipc -> content -> sync ipc -> plugin | sync ipc -> chromeĬhrome -> sync sendmessage -> plugin -> sync ipc -> content -> sync ipc -> chrome Active in both non-e10s and e10s.Įnable or disable the ipc ProcessHangMonitor. We set this if we detect multiple chrome hangs during a session. Minimum time that the plugin hang UI will be displayed.ĭom.-protected-mode How long a chrome to plugin synchronous IPC message is allowed to process before we display the plugin hang dialog. After this point the child assumes the parent is hung.
How long a plugin process will wait for a response from the parent to a synchronous request before terminating itself.
How long a plugin launch is allowed to take before we consider it failed. How long a content to plugin synchronous IPC message is allowed to process before we notify the chrome process of a plugin hang. How long a chrome to plugin synchronous IPC message is allowed to process before we consider it "hung". Plugins and e10s Preferences related to plugins and process timeouts Platform Prefs Preference