WebKit uses HarfBuzz directly to do Complex Text Layout, so it needs to get the
proper SkTypeface to pass it to HarfBuzz. However, on Android, fallback scripts
have no name, and we can only get them by file name each time (CreateFromFile).
This actually breaks the semantics of SkTypeface, which states 'The ID should
be unique for the underlying font file/data, not unique per typeface instance.'
And add 2 helper function to convert between FallbackScripts enum and font file
name. These are useful for WebKit's FontCache, which needs string as key.
https://codereview.appspot.com/5797066/
git-svn-id: http://skia.googlecode.com/svn/trunk@3403 2bbb7eff-a529-9590-31e7-b0007b416f81
a tweak on the fix in 3366, but in that earlier change, I mistakenly changed
> to >=. This CL just restores the compare to >
git-svn-id: http://skia.googlecode.com/svn/trunk@3400 2bbb7eff-a529-9590-31e7-b0007b416f81
remove assert that is too strict if the src is the dst of a prev draw
(where alpha might be 0xFE, even if it *should* be 0xFF)
git-svn-id: http://skia.googlecode.com/svn/trunk@3388 2bbb7eff-a529-9590-31e7-b0007b416f81
All are triggered by PDF code.
Two are missing unref's on SkData.
One is a missing unref on a SkAdvancedTypefaceMetrics.
The last is missing destruction of SkClipStack internal state.
BUG=526
Review URL: https://codereview.appspot.com/5824049
git-svn-id: http://skia.googlecode.com/svn/trunk@3386 2bbb7eff-a529-9590-31e7-b0007b416f81
and not giving us particularly important information. It may be useful
to occasionally reactivate it when trying to optimize rectangle blits,
but otherwise it was a waste to have clogging up the performance bots.
git-svn-id: http://skia.googlecode.com/svn/trunk@3385 2bbb7eff-a529-9590-31e7-b0007b416f81
The base issue here was that the default GLX implementation on some Linux laptops lies about its version numbering. Code in SkNativeGLContext_unix.cpp was checking the version number to avoid using FBConfigs in versions prior to 1.3 and thus incorrectly stopped processing.
To resolve this a separate configuration path has been added that uses the pre-1.3 method (i.e., XGetVisualInfo and glXGetConfig). The run-time version check has also been removed and a #define has been added to toggle between the two implementations. This allows the FBConfig method to be used with the wayward GLX implementation while the legacy method can be used with older implementations.
Please see http://codereview.appspot.com/5823049/ for more information.
git-svn-id: http://skia.googlecode.com/svn/trunk@3384 2bbb7eff-a529-9590-31e7-b0007b416f81
row/col (setting its scale to 0), so we don't violate the clip-rule and
possibly double-draw the last pixel.
git-svn-id: http://skia.googlecode.com/svn/trunk@3366 2bbb7eff-a529-9590-31e7-b0007b416f81
When moving the content of a device into a PDF object like SkPDFFormXObject
or SkPDFShader does, we only need the top level resources in the new object's
resource list, not the recursive set of objects. Otherwise, when you
put a form on a form on form, etc, references to the objects multiply.
This fixed http://crbug.com/117321
Review URL: https://codereview.appspot.com/5796048
git-svn-id: http://skia.googlecode.com/svn/trunk@3360 2bbb7eff-a529-9590-31e7-b0007b416f81
(Works around a performance issue: JavaScript Canvas2D API only provides canvas.clipPath(), and we don't
optimize path clips nearly as much as we can rects; this shows up more in Ganesh than in the software
rasterizer.)
http://codereview.appspot.com/5795044/
git-svn-id: http://skia.googlecode.com/svn/trunk@3355 2bbb7eff-a529-9590-31e7-b0007b416f81