Create LibDispatchTaskRunner, a SingleThreadTaskRunner that is backed by a libdispatch queue.

This task runner is meant to be used when an object needs to live on a single
thread but needs to both post tasks and receive callbacks via a dispatch queue.

BUG=158170
TEST=Covered by new unit test.


Review URL: https://chromiumcodereview.appspot.com/11464009

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171718 0039d316-1c4b-4281-b951-d872f2087c98


CrOS-Libchrome-Original-Commit: 3bb6472100f89924f9fb6a4f794a06539e3bfc35
diff --git a/base/base.gyp b/base/base.gyp
index 53c974c..f2e3288 100644
--- a/base/base.gyp
+++ b/base/base.gyp
@@ -464,6 +464,7 @@
         'logging_unittest.cc',
         'mac/bind_objc_block_unittest.mm',
         'mac/foundation_util_unittest.mm',
+        'mac/libdispatch_task_runner_unittest.cc',
         'mac/mac_util_unittest.mm',
         'mac/objc_property_releaser_unittest.mm',
         'mac/scoped_sending_event_unittest.mm',