Project Fission

From MozillaWiki
Jump to: navigation, search

Project Fission

Project Fission is the project name for revamping and strengthening the architecture of Firefox browser.

Project planning

Project Fission is a Cross Functional engineering effort across the Platform organization.

Primary Meta bug - Bug 1432593 - (meta) Project Fission

<more to come>


Bugzilla M2 Milestones

Full Query
Resolution ID Summary Whiteboard Fission milestone Assigned to
DUPLICATE 1467227 Switch nsFrameLoader objects to contain an Abstract Browsing Context instead of a nsDocShell. M2 Andreas Farre [:farre]
1519151 Support synchonizing BrowsingContext objects over IPC between processes M2 Andreas Farre [:farre]
1523636 Create BrowsingContext in nsFrameLoader M2 Andreas Farre [:farre]
1533037 Make it more clear how you should modify synced fields M2 Andreas Farre [:farre]
1533447 Cached browsing contexts are currently not working M2 Andreas Farre [:farre]
1536468 Make retrieval of WebBrowserPersistDocumentAttrs.cacheKey async in SessionHistory M2 Anny Gakhokidze [:annyG]
1536471 Add new sync IPC call ClearFrameEntries in nsISHistory to reduce the number of IPC calls in nsDocShell::ClearFrameHistory M2 Anny Gakhokidze [:annyG]
1474130 Convert content-sessionStore to C++ [overhead:135k] M2 Alphan Chen [:alchen]
FIXED 1524065 Use browsing context to notify content tab to resume delayed autoplay media M2 Alastor Wu [:alwu]
1519546 Make sure that layers sizing in oop-iframes takes account of transforms above the embedding element [gfx-noted] M2 Boris Chiou [:boris]
1474793 consider sharing UA style sheets across processes [overhead:400K][layout:p1] M2 Cameron McCormack (:heycam)
1463569 Tooling for investigating content process chrome JS memory usage [2/28] Active work underway. [overhead:noted] M2 Andrew McCreight [:mccr8]
1535403 Tie together lifetime of nsGlobalWindowOuter and nsDocShell [MemShrink:P2] M2 Andrew McCreight [:mccr8]
1513865 [socket-process] nsIPrefService.resetPrefs does not work [necko-triaged] M2 Dragana Damjanovic [:dragana]
1531487 [meta] [socket-process] Get all tests passing with socket process M2 Byron Campen [:bwc]
1531489 [meta] [socket-process] Get WPT test running with the socket process enabled M2 Byron Campen [:bwc]
1503984 Add a pref to to return null on chrome->content subframe access [2/22] patch needs to be rewritten with different approach M2 :Felipe Gomes (needinfo me!)
FIXED 1533467 Rename browser.fission.simulate to fission.* M2 :Felipe Gomes (needinfo me!)
FIXED 1529556 Tweak the available memory tracker thresholds to minimize OOMs M2 Gabriele Svelto [:gsvelto]
1518919 Communicate current CSS 'visibility' value to oop-frames M2 Hiroyuki Ikezoe (:hiro)
FIXED 1524231 Find TabParent to dispatch to by LayersId attached to the event [fission-event-m1] M2 Henri Sivonen (:hsivonen)
FIXED 1524239 Attach the LayersId of the process-top-level layer that has focus to keyboard events [fission-event-m1] M2 Henri Sivonen (:hsivonen)
FIXED 1524240 In EventStateManager::PostHandleKeyboardEvent look up TabParent by LayersId [fission-event-m1] M2 Henri Sivonen (:hsivonen)
FIXED 1524242 Capture TabParent by LayersId when creating TextComposition [fission-event-m1] M2 Henri Sivonen (:hsivonen)
1524975 Split cross-process IME committing and blurring out of IMEStateManager::OnChangeFocusInternal() [fission-event-m1] M2 Henri Sivonen (:hsivonen)
FIXED 1524976 Lookup TabParent by TabParent::GetFocused() in EventStateManager::DoContentCommandEvent() [fission-event-m1] M2 Henri Sivonen (:hsivonen)
FIXED 1524977 Use RemoteFrameChild if present in nsFocusManager::GetNextTabbableContent() [fission-event-m1] M2 Henri Sivonen (:hsivonen)
FIXED 1524980 Use RemoteFrameChild if present in nsFocusManager::Focus() [fission-event-m1] M2 Henri Sivonen (:hsivonen)
FIXED 1524983 Make nsFocusManager::Blur() hand off focus one level up only [fission-event-m1] M2 Henri Sivonen (:hsivonen)
FIXED 1529237 Use matrix instead of offset for converting between chrome and content process event coordinates in TabParent [fission-event-m1] M2 Henri Sivonen (:hsivonen)
FIXED 1530661 Make APZ tell chrome main thread the transforms for chrome to content coordinate spaces [fission-event-m1] M2 Henri Sivonen (:hsivonen)
FIXED 1532334 nsContentUtils::IsSubDocumentTabbable() needs to be able to report true for out-of-process iframes [fission-event-m1] M2 Henri Sivonen (:hsivonen)
1467212 [meta] JS Actor APIs to replace FrameScripts for Fission M2 John Dai[:jdai]
1523982 Allow filtering which globals WindowActors apply to M2 John Dai[:jdai]
FIXED 1526406 Lazily create JS Actors when observer notifications fire in content M2 John Dai[:jdai]
1527753 Allow restricting JS Window Actors to specific remoteTypes M2 John Dai[:jdai]
FIXED 1531837 Add testcases with 'allFrames' and 'includeChrome' for JS Window Actors M2 John Dai[:jdai]
1480547 Fission: Support printing content with OOP iframes M2 Jonathan Watt [:jwatt]
FIXED 1522713 Add a method to change a frameLoader's process M2 Kyle Machulis [:qdot] [:kmachulis] (PTO March 15-24)
FIXED 1524709 Remove aShouldBeRemote argument from UpdateRemoteness and related calls M2 Kyle Machulis [:qdot] [:kmachulis] (PTO March 15-24)
1535390 Fix remaining bugs in FrameLoader process rebuilding M2 Kyle Machulis [:qdot] [:kmachulis] (PTO March 15-24)
FIXED 1519576 [Fission] Extend ActorChild for formSubmitListener.js [fixed by bug 1474143] M2 Matthew N. [:MattN] (PM me if requests are blocking you)
1533955 [Fission] Make the tab crashed page work with Fission M2 Mike Conley (:mconley) (:⚙️)
1524049 Flip media.rdd-vorbis.enabled to true on Win M2 Michael Froman [:mjf]
FIXED 1522579 Rip out PContentBridge M2 :Nika Layzell
FIXED 1529684 Create BrowsingContext for remote frame in embedder process M2 :Nika Layzell
FIXED 1530550 Synchronize Opener and IsActivatedByUserGesture with SYNCED_BC_FIELD M2 :Nika Layzell
FIXED 1531163 Add support for `allFrames` and `includeChrome` to JS Window Actors M2 :Nika Layzell
FIXED 1532661 Support syncing complete BrowsingContextGroups over IPC M2 :Nika Layzell
648417 Investigate sharing font-related caches among Gecko processes [MemShrink:P2][tech-p2][layout:p1] M2
1429896 [meta] implement a minimal form of navigable out-of-process iframes M2
1470591 Add a fork server for launching content processes [overhead:>4MB][qf-] M2
1471598 Handle illegal PContent BrowsingContext operations M2
1471754 Add core Resource actor infrastructure and process access for Fission dt-fission M2
1490803 Native process-switching-load implementation M2
1494796 Convert ThreadClient to protocol.js front dt-fission M2
1513045 [meta] Enable privileged content process by default and let it ride the trains M2
1522649 Ensure process switches are supported for ServiceWorker-intercepted channels [necko-triaged] M2
1523986 Add more tests for Process-Switching POST loads M2
1525418 Expose RemoteFrameParent on nested OOP TabParent M2
1525427 Expose embedder WindowGlobalParent on RemoteFrameParent M2
1525720 Fission: Support tab switching with OOP iframes M2
DUPLICATE 1529239 Make TabParent able to get transform from chrome process coordinates to TabChild coordinates from APZ [fission-event-m1] M2
DUPLICATE 1530656 Make APZ tell chrome main thread the transforms for chrome to content coordinate spaces M2
1532795 Support ContentTask over JS Window Actors for testing M2
1533943 [Fission] Make WebNavigation ready for Fission M2
1533948 [Fission] Make BrowserTabChild ready for Fission M2
1533949 [Fission] Make BrowserChild ready for Fission M2
1533950 [Fission] Make core functionality from tab-content.js ready for Fission M2
1533951 [Fission] Make network error pages work with Fission M2
1533958 [Fission] Make <select> dropdowns work with Fission M2
FIXED 1532857 When the nursery is re-enabled the wrong nursery size is set M2 Paul Bone [:pbone]
1438272 Move Session History State into the Parent Process [3/13] Active work underway M2 Peter Van der Beken [:peterv]
1510760 Make transplanting code work with remote WindowProxy objects M2 Peter Van der Beken [:peterv]
1518917 Consider maintaining a clipped area for oop-iframes M2 Ryan Hunt [:rhunt]
1523072 Update DOM IPC naming for fission (TabParent, TabChild, etc.) M2 Ryan Hunt [:rhunt]
1527380 Fission: OOP iframes don't work with webrender picture caching M2 Ryan Hunt [:rhunt]
1532299 Out-of-process iframes show up blank most of the time with WebRender M2 Ryan Hunt [:rhunt]
FIXED 1525036 Implement Cross-Origin header (requiring CORS for subresources) [necko-triaged] M2 Valentin Gosu [:valentin]
1527314 Expand Cross-Origin-Opener-Policy tests M2 Valentin Gosu [:valentin]
1530303 New window doesn't have the correct COOP [necko-triaged] M2 Valentin Gosu [:valentin]
1530329 Crash in [@ mozilla::net::nsHttpChannel::HasCrossOriginOpenerPolicyMismatch] [necko-triaged] M2 Valentin Gosu [:valentin]

82 Total; 82 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Role Name
Engineering Project Manager Ron Manning
Product Manager Kev Needham
Project Tech Lead Nika Layzell
Accessibility Lead James Teh
DevTools Engineering Manager Soledad Penadés
DevTools Engineering Alexandre Poirot
DevTools Engineering Yulia Startsev
DOM Engineering Manager Neha Kochar
DOM Engineering Kyle Machulis
DOM Engineering Peter Van Der Beken
DOM Engineering Andreas Farre
DOM Engineering Alphan Chen
DOM Engineering John Dai
DOM Engineering Henri Sivonen
DOM Consultant Ehsan Akhgari
FrontEnd Engineering Felipe Gomes
FrontEnd Engineering Mike Conley
Graphics Engineering Ryan Hunt
JS/WASM Security Consultant Luke Wagner
Memshrink Lead Eric Rahm
Memshrink Engineering Kris Maglione
Layout Lead Jonathan Watt
Media and WebRTC Lead Nils Ohlmeier
Necko Engineering Valentin Gosu
Necko Engineering Dragana Damjanovic
Office-of-CTO Consultant Boris Zbarsky
Security Lead Tom Ritter
Standards Lead Anne van Kesteren


Meetings: Thursdays 12pm Pacific, "Fission" Vidyo room

Find us on Slack

  • #Fission