diff options
Diffstat (limited to 'chrome/browser/cocoa/task_helpers.mm')
-rw-r--r-- | chrome/browser/cocoa/task_helpers.mm | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/chrome/browser/cocoa/task_helpers.mm b/chrome/browser/cocoa/task_helpers.mm deleted file mode 100644 index 7cc458b..0000000 --- a/chrome/browser/cocoa/task_helpers.mm +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/cocoa/task_helpers.h" - -#import <Cocoa/Cocoa.h> - -#include "base/scoped_ptr.h" -#include "base/task.h" - -// This is a wrapper for running Task objects from within a native run loop. -// This can run specific tasks in that nested loop. This owns the task and will -// delete it and itself when done. -@interface NativeTaskRunner : NSObject { - @private - scoped_ptr<Task> task_; -} -- (id)initWithTask:(Task*)task; -- (void)runTask; -@end - -@implementation NativeTaskRunner -- (id)initWithTask:(Task*)task { - if ((self = [super init])) { - task_.reset(task); - } - return self; -} - -- (void)runTask { - task_->Run(); - [self autorelease]; -} -@end - -namespace cocoa_utils { - -bool PostTaskInEventTrackingRunLoopMode( - const tracked_objects::Location& from_here, - Task* task) { - // This deletes itself and the task after the task runs. - NativeTaskRunner* runner = [[NativeTaskRunner alloc] initWithTask:task]; - - // Schedule the selector in multiple modes in case this was called while a - // menu was not running. - NSArray* modes = [NSArray arrayWithObjects:NSEventTrackingRunLoopMode, - NSDefaultRunLoopMode, - nil]; - [runner performSelectorOnMainThread:@selector(runTask) - withObject:nil - waitUntilDone:NO - modes:modes]; - return true; -} - -} // namespace cocoa_utils |