0
Commit Graph

29 Commits

Author SHA1 Message Date
ajwong@chromium.org
01c86ece02 Remove the rest of #pragma once in one big CL.
For context see this thread:
  https://groups.google.com/a/chromium.org/forum/?fromgroups#!topic/chromium-dev/RMcVNGjB4II

TBR=thakis,pkasting,jam

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146163 0039d316-1c4b-4281-b951-d872f2087c98
2012-07-11 19:01:43 +00:00
akalin@chromium.org
6b28d9469f Make new TaskRunner, SequencedTaskRunner, and SingleThreadTaskRunner interfaces
TaskRunner just has Post{,Delayed}Task(), SequencedTaskRunner
extends Executor to have ordering guarantees and PostNonNestable{,Delayed}Task(), and SingleThreadTaskRunner extends SequencedTaskRunner and guarantees execution on a single thread.

Move a bunch of methods from MessageLoopProxy into the TaskRunner classes and make it inherit from SingleThreadTaskRunner.

BUG=110973
TEST=

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

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121999 0039d316-1c4b-4281-b951-d872f2087c98
2012-02-15 01:43:19 +00:00
ajwong@chromium.org
c694427c13 Remove task.h and finish base::Bind() migration.
Over 341 CLs, in ~3 months, touching 3251 unique files!

Top 5 most CLs:
(121) jhawkins
( 45)   dcheng
( 24)  achuith
( 23)    csilv
( 12)  tfarina
( 12)    groby

~1000 files touched:
(918) jhawkins

100+ files touched:
(486)   ajwong
(385) willchan
(372)   dcheng
(126)    csilv
(123) fischman
(112)  sergeyu

49+ files touched:
(65)   tfarina
(57)  acolwell
(52)     adamk
(49)      tzik

BUG=35223
TEST=existing

Review URL: http://codereview.chromium.org/9114020

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116748 0039d316-1c4b-4281-b951-d872f2087c98
2012-01-06 22:12:28 +00:00
jhawkins@chromium.org
e7b3a61984 base::Bind: Remove Task.
BUG=none
TEST=none
R=awong

Review URL: http://codereview.chromium.org/9086002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116439 0039d316-1c4b-4281-b951-d872f2087c98
2012-01-05 02:18:18 +00:00
dcheng@chromium.org
c29985edad Convert various ReleaseSoon methods to use base::Bind()
BUG=none
TEST=none
TBR=brettw,atwilson

Review URL: http://codereview.chromium.org/9022034

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116030 0039d316-1c4b-4281-b951-d872f2087c98
2011-12-30 06:46:30 +00:00
dcheng@chromium.org
b1d1832821 Replace MessageLoop::DeleteSoon implementation with one that uses base::Bind.
BUG=none
TEST=none
TBR=willchan,brettw,tony

Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=115997

Review URL: http://codereview.chromium.org/9004051

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@116026 0039d316-1c4b-4281-b951-d872f2087c98
2011-12-30 04:32:58 +00:00
dcheng@chromium.org
4abe061521 Revert 115997 - Replace MessageLoop::DeleteSoon implementation with one that uses base::Bind.
BUG=none
TEST=none
TBR=willchan,brettw,tony

Review URL: http://codereview.chromium.org/9004051

TBR=dcheng@chromium.org
Review URL: http://codereview.chromium.org/9034029

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115999 0039d316-1c4b-4281-b951-d872f2087c98
2011-12-29 23:13:03 +00:00
dcheng@chromium.org
b2414ca78f Replace MessageLoop::DeleteSoon implementation with one that uses base::Bind.
BUG=none
TEST=none
TBR=willchan,brettw,tony

Review URL: http://codereview.chromium.org/9004051

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115997 0039d316-1c4b-4281-b951-d872f2087c98
2011-12-29 22:51:17 +00:00
erikwright@chromium.org
2d7156624c callback_forward.h forward-declares base::Callback and base::Closure.
This CL includes callback_forward.h and a number of files that depend on it. Other CLs have been sent to other reviewers, according to OWNERS files. This search shows the other CLs: http://goo.gl/vzQoJ

See this chromium-dev thread for the rationale behind the change: http://goo.gl/I3kob

BUG=None
TEST=Compiles


Review URL: http://codereview.chromium.org/8702019

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@111782 0039d316-1c4b-4281-b951-d872f2087c98
2011-11-28 22:00:29 +00:00
ajwong@chromium.org
c62dd9d42b Delete Tracked, and move Location to its own file.
The Birth/Death tracking of tasks has been moved out-of-band into MessageLoop's PendingTask structure.

Thus, Task no longer needs to inherit from Tracked. Since Task was the only child of Tracked, delete the Tracked class and move Location to its own file.

BUG=none
TEST=builds

Review URL: http://codereview.chromium.org/7879006

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@102132 0039d316-1c4b-4281-b951-d872f2087c98
2011-09-21 18:05:41 +00:00
willchan@chromium.org
86863be629 Fix comment for PostTaskAndReply().
BUG=none
TEST=none


Review URL: http://codereview.chromium.org/7922015

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101598 0039d316-1c4b-4281-b951-d872f2087c98
2011-09-16 23:16:04 +00:00
ajwong@chromium.org
c31af70db2 Implementation of PostTaskAndReply() in MessageLoopProxy and BrowserThread.
This ensures that the request/reply closures are always deleted on the origin
thread, or leaked if the task cannot be completed (due to message loop
shutdown).

BUG=86301
TEST=new unittests

Review URL: http://codereview.chromium.org/7210053

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97387 0039d316-1c4b-4281-b951-d872f2087c98
2011-08-18 23:13:01 +00:00
nduca@chromium.org
edd685f15d Add MessageLoopProxy::current
Review URL: http://codereview.chromium.org/7583053

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@96819 0039d316-1c4b-4281-b951-d872f2087c98
2011-08-15 20:33:46 +00:00
darin@chromium.org
0bea725483 Rename BASE_API to BASE_EXPORT.
R=rvargas
Review URL: http://codereview.chromium.org/7461141

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@95618 0039d316-1c4b-4281-b951-d872f2087c98
2011-08-05 15:34:00 +00:00
ajwong@chromium.org
180c85e3e3 Support Closure in ALL the loops!
Add an overload for PostTask into MessageLoopProxy, and WorkerPool.

BUG=35223
TEST=unittests.


Review URL: http://codereview.chromium.org/7316015

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@94129 0039d316-1c4b-4281-b951-d872f2087c98
2011-07-26 18:25:16 +00:00
joth@chromium.org
1f7a805289 Clarify documentation about when a task may fail to post to a message loop
BUG=None
TEST=still builds...

Review URL: http://codereview.chromium.org/6812016

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80794 0039d316-1c4b-4281-b951-d872f2087c98
2011-04-07 16:37:34 +00:00
levin@chromium.org
3b63f8f451 Move some files from base to base/memory.
raw_scoped_refptr_mismatch_checker.h
ref_counted.cc
ref_counted.h
ref_counted_memory.cc
ref_counted_memory.h
ref_counted_unittest.cc
scoped_callback_factory.h
scoped_comptr_win.h
scoped_handle.h
scoped_native_library.cc
scoped_native_library.h
scoped_native_library_unittest.cc
scoped_nsobject.h
scoped_open_process.h
scoped_ptr.h
scoped_ptr_unittest.cc
scoped_temp_dir.cc
scoped_temp_dir.h
scoped_temp_dir_unittest.cc
scoped_vector.h
singleton.h
singleton_objc.h
singleton_unittest.cc
linked_ptr.h
linked_ptr_unittest.cc
weak_ptr.cc
weak_ptr.h
weak_ptr_unittest.cc

BUG=None
TEST=Compile

Review URL: http://codereview.chromium.org/6714032

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79524 0039d316-1c4b-4281-b951-d872f2087c98
2011-03-28 01:54:15 +00:00
rvargas@google.com
26fbf80ccd Base: A few more files using BASE_API (for base.dll)
BUG=76996
TEST=none
Review URL: http://codereview.chromium.org/6736019

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79427 0039d316-1c4b-4281-b951-d872f2087c98
2011-03-25 18:48:03 +00:00
willchan@chromium.org
db23c96e6b Fix shutdown crash in CertVerifier by using a MessageLoopProxy.
The CertVerifier is not getting Cancel()'d because something which owns it is getting leaked, most likely a URLRequestJob.  Therefore, we can end up accessing a deleted MessageLoop on shutdown.  MessageLoopProxy prevents accessing a deleted MessageLoop on shutdown, instead it just deletes the task, which isn't great, but it's better than crashing.  We should fix the root cause eventually, which is a leak of the URLRequestJob.

BUG=42275,chromium-os:8179
TEST=none

Review URL: http://codereview.chromium.org/5347001

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67172 0039d316-1c4b-4281-b951-d872f2087c98
2010-11-23 22:42:14 +00:00
mpcomplete@chromium.org
00ed48fe2d Revert "Revert "Const-ify RefCountedThreadSafe::AddRef and Release.""
chrome_frame failed to compile last time. I needed to add a "mutable" to a
member variable in chrome_frame/metrics_service.cc.

Review URL: http://codereview.chromium.org/3971004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63574 0039d316-1c4b-4281-b951-d872f2087c98
2010-10-22 22:19:24 +00:00
levin@chromium.org
4b4172299b Revert "Const-ify RefCountedThreadSafe::AddRef and Release."
This reverts commit b7ce919957536ceb0cfac1709bc779fd086b6ce8.

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63459 0039d316-1c4b-4281-b951-d872f2087c98
2010-10-22 00:48:15 +00:00
mpcomplete@chromium.org
a571d3d393 Const-ify RefCountedThreadSafe::AddRef and Release.
Review URL: http://codereview.chromium.org/3869003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63457 0039d316-1c4b-4281-b951-d872f2087c98
2010-10-22 00:19:18 +00:00
agl@chromium.org
d6b0712cf9 base: comment fixes only
TEST=none
BUG=none

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@62144 0039d316-1c4b-4281-b951-d872f2087c98
2010-10-11 14:52:40 +00:00
erg@google.com
d4799a3bf7 FBTF: Moves code to the headers.
One of the big things is starting to move/declare ctors/dtors that derive from RefCounted<> to/in the implementation file.

(Saves 4 megabytes from libglue.a alone. 1 meg off libbrowser.a. Hundred of kilobyte savings in a large number of .a files; only libmedia.a grew and it's only 100k.)

BUG=none
TEST=compiles

Review URL: http://codereview.chromium.org/3452030

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@60863 0039d316-1c4b-4281-b951-d872f2087c98
2010-09-28 22:54:58 +00:00
thakis@chromium.org
32b76eff6f #pragma once for app, base, chrome, gfx, ipc, net, skia, views
BUG=50273
TEST=everything still builds, build is 10% faster on windows, same speed on mac/linux

TBR: erg

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@53716 0039d316-1c4b-4281-b951-d872f2087c98
2010-07-26 23:08:24 +00:00
jar@chromium.org
dfabc13bc1 Add virtual to some base classes that have virtual methods
This is defensive coding to avoid memory leaks.

bug=47469
r=wtc
Review URL: http://codereview.chromium.org/2869024

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@50907 0039d316-1c4b-4281-b951-d872f2087c98
2010-06-25 23:20:29 +00:00
sanjeevr@chromium.org
656475d275 Created a stock implementation of the MessageLoopProxy interface than can be used to create an implementation that targets the current thread's message loop.
BUG=None
TEST=Unit tests provided.

Review URL: http://codereview.chromium.org/1837003

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46591 0039d316-1c4b-4281-b951-d872f2087c98
2010-05-06 18:34:24 +00:00
sanjeevr@chromium.org
83a7d2eb24 Changed UrlFetcher to use a MessageLoopProxy instead of directly relying on ChromeThread. This will allow us to make UrlFetcher independent of ChromeThread and we can then move it to chrome/common.
BUG=None
TEST=UrlFetcher unit-tests

Review URL: http://codereview.chromium.org/1702016

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@46282 0039d316-1c4b-4281-b951-d872f2087c98
2010-05-03 21:46:19 +00:00
sanjeevr@chromium.org
2cbac9eb5b Created a MessageLoopProxy interface. This provides a thread-safe refcounted interface to the Post* methods
of a message loop. This class can outlive the target message loop. Changed ChromeThread to vend an implementation of this proxy.
BUG=None
TEST=ChromeThread unit-tests modified.

Review URL: http://codereview.chromium.org/1800008

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45907 0039d316-1c4b-4281-b951-d872f2087c98
2010-04-29 03:31:34 +00:00