Chromium Code Reviews| Index: chrome/browser/ui/views/importer/import_lock_dialog_view.cc |
| diff --git a/chrome/browser/ui/views/importer/import_lock_dialog_view.cc b/chrome/browser/ui/views/importer/import_lock_dialog_view.cc |
| index 71392b5908635fdeeced6d4f8fab2bd1cf316843..d577f6681bce0cd0958a9a755fefd9164876c1bc 100644 |
| --- a/chrome/browser/ui/views/importer/import_lock_dialog_view.cc |
| +++ b/chrome/browser/ui/views/importer/import_lock_dialog_view.cc |
| @@ -22,6 +22,12 @@ |
| using base::UserMetricsAction; |
| +namespace { |
|
Ilya Sherman
2017/04/05 06:15:29
nit: Please leave a blank line after this one.
nikhil.sahni
2017/04/05 07:35:49
Done.
|
| +// For storing widget ptr on creation of dialog widget |
| +// using method CreateDialogWidget. |
|
Ilya Sherman
2017/04/05 06:15:29
nit: Please re-wrap this comment to 80-col.
Ilya Sherman
2017/04/05 06:15:29
Please simplify this comment a bit to something li
nikhil.sahni
2017/04/05 07:35:49
Done.
|
| +static views::Widget* g_widget = nullptr; |
|
Ilya Sherman
2017/04/05 06:15:29
nit: Please leave a blank line after this one.
nikhil.sahni
2017/04/05 07:35:49
Done.
|
| +} |
| + |
| namespace importer { |
| void ShowImportLockDialog(gfx::NativeWindow parent, |
| @@ -30,13 +36,26 @@ void ShowImportLockDialog(gfx::NativeWindow parent, |
| base::RecordAction(UserMetricsAction("ImportLockDialogView_Shown")); |
| } |
| +void HideImportLockDialog() { |
| + ImportLockDialogView::Hide(); |
| +} |
| + |
| } // namespace importer |
| // static |
| void ImportLockDialogView::Show(gfx::NativeWindow parent, |
| const base::Callback<void(bool)>& callback) { |
| - views::DialogDelegate::CreateDialogWidget( |
| - new ImportLockDialogView(callback), NULL, NULL)->Show(); |
| + ImportLockDialogView* dialog_view = new ImportLockDialogView(callback); |
| + g_widget = views::DialogDelegate::CreateDialogWidget(import_lock_dialog_view, |
|
Ilya Sherman
2017/04/05 06:15:29
Please update the variable name import_lock_dialog
nikhil.sahni
2017/04/05 07:35:49
Done.
|
| + NULL, NULL); |
| + g_widget->AddObserver(dialog_view); |
| + g_widget->Show(); |
| +} |
| + |
| +// static |
| +void ImportLockDialogView::Hide() { |
| + if (g_widget) |
| + g_widget->Close(); |
| } |
| ImportLockDialogView::ImportLockDialogView( |
| @@ -53,6 +72,12 @@ ImportLockDialogView::ImportLockDialogView( |
| ImportLockDialogView::~ImportLockDialogView() { |
| } |
| +void ImportLockDialogView::OnWidgetDestroying(views::Widget* widget) { |
| + DCHECK_EQ(widget, g_widget); |
| + g_widget = nullptr; |
| + widget->RemoveObserver(this); |
| +} |
| + |
| gfx::Size ImportLockDialogView::GetPreferredSize() const { |
| return gfx::Size(views::Widget::GetLocalizedContentsSize( |
| IDS_IMPORTLOCK_DIALOG_WIDTH_CHARS, |