chromium/src/base.git
33 min agoRevert of Add builders for tracing event's structural arguments (https://codereview... master
erikchen@chromium.org [Thu, 31 Jul 2014 19:02:09 +0000 (19:02 +0000)]
Revert of Add builders for tracing event's structural arguments (https://codereview.chromium.org/380763002/)

Reason for revert:
linux ASAN errors.

http://build.chromium.org/p/chromium.memory/builders/Linux%20ASan%20LSan%20Tests%20%281%29/builds/4493/steps/base_unittests/logs/stdio

Original issue's description:
> Add builders for tracing event's structural arguments
>
> The new classes allow building JSON-like structural arguments. Current implementation uses base::Value as backing store but that can be replaced in the future with something more efficient without changing client code.
>
> All clients of cc/debug/traced_value.h should eventually switch to use the new builders.
>
> BUG=361045
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=286849

TBR=alph, caseq, dsinclair, nduca, willchan, yurys
NOTREECHECKS=true
NOTRY=true
BUG=361045

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

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

95 min agoAdd builders for tracing event's structural arguments
yurys@chromium.org [Thu, 31 Jul 2014 17:59:29 +0000 (17:59 +0000)]
Add builders for tracing event's structural arguments

The new classes allow building JSON-like structural arguments. Current implementation uses base::Value as backing store but that can be replaced in the future with something more efficient without changing client code.

All clients of cc/debug/traced_value.h should eventually switch to use the new builders.

BUG=361045

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

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

6 hours ago[Android] Pass the right listener to DatePickerDialog
miguelg@chromium.org [Thu, 31 Jul 2014 13:25:55 +0000 (13:25 +0000)]
[Android] Pass the right listener to DatePickerDialog

BUG=395768

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

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

16 hours agoDraw the start of input latency using its original/ui timestamp
miletus@chromium.org [Thu, 31 Jul 2014 03:24:09 +0000 (03:24 +0000)]
Draw the start of input latency using its original/ui timestamp

Currently we draw the start of input event's latencyinfo using the
timestamp when we issue the async trace event when the input event
is passing through RWH. This CL changes that we now draw the start
of input event's latencyinfo using the input event's orignial/ui
component's timestamp so visually we can better see when the input
event was created.

BUG=396236
TEST=do scroll latency tracing on pixel/android, see that now latency
     for TouchMove and GestureScrollUpdate are drawn at the same starting
     time.

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

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

16 hours agoHide some SyzyASan specific code behind an '#if defined(COMPILER_MSVC)'.
sebmarchand@chromium.org [Thu, 31 Jul 2014 03:12:03 +0000 (03:12 +0000)]
Hide some SyzyASan specific code behind an '#if defined(COMPILER_MSVC)'.

This is necessary for the code in base/debug/... because it gets included by base_nacl which is compiled with g++ which doesn't support SyzyASan.

R=thakis@chromium.org
BUG=

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

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

19 hours agoMacViews: Get NativeTheme colors from the system preferences
tapted@chromium.org [Thu, 31 Jul 2014 00:18:26 +0000 (00:18 +0000)]
MacViews: Get NativeTheme colors from the system preferences

Mac has some basic colour customisation available in Preferences ->
General (Preferences -> Appearance in earlier OS versions). "Blue" or
"Graphite" changes menu/controls appearance. The colour for highlighted
text can be anything. Power users can also modify
~/Library/Colors/System.clr.

This change adds the scaffolding to look up these colors from the system
in NativeThemeMac. Not all colours are mapped yet.

Screenshot at http://crbug.com/379086#c2

BUG=379086

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

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

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

20 hours agoAdd unsigned 64-bit integer support to BigEndianReader and BigEndianWriter.
benchan@chromium.org [Wed, 30 Jul 2014 23:24:48 +0000 (23:24 +0000)]
Add unsigned 64-bit integer support to BigEndianReader and BigEndianWriter.

BUG=None

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

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

24 hours agoRenderTextHarfBuzz: Allow mid-glyph cursors in multi-grapheme clusters
ckocagil@chromium.org [Wed, 30 Jul 2014 18:49:21 +0000 (18:49 +0000)]
RenderTextHarfBuzz: Allow mid-glyph cursors in multi-grapheme clusters

Use the Unicode grapheme boundary algorithm via ICU BreakIterator to count graphemes in clusters

BUG=383265
TBR=jshin
NOTRY=true

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

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

34 hours agoRelanding after a fix: Attempt to load system fonts using Custom Font interface of...
shrikant@chromium.org [Wed, 30 Jul 2014 08:56:17 +0000 (08:56 +0000)]
Relanding after a fix: Attempt to load system fonts using Custom Font interface of directwrite
instead of system font collection interface.
The theory is that system font collection may sometime appear to hang or just not load fonts on systems with
large number of fonts (in order of 1000+). With custom font collection we want to take control of font loading part and explore ways to improve it further.

This particular approach is loading all fonts inside renderer, we can potentially use this same code load fonts from browser side as and when required.

BUG=394164
R=cpu@chromium.org, jam@chromium.org, scottmg@chromium.org

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

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

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

36 hours agoAdd LINKER_INITIALIZER marker to MemoryMappedFile::Region::kWholeFile
primiano@chromium.org [Wed, 30 Jul 2014 07:02:10 +0000 (07:02 +0000)]
Add LINKER_INITIALIZER marker to MemoryMappedFile::Region::kWholeFile

This is a follow-up to crrev.com/394313002. const initializers which
rely on the linker zero-initialization should use the LINKER_INITIALIZER
ctor for documentation purposes.
More discussion about this in the linked CL.

BUG=394502

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

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

42 hours agoRevert of MacViews: Get NativeTheme colors from the system preferences (https://coder...
tapted@chromium.org [Wed, 30 Jul 2014 01:15:34 +0000 (01:15 +0000)]
Revert of MacViews: Get NativeTheme colors from the system preferences (https://codereview.chromium.org/308673006/)

Reason for revert:
Raises an exception on Snow Leopard:

chrome_browser_application_mac.mm(147)] Someone is trying to raise an exception!  NSInvalidArgumentException reason *** -numberOfComponents not defined for the NSColor NSNamedColorSpace System windowBackgroundColor; need to first convert colorspace.

Original issue's description:
> MacViews: Get NativeTheme colors from the system preferences
>
> Mac has some basic colour customisation available in Preferences ->
> General (Preferences -> Appearance in earlier OS versions). "Blue" or
> "Graphite" changes menu/controls appearance. The colour for highlighted
> text can be anything. Power users can also modify
> ~/Library/Colors/System.clr.
>
> This change adds the scaffolding to look up these colors from the system
> in NativeThemeMac. Not all colours are mapped yet.
>
> Screenshot at http://crbug.com/379086#c2
>
> BUG=379086
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=286356

NOTREECHECKS=true
NOTRY=true
TBR=tapted@chromium.org

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

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

43 hours agoMacViews: Get NativeTheme colors from the system preferences
tapted@chromium.org [Wed, 30 Jul 2014 00:11:44 +0000 (00:11 +0000)]
MacViews: Get NativeTheme colors from the system preferences

Mac has some basic colour customisation available in Preferences ->
General (Preferences -> Appearance in earlier OS versions). "Blue" or
"Graphite" changes menu/controls appearance. The colour for highlighted
text can be anything. Power users can also modify
~/Library/Colors/System.clr.

This change adds the scaffolding to look up these colors from the system
in NativeThemeMac. Not all colours are mapped yet.

Screenshot at http://crbug.com/379086#c2

BUG=379086

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

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

2 days ago[Mac] Fix ProcessUtilTest.FDRemapping for 10.9 and later.
shess@chromium.org [Tue, 29 Jul 2014 00:20:13 +0000 (00:20 +0000)]
[Mac] Fix ProcessUtilTest.FDRemapping for 10.9 and later.

OSX 10.9 introduced a kernel facility which allows tagging file
descriptors to prevent various operations unless the caller knows the
key.  libdispatch uses this facility to tag a file descriptor against
close() or dup(), and this test does both.  Unfortunately, the failure
case is to raise a kernel exception and hang the child process rather
than return an error code.

This change addresses this by attempting to set a guard.  If successful,
the guard is removed and the caller can close the file descriptor as
normal.  If unsuccessful, either the file descriptor is not valid, or it
is guarded and cannot be closed.  Either way, it is skipped.  The test
still succeeds by counting the file descriptors which can be closed.

BUG=338157

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

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

2 days agoAdd beginnings of android_apk and unittest_apk templates
cjhopman@chromium.org [Mon, 28 Jul 2014 23:53:11 +0000 (23:53 +0000)]
Add beginnings of android_apk and unittest_apk templates

This adds two templates, android_apk and unittest_apk. unittest_apk is
a simple wrapper of android_apk for packaging gtests into apks.

android_apk currently just does the java compilation, processing
resources, and build_config stuff for apks.

BUG=359249

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

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

2 days ago[Android] Configurable instrumentation test runner + test SDK levels.
jbudorick@chromium.org [Mon, 28 Jul 2014 23:06:17 +0000 (23:06 +0000)]
[Android] Configurable instrumentation test runner + test SDK levels.

This patch:
  - extracts the instrumentation test runner from the
    AndroidManifest.xml file in the apk.
  - allows test authors to specify a minimum SDK level for
    instrumentation test classes via the MinAndroidSdkLevel annotation.
  - filters the list of instrumentation tests according to the sdk
    levels of all attached devices.
  - speeds up our proguard function by dumping to a temporary file.

BUG=

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

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

2 days agoRevert 285977 "Attempt to load system fonts using Custom Font in..."
zmo@chromium.org [Mon, 28 Jul 2014 22:07:05 +0000 (22:07 +0000)]
Revert 285977 "Attempt to load system fonts using Custom Font in..."

> Attempt to load system fonts using Custom Font interface of directwrite
> instead of system font collection interface.
> The theory is that system font collection may sometime appear to hang or just not load fonts on systems with
> large number of fonts (in order of 1000+). With custom font collection we want to take control of font loading part and explore ways to improve it further.
>
> This particular approach is loading all fonts inside renderer, we can potentially use this same code load fonts from browser side as and when required.
>
> BUG=394164
> R=cpu@chromium.org, jam@chromium.org, scottmg@chromium.org
>
> Review URL: https://codereview.chromium.org/406693003

TBR=shrikant@chromium.org

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

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

2 days agoMove scoped_observer.h from base_unittests to base. It is not a test.
jbroman@chromium.org [Mon, 28 Jul 2014 21:29:57 +0000 (21:29 +0000)]
Move scoped_observer.h from base_unittests to base. It is not a test.

Found with 'gn check'.

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

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

2 days agoAttempt to load system fonts using Custom Font interface of directwrite
shrikant@chromium.org [Mon, 28 Jul 2014 21:03:46 +0000 (21:03 +0000)]
Attempt to load system fonts using Custom Font interface of directwrite
instead of system font collection interface.
The theory is that system font collection may sometime appear to hang or just not load fonts on systems with
large number of fonts (in order of 1000+). With custom font collection we want to take control of font loading part and explore ways to improve it further.

This particular approach is loading all fonts inside renderer, we can potentially use this same code load fonts from browser side as and when required.

BUG=394164
R=cpu@chromium.org, jam@chromium.org, scottmg@chromium.org

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

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

2 days agoMove base/data to base/test/data to be with the rest of the test data.
jam@chromium.org [Mon, 28 Jul 2014 19:45:21 +0000 (19:45 +0000)]
Move base/data to base/test/data to be with the rest of the test data.

R=brettw@chromium.org

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

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

3 days agoFix 2 warnings in the ASan tests.
sebmarchand@chromium.org [Mon, 28 Jul 2014 18:25:56 +0000 (18:25 +0000)]
Fix 2 warnings in the ASan tests.

TBR=thakis@chromium.org
BUG=

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

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

3 days agoAdd support for loading pak files from arbitrary file regions.
primiano@chromium.org [Mon, 28 Jul 2014 17:57:40 +0000 (17:57 +0000)]
Add support for loading pak files from arbitrary file regions.

This is to support a new use case for Android: mmap a pak file
directly from the APK (where it will be stored uncompressed)
without extracting it first. This would save both precious space
on the flash and startup time on the first run.
This CL introduces:
 - the necessary changes to base::File to memory map arbitrary
  regions of a file.
 - The corresponding changes (plus unittests)  in DataPack and
  ResourceBundle to take advantage of the new support.
At present state, this CL is not intended to introduce any
behavioral change.

BUG=394502

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

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

3 days agoWeakly bind JsonPrefStore's async read task to avoid it coming back after shutdown...
gab@chromium.org [Mon, 28 Jul 2014 17:43:15 +0000 (17:43 +0000)]
Weakly bind JsonPrefStore's async read task to avoid it coming back after shutdown has been initiated.

BUG=393081

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

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

3 days agoMSan: increase the test timeout multiplier to 6x.
earthdok@chromium.org [Mon, 28 Jul 2014 11:45:16 +0000 (11:45 +0000)]
MSan: increase the test timeout multiplier to 6x.

BUG=178409
TBR=phajdan.jr@chromium.org
NOTRY=true

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

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

3 days agoComplete the removal of ProcessMetrics::CalculateFreeMemory
wfh@chromium.org [Mon, 28 Jul 2014 06:19:21 +0000 (06:19 +0000)]
Complete the removal of ProcessMetrics::CalculateFreeMemory

r281335 left the header definition.

BUG=389703

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

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

4 days agoclang/win: Fix a few warnings.
thakis@chromium.org [Sun, 27 Jul 2014 11:30:45 +0000 (11:30 +0000)]
clang/win: Fix a few warnings.

__THROW is not some magical thing, don't pretend it is. Don't add it to
extern "C" functions. Replace it with "throw ()" on the functions where it's
correct since it was defined to nothing on windows (the only place where this
file is used).

Fix an inconsequential enum constant mix-up in media (both enum constants
evaluated to the same value, and the enums had the same size, so it shouldn't
make a difference in practice, but the old code was comparing enum variables
with enum constants from a different enum).

BUG=82385
TBR=dalecurtis

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

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

4 days agotsan_suppressions: remove vp9 suppression
jzern@chromium.org [Sat, 26 Jul 2014 20:20:21 +0000 (20:20 +0000)]
tsan_suppressions: remove vp9 suppression

The fix was picked up in the r282874 libvpx roll.
BUG=350982

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

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

5 days agoUpdate masters after the tryserver split.
sergeyberezin@chromium.org [Sat, 26 Jul 2014 04:38:32 +0000 (04:38 +0000)]
Update masters after the tryserver split.

Also replace deprecated linux_chromium_rel with linux_chromium_rel_swarming, while I'm at it.

R=agable@chromium.org, maruel@chromium.org
BUG=395196

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

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

5 days agoRevert 285437 "Block on LaunchProcess failing on specific bot"
viettrungluu@chromium.org [Sat, 26 Jul 2014 00:06:30 +0000 (00:06 +0000)]
Revert 285437 "Block on LaunchProcess failing on specific bot"

scottmg told me to do this.

> Block on LaunchProcess failing on specific bot
>
> Block in a loop if we get a specific failure on a particular bot.
> See environment variables at http://build.chromium.org/p/chromium.win/builders/Win8%20Aura/builds/20713/steps/views_unittests/logs/stdio for reference.
>
> Timeout raise attempted at https://codereview.chromium.org/410353004/ so
> that there will be time to attach a debugger.
>
> R=brettw@chromium.org
> BUG=340422
>
> Review URL: https://codereview.chromium.org/411223002

TBR=scottmg@chromium.org

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

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

5 days agoRe-enable various MSVC warnings.
pkasting@chromium.org [Sat, 26 Jul 2014 00:01:53 +0000 (00:01 +0000)]
Re-enable various MSVC warnings.

BUG=81439
TEST=none

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

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

6 days agoRemove Create*Value (except CreateNullValue)
estade@chromium.org [Fri, 25 Jul 2014 05:55:36 +0000 (05:55 +0000)]
Remove Create*Value (except CreateNullValue)

BUG=160586

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

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

6 days agoUpdate trace_event_unittest to use ASSERT_LE rather than ASSERT_LT.
nednguyen@google.com [Fri, 25 Jul 2014 03:35:39 +0000 (03:35 +0000)]
Update trace_event_unittest to use ASSERT_LE rather than ASSERT_LT.

BUG=396403

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

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

6 days agoandroid tests: don't override DIR_MODULE (take 2)
tim@chromium.org [Fri, 25 Jul 2014 01:52:14 +0000 (01:52 +0000)]
android tests: don't override DIR_MODULE (take 2)

another attempt at https://codereview.chromium.org/408063002/ to try fixing
the iOS Simulator:URLFixerTest failures writing to DIR_TEST_DATA.

R=nyquist@chromium.org
TBR=brettw@chromium.org, nyquist@chromium.org, sky@chromium.org
BUG=

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

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

6 days agoAdd a trace event to MemoryPressureListener::NotifyMemoryPressure.
rmcilroy@chromium.org [Fri, 25 Jul 2014 01:41:57 +0000 (01:41 +0000)]
Add a trace event to MemoryPressureListener::NotifyMemoryPressure.

Add a trace event to MemoryPressureListener::NotifyMemoryPressure to enable
tracking of whether any jank is caused by dealing with memory pressure
notifications.

BUG=397026

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

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

6 days agoBlock on LaunchProcess failing on specific bot
scottmg@chromium.org [Fri, 25 Jul 2014 00:31:46 +0000 (00:31 +0000)]
Block on LaunchProcess failing on specific bot

Block in a loop if we get a specific failure on a particular bot.
See environment variables at http://build.chromium.org/p/chromium.win/builders/Win8%20Aura/builds/20713/steps/views_unittests/logs/stdio for reference.

Timeout raise attempted at https://codereview.chromium.org/410353004/ so
that there will be time to attach a debugger.

R=brettw@chromium.org
BUG=340422

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

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

7 days agoAdd missing base files to GN build.
brettw@chromium.org [Thu, 24 Jul 2014 18:24:30 +0000 (18:24 +0000)]
Add missing base files to GN build.

Fix the devtools resources target to use the grit template.

Fix the grit template to use the correct output directory for the expected files if one is specified

R=viettrungluu@chromium.org

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

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

7 days agoMSan: increase the test timeout multiplier to 4x.
earthdok@chromium.org [Thu, 24 Jul 2014 15:51:05 +0000 (15:51 +0000)]
MSan: increase the test timeout multiplier to 4x.

A couple of browser tests still take too long when build with
msan_track_origins > 0.

BUG=178409
TBR=phajdan.jr@chromium.org
NOTRY=true

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

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

7 days agoMakes HandleWatcher block until no longer waiting on pipe
sky@chromium.org [Thu, 24 Jul 2014 14:57:28 +0000 (14:57 +0000)]
Makes HandleWatcher block until no longer waiting on pipe

BUG=394886
TEST=covered as best as can from tests
R=darin@chromium.org, jam@chromium.org

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

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

7 days agoSuppress a deadlock in TraceEventTestFixture.ThreadOnceBlocking
glider@chromium.org [Thu, 24 Jul 2014 14:43:23 +0000 (14:43 +0000)]
Suppress a deadlock in TraceEventTestFixture.ThreadOnceBlocking

BUG=397022
TBR=earthdok@chromium.org
NOTRY=true

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

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

7 days agoAdd a random name to anonymous shared memory sections
jschuh@chromium.org [Thu, 24 Jul 2014 11:42:59 +0000 (11:42 +0000)]
Add a random name to anonymous shared memory sections

This prevents Windows from ignoring the DACL on unnamed sections.

BUG=338538
R=cpu@chromium.org,brettw@chromium.org

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

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

7 days agoRevert of android tests: don't override DIR_MODULE (https://codereview.chromium.org...
tim@chromium.org [Thu, 24 Jul 2014 06:27:31 +0000 (06:27 +0000)]
Revert of android tests: don't override DIR_MODULE (https://codereview.chromium.org/408063002/)

Reason for revert:

Need to fix components_unittests on iOS simulator (try was green, but test actually failed)

Original issue's description:
> android tests: don't override DIR_MODULE
>
> BUG=
> R=brettw@chromium.org, nyquist@chromium.org, phajdan.jr@chromium.org, sky@chromium.org
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=285096

TBR=nyquist@chromium.org,brettw@chromium.org,sky@chromium.org,phajdan.jr@chromium.org,jamesr@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=

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

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

7 days agoObserver Support for DistilledPagePrefs
sunangel@chromium.org [Thu, 24 Jul 2014 02:13:30 +0000 (02:13 +0000)]
Observer Support for DistilledPagePrefs

These changes provide support for observers for DistilledPagePrefs
to listen to changes in DistilledPagePrefs.

BUG=383630

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

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

7 days agoandroid tests: don't override DIR_MODULE
tim@chromium.org [Thu, 24 Jul 2014 01:02:22 +0000 (01:02 +0000)]
android tests: don't override DIR_MODULE

BUG=
R=brettw@chromium.org, nyquist@chromium.org, phajdan.jr@chromium.org, sky@chromium.org

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

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

7 days agoclang/win: Fix most -Wwriteable-strings warnings.
thakis@chromium.org [Wed, 23 Jul 2014 22:04:53 +0000 (22:04 +0000)]
clang/win: Fix most -Wwriteable-strings warnings.

Many win32 APIs take non-const string pointers. I checked that MSDN documents
them as _In_ and says that they are inputs, and then added const_cast<>s at
the calling sites. (In one test, I introduced a helper struct so that there
can be fewer casts.)

This wasn't just busywork, I found one function that we were handing string
literals where the documentation explicitly said that that's not valid
(filed http://crbug.com/396705).

I didn't change the DECLARE_REGISTRY_APPID_RESOURCEID() call in cloud_print;
it sounds like that'll fix itself when we update to the 2014 sdk:
http://connect.microsoft.com/VisualStudio/feedback/details/806376/atl-hindrances-to-adopting-new-strictstrings-conformance-option-in-vs2013

BUG=396705,82385
R=rnk@chromium.org, rsleevi@chromium.org, sergeyu@chromium.org, vitalybuka@chromium.org

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

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

8 days agoBring back the retry limit to 3.
jam@chromium.org [Wed, 23 Jul 2014 19:02:05 +0000 (19:02 +0000)]
Bring back the retry limit to 3.

This reverts r284650. There is one test that is flaky 34% of the time, but that is the exception and not the norm. We don't need 12 retries to make browser_tests or other test suites not flaky. If there are very flaky tests, we should disable them instead. I've disabled all the tests that flake more than 5% of the time.

BUG=395189
R=brettw@chromium.org, sergeyberezin@chromium.org

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

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

8 days agoDisable all the tests that are flaking more than 5% on Windows builders.
jam@chromium.org [Wed, 23 Jul 2014 17:20:15 +0000 (17:20 +0000)]
Disable all the tests that are flaking more than 5% on Windows builders.

Data from http://chromium-build-logs.appspot.com/flakiness_dashboard?master=chromium.win.

BUG=386891,387124,396373,396384,396386,396387,396388,396390,396392,387124,396393,396395,396399,396402,396403,396404,396405,393149,396409,95557,396413,396414,375894
R=viettrungluu@chromium.org
TBR=brettw, rvargas, sky

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

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

8 days agoUpdate the TSan suppressions for uprv_malloc_xx and uprv_realloc_xx
glider@chromium.org [Wed, 23 Jul 2014 10:07:03 +0000 (10:07 +0000)]
Update the TSan suppressions for uprv_malloc_xx and uprv_realloc_xx

BUG=223352
TBR=bruening@chromium.org
NOTRY=true

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

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

8 days agoAdded an annotation to label Integration tests.
yojan@google.com [Wed, 23 Jul 2014 00:15:01 +0000 (00:15 +0000)]
Added an annotation to label Integration tests.

An IntegrationTest label will be required for tests that may require
a greater timeout value than LargeTest allows. These tests will run
against real instances of other services (e.g. Search). They may use
command-line flags to change the backends that are being tested against.

BUG=None

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

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

9 days agoGet rid of FileThreadDeserializer.
gab@chromium.org [Tue, 22 Jul 2014 19:30:17 +0000 (19:30 +0000)]
Get rid of FileThreadDeserializer.

Replace it with modern threading constructs:
 - PostTaskAndReplyWithResult gets rid of most of the logic FileThreadDeserializer was implementing.
 - The remainder logic didn't require any class state so it was moved to anonymous methods.

Also declare JsonPrefStore explicitly NonThreadSafe (the only actions outside the UI thread should happen by posting anonymous tasks to the |sequenced_task_runner_|).

This is a stepping stone in cleaning up JsonPrefStore to eventually get rid of PrefStore's ref-counting scheme.

BUG=393081

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

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

9 days agoclang/win: Fix calling delete[] on void* in base.
thakis@chromium.org [Tue, 22 Jul 2014 16:56:22 +0000 (16:56 +0000)]
clang/win: Fix calling delete[] on void* in base.

Calling delete[] on void* is undefined behavior. Cast to the right
type before calling delete[]. Fixes a clang warning.

BUG=82385
TBR=siggi

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

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

9 days agoModify TraceEventTestFixture.TraceBufferVectorReportFull to assert the overflowed_at_...
nednguyen@google.com [Tue, 22 Jul 2014 16:33:37 +0000 (16:33 +0000)]
Modify TraceEventTestFixture.TraceBufferVectorReportFull to assert the overflowed_at_ts is between the timestamp of last event and current trace_log's time.

BUG=395739

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

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

9 days agoRevert of High resolution timer fix for Windows (https://codereview.chromium.org...
ksakamoto@chromium.org [Tue, 22 Jul 2014 11:32:40 +0000 (11:32 +0000)]
Revert of High resolution timer fix for Windows (https://codereview.chromium.org/395913006/)

Reason for revert:
This patch seems to make following browser_tests flakey

PPAPINaClNewlibTest.Graphics2D_FlushOffscreenUpdate
NetInternalsTest.netInternalsHSTSViewAddOverwrite
NetInternalsTest.netInternalsHSTSViewAddDelete
NetInternalsTest.netInternalsHSTSViewAddTwice

http://build.chromium.org/p/chromium.win/builders/XP%20Tests%20%282%29/builds/34734
http://build.chromium.org/p/chromium.win/builders/XP%20Tests%20%281%29/builds/32086
http://build.chromium.org/p/chromium.win/builders/Vista%20Tests%20%281%29/builds/47545

Original issue's description:
> This is jamesr@ code I am landing.
>
> On Windows the message pump code tried to manage the systemwide timer resolution to fire delayed tasks with better than 15ms resolution but it was buggy:
>
> 1- A short task that was not followed by any other task will leave the systemwide timer pegged to 1ms
>
> 2- After we decided to crank up the timer we would 'lease' the timer for 1 second, for no good reason.
>
> Both issues are detrimental to battery power.
>
> The source of both problems is that we tried to decide with incomplete information. This patch solves that by having 1 bit for each pending task that requires a high resolution timer and a sum of the number of tasks that require high res timers.
>
> BUG=153139
> TEST=included here, also see the bug for manual testing.
>
> Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=284625

TBR=jamesr@chromium.org,darin@chromium.org,cpu@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=153139

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

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

9 days agoTemporarily increase retry limit in test_launcher
sergeyberezin@chromium.org [Tue, 22 Jul 2014 09:02:38 +0000 (09:02 +0000)]
Temporarily increase retry limit in test_launcher

In bot mode, test_launcher would normally retry tests up to 3 times.
This is sufficient to keep large test suites like browser_tests under
1% flakiness rate if the flakiness of individual tests is also within
1%. However, some tests especially in browser_tests are up to 33%
flaky, making the browser_tests suite 40% flaky.

Subsequent top-level retries effectively double the runtime of all
bots running these tests, and we need a solution to shorten the try
job runtime.

A longer-term solution is the ignorer bot (see the bug), but until
it's deployed, a quick hack is to increase the number of retries so
statistically we should see about 1% flakiness of browser_tests at the
expense of a slight runtime increase.

R=sergiyb@chromium.org
BUG=390600, 395189

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

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

9 days agoChange instant event phase name from i to I
yurys@chromium.org [Tue, 22 Jul 2014 07:19:25 +0000 (07:19 +0000)]
Change instant event phase name from i to I

This matches current definition in the design doc[1] and unifies phase name between Chromium and Blink. Telemetry already expects both "i" and "I" values [2].

It used to be "I" in Chromium but it was changed in https://chromiumcodereview.appspot.com/12252058/

[1] https://docs.google.com/a/chromium.org/document/d/1CvAClvFfyA5R-PhYUmn5OOQtYMH4h6I0nSsKchNAySU/edit#
[2] https://code.google.com/p/chromium/codesearch#chromium/src/tools/telemetry/telemetry/timeline/trace_event_importer.py&q=%22elif%20phase%20==%20'I'%20or%20phase%20==%20'i':%22&sq=package:chromium&type=cs&l=252

BUG=None

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

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

9 days agoThis is jamesr@ code I am landing.
cpu@chromium.org [Tue, 22 Jul 2014 04:29:58 +0000 (04:29 +0000)]
This is jamesr@ code I am landing.

On Windows the message pump code tried to manage the systemwide timer resolution to fire delayed tasks with better than 15ms resolution but it was buggy:

1- A short task that was not followed by any other task will leave the systemwide timer pegged to 1ms

2- After we decided to crank up the timer we would 'lease' the timer for 1 second, for no good reason.

Both issues are detrimental to battery power.

The source of both problems is that we tried to decide with incomplete information. This patch solves that by having 1 bit for each pending task that requires a high resolution timer and a sum of the number of tasks that require high res timers.

BUG=153139
TEST=included here, also see the bug for manual testing.

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

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

9 days agobase: Enable lock dchecks with dchecks_always_on
boliu@chromium.org [Mon, 21 Jul 2014 23:11:26 +0000 (23:11 +0000)]
base: Enable lock dchecks with dchecks_always_on

Enable DCHECKs in Lock and ConditionVariable when compiled
with dchecks_always_on.

Note the correctness of DCHECKs relies on DCHECKs enabled
in both Lock and ConditionVariable. This CL keeps the
condition to enable DCHECKs in ConditionVariable the
same as Lock, to avoid any issues here.

BUG=

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

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

10 days agoSet dump_without_crashing_function_ in chrome.dll with value of exported chrome!DumpP...
wfh@chromium.org [Mon, 21 Jul 2014 17:13:58 +0000 (17:13 +0000)]
Set dump_without_crashing_function_ in chrome.dll with value of exported chrome!DumpProcessWithoutCrash.

BUG=391974
TEST=chrome://crashdump and verify crash dump appears and tab does not crash
TBR=darin@chromium.org

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

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

10 days agoclang/win: Fix a Wenum-compare warning and a few Wwritable-strings warnings.
thakis@chromium.org [Mon, 21 Jul 2014 17:03:17 +0000 (17:03 +0000)]
clang/win: Fix a Wenum-compare warning and a few Wwritable-strings warnings.

BUG=82385
R=rnk@chromium.org
TBR=jochen

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

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

10 days ago[Mac] Re-Enable timer coalescing on Mac.
jeremy@chromium.org [Sun, 20 Jul 2014 21:54:00 +0000 (21:54 +0000)]
[Mac] Re-Enable timer coalescing on Mac.

Disabled in r283311 to get a measurement on the effect on the bots.
Re-Enabling because we've collected the data we need.

BUG=356804

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

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

12 days agoDecrement CreateDoubleValue count
estade@chromium.org [Sat, 19 Jul 2014 04:40:29 +0000 (04:40 +0000)]
Decrement CreateDoubleValue count

BUG=160586

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

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

12 days agoAdd metadata that report whether the buffer was full, and the timestamp when that...
nednguyen@google.com [Sat, 19 Jul 2014 00:39:41 +0000 (00:39 +0000)]
Add metadata that report whether the buffer was full, and the timestamp when that happens.

BUG=393750

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

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

12 days ago[android_webview] Introduce AwAssets to reference assets inside the apk.
primiano@chromium.org [Fri, 18 Jul 2014 22:50:46 +0000 (22:50 +0000)]
[android_webview] Introduce AwAssets to reference assets inside the apk.

This change introduces a utility class AwAssets, accessible by native,
which is able to retrieve references (fd + offset + size) of assets
inside the apk. This is to enable direct mmap of uncompressed assets.
This change does NOT introduce yet any change to the WebView apk itself.
At current state, no behavioral change is intended.

BUG=394502

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

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

12 days agoFix data race with synthetic delay initialization
skyostil@chromium.org [Fri, 18 Jul 2014 21:27:12 +0000 (21:27 +0000)]
Fix data race with synthetic delay initialization

The synthetic delay macro initializes a local atomic variable to point
to a delay implementation class. Because initializing the class involves
writing data to memory which is subsequently deferences through the
atomic pointer, we need to use memory barries when updating the pointer
to make sure the data behind it is committed.

Thanks to Alexander Potapenko for spotting this.

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

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

13 days agoRoll ICU to icu52
jshin@chromium.org [Fri, 18 Jul 2014 18:47:57 +0000 (18:47 +0000)]
Roll ICU to icu52

The ICU update does the following among other things:
  - Update EUC-JP (no more JIS X 212 round-trip coverage) per WHATWG
    encoding spec.
  - Add CP866
  - Add far better/more extensive support for plural, format, etc
  - Numerous locale data update
  - Khmer/Lao line/word-breaking support
  - More compact Chinese/Japanese dictionary (now a part of the upstream
    instead of our local patch)
  - Better plural support that we plan to use right away.

- Update icu/BUILD.gn : file list update, new defines, etc.
- Update tests
  a. icu_string_conversions_unittests : drop iscii (nobody uses it) and
     remove JIS X 212 code points from the round-trip test
  b. l10n_util_unittests: Display names for zh-*.
  c. ThaiSnippet's expected result. (due to a Unicode grapheme definition change).
  d. Update Expected results in file_manager_browsertest/test_util.js
     (see http://crbug.com/383930)
- Update SpellcheckerWordIterator
  a. Add U+0027 back to MidNumLet
  b. Add Lao and Khmer scripts to the list of scripts requiring dictionary-based
     word-breaking.
- l10n_util : alias 'tl' to 'fil' (Tagalog to Filipino)
- Update IdentityInternalsSingleTokenWebUITest.verifyGetters (DateTimeFormat-Full
  has 'at' before time, which is not handled by Date.parse()
- update license.py because we don't have a separate Chinese/Japanese
  dictionary any more. It's now a part of ICU

Note to Sheriff :
1. 140 ~ 200 kB size increase is expected for all platforms.
This size increase was singed off by laforge@.
The expected size has to be updated with both reva/revb pointing to the
revision corresponding to this CL.

2.  http://codereview.chromium.org/348913002 has to be applied before running make_expectations.py to update tools/perf_expectations/perf_expectations.json
after this CL is landed.

BUG=132145,277023,136148,360433,364072
TEST=base_unittests:*ICU*, net_unittests:*IDN*, ui_unittests:*Lang*,
     browser_tests (encoding related, Iden*verifyGet*),
     unit_tests:Ext*L10*, unit_tests:*Lang*, component_tests:*Snipp*,
     layout tests (encoding, date/calendar, line breaking, and others),
     build 'base_i18n_nacl', GN build bots.

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

R=arv@chromium.org, brettw@chromium.org, fgorski@chromium.org, groby@chromium.org, hirono@chromium.org, tony@chromium.org, toyoshim@chromium.org

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

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

13 days agoFix StackOverFlow in AdvancedMockContext.
nyquist@chromium.org [Fri, 18 Jul 2014 07:12:52 +0000 (07:12 +0000)]
Fix StackOverFlow in AdvancedMockContext.

The AdvancedMockContext previously did not override registerComponentCallbacks
and unregisterComponentCallbacks. The implementation of these methods in
Context calls getApplicationContext before delegating the call to it, and since
AdvancedMockContext returns |this| in getApplicationContext, this leads to a
loop.

This CL adds overrides for these two methods that make the calls to the base
context instead, which will typically either be a MockContext or the target
context being instrumented.

BUG=394464

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

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

13 days agoWorkaround removal of __system_property_get in Android NDK.
rmcilroy@chromium.org [Fri, 18 Jul 2014 05:41:54 +0000 (05:41 +0000)]
Workaround removal of __system_property_get in Android NDK.

The 'L' release of Android will remove __system_property_get from the NDK.
Until we can replace all calls of __system_property_get, this CL adds a
temporary work-around for builds compiled against the 'L' API.  The workaround
involves creating a stub __system_property_get, which uses dlsym to dynamically
load the address of the real __system_property_get symbol in libc.so (which is
still available as a hidden symbol on the devices libc.so dispite having been
removed from the NDK).

BUG=392191,393903

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

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

13 days agoAvoid macro redefinition in tools_sanity_unittest.cc
tzik@chromium.org [Fri, 18 Jul 2014 02:40:40 +0000 (02:40 +0000)]
Avoid macro redefinition in tools_sanity_unittest.cc

This causes build failure by macro redefinition on ASan-enabled build without -w flag.

BUG=162783

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

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

2 weeks agoMacro out unused functions in memory_mac.mm
tzik@chromium.org [Thu, 17 Jul 2014 13:28:41 +0000 (13:28 +0000)]
Macro out unused functions in memory_mac.mm

These functions are defined but not used on ASan-enabled build.
That causes build failure on ASan-enabled build without -w flag.

BUG=162783

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

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

2 weeks agoMake ObserverList non-inline to save 90KB with gcc
bratell@opera.com [Thu, 17 Jul 2014 12:39:34 +0000 (12:39 +0000)]
Make ObserverList non-inline to save 90KB with gcc

With gcc, ObserverList expands to 6-700 bytes every time it is
iterated. By not trying to force OberservListBase to be inline
that shrinks some. clang already ignores the hints to inline
the code and actually doesn't change a single bit in the generated
program with this change.

raw data:
Total change: -90875 bytes
==========================
  262 added, totalling +39188 bytes across 2 sources
  49 removed, totalling -27573 bytes across 16 sources
  23 grown, for a net change of +3600 bytes (34968 bytes before, 38568 bytes after) across 8 sources
  228 shrunk, for a net change of -106090 bytes (239819 bytes before, 133729 bytes after) across 53 sources

The additions is about 2-300 different flavours of ObserverListBase, 100-300 bytes each.

The savings are 200-600 bytes each every time an observer list is used. For example:

-870: content::RenderFrameImpl::didFailLoad(blink::WebLocalFrame*, blink::WebURLError const&) type=t, (was 1635 bytes,
now 765 bytes)
-895: content::RenderFrameImpl::didFinishLoad(blink::WebLocalFrame*) type=t, (was 1646 bytes, now 751 bytes)
-583: content::WebContentsImpl::DidFailProvisionalLoadWithError(content::RenderFrameHostImpl*, FrameHostMsg_DidFailProvisionalLoadWithError_Params const&) type=t, (was 768 bytes, now 185 bytes)
-611: content::WebContentsImpl::DidStartProvisionalLoad(content::RenderFrameHostImpl*, GURL const&, bool, bool) type=t, (was 895 bytes, now 284 bytes)

BUG=394311

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

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

2 weeks agoSeparate ResizeHelper from RenderWidgetHelper
ccameron@chromium.org [Thu, 17 Jul 2014 09:30:42 +0000 (09:30 +0000)]
Separate ResizeHelper from RenderWidgetHelper

Create a separate RenderWidgetResizeHelper to handle intercepting
and early-processing of IPCs that need to be run during an active
resize. This functionality was previously handled in
RenderWidgetHelper.

The only functional changes made to RenderWidgetResizeHelper during
its excision is that it is a single global structure, as compared with
the per-RenderProcessImpl RenderWidgetHelper. It will execute any IPCs
from any renderer or the GPU processes that are forwarded to it. This is
preferable, as that makes it so that live resize in one window does
not destroy performance in other windows.

Because RenderWidgetResizeHelper can handle GPU process IPCs, we can
tear out the bizarre behavior where we'd translate GPU IPCs to synthetic
renderer IPCs get them to channel through RenderWidgetHelper (this is
all of the deleted ViewHostMsg_CompositorSurfaceBuffersSwapped code).

Mark this entire structure as Mac-only, and put it in Mac-only files,
since it doesn't get used on other platforms.

Future changes will make RenderWidgetResizeHelper have a TaskRunner,
which we will pass to the compositor, so that we can pump new frames
while inside -[RenderWidgetHostViewMac setFrameSize:].

BUG=392031

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

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

2 weeks agoFix the build when use_glib is set to 0.
zhaoze.zhou@partner.samsung.com [Wed, 16 Jul 2014 19:12:40 +0000 (19:12 +0000)]
Fix the build when use_glib is set to 0.
use_glib=0 can work on some embedded setup that doesn't use glib.

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

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

2 weeks agoTrack size of files serialized by the JsonPrefStore.
gab@chromium.org [Wed, 16 Jul 2014 06:04:44 +0000 (06:04 +0000)]
Track size of files serialized by the JsonPrefStore.

In an effort to see what percentage of the population has exceedingly large pref files.

BUG=355722

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

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

2 weeks ago[Mac] Temporarily disable timer coalescing on Mac.
jeremy@chromium.org [Wed, 16 Jul 2014 00:59:28 +0000 (00:59 +0000)]
[Mac] Temporarily disable timer coalescing on Mac.

In the interest of conserving power, several incremental changes to timer slack have been committed over the last few weeks.  This CL disables those changes so we can get some numbers for the combined effect in terms of power usage and idle wakeup numbers.

This needs to be checked in because we can only get a good comparative measure for this when run on the bots in a controlled environment.

BUG=356804

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

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

2 weeks ago[Android][gn] Add android resources templates
cjhopman@chromium.org [Wed, 16 Jul 2014 00:11:03 +0000 (00:11 +0000)]
[Android][gn] Add android resources templates

This adds support for android resources to gn.

Two new templates are introduced:

java_string_grd: This is like gyp's build/java_strings_grd.gypi. It runs
grit and generates Android strings.xml files and then zips them
together.
android_resources: This is the target for android resources. It is
mostly a wrapper around process_resources.py. This is *not part* of
android_library (like it is in gyp). Making these two things separate is
more like facebook's BUCK and google's internal build rules (and gyp's
java.gypi and java_apk.gypi have gotten way too big and complicated).

Changes to the actual build scripts are very minor except for the added
support for andoid_resources to write_build_config.py. Building
resources requires getting all the transitive resource dependencies, and
so this reuses the simple sorted transitive dependency thing from
write_ordered_libraries.py.

TBR=rch@chromium.org
BUG=359249

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

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

2 weeks agoAdd a unit test that filenames aren't unintentionally converted to URLs.
dcheng@chromium.org [Tue, 15 Jul 2014 19:04:37 +0000 (19:04 +0000)]
Add a unit test that filenames aren't unintentionally converted to URLs.

Also fixes two issues in OSExchangeDataProviderWin:
- It used a disjoint set of clipboard formats when handling
  GetUrl(..., true /* filename conversion */) vs GetFilenames(...), so the
  actual returned results would vary depending on which one was called.
- It incorrectly used ::DragFinish() instead of ::ReleaseStgMedium().
  ::DragFinish() is only meant to be used in conjunction with WM_DROPFILES.

BUG=346135

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

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

2 weeks agoadd double support to base::Pickle
mostynb@opera.com [Mon, 14 Jul 2014 22:50:32 +0000 (22:50 +0000)]
add double support to base::Pickle

Since WebTimeRange now uses doubles instead of floats[1], we should
probably add double support to base::Pickle.

[1] https://codereview.chromium.org/337923006

BUG=393552

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

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

2 weeks agoAdd the required xvfb testing tool to the isolate target for some tests.
petermayo@chromium.org [Mon, 14 Jul 2014 22:47:08 +0000 (22:47 +0000)]
Add the required xvfb testing tool to the isolate target for some tests.

Missing from base_unit_tests, unit_tests and browser_tests.

TBR=brettw@chromium.org
R=maruel@chromium.org, brettw@chromium.org
BUG=None
TEST=local clean ; gyp ; build ; run isolate for base

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

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

2 weeks agoLeftover cleanups from https://codereview.chromium.org/324493002 .
erikwright@chromium.org [Mon, 14 Jul 2014 17:28:14 +0000 (17:28 +0000)]
Leftover cleanups from https://codereview.chromium.org/324493002 .

Moves one more method from PersistentPrefStore to WritablePrefStore. This allows most "writing" operations to be possible without the more complex PersistentPrefStore API.

BUG=None

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

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

2 weeks agoThe message length should be serialized as a 64-bit value.
wtc@chromium.org [Mon, 14 Jul 2014 14:46:09 +0000 (14:46 +0000)]
The message length should be serialized as a 64-bit value.

Also optimize the swapends function.

R=mark@chromium.org,rsleevi@chromium.org,yukawa@chromium.org
BUG=348333

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

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

2 weeks agoAdd missing files/deps/defines
cjhopman@chromium.org [Sat, 12 Jul 2014 04:59:22 +0000 (04:59 +0000)]
Add missing files/deps/defines

TBR=darin@chromium.org

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

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

2 weeks agomac: Add metrics to record Bluetooth availability and capabilities.
erikchen@chromium.org [Sat, 12 Jul 2014 01:27:44 +0000 (01:27 +0000)]
mac: Add metrics to record Bluetooth availability and capabilities.

The new Handoff feature in OSX 10.10 only works with devices that support
Bluetooth LE. Record metrics to determine the percentage of Chrome users that
this affects.

BUG=392166

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

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

2 weeks agoIntroduce task_runner() accessors for both base::Thread and base::MessageLoop
rsleevi@chromium.org [Sat, 12 Jul 2014 01:10:52 +0000 (01:10 +0000)]
Introduce task_runner() accessors for both base::Thread and base::MessageLoop

This is so that callers can code against a TaskRunner interface
directly, rather than converting message_loop_proxy() into a TaskRunner.

BUG=391045

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

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

3 weeks agoDCHECK(CalledOnValidThread()) for ScopedUserPrefUpdate
battre@chromium.org [Thu, 10 Jul 2014 17:09:51 +0000 (17:09 +0000)]
DCHECK(CalledOnValidThread()) for ScopedUserPrefUpdate

BUG=392781

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

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

3 weeks agoSet parcel data position to 0 when cloning the relro bundle.
simonb@chromium.org [Thu, 10 Jul 2014 10:55:36 +0000 (10:55 +0000)]
Set parcel data position to 0 when cloning the relro bundle.

Rename local variable from 'p' to 'parcel.  Call parcel.setDataPosition(0)
between write and read.  Fix a log message for punctuation.

Fixes (from logcat):
  E/Bundle  ( 5115): readBundle: bad magic number
  E/Bundle  ( 5115): readBundle: trace = java.lang.RuntimeException
  E/Bundle  ( 5115):      at android.os.Bundle.readFromParcelInner(Bundle.java:1677)
  E/Bundle  ( 5115):      at android.os.Bundle.readFromParcel(Bundle.java:1670)
  E/Bundle  ( 5115):      at org.chromium.base.library_loader.Linker.useSharedRelros(Linker.java:494)
  E/Bundle  ( 5115):      at org.chromium.content.app.ChildProcessService$1.setupConnection(ChildProcessService.java:100)
  E/Bundle  ( 5115):      at org.chromium.content.common.IChildProcessService$Stub.onTransact(IChildProcessService.java:57)
  E/Bundle  ( 5115):      at android.os.Binder.execTransact(Binder.java:388)
  E/Bundle  ( 5115):      at dalvik.system.NativeStart.run(Native Method)

BUG=388356

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

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

3 weeks agobase: Default android version to 4.4.99
boliu@chromium.org [Thu, 10 Jul 2014 08:05:21 +0000 (08:05 +0000)]
base: Default android version to 4.4.99

Under-development Android versions do not have a numeric
version, so falls back to a "default version".

Using a real released Android version like 4.3.0 will
incorrectly trigger code paths, such has version-specific
gpu blacklists.

First attempt at fixing this was using 0.0.0, which caused
websites parsing Android version in the user agent to break.

So this is the second attempt, use the latest public major
version and minor version, and use a higher bug release
version to avoid conflicts with the gpu blacklist.

BUG=387179

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

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

3 weeks agoFixes for re-enabling more MSVC level 4 warnings: base/third_party/dmg_fp/ edition
pkasting@chromium.org [Thu, 10 Jul 2014 08:04:42 +0000 (08:04 +0000)]
Fixes for re-enabling more MSVC level 4 warnings: base/third_party/dmg_fp/ edition

This contains fixes for the following sorts of issues:
* Assignment inside conditional

This updates the relevant .patch and README files, combining these fixes with
the previous set of MSVC warning fixes.  This also removes the now-unused
vs2013-optimization.patch file.

BUG=81439
TEST=none

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

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

3 weeks agoFixes for re-enabling more MSVC level 4 warnings: base/ edition #2
pkasting@chromium.org [Thu, 10 Jul 2014 04:38:02 +0000 (04:38 +0000)]
Fixes for re-enabling more MSVC level 4 warnings: base/ edition #2

This contains fixes for the following sorts of issues:
* Signedness mismatch

Defining UChar32 as a signed type may look wrong, but it's actually how the type
is already defined over in third_party/icu/.

BUG=81439
TEST=none

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

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

3 weeks agoRename source_prereqs to inputs in the GN build.
brettw@chromium.org [Wed, 9 Jul 2014 17:29:31 +0000 (17:29 +0000)]
Rename source_prereqs to inputs in the GN build.

This variable changed name.

R=jamesr@chromium.org

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

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

3 weeks agoGN: Move mock_pref_change_callback.h to the correct section.
jbroman@chromium.org [Wed, 9 Jul 2014 15:15:37 +0000 (15:15 +0000)]
GN: Move mock_pref_change_callback.h to the correct section.

This resolves the following 'gn check' error:

  ERROR at //base/prefs/mock_pref_change_callback.cc:5:11: Include not allowed.
  #include "base/prefs/mock_pref_change_callback.h"
            ^-------------------------------------
  It is not in any dependency of //base:prefs_test_support
  The include file is in the target(s):
    //base:base_unittests
  which should somehow be reachable from //base:prefs_test_support

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

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

3 weeks agobase: Increase hard limit for emulated discardable memory.
reveman@chromium.org [Wed, 9 Jul 2014 05:05:25 +0000 (05:05 +0000)]
base: Increase hard limit for emulated discardable memory.

This increases the emulated discardable memory limit to 512MB by
setting the soft limit to 32MB and the hard limit expiration time
to 1 second.

BUG=383361,372158

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

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

3 weeks agoRemove base/memory/scoped_handle.h from BUILD.gn.
jbroman@chromium.org [Wed, 9 Jul 2014 04:56:27 +0000 (04:56 +0000)]
Remove base/memory/scoped_handle.h from BUILD.gn.

This file went away in https://codereview.chromium.org/324773002

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

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

3 weeks agoMove logging.h's definitions of operator<< into namespace std.
jyasskin@chromium.org [Tue, 8 Jul 2014 23:03:06 +0000 (23:03 +0000)]
Move logging.h's definitions of operator<< into namespace std.

See the bug for a more detailed discussion of the problem when we don't make
this accessible through ADL.

BUG=391117

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

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

3 weeks ago[Android] Spill out CHECK error message in official build
feng@chromium.org [Tue, 8 Jul 2014 22:52:33 +0000 (22:52 +0000)]
[Android] Spill out CHECK error message in official build

In M35 release, we had a lot of user feedbacks of Chrome native crash.
We had great difficulty to investigate these native crashes
because user feedbacks don't have minidumps.

By keeping the CHECK error message in logcat, it'd be a lot easier
to investigate these user reports of Chrome crashes.

The binary size increase: ~0.5% (188k out of 34.4M).

BUG=378974

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

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

3 weeks agoFix compilation error encountered when DEBUG set to 1.
simonb@chromium.org [Tue, 8 Jul 2014 20:23:52 +0000 (20:23 +0000)]
Fix compilation error encountered when DEBUG set to 1.

Fails to compiler if DEBUG is set to 1.  If DEBUG is 0 the error is hidden
because LOG_INFO() expands to an empty operation.

Fixes:
  ../../base/android/linker/linker_jni.cc:270:60: error: 'lib_basename' was not declared in this scope

BUG=390618

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

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

3 weeks agobase: Add soft memory limit to DiscardableMemoryManager.
reveman@chromium.org [Tue, 8 Jul 2014 19:31:26 +0000 (19:31 +0000)]
base: Add soft memory limit to DiscardableMemoryManager.

This adds a soft memory limit to the discardable memory manager. Only
allocations that haven't been used in specific amount of time are
affected by this limit. This allows a client to use a much higher hard
limit so temporary spikes in required usage can be handled efficiently
without causing an increase in usage while idle.

A "reduce memory usage" function is added to the discardable memory
interface to allow the client to effectively trigger purging of memory
that is affected by the soft limit when system reaches what would be
considered an idle state.

BUG=383361,372158
TEST=base_unittests --gtest_filter=DiscardableMemoryManagerTest.ReduceMemoryUsage

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

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

3 weeks agoFix tracing 64-bit to 32-bit truncations.
wfh@chromium.org [Tue, 8 Jul 2014 14:21:16 +0000 (14:21 +0000)]
Fix tracing 64-bit to 32-bit truncations.

BUG=392035

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

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

3 weeks agoSet CONFIGURATION_NAME to be used in base.isolate.
scheib@chromium.org [Tue, 8 Jul 2014 12:46:13 +0000 (12:46 +0000)]
Set CONFIGURATION_NAME to be used in base.isolate.

Enables precise control of the isolate depending on correct
versions of msvc*.dll.

BUG=390686

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

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

3 weeks agoChange g_native_tls_key to be 32-bit wide to match underlying type.
wfh@chromium.org [Tue, 8 Jul 2014 07:37:04 +0000 (07:37 +0000)]
Change g_native_tls_key to be 32-bit wide to match underlying type.

BUG=392037
TEST=base_unittests --gtest_filter=ThreadLocalStorageTest.*

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

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

3 weeks agoExtend workaround from https://codereview.chromium.org/98403005 to clang/win.
thakis@chromium.org [Fri, 4 Jul 2014 22:10:39 +0000 (22:10 +0000)]
Extend workaround from https://codereview.chromium.org/98403005 to clang/win.

BUG=82385
TBR=ch.dumez@samsung.com

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

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

3 weeks agoAdd CancelableTaskTracker::PostTaskAndReplyWithResult
sdefresne@chromium.org [Fri, 4 Jul 2014 11:19:50 +0000 (11:19 +0000)]
Add CancelableTaskTracker::PostTaskAndReplyWithResult

The helper function PostTaskAndReplyWithResult is useful but did
not work with CancelableTaskTracker, so add the support to the
CancelableTaskTracker class with a template method.

BUG=None

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

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

3 weeks agoRemove ProcessMetrics::CalculateFreeMemory.
wfh@chromium.org [Thu, 3 Jul 2014 22:24:06 +0000 (22:24 +0000)]
Remove ProcessMetrics::CalculateFreeMemory.

This function is not used anywhere, and doesn't work on Win8 64-bit with HE ASLR winheap.

BUG=None
TEST=base_unittests

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

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