| Index: chrome/browser/cocoa/search_engine_dialog_controller.mm
|
| ===================================================================
|
| --- chrome/browser/cocoa/search_engine_dialog_controller.mm (revision 64306)
|
| +++ chrome/browser/cocoa/search_engine_dialog_controller.mm (working copy)
|
| @@ -40,7 +40,9 @@
|
| - (IBAction)searchEngineSelected:(id)sender;
|
| @end
|
|
|
| -class SearchEngineDialogControllerBridge : public TemplateURLModelObserver {
|
| +class SearchEngineDialogControllerBridge :
|
| + public base::RefCounted<SearchEngineDialogControllerBridge>,
|
| + public TemplateURLModelObserver {
|
| public:
|
| SearchEngineDialogControllerBridge(SearchEngineDialogController* controller);
|
|
|
| @@ -71,7 +73,7 @@
|
| ofType:@"nib"];
|
| self = [super initWithWindowNibPath:nibpath owner:self];
|
| if (self != nil) {
|
| - bridge_.reset(new SearchEngineDialogControllerBridge(self));
|
| + bridge_ = new SearchEngineDialogControllerBridge(self);
|
| }
|
| return self;
|
| }
|
| @@ -85,11 +87,15 @@
|
| searchEnginesModel_->AddObserver(bridge_.get());
|
|
|
| if (searchEnginesModel_->loaded()) {
|
| - [self onTemplateURLModelChanged];
|
| + MessageLoop::current()->PostTask(
|
| + FROM_HERE,
|
| + NewRunnableMethod(
|
| + bridge_.get(),
|
| + &SearchEngineDialogControllerBridge::OnTemplateURLModelChanged));
|
| } else {
|
| searchEnginesModel_->Load();
|
| - MessageLoop::current()->Run();
|
| }
|
| + MessageLoop::current()->Run();
|
| }
|
|
|
| - (void)onTemplateURLModelChanged {
|
|
|