chrome
play

Chrome: Concrete Architecture Bits Please! Agenda: 1. Derivation - PowerPoint PPT Presentation

Chrome: Concrete Architecture Bits Please! Agenda: 1. Derivation 2. Alternatives 3. Concrete Architecture 4. New Subsystems / Dependencies 5. Subsystem: Render 6. Use Case 7. Current Limitations/ Lessons Learned 2 Conceptual


  1. Chrome: Concrete Architecture Bits… Please!

  2. Agenda: 1. Derivation 2. Alternatives 3. Concrete Architecture 4. New Subsystems / Dependencies 5. Subsystem: Render 6. Use Case 7. Current Limitations/ Lessons Learned 2

  3. Conceptual Architecture Layered Legend Dependency Subsystem 3

  4. Derivation Process Use code analysis tool called Understand ● ● Create a new architecture with the components of conceptual architecture Addition of Utilities and Communication component ● Map source code to the correct subsystem based on ● functionality 4

  5. Legend Alternatives New Dependency Old Dependency Subsystem 5

  6. Concrete Architecture Object-Oriented Legend New Dependency Old Dependency Subsystem 6

  7. New Subsystems and Dependencies Communication Encapsulates Mojo and threading ● Allows all aspects of the architecture to communicate via ● message passing and IPCs Utilities ● Contains the “Base” code which is the shared code between all modules Contains string manipulation and general utilities ● Contains specific code for each operating system ● 7

  8. Render -> Memory ● The Render uses a security filter Displays a message to the user that is stored in memory ● Example: “phishing” or “malware” detection ●

  9. Render -> UI Renderer extension uses the UI layout ● Render -> Browser The Render allows safe browsing based on the type of browser and ● message passing Render -> Network Is the network connection is up and running? ●

  10. UI -> Memory Makes window resizing appear smooth ● UI -> Network The UI connects to the network to fetch the URL and format to ● display it UI -> Render Play cc animations ●

  11. Memory -> UI ● Memory stores previously accessed URLs As typing begins in the UI, Memory can display what the ● possible URL may be

  12. Memory -> Browser Saves the snapshot file of each process in memory and ● can return it to the browser if necessary Network -> Memory From network, IO Buffer streamed to memory for optimal read ● operations of data Network -> Browser ● Handles some of the testing testing and determining network crashes

  13. Network -> Render Renderer has a Network Interface List that the Network ● must be able to access Browser -> UI If there is a conflict/error in the Browser, it communicates with UI to ● display an error message to the user

  14. Subsystem: Render 14

  15. Use Case 1 15

  16. Current Limitations and Lessons Learned Current Limitations ● Lack of commenting and code readability ● This lead to difficulties in tracing the dependencies between subsystems Lacking JavaScript V8 and Plugins source code ● Lessons Learned ● Communication ● Set deadlines How to use Understand ● 16

  17. Team Issues within Chrome ● Independent teams working on different subsystems made it challenging to track who worked on what subsystem when ● Code updating with high coupling 17

  18. Feature - Facial Authentication Problem ● Users have many passwords associated with numerous websites ● Difficult to remember all passwords Solution: ● Add your face authentication to Chrome ● Passwords are saved to the user account ● Use facial authentication to use saved passwords 18

  19. Conclusion ● Object-Oriented concrete architecture ● Added dependencies ● Utilities and Communication subsystems added 19

  20. Thanks! Any questions? 20

Recommend


More recommend