Last Comment Bug 657261 - Remove proxy-to-main-thread from new async drawing model
: Remove proxy-to-main-thread from new async drawing model
Product: Core
Classification: Components
Component: Plug-ins (show other bugs)
: Trunk
: All All
-- normal with 1 vote (vote)
: ---
Assigned To: Nobody; OK to take it and work on it
: Benjamin Smedberg [:bsmedberg]
Depends on: 613442 651192
  Show dependency treegraph
Reported: 2011-05-15 16:58 PDT by Chris Jones [:cjones] inactive; ni?/f?/r? if you need me
Modified: 2012-03-09 08:25 PST (History)
7 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Description User image Chris Jones [:cjones] inactive; ni?/f?/r? if you need me 2011-05-15 16:58:18 PDT
Bug 651192 will get us to point where support multi-threaded plugin renderers, but not concurrently with the main thread because the non-main-threads proxy SetCurrent back to main.  The purpose of this bug is to stop doing that.

Rob and I discussed the following model
 - when the plugin sets the "will SetCurrent off-main-thread" flag, gecko creates a dedicated SetCurrent thread
 - the SetCurrent thread gets a direct channel to the browser, never blocking on plugin main thread
 - all SetCurrent calls from all threads are proxied to the SetCurrent thread.  We can asynchronously proxy calls by copying the underlying surface, but initially it's probably easier to synchronously proxy.
Comment 1 User image Bas Schouten (:bas.schouten) 2012-03-09 08:25:19 PST
This should no longer be relevant with the new implementation of the model. SetCurrent now works fine off other threads.

Note You need to log in before you can comment on or make changes to this bug.