Rather than duplicate logic in the tree, merge all of the
shared rules about patterns in filenames into one common set.
The pattern is: "if (OS != x): exclude x's files."
This is especially needed for upcoming changes that bring in a few
more platform-specific (FreeBSD, OpenBSD, Solaris(?)) files.
Review URL: http://codereview.chromium.org/443011
git-svn-id: http://src.chromium.org/svn/trunk/src/build@33160 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
You can switch to using -lOmxCore by setting the gyp variable use_system_openmax=1.
Also fixed type-punning warnings in omx_video_decoder.cc
BUG=28663
TEST=building omx_test should have no linker errors
Review URL: http://codereview.chromium.org/431041
git-svn-id: http://src.chromium.org/svn/trunk/src/build@33012 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This change also reworks the tcmalloc dependency to be added only to chrome and test_shell, instead of base. This is necessary since otherwise tcmalloc will be double initialized (by both the main executable and dlopen'd shared objects like the npapitestplugin.so).
Add valgrind suppressions. This are invalid reads on static initialization in the VDSOSupport module. I haven't investigated it yet, but I suspect they're benign.
BUG=http://crbug.com/28149, http://crbug.com/28385
Review URL: http://codereview.chromium.org/399081
git-svn-id: http://src.chromium.org/svn/trunk/src/build@33010 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
We have compile flags set up to support using --gc-sections, but apparently
we aren't using it for the actual link! It was probably lost during the gyp
conversion.
This has a few-megabyte difference on binary size.
(Trying submit again, hopefully thestig successfully converted bots...)
Review URL: http://codereview.chromium.org/399048
git-svn-id: http://src.chromium.org/svn/trunk/src/build@32330 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
eh_frame is data used for exception frames. We already disable exceptions,
but it turns out this obscure extra flag was responsible for the eh_frame
making it into our binaries.
This shaves off another few megabytes from our binaries.
Review URL: http://codereview.chromium.org/397032
git-svn-id: http://src.chromium.org/svn/trunk/src/build@32254 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
in subtle and devious ways.
Renaming webkit.gyp -> webkit_glue.gyp changed webkit.sln to webkit_glue.sln,
which occured unbeknownst to the builders who continued to build webkit.sln
for most of the day. This wasn't an issue until we did a WebKit roll, where
the trickery was discovered and hell broke loose.
TBR=yaar
TEST=green bots
BUG=none
Review URL: http://codereview.chromium.org/385084
git-svn-id: http://src.chromium.org/svn/trunk/src/build@31887 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This mega patch contains a few simple but tightly dependent changes:
1. Deletion of webkit/api/WebKit.gyp. The file now lives in webkit.org.
2. Rename of webkit/webkit.gyp to webkit/webkit_glue.gyp. Having two webkit.gyp was a source of developer confusion.
3. Gyp dependencies are updated across chromium to point at the upstream WebKit.gyp and the renamed webkit_glue.gyp.
4. Some 200+ files include paths fixed to point to third_party/WebKit/WebKit/chromium instead of webkit/api. The later will be deleted in a subsequent patch.
Review URL: http://codereview.chromium.org/387020
git-svn-id: http://src.chromium.org/svn/trunk/src/build@31749 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
Requires compiling with linux_use_tcmalloc=1.
When enabled by --heap-profiler flag in test_shell exposes
chromium.HeapProfiler object to JavaScript. The object has three
methods:
o start() -- starts profiling
o dump() -- dumps data accumulated since start() to file
named like chromium-YYYY-MM-DD-TS.heap
o stop() -- stops profiling.
Output can be analyzed by third_party/tcmalloc/tcmalloc/src/pprof.
For example:
$ third_party/tcmalloc/tcmalloc/src/pprof \
sconsbuild/Release/test_shell \
chromium-2009-11-06-1234567890.heap
See http://code.google.com/p/google-perftools/ for details on how to
use pprof.
Patch contributed by vitalyr@chromium.org. Original review at
http://codereview.chromium.org/377010/show.
TBR=vitalyr
Review URL: http://codereview.chromium.org/390015
git-svn-id: http://src.chromium.org/svn/trunk/src/build@31688 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
target_defaults. This is equivalent to how Xcode sets SDKROOT from the
Project Info window's General tab. Making this setting project-wide means
that the selected SDK will show up properly in that UI.
BUG=26976
TEST=Build still works.
SDK (typically "Mac OS X 10.5") shows up in Project Info:General.
Review URL: http://codereview.chromium.org/371035
git-svn-id: http://src.chromium.org/svn/trunk/src/build@31307 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
The motivation is that this removes the sync IPC on every call to the spellchecker. Also, currently we spellcheck in the IO thread, which frequently needs to go to disk (in particular, the entire spellcheck dictionary starts paged out), so this will block just the single renderer when that happens, rather than the whole IO thread.
This breaks the SpellChecker class into two new classes.
1) On the browser side, we have SpellCheckHost. This class handles browser-wide tasks, such as keeping the custom words list in sync with the on-disk custom words dictionary, downloading missing dictionaries, etc. On Posix, it also opens the bdic file since the renderer isn't allowed to open files. SpellCheckHost is created and destroyed on the UI thread. It is initialized on the file thread.
2) On the renderer side, SpellChecker2. This class will one day be renamed SpellChecker. It handles actual checking of the words, memory maps the dictionary file, loads hunspell, etc. There is one SpellChecker2 per RenderThread (hence one per render process).
My intention is for this patch to move Linux to this new approach, and follow up with ports for Windows (which will involve passing a dictionary file name rather than a file descriptor through to the renderer) and Mac (which will involve adding sync ViewHost IPC callsfor when the platform spellchecker is enabled). Note that anyone using the platform spellchecker rather than Hunspell will get no benefit out of this refactor.
There should be no loss of functionality for Linux (or any other platform) in this patch. The following should all still work:
- dictionary is loaded lazily
- hunspell is initialized lazily, per renderer
- language changes work.
- Dynamic downloading of new dictionaries
- auto spell correct works (as well as toggling it).
- disabling spellcheck works.
- custom words work (including adding in one renderer and immediately having it take effect in other renderers, for certain values of "immediate")
TODO:
- move spellchecker unit tests to test SpellCheck2
- add sync IPC for platform spellchecker; port to Mac
- add dictionary location fallback; port to Windows
- remove SpellChecker classes from browser/
BUG=25677
Review URL: http://codereview.chromium.org/357003
git-svn-id: http://src.chromium.org/svn/trunk/src/build@31199 4ff67af0-8c30-449e-8e8b-ad334ec8d88c