summaryrefslogtreecommitdiffstats
path: root/skia/ext/SkFontHost_fontconfig.cpp
Commit message (Collapse)AuthorAgeFilesLines
* re-land 187283 -- switch to skia's version of SkFontHost_fontconfigreed@google.com2013-03-121-369/+0
| | | | | | | add suppressions.txt to account for global typeface cache Review URL: https://codereview.chromium.org/12764009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187572 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 187283reed@google.com2013-03-111-0/+369
| | | | | | | | | | | | | | | | | memcheck reported errors which need to be investigated > Call version of SkFontHost_fontconfig in Skia (cloned from here). > Retool the direct/remove plumbing to use SkFontConfigInterface. > > This change allows Skia to interate on the details of SkFontHost w/o having > to synchromize with chrome on each change. It also means Skia's internal testing > can exercise exactly the same config that Chrome does. > Review URL: https://codereview.chromium.org/12391070 TBR=reed@google.com Review URL: https://codereview.chromium.org/12771003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187287 0039d316-1c4b-4281-b951-d872f2087c98
* Call version of SkFontHost_fontconfig in Skia (cloned from here).reed@google.com2013-03-111-369/+0
| | | | | | | | | | | Retool the direct/remove plumbing to use SkFontConfigInterface. This change allows Skia to interate on the details of SkFontHost w/o having to synchromize with chrome on each change. It also means Skia's internal testing can exercise exactly the same config that Chrome does. Review URL: https://codereview.chromium.org/12391070 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@187283 0039d316-1c4b-4281-b951-d872f2087c98
* Roll Skia DEPS to 7502robertphillips@google.com2013-02-011-1/+1
| | | | | | | control: https://codereview.chromium.org/12087123/ Review URL: https://codereview.chromium.org/12096101 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180138 0039d316-1c4b-4281-b951-d872f2087c98
* skia: Fix clang warnings about missing virtual and OVERRIDE annotations.tfarina@chromium.org2012-09-291-5/+6
| | | | | | | | | BUG=115047 R=thakis@chromium.org Review URL: https://codereview.chromium.org/10970069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159396 0039d316-1c4b-4281-b951-d872f2087c98
* implement Serialize/Deserialize, so we can serialize picturesreed@google.com2012-08-091-9/+38
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10837077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150794 0039d316-1c4b-4281-b951-d872f2087c98
* Roll Skia to 3866.bsalomon@google.com2012-05-081-2/+1
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10383063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@135872 0039d316-1c4b-4281-b951-d872f2087c98
* Remove static initializers in Skia.pliard@chromium.org2012-03-131-19/+23
| | | | | | | | | | | | | | | | | | This patch does the following things: - Add missing SK_USE_POSIX_THREADS in skia.gyp. This enables the patch sent by David Turner making SkMutex POD in order to remove static initializers (on Android, Linux and Mac). - Remove static initializers in SkFontHost_fontconfig.cpp and SkMemory_new_handler.cpp. Note that the global_fc_typefaces map was populated but never read therefore I removed it. Let me know if I'm wrong. BUG=94925 Review URL: http://codereview.chromium.org/9668002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126385 0039d316-1c4b-4281-b951-d872f2087c98
* Remove ValidFontID.bungeman@google.com2012-02-231-13/+0
| | | | | | Review URL: http://codereview.chromium.org/9347043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123282 0039d316-1c4b-4281-b951-d872f2087c98
* Change SkFileDescriptorStream to handle failure to open the file descriptorreed@google.com2011-12-061-11/+8
| | | | | | | | (by initializing its length_ to 0), and to return the number of bytes skipped if buffer==null, rather than returning the offset. Review URL: http://codereview.chromium.org/8800017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@113197 0039d316-1c4b-4281-b951-d872f2087c98
* roll skia to 2633reed@google.com2011-11-091-8/+0
| | | | | | Review URL: http://codereview.chromium.org/8499024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109227 0039d316-1c4b-4281-b951-d872f2087c98
* roll skia, along with API change to SkFontHostreed@google.com2011-06-131-1/+1
| | | | | | Review URL: http://codereview.chromium.org/7003144 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@88843 0039d316-1c4b-4281-b951-d872f2087c98
* linux components: tag exported Skia functions with SK_APIevan@chromium.org2011-04-281-0/+1
| | | | | | | | | When we build libskia as a component, we need to mark the functions we use from outside of Skia. Review URL: http://codereview.chromium.org/6905077 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@83413 0039d316-1c4b-4281-b951-d872f2087c98
* Move unix domain socket support out of base and into chrome common. This is notbrettw@chromium.org2010-12-221-3/+2
| | | | | | | | | | used outside of Chrome. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/5981006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69970 0039d316-1c4b-4281-b951-d872f2087c98
* Make SkFontHost_fontconfig support TTC font files.jshin@chromium.org2010-08-061-19/+48
| | | | | | | | | | | | | | In addition to this change, third_party/skia/src/port/SkFontHost_Freetype.cpp needs a couple of lines changed. The Skia part is at http://codereview.appspot.com/1847046/show BUG=50389 TEST=Install ttf-wqy-microhei package on Ubuntu and go to http://i18nl10n.com/chrome/ttc2.html. Latin letters in the 1st line should be monospaced while they're proportional in the second line. Review URL: http://codereview.chromium.org/2870073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@55262 0039d316-1c4b-4281-b951-d872f2087c98
* Skia roll 536:560agl@chromium.org2010-04-271-2/+4
| | | | | | | | | | | | This also includes Evan's patch: http://codereview.chromium.org/1611033 This roll sits after a revert to Skia's hairline change so, hopefully, doesn't need any rebaselines. The try servers mostly agree although there's one (clip-path-text-and-shape.svg on Windows) that I need to keep on eye on. (That's why I'm landing this before MTV is active.) git-svn-id: svn://svn.chromium.org/chrome/trunk/src@45696 0039d316-1c4b-4281-b951-d872f2087c98
* Linux/fontconfig: support retrieving a default font via CreateTypeface(NULL, ↵tschmelcher@chromium.org2010-02-011-2/+0
| | | | | | | | | | | | | NULL, ...). This is needed in order for SkTypeface::UniqueID(NULL) to not crash. (By removing the else branch, Match() is called with resolved_family_name as the empty string, which it supports.) TEST=built and tested O3D on Linux x64 and tried to render "Arial" on a system that didn't have it; verified resulting call to UniqueID(NULL) did not crash and the app successfully rendered text with some sort of default font BUG=none Review URL: http://codereview.chromium.org/551210 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@37758 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
* 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
* Enable skia asserts. They were disabled some time ago due tosenorblanco@chromium.org2009-08-101-1/+1
| | | | | | | | | | | | 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
* Linux: fix fake italics for fonts without italic variants.agl@chromium.org2009-06-241-6/+9
| | | | | | | | | | | | | | | 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
* Linux: Add support for chrooted renderers.agl@chromium.org2009-06-151-0/+237
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Revert r17575 and r17576. They are causing layout test errors.agl@chromium.org2009-06-041-236/+0
| | | | 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-041-0/+236
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