summaryrefslogtreecommitdiffstats
path: root/base
Commit message (Collapse)AuthorAgeFilesLines
* fix builddarin@google.com2008-08-041-1/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@324 0039d316-1c4b-4281-b951-d872f2087c98
* Revise the ObjectWatcher API to be one-to-one with the object being watched. ↵darin@google.com2008-08-045-157/+126
| | | | | | | | | | | | This greatly simplifies the implementation and API. Now consumers can use ObjectWatcher as a "smart pointer" class, which automatically cleans-up after itself when it goes out of scope. I also switched away from the Task based API to one that is more compatible with MessageLoop::WatchObject. That allows me to make minimal changes to existing code, and it also means that consumers do not have to allocate Task objects to use this API. In this CL, I included changes to make a couple consumers use ObjectWatcher instead of ML::WatchObject. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@322 0039d316-1c4b-4281-b951-d872f2087c98
* Fix gcc/msvc differencespinkerton@google.com2008-08-041-2/+3
| | | | | | Review URL: http://chrome-reviews.prom.corp.google.com/1104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@321 0039d316-1c4b-4281-b951-d872f2087c98
* Fix missing comma new string_piece.cc file.sgk@google.com2008-08-041-1/+1
| | | | | | TBR: deanm git-svn-id: svn://svn.chromium.org/chrome/trunk/src@316 0039d316-1c4b-4281-b951-d872f2087c98
* Remove incorrect scoping on method declarations.deanm@google.com2008-08-041-4/+4
| | | | | | TBR=evanm git-svn-id: svn://svn.chromium.org/chrome/trunk/src@314 0039d316-1c4b-4281-b951-d872f2087c98
* Add StringPiece to the scons build.deanm@google.com2008-08-041-0/+2
| | | | | | TBR=sgk git-svn-id: svn://svn.chromium.org/chrome/trunk/src@313 0039d316-1c4b-4281-b951-d872f2087c98
* Pull the block of common Windows system libraries that we link with ↵sgk@google.com2008-08-041-21/+0
| | | | | | | | everywhere into the base Windows environment. TBR: evanm,bradnelson git-svn-id: svn://svn.chromium.org/chrome/trunk/src@310 0039d316-1c4b-4281-b951-d872f2087c98
* Convert submodules SConscript files to psuedo-builder calls.sgk@google.com2008-08-032-5/+5
| | | | | | | | TBR: evanm,bradnelson git-svn-id: svn://svn.chromium.org/chrome/trunk/src@304 0039d316-1c4b-4281-b951-d872f2087c98
* Rollback message loop testjar@google.com2008-08-033-21/+18
| | | | | | TBR git-svn-id: svn://svn.chromium.org/chrome/trunk/src@299 0039d316-1c4b-4281-b951-d872f2087c98
* This is a test, and will rollback asap after a build/test cycle starts.jar@google.com2008-08-033-18/+21
| | | | | | | | | | I use a counter of MessageLoop::Quit() calls so that I can re-post "extra" calls when MessageLoop::Run() terminates. This assures that no quits are lost... but I'm not sure if some code abused the Quit() calls, and already posts many-too-many quits :-/. I want to see if the tree tests go red, and how the distributed reliability test responds. The test should already pass the basic unit_test and base_unittest, but I'm not sure what the rest of the UI tests etc will do. If I'm lucky, they'll be "less" flakey. ...but they may just go red all over :-( TBR git-svn-id: svn://svn.chromium.org/chrome/trunk/src@298 0039d316-1c4b-4281-b951-d872f2087c98
* Call ResetBirthTime before dispatching the user's Task. Also, remove ↵darin@google.com2008-08-023-13/+1
| | | | | | | | PostSignaledTask since it won't be used. TBR=jar git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289 0039d316-1c4b-4281-b951-d872f2087c98
* I think this is the crashercpu@google.com2008-08-021-1/+2
| | | | | | | | | - I want to test this on the bots. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@271 0039d316-1c4b-4281-b951-d872f2087c98
* Include trivial definition of method in release mode (where we don't do ↵jar@google.com2008-08-011-0/+1
| | | | | | | | | | | | | tracking) Repair tree bustage TBR=darin M base/tracked.cc git-svn-id: svn://svn.chromium.org/chrome/trunk/src@266 0039d316-1c4b-4281-b951-d872f2087c98
* A new (private) interface is supplied that allows the object watcher (coding injar@google.com2008-08-014-3/+35
| | | | | | | | | | | | | | | | | | | | | proress by Darin) to Post the task (when the object is signaled) into a message loop. I also cleaned up the time-of-birth for tasks that sleep for a while before running (such as those held by the timer, or by passed to this new PostSignaledTask() interface. r=darin M base/tracked.cc M base/message_loop.h M base/message_loop.cc M base/tracked.h git-svn-id: svn://svn.chromium.org/chrome/trunk/src@262 0039d316-1c4b-4281-b951-d872f2087c98
* SCons build:sgk@google.com2008-08-011-0/+2
| | | | | | | | | | | | * Add base\object{,_watcher}.cc. * Add chrome\browser\bookmark_{codec,storage}.cc. * Add chrome\views\frame\browser_window_factory.cc. * Split of app\main.cc into app\chrome_{dll,exe}_main.cc, with added CPPDEFINES for {BROWSER,RENDERER,PLUGIN}_DLL. * Move $CSCRIPT, $PLATFORMSDK* and $VISUAL_STUDIO variables to the win32-specific construction environment. * Remove unnecessary comments. TBR: bradnelson git-svn-id: svn://svn.chromium.org/chrome/trunk/src@261 0039d316-1c4b-4281-b951-d872f2087c98
* A helper class for calling RegisterWaitForSingleObject with the objective of ↵darin@google.com2008-08-015-0/+411
| | | | | | | | | | | | | | | | | | | | finding out when objects get signaled. The API is pretty simple: - consumer can associate a Task with a HANDLE via AddWatch method - when the HANDLE is signaled, we run the Task on the thread that called AddWatch - the consumer can call CancelWatch to abort the watch - a watch is one-shot: after the object is signaled, the consumer has to call AddWatch again to wait a second time - if the ObjectWatcher instance is destroyed, it cancels all associated watches. Implementation details: - Uses RegisterWaitForSingleObject to run a function on the wait thread. This avoids extra thread marshaling to a worker thread. - Uses a Task to get back onto the origin thread. This is possible due to the UnregisterWaitEx(INVALID_HANDLE_VALUE) call. - Once on the origin thread, runs the consumer's Task directly. This is the first part of changes I want to make to MessageLoop::WatchObject. For now, I have not made any changes to existing code. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259 0039d316-1c4b-4281-b951-d872f2087c98
* Update xcodeprojsmmentovai@google.com2008-08-011-354/+940
| | | | | | Review URL: http://chrome-reviews.prom.corp.google.com/996 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@256 0039d316-1c4b-4281-b951-d872f2087c98
* The addition of the AtExitManager test in the singleton dll test makes ↵cpu@google.com2008-08-012-4/+2
| | | | | | | | | | | purify-sub angry. - Not sure what is the issue, purify reports FMM (freeing mismatched memory), but I don't see why. - Don't do the frees inside the dll unload callback directly. TBR=erikkay git-svn-id: svn://svn.chromium.org/chrome/trunk/src@252 0039d316-1c4b-4281-b951-d872f2087c98
* Add new base\at_exit{,_unittest}.cc files to SCons build.sgk@google.com2008-08-011-0/+2
| | | | | | TBR=cpu git-svn-id: svn://svn.chromium.org/chrome/trunk/src@221 0039d316-1c4b-4281-b951-d872f2087c98
* Adds new class AtExitManager which manages the dtors of all singletons.cpu@google.com2008-08-019-40/+302
| | | | | | | | | - Previously this job was done by the CRT's atexit() which runs later than we want and under the loader lock. - Had to modify most main() functions for the testing executables so we don't trigger leak detectors. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@219 0039d316-1c4b-4281-b951-d872f2087c98
* Revert my UTF change until we can figure out what to do with the sandbox.brettw@google.com2008-08-016-316/+121
| | | | | | BUG=1201008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215 0039d316-1c4b-4281-b951-d872f2087c98
* Write our own utf8<->wide conversion functions. This gives us more control ↵brettw@google.com2008-08-016-121/+316
| | | | | | over error handling instead of getting a blank string for invalid encodings. It also allows us to decrease the amount of platform-specific code. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@211 0039d316-1c4b-4281-b951-d872f2087c98
* Support RanAllPending() rather than RunOnce(), and integrated into ↵jar@google.com2008-07-312-16/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ipc_sync_channel. RunOnce() semantics were not sufficient to support the effort to pump messages in ipc_sync_channel, as ipc_sync_channel is not able to detect pending Tasks. This change list switches to RunAllPending() tasks, rather than just Running the items that avail themselves in one run of the loop. This is a very small mod of the existing code. I'm still trying to stay focused on the bug at hand, and minimize chances of unrelated regressions (we only modify IPC channel semantics). The slight semantic change (from original attempts to call Quit() externally and then Run()) is that we now terminate the message loop after also servicing the high-resolution timer tasks. bug=1291034 r=darin M base/message_loop.h M base/message_loop.cc M chrome/common/ipc_sync_channel.cc git-svn-id: svn://svn.chromium.org/chrome/trunk/src@176 0039d316-1c4b-4281-b951-d872f2087c98
* Initial cleanups en route to coalescing the get-it-built cut-and-paste from ↵sgk@google.com2008-07-312-19/+1
| | | | | | | | | | | | | | | | | | various SConscripts into readable and maintainable shape. To wit: * Put the near-universal settings of /DCERT_CHAIN_PARA_HAS_EXTRA_FIELDS, /DWIN32_LEAN_AND_MEAN, /wd4503 and /wd4819 in the base construction environment. * Sort various unsorted source file lists. * Fix indentation and quoting for consistency in a couple SConscript files that escaped previous dragnets. * Eliminate two left-over uses of Split() for input file lists. * Give the devenv invocation to build v8_shell.exe the full path to the relevant .vcproj file. * Add /nologo to the base LINKFLAGS setting. * Remove various CPPPATH and other settings that have been hanging around commented out from the Visual Studio build (in case we needed them, which we evidently don't). * Get rid of unnecessary env.File() and env.Dir() calls in various settings (esp. CPPPATH) and source file lists. * Add copyright notice to an overlooked SConscript file. * Clean up version.bat invocation. TBR: bradnelson git-svn-id: svn://svn.chromium.org/chrome/trunk/src@174 0039d316-1c4b-4281-b951-d872f2087c98
* (Re-landing of) Support RunOnce() in message loop.jar@google.com2008-07-302-44/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | Deeply nested calls to MessageLoop::Run() were made, and a multitude of Quit() messages were handled at the most nested level. This left outer invocations hung, waiting for "their" kQuitMsg to arrive (but the the nested loop had already discarded them in its processing of pending messages before exit :-/ ). We now use a more controlled run of the message loop, which does not rely on kQuitMsg. This re-landing doesn't have the anti-hang assertion, which was breaking a lot of tests. bug=1291034 r=darin,mpcomplete M base/message_loop.h M base/message_loop.cc M chrome/common/ipc_sync_channel.cc git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130 0039d316-1c4b-4281-b951-d872f2087c98
* Use own our bzip2 error handler instead of the default which prints error ↵deanm@google.com2008-07-301-0/+1
| | | | | | | | | messages to STDERR and calls exit(1). This is better, since we will now crash instead of exiting. This also removes some unnecessary code and error strings from bzip2. BUG=1289861 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121 0039d316-1c4b-4281-b951-d872f2087c98
* Use own our bzip2 error handler instead of the default which prints error ↵deanm@google.com2008-07-303-0/+41
| | | | | | | | messages to STDERR and calls exit(1). This is better, since we will now crash instead of exiting. This also removes some unnecessary code and error strings from bzip2. BUG=1289861 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@115 0039d316-1c4b-4281-b951-d872f2087c98
* Fix most issues when building base as a x64 target.maruel@google.com2008-07-308-14/+80
| | | | | | BUG=1282556 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112 0039d316-1c4b-4281-b951-d872f2087c98
* Rollback 109jar@google.com2008-07-302-57/+44
| | | | | | | | | | M base/message_loop.h M base/message_loop.cc M chrome/common/ipc_sync_channel.cc git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110 0039d316-1c4b-4281-b951-d872f2087c98
* M base/message_loop.hjar@google.com2008-07-302-44/+57
| | | | | | | | M base/message_loop.cc M chrome/common/ipc_sync_channel.cc git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109 0039d316-1c4b-4281-b951-d872f2087c98
* Do not use RecycleOrDelete since it is not ready for prime-time.darin@google.com2008-07-305-20/+23
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@100 0039d316-1c4b-4281-b951-d872f2087c98
* Add a flag to JSONReader to allow trailing commas.tc@google.com2008-07-293-85/+185
| | | | | | | | Lots of unittests for this behavior. BUG=1295713 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some issues when building with Visual Studio 2008.maruel@google.com2008-07-281-1/+0
| | | | | | | | | | | | | | Fixed projects that are set as "Application (.exe)" but that don't build an application. Converted then to "Utility". util_prebuild, V8Config and V8Bindings_prebuild. Fixed a template compilation error in message_loop.h Changed PROP_ENTRY to PROP_ENTRY_TYPE since the former is now deprecated. Everything still builds fine on VS2005. BUG=1290595 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@44 0039d316-1c4b-4281-b951-d872f2087c98
* Correct an #endif to have the name in a comment.deanm@google.com2008-07-281-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37 0039d316-1c4b-4281-b951-d872f2087c98
* Add base to the repository.initial.commit2008-07-26371-0/+60061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8 0039d316-1c4b-4281-b951-d872f2087c98