Bug 478976 (OOPP)

Electrolysis + plugins tracking

RESOLVED WORKSFORME

Status

RESOLVED WORKSFORME
10 years ago
5 months ago

People

(Reporter: jst, Assigned: benjamin)

Tracking

(Depends on: 10 bugs, Blocks: 1 bug, {meta})

519568, 519572, 535016, 535441, 545870, 548823, 558462, 560993, 561781, 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, 532700, 534020, 534027, 534791, 534796, 535077, 535120, 535207, 535295, 535327, 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, 540094, 540137, 540197, 540459, 540604, 540793, 540910, 540935, 541401, 542023, 542053, 542066, 542248, 542263, 542616, 542656, 542701, 542759, 542784, 542792, 542821, 542831, 542866, 542887, 542897, 542906, 542915, 543103, 543183, 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, 546497, 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, 553592, 553606, 554046, 554262, LorentzBeta2, 555289, 555309, 555463, 555500, 555505, 555699, 555889, 556026, 556643, 557279, 557533, 558070, 558260, 558397, 558485, 558503, 558532, 558629, 558684, 558986, 559384, 559436, 559494, 559760, 560213, 560246, 560584, 561019, 561075, 561117, 561308, 561477, 561495, 561551, 561690, 561817, 561818, 561871, 562826, 563377, 563685, 564260, 564861, 565282, 565286, 565639, 566062, 570576, 572417, 574168, 574354, 574991, 579850, 588263, 588749, 602502, 686673
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

10 years ago
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...
Can we start with a list of items/bugs that describe what we would like to accomplish with out of process plugins?

Comment 2

10 years ago
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.

Updated

10 years ago
Keywords: meta
Summary: Out of process tracking bug. → Tracking bug for out-of-process plugins
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

10 years ago
do we want to add things like bug 348170 for possible test cases to check the implementation against?  remove from dependency if not.
Blocks: 348170
(Assignee)

Updated

10 years ago
Assignee: nobody → benjamin
No longer blocks: 348170
Depends on: 516515, 516509
OS: Linux → All
QA Contact: chofmann → ipc
Hardware: x86 → All
Summary: Tracking bug for out-of-process plugins → Electrolysis + plugins tracking
(Assignee)

Updated

10 years ago
Blocks: 516518
(Assignee)

Updated

10 years ago
Depends on: 512694
(Assignee)

Updated

10 years ago
Depends on: 516524
(Assignee)

Updated

10 years ago
No longer depends on: 512694
(Assignee)

Updated

10 years ago
Depends on: 516718
(Assignee)

Updated

10 years ago
Depends on: 516721
(Assignee)

Updated

10 years ago
Depends on: 516725
(Assignee)

Updated

10 years ago
Depends on: 516759
(Assignee)

Updated

10 years ago
Depends on: 517207
(Assignee)

Updated

10 years ago
Depends on: 517923
(Assignee)

Updated

10 years ago
Depends on: 517962
(Assignee)

Updated

10 years ago
Depends on: 518506
(Assignee)

Updated

10 years ago
Depends on: 519568
(Assignee)

Updated

10 years ago
Depends on: 519570
(Assignee)

Updated

10 years ago
Depends on: 519572
(Assignee)

Updated

10 years ago
Depends on: 517078
(Assignee)

Updated

10 years ago
Depends on: 519574
(Assignee)

Updated

10 years ago
Depends on: 519583
Depends on: 519601
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.
(Assignee)

Updated

10 years ago
Depends on: 521450
Depends on: 521940
(Assignee)

Updated

10 years ago
Depends on: 522796
(Assignee)

Updated

10 years ago
Depends on: 523094
(Assignee)

Updated

9 years ago
Depends on: 525483
(Assignee)

Updated

9 years ago
Depends on: 524984
(Assignee)

Updated

9 years ago
Depends on: 522414
Depends on: 526393
Depends on: 526401
(Assignee)

Updated

9 years ago
Depends on: 530083
(Assignee)

Updated

9 years ago
Depends on: 530007
(Assignee)

Updated

9 years ago
Depends on: 530894
(Assignee)

Updated

9 years ago
Depends on: 529005
(Assignee)

Updated

9 years ago
Depends on: 531142
(Assignee)

Updated

9 years ago
Depends on: 531821

Updated

9 years ago
Blocks: 531859

Updated

9 years ago
Depends on: 531860

Updated

9 years ago
No longer blocks: 531859
Depends on: 531859
(Assignee)

Updated

9 years ago
Depends on: 534020

Updated

9 years ago
Depends on: 534027
(Assignee)

Updated

9 years ago
Depends on: 532700
(Assignee)

Updated

9 years ago
Depends on: 534791
(Assignee)

Updated

9 years ago
No longer depends on: 535106
(Assignee)

Updated

9 years ago
Depends on: 535207
(Assignee)

Updated

9 years ago
Depends on: 535295
(Assignee)

Updated

9 years ago
Depends on: 535327
(Assignee)

Updated

9 years ago
Depends on: 535615
(Assignee)

Updated

9 years ago
Depends on: 535829
(Assignee)

Updated

9 years ago
Depends on: 536188
Depends on: 535687
(Assignee)

Updated

9 years ago
Depends on: 536369
(Assignee)

Updated

9 years ago
Depends on: 536437
(Assignee)

Updated

9 years ago
Depends on: 536303

Updated

9 years ago
Depends on: 537310
(Assignee)

Updated

9 years ago
Depends on: 535016
(Assignee)

Updated

9 years ago
Depends on: 538586

Updated

9 years ago
Depends on: 538902
Depends on: 538914

Updated

9 years ago
Depends on: 538918

Updated

9 years ago
Depends on: 538990
(Assignee)

Updated

9 years ago
Depends on: 539055
(Assignee)

Updated

9 years ago
Depends on: 538910

Updated

9 years ago
Depends on: 539061
(Assignee)

Updated

9 years ago
Depends on: 539063

Updated

9 years ago
Depends on: 539280
(Assignee)

Updated

9 years ago
Depends on: 539290

Updated

9 years ago
Depends on: 539330
(Assignee)

Updated

9 years ago
Alias: OOPP

Updated

9 years ago
Depends on: 539658

Updated

9 years ago
Depends on: 539835
Depends on: 539897
No longer depends on: 525849
(Assignee)

Updated

9 years ago
Depends on: 540004
(Assignee)

Updated

9 years ago
Depends on: 535077

Updated

9 years ago
Depends on: 540094
Depends on: 540197
(Assignee)

Updated

9 years ago
Depends on: 540459

Updated

9 years ago
Depends on: 540793
(Assignee)

Updated

9 years ago
Depends on: 541401

Updated

9 years ago
Depends on: 441197
(Assignee)

Updated

9 years ago
Depends on: 542023
(Assignee)

Updated

9 years ago
Depends on: 542066
(Assignee)

Updated

9 years ago
Depends on: 542248
(Assignee)

Updated

9 years ago
Depends on: 542263
(Assignee)

Updated

9 years ago
Depends on: 540910

Updated

9 years ago
Depends on: 542759
(Assignee)

Updated

9 years ago
Depends on: 542792

Updated

9 years ago
Depends on: 542821
Depends on: 542887

Updated

9 years ago
Depends on: 542897

Updated

9 years ago
Depends on: 542906
(Assignee)

Updated

9 years ago
Depends on: 535120

Updated

9 years ago
Depends on: 543103

Updated

9 years ago
Depends on: 543201
Depends on: 543376

Updated

9 years ago
Depends on: 534796
(Assignee)

Updated

9 years ago
Depends on: 537344

Updated

9 years ago
Depends on: 543479
Depends on: 542866
Depends on: 543770
Depends on: 543773

Updated

9 years ago
Depends on: 543778

Updated

9 years ago
Depends on: 543788
Depends on: 543764

Updated

9 years ago
Depends on: 543802
(Assignee)

Updated

9 years ago
Depends on: 543831
Depends on: 543901
Depends on: 543809
(Assignee)

Updated

9 years ago
Depends on: 543183
(Assignee)

Updated

9 years ago
Depends on: 544028

Updated

9 years ago
Depends on: 544058
Depends on: 544088
(Assignee)

Updated

9 years ago
Depends on: 542784
Depends on: 544153

Updated

9 years ago
Depends on: 544167
Depends on: 544236
(Assignee)

Updated

9 years ago
Depends on: 535441

Updated

9 years ago
Depends on: 544361

Updated

9 years ago
Depends on: 544393

Updated

9 years ago
Depends on: 544211

Updated

9 years ago
Depends on: 544559

Updated

9 years ago
Depends on: 544619

Updated

9 years ago
Depends on: 544630

Updated

9 years ago
Depends on: 544694

Updated

9 years ago
Depends on: 544893

Updated

9 years ago
Depends on: 544910

Updated

9 years ago
Depends on: 545080

Updated

9 years ago
Depends on: 545149

Updated

9 years ago
Depends on: 545186
(Assignee)

Updated

9 years ago
Depends on: 545191
(Assignee)

Updated

9 years ago
Depends on: 545239

Updated

9 years ago
Depends on: 545336

Updated

9 years ago
Depends on: 545338
(Assignee)

Updated

9 years ago
Depends on: 545312
Depends on: 539964
Depends on: 544882
Depends on: 545640
(Assignee)

Updated

9 years ago
Depends on: 545544
(Assignee)

Updated

9 years ago
Depends on: 545712

Updated

9 years ago
Blocks: 545716
(Assignee)

Updated

9 years ago
Depends on: 545870

Updated

9 years ago
Depends on: 542656

Updated

9 years ago
Depends on: 545892
Depends on: 545976

Updated

9 years ago
Depends on: 546035
(Assignee)

Updated

9 years ago
Depends on: 545585

Updated

9 years ago
Depends on: 546043

Updated

9 years ago
Depends on: 546057

Updated

9 years ago
Depends on: 546059
Depends on: 546492
(Assignee)

Updated

9 years ago
Depends on: 546502
(Assignee)

Updated

9 years ago
Depends on: 546651

Updated

9 years ago
Depends on: 546707
(Assignee)

Updated

9 years ago
Depends on: 545893
(Assignee)

Updated

9 years ago
Depends on: 544936

Updated

9 years ago
Depends on: 547142

Updated

9 years ago
Depends on: 547247

Updated

9 years ago
Depends on: 547276
(Assignee)

Updated

9 years ago
No longer depends on: 547077
(Assignee)

Updated

9 years ago
Depends on: 547316

Updated

9 years ago
Depends on: 547353

Updated

9 years ago
Depends on: 547359
(Assignee)

Updated

9 years ago
Depends on: 547894
Depends on: 539138
Depends on: 548344
Depends on: 548434

Updated

9 years ago
No longer depends on: 547353

Updated

9 years ago
No longer depends on: 545219
Depends on: 548689
(Assignee)

Updated

9 years ago
Depends on: 548810
(Assignee)

Updated

9 years ago
Depends on: 548811
Depends on: 540137
Depends on: 550026
(Assignee)

Updated

9 years ago
Depends on: 550305

Updated

9 years ago
Depends on: 550322

Updated

9 years ago
Depends on: 547358

Updated

9 years ago
Depends on: 550784
(Assignee)

Updated

9 years ago
Depends on: 551242
(Assignee)

Updated

9 years ago
Depends on: 551392
(Assignee)

Updated

9 years ago
Depends on: 551482
No longer depends on: 551482
Depends on: 551875
Depends on: 552114

Updated

9 years ago
Depends on: 552111

Updated

9 years ago
Depends on: 552051

Updated

9 years ago
Depends on: 552126
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.
(Assignee)

Updated

9 years ago
Depends on: 552163

Updated

9 years ago
Depends on: 552305

Updated

9 years ago
Depends on: 552062
Depends on: 542053
(Assignee)

Updated

9 years ago
Depends on: 551508
(Assignee)

Updated

9 years ago
Depends on: 550034

Updated

9 years ago
Depends on: 553592

Updated

9 years ago
Depends on: 553606
(Assignee)

Updated

9 years ago
Depends on: 553371
No longer depends on: 553934
(Assignee)

Updated

9 years ago
Depends on: 554046
Depends on: 554262

Updated

9 years ago
Depends on: 554759
(Assignee)

Updated

9 years ago
Depends on: 555309

Updated

9 years ago
Depends on: 555463

Updated

9 years ago
Depends on: 551627

Updated

9 years ago
Depends on: 555500
No longer depends on: 555505

Updated

9 years ago
Depends on: 555699
(Assignee)

Updated

9 years ago
Depends on: 555289
(Assignee)

Updated

9 years ago
Depends on: 556026

Updated

9 years ago
Depends on: 555889
(Assignee)

Updated

9 years ago
Depends on: 556643

Updated

9 years ago
Depends on: 557533
(Assignee)

Updated

9 years ago
Depends on: 544518

Updated

9 years ago
Depends on: 542701

Updated

9 years ago
Depends on: 558070
(Assignee)

Updated

9 years ago
No longer depends on: 558146

Updated

9 years ago
Depends on: 558146

Updated

9 years ago
Depends on: 558434
Depends on: 558260

Updated

9 years ago
Depends on: 558462

Updated

9 years ago
Depends on: 558485

Updated

9 years ago
Depends on: 558532

Updated

9 years ago
Depends on: 558629

Updated

9 years ago
No longer depends on: 558434

Updated

9 years ago
Depends on: 559384
Depends on: 559436

Updated

9 years ago
Depends on: 559760
(Assignee)

Updated

9 years ago
Depends on: 560213

Comment 7

9 years ago
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
Depends on: 560246
Depends on: 559425
(Assignee)

Updated

9 years ago
No longer depends on: 559425
(Assignee)

Updated

9 years ago
Depends on: 560993

Updated

9 years ago
Depends on: 558986

Updated

9 years ago
Depends on: 561019
Depends on: 560584
(Assignee)

Updated

9 years ago
Depends on: 561117
Depends on: 561308

Updated

9 years ago
Depends on: 561477
Depends on: 561551

Updated

9 years ago
Depends on: 561495
Depends on: 561690

Updated

9 years ago
Depends on: 561781

Updated

9 years ago
Depends on: 561818

Updated

9 years ago
Depends on: 561817
(Assignee)

Updated

9 years ago
Depends on: 561871
Depends on: 563377

Updated

9 years ago
Depends on: 563685
(Assignee)

Updated

9 years ago
Depends on: 564260
(Assignee)

Updated

9 years ago
Depends on: 564861

Updated

9 years ago
No longer depends on: 543376

Updated

9 years ago
Depends on: 565282

Updated

9 years ago
Depends on: 561075
No longer depends on: 565292
Depends on: 565639

Updated

9 years ago
Depends on: 557279

Updated

9 years ago
Depends on: 566062
No longer depends on: 547153

Updated

9 years ago
Depends on: 572417
Depends on: 574354

Updated

9 years ago
Depends on: 574991

Updated

9 years ago
Depends on: 574168
(Assignee)

Comment 8

9 years ago
This bug has served it's tracking purpose and we're no longer using it.
Status: NEW → RESOLVED
Last Resolved: 9 years ago
Resolution: --- → WORKSFORME

Updated

9 years ago
Depends on: 588263
Depends on: 588749

Updated

9 years ago
Depends on: 596094

Updated

9 years ago
No longer depends on: 596094

Updated

9 years ago
Depends on: 602502

Updated

8 years ago
Depends on: 686673

Updated

6 years ago
Depends on: 812922

Updated

4 years ago
QA Contact: chofmann
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.