summaryrefslogtreecommitdiffstats
path: root/skia/ext
Commit message (Collapse)AuthorAgeFilesLines
* Pass printing result to the browser.maruel@chromium.org2009-09-084-48/+51
| | | | | | | | | | | | The resulting PDF file will now be passed to the browser and be saved as "chromium_printing_test.pdf" under current directory. BUG=9847 TEST=printing on linux should now generate chromium_printing_test.pdf in download directory. Printing on Windows should still work. Patch contributed by minyu.huang@gmail.com Review URL: http://codereview.chromium.org/172115 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25615 0039d316-1c4b-4281-b951-d872f2087c98
* Avoids the use of "namespace using-directives" in a few places.thakis@chromium.org2009-09-072-10/+6
| | | | | | | | | | BUG=None TEST=None Review URL: http://codereview.chromium.org/183008 Patch from tfarina. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25607 0039d316-1c4b-4281-b951-d872f2087c98
* Added USE_GDK, set when either TOOLKIT_GTK or TOOLKIT_VIEWS is set butbenl@chromium.org2009-09-072-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | not OS_WIN. Added USE_X11. Set when OS_LINUX or OS_FREEBSD is set. Added USE_BASE_DATA_PACK for base::DataPack usage, set for OS_MACOSX, OS_LINUX or OS_FREEBSD. Added USE_NSS for ... nss (for crypto). Windows and MacOS use platform-specific libraries. All of the above cause slightly odd formulations like: #if defined(OS_WIN) ... #elif defined(USE_BASE_DATA_PACK) ... #endif Possibly should also define USE_DLL_FOR_DATA, etc? Or something? Wrapped various references to struct stat64 and stat64() to use struct stat and stat() for FreeBSD - but a "man stat64" on Linux suggests that we could do the same thing for at least Linux, too, and perhaps eliminate the wrapper? git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25599 0039d316-1c4b-4281-b951-d872f2087c98
* Adjust color spaces so that Mac Chrome renders colors properly.amanda@chromium.org2009-09-031-4/+2
| | | | | | | | | | | BUG=19951,20552 TEST=compare pages rendered in Chromium and Safari. They should appear the same. mark: review jrg/brettw: FYI Review URL: http://codereview.chromium.org/194013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25380 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: fix fd leak added in r25083agl@chromium.org2009-09-021-0/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25132 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: use mmap fonts.agl@chromium.org2009-09-011-24/+37
| | | | | | | | | | (First landed in r24790, reverted in r24802.) I'm landing this patch because it breaks page_cycler_intl2 on Linux and I don't know why. I want to watch the bots when they fail. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25083 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a skia utils for Gtk.jcampan@chromium.org2009-09-012-0/+49
| | | | | | | | | | | | BUG=None TEST=None See original review: http://codereview.chromium.org/179048/show Review URL: http://codereview.chromium.org/177053 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25042 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Linux: use mmap fonts."agl@chromium.org2009-08-281-37/+24
| | | | | | | | This reverts commit r24790. page_cycler_intl2 went red, although it's not clear why. This is a speculative revert. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24802 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: use mmap fonts.agl@chromium.org2009-08-281-24/+37
| | | | | | | | | | | | FreeType makes a lot of seek calls when we give it fonts as a stream. To avoid the seeks (which hurt the SUID sandbox), we mmap the fonts. Will need to pay attention to the perf bots after this lands. http://codereview.chromium.org/180026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24790 0039d316-1c4b-4281-b951-d872f2087c98
* Add progress disks to os x download items. Some more spacing tweaks. Still ↵thakis@chromium.org2009-08-191-5/+14
| | | | | | | | | | | not done. BUG=18902 TEST=download something, note that a green disk appears, and disappears after some flashing after the download is done. Review URL: http://codereview.chromium.org/174048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23740 0039d316-1c4b-4281-b951-d872f2087c98
* A canvas_paint for OS X.thakis@chromium.org2009-08-172-0/+106
| | | | | | | | | | | | | | | | | | | Makes it possible to use skia to paint something into a bitmap and then blit that bitmap to screen. I need this so that I can call download_util::PaintDownloadProgress(), which needs an SkCanvas. To be used like this: { gfx::CanvasPaint canvas(myRect); canvas.set_composite_alpha(true); download_util::PaintDownloadprogres(&canvas, ...); } BUG=18902 TEST=none Review URL: http://codereview.chromium.org/172046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23551 0039d316-1c4b-4281-b951-d872f2087c98
* Add complex text and font family supports for printing on Linux.tc@google.com2009-08-111-30/+27
| | | | | | | | | | | | | | | | | | | | | Please NOTE that this is just a quick hack. Instead of using fonts in Cairo, we draw texts' paths from the given paint. pros: 1. Can be easily run within the sandbox. 2. Paths give us many things for free. (complex text, different font family, outlined text, etc.) cons: 1. It's slow and takes more memory since we cannot reuse glyph information. (We have to store paths for the same glyph shown at differnt places.) Patch written by Min-yu Huang <minyu.huang@gmail.com> in http://codereview.chromium.org/164025 . Review URL: http://codereview.chromium.org/165281 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23032 0039d316-1c4b-4281-b951-d872f2087c98
* Enable skia asserts. They were disabled some time ago due tosenorblanco@chromium.org2009-08-103-9/+8
| | | | | | | | | | | | http://crbug.com/6372, which has since been fixed. Some existing asserts were failing due to having been untested, and were fixed in this CL. BUG=http://crbug.com/6373. TEST=unit tests, layout tests, etc do not assert Review URL: http://codereview.chromium.org/165223 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22916 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented SkFontHost::CreateTypefaceFromStream() function. This change is ↵yusukes@google.com2009-08-071-4/+81
| | | | | | | | | | | | | necessary in order to support @font-face on Linux. Changes on WebCore side: https://bugs.webkit.org/show_bug.cgi?id=28015 BUG=18490 TEST=please see the bug descripion. Review URL: http://codereview.chromium.org/160635 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22724 0039d316-1c4b-4281-b951-d872f2087c98
* Original change by Min-Yu Huang <minyu.huang@gmail.com> intc@google.com2009-08-057-96/+705
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | http://codereview.chromium.org/160347 This is the very preliminary implementation to support printing on Linux and it has not been finished yet. For each page to be printed, we convert rendering actions on canvas into cairo APIs and generate a PS/PDF file. chrome/chrome.gyp: Include our newly added and renamed files. chrome/browser/browser.h: chrome/browser/browser.cc: Allow the user print the web page by hitting ctrl-p. chrome/browser/gtk/standard_menus.cc: Show "Print" in the menu. chrome/renderer/print_web_view_helper.cc: chrome/renderer/print_web_view_helper.h: chrome/renderer/print_web_view_helper_mac.cc chrome/renderer/print_web_view_helper_win.cc Move the class PrepareFrameAndViewForPrint to the header file and move platform dependent parts to their corresponding files. chrome/renderer/print_web_view_helper_linux.cc: Hard-coded parameters for printing. Only print the first page now. skia/ext/vector_canvas.cc: skia/ext/vector_canvas.h: skia/ext/vector_canvas_linux.cc: skia/ext/vector_canvas_win.cc: Move platform dependent parts to their corresponding files. skia/ext/vector_platform_device.h: skia/ext/vector_platform_device_linux.cc: skia/ext/vector_platform_device_linux.h We translate skia APIs into Cairo APIs here. A PDF file is also created and saved to the disk at this moment for testing purpose (you have to run chrome without the sandbox to save the file). There are still lots of bugs. skia/skia.gyp: Include our newly added files when compiling skia package on Linux. BUG=9847 Review URL: http://codereview.chromium.org/160673 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22522 0039d316-1c4b-4281-b951-d872f2087c98
* Copy files to preserve version history. Will be edited when Itc@google.com2009-08-051-0/+91
| | | | | | | | | land Min-Yu's changes in http://codereview.chromium.org/160347 . TBR=evan git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22494 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a bug where the old graphics context was released when we werepaul@chromium.org2009-08-041-2/+2
| | | | | | | | | | | | | actually trying to save it for later use. TEST=Set download items to auto open a specific file type (eg .gz) and repeatedly download items of that type, noticing that we no longer crash. BUG=17571 (http://crbug.com/17571) Review URL: http://codereview.chromium.org/160602 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22408 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt to fix the ImageOperations::CreateMaskedBitmap UMR by bringing the ↵glen@chromium.org2009-07-252-10/+11
| | | | | | | | | | | | | | unittest code in line with the other tests in image_operations_unittest. My half-educated suspicion is that alpha wasn't getting initted correctly, as a new UMR appeared in the "SkColor alpha_pixel = " line. (Can't verify as all my machines are in boxes). (This is TBR because the build is red). TBR=tony BUG=15762 TEST=Run valgrind/purify as in bug Review URL: http://codereview.chromium.org/159381 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21610 0039d316-1c4b-4281-b951-d872f2087c98
* Our masker didn't account for the source image also having alpha.glen@chromium.org2009-07-252-12/+15
| | | | | | | | | BUG=17568 TEST=none Review URL: http://codereview.chromium.org/160034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21606 0039d316-1c4b-4281-b951-d872f2087c98
* Fix BitmapPlatformDevice::DrawToContext handling of NULL src_rect on Macstuartmorgan@google.com2009-07-231-5/+4
| | | | | | | | | BUG=none TEST=Crash/kill a plugin process on the Mac; sad tab should draw in the right place. Review URL: http://codereview.chromium.org/155958 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21349 0039d316-1c4b-4281-b951-d872f2087c98
* Tries to retrieve all post_match_families in the font file to support non-asciiyusukes@google.com2009-07-191-10/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fonts. This patch should fix CHECK failures like this: yusukes@yusukes-desktop:~/chromium2/src/build$ ../sconsbuild/Release/chrome [20666:20666:544922424350:FATAL:/home/yusukes/chromium2/src/app/gfx/font_skia.cc(90)] Check failed: tf. Could not find font: IPA モナー Pゴシック Since some fonts have multiple font family names, the FontConfigDirect::Match() function should try to compare post_config_family with _all_ family names in the font, rather than with only the first (usually English) family name. For example, a popular Japanese font called ipagpmona.ttf has two family names, an English name and an internationalized (Japanese) one, and post_config_family for the font can be either the English name or the Japanese name depending on the situation. $ showttf /usr/share/fonts/truetype/ttf-ipamonafont/ipagp-mona.ttf | egrep -A 1 -e "platform=1 .* Family" platform=1 plat spec encoding=0 language=0 name=1 Family strlen=14 stroff=288 IPAMonaPGothic -- platform=1 plat spec encoding=1 language=b name=1 Family strlen=20 stroff=871 IPA <83><82><83>i<81>[ P<83>S<83>V<83>b<83>N Original review URL: http://codereview.chromium.org/155751 BUG=12530 TEST=none Review URL: http://codereview.chromium.org/159061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21063 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 20516 by re-landing this previous patch.brettw@chromium.org2009-07-176-22/+127
| | | | | | | | | | | | | 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 line endings.brettw@chromium.org2009-07-173-250/+250
| | | | | | Review URL: http://codereview.chromium.org/155702 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20981 0039d316-1c4b-4281-b951-d872f2087c98
* Make our HSL shifting match Photoshop's.glen@chromium.org2009-07-154-69/+46
| | | | | | | | | | Also clean up a bunch of PMColor code - skia_utils should operate on SkColors and PMColors should only ever be used by SkBitmaps and ImageOperations. BUG=16687 Review URL: http://codereview.chromium.org/149663 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20788 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: filter out unreadable fontsagl@chromium.org2009-07-141-0/+8
| | | | | | | | | | | Fontconfig will return fonts which are unreadable to the current process if the system cache contains them. BUG=16715 http://codereview.chromium.org/149628 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20663 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: workaround a fontconfig bug.agl@chromium.org2009-07-141-8/+31
| | | | | | | | | | Fontconfig cannot filter out non-scalable fonts on Hardy. http://codereview.chromium.org/149482 BUG=16411 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20604 0039d316-1c4b-4281-b951-d872f2087c98
* Revert previous clipping rect change for Cairo to see if it fixes the build.brettw@chromium.org2009-07-136-127/+22
| | | | 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-136-22/+127
| | | | | | | | | | 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
* Draw the image at the origin rather than one pixel to the right.avi@chromium.org2009-07-101-1/+1
| | | | | | | | | BUG=none TEST=favicons, images shouldn't be shifted, left edge shouldn't be broken Review URL: http://codereview.chromium.org/149473 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20405 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: don't crash when performing font fallback to a non-scalable font.agl@chromium.org2009-07-101-10/+4
| | | | | | | | | | | | | | | Previously we were filtering out non-scalable fonts /after/ the fact. This patch changes it so that we specify to fontconfig that it shouldn't return non-scalable fonts to us. We also duplicate this code into WebFontInfo so that we don't get these issues when performing glyph-fallback. http://codereview.chromium.org/149437 BUG=16403 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20351 0039d316-1c4b-4281-b951-d872f2087c98
* Make font fallback case insensitive.thestig@chromium.org2009-07-081-3/+4
| | | | | | | | BUG=16047 TEST=Go to a site that has css with font-family: sans on Debian Lenny. Review URL: http://codereview.chromium.org/149292 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20123 0039d316-1c4b-4281-b951-d872f2087c98
* A null CGImageRef should be treated as a "null" SkBitmap,darin@google.com2009-07-031-1/+2
| | | | | | | | | | | | | | | | | | one in which isNull() returns true. This assertion was being tripped as a result of some recent changes I made to expose a CGImageRef as the basis or a WebKit::WebImage. I think it makes sense to put this null check in CGImageToSkBitmap instead of at each callsite. TEST=covered by mac ui tests BUG=none TBR=mark Review URL: http://codereview.chromium.org/149173 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19900 0039d316-1c4b-4281-b951-d872f2087c98
* Include gdk.h in canvas_paint_linux.h, it uses gdk_cairo_create.deanm@chromium.org2009-07-011-0/+2
| | | | | | | Review URL: http://codereview.chromium.org/151147 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19732 0039d316-1c4b-4281-b951-d872f2087c98
* Enable some skia unittests on linux and mac.tc@google.com2009-07-011-6/+6
| | | | | | | | | | This enables the ImageOperations.* and SkiaUtils.* test_shell_tests on linux and mac. Review URL: http://codereview.chromium.org/151097 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19701 0039d316-1c4b-4281-b951-d872f2087c98
* Add favicons to tabs on the Mac. Also moved SkBitmapToNSImage() toavi@chromium.org2009-06-253-0/+88
| | | | | | | | | | | | | skia/ext/skia_utils_mac.h and removed chrome/browser/cocoa/cocoa_utils.h. Patch by rsesek. BUG=13565 http://codereview.chromium.org/131018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19266 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting r19244 as it unintentionally broke ui tests: ↵avi@chromium.org2009-06-253-89/+0
| | | | | | OtherRedirectsDontForkProcess InEmptyFrame TestLifetimeOfDomAutomationController git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19245 0039d316-1c4b-4281-b951-d872f2087c98
* Add favicons to tabs on the Mac. Also moved SkBitmapToNSImage() toavi@chromium.org2009-06-253-0/+89
| | | | | | | | | | | | | | skia/ext/skia_utils_mac.h and removed chrome/browser/cocoa/cocoa_utils.h. Patch by rsesek. BUG=13565 Review URL: http://codereview.chromium.org/131018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19244 0039d316-1c4b-4281-b951-d872f2087c98
* Update Skia transfer modes for Skia r239amanda@chromium.org2009-06-251-4/+4
| | | | | | Review URL: http://codereview.chromium.org/146134 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19217 0039d316-1c4b-4281-b951-d872f2087c98
* Update WebKit to 45111 and Skia to 239amanda@chromium.org2009-06-252-0/+18
| | | | | | Review URL: http://codereview.chromium.org/147121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19211 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: fix double italic on some fonts.agl@chromium.org2009-06-241-2/+15
| | | | | | | | | | | | | | If we ask fontconfig for an italic font, it might take a roman font and set the undocumented property FC_MATRIX to a skew matrix. It'll then say that the font is italic or oblique. So, if we see a matrix, we don't believe that it's italic. BUG=15212 http://codereview.chromium.org/147108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19184 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: fix fake italics for fonts without italic variants.agl@chromium.org2009-06-246-29/+53
| | | | | | | | | | | | | | | Before this patch we assumed that the style which we got from fontconfig was the one that we asked for. Rather than do this we need to query the resulting style and plumb that back into WebKit. Once WebKit knows that there's a mismatch between the request and actual styles it can trigger faking. BUG=14810 http://codereview.chromium.org/147005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19095 0039d316-1c4b-4281-b951-d872f2087c98
* Only select scalable fonts. Fixed-size fonts don't work with ↵thestig@chromium.org2009-06-191-0/+10
| | | | | | | | | | FT_Set_Char_Size in SkFontHost_FreeType.cpp. BUG=13007 TEST=On Linux, visit url with { font-family: fixed; } on a computer with pcf fonts. Review URL: http://codereview.chromium.org/131096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18832 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting r18743.avi@google.com2009-06-183-174/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18755 0039d316-1c4b-4281-b951-d872f2087c98
* Add favicons to tabs on the Mac. Also moved SkBitmapToNSImage() toavi@google.com2009-06-183-0/+174
| | | | | | | | | | | | | | skia/ext/skia_utils_mac.h and removed chrome/browser/cocoa/cocoa_utils.h. Patch by rsesek. BUG=13565 Review URL: http://codereview.chromium.org/131018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18743 0039d316-1c4b-4281-b951-d872f2087c98
* 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
* Add file icons to chrome://downloads/ on the Mac. Add Skia helpermark@chromium.org2009-06-163-84/+173
| | | | | | | | | | 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