Last Comment Bug 478976 - (OOPP) Electrolysis + plugins tracking
(OOPP)
: Electrolysis + plugins tracking
Status: RESOLVED WORKSFORME
: meta
Product: Core Graveyard
Classification: Graveyard
Component: Tracking (show other bugs)
: Trunk
: All All
: -- normal with 22 votes (vote)
: ---
Assigned To: Benjamin Smedberg [:bsmedberg]
: chris hofmann
:
Mentors:
Depends on: 519568 519572 532700 534020 535016 535327 535441 540094 540793 540935 543103 543183 545870 546497 548823 553592 556026 557533 558462 558485 560993 561781 561818 565286 570576 574168 579850 588749 631720 441197 512171 516509 516515 516524 516718 516721 516725 516759 517078 517207 517404 517923 517962 518506 518924 519541 519570 519574 519583 519601 521118 521450 521940 522414 522796 523094 524984 525483 526393 526401 529005 530007 530083 530894 531142 531821 531859 531860 534027 534791 534796 535077 535120 535207 535295 535615 535687 535829 536188 536303 536369 536437 536528 537310 537344 538586 538902 538910 538914 538918 538990 LorentzBeta1 539061 539063 539138 539280 539290 539330 539658 539835 539897 539964 540004 540137 540197 540459 540604 540910 541401 542023 542053 542066 542248 542263 542616 542656 542701 542759 542784 542792 542821 542831 542866 542887 542897 542906 542915 543201 543448 543479 543753 543764 543770 543773 543778 543788 543802 543809 543819 543831 543901 544028 544058 544074 544088 544153 544167 544211 544236 544361 544393 544518 544559 544619 544630 544694 544882 544893 544910 544936 545080 545149 545186 545191 545239 545312 545336 545338 545544 545585 545640 545712 545819 545892 LorentzAlpha 545976 546035 546043 546057 546059 546072 546073 546373 546492 546502 546651 546666 546707 546745 546766 546777 546797 547136 547142 547247 547276 547316 547358 547359 547894 548344 548434 548689 548810 548811 549888 550026 550034 550305 550322 550784 551242 551387 551392 551508 551627 551875 552051 552062 552111 552114 552126 552163 552305 553371 553606 554046 554262 LorentzBeta2 555289 555309 555463 555500 555505 555699 555889 556643 557279 558070 558260 558397 558503 558532 558629 558684 558986 559384 559436 559494 559760 560213 560246 560584 561019 561075 561117 561308 561477 561495 561551 561690 561817 561871 562826 563377 563685 564260 564861 565282 565639 566062 572417 574354 574991 588263 602502 686673
Blocks: 518465 electrolysis SM-OOPP
  Show dependency treegraph
 
Reported: 2009-02-17 17:00 PST by Johnny Stenback (:jst, jst@mozilla.com)
Modified: 2016-07-15 12:13 PDT (History)
72 users (show)
See Also:
QA Whiteboard:
Iteration: ---
Points: ---


Attachments

Description Johnny Stenback (:jst, jst@mozilla.com) 2009-02-17 17:00:40 PST
This is a tracking bug for making Mozilla run plugins out of process. The rough outline of how we're attempting to do this is as follows.

We're going to ease in to this problem slowly, as it's a very tricky thing to do right across platforms. Chrome does this today, but only in a shipping version on Windows. We'll be sharing as much code as we can with Chrome, and we may selectively run plugins out of process to begin with, and only on select platforms, i.e. only flash on Windows to begin with, or whatever plugin we pick. Ideally we'll be able to share most of the remoting code with Chrome rather than re-inventing that wheel. Once this work is off the ground we'll be looking at running the plugin process(es) in lower rights mode too, and that'll require significant API changes for plugins to work right when run in lower rights mode, not to mention us needing OS APIs to start processes in lower rights mode, on all platforms.

More details and followup bugs to follow...
Comment 1 Damon Sicore (:damons) 2009-02-17 17:21:53 PST
Can we start with a list of items/bugs that describe what we would like to accomplish with out of process plugins?
Comment 2 Robert Kaiser 2009-02-18 10:20:21 PST
Konqueror has been doing that for a while, AFAIK, and two usually quoted benefits they get from it is running 32-bit plugins on 64-bit browser builds and not crashing the browser when the plugin crashes.
Comment 3 Zack Weinberg (:zwol) 2009-03-10 11:42:14 PDT
There's a thing called "nspluginwrapper" that does out-of-process plugins -- it's primarily aimed at being able to execute 32-bit plugins on a 64-bit browser under Linux, it's not especially reliable, and I have no idea how it works, but it might be worth cribbing for ideas?

http://gwenole.beauchesne.info//en/projects/nspluginwrapper
Comment 4 chris hofmann 2009-03-30 15:36:05 PDT
do we want to add things like bug 348170 for possible test cases to check the implementation against?  remove from dependency if not.
Comment 5 Martin Stránský 2009-09-30 22:51:30 PDT
I maintain nspluginwrapper in Fedora. Nspluginwrapper runs NPAPI plugins as separated processes and calls NPAPI functions by custom RPC interface (based on network sockets). Main drawback of the approach is that address space of browser/plugin is separated so nspluginwrapper does not support plug-in scripting, getting NPNVDOMWindow/NPNVDOMElement (by plugin) and some other.
Comment 6 julien.t43+mozilla 2010-03-13 03:32:57 PST
In the process, of making plugins/addons and tabs as different process, I think it would also be interesting to ensure this processes have appropriated security level, if possible.
It's already stated in https://wiki.mozilla.org/Content_Processes#Goals

For Windows, it would use BIBA model introduces by Internet Explorer on Vista (bug 266533)

On Macosx, it would be the 10.5 sandboxing tools (bug 387248)

On Linux, it could be a good idea to provide some AppArmor/Selinux policies or something else to get good security (maybe related bug 319913 & bug 506693)

Else, it's a really promising evolution.
Comment 7 Rob 2010-04-19 20:11:42 PDT
Some 'spare time' reading (if we are re-writing everything and want 'the Kitchen Sink'):

Socket45
http://entropymine.com/jason/socket45/

NDISwrapper
http://en.wikipedia.org/wiki/NDISwrapper

GCC_Plugins
http://gcc.gnu.org/wiki/GCC_Plugins


Obviously we would change / limit the functionality to suit our needs.

The above could assist with things like Firebug, Video / Audio / Flash Capture, ntop for Windows, Snort, and other Web Interface Programs, including this nightmare 'Audio on more than one Tab' https://bugzilla.mozilla.org/show_bug.cgi?id=334987 .

Thanks,
Rob
Comment 8 Benjamin Smedberg [:bsmedberg] 2010-07-02 09:03:56 PDT
This bug has served it's tracking purpose and we're no longer using it.

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