chromium/src/base.git
2 days agodisable more stacktrace usage in debug uclibc builds master
mostynb@opera.com [Fri, 18 Apr 2014 23:40:16 +0000 (23:40 +0000)]
disable more stacktrace usage in debug uclibc builds

Here are a couple more instances of OutputToStream / Print that are
no longer available in uClibc builds.

BUG=361130

Review URL: https://codereview.chromium.org/234803002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@264887 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 days agobase::Thread will store its |name| as a string, so take the name as a string
pkasting@chromium.org [Fri, 18 Apr 2014 23:32:40 +0000 (23:32 +0000)]
base::Thread will store its |name| as a string, so take the name as a string
instead of a char*.

Avoids a bunch of pointless c_str()s on the caller sides.

BUG=none
TEST=none
R=darin@chromium.org

Review URL: https://codereview.chromium.org/243863002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@264886 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 days agoMake FormatUrl Keep Track of Full Transformation
mpearson@chromium.org [Fri, 18 Apr 2014 20:54:44 +0000 (20:54 +0000)]
Make FormatUrl Keep Track of Full Transformation

The omnibox providers usually search for matches in the formatted text
(i.e., the escaped characters in the URL are unescaped before searching).
This makes it difficult to highlight matches in URL because the location
of the matched positions does not match the location of the matched
text in the original URL spec.  The code to adjust offsets doesn't
help here because it adjusts offsets that with respect to the original
URL spec, not offsets with respect to the formatted URL.
In effect, we need to be able to reverse the transformation that
FormatUrl() does in order to get the original offsets back (if
possible) from the transformed offsets we have.

The easiest and most efficient way to compute this reverse mapping
is to keep track of the full original mapping, then reverse it later
and apply the reversed mapping to the match offsets we have where
the offsets are with respect to the formatted string.

This change include the necessary parts to keep track of the
full transformation.

In a follow-up change, I will make HistoryQuick
provider use the transformation information.
In the process of that change, I will remove the
"WithOffsets" function from net_util.

BUG=252630

Review URL: https://codereview.chromium.org/196103008

git-svn-id: http://src.chromium.org/svn/trunk/src/base@264850 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 days agobase::ReadFile() should return the number of read bytes on Windows.
fukino@chromium.org [Fri, 18 Apr 2014 10:34:15 +0000 (10:34 +0000)]
base::ReadFile() should return the number of read bytes on Windows.

base::ReadFile() has inconsistent behavior between Linux/Mac and Windows.
When the passed |size| argument is larger than file's size, ReadFile() on Linux/Mac returns the number of read bytes, but ReadFile() on Windows returns -1.

We can workaround this behavior by calling GetFileSize() first, but there are already many clients which treat |size| as max size (They're passing the size of buffer).
I think we should make behavior on Windows be consistent with Linux/Mac.

BUG=243885
TEST=run base_unittests

Review URL: https://codereview.chromium.org/240893002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@264768 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

3 days agoAdd generate_jni template
cjhopman@chromium.org [Fri, 18 Apr 2014 00:50:10 +0000 (00:50 +0000)]
Add generate_jni template

This adds a template for using the jni_generator. Creates the
base_jni_headers target and updates the base target to depend on it and
actually use the sources that required it.

Adds //third_party/android_tools:cpu_features required by one of the
base files that also required jni.

Disable a bunch of third_party targets for Android builds.

BUG=359249

Review URL: https://codereview.chromium.org/237973002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@264695 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

3 days agoRemove --debug-on-start and --debug-children.
pkasting@chromium.org [Thu, 17 Apr 2014 23:29:55 +0000 (23:29 +0000)]
Remove --debug-on-start and --debug-children.

debug_on_start_win.cc also had some code to support --wait-for-debugger, but I
don't think it's important to preserve it.  This would only have any effect in
modules which included debug_on_start.h, which was basically just test code; and
it also wouldn't have any effect when the component build is enabled, which I
suspect is true for most developers trying to run tests.  I didn't remove any of
the other pieces of --wait-for-debugger elsewhere.

BUG=359822
TEST=none
R=darin@chromium.org

Review URL: https://codereview.chromium.org/227723008

git-svn-id: http://src.chromium.org/svn/trunk/src/base@264671 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

3 days agoRemove unused input_shlib_path
cjhopman@chromium.org [Thu, 17 Apr 2014 23:16:50 +0000 (23:16 +0000)]
Remove unused input_shlib_path

This path is now only inferred from test_suite_name.
TBR=darin
NOTRY=true

Review URL: https://codereview.chromium.org/226353002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@264666 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

3 days agoRemove all uses of toolkit_use_gtk in the gyp files.
erg@chromium.org [Thu, 17 Apr 2014 19:20:23 +0000 (19:20 +0000)]
Remove all uses of toolkit_use_gtk in the gyp files.

BUG=297026
R=ben@chromium.org, brettw@chromium.org

Review URL: https://codereview.chromium.org/238633004

git-svn-id: http://src.chromium.org/svn/trunk/src/base@264609 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

4 days agoFix a bug in Arm64 atomicops.
rmcilroy@chromium.org [Wed, 16 Apr 2014 23:42:45 +0000 (23:42 +0000)]
Fix a bug in Arm64 atomicops.

BUG=354405

Review URL: https://codereview.chromium.org/237963017

git-svn-id: http://src.chromium.org/svn/trunk/src/base@264348 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

4 days agoFill out the rest of the net targets in the GN build except Android.
brettw@chromium.org [Wed, 16 Apr 2014 20:34:31 +0000 (20:34 +0000)]
Fill out the rest of the net targets in the GN build except Android.

This also fixes some missing base files and libresolv naming.

R=jar@chromium.org

Review URL: https://codereview.chromium.org/236063018

git-svn-id: http://src.chromium.org/svn/trunk/src/base@264296 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

4 days agoRemove the libc++ and ASan/TSan/MSan runtime dependencies from base.gyp:sanitizer_options
glider@chromium.org [Wed, 16 Apr 2014 19:27:56 +0000 (19:27 +0000)]
Remove the libc++ and ASan/TSan/MSan runtime dependencies from base.gyp:sanitizer_options

This is needed to avoid pulling the sanitizer symbols into the targets that want to opt-out
from linking with sanitizer runtimes.

BUG=302040
R=earthdok@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/238773007

git-svn-id: http://src.chromium.org/svn/trunk/src/base@264282 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

5 days agomessage-loop: Remove MessagePumpDispatcher support from glib message-pump.
sadrul@chromium.org [Wed, 16 Apr 2014 05:29:49 +0000 (05:29 +0000)]
message-loop: Remove MessagePumpDispatcher support from glib message-pump.

MessagePumpDispatcher is no longer used in the glib message-pump. So remove
the relevant unused code.

BUG=354062
R=darin@chromium.org

Review URL: https://codereview.chromium.org/236363018

git-svn-id: http://src.chromium.org/svn/trunk/src/base@264121 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

5 days agoRemove MessagePumpGtk.
erg@chromium.org [Wed, 16 Apr 2014 01:56:58 +0000 (01:56 +0000)]
Remove MessagePumpGtk.

BUG=297026
R=brettw
TBR=thakis

Review URL: https://codereview.chromium.org/235783002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@264064 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

5 days agoremove redundant ifdefs
estade@chromium.org [Tue, 15 Apr 2014 20:58:09 +0000 (20:58 +0000)]
remove redundant ifdefs

OS_CHROMEOS implies OS_LINUX, so OS_LINUX || OS_CHROMEOS can be simplified to OS_LINUX

BUG=none

Review URL: https://codereview.chromium.org/237673002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263993 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

5 days agoImplement net in GN build.
brettw@chromium.org [Tue, 15 Apr 2014 19:26:44 +0000 (19:26 +0000)]
Implement net in GN build.

This does the net target. I started doing some more that are commented out at the bottom, and there are a few more after that do do. The deps of these targets started to build up to an unreasonable level and this should be a good checkpoint.

Fix grit rule.

Fix SSL dependent configs

Add TLD cleanup

Add gconf and gio targets for Linux.

Add sources filtering for ChromeOS, .rc, and .mm files. Remove built-in code that removes .rc and .mm files (this wasn't quite complete so causes problems).

BUG=
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/236713002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263967 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

5 days agoRemove CreatePlatformFile
rvargas@chromium.org [Tue, 15 Apr 2014 18:56:45 +0000 (18:56 +0000)]
Remove CreatePlatformFile

BUG=322664

Review URL: https://codereview.chromium.org/227603007

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263953 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

5 days agoSet the default ASan options for executables built with ASan on Linux.
glider@chromium.org [Tue, 15 Apr 2014 18:39:20 +0000 (18:39 +0000)]
Set the default ASan options for executables built with ASan on Linux.

This is a copy of https://codereview.chromium.org/201153007 and https://codereview.chromium.org/213113002
updated to the current trunk with more descriptive comments in sanitizer_options.cc and the additional
legacy_pthread_cond=1 option for the Linux Official builds (legacy_pthread_cond is to be deprecated,
thus we don't enable it on the bots).

This CL introduces a module, base/debug/sanitizer_options.cc, which will override
the defaults for various dynamic tools (only ASan at this moment). For every executable
built with a dynamic tool this module will be linked into that executable, providing
weak functions to be called by the tool.

The existing declaration of __asan_default_options() in chrome/app/chrome_exe_main_gtk.cc
has been moved into sanitizer_options.cc (now every binary built with GOOGLE_CHROME_BUILD=1
will have the same options as google-chrome-asan.
The existing declaration of __asan_default_options() in chrome/nacl/nacl_helper_linux.cc
has been kept as is, but we had to remove -Wl,-u_sanitizer_options_link_helper to avoid picking sanitizer_options.cc.

The default options target is deliberately disabled on 32-bit Chromium OS builds,
where one of the host binaries (mksnapshot.ia32) is 32-bit despite host_arch==x86_64.

GYP changes for OSX and iOS will be committed separately.

TBR=thakis@chromium.org,mseaborn@chromium.org
BUG=302040

Review URL: https://codereview.chromium.org/238123003

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263941 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

5 days agoRe-enable ProcessUtilTest.GetTerminationStatusCrash on Win64 bots
jschuh@chromium.org [Tue, 15 Apr 2014 12:51:53 +0000 (12:51 +0000)]
Re-enable ProcessUtilTest.GetTerminationStatusCrash on Win64 bots

Appears to have been an MSVS 2010 codegen issue.

BUG=175753
R=brettw
TBR=brettw

Review URL: https://codereview.chromium.org/235863012

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263821 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

6 days agobase: Remove dependency on x11.
sadrul@chromium.org [Tue, 15 Apr 2014 05:30:30 +0000 (05:30 +0000)]
base: Remove dependency on x11.

All of the X11-dependent code have been removed from base/. So remove
the x11 dependency.

BUG=354062
R=darin@chromium.org

Review URL: https://codereview.chromium.org/237403002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263793 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

6 days agox11: Remove X11 message-pump.
sadrul@chromium.org [Tue, 15 Apr 2014 03:34:54 +0000 (03:34 +0000)]
x11: Remove X11 message-pump.

The remaining use of the X11 mesage-pump was opening the connection to the
X11 server. This patch moves that out of the message-pump, into gfx. This
allows us to remove the X11 message-pump, and just use the base Glib-based
message-pump on Linux and ChromeOS.

BUG=354062
R=darin@chromium.org, sky@chromium.org

Previously landed in r263726, but reverted in r263733 to allow reverting another CL.

Review URL: https://codereview.chromium.org/235043005

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263777 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

6 days agoAndroid: Make looper traces toplevel.
epenner@chromium.org [Tue, 15 Apr 2014 02:50:32 +0000 (02:50 +0000)]
Android: Make looper traces toplevel.

All other top-level events are now labelled 'toplevel'.

BUG=None
NOTRY=true

No-try since failing tests are flakes in unrelated code.

Review URL: https://codereview.chromium.org/236203002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263769 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

6 days agoRevert of Base: Make FileProxy automaticaly close the file on a worker thread. (https...
leviw@chromium.org [Tue, 15 Apr 2014 00:47:52 +0000 (00:47 +0000)]
Revert of Base: Make FileProxy automaticaly close the file on a worker thread. (https://codereview.chromium.org/231703002/)

Reason for revert:
Triggering AssertIOAllowed on a handful of Blink LayoutTests.

Original issue's description:
> Base: Make FileProxy automaticaly close the file on a worker thread.
>
> This CL removes the restriction that callers should call Close before
> deleting the object if they want to make sure the file is not closed
> on the current thread.
>
> BUG=322664
> TEST=base_unittests
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=263675

TBR=willchan@chromium.org,rvargas@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=322664

Review URL: https://codereview.chromium.org/238383003

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263758 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

6 days agoRevert 263726 "x11: Remove X11 message-pump."
fischman@chromium.org [Mon, 14 Apr 2014 22:45:15 +0000 (22:45 +0000)]
Revert 263726 "x11: Remove X11 message-pump."

Reason for revert: along with 263718 blamed for
http://build.chromium.org/p/chromium.linux/builders/Linux%20Tests%20%28dbg%29%282%29/builds/45298
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%28dbg%29%281%29/builds/29956

> x11: Remove X11 message-pump.
>
> The remaining use of the X11 mesage-pump was opening the connection to the
> X11 server. This patch moves that out of the message-pump, into gfx. This
> allows us to remove the X11 message-pump, and just use the base Glib-based
> message-pump on Linux and ChromeOS.
>
> BUG=354062
> R=darin@chromium.org, sky@chromium.org
>
> Review URL: https://codereview.chromium.org/235043005

TBR=sadrul@chromium.org

Review URL: https://codereview.chromium.org/238093002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263733 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

6 days agox11: Remove X11 message-pump.
sadrul@chromium.org [Mon, 14 Apr 2014 21:13:20 +0000 (21:13 +0000)]
x11: Remove X11 message-pump.

The remaining use of the X11 mesage-pump was opening the connection to the
X11 server. This patch moves that out of the message-pump, into gfx. This
allows us to remove the X11 message-pump, and just use the base Glib-based
message-pump on Linux and ChromeOS.

BUG=354062
R=darin@chromium.org, sky@chromium.org

Review URL: https://codereview.chromium.org/235043005

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263726 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

6 days agoBase: Make FileProxy automaticaly close the file on a worker thread.
rvargas@chromium.org [Mon, 14 Apr 2014 18:32:46 +0000 (18:32 +0000)]
Base: Make FileProxy automaticaly close the file on a worker thread.

This CL removes the restriction that callers should call Close before
deleting the object if they want to make sure the file is not closed
on the current thread.

BUG=322664
TEST=base_unittests

Review URL: https://codereview.chromium.org/231703002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263675 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

6 days agoTrace event micro-optimization: use finer grained lock.
bulach@chromium.org [Mon, 14 Apr 2014 18:15:21 +0000 (18:15 +0000)]
Trace event micro-optimization: use finer grained lock.

GetCategoryGroupEnabledInternal is a hotspot.
It traverses an append-only list, so it's safe to use a finer-grained lock,
and avoid it altogether for the "fast path", i.e., when the category is
already known.
Relands crrev.com/251178, fixing TSan issue.

BUG=343802

Review URL: https://codereview.chromium.org/163313002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263670 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

6 days agoFor the WebView build, invoking "cpp" from $PATH is problematic on some
torne@chromium.org [Mon, 14 Apr 2014 17:29:59 +0000 (17:29 +0000)]
For the WebView build, invoking "cpp" from $PATH is problematic on some
host platforms because the Android build system is intended to use
hermetic toolchains. However, using the hermetic toolchain correctly is
also difficult.

To avoid this, use a regex to strip comments instead of invoking cpp.
This regex shoud handle all the Java source cases correctly (it deals
with strings that contain //, /* or */) and should also improve
performance compared to invoking cpp. The JNI generator tests pass with
this change.

Review URL: https://codereview.chromium.org/227303003

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263650 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

6 days agoRevert 263625 "Set the default ASan options for executables buil..."
fischman@chromium.org [Mon, 14 Apr 2014 15:54:11 +0000 (15:54 +0000)]
Revert 263625 "Set the default ASan options for executables buil..."

Reason for revert: broke all 3 Linux ASan LSan Tests bots:
http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Tests%20%281%29/builds/1338
http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Tests%20%282%29/builds/1563
http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Tests%20%283%29/builds/1796

> Set the default ASan options for executables built with ASan on Linux.
>
> This is a copy of https://codereview.chromium.org/201153007 and https://codereview.chromium.org/213113002
> updated to the current trunk with more descriptive comments in sanitizer_options.cc and the additional
> legacy_pthread_cond=1 option for the Linux builds.
>
> This CL introduces a module, base/debug/sanitizer_options.cc, which will override
> the defaults for various dynamic tools (only ASan at this moment). For every executable
> built with a dynamic tool this module will be linked into that executable, providing
> weak functions to be called by the tool.
>
> The existing declaration of __asan_default_options() in chrome/app/chrome_exe_main_gtk.cc
> has been moved into sanitizer_options.cc (now every binary built with GOOGLE_CHROME_BUILD=1
> will have the same options as google-chrome-asan.
> The existing declaration of __asan_default_options() in chrome/nacl/nacl_helper_linux.cc
> has been kept as is, but we had to remove -Wl,-u_sanitizer_options_link_helper to avoid picking sanitizer_options.cc.
>
> The default options target is deliberately disabled on 32-bit Chromium OS builds, where one of the host binaries (mksnapshot.ia32) is 32-bit despite host_arch==x86_64.
>
> GYP changes for OSX and iOS will be committed separately.
>
> BUG=302040,341805
> TBR=thakis@chromium.org,mseaborn@chromium.org
>
> Review URL: https://codereview.chromium.org/230263003

TBR=glider@chromium.org

Review URL: https://codereview.chromium.org/237203003

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263634 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

6 days agoSet the default ASan options for executables built with ASan on Linux.
glider@chromium.org [Mon, 14 Apr 2014 13:56:35 +0000 (13:56 +0000)]
Set the default ASan options for executables built with ASan on Linux.

This is a copy of https://codereview.chromium.org/201153007 and https://codereview.chromium.org/213113002
updated to the current trunk with more descriptive comments in sanitizer_options.cc and the additional
legacy_pthread_cond=1 option for the Linux builds.

This CL introduces a module, base/debug/sanitizer_options.cc, which will override
the defaults for various dynamic tools (only ASan at this moment). For every executable
built with a dynamic tool this module will be linked into that executable, providing
weak functions to be called by the tool.

The existing declaration of __asan_default_options() in chrome/app/chrome_exe_main_gtk.cc
has been moved into sanitizer_options.cc (now every binary built with GOOGLE_CHROME_BUILD=1
will have the same options as google-chrome-asan.
The existing declaration of __asan_default_options() in chrome/nacl/nacl_helper_linux.cc
has been kept as is, but we had to remove -Wl,-u_sanitizer_options_link_helper to avoid picking sanitizer_options.cc.

The default options target is deliberately disabled on 32-bit Chromium OS builds, where one of the host binaries (mksnapshot.ia32) is 32-bit despite host_arch==x86_64.

GYP changes for OSX and iOS will be committed separately.

BUG=302040,341805
TBR=thakis@chromium.org,mseaborn@chromium.org

Review URL: https://codereview.chromium.org/230263003

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263625 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

7 days agoCleanup coding style
byungwook.ahn@gmail.com [Sun, 13 Apr 2014 17:36:27 +0000 (17:36 +0000)]
Cleanup coding style

BUG=NONE
TEST=NONE

Review URL: https://codereview.chromium.org/232973002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263554 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

9 days agoCheckpoint work to get GN builds working on Android.
dpranke@chromium.org [Sat, 12 Apr 2014 01:19:16 +0000 (01:19 +0000)]
Checkpoint work to get GN builds working on Android.

This fixes enough issues so that we can compile and link some libraries, but
it is not yet a working build.

Work remaining:
- base needs JNI support ('base_jni_headers', etc.)
- we need to figure out what should link and/or be APKs to run the tests
- we need to adjust GN to only build in the host config, not the target config.

R=brettw@chromium.org, cjhopman@chromium.org
TBR=jam
BUG=360936

Review URL: https://codereview.chromium.org/227673008

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263440 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

9 days agobase: Avoid unnecessary calls to BytesAllocatedChanged().
reveman@chromium.org [Fri, 11 Apr 2014 23:13:41 +0000 (23:13 +0000)]
base: Avoid unnecessary calls to BytesAllocatedChanged().

BUG=310231
TBR=willchan

Review URL: https://codereview.chromium.org/235623004

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263397 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

9 days agoGN Windows build fixes
brettw@chromium.org [Fri, 11 Apr 2014 23:06:17 +0000 (23:06 +0000)]
GN Windows build fixes

This also removes some patterns from the sources assignment filter, and adds scary comments not to make it bigger. The GYP version of this is out of control so I want to set a clear policy of what is included and not.

I removed X-related stuff from the filter (there are only about 50 files around the tree) and added manual rules for the affected files.

BUG=
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/235983002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263394 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

9 days agoRemove icon_loader_linux.cc and related code.
davidben@chromium.org [Fri, 11 Apr 2014 19:13:52 +0000 (19:13 +0000)]
Remove icon_loader_linux.cc and related code.

linux_aura uses the native GTK routines.

BUG=297026

Review URL: https://codereview.chromium.org/235343002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263310 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

9 days agobase: Add a trace counter for amount of discardable memory allocated.
reveman@chromium.org [Fri, 11 Apr 2014 13:27:01 +0000 (13:27 +0000)]
base: Add a trace counter for amount of discardable memory allocated.

This adds a trace counter to the discardable memory manager for
the amount of memory allocated. Useful when debugging performance
issues related to discardable memory usage.

BUG=310231

Review URL: https://codereview.chromium.org/234363002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263221 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

10 days agox11: Remove MessagePumpObserver.
sadrul@chromium.org [Fri, 11 Apr 2014 03:02:29 +0000 (03:02 +0000)]
x11: Remove MessagePumpObserver.

Convert the last ramining instances of MessagePumpObservers into
PlatformEventObservers, and remove support for MessagePumpObservers
from non-Windows platforms.

BUG=354062
R=sky@chromium.org
TBR=darin@chromium.org

Review URL: https://codereview.chromium.org/233653002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263158 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

10 days agoAdd workaround for TextView.setCompoundDrawablesRelative() on JB MR1.
newt@chromium.org [Fri, 11 Apr 2014 00:00:22 +0000 (00:00 +0000)]
Add workaround for TextView.setCompoundDrawablesRelative() on JB MR1.

Due to a bug, TextView.setCompoundDrawablesRelative() is a no-op on JB
MR1 if the text view has ever been measured. This is fixed in JB MR2
onwards, but causes some ugly bugs in Chrome on JB MR1: e.g. the
favicons often don't appear on the bookmarks page.

BUG=361709
NOTRY=true

Review URL: https://codereview.chromium.org/232083005

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263137 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

10 days agoozone: Fix libbase_nacl build after MessagePumpOzone removal
spang@chromium.org [Thu, 10 Apr 2014 20:03:11 +0000 (20:03 +0000)]
ozone: Fix libbase_nacl build after MessagePumpOzone removal

BUG=354062
R=rjkroege@chromium.org, sky@chromium.org
TBR=darin@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/231863010

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263057 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

10 days agoGTK: Adds #error statements to GTK code to root out unknown bots.
erg@chromium.org [Thu, 10 Apr 2014 19:36:25 +0000 (19:36 +0000)]
GTK: Adds #error statements to GTK code to root out unknown bots.

BUG=297026
R=jam@chromium.org

Review URL: https://codereview.chromium.org/226413006

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263054 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

10 days agoozone: Remove the libevent message-pump.
sadrul@chromium.org [Thu, 10 Apr 2014 17:19:38 +0000 (17:19 +0000)]
ozone: Remove the libevent message-pump.

The ozone message-pump is no longer needed. So remove that, and use the default
message-pump based on libevent instead. Also, add a convenience method for
adding a watcher on a file-descriptor to the message-pump from the message-loop.

BUG=354062
R=rjkroege@chromium.org, sky@chromium.org
TBR=darin@chromium.org

Review URL: https://codereview.chromium.org/231643005

git-svn-id: http://src.chromium.org/svn/trunk/src/base@263022 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

10 days agoFix and improve arm64 atomic operations in Base.
rmcilroy@chromium.org [Thu, 10 Apr 2014 14:38:21 +0000 (14:38 +0000)]
Fix and improve arm64 atomic operations in Base.

 - The 'compare and swap' operations should enforce memory ordering even when
   the exchange does not occur.
 - The exclusive monitor does not need to be cleared by CLREX if a LDRX was
   not followed by a matching STREX.
 - Use LDAR and STLR where possible.
 - Use the 'I' and 'J' constraints to hint for constants valid for immediate
   values

Based on V8 changes at https://codereview.chromium.org/220793002

BUG=354405

Review URL: https://codereview.chromium.org/230963002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262986 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

10 days agodisable stack trace unittests for uClibc builds
mostynb@opera.com [Thu, 10 Apr 2014 14:09:24 +0000 (14:09 +0000)]
disable stack trace unittests for uClibc builds

Since we disabled StackTrace::OutputToStream and StackTrace::Print
for uClibc builds, we should disable the related unittests for uClibc
too.

BUG=361130

Review URL: https://codereview.chromium.org/227503009

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262984 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

11 days ago[UMA] Fix a crash on logging user actions posted from a non-UI thread.
isherman@chromium.org [Thu, 10 Apr 2014 01:12:36 +0000 (01:12 +0000)]
[UMA] Fix a crash on logging user actions posted from a non-UI thread.

Along the way, add DCHECKs to verify that user actions are always posted from
the UI thread.

BUG=360271
TEST=none
R=asvitkine@chromium.org, avi@chromium.org

Review URL: https://codereview.chromium.org/229873002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262885 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

11 days agodon't use glibc-specific execinfo.h on uclibc builds
mostynb@opera.com [Wed, 9 Apr 2014 22:29:38 +0000 (22:29 +0000)]
don't use glibc-specific execinfo.h on uclibc builds

The execinfo.h header is glibc-specific, as is the backtrace function.
Let's skip them for uclibc builds.

BUG=361130

Review URL: https://codereview.chromium.org/228753003

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262841 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

11 days ago[Linux] Use PR_SET_NO_NEW_PRIVS by default in base/process/launch.h.
rsesek@chromium.org [Wed, 9 Apr 2014 20:06:26 +0000 (20:06 +0000)]
[Linux] Use PR_SET_NO_NEW_PRIVS by default in base/process/launch.h.

BUG=358713
R=jln@chromium.org, thakis@chromium.org

Review URL: https://codereview.chromium.org/197213015

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262786 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

11 days agoRemove CreatePlatformFile from file_util_proxy
rvargas@chromium.org [Wed, 9 Apr 2014 19:58:54 +0000 (19:58 +0000)]
Remove CreatePlatformFile from file_util_proxy

Most of file_util_proxy is going to be deleted soon (users have to migrate to
FileProxy) so this CL is quite superficial. It is intended to remove the last
uses of CreatePlatformFile so that the method can be removed and no new code
can ignore base::File.

BUG=322664

Review URL: https://codereview.chromium.org/227433006

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262781 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

11 days agoAdd Skia to the GN build.
brettw@chromium.org [Wed, 9 Apr 2014 19:55:29 +0000 (19:55 +0000)]
Add Skia to the GN build.

This makes the GN build of Skia compile and adds it to the GN build.
Previously, the configuration of the GN Skia tried to match the confusing array
of skia targets. This new version dispenses with that and just adds all files
(except SSE ones) to one target. I'm not even sure if it's necessary to split
out the SSE ones, but it seems nice since that target will get more complicated
when we add Arm and MIPS support.

I audited the defines again and added some to the main build config that had
been added to the GYP build recently.

This improves some operator error messages that I found confusing when I had errors in my file.

BUG=
R=djsollen@google.com, scottmg@chromium.org

Review URL: https://codereview.chromium.org/214883005

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262779 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

12 days agoFix typo (approve -> approach) and cleanup wording while here
mdempsky@chromium.org [Tue, 8 Apr 2014 23:29:30 +0000 (23:29 +0000)]
Fix typo (approve -> approach) and cleanup wording while here

Review URL: https://codereview.chromium.org/229173002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262551 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

12 days agoExpose the virtual memory limit to blink
jochen@chromium.org [Tue, 8 Apr 2014 23:19:16 +0000 (23:19 +0000)]
Expose the virtual memory limit to blink

V8 queries the limit before sandbox initialization via static
initializers. We should pass it in like the other memory related values
instead.

BUG=none
R=mark@chromium.org

Review URL: https://codereview.chromium.org/227113011

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262544 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

12 days agoPass the shared memory handle in to StatsTable rather than consulting the GlobaDescri...
brettw@chromium.org [Tue, 8 Apr 2014 23:13:45 +0000 (23:13 +0000)]
Pass the shared memory handle in to StatsTable rather than consulting the GlobaDescriptors.

Remove the IPC dependency from base and updates the DEPS files to prevent this from happening again (ipc is in the root dir's deps file so is implicitly allowed here).

The Chrome unit tests did a bunch of work to delete the stats file when running under Posix. But this filename is never used on Posix, so I deleted this code. The unit tests now use an anonymous stats table which this code now supports.

The stats table unit test is disabled. It does not work on Posix systems at all because handle sharing is not set up. I put a Windows ifdef around this code (leaving it disabled) so I could use the Windows-style initializers, and verified that the test passes on Windows if I undisable it.

R=jam@chromium.org

Review URL: https://codereview.chromium.org/224713017

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262540 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

12 days agoTemplate invocation fixes in GN
brettw@chromium.org [Tue, 8 Apr 2014 22:35:18 +0000 (22:35 +0000)]
Template invocation fixes in GN

This adds an error check when invoking templates which caused really confusing messages if the template invocation encountered an error (because we'd continue running).

Hooks up the provider for programatically defined variables in template invocations so those can be used.

Sets the current directory in a template invocation to be that of the invoking file.

No longer define the target-related programatic variables in an import. Using these in an import will give the directory relative to the import, which is probabyl not what you want.

Fix the Windows build by adding a missing library. Add a warning not to add more to the main list (this added .lib is pretty obscure).

BUG=
R=cjhopman@chromium.org

Review URL: https://codereview.chromium.org/226223006

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262524 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

12 days agoMinor GN build cleanup.
brettw@chromium.org [Tue, 8 Apr 2014 17:20:38 +0000 (17:20 +0000)]
Minor GN build cleanup.

Convert some static libraries to source sets.

Add an "icu" metalibrary that can be used by targets needing both ICU libs.

Rename some base targets to have shorter names.

BUG=
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/225093021

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262442 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

12 days agoPull GN @ r262225
brettw@chromium.org [Tue, 8 Apr 2014 16:50:01 +0000 (16:50 +0000)]
Pull GN @ r262225

Implement GN visibility in the build, which this new version implements

BUG=
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/217273004

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262438 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

12 days agoRevert 262303 "base: Disable win::ScopedHandle"
rvargas@google.com [Tue, 8 Apr 2014 15:15:01 +0000 (15:15 +0000)]
Revert 262303 "base: Disable win::ScopedHandle"

> base: Disable win::ScopedHandle
>
> This patch is intended for M35
>
> BUG=360757
> R=cpu@chromium.org
> TBR=cpu@chromium.org
>
> Review URL: https://codereview.chromium.org/225283015

TBR=rvargas@chromium.org

Review URL: https://codereview.chromium.org/228253004

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262413 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

12 days agoRevert 262344 "don't use glibc-specific execinfo.h on uclibc builds"
earthdok@chromium.org [Tue, 8 Apr 2014 14:33:54 +0000 (14:33 +0000)]
Revert 262344 "don't use glibc-specific execinfo.h on uclibc builds"

Broken in libc++ builds.
BUG=361130

> don't use glibc-specific execinfo.h on uclibc builds
>
> The execinfo.h header is glibc-specific, as is the backtrace function.
> Let's skip them for uclibc builds.
>
> Review URL: https://codereview.chromium.org/226623008

TBR=mostynb@opera.com

Review URL: https://codereview.chromium.org/224753005

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262401 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

12 days agodon't use glibc-specific execinfo.h on uclibc builds
mostynb@opera.com [Tue, 8 Apr 2014 08:27:28 +0000 (08:27 +0000)]
don't use glibc-specific execinfo.h on uclibc builds

The execinfo.h header is glibc-specific, as is the backtrace function.
Let's skip them for uclibc builds.

Review URL: https://codereview.chromium.org/226623008

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262344 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

13 days agobase: Disable win::ScopedHandle
rvargas@chromium.org [Tue, 8 Apr 2014 04:16:33 +0000 (04:16 +0000)]
base: Disable win::ScopedHandle

This patch is intended for M35

BUG=360757
R=cpu@chromium.org
TBR=cpu@chromium.org

Review URL: https://codereview.chromium.org/225283015

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262303 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

13 days agoCleanup: Remove NOTIFICATION_EXTENSION_UNLOADED usage in MediaScanManager.
thestig@chromium.org [Tue, 8 Apr 2014 04:01:06 +0000 (04:01 +0000)]
Cleanup: Remove NOTIFICATION_EXTENSION_UNLOADED usage in MediaScanManager.

BUG=354046

Review URL: https://codereview.chromium.org/207613002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262295 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

13 days agoRemove all uses of GG_LONGLONG and GG_ULONGLONG.
viettrungluu@chromium.org [Tue, 8 Apr 2014 04:00:36 +0000 (04:00 +0000)]
Remove all uses of GG_LONGLONG and GG_ULONGLONG.

123LL and 123ULL now work everywhere. You can also use INT64_C and
UINT64_C (from <stdint.h>) in Chromium code (we force-define
__STDC_CONSTANT_MACROS). (And sometimes you can just use
static_cast<(u)int64_t>.)

Don't remove their definitions yet, because some macros that are
multiply-defined (in an identical way) rely on them. D'oh.

R=brettw@chromium.org
TBR=sky@chromium.org,satorux@chromium.org,vrk@chromium.org,rch@chromium.org,shess@chromium.org

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=262147

Review URL: https://codereview.chromium.org/218953003

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262294 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

13 days agobase: Add ScopedJavaLocalFrame class.
reveman@chromium.org [Tue, 8 Apr 2014 01:01:50 +0000 (01:01 +0000)]
base: Add ScopedJavaLocalFrame class.

This class can be used to create a local reference frame. A local
reference frame ensures that some amount of local references can
be created and forces all references created in the frame to be
releases when exiting the frame.

BUG=360069
TBR=darin

Review URL: https://codereview.chromium.org/225283008

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262273 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

13 days agoCommit changes after a reset.
erikwright@chromium.org [Mon, 7 Apr 2014 22:32:41 +0000 (22:32 +0000)]
Commit changes after a reset.

BUG=360167

Review URL: https://codereview.chromium.org/226633002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262227 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

13 days agoAdd optional public header checking to GN build
brettw@chromium.org [Mon, 7 Apr 2014 22:17:35 +0000 (22:17 +0000)]
Add optional public header checking to GN build

You can invoke this either using the "--check" argument to the gen command (for use on buildbots) or by running "gn check" (for developer on-demand use).

This adds support for "public" headers for a target, and an optional "--check" flag to the gen command that implements checkdeps-like include checking. Basically if you include a file that's declared in the build, it has to be in the public section of one of your dependents (or that dependent doesn't have a public section, which implies everything is public).

This roughly maps to Blaze's behavior around the public headers.

Moves modp_b64 build file to main tree.

Remove modp_b64 hack for older versions of VC missing stdint (this included basictypes which caused a header check failure).

I also added some base dependencies and some other minor build changes to solve some other issues identified by the check. The remaining one is that a file in base/metrics depends on ipc (!)

BUG=
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/216903004

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262216 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

13 days agoRevert 262147 "Remove all uses of GG_LONGLONG and GG_ULONGLONG."
scottmg@chromium.org [Mon, 7 Apr 2014 18:35:10 +0000 (18:35 +0000)]
Revert 262147 "Remove all uses of GG_LONGLONG and GG_ULONGLONG."

> Remove all uses of GG_LONGLONG and GG_ULONGLONG.
>
> 123LL and 123ULL now work everywhere. You can also use INT64_C and
> UINT64_C (from <stdint.h>) in Chromium code (we force-define
> __STDC_CONSTANT_MACROS). (And sometimes you can just use
> static_cast<(u)int64_t>.)
>
> Don't remove their definitions yet, because some macros that are
> multiply-defined (in an identical way) rely on them. D'oh.
>
> R=brettw@chromium.org
> TBR=sky@chromium.org,satorux@chromium.org,vrk@chromium.org,rch@chromium.org,shess@chromium.org
>
> Review URL: https://codereview.chromium.org/218953003

TBR=viettrungluu@chromium.org

Review URL: https://codereview.chromium.org/227743006

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262165 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

13 days agoRemove all uses of GG_LONGLONG and GG_ULONGLONG.
viettrungluu@chromium.org [Mon, 7 Apr 2014 17:35:10 +0000 (17:35 +0000)]
Remove all uses of GG_LONGLONG and GG_ULONGLONG.

123LL and 123ULL now work everywhere. You can also use INT64_C and
UINT64_C (from <stdint.h>) in Chromium code (we force-define
__STDC_CONSTANT_MACROS). (And sometimes you can just use
static_cast<(u)int64_t>.)

Don't remove their definitions yet, because some macros that are
multiply-defined (in an identical way) rely on them. D'oh.

R=brettw@chromium.org
TBR=sky@chromium.org,satorux@chromium.org,vrk@chromium.org,rch@chromium.org,shess@chromium.org

Review URL: https://codereview.chromium.org/218953003

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262147 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

13 days agowin: sealed -> final rename, part 3/3.
thakis@chromium.org [Mon, 7 Apr 2014 17:28:14 +0000 (17:28 +0000)]
win: sealed -> final rename, part 3/3.

Part 1: https://codereview.chromium.org/224763005
Part 2: https://codereview.chromium.org/224833004

BUG=none
R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/225413016

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262146 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agox11: Initialize the connection to X11 display with the message-pump.
sadrul@chromium.org [Sun, 6 Apr 2014 21:25:34 +0000 (21:25 +0000)]
x11: Initialize the connection to X11 display with the message-pump.

r262008 moved the initialization of the X11 connection from the MessagePumpX11
ctor, and changed it to be created only when it's necessary. But this causes
unexpected flakiness in some tests (e.g. content_browsertests on ChromeOS). So
restore the creation of the X11 connection in the message-pump ctor.

BUG=354062
TBR=sky@chromium.org, darin@chromium.org

Review URL: https://codereview.chromium.org/227283002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262061 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoUse TimeTicks instead of gettimeofday in ProcessMetrics.
thakis@chromium.org [Sun, 6 Apr 2014 21:25:01 +0000 (21:25 +0000)]
Use TimeTicks instead of gettimeofday in ProcessMetrics.

No real behavior change, but if the user changes their system time there
shouldn't be a jump in %cpu for one call.

BUG=none

Review URL: https://codereview.chromium.org/139103007

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262059 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoRevert of Attempting to resolve a race condition with PowerMonitor (https://coderevie...
scottmg@chromium.org [Sat, 5 Apr 2014 18:55:57 +0000 (18:55 +0000)]
Revert of Attempting to resolve a race condition with PowerMonitor (https://codereview.chromium.org/179923006/)

Reason for revert:
Failing interactive_ui_tests dbg:

http://build.chromium.org/p/chromium.win/builders/Interactive%20Tests%20(dbg)/builds/47083/steps/interactive_ui_tests/logs/stdio

Original issue's description:
> Attempting to resolve a race condition with PowerMonitor.
>
> ThreadSanitizer caught multiple instances where PowerMonitor::Get or PowerMonitor::Add/RemoveObserver were being called concurrently with the PowerMonitor constructor in the main thread. These functions access a process-global PowerMontior instance (g_power_monitor), which was not thread safe.
>
> This change adds locks around PowerMonitor creation and deletion, and forces Add/RemoveObserver to be called in a threadsafe manner. It also removes the need to call PowerMonitor::Get.
>
> BUG=268924
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=262018

TBR=mattm@chromium.org,jyasskin@chromium.org,kbr@chromium.org,bradnelson@chromium.org,brettw@chromium.org,bradchen@chromium.org,willchan@chromium.org,jam@chromium.org,jochen@chromium.org,timurrrr@chromium.org,glider@chromium.org,acolwell@chromium.org,scherkus@chromium.org,bajones@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=268924

Review URL: https://codereview.chromium.org/226263008

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262026 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agobase: Do not allow MessagePumpObservers to consume events.
sadrul@chromium.org [Sat, 5 Apr 2014 17:38:01 +0000 (17:38 +0000)]
base: Do not allow MessagePumpObservers to consume events.

There is currently a single message-pump observer that can consume an event,
and it does so only when the num-lock key is pressed on Chrome OS. But it
doesn't need to consume the event, because no other dispatcher/observer cares
about this event. So remove a MessagePumpObserver's ability to consume an
event. This makes the code cleaner, and easier to understand.

BUG=354062
R=darin@chromium.org, derat@chromium.org, sky@chromium.org

Review URL: https://codereview.chromium.org/223483002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262019 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoAttempting to resolve a race condition with PowerMonitor.
bajones@chromium.org [Sat, 5 Apr 2014 17:28:39 +0000 (17:28 +0000)]
Attempting to resolve a race condition with PowerMonitor.

ThreadSanitizer caught multiple instances where PowerMonitor::Get or PowerMonitor::Add/RemoveObserver were being called concurrently with the PowerMonitor constructor in the main thread. These functions access a process-global PowerMontior instance (g_power_monitor), which was not thread safe.

This change adds locks around PowerMonitor creation and deletion, and forces Add/RemoveObserver to be called in a threadsafe manner. It also removes the need to call PowerMonitor::Get.

BUG=268924

Review URL: https://codereview.chromium.org/179923006

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262018 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agox11: Move X event handling out of the message-pump.
sadrul@chromium.org [Sat, 5 Apr 2014 15:24:03 +0000 (15:24 +0000)]
x11: Move X event handling out of the message-pump.

This change moves the X11 event handling out of the X11 message-pump, and uses
the X11 event dispatch code from X11EventSource instead. Overview of the changes:

 * Remove all X event handling code from the message-pump. The X11 message-pump
   only opens the connection to the X11 server. This too will be moved out of
   here in subsequent patches.

 * The X11EventSource sends an XEvent it receives from the X11 server back to
   the X11 message-pump, which triggers the MessagePumpObservers, before sending
   the event to the dispatchers. This is a short-term workaround until the
   message-pump observers are converted into PlatformEventObservers.

 * The MessagePumpDispatcher implementations that deal with X11 events are
   converted into PlatformEventDispatchers.

 * Remove support for starting a nested message-loop with a custom dispatcher
   on non-Windows.

Changes in components:

//ash:
 * Split AcceleratorDispatcher into platform-specific AcceleratorDispatcherWin,
   which remains a MessagePumpDispatcher, and AcceleratorDispatcherLinux, which
   is a PlatformEventDispatcher. It may be possible to do some cleanup in this,
   depending on the outcome of http://crbug.com/357777 and http://crbug.com/357733.

//base:
 * Remove support for providing a custom MessagePumpDispatcher when starting a
   nested message-loop on non-Windows platforms.
 * Remove most of the event-dispatch code from MessagePumpX11. The only remaining
   bits are for triggering MessagePumpObservers, which will be replaced by the newer
   PlatformEventObservers in subsequent patches.

//chrome, //content, //mojo, //ui/aura, //ui/base, //ui/wm:
 * Convert MessagePumpDispatchers that deal with X11 events into
   PlatformEventDispatchers.

//ui/events:
 * Allow creating a 'default' PlatformEventSource. On X11, it creates X11EventSource,
   and on other platforms, it doesn't create an event-source.
 * A temporary measure in X11EventSource to send the event to the message-pump so
   that the message-pump observers can be triggered. This will be removed once the
   MessagePumpObservers that deal with X11 events are turned into
   PlatformEventObservers.

//ui/views:
 * Remove the linux implementation of MenuMessagePumpDispatcher, and replace it with
   MenuEventDispatcherLinux.
 * Platform specific implementation for MenuController::RunMessageLoop(): the Windows
   implementation uses the MessagePumpDispatcher, and the non-windows implementation
   uses the PlatformEventDispatcher. This is somewhat unfortunate, and I am going to
   look for something better for this. But the code duplication here is relatively
   small, I don't want to make this patch any larger.

BUG=354062
R=darin@chromium.org, sky@chromium.org

Review URL: https://codereview.chromium.org/219743002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@262008 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoBase: Make file_util and file use the same code to translate from stat to File::Info
rvargas@chromium.org [Sat, 5 Apr 2014 02:39:18 +0000 (02:39 +0000)]
Base: Make file_util and file use the same code to translate from stat to File::Info

BUG=353318

Review URL: https://codereview.chromium.org/203873002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@261956 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoGet rid of all component builds specific .isolate.
maruel@chromium.org [Fri, 4 Apr 2014 21:06:46 +0000 (21:06 +0000)]
Get rid of all component builds specific .isolate.

The status quo was unmaintainable.  These 'component build specific .isolate
files' are superseeded by tools/isolate_driver.py which packages dynamic
libraries automatically.

The new way is much more sane and dynamic, isolate_driver.py is currently very
crude but 'does the job', the expected way to make it work is to read the .ninja
files to extract all the dynamic libraries marked as a dependency to the main
target being executed.

TBR=csharp@chromium.org
BUG=333473

Review URL: https://codereview.chromium.org/226123004

git-svn-id: http://src.chromium.org/svn/trunk/src/base@261871 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks ago[Android] Remove an unused method from LibraryLoader
feng@chromium.org [Fri, 4 Apr 2014 20:00:47 +0000 (20:00 +0000)]
[Android] Remove an unused method from LibraryLoader

This is a post-fix after landing https://codereview.chromium.org/217283005/
and downstream changes in Chrome for Android.

BUG=357655

Review URL: https://codereview.chromium.org/224613003

git-svn-id: http://src.chromium.org/svn/trunk/src/base@261851 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agowin: Now that we're on msvs2013, spell final 'final' not 'sealed'.
thakis@chromium.org [Fri, 4 Apr 2014 03:54:38 +0000 (03:54 +0000)]
win: Now that we're on msvs2013, spell final 'final' not 'sealed'.

BUG=none
NOTRY=true

Review URL: https://codereview.chromium.org/224763005

git-svn-id: http://src.chromium.org/svn/trunk/src/base@261658 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoAdd a wrapper script which modifies the .isolate on the fly.
maruel@chromium.org [Fri, 4 Apr 2014 03:44:03 +0000 (03:44 +0000)]
Add a wrapper script which modifies the .isolate on the fly.

This tool will ultimately process the .ninja files, in the meantime it archives
all the DLLs. It's cheezy but this will unblock the component build short term.
This is very crude but this will get folks going. This means once it's done, we
can remove all the .isolate representing the dynamic libraries.

Remove swarming_client/ as a dependency in the .isolate files, it's not needed
anymore.

R=vadimsh@chromium.org
BUG=333473

Review URL: https://codereview.chromium.org/196283016

git-svn-id: http://src.chromium.org/svn/trunk/src/base@261652 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoUse cross-platform base::UncheckedMalloc for skia
b.kelemen@samsung.com [Fri, 4 Apr 2014 03:27:03 +0000 (03:27 +0000)]
Use cross-platform base::UncheckedMalloc for skia

UncheckedMalloc/UncheckedCalloc is now implemented for Linux as well so we can use it.

BUG=73751

Review URL: https://codereview.chromium.org/220273002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@261643 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agomac: Remove dead NotificationUIManagerMac.
thakis@chromium.org [Thu, 3 Apr 2014 20:24:55 +0000 (20:24 +0000)]
mac: Remove dead NotificationUIManagerMac.

BUG=120677
NOTRY=true

Review URL: https://codereview.chromium.org/224183002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@261516 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks ago[Android] Fix a few issues related to old lib deletion.
feng@chromium.org [Thu, 3 Apr 2014 14:42:19 +0000 (14:42 +0000)]
[Android] Fix a few issues related to old lib deletion.

Discovered following issues:
1. after each native library load, the code starts a thread
   to delete old libs;
2. render process also tries to delete old libs;
3. Context.getDir(...) creates the directory if not
   existing, so existence test is always successful,
   and assertion may fail;

The CL fixes these issues. LibraryLoader.ensureInitialized
and LibraryLoader.loadNow have a second boolean parameter,
inBrowserProcess, used by caller to indicate whether the code should try to delete old libs.

BUG=357655

Review URL: https://codereview.chromium.org/217283005

git-svn-id: http://src.chromium.org/svn/trunk/src/base@261382 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoGN: Move towards only using / on Windows
scottmg@chromium.org [Thu, 3 Apr 2014 07:45:42 +0000 (07:45 +0000)]
GN: Move towards only using / on Windows

Remove most of the \ handling code, and start some normalization to /
as necessary. Paths that come from actions, etc. aren't validated yet.

This makes the Windows build get farther, but now it fails
with things similar to:

ninja: Entering directory `out_gn2'
ninja: error: WriteFile(obj/third_party/re2/re2/re2.unicode_groups.obj.rsp): Unable to create file. No such file or directory

Looks like we're not creating the subtree for ninja to write
rsp files to? Not sure.

This removes the last argument from rebase_path, so might have some
migration issues in landing the binary.

R=brettw@chromium.org
BUG=354626

Review URL: https://codereview.chromium.org/213353004

git-svn-id: http://src.chromium.org/svn/trunk/src/base@261311 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoRevert of Fix --enable-logging after VS2013 switch (https://codereview.chromium.org...
scottmg@chromium.org [Thu, 3 Apr 2014 06:31:04 +0000 (06:31 +0000)]
Revert of Fix --enable-logging after VS2013 switch (https://codereview.chromium.org/219813003/)

Reason for revert:
Possibly causing failures on nacl_integration x86-64

http://build.chromium.org/p/chromium.win/builders/NaCl%20Tests%20%28x86-64%29/builds/11185/steps/nacl_integration/logs/stdio#failure1

Original issue's description:
> Fix --enable-logging after VS2013 switch
>
> After https://src.chromium.org/viewvc/chrome?view=rev&revision=178656
> a valid fileno of stdout or stderr abort connection of the console to
> stdio on Windows.
>
> Looking at the VS CRT between 2010 and 2013, it seems the behavior
> that r178656 was relying on changed:
>
> (in __initstdio)
>
> C:\Program Files (x86)>diff "Microsoft Visual Studio 10.0\vc\crt\src\_file.c" "Microsoft Visual Studio 12.0\vc\crt\src\_file.c"
> 144,157d143
> <         for ( i = 0 ; i < 3 ; i++ ) {
> <             if ( (_osfhnd(i) == (intptr_t)INVALID_HANDLE_VALUE) ||
> <                  (_osfhnd(i) == _NO_CONSOLE_FILENO) ||
> <                  (_osfhnd(i) == 0) )
> <             {
> <             /*
> <              * For stdin, stdout & stderr, we use _NO_CONSOLE_FILENO (a value
> <              * different from _INVALID_HANDLE_VALUE to distinguish between
> <              * a failure in opening a file & a program run without a console.
> <              */
> <                 _iob[i]._file = _NO_CONSOLE_FILENO;
> <             }
> <         }
> <
> 194a181
> >         __piob = NULL;
>
>
> There's an open bug
>
> http://connect.microsoft.com/VisualStudio/feedback/details/785119/
>
> but as it was broken in 2012 and not fixed in 2013, it doesn't look like it's
> going to be fixed. (The documentation still suggests that r178656 is correct:
> http://msdn.microsoft.com/en-us/library/zs6wbdhx(v=vs.100).aspx vs
> http://msdn.microsoft.com/en-us/library/zs6wbdhx(v=vs.120).aspx ) but that's
> little consolation.
>
> So, confirm that the underlying HANDLE is valid before aborting.
>
> TBR=brettw@chromium.org
> R=mseaborn@chromium.org
> BUG=169941, 309197, 358267
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=260738
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=261253

TBR=mseaborn@chromium.org,brettw@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=169941, 309197, 358267

Review URL: https://codereview.chromium.org/223353002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@261286 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoFix --enable-logging after VS2013 switch
scottmg@chromium.org [Thu, 3 Apr 2014 01:34:36 +0000 (01:34 +0000)]
Fix --enable-logging after VS2013 switch

After https://src.chromium.org/viewvc/chrome?view=rev&revision=178656
a valid fileno of stdout or stderr abort connection of the console to
stdio on Windows.

Looking at the VS CRT between 2010 and 2013, it seems the behavior
that r178656 was relying on changed:

(in __initstdio)

C:\Program Files (x86)>diff "Microsoft Visual Studio 10.0\vc\crt\src\_file.c" "Microsoft Visual Studio 12.0\vc\crt\src\_file.c"
144,157d143
<         for ( i = 0 ; i < 3 ; i++ ) {
<             if ( (_osfhnd(i) == (intptr_t)INVALID_HANDLE_VALUE) ||
<                  (_osfhnd(i) == _NO_CONSOLE_FILENO) ||
<                  (_osfhnd(i) == 0) )
<             {
<             /*
<              * For stdin, stdout & stderr, we use _NO_CONSOLE_FILENO (a value
<              * different from _INVALID_HANDLE_VALUE to distinguish between
<              * a failure in opening a file & a program run without a console.
<              */
<                 _iob[i]._file = _NO_CONSOLE_FILENO;
<             }
<         }
<
194a181
>         __piob = NULL;

There's an open bug

http://connect.microsoft.com/VisualStudio/feedback/details/785119/

but as it was broken in 2012 and not fixed in 2013, it doesn't look like it's
going to be fixed. (The documentation still suggests that r178656 is correct:
http://msdn.microsoft.com/en-us/library/zs6wbdhx(v=vs.100).aspx vs
http://msdn.microsoft.com/en-us/library/zs6wbdhx(v=vs.120).aspx ) but that's
little consolation.

So, confirm that the underlying HANDLE is valid before aborting.

TBR=brettw@chromium.org
R=mseaborn@chromium.org
BUG=169941, 309197, 358267

Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=260738

Review URL: https://codereview.chromium.org/219813003

git-svn-id: http://src.chromium.org/svn/trunk/src/base@261253 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoRemove all uses of GG_UINT32_C.
viettrungluu@chromium.org [Tue, 1 Apr 2014 09:30:06 +0000 (09:30 +0000)]
Remove all uses of GG_UINT32_C.

We can use UINT32_C from <stdint.h>, since we force-define
__STDC_CONSTANT_MACROS.

As a "drive-by", also remove all the other uses of GG_... from
media/cast (since I'll do it later anyway).

R=hclam@chromium.org
TBR=brettw@chromium.org

Review URL: https://codereview.chromium.org/219723003

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260816 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoRevert of Fix --enable-logging after VS2013 switch (https://codereview.chromium.org...
tkent@chromium.org [Tue, 1 Apr 2014 07:24:43 +0000 (07:24 +0000)]
Revert of Fix --enable-logging after VS2013 switch (https://codereview.chromium.org/219813003/)

Reason for revert:
Speculative revert for massive failures of XP browser_tests.

http://build.chromium.org/p/chromium.win/builders/XP%20Tests%20%281%29/builds/30725

Original issue's description:
> Fix --enable-logging after VS2013 switch
>
> After https://src.chromium.org/viewvc/chrome?view=rev&revision=178656
> a valid fileno of stdout or stderr abort connection of the console to
> stdio on Windows.
>
> Looking at the VS CRT between 2010 and 2013, it seems the behavior
> that r178656 was relying on changed:
>
> (in __initstdio)
>
> C:\Program Files (x86)>diff "Microsoft Visual Studio 10.0\vc\crt\src\_file.c" "Microsoft Visual Studio 12.0\vc\crt\src\_file.c"
> 144,157d143
> <         for ( i = 0 ; i < 3 ; i++ ) {
> <             if ( (_osfhnd(i) == (intptr_t)INVALID_HANDLE_VALUE) ||
> <                  (_osfhnd(i) == _NO_CONSOLE_FILENO) ||
> <                  (_osfhnd(i) == 0) )
> <             {
> <             /*
> <              * For stdin, stdout & stderr, we use _NO_CONSOLE_FILENO (a value
> <              * different from _INVALID_HANDLE_VALUE to distinguish between
> <              * a failure in opening a file & a program run without a console.
> <              */
> <                 _iob[i]._file = _NO_CONSOLE_FILENO;
> <             }
> <         }
> <
> 194a181
> >         __piob = NULL;
>
>
> There's an open bug
>
> http://connect.microsoft.com/VisualStudio/feedback/details/785119/
>
> but as it was broken in 2012 and not fixed in 2013, it doesn't look like it's
> going to be fixed. (The documentation still suggests that r178656 is correct:
> http://msdn.microsoft.com/en-us/library/zs6wbdhx(v=vs.100).aspx vs
> http://msdn.microsoft.com/en-us/library/zs6wbdhx(v=vs.120).aspx ) but that's
> little consolation.
>
> So, confirm that the underlying HANDLE is valid before aborting.
>
> TBR=brettw@chromium.org
> R=mseaborn@chromium.org
> BUG=169941, 309197, 358267
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=260738

TBR=mseaborn@chromium.org,brettw@chromium.org,scottmg@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=169941, 309197, 358267

Review URL: https://codereview.chromium.org/220653002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260786 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoFix --enable-logging after VS2013 switch
scottmg@chromium.org [Tue, 1 Apr 2014 01:47:35 +0000 (01:47 +0000)]
Fix --enable-logging after VS2013 switch

After https://src.chromium.org/viewvc/chrome?view=rev&revision=178656
a valid fileno of stdout or stderr abort connection of the console to
stdio on Windows.

Looking at the VS CRT between 2010 and 2013, it seems the behavior
that r178656 was relying on changed:

(in __initstdio)

C:\Program Files (x86)>diff "Microsoft Visual Studio 10.0\vc\crt\src\_file.c" "Microsoft Visual Studio 12.0\vc\crt\src\_file.c"
144,157d143
<         for ( i = 0 ; i < 3 ; i++ ) {
<             if ( (_osfhnd(i) == (intptr_t)INVALID_HANDLE_VALUE) ||
<                  (_osfhnd(i) == _NO_CONSOLE_FILENO) ||
<                  (_osfhnd(i) == 0) )
<             {
<             /*
<              * For stdin, stdout & stderr, we use _NO_CONSOLE_FILENO (a value
<              * different from _INVALID_HANDLE_VALUE to distinguish between
<              * a failure in opening a file & a program run without a console.
<              */
<                 _iob[i]._file = _NO_CONSOLE_FILENO;
<             }
<         }
<
194a181
>         __piob = NULL;

There's an open bug

http://connect.microsoft.com/VisualStudio/feedback/details/785119/

but as it was broken in 2012 and not fixed in 2013, it doesn't look like it's
going to be fixed. (The documentation still suggests that r178656 is correct:
http://msdn.microsoft.com/en-us/library/zs6wbdhx(v=vs.100).aspx vs
http://msdn.microsoft.com/en-us/library/zs6wbdhx(v=vs.120).aspx ) but that's
little consolation.

So, confirm that the underlying HANDLE is valid before aborting.

TBR=brettw@chromium.org
R=mseaborn@chromium.org
BUG=169941, 309197, 358267

Review URL: https://codereview.chromium.org/219813003

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260738 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agobase::MD5IntermediateFinal() generates digest non-destructively.
shess@chromium.org [Tue, 1 Apr 2014 01:31:37 +0000 (01:31 +0000)]
base::MD5IntermediateFinal() generates digest non-destructively.

MD5Final() modifies the context, which prevents calculating an intermediate
digest while also continuing to build an overall context.

BUG=none

Review URL: https://codereview.chromium.org/211273009

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260731 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoImplement Read/WriteAtCurrentPos correctly
hashimoto@chromium.org [Mon, 31 Mar 2014 22:18:09 +0000 (22:18 +0000)]
Implement Read/WriteAtCurrentPos correctly

BUG=356979

Review URL: https://codereview.chromium.org/213473007

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260673 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoRemove unused GG_(U)INTn_C macros from base/port.h.
viettrungluu@chromium.org [Mon, 31 Mar 2014 16:55:34 +0000 (16:55 +0000)]
Remove unused GG_(U)INTn_C macros from base/port.h.

Also mark the remaining ones as deprecated. In Chromium, we force-define
__STDC_CONSTANT_MACROS, so you can just use the regular (U)INTn_C macros
from <stdint.h>.

R=brettw@chromium.org

Review URL: https://codereview.chromium.org/218613005

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260571 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoAdd unistd.h include in a file using geteuid().
thakis@chromium.org [Mon, 31 Mar 2014 16:46:54 +0000 (16:46 +0000)]
Add unistd.h include in a file using geteuid().

(Also delete two dead methods in other files.)

BUG=31877
NOTRY=true

Review URL: https://codereview.chromium.org/218133002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260569 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

2 weeks agoIncrease the broken tests threshold from 10 to 20
phajdan.jr@chromium.org [Mon, 31 Mar 2014 13:45:03 +0000 (13:45 +0000)]
Increase the broken tests threshold from 10 to 20

BUG=none
R=sky@chromium.org

Review URL: https://codereview.chromium.org/219383002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260539 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

3 weeks agoSeparate storage for protected preferences into Protected Preferences file.
erikwright@chromium.org [Sat, 29 Mar 2014 17:48:49 +0000 (17:48 +0000)]
Separate storage for protected preferences into Protected Preferences file.

Introduces ProtectedPrefStore which delegates to two different backing stores to handle unprotected and protected values.

NOTRY=True
BUG=349158

Review URL: https://codereview.chromium.org/205813002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260387 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

3 weeks agoUpdate code related to OOM errors in sanitizer builds.
earthdok@chromium.org [Sat, 29 Mar 2014 17:30:40 +0000 (17:30 +0000)]
Update code related to OOM errors in sanitizer builds.

Remove outdated comment and enable OOM tests under sanitizers. Also, document
the fact that the newly introduced UncheckedMalloc()/UncheckedCalloc() don't
work as intended in sanitizer builds.

BUG=357732
R=thakis@chromium.org

Review URL: https://codereview.chromium.org/217343002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260379 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

3 weeks agoFix an ADDRESS_SANITIZER guard so that it works with SyzyASAN.
chrisha@chromium.org [Fri, 28 Mar 2014 17:35:10 +0000 (17:35 +0000)]
Fix an ADDRESS_SANITIZER guard so that it works with SyzyASAN.

BUG=357024

Review URL: https://codereview.chromium.org/217023002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260188 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

3 weeks agoRefactor TestingPrefStore to make it useful to some tests of load errors and asynchrony.
erikwright@chromium.org [Fri, 28 Mar 2014 16:17:41 +0000 (16:17 +0000)]
Refactor TestingPrefStore to make it useful to some tests of load errors and asynchrony.

BUG=349158
R=mnissler@chromium.org

Review URL: https://codereview.chromium.org/210063003

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260150 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

3 weeks agoAndroid: improves error message for Outer.Inner usage in JNI.
bulach@chromium.org [Fri, 28 Mar 2014 11:15:06 +0000 (11:15 +0000)]
Android: improves error message for Outer.Inner usage in JNI.

The JNI generator was wrongly identifying Outer.Inner.
Raise an exception with a clearer message.

BUG=

Review URL: https://codereview.chromium.org/214543002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260103 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

3 weeks agoRevert 259561 "Set the default ASan options for executables buil..."
mukai@chromium.org [Fri, 28 Mar 2014 00:09:43 +0000 (00:09 +0000)]
Revert 259561 "Set the default ASan options for executables buil..."

> Set the default ASan options for executables built with ASan on Linux.
>
> This is a copy of https://codereview.chromium.org/25687005/ updated for the current trunk
> with the link_dependency attribute speculatively added to base/base.gyp:sanitizer_options
> to avoid potential dependency cycles.
>
> This CL introduces a module, base/debug/sanitizer_options.cc, which will override
> the defaults for various dynamic tools (only ASan at this moment). For every executable
> built with a dynamic tool this module will be linked into that executable, providing
> weak functions to be called by the tool.
>
> The existing declaration of __asan_default_options() in chrome/app/chrome_exe_main_gtk.cc
> has been moved into sanitizer_options.cc (now every binary built with GOOGLE_CHROME_BUILD=1
> will have the same options as google-chrome-asan.
> The existing declaration of __asan_default_options() in chrome/nacl/nacl_helper_linux.cc
> has been kept as is, but we had to remove -Wl,-u_sanitizer_options_link_helper to avoid picking sanitizer_options.cc.
>
> GYP changes for OSX and iOS will be committed separately.
>
> BUG=302040
> TBR=thakis@chromium.org
>
> Review URL: https://codereview.chromium.org/201153007

TBR=glider@chromium.org
BUG=357093

Review URL: https://codereview.chromium.org/215363006

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260037 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

3 weeks agoRevert 259709 "Add the host toolset to base:sanitizer_options. F..."
mukai@chromium.org [Fri, 28 Mar 2014 00:07:53 +0000 (00:07 +0000)]
Revert 259709 "Add the host toolset to base:sanitizer_options. F..."

> Add the host toolset to base:sanitizer_options. Fix a typo in nacl.gyp
>
> This is a follow-up for https://codereview.chromium.org/201153007/
> intended to fix the ChromeOS ASan bots.
>
> BUG=302040
> R=thakis@chromium.org
> TBR=mseaborn@chromium.org
>
> Review URL: https://codereview.chromium.org/213113002

TBR=glider@chromium.org
BUG=357093

Review URL: https://codereview.chromium.org/214873005

git-svn-id: http://src.chromium.org/svn/trunk/src/base@260036 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

3 weeks agoRemove GN GYP generator.
brettw@chromium.org [Thu, 27 Mar 2014 21:08:35 +0000 (21:08 +0000)]
Remove GN GYP generator.

This removes the GYP generator code and associated build stuff.

R=scottmg@chromium.org

Review URL: https://codereview.chromium.org/206813002

git-svn-id: http://src.chromium.org/svn/trunk/src/base@259983 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

3 weeks agoUse SYZYASAN instead of ADDRESS_SANITIZER.
chrisha@google.com [Thu, 27 Mar 2014 15:08:04 +0000 (15:08 +0000)]
Use SYZYASAN instead of ADDRESS_SANITIZER.

We've seen different failure related to the fact that we use the same flag without providing the same API and functionality.

BUG=
TBR=jamesr

Review URL: https://codereview.chromium.org/212643015

git-svn-id: http://src.chromium.org/svn/trunk/src/base@259855 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

3 weeks agoDelete some dead code.
thakis@chromium.org [Thu, 27 Mar 2014 02:46:05 +0000 (02:46 +0000)]
Delete some dead code.

Found by a tweaked -Wunused-member-function Nuno Lopes is working on.

BUG=none
R=brettw@chromium.org, miket@chromium.org, rsleevi@chromium.org, sky@chromium.org
TBR=rogerta, sky

Review URL: https://codereview.chromium.org/213363003

git-svn-id: http://src.chromium.org/svn/trunk/src/base@259767 4ff67af0-8c30-449e-8e8b-ad334ec8d88c