summaryrefslogtreecommitdiffstats
path: root/base
Commit message (Collapse)AuthorAgeFilesLines
* I'm apparently the first one who's tried to do hash_map<string16, ...>. ↵jorlow@chromium.org2009-07-241-0/+28
| | | | | | | | | | | | | | Unfortunately, hash_map<> does not know how to hash a string16 when string16 isn't a wstring. I looked in <tr1/functional> and saw that only std::string and std::wstring have hashing functions. This change adds a hashing function for string16's when they're not the same as a std::wstring. BUG=none TEST=none Review URL: http://codereview.chromium.org/160062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21494 0039d316-1c4b-4281-b951-d872f2087c98
* Enable SVG icons for linux.estade@chromium.org2009-07-241-23/+7
| | | | | | | | | | | get rid of kEnableSVG BUG=12272 TEST=I made it load an svg for the download shelf and it worked. SVGZ did not work. Review URL: http://codereview.chromium.org/159247 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21481 0039d316-1c4b-4281-b951-d872f2087c98
* Reapply r21429 - Cleanup pending tasks under Valgrind as well.kuchhal@chromium.org2009-07-231-9/+10
| | | | | | | | BUG=16095 Review URL: http://codereview.chromium.org/160035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21459 0039d316-1c4b-4281-b951-d872f2087c98
* linux: generalize desktop environment guessing to encompass KDEevan@chromium.org2009-07-232-13/+30
| | | | | | | | BUG=17363 Review URL: http://codereview.chromium.org/159297 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21455 0039d316-1c4b-4281-b951-d872f2087c98
* Silence a false coverity warning by changing the code a bit.munjal@chromium.org2009-07-232-8/+22
| | | | | | Review URL: http://codereview.chromium.org/159104 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21447 0039d316-1c4b-4281-b951-d872f2087c98
* Headers cleanup:phajdan.jr@chromium.org2009-07-236-14/+24
| | | | | | | | | - reduce header dependencies by using bookmark_model_observer.h - replace #include <iostream> by #include <iosfwd> in headers Review URL: http://codereview.chromium.org/159280 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21444 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Cleanup pending tasks under Valgrind as well." (r21429)kuchhal@chromium.org2009-07-231-10/+6
| | | | | | | | This reverts commit 26f9edf949e1678d4f8a3479518568b8a6e1972c. Review URL: http://codereview.chromium.org/160033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21430 0039d316-1c4b-4281-b951-d872f2087c98
* Cleanup pending tasks under Valgrind as well.kuchhal@chromium.org2009-07-231-6/+10
| | | | | | | | BUG=16095 Review URL: http://codereview.chromium.org/160020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21429 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Use _exit() instead of exit() in the child after fork() in failure ↵mdm@chromium.org2009-07-232-2/+12
| | | | | | | | | | | conditions. TEST=none BUG=none Review URL: http://codereview.chromium.org/159275 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21418 0039d316-1c4b-4281-b951-d872f2087c98
* Split the IPC code into ipc/agl@chromium.org2009-07-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This splits the ipc code from the common project. The 'common' project pulls in all of webkit, the v8 bindings, skia, googleurl, and a number of other projects which makes it very difficult to deal with especially for external projects wanting just to use some of Chromium's infrastructure. This puts the ipc code into its top-level ipc/ directory with a dependency only on base. The common project depends on the new ipc/ipc.gyp:ipc target so that all projects currently pulling common in to get the IPC code still have it available. This mostly follows agl's pre-gyp attempt to do this which was r13062. Known issues: - Currently a number of projects depend on chrome/chrome.gyp:common in order to use the IPC infrastructure. Rather than fixing all of these dependencies I have made common depend on ipc/ipc.gyp:ipc and added "ipc" to the include_rules section of DEPS so that checkdeps.py doesn't complain. Over time projects that need IPC should depend on the IPC project themselves and dependencies on common removed, although I don't think many projects that need IPC will be able to get away without common currently. - ipc/ipc_message_macros.h still has #include "chrome/common/..." inside of a ipc/ should not refer to files in chrome/... now. I'm not sure how to resolve this since it's really an IDE bug - the named pipe name (windows+linux) and the logging event name (all) + env variable (posix) refer explicitly to 'Chrome' which somewhat hurts the illusion of ipc/ being an independent library. I think this should be examined in a subsequent, much smaller patch. - I've eliminated the IPC.SendMsgCount counter since it was implemented in a way to create a dependency from ipc/ to chrome/common/chrome_counters. This is the same approach that r13062 took. http://codereview.chromium.org/155905 (Patch from James Robinson) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21342 0039d316-1c4b-4281-b951-d872f2087c98
* Remove a redundant test.wtc@chromium.org2009-07-221-1/+1
| | | | | | | | | R=willchan BUG=none TEST=none Review URL: http://codereview.chromium.org/155906 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21297 0039d316-1c4b-4281-b951-d872f2087c98
* Linux/Mac: Use _exit() instead of exit() in the child after fork() in ↵mdm@chromium.org2009-07-221-3/+3
| | | | | | | | | | | failure conditions. BUG=17329 TEST=none Review URL: http://codereview.chromium.org/159201 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21294 0039d316-1c4b-4281-b951-d872f2087c98
* This implements the functions necessary for the task manager on Linux.deanm@chromium.org2009-07-221-4/+62
| | | | | | | | | | | Patch by Joel Stanley. BUG=http://crbug.com/16251 Review URL: http://codereview.chromium.org/149455 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21271 0039d316-1c4b-4281-b951-d872f2087c98
* Changing the include from "base/gfx/platform_canvas.h" to ↵ajwong@chromium.org2009-07-226-60/+0
| | | | | | | | | | | | "skia/ext/platform_canvas.h" BUG=None TEST=None Review URL: http://codereview.chromium.org/159057 Patch from Thiago Farina <thiago.farina@gmail.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21258 0039d316-1c4b-4281-b951-d872f2087c98
* Creating a unique user-agent string for ChromeOS builds, so that metrics can ↵evan@chromium.org2009-07-224-7/+143
| | | | | | | | | be aggregated separately from standard Chrome on Linux Review URL: http://codereview.chromium.org/155101 Patch from Chris Masone <cmasone@google.com>. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21247 0039d316-1c4b-4281-b951-d872f2087c98
* Try again: Add proxy config (using gnome-network-preferences)mattm@chromium.org2009-07-222-0/+68
| | | | | | | | | BUG=11507 TEST=Open options, click change proxy, gnome-network-preferences should launch.  If gnome isn't installed or running, LinuxProxyConfig wiki page should load. Review URL: http://codereview.chromium.org/155792 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21246 0039d316-1c4b-4281-b951-d872f2087c98
* Set GTK_PATH to CHROMIUM_SAVED_GTK_PATH before launching xdg-open.thestig@chromium.org2009-07-212-2/+34
| | | | | | | | | | | | Wrappers that launch Chromium will need to set CHROMIUM_SAVED_GTK_PATH before modifying GTK_PATH. This can be done later in separate CLs. BUG=15565 TEST=see bug Review URL: http://codereview.chromium.org/159112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21168 0039d316-1c4b-4281-b951-d872f2087c98
* Support pasting text from a clipboard that has no published targets.estade@chromium.org2009-07-212-6/+24
| | | | | | | | | BUG=16887 TEST=paste from intellij into chrome render view Review URL: http://codereview.chromium.org/159107 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21142 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Add proxy config (using gnome-network-preferences)"mattm@chromium.org2009-07-182-16/+0
| | | | | | | | This reverts commit d06bc0c855b1e81e36c7bfc9bef342eb358d99a5. TBR=estade git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21033 0039d316-1c4b-4281-b951-d872f2087c98
* Add proxy config (using gnome-network-preferences)mattm@chromium.org2009-07-172-0/+16
| | | | | | | | | BUG=11507 TEST=Open options, click change proxy, gnome-network-preferences should launch. If gnome isn't installed, LinuxProxyConfig wiki page should load. Review URL: http://codereview.chromium.org/149785 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21023 0039d316-1c4b-4281-b951-d872f2087c98
* Forgot to fix style issue from previous checkinjam@chromium.org2009-07-171-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21004 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 20516 by re-landing this previous patch.brettw@chromium.org2009-07-171-2/+2
| | | | | | | | | | | | | Keep the cairo clipping region in sync with the Skia one. The PlatformCanvas now tracks this, so we don't need to have the similar code in gfx::Canvas. I moved most references of cairo_surface_t to cairo_t since the cairo_t has a transform and clip but the surface does not. Review URL: http://codereview.chromium.org/149409 Review URL: http://codereview.chromium.org/155700 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20992 0039d316-1c4b-4281-b951-d872f2087c98
* Fix comment for posix LaunchApp wrt PATH searching.mattm@chromium.org2009-07-171-2/+2
| | | | | | | | | | | (Behavior was changed in r4515 but the comment wasn't updated to match.) BUG=none TEST=none Review URL: http://codereview.chromium.org/159022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20983 0039d316-1c4b-4281-b951-d872f2087c98
* Add a CallbackWithReturnValue as a convenient method of calling callback ↵jam@chromium.org2009-07-173-0/+78
| | | | | | | | functions with no arguments and a return value. This is useful in calling all of the getters we have in the code, instead of creating wrapper functions that take a pointer argument. Review URL: http://codereview.chromium.org/155630 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20975 0039d316-1c4b-4281-b951-d872f2087c98
* Add a command line argument to disable message boxes. This is useful toabarth@chromium.org2009-07-172-0/+5
| | | | | | | | | | | | | extension developers who want to package extensions as part of a build script and aren't there to click the message box. R=aa,jackson BUG=14732 TEST=Pack an extension with the --no-message-box flag and notice that there is no message box. Review URL: http://codereview.chromium.org/149795 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20937 0039d316-1c4b-4281-b951-d872f2087c98
* Include output of "lsb_release -d" in crash reports.thestig@chromium.org2009-07-172-1/+38
| | | | | | | | | /etc/lsb-release does not exist on all distros, and sometimes it does not provide any useful info. Whereas all LSB complaint distros return useful data with the lsb_release command. Review URL: http://codereview.chromium.org/155653 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20936 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 20497.thomasvl@chromium.org2009-07-161-5/+1
| | | | | | | BUG=16512,16871 Review URL: http://codereview.chromium.org/149765 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20889 0039d316-1c4b-4281-b951-d872f2087c98
* Enable isolated worlds for content scripts.abarth@chromium.org2009-07-162-5/+0
| | | | | | | | | | R=aa TEST=LayoutTests/http/tests/security/isolatedWorld/ (will be landing soon after this patch) BUG=12218 Review URL: http://codereview.chromium.org/155626 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20883 0039d316-1c4b-4281-b951-d872f2087c98
* Don't call SetPriorityClass when process_ is 0.tyoshino@chromium.org2009-07-161-2/+4
| | | | | | | | | | | | BUG=15606 TEST=none Original review: http://codereview.chromium.org/149202 Patch by tyoshino@google.com (Myself. Got code reviewed before becoming committer) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20851 0039d316-1c4b-4281-b951-d872f2087c98
* When work shows up and no delegate is available to dispatch it to, arrange tomark@chromium.org2009-07-152-13/+37
| | | | | | | | | | | | dispatch to the delegate when one becomes available. BUG=16732 TEST=rm ~/Library/Preferences/com.google.Chrome.plist, launch official-branding Google Chrome, dismiss first-run dialog. The application should be usable. Review URL: http://codereview.chromium.org/149687 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20770 0039d316-1c4b-4281-b951-d872f2087c98
* Fix two races in DirectoryWatcherInotify:phajdan.jr@chromium.org2009-07-151-18/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. In DirectoryWatcherImpl::Watch we have to initialize delegate_, root_path_ and other members before calling InotifyReader::AddWatch, because otherwise the following race is possible: 1. InotifyReader::AddWatch 2. DirectoryWatcherImpl::OnInotifyEvent, where we want to use delegate_ and root_path_ 3. Now-late initialization of delegate_ and root_path_ in DirectoryWatcherImpl::Watch 2. In InotifyReader::OnInotifyEvent we can't just copy things under a lock and notify without a lock. Otherwise the following race is possible: 1. Things get copied in InotifyReader::OnInotifyEvent, lock is released 2. DirectoryWatcherImpl is destroyed, removing its watch 3. But it's still in the copied set of watchers to be notified. When we get to notifying it, it's invalid, and we have a crash. To fix race #2, I decided to just do everything under the lock. Notifications shouldn't be a bottleneck, and I don't want to prematurely add more complexity. TEST=Manually with RaceChecker, see bug. http://crbug.com/15473 Review URL: http://codereview.chromium.org/149630 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20730 0039d316-1c4b-4281-b951-d872f2087c98
* Move TrimWhitespaceUTF8 back to string_util_utf8.ccdeanm@chromium.org2009-07-152-14/+17
| | | | | | | | | Apparently it was there for a reason, but wasn't documented. Review URL: http://codereview.chromium.org/155511 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20727 0039d316-1c4b-4281-b951-d872f2087c98
* Fix DOA problem with dev channel. If there is nojrg@chromium.org2009-07-151-0/+9
| | | | | | | | | | | | | | | | | ~/Library/Preferences/com.google.Chrome.plist, we do a 1st run dialog. This dialog spins a run loop and messes up MessageLoop. "Choke brutally" means, among other things, "never process IPC messages to/from render". Reference CLs: http://codereview.chromium.org/149082 http://codereview.chromium.org/149029 http://codereview.chromium.org/146006 Review URL: http://codereview.chromium.org/149662 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20712 0039d316-1c4b-4281-b951-d872f2087c98
* Fix: Linux file:// listings are sorted but not fully internationalizedyuzo@chromium.org2009-07-151-12/+67
| | | | | | | | | | | | | | | | | Changed the code such that file names are converted to UTF-16 before comparison. Ideally, the locale should be considered, but my conclusion is that ignoring it is a reasonable tradeoff. Passing a locale-aware comparator (collator) from src/chrome(or src/app?) to src/base requires too much effort, in my opinion. BUG=16179 TEST=Open a file:// URL for a directory that contains non-ascii-named files. Observe that files are sorted properly in the list, in a case-sensitive manner. Review URL: http://codereview.chromium.org/149449 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20706 0039d316-1c4b-4281-b951-d872f2087c98
* Fix leak of g_object_get value. This was showing up on thetc@google.com2009-07-141-0/+1
| | | | | | | | | | | | | | valgrind ui test buildbot. The docs say we have to free the value: http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-get BUG=16724 Review URL: http://codereview.chromium.org/155515 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20657 0039d316-1c4b-4281-b951-d872f2087c98
* Fix KillProcess so it doesn't report everything as a failure.stuartmorgan@chromium.org2009-07-131-4/+11
| | | | | | | | BUG=none TEST=UI tests on Mac should no longer all log that kills are failing. Review URL: http://codereview.chromium.org/155297 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20566 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r20553.thestig@chromium.org2009-07-131-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20554 0039d316-1c4b-4281-b951-d872f2087c98
* Additional svn ignores for native_client and Makefile.thestig@chromium.org2009-07-131-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20553 0039d316-1c4b-4281-b951-d872f2087c98
* Revert previous clipping rect change for Cairo to see if it fixes the build.brettw@chromium.org2009-07-131-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20516 0039d316-1c4b-4281-b951-d872f2087c98
* Keep the cairo clipping region in sync with the Skia one.brettw@chromium.org2009-07-131-2/+2
| | | | | | | | | | The PlatformCanvas now tracks this, so we don't need to have the similar code in gfx::Canvas. I moved most references of cairo_surface_t to cairo_t since the cairo_t has a transform and clip but the surface does not. Review URL: http://codereview.chromium.org/149409 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20499 0039d316-1c4b-4281-b951-d872f2087c98
* OFFICIAL_BUILD is only set in windows builds, so add some complexity to get ↵thomasvl@chromium.org2009-07-131-1/+5
| | | | | | | | | | | | the logging turned off the mac/linux builds as intended. The referenced bug will stay open since this probably shouldn't be the long term fix. BUG=16512 TEST=logging shows up for debug builds, but all platforms don't have logging in official builds. Review URL: http://codereview.chromium.org/149534 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20497 0039d316-1c4b-4281-b951-d872f2087c98
* Move TrimWhitespaceUTF8 from string_util_icu to string_util.deanm@chromium.org2009-07-132-14/+14
| | | | | | | | | It does not directly use ICU, so this is its proper home. Review URL: http://codereview.chromium.org/155415 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20492 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unused base/zygote_manager_unittest.cc.deanm@chromium.org2009-07-131-266/+0
| | | | | | | Review URL: http://codereview.chromium.org/149537 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20486 0039d316-1c4b-4281-b951-d872f2087c98
* Disk cache: Generate total-load-time histograms from thervargas@google.com2009-07-112-4/+13
| | | | | | | | | | | disk cache experiment. BUG=none TEST=none Review URL: http://codereview.chromium.org/155380 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20452 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a crash that happens if a tab is closed whiletc@google.com2009-07-102-1/+14
| | | | | | | | | | | | | | | | | we're in the middle of a drag originating from the tab. The problem is that the tab gets deleted out from under the drag operation which is happening in a nested message loop. To work around this, if we're in the middle of a drag and we get a tab close request, delay the tab close until after the drag operation is finished. BUG=16280 Review URL: http://codereview.chromium.org/149466 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20436 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the local directory listing, FTP directory listing and the local file ↵jshin@chromium.org2009-07-093-178/+441
| | | | | | | | | | | | | | | | | | | | | | | | | | | handling (drag'n'drop and opening from the file list). For the local file listing, use the OS file system encoding. For the FTP directory listing, use ICU's encoding detector.GetDirectoryListingEntry and GetDirectoryLisingHeader were changed to accept string16 for file/directory names. To the former, a new parameter (|raw_bytes|) was added. It can be used to make a FTP request to a file with a non-ASCII name encoded in a legacy encoding. For the local file handling on Windows, get rid of the code for 'doubly converted' UTF-8 in FileURLToFilePath, which led to issue 4619 and add a few cases to NetUtil*.FileURLConversion* test. In addition, add CodepageToUTF16 and UTF16ToCodepage along with a new unittest (ConvertBetweenCodepageAndUTF16) that shares the same set of case as ConvertBetweenCodepageAndWide. The test cases were expanded and revised a bit. BUG=2939,13229,4619 http://crbug.com/2939 http://crbug.com/13229 http://crbug.com/4619 TEST=1. Pass URLRequest*.FTP* (net_unittests) 2. Pass StringUtiltTest.ConvertBetweenCode* 3. Pass NetUtil*.GetDirectoryLis* (net_unittests) 4. Open a local directory containing files with non-ASCII names and they're displayed correctly in the directory list. On Windows and Mac OS X, it should always work. On Linux, your locale encoding (as returned by nl_langinfo(CODESET)) should match the actual encoding used in your filename. 5a. Pass NetUtil*.FileURL* (net_unittests) with the default codepage set to 1252 and 932. 5b. Make a file named 'caf챕.txt' on Windows and see if it can be opened both by clicking in the directory listing page of Chrome and by drag'n'drop. Test this with the default OS code pages set to Windows-1252, Windows-1251 (Russian) and Windows-932 (Japanese). Review URL: http://codereview.chromium.org/151065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20331 0039d316-1c4b-4281-b951-d872f2087c98
* Convert NOTIMPLs into a bug.estade@chromium.org2009-07-091-4/+4
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/155258 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20274 0039d316-1c4b-4281-b951-d872f2087c98
* Make converting from NativeViewId to NativeView an error on Mac.shess@chromium.org2009-07-081-1/+10
| | | | | | | | Goal is to prevent someone from checking in new cross-platform code relying on this. Review URL: http://codereview.chromium.org/149342 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20193 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a non-templatized version of QI for times when the IID and type ↵tommi@chromium.org2009-07-082-7/+24
| | | | | | | | | | | | | aren't associated. Also fixing the ScopedComPtrVector unit test. The problem with the test was that it expected AddRef to be called twice and Release() once when pushing a pointer to the vector. However that only happens when a push causes a reallocation. When there's no reallocation, there's only a single call to AddRef and no call to Release, causing the test to report failure. The fix is to simply use std::list instead and fix the expected values. TEST=Run *ScopedComPtr* unit tests. BUG=none Review URL: http://codereview.chromium.org/149345 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20183 0039d316-1c4b-4281-b951-d872f2087c98
* GdkPixbufFromSkBitmap needs to un-premultiply the alpha beforetc@google.com2009-07-081-4/+30
| | | | | | | | | | passing off the data to gdk_pixbuf. This is required in the theme code for tinted bitmaps. Review URL: http://codereview.chromium.org/150151 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20164 0039d316-1c4b-4281-b951-d872f2087c98