OLD | NEW |
(Empty) | |
| 1 # MacViews Release Plan |
| 2 |
| 3 ## Handy Links |
| 4 |
| 5 * [Phase 1 bugs](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=Proj%3
DMacViews+label%3Aphase1&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Ow
ner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids) |
| 6 * [Phase 2 bugs](https://bugs.chromium.org/p/chromium/issues/list?can=2&q=Proj%3
DMacViews+label%3Aphase2&colspec=ID+Pri+M+Stars+ReleaseBlock+Component+Status+Ow
ner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids) |
| 7 * [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+ReleaseB
lock+Component+Status+Owner+Summary+OS+Modified&x=m&y=releaseblock&cells=ids) |
| 8 * [Catalog of chromium dialogs](https://docs.google.com/spreadsheets/d/1rChQOblJ
DsXevMxpUpvaPqK3QIMPdmd2iAvJtdeOeeY/edit#gid=0) |
| 9 |
| 10 ## Phase 1: Controls |
| 11 |
| 12 Implement Shiny Modern L&F for individual controls, most-commonly-used first. In |
| 13 rough order: |
| 14 |
| 15 1. Buttons |
| 16 2. Editboxes |
| 17 3. Comboboxes |
| 18 4. Radiobuttons/checkboxes |
| 19 5. Menubuttons |
| 20 6. Treeviews |
| 21 7. Tableviews |
| 22 |
| 23 This phase overlaps with phase 2. |
| 24 |
| 25 ## Phase 2: WebUI Cocoa Dialogs, Rubberband |
| 26 |
| 27 Once enough controls are done, wire up the Views versions of WebUI-styled Cocoa |
| 28 dialogs, behind a new `MacViewsWebUIDialogs` feature. The WebUI-styled Cocoa |
| 29 dialogs are: |
| 30 |
| 31 1. Collected/blocked cookies UI |
| 32 2. Device permissions |
| 33 3. Extension install |
| 34 4. HTTP auth |
| 35 5. One-click signin |
| 36 6. Site permissions bubble |
| 37 7. "Card unmask prompt" (TODO(ellyjones): what is this?) |
| 38 8. Website settings dialog |
| 39 |
| 40 Once all of these dialogs are converted and tested behind the feature, we can |
| 41 ship to canary and dev channels and watch for any performance or crash rate |
| 42 regressions. Doing all the WebUI-style dialogs at once will avoid having three |
| 43 separate dialog UIs. |
| 44 |
| 45 This phase also includes implementation of rubber-band overscroll and fling |
| 46 scrolling. This technology exists already in the renderer compositor - it needs |
| 47 to be transplanted to the ui compositor. |
| 48 |
| 49 ## Phase 3: The Other Dialogs |
| 50 |
| 51 Once WebUI dialogs are converted en masse, we can convert other dialogs to Views |
| 52 individually, and ship them without a flag flip or field trial. Cocoa dialogs |
| 53 that are in native Cocoa style will gradually migrate to Views dialogs that are |
| 54 in the Shiny Modern style. |
| 55 |
| 56 ## Phase 4: Omnibox & Top Chrome |
| 57 |
| 58 At this point, all dialogs are in Shiny Modern, but the rest of the browser |
| 59 chrome is still Cocoa. |
| 60 |
| 61 Implement Cocoa L&F for any controls still needed for omnibox and top chrome. |
| 62 TODO(ellyjones): which controls are these? |
| 63 Implement Views versions of the omnibox and top chrome behind a new flag |
| 64 `mac-views-browser-chrome`. |
| 65 Get UI review of the new versions of the omnibox and top chrome. |
| 66 Make the Views versions the default. |
| 67 |
| 68 ## Phase 5: `mac_views_browser=1` |
| 69 At this point, all user-visible UI is done via Views, and we need to switch the |
| 70 entire browser to a Views-only build: |
| 71 |
| 72 Check for performance regressions against `mac_views_browser=0`. |
| 73 Check for stability regressions against `mac_views_browser=0`. |
| 74 Check for a11y regressions through manual testing. |
| 75 TODO(ellyjones): Figure out how feasible automated a11y regression testing is. |
| 76 Switch `mac_views_browser` to 1 for Canary. |
| 77 Cross fingers. |
| 78 Watch metrics carefully. |
| 79 If there's no surprising metrics changes or public outcry, keep |
| 80 mac_views_browser=1 for dev, then beta, then stable. |
| 81 |
| 82 ## Phase 6: delete Cocoa |
| 83 Since much of the Cocoa code is dead and we are no longer building with |
| 84 `mac_views_browser=0`, remove dead Cocoa UI code. |
| 85 |
OLD | NEW |