Index: base/files/file_path_watcher_browsertest.cc |
diff --git a/base/files/file_path_watcher_browsertest.cc b/base/files/file_path_watcher_browsertest.cc |
index f48a3b414625cfd7ba147866668ac8470c07f963..f0f789a9f04e59a072f954f5cf4f1eac568410f2 100644 |
--- a/base/files/file_path_watcher_browsertest.cc |
+++ b/base/files/file_path_watcher_browsertest.cc |
@@ -72,7 +72,7 @@ class NotificationCollector |
// Check whether all delegates have been signaled. |
if (signaled_ == delegates_) |
- loop_->PostTask(FROM_HERE, new MessageLoop::QuitTask()); |
+ loop_->PostTask(FROM_HERE, MessageLoop::QuitClosure()); |
} |
// Set of registered delegates. |
@@ -113,34 +113,14 @@ class TestDelegate : public FilePathWatcher::Delegate { |
DISALLOW_COPY_AND_ASSIGN(TestDelegate); |
}; |
-// A helper class for setting up watches on the file thread. |
-class SetupWatchTask : public Task { |
- public: |
- SetupWatchTask(const FilePath& target, |
- FilePathWatcher* watcher, |
- FilePathWatcher::Delegate* delegate, |
- bool* result, |
- base::WaitableEvent* completion) |
- : target_(target), |
- watcher_(watcher), |
- delegate_(delegate), |
- result_(result), |
- completion_(completion) {} |
- |
- void Run() { |
- *result_ = watcher_->Watch(target_, delegate_); |
- completion_->Signal(); |
- } |
- |
- private: |
- const FilePath target_; |
- FilePathWatcher* watcher_; |
- FilePathWatcher::Delegate* delegate_; |
- bool* result_; |
- base::WaitableEvent* completion_; |
- |
- DISALLOW_COPY_AND_ASSIGN(SetupWatchTask); |
-}; |
+void SetupWatchCallback(const FilePath& target, |
+ FilePathWatcher* watcher, |
+ FilePathWatcher::Delegate* delegate, |
+ bool* result, |
+ base::WaitableEvent* completion) { |
+ *result = watcher->Watch(target, delegate); |
+ completion->Signal(); |
+} |
class FilePathWatcherTest : public testing::Test { |
public: |
@@ -182,12 +162,10 @@ class FilePathWatcherTest : public testing::Test { |
FilePathWatcher::Delegate* delegate) WARN_UNUSED_RESULT { |
base::WaitableEvent completion(false, false); |
bool result; |
- file_thread_.message_loop_proxy()->PostTask(FROM_HERE, |
- new SetupWatchTask(target, |
- watcher, |
- delegate, |
- &result, |
- &completion)); |
+ file_thread_.message_loop_proxy()->PostTask( |
+ FROM_HERE, |
+ base::Bind(SetupWatchCallback, target, watcher, |
+ make_scoped_refptr(delegate), &result, &completion)); |
completion.Wait(); |
return result; |
} |
@@ -266,7 +244,7 @@ class Deleter : public FilePathWatcher::Delegate { |
virtual void OnFilePathChanged(const FilePath& path) { |
watcher_.reset(); |
- loop_->PostTask(FROM_HERE, new MessageLoop::QuitTask()); |
+ loop_->PostTask(FROM_HERE, MessageLoop::QuitClosure()); |
} |
scoped_ptr<FilePathWatcher> watcher_; |
@@ -778,7 +756,7 @@ TEST_F(FilePathWatcherTest, DirAttributesChanged) { |
// to access the file. |
ASSERT_TRUE(ChangeFilePermissions(test_dir1, Read, false)); |
loop_.PostDelayedTask(FROM_HERE, |
- new MessageLoop::QuitTask, |
+ MessageLoop::QuitClosure(), |
TestTimeouts::tiny_timeout_ms()); |
ASSERT_FALSE(WaitForEvents()); |
ASSERT_TRUE(ChangeFilePermissions(test_dir1, Read, true)); |