Index: content/browser/font_list_async.cc |
=================================================================== |
--- content/browser/font_list_async.cc (revision 0) |
+++ content/browser/font_list_async.cc (revision 0) |
@@ -0,0 +1,51 @@ |
+// Copyright (c) 2011 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 "content/browser/font_list_async.h" |
+ |
+#include "base/bind.h" |
+#include "base/values.h" |
+#include "content/browser/browser_thread.h" |
+#include "content/common/font_list.h" |
+ |
+namespace content { |
+ |
+namespace { |
+ |
+// Just executes the given callback with the parameter. |
+void ReturnFontListToOriginalThread( |
+ const base::Callback<void(scoped_refptr<FontListResult>)>& callback, |
+ scoped_refptr<FontListResult> result) { |
+ callback.Run(result); |
+} |
+ |
+void GetFontListOnBackgroundThread( |
viettrungluu
2011/05/18 20:21:18
Maybe you should be more specific and s/Background
|
+ BrowserThread::ID calling_thread_id, |
+ const base::Callback<void(scoped_refptr<FontListResult>)>& callback) { |
+ scoped_refptr<FontListResult> result(new FontListResult); |
+ result->list.reset(GetFontList_SlowBlocking()); |
+ BrowserThread::PostTask(calling_thread_id, FROM_HERE, |
+ base::Bind(&ReturnFontListToOriginalThread, callback, result)); |
+} |
+ |
+} // namespace |
+ |
+FontListResult::FontListResult() { |
+} |
+ |
+FontListResult::~FontListResult() { |
+} |
+ |
+void GetFontListAsync( |
+ const base::Callback<void(scoped_refptr<FontListResult>)>& callback) { |
+ BrowserThread::ID id; |
+ bool well_known_thread = BrowserThread::GetCurrentThreadIdentifier(&id); |
viettrungluu
2011/05/18 20:21:18
Is it true that all threads with IDs run message l
brettw
2011/05/18 21:14:38
Should be.
|
+ DCHECK(well_known_thread) |
+ << "Can only call GetFontList from a well-known thread"; |
viettrungluu
2011/05/18 20:21:18
Does the message deserve punctuation?
|
+ |
+ BrowserThread::PostTask(BrowserThread::FILE, FROM_HERE, |
+ base::Bind(&GetFontListOnBackgroundThread, id, callback)); |
+} |
+ |
+} // namespace content |
Property changes on: content/browser/font_list_async.cc |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |