merge in klp-release (no-op)
Merge perspective feature for PDF.

From Skia's repo:

http://code.google.com/p/skia/source/detail?r=11751
Add SkPDFDeviceFlatenner which extends SkPDFDevice to add support
to flatten the path and the text when we have perspective. prepare
to deprecate SkPDFDevice constructor, and route gm and render_pdfs
to use SkDocument::Create pdf interface instead. - controlled by a
flag add comments where we are supposed to flatten other features
(paint, shaders, ... )

https://code.google.com/p/skia/source/detail?r=11822
Implement perspective for bitmaps in pdf.

https://code.google.com/p/skia/source/detail?r=11937
PDF: support perspective in simple shaders. (this version does not
work well with tilling)

BUG:11384071

Change-Id: I48ea88d231231215349f155d972c6b9e1e127c71
Fix drawing xfermodes to PDF.

Cherry pick of https://code.google.com/p/skia/source/detail?r=12034 in Skia
[PDF] Improve complex xfer mode support.

Xfer mode applies only to the shape of the source drawing, not everything in the
clip as in currently implemented.  It's just that the current gm examples draw a
shape that fills the visible layer.

BUG:11477060

Change-Id: I9f82aeb09ead0d7e600590264a594262ec6c6282
Use nine patch drawing for blurry round rectangles

Cherry pick of https://codereview.chromium.org/52703003/ in Skia.

Add SkRRect::transform.

Much like SkPath::transform, it transforms an SkRRect based on an
SkMatrix. Unlike SkPath::transform, it will fail for matrices that
contain perspective or skewing.

Cherry pick of https://codereview.chromium.org/48623006/ in Skia.

Add ability to ninepatch blurred rounded rectangle

Speed up drawing large blurry round rectangles by converting them to
nine patches.

SkDraw:
Add drawRRect.

SkBitmapDevice:
Call SkDraw::drawRRect instead of converting SkRRect to an SkPath.

SkMaskFilter/SkBlurMaskFilter:
Create a nine patch of a blurred round rect and draw it instead of
drawing the entire thing.

SkPDFDevice:
Override drawRRect to perform the old behavior in
SkBitmapDevice::drawRect.

BUG:11174385
Change-Id: I96e6bf50c1418f7df70681afee6e25be40615497
Fix a memory leak in filterRRectToNine.

Cherry-pick of Skia from https://codereview.chromium.org/65723005/

Found by our valgrind bot:

63,808 bytes in 126 blocks are definitely lost in loss record 76 of 76
at 0x4C2B6CD: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x52C126: sk_malloc_flags(unsigned long, unsigned int) (SkMemory_malloc.cpp:45)
by 0x52C157: sk_malloc_throw(unsigned long) (SkMemory_malloc.cpp:31)
by 0x42A9B2: SkMask::AllocImage(unsigned long) (SkMask.cpp:40)
by 0x5BD349: prepare_to_draw_into_mask(SkRect const&, SkMask*) (SkBlurMaskFilter.cpp:170)
by 0x5BEDC6: SkBlurMaskFilterImpl::filterRRectToNine(SkRRect const&, SkMatrix const&, SkIRect const&, SkMaskFilter::NinePatch*) const (SkBlurMaskFilter.cpp:181)
by 0x42B604: SkMaskFilter::filterRRect(SkRRect const&, SkMatrix const&, SkRasterClip const&, SkBounder*, SkBlitter*, SkPaint::Style) const (SkMaskFilter.cpp:218)
by 0x42460E: SkDraw::drawRRect(SkRRect const&, SkPaint const&) const (SkDraw.cpp:1056)
by 0x413F9C: SkBitmapDevice::drawRRect(SkDraw const&, SkRRect const&, SkPaint const&) (SkBitmapDevice.cpp:235)
by 0x419D31: SkCanvas::drawRRect(SkRRect const&, SkPaint const&) (SkCanvas.cpp:1695)
by 0x43F865: SkPicturePlayback::draw(SkCanvas&, SkDrawPictureCallback*) (SkPicturePlayback.cpp:1001)
by 0x43BC1A: SkPicture::draw(SkCanvas*, SkDrawPictureCallback*) (SkPicture.cpp:261)
by 0x407D42: void sk_tools::DrawTileToCanvas<SkPicture>(SkCanvas*, SkRect const&, SkPicture*) (PictureRenderer.cpp:502)
by 0x4080BA: sk_tools::TiledPictureRenderer::render(SkString const*, SkBitmap**) (PictureRenderer.cpp:546)
by 0x4064EF: render_picture(SkString const&, SkString const*, sk_tools::PictureRenderer&, SkBitmap**) (render_pictures_main.cpp:193)
by 0x406637: render_picture(SkString const&, SkString const*, sk_tools::PictureRenderer&) (render_pictures_main.cpp:251)
by 0x406F50: tool_main(int, char**) (render_pictures_main.cpp:360)
by 0x407142: main (render_pictures_main.cpp:455)

BUG:11630753
Change-Id: Ie7792111449da3126a5e9e273e79bbb36481349c
Override drawRRect in fake SkBitmapDevices.

Recent changes to SkBitmapDevice modified ::drawRRect() to take
an optimized drawing case. Some subclasses of SkBitmapDevice were
depending on the old behavior of calling ::drawPath(). Since they
do not draw, attempting to take the drawing path can cause problems.
For these subclasses, call drawPath() in the subclass.

Cherry-pick of https://code.google.com/p/skia/source/detail?r=12247 in Skia.

BUG:11648093
Change-Id: Ie2173907c58c36b28855aba5a71b7ad676cc543e
Snapshot from http://skia.googlecode.com/svn/trunk@12108

Change-Id: Ia710b27d97e938df06014b7b61a3767bd3be1eb5
Merge tag 'android-4.4.1_r1' into kitkat

Android 4.4.1 Release 1
Snapshot from http://skia.googlecode.com/svn/trunk@12682

Change-Id: I0470d8e53bf019f410509180b95950f20f98a5e8
Merge Skia r12682 into Android.

Conflicts:
	include/core/SkDraw.h
	include/pdf/SkPDFDevice.h
	include/utils/SkCanvasStateUtils.h
	include/utils/SkFrontBufferedStream.h
	src/core/SkDevice.cpp
	src/core/SkDeviceLooper.cpp
	src/core/SkDeviceLooper.h
	src/core/SkRRect.cpp
	src/doc/SkDocument_PDF.cpp
	src/effects/SkBlurMaskFilter.cpp
	src/fonts/SkFontMgr_fontconfig.cpp
	src/gpu/GrAAHairLinePathRenderer.cpp
	src/gpu/GrAAHairLinePathRenderer.h
	src/gpu/GrTextContext.cpp
	src/images/SkImageDecoder_libpng.cpp
	src/images/SkScaledBitmapSampler.cpp
	src/images/SkScaledBitmapSampler.h
	src/pdf/SkPDFDevice.cpp
	src/pdf/SkPDFDeviceFlattener.cpp
	src/ports/SkFontConfigInterface_android.cpp
	src/ports/SkFontHost_FreeType.cpp
	src/ports/SkFontHost_FreeType_common.cpp
	src/utils/SkCanvasStack.cpp
	src/utils/SkCanvasStack.h
	src/utils/SkCanvasStateUtils.cpp
	src/utils/SkDeferredCanvas.cpp
	src/utils/SkFrontBufferedStream.cpp
	src/utils/SkPictureUtils.cpp

Change-Id: Ice86d9769ed99f804932d8839acfdea695cb6d28
Fix issue in the image decoders where the bitmap config was not properly set.

This is a modified cherry-pick of https://code.google.com/p/skia/source/detail?r=13503

bug: 12968474
Change-Id: I245eea4f05f402ca24849d5d2fe354c69526d03d
Apply all Skia changes made to the chromium m33 branch of Skia.

This CL was generated using "svn diff -r12932:12963" on the skia branch /chrome/m33_1750

------------------------------------------------------------------------
r12963 | fmalita@google.com | 2014-01-08 12:17:22 -0500 (Wed, 08 Jan 2014) | 1 line

Cherrypick r12846 into m33_1750 for http://crbug.com/330293
------------------------------------------------------------------------
r12945 | sugoi@google.com | 2014-01-07 13:15:39 -0500 (Tue, 07 Jan 2014) | 1 line

cherrypick changes into branch m33_1750 to fix http://crbug.com/329254
------------------------------------------------------------------------
r12934 | vandebo@chromium.org | 2014-01-06 18:40:00 -0500 (Mon, 06 Jan 2014) | 17 lines

Merge 12729 "[PDF] Fix clipping in xfermode improvement."

> [PDF] Fix clipping in xfermode improvement.
>
> In some cases, the wrong clip (src clip instead of initial clip) was used.
> Switch almost exclusively to initial clip because it is safe and generates a smaller result.
>
> BUG=chromium:328009
> R=reed@google.com, bungeman@google.com
>
> Author: vandebo@chromium.org
>
> Review URL: https://codereview.chromium.org/116423004

TBR=vandebo@chromium.org

Review URL: https://codereview.chromium.org/125293004
------------------------------------------------------------------------

Change-Id: I1d7b49c7dbd32f8d024492d4576879dbecb1d19c
Fix x86 build. DO NOT MERGE

Bug: 13246311

Change-Id: I6cd6a7dd95f2ca693412dbf71cc858c89480f990
Fix build on arm devices w/o neon. DO NOT MERGE

SkMorphologyGetPlatformProc is defined in both SkMorphology_opts_none
and opts_check_arm, so don't build both files.

Bug: 13246311
Change-Id: I06e75c2a99a8820b79b1c068b136349027814ae3
DO NOT MERGE - Allow buffered stream to work with an offset.

Merge fix for nativeDecodeFileDescriptor into MR2.
BUG:13191516

Original CL below:

Allow buffered stream to work with an offset.

If the stream being buffered is buffered from somewhere other than
the start, the SkFrontBufferedStream needs to take that into account
when reporting its length.

Required for https://googleplex-android-review.googlesource.com/#/c/415165/1
in frameworks/base to work.

BUG:12807677
BUG:12895876
Cherry-pick from: I675397f5cebb7c7d8bc9f76acb5265d7209cbbc2

Change-Id: Ia9aa7451fd6f72f0f5c8ba68199f0a74c0475178
Add an Android version of SkRefCnt - DO NOT MERGE

This version adds SkRefCnt::deref(). This allows chromium on Android
to build against the system version of Skia, since chromium requires
this function.

BUG:13246311
Change-Id: I988ef1f76e4e10918ca896e4488d65ccc94837c6
Disable optimizations for chromium m33.

These optimizations are disabled in chromium m33, so disable them in
Android's build of Skia, against which chromium/webview will link.

BUG:13246311
Change-Id: I8e64dea2d232a6b3616c225f1cd269f086b056e3
Set GR_GL_IGNORE_ES3_MSAA to 0. DO NOT MERGE

GR_GL_IGNORE_ES3_MSAA is a workaround for older versions of Chrome, and
M33 (the version we're using) no longer needs it.

BUG:13246311
Change-Id: Ib3cffe72b0b0b0e1fe1b441f3f716dd62ae17ad3
Merge "Set GR_GL_IGNORE_ES3_MSAA to 0. DO NOT MERGE" into m33
Merge "Disable optimizations for chromium m33." into m33