canmove, Confirmed users
2,041
edits
No edit summary |
|||
| Line 41: | Line 41: | ||
* [https://docs.google.com/document/edit?id=1I62_fRMRNUTm56OfRb_Qzy2PoHsMcKuwtQTsRS801Ck&hl=en&authkey=CM7HnvgP Shared API Refactor -- Thoughts and Recommendations] | * [https://docs.google.com/document/edit?id=1I62_fRMRNUTm56OfRb_Qzy2PoHsMcKuwtQTsRS801Ck&hl=en&authkey=CM7HnvgP Shared API Refactor -- Thoughts and Recommendations] | ||
* [https://docs.google.com/document/edit?id=1VbqlCIBfOpm5duFJ3DBPe7ov0J8bTp5RYN75DJwc0aI&hl=en&authkey=CImI3MEB Code Sketches for Shared API Refactor] | * [https://docs.google.com/document/edit?id=1VbqlCIBfOpm5duFJ3DBPe7ov0J8bTp5RYN75DJwc0aI&hl=en&authkey=CImI3MEB Code Sketches for Shared API Refactor] | ||
=Project Plan= | |||
== Goal == | |||
Our goal by end of Q1 2011 is to complete a pilot of the new shared module libraries within the Mozmill team. | |||
Assuming no major problems unearthed during the pilot, we will be able to move forward with migration and further community rampup during Q2. | |||
== Use Case Scope == | |||
At the end of Q1 2011, the refactored shared module library should be sufficient to cleanly and efficiently implement tests involving the following elements: | |||
* The entire main Firefox window, especially: | |||
** Tabbed browsing | |||
** Location Bar | |||
** Bookmarks Bar | |||
* Multiple browser windows/non-modal dialogs in parallel | |||
* Modal dialogs, such as Preferences | |||
* Test and synchronization statements such as: | |||
** Fatal assertions | |||
** WaitFors | |||
== Module Scope == | |||
From a modular point of view, the shared modules can be roughly broken down into the '''UI Map''' and '''General Modules'''. | |||
The '''UI Map''' includes proxy objects for individual XUL controls, so that a hierarchical representation of the UI layout can be created. This map will largely replace direct access of the Mozmill controller for UI operations. | |||
'''General Modules''' are those that provide higher level utility services, test control statements, or wrap Mozilla Platform back end services. | |||
=== UI Map === | |||
The UI Map is expected to cover the following scope, in priority order. Controls in italics are unlikely to be fully developed in Q1 2011. | |||
For more reference on these controls please see the [[https://developer.mozilla.org/en/XUL_controls MDC XUL Control Reference]]. | |||
# Base classes to enable proxy binding | |||
# TextBox | |||
# Button | |||
# Description | |||
# Label | |||
# ToolbarButton | |||
# MenuList | |||
# Checkbox | |||
# Radio | |||
# ListBox | |||
# RichListBox | |||
# ProgressMeter | |||
# Tree | |||
# ''Image'' | |||
# ''Scale'' | |||
# ''Groupbox'' | |||
# ''Colorpicker'' | |||
# ''Datepicker'' | |||
# ''Timepicker'' | |||
=== General Modules === | |||
The General Modules are expected to cover the following scope in priority order. Modules in italics are unlikely to be developed in Q1 2011. | |||
# Menu API | |||
# Window Handlers (Match current functionality) | |||
#* Modal | |||
#* Non-Modal | |||
#* Multiple Parallel | |||
# Localization (Match current functionality) | |||
# Preferences handling | |||
# Assertions | |||
# Services | |||
# Module Initialization Functions | |||
# Teardown helper functions (Broad, e.g. RemoveHistory) | |||
#* UI Reset | |||
#* History Reset | |||
#* Bookmarks Reset | |||
# ''Screenshots'' | |||
# ''Localization (Improve functionality)'' | |||
# ''Window Handlers (Improve functionality)'' | |||
#* ''Modal'' | |||
#* ''Non-Modal'' | |||
#* ''Multiple Parallel'' | |||