summaryrefslogtreecommitdiffstats
path: root/skia
Commit message (Collapse)AuthorAgeFilesLines
* Remove the checked-in scons configuration files.sgk@google.com2009-04-012-539/+0
| | | | | | Review URL: http://codereview.chromium.org/53121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12982 0039d316-1c4b-4281-b951-d872f2087c98
* Skia: bring us closer to upstream.agl@chromium.org2009-03-314-28/+76
| | | | | | | | | | | I want to bring us closer to upstream Skia. This patch consists of hunks pulled from code.google.com/p/skia. I'll also be pushing changes the other way. Review URL: http://codereview.chromium.org/57018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12873 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "..."agl@chromium.org2009-03-314-78/+29
| | | | | | | This reverts commit r12868. I used the wrong commit and messed up the message. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12870 0039d316-1c4b-4281-b951-d872f2087c98
* ...agl@chromium.org2009-03-314-29/+78
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12868 0039d316-1c4b-4281-b951-d872f2087c98
* In certain cases, the coordinates used for pattern rendering can gosenorblanco@chromium.org2009-03-301-2/+3
| | | | | | | | | | | | | | | | | | | | negative, eg., when a negative translation is applied in the shader matrix. This causes the rasterizer to blow up, since it accesses memory outside the pattern bitmap. Since the integer modulus operator for C++ has unspecified behaviour with negative arguments, its value may go negative. In this case, we must offset by the modulus to make it positive again. I decided to do this at a low level in skia, since it seems better to make skia robust than to pray that you get strictly non-negative translations. (There is a fix for this in src/skia/tile_patch.diff, but it's wrong.) This patch should be upstreamed to skia. Review URL: http://codereview.chromium.org/55044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12789 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: enable assertion in fontconfig code.agl@chromium.org2009-03-271-3/+1
| | | | | | | | | | | | This doesn't trigger locally for me. I think it's safe to enable. (Although the try servers are down for me, so I guess we'll find out.) BUG=6291 Review URL: http://codereview.chromium.org/55036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12718 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: change Skia's fontconfig code to cache SkTypeface objects.agl@chromium.org2009-03-271-7/+11
| | | | | | | | | | | | This was a mismatch between my understanding of that the FontHost was supposed to do and the reality. It caused a small memory leak. BUG=8789 Review URL: http://codereview.chromium.org/56017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12694 0039d316-1c4b-4281-b951-d872f2087c98
* Incorporate r134 from Skia. See http://crbugs.com/9005 for details.dglazkov@chromium.org2009-03-231-0/+24
| | | | | | | | R=brettw Review URL: http://codereview.chromium.org/52019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12294 0039d316-1c4b-4281-b951-d872f2087c98
* Update the gyp Linux build:sgk@google.com2009-03-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | * Add Linux settings to target_defaults in common.gypi so gyp-generated SConscript files no longer depend on build/SConscript.main or the Hammer infrastructure. * Copy the FilterOut() function from Hammer to the chromium_builders.py Tool module. * Add a ChromiumLoadableModule() builder to chromium_builders.py. * Add dependencies on the 'views' library to the chrome link (target 'app'). * Add missing views/*/*_unittest.cc modules to the 'unit_tests' target. Exclude all but the one that builds on Linux from the non-Windows builds. * Crib a list of chrome/views files to exclude from the Linux build from the old SCons configuration. * Add a new build/linux/system.gyp file with new 'settings' targets to encapsulate the pkg-config checks for gtk+-2.0, nss and pangoft2. * Add depenedencies in the other targets on the new gtk, nss and pangoft2 'settings' targets from build/linux/system.gyp. * Add a pkg_config_wrapper.py script that keeps gyp happy by simply exiting 0 if the package isn't found. * DEPS roll for latest gyp changes to support the above. Review URL: http://codereview.chromium.org/42340 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12228 0039d316-1c4b-4281-b951-d872f2087c98
* Now have a TextButton rendering (sort of; doesn't respond to mouse events soerg@google.com2009-03-191-0/+4
| | | | | | | | | | | I don't know if it'll draw the border correctly). Now with fixes to compile under Windows. Review URL: http://codereview.chromium.org/42427 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12172 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Now have a TextButton rendering." Broke Windows.erg@google.com2009-03-191-4/+0
| | | | | | | | | TBR=beng Review URL: http://codereview.chromium.org/50035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12163 0039d316-1c4b-4281-b951-d872f2087c98
* Now have a TextButton rendering (sort of; doesn't respond to mouse events so ↵erg@google.com2009-03-191-0/+4
| | | | | | | | | I don't know if it'll draw the border correctly). Review URL: http://codereview.chromium.org/42414 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12162 0039d316-1c4b-4281-b951-d872f2087c98
* Render into a ChromeCanvasPaint object in a RootView under Linux.erg@google.com2009-03-191-0/+69
| | | | | | | Review URL: http://codereview.chromium.org/45014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12097 0039d316-1c4b-4281-b951-d872f2087c98
* Allow Skia to build on case-sensitive filesystemsmark@chromium.org2009-03-181-1/+1
| | | | | | Review URL: http://codereview.chromium.org/42350 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12003 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unneeded uses of base/ref_counted.h.thestig@chromium.org2009-03-182-3/+1
| | | | | | Review URL: http://codereview.chromium.org/48105 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11974 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: reference Freetype headers by name.agl@chromium.org2009-03-171-0/+9
| | | | | | | | | | | | When build tools chase down the headers, they cannot process headers that are included by macro. Thus, we include the headers by name in an #if 0 block. The compiler will ignore them, but tools will still process them. Review URL: http://codereview.chromium.org/42269 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11814 0039d316-1c4b-4281-b951-d872f2087c98
* Basic windowless plugins, try 2.evan@chromium.org2009-03-134-0/+19
| | | | | | | | | | | In response to Dean's comment on http://codereview.chromium.org/39105, I redid that patch to put the X munging into the plugin implementation. This won't work for multiproc, but it's near the correct place and many things will need to be changed for multiproc. Review URL: http://codereview.chromium.org/42056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11674 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: GYP fixesagl@chromium.org2009-03-131-0/+4
| | | | | | | | | This is the fix of tweaks to the GYP files needed to build test_shell. Review URL: http://codereview.chromium.org/42179 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11670 0039d316-1c4b-4281-b951-d872f2087c98
* Switching to gyp generated vcprojs for some components.bradnelson@google.com2009-03-121-1467/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Includes propset changes: Property changes on: C:\clients\chrome6\src\skia ___________________________________________________________________ Modified: svn:ignore - skia.xcodeproj + skia.xcodeproj skia.sln Property changes on: C:\clients\chrome6\src\third_party\zlib ___________________________________________________________________ Modified: svn:ignore - zlib.xcodeproj + zlib.xcodeproj zlib.sln Property changes on: C:\clients\chrome6\src\third_party\libpng ___________________________________________________________________ Modified: svn:ignore - libpng.xcodeproj + libpng.xcodeproj libpng.sln Property changes on: C:\clients\chrome6\src\third_party\libjpeg ___________________________________________________________________ Modified: svn:ignore - libjpeg.xcodeproj + libjpeg.xcodeproj libjpeg.sln Property changes on: C:\clients\chrome6\src\build ___________________________________________________________________ Modified: svn:ignore - all.xcodeproj + all.xcodeproj all.sln All.vcproj Property changes on: C:\clients\chrome6\src\base ___________________________________________________________________ Modified: svn:ignore - base.xcodeproj + base.xcodeproj base.vcproj base_gfx.vcproj base_unittests.vcproj debug_message.vcproj Property changes on: C:\clients\chrome6\src\testing ___________________________________________________________________ Modified: svn:ignore - gtest gtest.xcodeproj + gtest gtest.xcodeproj gtest.sln Review URL: http://codereview.chromium.org/43101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11512 0039d316-1c4b-4281-b951-d872f2087c98
* Rolling back change 11431 (didn't work with a clobber either).bradnelson@google.com2009-03-111-0/+1467
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11432 0039d316-1c4b-4281-b951-d872f2087c98
* Attempting to roll out gyp for base.bradnelson@google.com2009-03-111-1467/+0
| | | | | | | Broke the build last time. Trying it again, this time with clobber. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11431 0039d316-1c4b-4281-b951-d872f2087c98
* Rolling back change 11429.bradnelson@google.com2009-03-111-0/+1467
| | | | | | | | Attempt to roll gyp out for base. The gyp script is not getting called at the right time to make this work. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11430 0039d316-1c4b-4281-b951-d872f2087c98
* junkbradnelson@google.com2009-03-111-1467/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11429 0039d316-1c4b-4281-b951-d872f2087c98
* Adding fixed guids to some modules to facilitate incremental switch to gyp.bradnelson@google.com2009-03-101-0/+1
| | | | | | Review URL: http://codereview.chromium.org/42044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11388 0039d316-1c4b-4281-b951-d872f2087c98
* Fix memory leak of "screen size bitmap" (e.g. 1.5M if 750x548) jrg@chromium.org2009-03-071-5/+4
| | | | | | | | | | | | | | | | | that happened on *every page view* on OSX. VSIZE/RSIZE now hovers around 500M/30M instead of growing to 1.3G/260M within a few minutes. Surprisingly, Chromium.app seems quite a bit snappier! The essence of the change is that SkBitmap::setPixels() does NOT take ownership of the pointer, whereas SkBitmap::allocPixels() both allocates and owns. Review URL: http://codereview.chromium.org/39307 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11196 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: remove GdkSkia.*agl@chromium.org2009-03-054-612/+0
| | | | | | | | Now that we don't render with GTK, we don't need this wrapper for GDK to draw widgets via Skia. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10965 0039d316-1c4b-4281-b951-d872f2087c98
* Start stitching GYP-generated files into the Linux build:sgk@google.com2009-03-031-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add a GYP=1 command-line variable to use the gyp-generated files (which are generated side-by-side until everything's okay enough to cut over for real). * Rearrange existing *.scons files to match the layout of the gyp-generated ones, so the transition will be easier: * base.scons (the wrapping logic that calls the other *.scons files) => base_sln.scons * base_lib.scons (the library itself) => base.scons (matching the gyp target generation) * gfx/base_gfx.scons => base_gfx.scons (with necessary prepending of "gfx/" to path names) build/SConscript.main fixes: * Use an internal ${_GYP} infix variable to select the right flavor of *.scons file (multiple places) * When building with GYP=1, only load the one component *_sln_gyp.scons file, because gyp has already created it with knowledge of all the right dependent *_gyp.scons files to load. Linux gyp build fixes: * Add -32 to $ASFLAGS for generating a 32-bit libicudata.a from the now-checked in .s. * Add -Wno-unused and -Wno-unused-function to skia. Review URL: http://codereview.chromium.org/28207 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10759 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the non-Windows builds. This makes makes the Windows code conditional on ↵brettw@chromium.org2009-03-021-0/+16
| | | | | | | | Windows. Review URL: http://codereview.chromium.org/28318 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10710 0039d316-1c4b-4281-b951-d872f2087c98
* Fix and uncomment the tests I broke in my transparency patch. Turns outbrettw@chromium.org2009-03-021-6/+4
| | | | | | | | we should only be making opaque the part of the layer that we actually drew to (since the layer opaquifier doesn't know about clip masks). Review URL: http://codereview.chromium.org/28284 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10709 0039d316-1c4b-4281-b951-d872f2087c98
* GYP it, GYP it good.mark@chromium.org2009-03-021-1186/+0
| | | | | | | | Convert the Mac build to the new GYP-based Xcode build, and remove the old Xcode projects. Review URL: http://codereview.chromium.org/28305 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10693 0039d316-1c4b-4281-b951-d872f2087c98
* Fix some unit tests that I broke in the transparency patch. Comment out twobrettw@chromium.org2009-02-272-4/+26
| | | | | | | more that I need to spend more time looking at. Review URL: http://codereview.chromium.org/27290 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10642 0039d316-1c4b-4281-b951-d872f2087c98
* Pull WebKit deps to get transparency fixes, and rebaseline affected layout ↵brettw@chromium.org2009-02-277-172/+23
| | | | | | | | | | | | | | | | | | | tests. Add a helper class to manage Windows' transparency issues. It will create layers and manage transforms in such a way that most effects can be achieved with fonts and form controls on Windows while looking nice. This removes the magic transparency color and associated infrastructure since it is no longer needed. This fixes semitransparent ClearType antialiasing and pngs with alpha channels with opacity applied. BUG=559,2791,3229,6372 Review URL: http://codereview.chromium.org/21201 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10637 0039d316-1c4b-4281-b951-d872f2087c98
* Import .gyp files into the Chromium treemark@chromium.org2009-02-251-0/+720
| | | | | | Review URL: http://codereview.chromium.org/27158 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10380 0039d316-1c4b-4281-b951-d872f2087c98
* Bitmap transportagl@chromium.org2009-02-206-16/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch reworks bitmap transport on all platforms. Linux and Mac are switched from serialising bitmaps over the IPC channel to using shared memory. All platforms gain a shared memory mapping cache on the host side. The concept of a TransportDIB (device independent bitmap) is added to encapsulate most of the platform specifics. On Linux, we use SysV shared memory. This is because X shared pixmaps, which predate POSIX SHM, can only use SysV. By using SysV between renderer and browser, we open up the possibility to map the shared memory directly from the renderer to the X server. On Mac, we use POSIX shared memory. However, since this needs filesystem access and the Mac renderer is sandboxed from the filesystem, we add two new messages from renderer -> browser: The first, AllocTransportDIB, synchronously creates a transport DIB in the browser and passes a handle back to the renderer. The second, FreeTransportDIB, asynchronously, notifies the browser that it may close its handle to the shared memory region. On Mac, the shared memory regions are identified by their inode numbers on the wire. This means that the browser must keep handles open to all the allocated shared memory regions (since an inode number is insufficient to map the region). The alternative design is that the renderer passes the file descriptor with each paint operation. Since passing file descriptors is special case in the code, I felt that it would be best to minimise their use. Creating and freeing transport DIBs are relatively rare operations relative to paints and scrolls. On Windows, most of the code remains the same, except that Windows now uses the mapping cache added in this patch. This allows the browser to maintain a shared memory mapping for a transport DIB over several paints. Previously it mapped and unmapped for every operation, causing lots of TLB and VM churn. Review URL: http://codereview.chromium.org/21485 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10071 0039d316-1c4b-4281-b951-d872f2087c98
* Re-apply fix from r1209 that was clobbered in r6925.evan@chromium.org2009-02-171-1/+1
| | | | | | | Review URL: http://codereview.chromium.org/20426 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9890 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Facebook sidebar.mal@chromium.org2009-02-154-14/+110
| | | | | | | | | | | | | Relanding http://codereview.chromium.org/20386 (r9836), this time with re-baselined layout tests. The change affects the pixel diffs for any test with a tiled css background image. BUG = 5564 TBR= brettw TEST= layout tests, conveniently re-baselined to pass with this change :) Review URL: http://codereview.chromium.org/20388 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9839 0039d316-1c4b-4281-b951-d872f2087c98
* Rollback Skia fix for Facebook sidebar: layout test failures.mal@chromium.org2009-02-154-110/+14
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9838 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the Facebook sidebar.mal@chromium.org2009-02-154-14/+110
| | | | | | | | | | | | | | | | | | | This is actually just a replica of the following patch (internal Google URL): http://go/facebook-skia-patch Apparently the changes made by yzshen@google.com were not upstreamed to Skia. In the most recent skia update (r7308), these changes were dropped. I've tested the changes locally, and it fixes Facebook. However, it could possibly break layout tests. BUG= 5564 R= brettw TEST= I'd kill for one. Review URL: http://codereview.chromium.org/20386 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9836 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: fix failure to find any fontsagl@chromium.org2009-02-101-5/+8
| | | | | | | | | | | | | When we are looking for a fallback font, we don't want the usual family name matching to stop us from finding one. The only case where we should fail to find a fallback is when fontconfig doesn't know about /any/ fonts on the system. This patch adds a flag argument to FontMatch which tells it when we're in fallback mode. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9477 0039d316-1c4b-4281-b951-d872f2087c98
* Fix UMR in skia.kuchhal@chromium.org2009-02-071-4/+6
| | | | | | | | BUG=7464 Review URL: http://codereview.chromium.org/21146 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9365 0039d316-1c4b-4281-b951-d872f2087c98
* From agl. Cleaned up version of issue 19046.thestig@chromium.org2009-02-034-0/+17
| | | | | | | | | | | | | POSIX: bitmap data on the wire On Windows, when drawing a given rect in the renderer, we allocate memory for the bitmap, render and send a shared memory handle across IPC. In the browser, we bitblit the shared memory to the backing store and draw it to the screen. In the long term, on Linux, we want the backingstore to be shared with both X and the renderer. The renderer then draws directly to that store, sends an IPC to the browser and the browser sends a message to X to bitblit to the display. Since only cache a few backing stores we'll need messages from the browser to tell the renderer to attach and detatch from shared memory regions as they get created and evicted. In the short term, however, to get something that works, we make a BitmapWireData typedef. This will be a shared memory region on Windows, as before, and on POSIX we'll be sending the bitmap data over the wire. Obviously this'll be pretty slow but it'll work sooner. Review URL: http://codereview.chromium.org/19491 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9065 0039d316-1c4b-4281-b951-d872f2087c98
* Implement gdk_skia_draw_segments. Initial implementation does not supportjhawkins@chromium.org2009-01-301-1/+19
| | | | | | | setting the line width or the GDK_LINE_DOUBLE_DASH style. Review URL: http://codereview.chromium.org/19521 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8992 0039d316-1c4b-4281-b951-d872f2087c98
* Rename README.google to README.chromium.mal@chromium.org2009-01-301-0/+0
| | | | | | | | | No code change. B=4380 Review URL: http://codereview.chromium.org/19501 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8988 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a bunch of lint complaints in preparation to land issue 19046. Mostly ↵thestig@chromium.org2009-01-304-7/+6
| | | | | | | | formatting changes, i.e. CRLF, space at end of line. Review URL: http://codereview.chromium.org/19486 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8933 0039d316-1c4b-4281-b951-d872f2087c98
* No changes, just opening the project and letting xcode do it's work -thomasvl@chromium.org2009-01-261-14/+14
| | | | | | | | - resorted files by GUIDs (the file adding script wasn't doing that before). - update the cached sub targets from referenced projects. Review URL: http://codereview.chromium.org/18595 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8632 0039d316-1c4b-4281-b951-d872f2087c98
* Linux Skia: add an option to build a canvas from a provided memory bufferagl@chromium.org2009-01-224-5/+41
| | | | | | | Review URL: http://codereview.chromium.org/18678 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8503 0039d316-1c4b-4281-b951-d872f2087c98
* Add back convolver_unittest.cc and image_operations_unittest.cc.maruel@chromium.org2009-01-223-112/+83
| | | | | | | | | | | | Fix a TODO in platform_canvas_unittest.cc. Make vector_canvas_unittest.cc slightly less dependent on base/. Remove Windows 2000 checks. (Same as r8458 with platform_canvas_unittest.cc and SConscript fixed) BUG=5113 Review URL: http://codereview.chromium.org/18511 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8498 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 8462,8458 since it broke the linux builder.maruel@chromium.org2009-01-223-75/+111
| | | | | | Review URL: http://codereview.chromium.org/18668 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8463 0039d316-1c4b-4281-b951-d872f2087c98
* Add back convolver_unittest.cc and image_operations_unittest.cc.maruel@chromium.org2009-01-223-111/+75
| | | | | | | | | | | Fix a TODO in platform_canvas_unittest.cc. Make vector_canvas_unittest.cc slightly less dependent on base/. Remove Windows 2000 checks. BUG=5113 Review URL: http://codereview.chromium.org/18623 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8458 0039d316-1c4b-4281-b951-d872f2087c98
* Make CommandLine into a normal object, with some statics for getting at the ↵evan@chromium.org2009-01-211-1/+2
| | | | | | | | | | | current process's command line. One explicit goal of this change is to *not* deal with the string/wstring issues at the API on POSIX; the functions are the same as before, which means they remain as broken as before. (I did try to fix the internals, though, so migrating the callers is now possible by adding platform-appropriate hooks.) Review URL: http://codereview.chromium.org/18248 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8347 0039d316-1c4b-4281-b951-d872f2087c98