Invoke close callback after itemSelected runs
This commit is contained in:
parent
d0b07d5c36
commit
211bedf910
1 changed files with 7 additions and 1 deletions
|
@ -12,9 +12,12 @@
|
|||
#include "ui/base/accelerators/accelerator.h"
|
||||
#include "ui/base/accelerators/platform_accelerator_cocoa.h"
|
||||
#include "ui/base/l10n/l10n_util_mac.h"
|
||||
#include "content/public/browser/browser_thread.h"
|
||||
#include "ui/events/cocoa/cocoa_event_utils.h"
|
||||
#include "ui/gfx/image/image.h"
|
||||
|
||||
using content::BrowserThread;
|
||||
|
||||
namespace {
|
||||
|
||||
struct Role {
|
||||
|
@ -271,8 +274,11 @@ Role kRolesMap[] = {
|
|||
if (isMenuOpen_) {
|
||||
isMenuOpen_ = NO;
|
||||
model_->MenuWillClose();
|
||||
|
||||
// Post async task so that itemSelected runs before the close callback
|
||||
// deletes the controller from the map which deallocates it
|
||||
if (!closeCallback.is_null())
|
||||
closeCallback.Run();
|
||||
BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, closeCallback);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue