Hey all,
Chrome is embarking on an effort to modularize //chrome/browser, with specific focus on the Browser and BrowserView god objects.
The effort aims to leave //chrome/browser in a state where browser-scoped feature code is well encapsulated, with dependencies explicitly specified and composed via dependency injection, enabling
More rapid feature development / iteration
Significantly improved testing (specifically unit testing)
Reduced maintenance costs
External contributions are welcome. Anyone interested in assisting with the effort please reach out directly for onboarding info (email preferable).
For details and discussion on the project proposal see Project Bedrock: Simplify class Browser.
For details on the desired end state see Chrome Browser Design Principles.Thanks tom
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to the Google Groups "Chromium-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/chromium-dev/2a32016d-1950-4ba8-9dc9-6d8ca81691d1n%40chromium.org.
Hey all,
We are at roughly 4 weeks since project kick-off and the team would like to share an update on progress - and updates to be expected in the coming weeks. Up-to-date project metrics can always be found here.
Elimination of deprecated Browser unittest fixtures and utilities
We’ve had great contributions from our new starters in Warsaw (ta...@google.com & kuc...@google.com) and partners at Microsoft (ked...@microsoft.com) - eliminating deprecated Browser fixtures and utilities completely from 29 (~10%) of affected files, across 31 CLs.
As part of this effort, the Warsaw team has developed a multi-step LLM-driven workflow to automate this process. Googlers can find the repo here (currently internal-only, the team is planning on making this publicly available soon).
In parallel ked...@microsoft.com has landed several Gemini-compatible Copilot prompts - which have also been used to stage and land CLs end-to-end. You can find these prompts in the public repo here.
The Warsaw team will continue with the deprecation effort over the coming weeks, leveraging these tools to accelerate progress on this workstream.
Enumerate Browser-scoped Features as BrowserWindowFeatures
Our Microsoft partners (specifically chb...@microsoft.com) have been working on modularizing the Browser god objects and making feature dependencies more explicit. So far ~25% of the identified features have been refactored as BrowserWindowFeatures, across 14 CLs.
This workstream will continue over the next couple of weeks. Additional effort will also be made towards eliminating the Browser dependency from browser_navigator’s Navigate (a big driver for ongoing Browser dependency in feature code).
Browser Lifetime Changes
Work towards strengthening BrowserWindowFeature lifetime guarantees through aligning the Browser ownership model with UI best practices is ongoing, with 34 CLs landed since project kick-off. Tests on both Windows and Linux platforms are passing, with remaining fixes for Mac and ChromeOS landing soon. See the project doc here for details.
The change is expected to land in the coming weeks. An update will be posted to chromium-dev@ for this separately before the change is pushed to ToT.
Feel free to reach out directly with specific questions.
--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev
---
You received this message because you are subscribed to a topic in the Google Groups "Chromium-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/a/chromium.org/d/topic/chromium-dev/ENoJWndlg3Q/unsubscribe.
To unsubscribe from this group and all its topics, send an email to chromium-dev...@chromium.org.