Initial RenderTextMac implementation using CoreText.

Has support for drawing and sizing the text, but not selection and cursor movement.

BUG=125664
TEST=Existing RenderText unit tests and manual testing by enabling RenderText on Mac in print_web_view_helper.cc code.
Review URL: https://chromiumcodereview.appspot.com/10543057

git-svn-id: http://src.chromium.org/svn/trunk/src/base@147862 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Call XkbSetDetectableAutoRepeat() on Chrome start-up so the server does not send KeyRelease events when the user holds a key.

Without this, superfluous DOM key event might be sent to a page, which is bad for compatibility reasons. Note that Gdk (used by Chrome for Linux) calls the Xkb function during its initialization.

BUG=138092
TEST=see the bug for demo html; confirmed only one KeyUp DOM event is sent to the page even when a key is long-pressed.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/base@147863 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Fix android tree bustage

r=aruslan
Review URL: https://chromiumcodereview.appspot.com/10802072

git-svn-id: http://src.chromium.org/svn/trunk/src/base@147873 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
[Android] Add remaining build/common.gypi changes from downstream and strip NOTIMPLEMENTED()s from official builds.

Includes:
1) Allowing overridding of android_ndk_sysroot (addition of "%" in
variable name).
2) Disable NOTIMPLEMENTED output for official builds (see base/logging.h)
3) Add clang build configurations
4) Remove unnecessary cflags from regular build.
5) Include crtbegin_so.o and crtend_so.so for _type=="loadable_module"
which is needed for ppapi_tests.

BUG=137569


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

git-svn-id: http://src.chromium.org/svn/trunk/src/base@147986 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Upgrade AlignedMemory to support dynamic allocations.

Adds two new methods: AlignedAlloc and AlignedFree for creating and
destroying dynamic aligned allocations respectively.  Also adds a
helper class, ScopedPtrAlignedFree, for use with scoped_ptr_malloc.

AlignedAlloc uses posix_memalign for OS X (now that we're targeting
10.6), Linux and _aligned_alloc() on Windows.  Android and NaCl use
memalign() since they do not expose posix_memalign() and memalign()
is safe to use with free() on those platforms.

Also hacks around a bug in Visual C++ where __alignof will sometimes
return zero:
http://connect.microsoft.com/VisualStudio/feedback/details/682695/c-alignof-fails-to-properly-evalute-alignment-of-dependent-types

BUG=none
TEST=base_unittests + new test, trybots.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/base@147988 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Android: upstream instrumentation test components.

In preparation for upstreaming the instrumentation tests,
we need these components first.

BUG=136687
TEST=


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

git-svn-id: http://src.chromium.org/svn/trunk/src/base@147989 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Create a new SetuidSandboxClient class.

We move the setuid sandbox "client" code to its own location in
/sandbox/linux/suid/client and we create a SetuidSandboxClient class
to use it.

NOTRY=true

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

git-svn-id: http://src.chromium.org/svn/trunk/src/base@147993 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Revert 147988 - Upgrade AlignedMemory to support dynamic allocations.

Adds two new methods: AlignedAlloc and AlignedFree for creating and
destroying dynamic aligned allocations respectively.  Also adds a
helper class, ScopedPtrAlignedFree, for use with scoped_ptr_malloc.

AlignedAlloc uses posix_memalign for OS X (now that we're targeting
10.6), Linux and _aligned_alloc() on Windows.  Android and NaCl use
memalign() since they do not expose posix_memalign() and memalign()
is safe to use with free() on those platforms.

Also hacks around a bug in Visual C++ where __alignof will sometimes
return zero:
http://connect.microsoft.com/VisualStudio/feedback/details/682695/c-alignof-fails-to-properly-evalute-alignment-of-dependent-types

BUG=none
TEST=base_unittests + new test, trybots.

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

TBR=dalecurtis@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10817021

git-svn-id: http://src.chromium.org/svn/trunk/src/base@148016 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Move CachedRanges out and add support for checksum.

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

git-svn-id: http://src.chromium.org/svn/trunk/src/base@148055 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
base: Class member variables should be ended with trailing underscores.
    
Fix ScopedVector API to follow this style.
    
http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Variable_Names#Variable_Names

BUG=136196
R=willchan@chromium.org


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

git-svn-id: http://src.chromium.org/svn/trunk/src/base@148057 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Revert 148055 - Move CachedRanges out and add support for checksum.

This breaks the NaCL compiler, as the addition the base.gypi results in a too long command line. For the sake of getting the tree green, I'm reverting this, although the NaCL compiler is really to blame

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

TBR=kaiwang@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10807083

git-svn-id: http://src.chromium.org/svn/trunk/src/base@148060 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Don't set "unlimited" stacks on iOS

Since iOS is a very memory-limited environment, a very large stack
isn't desireable.

BUG=None
TEST=None


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

git-svn-id: http://src.chromium.org/svn/trunk/src/base@148080 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Use CFBundleVersion for product_version on iOS

On OS X, CFBundleVersion is used by LaunchServices, and must follow
specific formatting rules, so the four-part Chrome version is in
CFBundleShortVersionString. On iOS, however, CFBundleVersion can be the
full version, but CFBundleShortVersionString has a policy-enfoced limit
of three version components.

BUG=None
TEST=None


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

git-svn-id: http://src.chromium.org/svn/trunk/src/base@148081 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Fix #endif comments for iOS exclusions in base/file_util*

The #endif comments were missed in the original CL.

TBR=
BUG=None
TEST=None


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

git-svn-id: http://src.chromium.org/svn/trunk/src/base@148084 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Give the post-and-reply worker pool test a chance to finish on iOS

Since some iOS devices are single-core, a busy loop on one thread can
starve the thread that the test is waiting for to finish.

BUG=None
TEST=None


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

git-svn-id: http://src.chromium.org/svn/trunk/src/base@148087 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Fix iOS bustage in foundation_util

On iOS, ApplicationServices.framework doesn't exist, so CoreText.framework
is a top-level framework.

BUG=125664
TEST=None


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

git-svn-id: http://src.chromium.org/svn/trunk/src/base@148107 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Adding conversion function between base::Time and CFAbsoluteTime

TEST=None
BUG=None
R=mark@chromium.org


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

git-svn-id: http://src.chromium.org/svn/trunk/src/base@148119 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Revert 147986 - [Android] Add remaining build/common.gypi changes from downstream and strip NOTIMPLEMENTED()s from official builds.

Includes:
1) Allowing overridding of android_ndk_sysroot (addition of "%" in
variable name).
2) Disable NOTIMPLEMENTED output for official builds (see base/logging.h)
3) Add clang build configurations
4) Remove unnecessary cflags from regular build.
5) Include crtbegin_so.o and crtend_so.so for _type=="loadable_module"
which is needed for ppapi_tests.

BUG=137569


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

TBR=yfriedman@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10816039

git-svn-id: http://src.chromium.org/svn/trunk/src/base@148147 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Add a function pointer typedef for the windows 8 metro dialog box button handler.

BUG=125672
Review URL: https://chromiumcodereview.appspot.com/10818036

git-svn-id: http://src.chromium.org/svn/trunk/src/base@148159 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Remove all uncessary files for build_nexe.py on Windows.
On Windows, cmd.exe crops the command-line string for build_nexe.py and build_nexe.py does not get all base files now. This change removes all files not needed by build_nexe.py on Windows to prevent cmd.exe from cropping the command-line string to build_nexe.py.

BUG=138687
TEST=build Chromium without errors.

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

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