|
|
| Line 1: |
Line 1: |
| This is a task list for the [[Content Processes|Electrolysis]] project, listing work areas, owners, mentors, etc. To volunteer for a project, please contact [mailto:benjamin@smedbergs.us?subject=Electrolysis%20Volunteer Benjamin Smedberg]
| | #REDIRECT {{https://bugzilla.mozilla.org/showdependencytree.cgi?id=electrolysis&hide_resolved=1}} |
| | |
| == Core ==
| |
| | |
| {| border="1" cellpadding="3" width="100%"
| |
| |- align="center"
| |
| | '''Project'''
| |
| | '''Owner'''
| |
| | '''Mentor'''
| |
| | '''Bug'''
| |
| | '''ETA'''
| |
| | '''Notes'''
| |
| {{CPTask | |
| | task=Statically check [[IPDL]] specs and C++ implementations
| |
| | name=cjones
| |
| | mentor=
| |
| | bug=
| |
| | ETA=
| |
| | notes=
| |
| }}
| |
| {{CPTask
| |
| | task=Dynamic fuzzing/checking of cross-process infrastructure
| |
| | name=
| |
| | mentor=bsmedberg
| |
| | bug=
| |
| | ETA=
| |
| | notes=Fuzzing for bad data, closed sockets, crashed processes
| |
| }}
| |
| {{CPTask
| |
| | task=[[IPDL/Unit test generation|Systematic dynamic checking of C++ code implementing IPDL protocols]]
| |
| | name=robin_bb
| |
| | mentor=cjones
| |
| | bug={{bug|506303}}
| |
| | ETA=
| |
| | notes=It should be possible to generate pretty exhaustive unit tests from IPDL specs...
| |
| }}
| |
| |}
| |
| | |
| == Plugins ==
| |
| | |
| {| border="1" cellpadding="3" width="100%"
| |
| |- align="center"
| |
| | '''Project'''
| |
| | '''Owner'''
| |
| | '''Mentor'''
| |
| | '''Bug'''
| |
| | '''ETA'''
| |
| | '''Notes'''
| |
| {{CPTask
| |
| | task=NPObject-over-IPC
| |
| | name=paritosh
| |
| | mentor=bent/josh
| |
| | bug={{bug|516524}}
| |
| | ETA=
| |
| | notes=
| |
| }}
| |
| {{CPTask
| |
| | task=Clean up plugin processes when we don't need them
| |
| | name=bent
| |
| | mentor=
| |
| | bug=
| |
| | ETA=
| |
| | notes=Needed so we don't orphan processes on unit-test machines
| |
| }}
| |
| {{CPTask
| |
| | task=NPStream implementation
| |
| | name=bsmedberg
| |
| | mentor=
| |
| | bug=
| |
| | ETA=15-Sep
| |
| | notes=Mostly done. jgriffin is working on tests. Still need to implement plugin->browser streams.
| |
| }}
| |
| {{CPTask
| |
| | task=windowless plugins (Win+Linux)
| |
| | name=karlt/jmuizelaar
| |
| | mentor=
| |
| | bug=
| |
| | ETA=
| |
| | notes=Chromium experience is that synchronous drawing is unacceptably slow... they maintain pixel buffers and asynchronously ship pixels across
| |
| }}
| |
| {{CPTask
| |
| | task=Mac plugin remoting (graphics work)
| |
| | name=
| |
| | mentor=josh
| |
| | bug=
| |
| | ETA=
| |
| | notes=Experiments may be necessary
| |
| }}
| |
| |}
| |
| | |
| == Mobile ==
| |
| | |
| {| border="1" cellpadding="3" width="100%"
| |
| |- align="center"
| |
| | '''Project'''
| |
| | '''Owner'''
| |
| | '''Mentor'''
| |
| | '''Bug'''
| |
| | '''ETA'''
| |
| | '''Notes'''
| |
| {{CPTask
| |
| | task=Async canvas.drawWindow for remote content
| |
| | name=joedrew
| |
| | mentor=
| |
| | bug={{bug|505847}}
| |
| | ETA=
| |
| | notes=Important for the Fennec UI
| |
| }}
| |
| {{CPTask
| |
| | task=Forward mouse and keyboard events from the parent to the child
| |
| | name=
| |
| | mentor=
| |
| | bug=
| |
| | ETA=
| |
| | notes=For the fennec canvasbrowser
| |
| }}
| |
| {{CPTask
| |
| | task=Implement readonly remoting of preferences (nsIPrefService/nsIPrefBranch)
| |
| | name=Tibor Mezei
| |
| | mentor=bsmedberg
| |
| | bug={{bug|506269}}
| |
| | ETA=
| |
| | notes=Relatively easy, good beginner project.
| |
| }}
| |
| {{CPTask
| |
| | task=Remote all network access to the parent process
| |
| | name=jduell/ehsan
| |
| | mentor=jst/biesi
| |
| | bug=
| |
| | ETA=
| |
| | notes=Need smaller subtasks!
| |
| }}
| |
| {{CPTask
| |
| | task=Asynchronous and remote resolution of history queries
| |
| | name=sdwilsh
| |
| | mentor=bz
| |
| | bug=
| |
| | ETA=
| |
| | notes=At least the asynchronous part should land on mozilla-central
| |
| }}
| |
| {{CPTask
| |
| | task=IPDL/runtime support for shared-memory buffers
| |
| | name=Rohit
| |
| | mentor=cjones/bsmedberg
| |
| | bug=
| |
| | ETA=
| |
| | notes=Probably needed to make networking and canvas.drawWindow efficient
| |
| }}
| |
| {{CPTask
| |
| | task=Session history for remote tabs
| |
| | name=
| |
| | mentor=bz
| |
| | bug=
| |
| | ETA=
| |
| | notes=Need to figure out what information the parent process/UI actually use/need
| |
| }}
| |
| {{CPTask
| |
| | task=Clean up tab process(es) when we don't need it
| |
| | name=fred23
| |
| | mentor=bent
| |
| | bug={{bug|512694}}
| |
| | ETA=
| |
| | notes=
| |
| }}
| |
| {{CPTask
| |
| | task=Present prompts from the chrome process if necessary (not the content process)
| |
| | name=
| |
| | mentor=bsmedberg
| |
| | bug=
| |
| | ETA=
| |
| | notes=There aren't significant security concerns with just presenting prompts other than the ability to DOS somebody in a loop, but this is probably a good place to do some thinking about the prompt architecture we actually want to end up with.
| |
| }}
| |
| {{CPTask
| |
| | task=[[Content Processes/JPW]]: RPC wrapper for JS objects
| |
| | name=mrbkap
| |
| | mentor=
| |
| | bug=
| |
| | ETA=
| |
| | notes=This is for extension-compat eventually, but for now will be a crutch to get UI code working.
| |
| }}
| |
| |}
| |
| | |
| == Firefox ==
| |
| | |
| {| border="1" cellpadding="3" width="100%"
| |
| |- align="center"
| |
| | '''Project'''
| |
| | '''Owner'''
| |
| | '''Mentor'''
| |
| | '''Bug'''
| |
| | '''ETA'''
| |
| | '''Notes'''
| |
| {{CPTask
| |
| | task=Link targeting for remote tabs
| |
| | name=bz
| |
| | mentor=
| |
| | bug=
| |
| | ETA=
| |
| | notes=
| |
| }}
| |
| {{CPTask
| |
| | task=<browser> and <tabbrowser> basically working on remote tabs
| |
| | name=
| |
| | mentor=bz
| |
| | bug=
| |
| | ETA=
| |
| | notes=May involve some significant rearch: data which is currently available synchronously will not be!
| |
| }}
| |
| {{CPTask
| |
| | task=Refactor the Firefox context menu to work with remote tabs
| |
| | name=dolske
| |
| | mentor=
| |
| | bug=
| |
| | ETA=
| |
| | notes=Events don't bubble through the content tabs the same way... will probably involve collecting necessary information on the child side and passing it to the chrome process in a trusted manner.
| |
| }}
| |
| {{CPTask
| |
| | task=Implement find-in-page for remote tabs
| |
| | name=Josh Matthews
| |
| | mentor=bz
| |
| | bug={{bug|514925}}
| |
| | ETA=
| |
| | notes=
| |
| }}
| |
| {{CPTask
| |
| | task=Implement session restore for remote tabs
| |
| | name=
| |
| | mentor=
| |
| | bug=
| |
| | ETA=
| |
| | notes=
| |
| }}
| |
| {{CPTask
| |
| | task=Crash reporting + multiple processes
| |
| | name=
| |
| | mentor=ted
| |
| | bug=
| |
| | ETA=
| |
| | notes=Breakpad has existing support for client/server exception handling that we're not currently using. This should fit perfectly here. (Also probably being used in Chromium.)
| |
| }}
| |
| {{CPTask
| |
| | task=Multi-process dashboard
| |
| | name=
| |
| | mentor=
| |
| | bug=
| |
| | ETA=
| |
| | notes=Shows CPU/memory usage/etc for tab and plugin processes
| |
| }}
| |
| {{CPTask
| |
| | task=Form and password autofill
| |
| | name=
| |
| | mentor=
| |
| | bug=
| |
| | ETA=
| |
| | notes=Needs careful security architecture!
| |
| }}
| |
| {{CPTask
| |
| | task=Mac implementation of remote tabs
| |
| | name=
| |
| | mentor=josh
| |
| | bug=
| |
| | ETA=
| |
| | notes=Or we could just use tilebrowser in Firefox, which means that the content process wouldn't draw directly to the screen
| |
| }}
| |
| |}
| |