Chromium Code Reviews| 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 |