summaryrefslogtreecommitdiffstats
path: root/skia
Commit message (Collapse)AuthorAgeFilesLines
* Fix a skia valgrind error.craig.schlenter@chromium.org2009-06-181-1/+1
| | | | | | Review URL: http://codereview.chromium.org/134001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18710 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: move SyncIPC function from Skia to base.agl@chromium.org2009-06-181-43/+4
| | | | | | | | | I'll be needing in some pending WebKit changes. http://codereview.chromium.org/131006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18676 0039d316-1c4b-4281-b951-d872f2087c98
* Review URL: http://codereview.chromium.org/125205mark@chromium.org2009-06-161-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18519 0039d316-1c4b-4281-b951-d872f2087c98
* Add file icons to chrome://downloads/ on the Mac. Add Skia helpermark@chromium.org2009-06-164-88/+182
| | | | | | | | | | CGImageToSkBitmap(). Patch by Robert Sesek <rsesek@bluestatic.org> Review URL: http://codereview.chromium.org/118488 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18517 0039d316-1c4b-4281-b951-d872f2087c98
* Stop leaking CGBitmapContextRefs. Regression from r18363.mark@chromium.org2009-06-151-3/+17
| | | | | | | | BUG=14105 TEST=sh tools/valgrind/chrome_tests.sh --build_dir xcodebuild/Debug --test unit --gtest_filter=RenderWidgetHostTest.Resize Review URL: http://codereview.chromium.org/126159 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18452 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: fix memory leak in new SkFontHost code.agl@chromium.org2009-06-151-0/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18424 0039d316-1c4b-4281-b951-d872f2087c98
* Rename CreateWithContext to Createmark@chromium.org2009-06-153-9/+10
| | | | | | Review URL: http://codereview.chromium.org/126150 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18420 0039d316-1c4b-4281-b951-d872f2087c98
* Properly use data when creating a bitmap platform canvas. Gets things paintingmark@chromium.org2009-06-153-37/+60
| | | | | | | on the screen again. Regressed in r18363. Review URL: http://codereview.chromium.org/126140 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18415 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: remove some unused structures from SkFontHost_fontconfig_ipc.hagl@chromium.org2009-06-151-26/+0
| | | | | | | | (These were a merge artifact from r18405 which additionally broke the build on GCC 4.4). git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18413 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: fix layout tests with italic text.agl@chromium.org2009-06-151-1/+1
| | | | | | | | I had a typo in r18405 which meant that italic text wasn't actually italic. This broke, ah, 'several' layout tests. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18411 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Add support for chrooted renderers.agl@chromium.org2009-06-158-2/+771
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://code.google.com/p/chromium/wiki/LinuxSandboxIPC Without filesystem access from the renderers, we need another way of dealing with fontconfig and font loading. This add support for: * An "SBX_D" environment variable in the renderers which is used to signal the end of dynamic linking so that the chroot can be enforced. * A sandbox_host process, running outside the sandbox, to deal with fontconfig requests from the renderers. See the wiki page for the reasoning behind making it a separate process. * A new, custom SkFontHost for Skia. Because this is Chrome specific, it will live outside the upstream Skia tree. This FontHost can be configured either to drive fontconfig directly (for the browser process and for any unsandboxed renderers) or to use an IPC system. Since the same SkFontHost has to be linked into both the browser and renderer (they are the same binary), this switch has to be made at run time. Sandbox IPC calls are rare (a couple of dozen at page load time) and add about 50us of overhead for each call. (Reland of r17575 which was reverted in r17577) http://codereview.chromium.org/112074 BUG=8081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18405 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor the PlatformContext layer to have only one class.brettw@chromium.org2009-06-1431-908/+775
| | | | | | | | | | | | | | | | | | | | | | | | | Previously we had three classes of PlatformCanvas*, one for each platform. Then we had a typedef of PlatformContext to PlatformCanvas[Mac|Win|Linux] for the specific platform. This means that it was almost impossible to forward-declare PlatformCanvas and there were a bunch of unnecessary includes of platform_canvas.h in header files. This change makes there be only one platform_canvas.h header with ifdefs, which removes a decent amount of duplicated code. There is a platform-independent file, and one platform-dependent file of platform_canvas for each platform. I also renamed PlatformDevice[Mac|Win|Linux] to PlatformDevice, althouth in this case I kept the separate headers since there was much less overlap. I also broke out CanvasPaint into separate headers so this template doesn't need to be included all over the project (only a couple of files actually need it). Review URL: http://codereview.chromium.org/125109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18363 0039d316-1c4b-4281-b951-d872f2087c98
* Add favicons to Mac bookmark bar.jrg@chromium.org2009-06-131-1/+9
| | | | | | | | | | | | BUG=8381 TEST=Open bookmark bar (Cmd-B). Add some bookmarks with sites that have favicons (cnn.com). See icons in bookmark buttons. Make sure color is correct. Review URL: http://codereview.chromium.org/125061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18340 0039d316-1c4b-4281-b951-d872f2087c98
* Remove misleading comment - we no longer crash when CreateDIBSection() fails,brettw@google.com2009-06-111-6/+0
| | | | | | | | | | | | | | just return null Also remove unused GetLastError() call; no error is being returned anyway. R=brettw BUG=http://crbug.com/10977 TEST=none Original review: http://codereview.chromium.org/120006 Patch by dpranke@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18195 0039d316-1c4b-4281-b951-d872f2087c98
* Update DEPS to pull in upstream changes that remove RGBA32Buffer::bitmap(), ↵pkasting@chromium.org2009-06-111-2/+6
| | | | | | | | | | | | | | | | and rewrite local tests to compile. Also pulls in a change that upstreamed V8CustomBinding, since that got bracketed between my upstream changes; this includes the Chromium side of that too. This change exposed a deficiency in the XBM testing where we were erroneously using a zero-length set of image data to calculate the MD5 sum (because we were using the buffer rect instead of the image size, and the XBM decoder wasn't correctly setting the rect). Fixed the test to use the image size (which is more correct for this application), will fix the XBM decoder upstream to set the rect correctly. This in turn required generating new MD5 sums, which required patching the generation code (which is normally #ifdefed away) to also work with the past couple years of changes. This commit will need to land at the same time as one that updates the expected sums; during the period where either commit is in place without the other, the XBM decoding tests will fail. BUG=13633 TEST=Covered by unittests Review URL: http://codereview.chromium.org/121001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18131 0039d316-1c4b-4281-b951-d872f2087c98
* To help resolve the performance issue introduced when enabling the resize ↵mad@google.com2009-06-101-0/+12
| | | | | | | | corner, we now keep all non-intersecting rects separately and send an array of invalidation bitmaps via IPC as opposed to a single unionized rect :-) Review URL: http://codereview.chromium.org/108040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18090 0039d316-1c4b-4281-b951-d872f2087c98
* Update webkit to r44571darin@chromium.org2009-06-101-10/+18
| | | | | | | | | | BUG=none TEST=none R=pkasting Review URL: http://codereview.chromium.org/119430 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18073 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a unit test failure. One of the tests sends an empty bitmap through thisbrettw@chromium.org2009-06-091-3/+1
| | | | | | | | function, which has no config, and the assertion fails. I just removed the assretion, we assume ARGB8888 everywhere. Review URL: http://codereview.chromium.org/118456 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17976 0039d316-1c4b-4281-b951-d872f2087c98
* Add a mipmap-like divide-by-two image scaling algorithm. I am going to use thisbrettw@chromium.org2009-06-093-7/+214
| | | | | | | for on-the-fly generated thumbnails. Review URL: http://codereview.chromium.org/118341 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17957 0039d316-1c4b-4281-b951-d872f2087c98
* Adds ability to change compositing operator used by CanvasPaint.sky@chromium.org2009-06-051-2/+15
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/119226 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17744 0039d316-1c4b-4281-b951-d872f2087c98
* Add ability to theme our buttons.glen@chromium.org2009-06-042-0/+62
| | | | | | | | | BUG=12762 TEST=Verify that buttons can be themed. Review URL: http://codereview.chromium.org/119025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17586 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r17575 and r17576. They are causing layout test errors.agl@chromium.org2009-06-047-765/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17577 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: Add support for chrooted renderers.agl@chromium.org2009-06-047-3/+765
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://code.google.com/p/chromium/wiki/LinuxSandboxIPC Without filesystem access from the renderers, we need another way of dealing with fontconfig and font loading. This add support for: * An "SBX_D" environment variable in the renderers which is used to signal the end of dynamic linking so that the chroot can be enforced. * A sandbox_host process, running outside the sandbox, to deal with fontconfig requests from the renderers. See the wiki page for the reasoning behind making it a separate process. * A new, custom SkFontHost for Skia. Because this is Chrome specific, it will live outside the upstream Skia tree. This FontHost can be configured either to drive fontconfig directly (for the browser process and for any unsandboxed renderers) or to use an IPC system. Since the same SkFontHost has to be linked into both the browser and renderer (they are the same binary), this switch has to be made at run time. Sandbox IPC calls are rare (a couple of dozen at page load time) and add about 50us of overhead for each call. http://codereview.chromium.org/112074 BUG=8081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17575 0039d316-1c4b-4281-b951-d872f2087c98
* Roll DEPS to skia r198. This picks up a number of bugfixes for layout tests,senorblanco@chromium.org2009-06-021-0/+1
| | | | | | | | | | | | | | and font stuff for Linux. Rebaselines affected tests, adjusts test_expectations, and removes an extraneous include dir. (Also sets the svn:mime-type prop on some of the linux PNG files; they still diff as text in rietveld this time, but I think they should be happier for next time.) BUG=http://crbug.com/12002 TEST=If it builds, and layout tests pass, you're happy. Review URL: http://codereview.chromium.org/118128 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17434 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the remainder of the skia source code from the Chromium repo. It now ↵senorblanco@chromium.org2009-05-26458-105533/+0
| | | | | | | | | | | | lives over in third_party/skia (I only removed the headers in the first CL, since it was too unwieldy with all these deletes). BUG=none TEST=If it builds, you're happy. R=dglazkov Review URL: http://codereview.chromium.org/113827 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16893 0039d316-1c4b-4281-b951-d872f2087c98
* Histogram the time we spend resampling images. We suspect this may be causingbrettw@chromium.org2009-05-201-0/+8
| | | | | | | performance problems, so it would be nice to see what average users are seeing. Review URL: http://codereview.chromium.org/113604 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16486 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Skia includes to use the whole path name.brettw@chromium.org2009-05-1926-57/+53
| | | | | | Review URL: http://codereview.chromium.org/115412 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16374 0039d316-1c4b-4281-b951-d872f2087c98
* Add some missing copyright headers.senorblanco@chromium.org2009-05-152-0/+8
| | | | | | | | R=brettw Review URL: http://codereview.chromium.org/115414 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16185 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the shared build on linux after the skia move.senorblanco@chromium.org2009-05-131-1/+0
| | | | | | | | | Committed on behalf of craig.schlenter@gmail.com. Original review URL=http://codereview.chromium.org/115303 Review URL: http://codereview.chromium.org/115310 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15979 0039d316-1c4b-4281-b951-d872f2087c98
* More green please: Vector canvas matrix test disable, mac fix, mark layoutsenorblanco@chromium.org2009-05-131-1/+1
| | | | | | | | | | tests failing. TBR=brettw Review URL: http://codereview.chromium.org/113342 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15952 0039d316-1c4b-4281-b951-d872f2087c98
* This CL updates chrome to the latest version of skia, retrieved via DEPS, andsenorblanco@chromium.org2009-05-13161-21079/+837
| | | | | | | | | | | | | | | | | | | | | | | | | | | placed in third_party. All relevant skia changes (for all 3 platforms) have been upstreamed. Most of this CL is mind-numbingly repetitive. Things of interest are: skia.gyp (now points at third_party versions), DEPS, and SkUserConfig.h. stdint.h: Skia now requires C99 integer types, which MSVC doesn't support natively. I have put typedefs in config/win/stdint.h. Note that the new version of skia appears to render rects whose coordinates are "backwards" (ie., x2 < x1 or y2 < y1), which were formerly culled. There were a couple obvious instances of this in the code which I fixed, but there may be more. There were ~35 layout test failures due to minor pixel differences which I rebaselined on Windows and Linux, and 8 genuine failures related to masks and stroked text, which I have put in text_expectations.txt and assigned to myself. (There was another change which broke ~1700 tests on each platform, but I put that change behind an #ifdef for now). R=brettw Review URL: http://codereview.chromium.org/65012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15949 0039d316-1c4b-4281-b951-d872f2087c98
* Remove executable bit from a bunch of files that shouldn't have it.evan@chromium.org2009-05-116-0/+0
| | | | | | | | | | (No code change.) git ls-tree -r HEAD | grep '^100755' | cut -f2 | egrep '\.(png|txt|mm|cc|h|checksum|asm|js|html|c|css|xml|grd|json)$' | xargs chmod a-x git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15809 0039d316-1c4b-4281-b951-d872f2087c98
* This is the first pass at themes.glen@chromium.org2009-05-096-48/+95
| | | | | | | | | | | | This CL is paired with http://codereview.chromium.org/67284 This CL (for commit purposes) includes http://codereview.chromium.org/67284 BUG=4463,11232,11233,11234,11235 Review URL: http://codereview.chromium.org/99030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15704 0039d316-1c4b-4281-b951-d872f2087c98
* Redo of http://codereview.chromium.org/100097 to make work on Linux and Mac.glen@chromium.org2009-05-066-5/+650
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15380 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes two Linux canvas related bugs.sky@chromium.org2009-05-041-7/+6
| | | | | | | | | | | | | | | . The platform paint was allocating at a size bigger than necessary. . ChromeCanvas::DrawStringInt was not taking into account the matrix on the canvas, which means the text could be drawn at the wrong location. BUG=none TEST=none Review URL: http://codereview.chromium.org/99279 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15205 0039d316-1c4b-4281-b951-d872f2087c98
* Integrate change of Skia upstream.deanm@chromium.org2009-04-309-40/+82
| | | | | | | | | | | | | | | | | This is a cherry-pick of the following change: http://code.google.com/p/skia/source/detail?r=159 We introduce this change for the 'lighter' composite operation. We need kAdd_Mode, which is introduced in this change for the operation. Patch by Shinichiro Hamaji. BUG=1619 Review URL: http://codereview.chromium.org/93093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14938 0039d316-1c4b-4281-b951-d872f2087c98
* A better fix for http://www.crbug.com/2044: crashsenorblanco@chromium.org2009-04-292-0/+17
| | | | | | | | | | | | | | | | | | | | | | on large <canvas> elements. We disable the __debugbreak only when skia tells us it is prepared to correctly handle a failed (NULL) malloc(). It does this by calling sk_malloc_flags() without SK_MALLOC_THROW. Note that, since the switch to tcmalloc, the new_handler was not getting called at all (since tcmalloc doesn't support it yet), so this crash is currently unreproducible in trunk. In order to test this change, I reverted the tcmalloc change in my client. This is not the case in the stable branch, since it doesn't use tcmalloc, so this change is still needed there. (It will also be needed in trunk again once mbelshe's re-implementation of the new_handler is in). BUG=http://www.crbug.com/2044 Review URL: http://codereview.chromium.org/100163 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14891 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 14712 on behalf of glen.hbono@chromium.org2009-04-286-649/+5
| | | | | | | TBR=glen Review URL: http://codereview.chromium.org/100097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14713 0039d316-1c4b-4281-b951-d872f2087c98
* Add bitmap manipulation functions in advance of themes.glen@chromium.org2009-04-286-5/+649
| | | | | | | HSLToSkColor premultiplies its output, should this instead live in the ImageOperations bitmap munging code? Review URL: http://codereview.chromium.org/79082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14712 0039d316-1c4b-4281-b951-d872f2087c98
* More linux ifdef tweaks. This reverts my earlier change (13503).sky@chromium.org2009-04-271-7/+0
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/100046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14628 0039d316-1c4b-4281-b951-d872f2087c98
* Fix compile error on gcc.brettw@chromium.org2009-04-241-2/+13
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14456 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a bug in the size computation for Skia masking.brettw@chromium.org2009-04-241-2/+14
| | | | | | BUG=10736 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14454 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the ChromeCanvasPaint Linux code.deanm@chromium.org2009-04-231-1/+6
| | | | | | | | | | | | | My previous checkin was wrong, because the backing bitmap was just the damaged rect, not the entire window. Since the translation will be ignored for the cairo surface, allocate from the origin to the edge of the damage rect. Patch from Vincent Zanotti. Review URL: http://codereview.chromium.org/62149 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14296 0039d316-1c4b-4281-b951-d872f2087c98
* Skia: Apply upstream patch:agl@chromium.org2009-04-221-5/+4
| | | | | | | | | | Applying this patch locally to check that it doesn't break any layout tests etc: http://codereview.appspot.com/41081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14250 0039d316-1c4b-4281-b951-d872f2087c98
* Build on Linux with shared libraries (significant chunks courtesy craigsch):sgk@google.com2009-04-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * Set $RPATH to $LIB_DIR in the SCons configuration. * Add missing dependencies: * net/net.gyp:net => testing/gtest.gyp:gtest * third_party/libxml/libxml.gyp:xmlcatalog => third_party/icu38/icu38.gyp:icuuc * chrome/chrome.gyp:perf_tests => renderer => views => webkit/webkit.gyp:glue * Add files: * third_party/WebKit/WebCore/loader/icon/IconRecord.cpp * third_party/WebKit/WebCore/page/Coordinates.cpp * skia/sgl/SkUnPreMultiply.cpp * Exclude on Linux: * chrome/views/controls/scroll_view.cc * chrome/views/focus/external_focus_tracker.cc * media/filter/ffmpeg_demuxer.{cc,h} * Remove files: * third_party/WebKit/WebCore/Configurations/Version.xcconfig * Sort the chrome.gyp:views linux exclusion list. * DEPS roll for $SHLINKFLAGS settings in gyp. Review URL: http://codereview.chromium.org/88058 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14166 0039d316-1c4b-4281-b951-d872f2087c98
* Fix my attempt to disable part of unit test for Mac.dglazkov@chromium.org2009-04-171-1/+1
| | | | | | | | TBR=awalker Review URL: http://codereview.chromium.org/77033 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13940 0039d316-1c4b-4281-b951-d872f2087c98
* Disable Path-clipping test for Mac to fix the build.dglazkov@chromium.org2009-04-171-0/+4
| | | | | | | | TBR=awalker BUG=9904 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13939 0039d316-1c4b-4281-b951-d872f2087c98
* Make non-rectangular clip region apply in the correct location.dglazkov@chromium.org2009-04-173-16/+75
| | | | | | | | | BUG=9904 R=brettw Review URL: http://codereview.chromium.org/75020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13934 0039d316-1c4b-4281-b951-d872f2087c98
* Fix the failure to fail in PlatformCanvasWin ctorcpu@google.com2009-04-161-7/+21
| | | | | | | | | | | | | | | For a renderer CrashForBitmapAllocationFailure does not crash in any of the 4 CHECKS(), it crashes calling GetProcessMemoryInfo() - Because GetProcessMemoryInfo() tries to load PSAPI.dll and the sandbox blocks it. - Now it gives a better dump by disabling the iniling of the function - Adds a check for the shared memory, which I suspect is the real cause for some of the crashes BUG=10585 Review URL: http://codereview.chromium.org/75027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13872 0039d316-1c4b-4281-b951-d872f2087c98
* Linux/Skia: remove VDMX and Harfbuzzagl@chromium.org2009-04-158-388/+2
| | | | | | | | | | | | | | | | In order to unfork our Skia, VDMX parsing has been moved into WebKit in r42548. The Harfbuzz stuff should have been functional, but noone on the WebKit side wants to review a bidi patch so that side never actually landed. At this point it's probably better to remove the current Harfbuzz support in Skia with a view to jumping straight to the version agreed with Mike Reed at some point in the future. http://codereview.chromium.org/75011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13795 0039d316-1c4b-4281-b951-d872f2087c98