summaryrefslogtreecommitdiffstats
path: root/skia
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Linux: Move VDMX parsing into WebKit.agl@chromium.org2009-04-151-1/+1
| | | | | | | | This is the Chromium side of: https://bugs.webkit.org/show_bug.cgi?id=25116 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13781 0039d316-1c4b-4281-b951-d872f2087c98
* Adds some ifdefs so that test_shell can be compiled on linuxsky@chromium.org2009-04-101-0/+7
| | | | | | | | | | | | | without GTK. I had to recreate this patch as my workspace for various resonds. UGH! BUG=none TEST=none Review URL: http://codereview.chromium.org/67024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13503 0039d316-1c4b-4281-b951-d872f2087c98
* Skia: Fix skia compile error with newer gcc versions.agl@chromium.org2009-04-091-0/+2
| | | | | | | | | http://codereview.chromium.org/63048 (by Craig Schlenter) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13428 0039d316-1c4b-4281-b951-d872f2087c98
* Skia: Merge upstream's r149.agl@chromium.org2009-04-083-3/+230
| | | | | | | | | | | This brings in support for reading TrueType tables via Skia. This should allow us to move some of our metrics changes into our WebKit port and out of Skia. http://codereview.chromium.org/63133 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13391 0039d316-1c4b-4281-b951-d872f2087c98
* Basic underpinnings of the gyp equivalent of the Linux SHARED=1 build:sgk@google.com2009-04-081-1/+1
| | | | | | | | | parameterize the 'type' setting of the various library targets, with a default of 'static_library'. (Hat tip to Craig Schlenter.) Review URL: http://codereview.chromium.org/62127 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13345 0039d316-1c4b-4281-b951-d872f2087c98
* A few small improvements to ChromeCanvasPaint.deanm@chromium.org2009-04-081-13/+7
| | | | | | | | | | | | | - Don't triple buffer, we are already effectively double buffering by drawing onto a ChromeCanvas (bitmap), and then blitting. We don't need the extra GDK double buffering. - Don't translate the origin, and just blit the dirty rectangle. Review URL: http://codereview.chromium.org/63057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13344 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: layout test fixagl@chromium.org2009-04-081-1/+5
| | | | | | | | | | | I need another round trip land a patch in WebKit to fix it correctly, but noones's around now and I probably won't get a chance before the merge tomorrow morning TBR=evanm git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13327 0039d316-1c4b-4281-b951-d872f2087c98
* Skia: remove fHeight (retry)agl@chromium.org2009-04-082-11/+7
| | | | | | | | | | | | Skia was previously calculating the leading value incorrectly, leading us to add fHeight to get the height of a line of text. Now that Skia is calculating fLeading correctly, we can remove fHeight. http://codereview.chromium.org/62123 https://bugs.webkit.org/show_bug.cgi?id=25083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13316 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Skia: remove fHeight"agl@chromium.org2009-04-072-7/+11
| | | | | | | | This reverts r13300 and r13299. Something clearly went wrong with the layout tests that I didn't notice. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13301 0039d316-1c4b-4281-b951-d872f2087c98
* Skia: remove fHeightagl@chromium.org2009-04-072-11/+7
| | | | | | | | | | | | Skia was previously calculating the leading value incorrectly, leading us to add fHeight to get the height of a line of text. Now that Skia is calculating fLeading correctly, we can remove fHeight. http://codereview.chromium.org/62123 https://bugs.webkit.org/show_bug.cgi?id=25083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13299 0039d316-1c4b-4281-b951-d872f2087c98
* Skia: break XRange into XMax and XMinagl@chromium.org2009-04-072-7/+8
| | | | | | | | | | | | | This is one of Mike Reed's requests for upstreaming this work since he has a use for the XMin value. (also pulls in the WebKit side of this change) http://codereview.chromium.org/62118 https://bugs.webkit.org/show_bug.cgi?id=25081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13295 0039d316-1c4b-4281-b951-d872f2087c98
* Make the define of SKIA_HARFBUZZ and the link against harfbuzz.asgk@google.com2009-04-071-0/+9
| | | | | | | part of the {direct,export}_dependent_settings in skia. Review URL: http://codereview.chromium.org/63067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13268 0039d316-1c4b-4281-b951-d872f2087c98
* Add Harfbuzz to third_party and Skia support for such.agl@chromium.org2009-04-077-0/+122
| | | | | | | | | | | | | | Harfbuzz is an open source library which is a unification of the Qt and Pango shaping engines. We'll be using it on Chromium Linux to perform complex text shaping. Additionally, we add support for Harfbuzz into Skia, guarded by SKIA_HARFBUZZ. http://codereview.chromium.org/63035/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13214 0039d316-1c4b-4281-b951-d872f2087c98
* Skia: support 1bpp bitmap fonts.agl@chromium.org2009-04-061-10/+34
| | | | | | | | | | | Our Kanji fonts have 1bpp bitmaps rather than outlines and, currently, we assume that all bitmaps from Freetype are 8-bit grayscale. This leads to some glyphs being 8x too thin. http://codereview.chromium.org/63017/show git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13209 0039d316-1c4b-4281-b951-d872f2087c98
* Fix linking with gold by cleaning up lib dependencies.tc@google.com2009-04-021-1/+3
| | | | | | | | | | | | | | | - Remove pangoft2, we don't use it anywhere. - Add gdk, fontconfig and freetype2 as dependencies of skia. Gdk is used in platform_canvas_linux. - X11, Xrender and Xext are used by the IPC system, so everything that depends on common, needs to link in those libs. By moving the link_settings line into the libcommon.a target, all projects inherit these. Review URL: http://codereview.chromium.org/60070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13055 0039d316-1c4b-4281-b951-d872f2087c98