| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
string values
BUG=95602
TEST=base_unittests
Review URL: http://codereview.chromium.org/7840017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99882 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Previously it was limitted to functions taling a single void* argument.
Review URL: http://codereview.chromium.org/7831021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99856 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=95274
TEST=none
Review URL: http://codereview.chromium.org/7789007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99826 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
TEST=base_unittests --gtest_filter=JSON*
R=tony@chromium.org
Review URL: http://codereview.chromium.org/7833020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99774 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Occasionally you want to add some static string to a trace, such as the __FILE__ string, but don't want the overhead of a allocation/copy. This change let's you specify those as argument values via a new TraceValue type. You specify const char* types to get the no-copy behavior. std::string types are always copied. To force a const char*, specify TRACE_STR_COPY(str).
TEST=trace_event_unittest.cc
Review URL: http://codereview.chromium.org/7767014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99763 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This is still broken in a variety of ways.
BUG=91561
TEST=updated FilePathWatcher tests and manual testing
Review URL: http://codereview.chromium.org/7583034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99657 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moving towards giving the user feedback when a file system error occurs during a download.
Split from CL 7134019.
rdsmith: downloads
phajdan.jr: downloads, base
wtc: net
brettw: base
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/7778003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99579 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added the ability for free lists to be built out of doubly-linked lists in tcalloc. TCMALLOC_USE_DOUBLYLINKED_FREELIST flag must be set in order for doubly-linked lists to be used.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/7671034
TBR=bxx@chromium.org
Review URL: http://codereview.chromium.org/7834009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99520 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
Added the ability for free lists to be built out of doubly-linked lists in tcalloc. TCMALLOC_USE_DOUBLYLINKED_FREELIST flag must be set in order for doubly-linked lists to be used.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/7671034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99515 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
with or without Autofill.
BUG=none
TEST=unit_tests --gtest_filter=AutofillMetricsTest.*
Review URL: http://codereview.chromium.org/7740070
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99447 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Split from CL 7134019.
brettw: base.
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/7740081
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99416 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
original CL w/LGTMs: http://codereview.chromium.org/7812036/
Review URL: http://codereview.chromium.org/7824041
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99409 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
so the original code that created the delayed callback is lost."
This reverts commit 4cf5cf73d319b69c32ad30af8954235755856455. (r99284)
TBR=jbates@chromium.org
Review URL: http://codereview.chromium.org/7825026
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99290 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
the original code that created the delayed callback is lost.
This change adds a tracked_objects::Location parameter to the APIs in base/timer.h so we can trace the PostTask callbacks. The other files are touched to add the FROM_HERE Location parameter.
Review URL: http://codereview.chromium.org/7812036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99284 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
effort read of the requested data, and add another
function (ReadPlatformFileNoBestEffort) that just
forwards the call to the OS.
Now ReadPlatformFile and WritePlatformFile behave
the same way.
BUG=none
TEST=base_unittests
Review URL: http://codereview.chromium.org/7821013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99264 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
child doesn't try to check in with the Mach broker before the parent is ready.
This resolves a race between the browser and its child processes.
base::LaunchOptions gets a new member, synchronize, currently Mac-only
although there's nothing Mac-specific about the implementation. When set,
it allows base::LaunchProcess clients to request that the child process block
until released by the new base::LaunchSynchronize call. When creating child
processes, the child process launcher now requests this new synchronization
behavior to give it a chance to set up the Mach broker to expect the child
before the child tries to check in with it.
BUG=94295
TEST=Chrome should work. You see fewer of this logged:
Unknown process (pid) is sending Mach IPC messages!
But you still might see some of these due to bug 94543.
Review URL: http://codereview.chromium.org/7740036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99245 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Any file which uses <iostream> gains a static initializer, which is both
disallowed by our style guide and also harms startup performance.
Note that Chrome's logging.h uses <ostream> (note missing "i"), which includes
the << operators for logging but does *not* use cin/cout. This is fine.
BUG=94794
Review URL: http://codereview.chromium.org/7811002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99237 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=95058
TEST=none
Review URL: http://codereview.chromium.org/7792062
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99207 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Convert kInvalidToken to a static function in Token class called CreateInvalidToken().
This should get rid of the problem with the static initialization.
BUG=94925
TEST=base_unittests --gtest_filter=JSON*
R=tony@chromium.org
Review URL: http://codereview.chromium.org/7756022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99200 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This confuses a few unit tests, so add some machinery to disable the feature in tests and do so in the tests that need it.
BUG=61140,575
TEST=Go to en.wikipedia.org, hit space. Scroll should be animated.
Review URL: http://codereview.chromium.org/7693019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99186 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
values to DCHECK(), ASSERT_EQ(), etc.), generally by naming previously-anonymous enums. We've decided not to eliminate the warning entirely because doing so is only possible with tons of ugly static_cast<>()s in Mac code.
BUG=92247
TEST=Compiles
Review URL: http://codereview.chromium.org/7605019
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99086 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7812009
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99057 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
This is in preparation for moving the code in ChromeMain (and associated platform files) to a common place that can be used by both chrome and other embedders of content (i.e. content_shell). Included is a change to make the sandbox code not need an AtExitManager. This is necessary because content_shell would be just one exe, and we'd need to initialize the sandbox before calling ChromeMain, which is what would creat AtExitManager.I removed the code that printed the tcmalloc stacks in the OOM handler (i.e. r33993) under Windows. The issue is I wanted to move the OOM handling code to base to match the other platforms (in a long string of changes to make the startup code more sane, so I can share it with a browser built over content). When I tried moving the tcmalloc code to base, then I ran into a bunch of linker errors because a bunch of targets that depend on base don't depend on allocator. When I tried to add that to base, I ran into strange gyp errors (see patchset 2). I asked Jim/Eric and they said they don't use this data from dumps, and that most of the OOM minimdumps are in v8 heap anyways. When James get back, if he still uses this I can figure out how to put this back.BUG=90445
Review URL: http://codereview.chromium.org/7810005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99032 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
originally reviewed in http://codereview.chromium.org/7550002 .
Clean up SSL false start blacklist code. Numerous changes, including:
* Handle trailing dots in LastTwoLabels() as in http://codereview.chromium.org/7518035/ . Rename this function to LastTwoComponents() to match the terminology used in the RegistryControlledDomainService and elsewhere in Chrome.
* Since callers are using std::string anyway, make the functions in the header take const std::string& instead of char*. This also allows doing string operations on them.
* Use string operations (like find_last_of()) in place of hand-written algorithms, for brevity, clarity, and safety.
* Avoid "unsigned", which the style guide forbids, and use allowed types like size_t, uint32, or int (depending on the situation).
* Avoid #define and "using".
* Use standard algorithms for similar reasons as using string ops.
* Use file_util functions to significantly abbreviate file reading/writing code.
* Use wmain() (on Windows) in combination with FilePath to avoid issues if the provided pathname has extended characters that don't flatten losslessly to the default codepage (thanks Darin for pointing out this issue).
* Avoid casting where possible. Avoid some casts for printf()-style calls by using a string stream, which also allows for slightly less boilerplate.
* Convert non-error uses of stderr to the chrome-standard VLOG(1).
* Correctly handle hostnames with trailing dots in the input file.
* In general, shorten code where possible.
Because this adds a dependency on base, and ssl_false_start_blacklist_process has the "#host" specifier in net.gyp, bradnelson tells me that base and its dependencies need an explicit "host, target" toolchain list for the Linux builds to work correctly. It would be nice if we could avoid this but I guess gyp would have to be smarter or something.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7804001
TBR=pkasting@chromium.org
Review URL: http://codereview.chromium.org/7778035
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98917 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://codereview.chromium.org/7550002 .
Clean up SSL false start blacklist code. Numerous changes, including:
* Handle trailing dots in LastTwoLabels() as in http://codereview.chromium.org/7518035/ . Rename this function to LastTwoComponents() to match the terminology used in the RegistryControlledDomainService and elsewhere in Chrome.
* Since callers are using std::string anyway, make the functions in the header take const std::string& instead of char*. This also allows doing string operations on them.
* Use string operations (like find_last_of()) in place of hand-written algorithms, for brevity, clarity, and safety.
* Avoid "unsigned", which the style guide forbids, and use allowed types like size_t, uint32, or int (depending on the situation).
* Avoid #define and "using".
* Use standard algorithms for similar reasons as using string ops.
* Use file_util functions to significantly abbreviate file reading/writing code.
* Use wmain() (on Windows) in combination with FilePath to avoid issues if the provided pathname has extended characters that don't flatten losslessly to the default codepage (thanks Darin for pointing out this issue).
* Avoid casting where possible. Avoid some casts for printf()-style calls by using a string stream, which also allows for slightly less boilerplate.
* Convert non-error uses of stderr to the chrome-standard VLOG(1).
* Correctly handle hostnames with trailing dots in the input file.
* In general, shorten code where possible.
Because this adds a dependency on base, and ssl_false_start_blacklist_process has the "#host" specifier in net.gyp, bradnelson tells me that base and its dependencies need an explicit "host, target" toolchain list for the Linux builds to work correctly. It would be nice if we could avoid this but I guess gyp would have to be smarter or something.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7804001
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98885 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Logs a subset of the stack backtrace from the point of -dealloc into a
breakpad key to help debug messages to CrZombie objects. This
productionizes the basic approach taken to debug a few recent zombie
object crashes.
BUG=none
TEST=monitor crash server.
Review URL: http://codereview.chromium.org/7766013
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98858 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The issue seems to be fixed as the ctor of JSONReader is public and there is
a public static Read() function.
BUG=None
TEST=None
R=aa@chromium.org,tony@chromium.org
Review URL: http://codereview.chromium.org/7794003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98854 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7806006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98774 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Conceptually, the function to call is known at compile time.
There is no reason to save it into a static variable. It turns out
doing causes the compiler to emit a static initializer to track whether
free_ has been initialized.
This change removes static initializers from eight .o files on my local
Release build.
BUG=87171
Review URL: http://codereview.chromium.org/7795008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98718 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=
TEST=
Review URL: http://codereview.chromium.org/7741032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98638 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
properly in release builds.
Similarly disable optimizations in npobject_stub.cc so base::debug::StackTrace() can recognize more frames (This last de-optimization is only temporary, whereas the change to base::debug::StackTrace is intended to be permanent).
BUG=94179
Review URL: http://codereview.chromium.org/7763008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98542 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
the OS writes less than expected (for POSIX).
BUG=94161
TEST=none
Review URL: http://codereview.chromium.org/7745008
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98497 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and destruction on a thread other than the one where the original
reference was created.
The problem with the current implementation is modifying the flag pointer
from WeakPtr::~WeakPtr which might happen on a different thread (potentially
racing with somebody invalidating the flag on the original thread).
For compatibility reasons, creating the initial reference attaches to the
thread and governs the thread-safety checking logic with respect to checking
a reference to be valid and invalidating it, which should both only be done
on the same thread.
BUG=82509
TEST=added unit tests
Added memleak suppression: http://crbug.com/94345
TBR=timurrrr@chromium.org
Review URL: http://codereview.chromium.org/7677028
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98443 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=
TEST=
Review URL: http://codereview.chromium.org/7701014
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98432 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/7753021
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98431 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/7741018
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98417 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reverts:
98223: base: Add AsList() function to Value API.
98266: base: Add AsBinary() function to Value API.
There are two issues with these commits:
1. libcros uses base::Value to pass data to Chrome. It includes values.h from libchrome which contains its own copy. This is a terrible design flaw in libcros and is being addressed (http://crosbug.com/19576), however we need some time to address this before we can make these changes without breaking Chrome on ChromeOS.
2. AsList() and AsBinary() should be const. The fact that they were not const caused re-factoring that changed const Value& input arguments to Value*, which is against the spec. When we re-introduce this, these members should be made const.
BUG=chromium-os:19604
TEST=Check bots + ChromeOS autotests
Review URL: http://codereview.chromium.org/7753020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98378 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/7698005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98337 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
This will make it easier to choose the right timeout.
BUG=none
Review URL: http://codereview.chromium.org/7744031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98273 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function should simplify some constructions.
Instead of:
if (!value->IsType(Value::TYPE_BINARY))
return false;
BinaryValue* binary_value = static_cast<BinaryValue*>(value);
You can do:
BinaryValue* binary_value = value->AsBinary();
if (!binary_value)
return false;
BUG=None
TEST=base_unittests --gtest_filter=Values*
R=evan@chromium.org
Review URL: http://codereview.chromium.org/7748017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98266 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=none
Review URL: http://codereview.chromium.org/7743006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98263 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function should simplify some constructions.
Instead of:
if (!value->IsType(Value::TYPE_LIST))
return false;
ListValue* list_value = static_cast<ListValue*>(value);
You can do:
ListValue* list_value = value->AsList();
if (!list_value)
return false;
BUG=None
TEST=base_unittests --gtest_filter=Values*
R=evan@chromium.org,tony@chromium.org
Review URL: http://codereview.chromium.org/7714004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98223 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Changed views test to use ViewsTestBase.
* Always calls ViewsTestBase::SetUp/TearDown. Added flags to check if this is enforced.
* Excluded tests that does not make sense on touch/pure views build.
BUG=none
TEST=views_unittets now passes on touch build, with a few exceptions below.
WidgetTest.GrabUngrab: assigned to sadrul
NativeTextfieldViewsTest.DragAndDrop_XXX: msw will look into it.
Review URL: http://codereview.chromium.org/7720020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98128 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reverts 97997 as it was only needed with this debugging code.
I'm TBRing this as it's just a revert (well, two reverts).
BUG=91396
TEST=none
R=brettw@chromium.org,mnissler@chromium.org,ben@chromium.org
TBR=brettw@chromium.org,mnissler@chromium.org,ben@chromium.org
Review URL: http://codereview.chromium.org/7714038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98115 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moving the test helper class TempRegKeyOverride since I need to do something
similar in some new RLZ tests, and I don't want to duplicate the code. Please
suggest a better namespace name if needed, I was just following the same
pattern found in test_file_util in the same directory.
BUG=None
TEST=No new tests, just refactoring test helpers
Review URL: http://codereview.chromium.org/7669061
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98100 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
not used.
The non-gtk aura WM can be run with this message-pump without taking up 100% CPU.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7704003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98099 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
(No semantic change intended).
BUG=None
TEST=None
Review URL: http://codereview.chromium.org/7685053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@98098 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=chromium-os:19577
TEST=chrome compiles on all platforms
Review URL: http://codereview.chromium.org/7714024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97997 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
First landing failed because of an obscure problem with building
linux_shared. This change passes the linux_shared trybot (and
linux and linux_chromeos trybots).
Changing OOM range to 0, 1000 and tweaking OOM algorithm.
With this change, we now use the newer oom_score_adj file (with
fallback to oom_adj when on a system that doesn't support it) so that
we can take advantage of a finer range ([0, 1000] instead of [0, 15]).
Also tweaked the OOM priority manager to prioritize things in a
slightly different order, preferring (even more) not to kill tabs that
the user has currently selected.
Original review: http://codereview.chromium.org/7671033/
BUG=chromium-os:18421, chromium:65009
TEST=Ran on device, observed OOM adj values, forced OOM conditions to
watch kills.
Review URL: http://codereview.chromium.org/7708020
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97888 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WeakPtr
and destruction on a thread other than the one where the original
reference was created.
The problem with the current implementation is modifying the flag pointer
from WeakPtr::~WeakPtr which might happen on a different thread (potentially
racing with somebody invalidating the flag on the original thread).
For compatibility reasons, creating the initial reference attaches to the
thread and governs the thread-safety checking logic with respect to checking
a reference to be valid and invalidating it, which should both only be done
on the same thread.
BUG=82509
TEST=added unit tests
Review URL: http://codereview.chromium.org/7677028
TBR=sievers@chromium.org
Review URL: http://codereview.chromium.org/7685054
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@97846 0039d316-1c4b-4281-b951-d872f2087c98
|