Extensions Dialogs

Steps for creating a new dialog

  1. If the dialog is called from code outside views, which most likely is, add Show<Name>Dialog method to chrome/browser/ui/extensions/extensions_dialogs.h
  2. Implement Show<NameDialog in chrome/browser/ui/views/extensions:
  • Method should receive all the information to display in the UI, and should not compute any extensions logic (e.g pass extension_site_access value instead of computing the site access here).
  • Use ui::DialogModel::Builder to create the dialog. See more information on ui/base/models/dialog_model.h
  • Show the dialog using a util method from chrome/browser/ui/extensions/extension_dialog_utils.h
namespace extensions {

void Show<Name>Dialog(...) {
  ui::DialogModel::Builder
    .SetTitle(...)
    // Set the dialog information. If necessary, use ui::DialogModelDelegate.

  ShowDialog(...)
}

}  // namespace
  1. Add interactive tests using Kombucha. See more information on chrome/test/interaction/README.md