Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(438)

Unified Diff: content/browser/font_list_async.cc

Issue 7044012: Support getting the font list in Pepper. This currently only works out of (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698