Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT...
Transcript of Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT...
![Page 1: Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT be changed Simply updating existing features to work in Fission oReplacing the engine](https://reader033.fdocuments.in/reader033/viewer/2022051918/600a1e3cd72c2425e173a6ca/html5/thumbnails/1.jpg)
From Students…
…to Professionals
The Capstone Experience
Project PlanSplitting the Atom. Again.
Team MozillaTeja Bayya
Alex VamvounisCarson Greene
James JahnsTyler Staats
Department of Computer Science and EngineeringMichigan State University
Fall 2019
![Page 2: Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT be changed Simply updating existing features to work in Fission oReplacing the engine](https://reader033.fdocuments.in/reader033/viewer/2022051918/600a1e3cd72c2425e173a6ca/html5/thumbnails/2.jpg)
Functional Specifications
• Firefox is a MASSIVE project used by MILLIONS
• Gateway to the internet
• Fission is an ongoing Proactive security project
• It's our job to help Mozilla dot the I's
The Capstone Experience Team Mozilla Project Plan Presentation 2
![Page 3: Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT be changed Simply updating existing features to work in Fission oReplacing the engine](https://reader033.fdocuments.in/reader033/viewer/2022051918/600a1e3cd72c2425e173a6ca/html5/thumbnails/3.jpg)
Design Specifications
• Design should NOT be changed
▪ Simply updating existing features to work in Fission
oReplacing the engine in a car
▪ Firefox has 250 million monthly active users
o Interrupting their workflow could be disruptive
The Capstone Experience Team Mozilla Project Plan Presentation 3
![Page 4: Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT be changed Simply updating existing features to work in Fission oReplacing the engine](https://reader033.fdocuments.in/reader033/viewer/2022051918/600a1e3cd72c2425e173a6ca/html5/thumbnails/4.jpg)
Webpage under Firefox Release
The Capstone Experience 4Team Mozilla Project Plan Presentation
![Page 5: Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT be changed Simply updating existing features to work in Fission oReplacing the engine](https://reader033.fdocuments.in/reader033/viewer/2022051918/600a1e3cd72c2425e173a6ca/html5/thumbnails/5.jpg)
Webpage under Firefox with Fission
The Capstone Experience 5Team Mozilla Project Plan Presentation
![Page 6: Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT be changed Simply updating existing features to work in Fission oReplacing the engine](https://reader033.fdocuments.in/reader033/viewer/2022051918/600a1e3cd72c2425e173a6ca/html5/thumbnails/6.jpg)
Enabling Fission
The Capstone Experience Team Mozilla Project Plan Presentation 6
![Page 7: Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT be changed Simply updating existing features to work in Fission oReplacing the engine](https://reader033.fdocuments.in/reader033/viewer/2022051918/600a1e3cd72c2425e173a6ca/html5/thumbnails/7.jpg)
Example: Picture-in-Picture
The Capstone Experience 7Team Mozilla Project Plan Presentation
![Page 8: Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT be changed Simply updating existing features to work in Fission oReplacing the engine](https://reader033.fdocuments.in/reader033/viewer/2022051918/600a1e3cd72c2425e173a6ca/html5/thumbnails/8.jpg)
Technical Specifications
• Pre-fission Firefox used framescripts to allow for UI/content separation
• A message manager was used to enable communication between the processes
• JSWindowActors are the fission replacement for framescripts
• Each JSWindowActor contains a parent and child pair, This allows for messaging between the processes as they are created
The Capstone Experience Team Mozilla Project Plan Presentation 8
![Page 9: Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT be changed Simply updating existing features to work in Fission oReplacing the engine](https://reader033.fdocuments.in/reader033/viewer/2022051918/600a1e3cd72c2425e173a6ca/html5/thumbnails/9.jpg)
Technical Specifications
The Capstone Experience Team Mozilla Project Plan Presentation 9
![Page 10: Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT be changed Simply updating existing features to work in Fission oReplacing the engine](https://reader033.fdocuments.in/reader033/viewer/2022051918/600a1e3cd72c2425e173a6ca/html5/thumbnails/10.jpg)
System Architecture
The Capstone Experience Team Mozilla Project Plan Presentation 10
![Page 11: Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT be changed Simply updating existing features to work in Fission oReplacing the engine](https://reader033.fdocuments.in/reader033/viewer/2022051918/600a1e3cd72c2425e173a6ca/html5/thumbnails/11.jpg)
System Components
• Hardware Platforms
▪ x86 processors
• Software Platforms / Technologies
▪ JavaScript – Language of codebase
▪ Mercurial – Revision-control tool
▪ Phabricator – to participate in code reviews
▪ SearchFox - source code search engine
The Capstone Experience Team Mozilla Project Plan Presentation 11
![Page 12: Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT be changed Simply updating existing features to work in Fission oReplacing the engine](https://reader033.fdocuments.in/reader033/viewer/2022051918/600a1e3cd72c2425e173a6ca/html5/thumbnails/12.jpg)
Risks
• Need to design websites to test Fission▪ What works on one site might not work on another▪ Develop websites that test corner cases
• Firefox is over 20 million lines of code long▪ Work on one feature may be split across many files and the codebase has
a steep learning curve▪ Searchfox lets you search the codebase and Mozilla came down for a
hack weekend
• Writing code for all 250 million users of Firefox Desktop▪ 250 million users on Windows, Mac, and Linux▪ We plan to test our code on all three of these OSs
• Fission is being implemented even on experimental features▪ Fission is being implemented in areas of the browser that are still being
actively developed▪ Rigorous testing and code reviews as well as comparison to other builds
to prevent regression
The Capstone Experience Team Mozilla Project Plan Presentation 12
![Page 13: Splitting the Atom. Again.cse498/2019-08/schedules/all...Design Specifications •Design should NOT be changed Simply updating existing features to work in Fission oReplacing the engine](https://reader033.fdocuments.in/reader033/viewer/2022051918/600a1e3cd72c2425e173a6ca/html5/thumbnails/13.jpg)
Questions?
The Capstone Experience Team Mozilla Project Plan Presentation 13
?
? ??
?
?
?
?
?