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

Side by Side Diff: extensions/browser/api/async_api_function.cc

Issue 257333002: Drive extension functions from ExtensionFunction::Run. The (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase, fix test Created 6 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "extensions/browser/api/async_api_function.h" 5 #include "extensions/browser/api/async_api_function.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "extensions/browser/extension_system.h" 8 #include "extensions/browser/extension_system.h"
9 9
10 using content::BrowserThread; 10 using content::BrowserThread;
11 11
12 namespace extensions { 12 namespace extensions {
13 13
14 // AsyncApiFunction 14 // AsyncApiFunction
15 AsyncApiFunction::AsyncApiFunction() : work_thread_id_(BrowserThread::IO) {} 15 AsyncApiFunction::AsyncApiFunction() : work_thread_id_(BrowserThread::IO) {}
16 16
17 AsyncApiFunction::~AsyncApiFunction() {} 17 AsyncApiFunction::~AsyncApiFunction() {}
18 18
19 bool AsyncApiFunction::RunImpl() { 19 bool AsyncApiFunction::RunAsync() {
20 DCHECK_CURRENTLY_ON(BrowserThread::UI); 20 DCHECK_CURRENTLY_ON(BrowserThread::UI);
21 21
22 if (!PrePrepare() || !Prepare()) { 22 if (!PrePrepare() || !Prepare()) {
23 return false; 23 return false;
24 } 24 }
25 bool rv = BrowserThread::PostTask( 25 bool rv = BrowserThread::PostTask(
26 work_thread_id_, 26 work_thread_id_,
27 FROM_HERE, 27 FROM_HERE,
28 base::Bind(&AsyncApiFunction::WorkOnWorkThread, this)); 28 base::Bind(&AsyncApiFunction::WorkOnWorkThread, this));
29 DCHECK(rv); 29 DCHECK(rv);
(...skipping 29 matching lines...) Expand all
59 "specify a different thread or derive from a different class."; 59 "specify a different thread or derive from a different class.";
60 AsyncWorkStart(); 60 AsyncWorkStart();
61 } 61 }
62 62
63 void AsyncApiFunction::RespondOnUIThread() { 63 void AsyncApiFunction::RespondOnUIThread() {
64 DCHECK_CURRENTLY_ON(BrowserThread::UI); 64 DCHECK_CURRENTLY_ON(BrowserThread::UI);
65 SendResponse(Respond()); 65 SendResponse(Respond());
66 } 66 }
67 67
68 } // namespace extensions 68 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698