Index: chrome/browser/ui/views/first_run_search_engine_view.cc |
=================================================================== |
--- chrome/browser/ui/views/first_run_search_engine_view.cc (revision 113513) |
+++ chrome/browser/ui/views/first_run_search_engine_view.cc (working copy) |
@@ -140,7 +140,8 @@ |
FirstRunSearchEngineView::FirstRunSearchEngineView(Profile* profile, |
bool randomize) |
- : background_image_(NULL), |
+ : views::ClientView(NULL, NULL), |
+ background_image_(NULL), |
template_url_service_(TemplateURLServiceFactory::GetForProfile(profile)), |
text_direction_is_rtl_(base::i18n::IsRTL()), |
added_to_view_hierarchy_(false), |
@@ -169,6 +170,15 @@ |
return l10n_util::GetStringUTF16(IDS_FIRSTRUN_DLG_TITLE); |
} |
+views::View* FirstRunSearchEngineView::GetContentsView() { |
+ return this; |
+} |
+ |
+views::ClientView* FirstRunSearchEngineView::CreateClientView( |
+ views::Widget* widget) { |
+ return this; |
+} |
+ |
void FirstRunSearchEngineView::WindowClosing() { |
// If the window is closed by clicking the close button, we default to the |
// engine in the first slot. |
@@ -178,6 +188,21 @@ |
MessageLoop::current()->Quit(); |
} |
+views::Widget* FirstRunSearchEngineView::GetWidget() { |
+ return View::GetWidget(); |
+} |
+ |
+const views::Widget* FirstRunSearchEngineView::GetWidget() const { |
+ return View::GetWidget(); |
+} |
+ |
+bool FirstRunSearchEngineView::CanClose() { |
+ // We need a valid search engine to set as default, so if the user tries to |
+ // close the window before the template URL service is loaded, we must prevent |
+ // this from happening. |
+ return fallback_choice_ != NULL; |
+} |
+ |
void FirstRunSearchEngineView::ButtonPressed(views::Button* sender, |
const views::Event& event) { |
ChooseSearchEngine(static_cast<SearchEngineChoice*>(sender)); |
@@ -477,7 +502,7 @@ |
void FirstRunSearchEngineView::ChooseSearchEngine(SearchEngineChoice* choice) { |
user_chosen_engine_ = true; |
- DCHECK(template_url_service_); |
+ DCHECK(choice && template_url_service_); |
template_url_service_->SetSearchEngineDialogSlot(choice->slot()); |
const TemplateURL* default_search = choice->GetSearchEngine(); |
if (default_search) |