Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(443)

Unified Diff: docs/ui/views/macviews_release.md

Issue 2078503002: docs: add now-historic MacViews launch plan (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: docs/ui/views/macviews_release.md
diff --git a/docs/ui/views/macviews_release.md b/docs/ui/views/macviews_release.md
new file mode 100644
index 0000000000000000000000000000000000000000..ac5dd380b73280f0f52ddd43f2cb2ba673abb5ac
--- /dev/null
+++ b/docs/ui/views/macviews_release.md
@@ -0,0 +1,85 @@
+# MacViews Release Plan
+
+## Handy Links
+
+* [Phase 1 bugs](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=Proj%3DMacViews+label%3Aphase1&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids)
+* [Phase 2 bugs](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=Proj%3DMacViews+label%3Aphase2&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids)
+* [Other MacViews bugs](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=Proj%3DMacViews+-label%3APhase1+-label%3APhase2&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids)
+* [Catalog of chromium dialogs](https://docs.google.com/spreadsheets/d/1rChQOblJDsXevMxpUpvaPqK3QIMPdmd2iAvJtdeOeeY/edit#gid=0)
+
+## Phase 1: Controls
+
+Implement Shiny Modern L&F for individual controls, most-commonly-used first. In
+rough order:
+
+1. Buttons
+2. Editboxes
+3. Comboboxes
+4. Radiobuttons/checkboxes
+5. Menubuttons
+6. Treeviews
+7. Tableviews
+
+This phase overlaps with phase 2.
+
+## Phase 2: WebUI Cocoa Dialogs, Rubberband
+
+Once enough controls are done, wire up the Views versions of WebUI-styled Cocoa
+dialogs, behind a new `MacViewsWebUIDialogs` feature. The WebUI-styled Cocoa
+dialogs are:
+
+1. Collected/blocked cookies UI
+2. Device permissions
+3. Extension install
+4. HTTP auth
+5. One-click signin
+6. Site permissions bubble
+7. "Card unmask prompt" (TODO(ellyjones): what is this?)
+8. Website settings dialog
+
+Once all of these dialogs are converted and tested behind the feature, we can
+ship to canary and dev channels and watch for any performance or crash rate
+regressions. Doing all the WebUI-style dialogs at once will avoid having three
+separate dialog UIs.
+
+This phase also includes implementation of rubber-band overscroll and fling
+scrolling. This technology exists already in the renderer compositor - it needs
+to be transplanted to the ui compositor.
+
+## Phase 3: The Other Dialogs
+
+Once WebUI dialogs are converted en masse, we can convert other dialogs to Views
+individually, and ship them without a flag flip or field trial. Cocoa dialogs
+that are in native Cocoa style will gradually migrate to Views dialogs that are
+in the Shiny Modern style.
+
+## Phase 4: Omnibox & Top Chrome
+
+At this point, all dialogs are in Shiny Modern, but the rest of the browser
+chrome is still Cocoa.
+
+Implement Cocoa L&F for any controls still needed for omnibox and top chrome.
+TODO(ellyjones): which controls are these?
+Implement Views versions of the omnibox and top chrome behind a new flag
+`mac-views-browser-chrome`.
+Get UI review of the new versions of the omnibox and top chrome.
+Make the Views versions the default.
+
+## Phase 5: `mac_views_browser=1`
+At this point, all user-visible UI is done via Views, and we need to switch the
+entire browser to a Views-only build:
+
+Check for performance regressions against `mac_views_browser=0`.
+Check for stability regressions against `mac_views_browser=0`.
+Check for a11y regressions through manual testing.
+TODO(ellyjones): Figure out how feasible automated a11y regression testing is.
+Switch `mac_views_browser` to 1 for Canary.
+Cross fingers.
+Watch metrics carefully.
+If there's no surprising metrics changes or public outcry, keep
+mac_views_browser=1 for dev, then beta, then stable.
+
+## Phase 6: delete Cocoa
+Since much of the Cocoa code is dead and we are no longer building with
+`mac_views_browser=0`, remove dead Cocoa UI code.
+
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698