summaryrefslogtreecommitdiff
path: root/skia
diff options
context:
space:
mode:
authorTorne (Richard Coles) <torne@google.com>2013-11-28 11:55:43 +0000
committerTorne (Richard Coles) <torne@google.com>2013-11-28 11:55:43 +0000
commitf2477e01787aa58f445919b809d89e252beef54f (patch)
tree2db962b4af39f0db3a5f83b314373d0530c484b8 /skia
parent7daea1dd5ff7e419322de831b642d81af3247912 (diff)
downloadchromium_org-f2477e01787aa58f445919b809d89e252beef54f.tar.gz
Merge from Chromium at DEPS revision 237746
This commit was generated by merge_to_master.py. Change-Id: I8997af4cddfeb09a7c26f7e8e672c712cab461ea
Diffstat (limited to 'skia')
-rw-r--r--skia/ext/analysis_canvas.cc10
-rw-r--r--skia/ext/analysis_canvas.h3
-rw-r--r--skia/ext/bitmap_platform_device.h8
-rw-r--r--skia/ext/bitmap_platform_device_cairo.cc (renamed from skia/ext/bitmap_platform_device_linux.cc)4
-rw-r--r--skia/ext/bitmap_platform_device_cairo.h (renamed from skia/ext/bitmap_platform_device_linux.h)8
-rw-r--r--skia/ext/bitmap_platform_device_skia.cc (renamed from skia/ext/bitmap_platform_device_android.cc)4
-rw-r--r--skia/ext/bitmap_platform_device_skia.h (renamed from skia/ext/bitmap_platform_device_android.h)10
-rw-r--r--skia/ext/bitmap_platform_device_win.cc58
-rw-r--r--skia/ext/platform_device.h12
-rw-r--r--skia/ext/skia_utils_ios.mm8
-rw-r--r--skia/ext/skia_utils_mac.h10
-rw-r--r--skia/ext/skia_utils_mac.mm30
-rw-r--r--skia/ext/skia_utils_mac_unittest.mm19
-rw-r--r--skia/ext/vector_platform_device_emf_win.cc7
-rw-r--r--skia/ext/vector_platform_device_emf_win.h2
-rw-r--r--skia/skia.gyp13
-rw-r--r--skia/skia_chrome.gypi17
-rw-r--r--skia/skia_chrome.target.darwin-arm.mk8
-rw-r--r--skia/skia_chrome.target.darwin-mips.mk8
-rw-r--r--skia/skia_chrome.target.darwin-x86.mk8
-rw-r--r--skia/skia_chrome.target.linux-arm.mk8
-rw-r--r--skia/skia_chrome.target.linux-mips.mk8
-rw-r--r--skia/skia_chrome.target.linux-x86.mk8
-rw-r--r--skia/skia_chrome_opts.target.darwin-mips.mk2
-rw-r--r--skia/skia_chrome_opts.target.darwin-x86.mk2
-rw-r--r--skia/skia_chrome_opts.target.linux-mips.mk2
-rw-r--r--skia/skia_chrome_opts.target.linux-x86.mk2
-rw-r--r--skia/skia_common.gypi15
-rw-r--r--skia/skia_library.gypi29
-rw-r--r--skia/skia_library.target.darwin-arm.mk13
-rw-r--r--skia/skia_library.target.darwin-mips.mk13
-rw-r--r--skia/skia_library.target.darwin-x86.mk13
-rw-r--r--skia/skia_library.target.linux-arm.mk13
-rw-r--r--skia/skia_library.target.linux-mips.mk13
-rw-r--r--skia/skia_library.target.linux-x86.mk13
-rw-r--r--skia/skia_library_opts.gyp7
-rw-r--r--skia/skia_opts.target.darwin-arm.mk6
-rw-r--r--skia/skia_opts.target.darwin-mips.mk7
-rw-r--r--skia/skia_opts.target.darwin-x86.mk7
-rw-r--r--skia/skia_opts.target.linux-arm.mk6
-rw-r--r--skia/skia_opts.target.linux-mips.mk7
-rw-r--r--skia/skia_opts.target.linux-x86.mk7
-rw-r--r--skia/skia_opts_neon.target.darwin-arm.mk7
-rw-r--r--skia/skia_opts_neon.target.linux-arm.mk7
-rw-r--r--skia/skia_opts_ssse3.target.darwin-x86.mk4
-rw-r--r--skia/skia_opts_ssse3.target.linux-x86.mk4
-rw-r--r--skia/skia_test_expectations.txt66
-rw-r--r--skia/tools/filter_fuzz_stub/filter_fuzz_stub.cc93
48 files changed, 472 insertions, 157 deletions
diff --git a/skia/ext/analysis_canvas.cc b/skia/ext/analysis_canvas.cc
index 9db42f17ab..e77ff2b72c 100644
--- a/skia/ext/analysis_canvas.cc
+++ b/skia/ext/analysis_canvas.cc
@@ -182,6 +182,16 @@ void AnalysisDevice::drawOval(const SkDraw& draw,
is_transparent_ = false;
}
+void AnalysisDevice::drawRRect(const SkDraw& draw,
+ const SkRRect& rr,
+ const SkPaint& paint) {
+ // This should add the SkRRect to an SkPath, and call
+ // drawPath, but since drawPath ignores the SkPath, just
+ // do the same work here.
+ is_solid_color_ = false;
+ is_transparent_ = false;
+}
+
void AnalysisDevice::drawPath(const SkDraw& draw,
const SkPath& path,
const SkPaint& paint,
diff --git a/skia/ext/analysis_canvas.h b/skia/ext/analysis_canvas.h
index 78d72ff938..909a19826d 100644
--- a/skia/ext/analysis_canvas.h
+++ b/skia/ext/analysis_canvas.h
@@ -84,6 +84,9 @@ class SK_API AnalysisDevice : public SkBitmapDevice {
virtual void drawRect(const SkDraw& draw,
const SkRect& rect,
const SkPaint& paint) OVERRIDE;
+ virtual void drawRRect(const SkDraw& draw,
+ const SkRRect& rr,
+ const SkPaint& paint) OVERRIDE;
virtual void drawOval(const SkDraw& draw,
const SkRect& oval,
const SkPaint& paint) OVERRIDE;
diff --git a/skia/ext/bitmap_platform_device.h b/skia/ext/bitmap_platform_device.h
index 56e41763f8..a0770f7171 100644
--- a/skia/ext/bitmap_platform_device.h
+++ b/skia/ext/bitmap_platform_device.h
@@ -12,10 +12,10 @@
#include "skia/ext/bitmap_platform_device_win.h"
#elif defined(__APPLE__)
#include "skia/ext/bitmap_platform_device_mac.h"
-#elif defined(ANDROID)
-#include "skia/ext/bitmap_platform_device_android.h"
-#elif defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__sun)
-#include "skia/ext/bitmap_platform_device_linux.h"
+#elif defined(USE_CAIRO)
+#include "skia/ext/bitmap_platform_device_cairo.h"
+#else
+#include "skia/ext/bitmap_platform_device_skia.h"
#endif
namespace skia {
diff --git a/skia/ext/bitmap_platform_device_linux.cc b/skia/ext/bitmap_platform_device_cairo.cc
index f259c6fd31..e9316297d0 100644
--- a/skia/ext/bitmap_platform_device_linux.cc
+++ b/skia/ext/bitmap_platform_device_cairo.cc
@@ -1,8 +1,8 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "skia/ext/bitmap_platform_device_linux.h"
+#include "skia/ext/bitmap_platform_device_cairo.h"
#include "skia/ext/bitmap_platform_device_data.h"
#include "skia/ext/platform_canvas.h"
diff --git a/skia/ext/bitmap_platform_device_linux.h b/skia/ext/bitmap_platform_device_cairo.h
index 048092e076..914be341b7 100644
--- a/skia/ext/bitmap_platform_device_linux.h
+++ b/skia/ext/bitmap_platform_device_cairo.h
@@ -1,9 +1,9 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef SKIA_EXT_BITMAP_PLATFORM_DEVICE_LINUX_H_
-#define SKIA_EXT_BITMAP_PLATFORM_DEVICE_LINUX_H_
+#ifndef SKIA_EXT_BITMAP_PLATFORM_DEVICE_CAIRO_H_
+#define SKIA_EXT_BITMAP_PLATFORM_DEVICE_CAIRO_H_
#include "base/basictypes.h"
#include "base/compiler_specific.h"
@@ -111,4 +111,4 @@ class BitmapPlatformDevice : public SkBitmapDevice, public PlatformDevice {
} // namespace skia
-#endif // SKIA_EXT_BITMAP_PLATFORM_DEVICE_LINUX_H_
+#endif // SKIA_EXT_BITMAP_PLATFORM_DEVICE_CAIRO_H_
diff --git a/skia/ext/bitmap_platform_device_android.cc b/skia/ext/bitmap_platform_device_skia.cc
index 9d6051e225..6f8370d6df 100644
--- a/skia/ext/bitmap_platform_device_android.cc
+++ b/skia/ext/bitmap_platform_device_skia.cc
@@ -1,8 +1,8 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "skia/ext/bitmap_platform_device_android.h"
+#include "skia/ext/bitmap_platform_device_skia.h"
#include "skia/ext/platform_canvas.h"
namespace skia {
diff --git a/skia/ext/bitmap_platform_device_android.h b/skia/ext/bitmap_platform_device_skia.h
index 4e1735f1f5..853f58bbe5 100644
--- a/skia/ext/bitmap_platform_device_android.h
+++ b/skia/ext/bitmap_platform_device_skia.h
@@ -1,12 +1,12 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef SKIA_EXT_BITMAP_PLATFORM_DEVICE_ANDROID_H_
-#define SKIA_EXT_BITMAP_PLATFORM_DEVICE_ANDROID_H_
+#ifndef SKIA_EXT_BITMAP_PLATFORM_DEVICE_SKIA_H_
+#define SKIA_EXT_BITMAP_PLATFORM_DEVICE_SKIA_H_
-#include "base/memory/ref_counted.h"
#include "base/compiler_specific.h"
+#include "base/memory/ref_counted.h"
#include "skia/ext/platform_device.h"
namespace skia {
@@ -57,4 +57,4 @@ class BitmapPlatformDevice : public SkBitmapDevice, public PlatformDevice {
} // namespace skia
-#endif // SKIA_EXT_BITMAP_PLATFORM_DEVICE_ANDROID_H_
+#endif // SKIA_EXT_BITMAP_PLATFORM_DEVICE_SKIA_H_
diff --git a/skia/ext/bitmap_platform_device_win.cc b/skia/ext/bitmap_platform_device_win.cc
index 203281d327..42f431bc41 100644
--- a/skia/ext/bitmap_platform_device_win.cc
+++ b/skia/ext/bitmap_platform_device_win.cc
@@ -5,6 +5,8 @@
#include <windows.h>
#include <psapi.h>
+#include "base/logging.h"
+#include "base/debug/alias.h"
#include "skia/ext/bitmap_platform_device_win.h"
#include "skia/ext/bitmap_platform_device_data.h"
#include "skia/ext/platform_canvas.h"
@@ -57,6 +59,62 @@ HBITMAP CreateHBitmap(int width, int height, bool is_opaque,
HBITMAP hbitmap = CreateDIBSection(NULL, reinterpret_cast<BITMAPINFO*>(&hdr),
0, data, shared_section, 0);
+
+ // If this call fails, we're gonna crash hard. Try to get some useful
+ // information out before we crash for post-mortem analysis.
+ if (!hbitmap) {
+ // Make sure parameters are saved in the minidump.
+ base::debug::Alias(&width);
+ base::debug::Alias(&height);
+
+ int last_error = GetLastError();
+ base::debug::Alias(&last_error);
+
+ int num_gdi_handles = GetGuiResources(GetCurrentProcess(),
+ GR_GDIOBJECTS);
+ if (num_gdi_handles == 0) {
+ int get_gui_resources_error = GetLastError();
+ base::debug::Alias(&get_gui_resources_error);
+ CHECK(false);
+ }
+
+ base::debug::Alias(&num_gdi_handles);
+ const int kLotsOfHandles = 9990;
+ if (num_gdi_handles > kLotsOfHandles)
+ CHECK(false);
+
+ PROCESS_MEMORY_COUNTERS_EX pmc;
+ pmc.cb = sizeof(pmc);
+ if (!GetProcessMemoryInfo(GetCurrentProcess(),
+ reinterpret_cast<PROCESS_MEMORY_COUNTERS*>(&pmc),
+ sizeof(pmc))) {
+ CHECK(false);
+ }
+ const size_t kLotsOfMemory = 1500 * 1024 * 1024; // 1.5GB
+ if (pmc.PagefileUsage > kLotsOfMemory)
+ CHECK(false);
+ if (pmc.PrivateUsage > kLotsOfMemory)
+ CHECK(false);
+
+ // Huh, that's weird. We don't have crazy handle count, we don't have
+ // ridiculous memory usage. Try to allocate a small bitmap and see if that
+ // fails too.
+ hdr.biWidth = 5;
+ hdr.biHeight = 5;
+ void* small_data;
+ HBITMAP small_bitmap = CreateDIBSection(
+ NULL, reinterpret_cast<BITMAPINFO*>(&hdr),
+ 0, &small_data, shared_section, 0);
+ if (!small_bitmap)
+ CHECK(false);
+ BITMAP bitmap_data;
+ if (GetObject(small_bitmap, sizeof(BITMAP), &bitmap_data)) {
+ if (!DeleteObject(small_bitmap))
+ CHECK(false);
+ }
+ // No idea what's going on. Die!
+ CHECK(false);
+ }
return hbitmap;
}
diff --git a/skia/ext/platform_device.h b/skia/ext/platform_device.h
index d46b5d47a3..7e77ff1a4c 100644
--- a/skia/ext/platform_device.h
+++ b/skia/ext/platform_device.h
@@ -21,8 +21,7 @@ class SkMetaData;
class SkPath;
class SkRegion;
-#if defined(OS_LINUX) || defined(OS_OPENBSD) || defined(OS_FREEBSD) \
- || defined(OS_SOLARIS)
+#if defined(USE_CAIRO)
typedef struct _cairo cairo_t;
typedef struct _cairo_rectangle cairo_rectangle_t;
#elif defined(OS_MACOSX)
@@ -37,16 +36,15 @@ class PlatformDevice;
#if defined(OS_WIN)
typedef HDC PlatformSurface;
typedef RECT PlatformRect;
-#elif defined(ANDROID)
-typedef void* PlatformSurface;
-typedef SkIRect* PlatformRect;
-#elif defined(OS_LINUX) || defined(OS_OPENBSD) || defined(OS_FREEBSD) \
- || defined(OS_SOLARIS)
+#elif defined(USE_CAIRO)
typedef cairo_t* PlatformSurface;
typedef cairo_rectangle_t PlatformRect;
#elif defined(OS_MACOSX)
typedef CGContextRef PlatformSurface;
typedef CGRect PlatformRect;
+#else
+typedef void* PlatformSurface;
+typedef SkIRect* PlatformRect;
#endif
// The following routines provide accessor points for the functionality
diff --git a/skia/ext/skia_utils_ios.mm b/skia/ext/skia_utils_ios.mm
index 80c50fdec2..6f4814a2dd 100644
--- a/skia/ext/skia_utils_ios.mm
+++ b/skia/ext/skia_utils_ios.mm
@@ -18,11 +18,15 @@ SkBitmap CGImageToSkBitmap(CGImageRef image, CGSize size, bool is_opaque) {
if (!image)
return bitmap;
- bitmap.setConfig(SkBitmap::kARGB_8888_Config, size.width, size.height);
+ bitmap.setConfig(SkBitmap::kARGB_8888_Config,
+ size.width,
+ size.height,
+ 0,
+ is_opaque ? kOpaque_SkAlphaType : kPremul_SkAlphaType);
+
if (!bitmap.allocPixels())
return bitmap;
- bitmap.setIsOpaque(is_opaque);
void* data = bitmap.getPixels();
// Allocate a bitmap context with 4 components per pixel (BGRA). Apple
diff --git a/skia/ext/skia_utils_mac.h b/skia/ext/skia_utils_mac.h
index e6f7b35bbc..fd000f3543 100644
--- a/skia/ext/skia_utils_mac.h
+++ b/skia/ext/skia_utils_mac.h
@@ -78,11 +78,15 @@ SK_API NSColor* SkColorToSRGBNSColor(SkColor color);
SK_API SkBitmap CGImageToSkBitmap(CGImageRef image);
// Draws an NSImage with a given size into a SkBitmap.
-SK_API SkBitmap NSImageToSkBitmap(NSImage* image, NSSize size, bool is_opaque);
+SK_API SkBitmap NSImageToSkBitmapWithColorSpace(NSImage* image,
+ bool is_opaque,
+ CGColorSpaceRef color_space);
// Draws an NSImageRep with a given size into a SkBitmap.
-SK_API SkBitmap NSImageRepToSkBitmap(
- NSImageRep* image, NSSize size, bool is_opaque);
+SK_API SkBitmap NSImageRepToSkBitmapWithColorSpace(NSImageRep* image,
+ NSSize size,
+ bool is_opaque,
+ CGColorSpaceRef colorspace);
// Given an SkBitmap, return an autoreleased NSBitmapImageRep in the generic
// color space.
diff --git a/skia/ext/skia_utils_mac.mm b/skia/ext/skia_utils_mac.mm
index 50217d0059..dcc2cccffc 100644
--- a/skia/ext/skia_utils_mac.mm
+++ b/skia/ext/skia_utils_mac.mm
@@ -17,23 +17,26 @@
namespace {
// Draws an NSImage or an NSImageRep with a given size into a SkBitmap.
-SkBitmap NSImageOrNSImageRepToSkBitmap(
+SkBitmap NSImageOrNSImageRepToSkBitmapWithColorSpace(
NSImage* image,
NSImageRep* image_rep,
NSSize size,
- bool is_opaque) {
+ bool is_opaque,
+ CGColorSpaceRef color_space) {
// Only image or image_rep should be provided, not both.
DCHECK((image != 0) ^ (image_rep != 0));
SkBitmap bitmap;
- bitmap.setConfig(SkBitmap::kARGB_8888_Config, size.width, size.height);
+ bitmap.setConfig(SkBitmap::kARGB_8888_Config,
+ size.width,
+ size.height,
+ 0,
+ is_opaque ? kOpaque_SkAlphaType : kPremul_SkAlphaType);
+
if (!bitmap.allocPixels())
return bitmap; // Return |bitmap| which should respond true to isNull().
- bitmap.setIsOpaque(is_opaque);
- base::ScopedCFTypeRef<CGColorSpaceRef> color_space(
- CGColorSpaceCreateWithName(kCGColorSpaceGenericRGB));
void* data = bitmap.getPixels();
// Allocate a bitmap context with 4 components per pixel (BGRA). Apple
@@ -217,13 +220,18 @@ SkBitmap CGImageToSkBitmap(CGImageRef image) {
return bitmap;
}
-SkBitmap NSImageToSkBitmap(NSImage* image, NSSize size, bool is_opaque) {
- return NSImageOrNSImageRepToSkBitmap(image, nil, size, is_opaque);
+SkBitmap NSImageToSkBitmapWithColorSpace(
+ NSImage* image, bool is_opaque, CGColorSpaceRef color_space) {
+ return NSImageOrNSImageRepToSkBitmapWithColorSpace(
+ image, nil, [image size], is_opaque, color_space);
}
-SkBitmap NSImageRepToSkBitmap(
- NSImageRep* image_rep, NSSize size, bool is_opaque) {
- return NSImageOrNSImageRepToSkBitmap(nil, image_rep, size, is_opaque);
+SkBitmap NSImageRepToSkBitmapWithColorSpace(NSImageRep* image_rep,
+ NSSize size,
+ bool is_opaque,
+ CGColorSpaceRef color_space) {
+ return NSImageOrNSImageRepToSkBitmapWithColorSpace(
+ nil, image_rep, size, is_opaque, color_space);
}
NSBitmapImageRep* SkBitmapToNSBitmapImageRep(const SkBitmap& skiaBitmap) {
diff --git a/skia/ext/skia_utils_mac_unittest.mm b/skia/ext/skia_utils_mac_unittest.mm
index 51b957eb38..bc0d422502 100644
--- a/skia/ext/skia_utils_mac_unittest.mm
+++ b/skia/ext/skia_utils_mac_unittest.mm
@@ -4,6 +4,7 @@
#include "skia/ext/skia_utils_mac.mm"
+#include "base/mac/mac_util.h"
#include "base/mac/scoped_nsobject.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -102,17 +103,15 @@ void SkiaUtilsMacTest::TestSkBitmap(const SkBitmap& bitmap, bool isred) {
int y = bitmap.height() > 17 ? 17 : 0;
SkColor color = bitmap.getColor(x, y);
- // Be tolerant of lossy color space conversions.
- // TODO(sail): Fix color space conversion issues, http://crbug.com/79946
if (isred) {
- EXPECT_GT(SkColorGetR(color), 245u);
- EXPECT_LT(SkColorGetB(color), 10u);
+ EXPECT_EQ(255u, SkColorGetR(color));
+ EXPECT_EQ(0u, SkColorGetB(color));
} else {
- EXPECT_LT(SkColorGetR(color), 10u);
- EXPECT_GT(SkColorGetB(color), 245u);
+ EXPECT_EQ(0u, SkColorGetR(color));
+ EXPECT_EQ(255u, SkColorGetB(color));
}
- EXPECT_LT(SkColorGetG(color), 10u);
- EXPECT_GT(SkColorGetA(color), 245u);
+ EXPECT_EQ(0u, SkColorGetG(color));
+ EXPECT_EQ(255u, SkColorGetA(color));
}
// setBitmapDevice has been deprecated/removed. Is this test still useful?
@@ -206,7 +205,9 @@ TEST_F(SkiaUtilsMacTest, NSImageRepToSkBitmap) {
NSImage* image = CreateNSImage(width, height, isred);
EXPECT_EQ(1u, [[image representations] count]);
NSBitmapImageRep* imageRep = [[image representations] lastObject];
- SkBitmap bitmap(gfx::NSImageRepToSkBitmap(imageRep, [image size], false));
+ NSColorSpace* colorSpace = [NSColorSpace deviceRGBColorSpace];
+ SkBitmap bitmap(gfx::NSImageRepToSkBitmapWithColorSpace(
+ imageRep, [image size], false, [colorSpace CGColorSpace]));
TestSkBitmap(bitmap, isred);
}
diff --git a/skia/ext/vector_platform_device_emf_win.cc b/skia/ext/vector_platform_device_emf_win.cc
index fe1ba2927d..3356f217ad 100644
--- a/skia/ext/vector_platform_device_emf_win.cc
+++ b/skia/ext/vector_platform_device_emf_win.cc
@@ -211,6 +211,13 @@ void VectorPlatformDeviceEmf::drawRect(const SkDraw& draw,
Cleanup();
}
+void VectorPlatformDeviceEmf::drawRRect(const SkDraw& draw, const SkRRect& rr,
+ const SkPaint& paint) {
+ SkPath path;
+ path.addRRect(rr);
+ this->drawPath(draw, path, paint, NULL, true);
+}
+
void VectorPlatformDeviceEmf::drawPath(const SkDraw& draw,
const SkPath& path,
const SkPaint& paint,
diff --git a/skia/ext/vector_platform_device_emf_win.h b/skia/ext/vector_platform_device_emf_win.h
index 61ea4413f3..df8315c4fc 100644
--- a/skia/ext/vector_platform_device_emf_win.h
+++ b/skia/ext/vector_platform_device_emf_win.h
@@ -42,6 +42,8 @@ class VectorPlatformDeviceEmf : public SkBitmapDevice, public PlatformDevice {
const SkPaint& paint) OVERRIDE;
virtual void drawRect(const SkDraw& draw, const SkRect& r,
const SkPaint& paint) OVERRIDE;
+ virtual void drawRRect(const SkDraw&, const SkRRect& rr,
+ const SkPaint& paint) OVERRIDE;
virtual void drawPath(const SkDraw& draw, const SkPath& path,
const SkPaint& paint,
const SkMatrix* prePathMatrix = NULL,
diff --git a/skia/skia.gyp b/skia/skia.gyp
index 79d0dfc97b..4a5d62e5b4 100644
--- a/skia/skia.gyp
+++ b/skia/skia.gyp
@@ -66,10 +66,12 @@
'defines': [
'SKIA_DLL',
'SKIA_IMPLEMENTATION=1',
+ 'GR_GL_IGNORE_ES3_MSAA=0',
],
'direct_dependent_settings': {
'defines': [
'SKIA_DLL',
+ 'GR_GL_IGNORE_ES3_MSAA=0',
],
},
},
@@ -131,5 +133,16 @@
'ext/image_operations_bench.cc',
],
},
+ {
+ 'target_name': 'filter_fuzz_stub',
+ 'type': 'executable',
+ 'dependencies': [
+ '../base/base.gyp:base',
+ 'skia.gyp:skia',
+ ],
+ 'sources': [
+ 'tools/filter_fuzz_stub/filter_fuzz_stub.cc',
+ ],
+ },
],
}
diff --git a/skia/skia_chrome.gypi b/skia/skia_chrome.gypi
index c24bb7347f..32179a6fe3 100644
--- a/skia/skia_chrome.gypi
+++ b/skia/skia_chrome.gypi
@@ -26,13 +26,13 @@
'ext/benchmarking_canvas.cc',
'ext/benchmarking_canvas.h',
'ext/bitmap_platform_device.h',
- 'ext/bitmap_platform_device_android.cc',
- 'ext/bitmap_platform_device_android.h',
+ 'ext/bitmap_platform_device_cairo.cc',
+ 'ext/bitmap_platform_device_cairo.h',
'ext/bitmap_platform_device_data.h',
- 'ext/bitmap_platform_device_linux.cc',
- 'ext/bitmap_platform_device_linux.h',
'ext/bitmap_platform_device_mac.cc',
'ext/bitmap_platform_device_mac.h',
+ 'ext/bitmap_platform_device_skia.cc',
+ 'ext/bitmap_platform_device_skia.h',
'ext/bitmap_platform_device_win.cc',
'ext/bitmap_platform_device_win.h',
'ext/convolver.cc',
@@ -81,6 +81,10 @@
[ 'OS == "android" and enable_printing == 0', {
'sources!': [
'ext/skia_utils_base.cc',
+ ],
+ }],
+ [ 'enable_printing == 0', {
+ 'sources!': [
'ext/vector_platform_device_skia.cc',
],
}],
@@ -104,6 +108,11 @@
'-Wstring-conversion',
],
}],
+ [ 'OS != "android" and (OS != "linux" or use_cairo==1)', {
+ 'sources!': [
+ 'ext/bitmap_platform_device_skia.cc',
+ ],
+ }],
],
'target_conditions': [
diff --git a/skia/skia_chrome.target.darwin-arm.mk b/skia/skia_chrome.target.darwin-arm.mk
index 48552a3320..c1ce976b78 100644
--- a/skia/skia_chrome.target.darwin-arm.mk
+++ b/skia/skia_chrome.target.darwin-arm.mk
@@ -30,7 +30,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := \
LOCAL_SRC_FILES := \
skia/ext/analysis_canvas.cc \
skia/ext/benchmarking_canvas.cc \
- skia/ext/bitmap_platform_device_android.cc \
+ skia/ext/bitmap_platform_device_skia.cc \
skia/ext/convolver.cc \
skia/ext/google_logging.cc \
skia/ext/image_operations.cc \
@@ -96,12 +96,15 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
@@ -198,12 +201,15 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
diff --git a/skia/skia_chrome.target.darwin-mips.mk b/skia/skia_chrome.target.darwin-mips.mk
index 1a650a62e0..70132f2403 100644
--- a/skia/skia_chrome.target.darwin-mips.mk
+++ b/skia/skia_chrome.target.darwin-mips.mk
@@ -30,7 +30,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := \
LOCAL_SRC_FILES := \
skia/ext/analysis_canvas.cc \
skia/ext/benchmarking_canvas.cc \
- skia/ext/bitmap_platform_device_android.cc \
+ skia/ext/bitmap_platform_device_skia.cc \
skia/ext/convolver.cc \
skia/ext/google_logging.cc \
skia/ext/image_operations.cc \
@@ -96,12 +96,15 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
@@ -198,12 +201,15 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
diff --git a/skia/skia_chrome.target.darwin-x86.mk b/skia/skia_chrome.target.darwin-x86.mk
index 0ac48de34f..e0b7783068 100644
--- a/skia/skia_chrome.target.darwin-x86.mk
+++ b/skia/skia_chrome.target.darwin-x86.mk
@@ -30,7 +30,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := \
LOCAL_SRC_FILES := \
skia/ext/analysis_canvas.cc \
skia/ext/benchmarking_canvas.cc \
- skia/ext/bitmap_platform_device_android.cc \
+ skia/ext/bitmap_platform_device_skia.cc \
skia/ext/convolver.cc \
skia/ext/google_logging.cc \
skia/ext/image_operations.cc \
@@ -98,12 +98,15 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
@@ -203,12 +206,15 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
diff --git a/skia/skia_chrome.target.linux-arm.mk b/skia/skia_chrome.target.linux-arm.mk
index 48552a3320..c1ce976b78 100644
--- a/skia/skia_chrome.target.linux-arm.mk
+++ b/skia/skia_chrome.target.linux-arm.mk
@@ -30,7 +30,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := \
LOCAL_SRC_FILES := \
skia/ext/analysis_canvas.cc \
skia/ext/benchmarking_canvas.cc \
- skia/ext/bitmap_platform_device_android.cc \
+ skia/ext/bitmap_platform_device_skia.cc \
skia/ext/convolver.cc \
skia/ext/google_logging.cc \
skia/ext/image_operations.cc \
@@ -96,12 +96,15 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
@@ -198,12 +201,15 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
diff --git a/skia/skia_chrome.target.linux-mips.mk b/skia/skia_chrome.target.linux-mips.mk
index 1a650a62e0..70132f2403 100644
--- a/skia/skia_chrome.target.linux-mips.mk
+++ b/skia/skia_chrome.target.linux-mips.mk
@@ -30,7 +30,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := \
LOCAL_SRC_FILES := \
skia/ext/analysis_canvas.cc \
skia/ext/benchmarking_canvas.cc \
- skia/ext/bitmap_platform_device_android.cc \
+ skia/ext/bitmap_platform_device_skia.cc \
skia/ext/convolver.cc \
skia/ext/google_logging.cc \
skia/ext/image_operations.cc \
@@ -96,12 +96,15 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
@@ -198,12 +201,15 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
diff --git a/skia/skia_chrome.target.linux-x86.mk b/skia/skia_chrome.target.linux-x86.mk
index 0ac48de34f..e0b7783068 100644
--- a/skia/skia_chrome.target.linux-x86.mk
+++ b/skia/skia_chrome.target.linux-x86.mk
@@ -30,7 +30,7 @@ GYP_COPIED_SOURCE_ORIGIN_DIRS := \
LOCAL_SRC_FILES := \
skia/ext/analysis_canvas.cc \
skia/ext/benchmarking_canvas.cc \
- skia/ext/bitmap_platform_device_android.cc \
+ skia/ext/bitmap_platform_device_skia.cc \
skia/ext/convolver.cc \
skia/ext/google_logging.cc \
skia/ext/image_operations.cc \
@@ -98,12 +98,15 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
@@ -203,12 +206,15 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_USE_POSIX_THREADS' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
diff --git a/skia/skia_chrome_opts.target.darwin-mips.mk b/skia/skia_chrome_opts.target.darwin-mips.mk
index 22655de16e..947a2aa7ef 100644
--- a/skia/skia_chrome_opts.target.darwin-mips.mk
+++ b/skia/skia_chrome_opts.target.darwin-mips.mk
@@ -77,6 +77,7 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
@@ -161,6 +162,7 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
diff --git a/skia/skia_chrome_opts.target.darwin-x86.mk b/skia/skia_chrome_opts.target.darwin-x86.mk
index 8207403fb0..83ee85c277 100644
--- a/skia/skia_chrome_opts.target.darwin-x86.mk
+++ b/skia/skia_chrome_opts.target.darwin-x86.mk
@@ -78,6 +78,7 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
@@ -164,6 +165,7 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
diff --git a/skia/skia_chrome_opts.target.linux-mips.mk b/skia/skia_chrome_opts.target.linux-mips.mk
index 22655de16e..947a2aa7ef 100644
--- a/skia/skia_chrome_opts.target.linux-mips.mk
+++ b/skia/skia_chrome_opts.target.linux-mips.mk
@@ -77,6 +77,7 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
@@ -161,6 +162,7 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
diff --git a/skia/skia_chrome_opts.target.linux-x86.mk b/skia/skia_chrome_opts.target.linux-x86.mk
index 8207403fb0..83ee85c277 100644
--- a/skia/skia_chrome_opts.target.linux-x86.mk
+++ b/skia/skia_chrome_opts.target.linux-x86.mk
@@ -78,6 +78,7 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
@@ -164,6 +165,7 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
diff --git a/skia/skia_common.gypi b/skia/skia_common.gypi
index 03eade8887..0f5f976724 100644
--- a/skia/skia_common.gypi
+++ b/skia/skia_common.gypi
@@ -16,6 +16,11 @@
['exclude', '_android\\.(cc|cpp)$'],
],
}],
+ [ 'OS == "android"', {
+ 'defines': [
+ 'SK_FONTHOST_DOES_NOT_USE_FONTMGR',
+ ],
+ }],
[ 'OS != "ios"', {
'sources/': [
['exclude', '_ios\\.(cc|cpp|mm?)$'],
@@ -29,12 +34,18 @@
[ 'OS != "win"', {
'sources/': [ ['exclude', '_win\\.(cc|cpp)$'] ],
}],
- [ 'use_glib == 0', {
+ [ 'desktop_linux == 0 and chromeos == 0', {
'sources/': [ ['exclude', '_linux\\.(cc|cpp)$'] ],
}],
+ [ 'use_cairo == 0', {
+ 'sources/': [ ['exclude', '_cairo\\.(cc|cpp)$'] ],
+ }],
],
- 'direct_dependent_settings': {
+ # We would prefer this to be direct_dependent_settings,
+ # however we currently have no means to enforce that direct dependents
+ # re-export if they include Skia headers in their public headers.
+ 'all_dependent_settings': {
'include_dirs': [
'..',
'config',
diff --git a/skia/skia_library.gypi b/skia/skia_library.gypi
index 73cf542692..745133e998 100644
--- a/skia/skia_library.gypi
+++ b/skia/skia_library.gypi
@@ -43,6 +43,7 @@
'SK_ENABLE_LEGACY_API_ALIASING=1',
'SK_ATTR_DEPRECATED=SK_NOTHING_ARG1',
'SK_SUPPORT_LEGACY_COLORTYPE=1',
+ 'GR_GL_IGNORE_ES3_MSAA=0',
],
'default_font_cache_limit%': '(20*1024*1024)',
@@ -268,11 +269,10 @@
'../third_party/skia/src/opts/opts_check_SSE2.cpp'
],
}],
- [ 'use_glib == 1', {
+ [ 'desktop_linux == 1 or chromeos == 1', {
'dependencies': [
'../build/linux/system.gyp:fontconfig',
'../build/linux/system.gyp:freetype2',
- '../build/linux/system.gyp:pangocairo',
'../third_party/icu/icu.gyp:icuuc',
],
'cflags': [
@@ -280,13 +280,18 @@
'-Wno-unused-function',
],
}],
- [ 'use_glib == 0', {
+ [ 'use_cairo == 1', {
+ 'dependencies': [
+ '../build/linux/system.gyp:pangocairo',
+ ],
+ }],
+ [ 'OS=="win" or OS=="mac" or OS=="ios" or OS=="android"', {
'sources!': [
'../third_party/skia/src/ports/SkFontConfigInterface_direct.cpp',
'../third_party/skia/src/fonts/SkFontMgr_fontconfig.cpp',
],
}],
- [ 'use_glib == 0 and OS != "android"', {
+ [ 'OS=="win" or OS=="mac" or OS=="ios"', {
'sources!': [
'../third_party/skia/src/ports/SkFontHost_FreeType.cpp',
'../third_party/skia/src/ports/SkFontHost_FreeType_common.cpp',
@@ -373,9 +378,6 @@
'../third_party/skia/include/utils/win',
'../third_party/skia/src/utils/win',
],
- 'defines': [
- 'SK_FONTHOST_USES_FONTMGR',
- ],
},{ # not 'OS == "win"'
'sources!': [
'../third_party/skia/src/ports/SkFontHost_win_dw.cpp',
@@ -400,6 +402,15 @@
'-Wstring-conversion',
],
}],
+ # On windows, GDI handles are a scarse system-wide resource so we have to keep
+ # the glyph cache, which holds up to 4 GDI handles per entry, to a fairly small
+ # size.
+ # http://crbug.com/314387
+ [ 'OS == "win"', {
+ 'defines': [
+ 'SK_DEFAULT_FONT_CACHE_COUNT_LIMIT=256',
+ ],
+ }],
],
'target_conditions': [
# Pull in specific Mac files for iOS (which have been filtered out
@@ -432,9 +443,9 @@
'IGNORE_ROT_AA_RECT_OPT',
- 'SK_IGNORE_QUAD_RR_CORNERS_OPT',
+ 'SK_IGNORE_BLURRED_RRECT_OPT',
- 'SKIA_IGNORE_GPU_MIPMAPS',
+ 'SK_IGNORE_QUAD_RR_CORNERS_OPT',
# this flag forces Skia not to use typographic metrics with GDI.
'SK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS',
diff --git a/skia/skia_library.target.darwin-arm.mk b/skia/skia_library.target.darwin-arm.mk
index 217141a401..70ff52e618 100644
--- a/skia/skia_library.target.darwin-arm.mk
+++ b/skia/skia_library.target.darwin-arm.mk
@@ -101,6 +101,7 @@ LOCAL_SRC_FILES := \
third_party/skia/src/core/SkDevice.cpp \
third_party/skia/src/core/SkDeviceLooper.cpp \
third_party/skia/src/core/SkDeviceProfile.cpp \
+ third_party/skia/src/lazy/SkDiscardablePixelRef.cpp \
third_party/skia/src/core/SkDither.cpp \
third_party/skia/src/core/SkDraw.cpp \
third_party/skia/src/core/SkDrawLooper.cpp \
@@ -207,6 +208,8 @@ LOCAL_SRC_FILES := \
third_party/skia/src/lazy/SkLruImageCache.cpp \
third_party/skia/src/lazy/SkPurgeableMemoryBlock_common.cpp \
third_party/skia/src/lazy/SkPurgeableImageCache.cpp \
+ third_party/skia/src/lazy/SkCachingPixelRef.cpp \
+ third_party/skia/src/lazy/SkLazyCachingPixelRef.cpp \
third_party/skia/src/pathops/SkAddIntersections.cpp \
third_party/skia/src/pathops/SkDCubicIntersection.cpp \
third_party/skia/src/pathops/SkDCubicLineIntersection.cpp \
@@ -430,19 +433,21 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0' \
'-DSK_DISABLE_OFFSETIMAGEFILTER_OPTIMIZATION' \
'-DSK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK' \
'-DIGNORE_ROT_AA_RECT_OPT' \
+ '-DSK_IGNORE_BLURRED_RRECT_OPT' \
'-DSK_IGNORE_QUAD_RR_CORNERS_OPT' \
- '-DSKIA_IGNORE_GPU_MIPMAPS' \
'-DSK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS' \
'-DSK_DEFAULT_FONT_CACHE_LIMIT=(1*1024*1024)' \
'-DSK_GAMMA_APPLY_TO_A8' \
@@ -450,6 +455,7 @@ MY_DEFS_Debug := \
'-DSK_GAMMA_CONTRAST=0.0' \
'-DSK_USE_POSIX_THREADS' \
'-D__ARM_HAVE_OPTIONAL_NEON_SUPPORT' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
@@ -555,19 +561,21 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0' \
'-DSK_DISABLE_OFFSETIMAGEFILTER_OPTIMIZATION' \
'-DSK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK' \
'-DIGNORE_ROT_AA_RECT_OPT' \
+ '-DSK_IGNORE_BLURRED_RRECT_OPT' \
'-DSK_IGNORE_QUAD_RR_CORNERS_OPT' \
- '-DSKIA_IGNORE_GPU_MIPMAPS' \
'-DSK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS' \
'-DSK_DEFAULT_FONT_CACHE_LIMIT=(1*1024*1024)' \
'-DSK_GAMMA_APPLY_TO_A8' \
@@ -575,6 +583,7 @@ MY_DEFS_Release := \
'-DSK_GAMMA_CONTRAST=0.0' \
'-DSK_USE_POSIX_THREADS' \
'-D__ARM_HAVE_OPTIONAL_NEON_SUPPORT' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
diff --git a/skia/skia_library.target.darwin-mips.mk b/skia/skia_library.target.darwin-mips.mk
index d184f5dc14..dd0f3cb4d0 100644
--- a/skia/skia_library.target.darwin-mips.mk
+++ b/skia/skia_library.target.darwin-mips.mk
@@ -101,6 +101,7 @@ LOCAL_SRC_FILES := \
third_party/skia/src/core/SkDevice.cpp \
third_party/skia/src/core/SkDeviceLooper.cpp \
third_party/skia/src/core/SkDeviceProfile.cpp \
+ third_party/skia/src/lazy/SkDiscardablePixelRef.cpp \
third_party/skia/src/core/SkDither.cpp \
third_party/skia/src/core/SkDraw.cpp \
third_party/skia/src/core/SkDrawLooper.cpp \
@@ -207,6 +208,8 @@ LOCAL_SRC_FILES := \
third_party/skia/src/lazy/SkLruImageCache.cpp \
third_party/skia/src/lazy/SkPurgeableMemoryBlock_common.cpp \
third_party/skia/src/lazy/SkPurgeableImageCache.cpp \
+ third_party/skia/src/lazy/SkCachingPixelRef.cpp \
+ third_party/skia/src/lazy/SkLazyCachingPixelRef.cpp \
third_party/skia/src/pathops/SkAddIntersections.cpp \
third_party/skia/src/pathops/SkDCubicIntersection.cpp \
third_party/skia/src/pathops/SkDCubicLineIntersection.cpp \
@@ -429,25 +432,28 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0' \
'-DSK_DISABLE_OFFSETIMAGEFILTER_OPTIMIZATION' \
'-DSK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK' \
'-DIGNORE_ROT_AA_RECT_OPT' \
+ '-DSK_IGNORE_BLURRED_RRECT_OPT' \
'-DSK_IGNORE_QUAD_RR_CORNERS_OPT' \
- '-DSKIA_IGNORE_GPU_MIPMAPS' \
'-DSK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS' \
'-DSK_DEFAULT_FONT_CACHE_LIMIT=(1*1024*1024)' \
'-DSK_GAMMA_APPLY_TO_A8' \
'-DSK_GAMMA_EXPONENT=1.4' \
'-DSK_GAMMA_CONTRAST=0.0' \
'-DSK_USE_POSIX_THREADS' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
@@ -553,25 +559,28 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0' \
'-DSK_DISABLE_OFFSETIMAGEFILTER_OPTIMIZATION' \
'-DSK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK' \
'-DIGNORE_ROT_AA_RECT_OPT' \
+ '-DSK_IGNORE_BLURRED_RRECT_OPT' \
'-DSK_IGNORE_QUAD_RR_CORNERS_OPT' \
- '-DSKIA_IGNORE_GPU_MIPMAPS' \
'-DSK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS' \
'-DSK_DEFAULT_FONT_CACHE_LIMIT=(1*1024*1024)' \
'-DSK_GAMMA_APPLY_TO_A8' \
'-DSK_GAMMA_EXPONENT=1.4' \
'-DSK_GAMMA_CONTRAST=0.0' \
'-DSK_USE_POSIX_THREADS' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
diff --git a/skia/skia_library.target.darwin-x86.mk b/skia/skia_library.target.darwin-x86.mk
index 1bc1cfd7e7..0cd7e397e1 100644
--- a/skia/skia_library.target.darwin-x86.mk
+++ b/skia/skia_library.target.darwin-x86.mk
@@ -102,6 +102,7 @@ LOCAL_SRC_FILES := \
third_party/skia/src/core/SkDevice.cpp \
third_party/skia/src/core/SkDeviceLooper.cpp \
third_party/skia/src/core/SkDeviceProfile.cpp \
+ third_party/skia/src/lazy/SkDiscardablePixelRef.cpp \
third_party/skia/src/core/SkDither.cpp \
third_party/skia/src/core/SkDraw.cpp \
third_party/skia/src/core/SkDrawLooper.cpp \
@@ -208,6 +209,8 @@ LOCAL_SRC_FILES := \
third_party/skia/src/lazy/SkLruImageCache.cpp \
third_party/skia/src/lazy/SkPurgeableMemoryBlock_common.cpp \
third_party/skia/src/lazy/SkPurgeableImageCache.cpp \
+ third_party/skia/src/lazy/SkCachingPixelRef.cpp \
+ third_party/skia/src/lazy/SkLazyCachingPixelRef.cpp \
third_party/skia/src/pathops/SkAddIntersections.cpp \
third_party/skia/src/pathops/SkDCubicIntersection.cpp \
third_party/skia/src/pathops/SkDCubicLineIntersection.cpp \
@@ -432,25 +435,28 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0' \
'-DSK_DISABLE_OFFSETIMAGEFILTER_OPTIMIZATION' \
'-DSK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK' \
'-DIGNORE_ROT_AA_RECT_OPT' \
+ '-DSK_IGNORE_BLURRED_RRECT_OPT' \
'-DSK_IGNORE_QUAD_RR_CORNERS_OPT' \
- '-DSKIA_IGNORE_GPU_MIPMAPS' \
'-DSK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS' \
'-DSK_DEFAULT_FONT_CACHE_LIMIT=(1*1024*1024)' \
'-DSK_GAMMA_APPLY_TO_A8' \
'-DSK_GAMMA_EXPONENT=1.4' \
'-DSK_GAMMA_CONTRAST=0.0' \
'-DSK_USE_POSIX_THREADS' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
@@ -559,25 +565,28 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0' \
'-DSK_DISABLE_OFFSETIMAGEFILTER_OPTIMIZATION' \
'-DSK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK' \
'-DIGNORE_ROT_AA_RECT_OPT' \
+ '-DSK_IGNORE_BLURRED_RRECT_OPT' \
'-DSK_IGNORE_QUAD_RR_CORNERS_OPT' \
- '-DSKIA_IGNORE_GPU_MIPMAPS' \
'-DSK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS' \
'-DSK_DEFAULT_FONT_CACHE_LIMIT=(1*1024*1024)' \
'-DSK_GAMMA_APPLY_TO_A8' \
'-DSK_GAMMA_EXPONENT=1.4' \
'-DSK_GAMMA_CONTRAST=0.0' \
'-DSK_USE_POSIX_THREADS' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
diff --git a/skia/skia_library.target.linux-arm.mk b/skia/skia_library.target.linux-arm.mk
index 217141a401..70ff52e618 100644
--- a/skia/skia_library.target.linux-arm.mk
+++ b/skia/skia_library.target.linux-arm.mk
@@ -101,6 +101,7 @@ LOCAL_SRC_FILES := \
third_party/skia/src/core/SkDevice.cpp \
third_party/skia/src/core/SkDeviceLooper.cpp \
third_party/skia/src/core/SkDeviceProfile.cpp \
+ third_party/skia/src/lazy/SkDiscardablePixelRef.cpp \
third_party/skia/src/core/SkDither.cpp \
third_party/skia/src/core/SkDraw.cpp \
third_party/skia/src/core/SkDrawLooper.cpp \
@@ -207,6 +208,8 @@ LOCAL_SRC_FILES := \
third_party/skia/src/lazy/SkLruImageCache.cpp \
third_party/skia/src/lazy/SkPurgeableMemoryBlock_common.cpp \
third_party/skia/src/lazy/SkPurgeableImageCache.cpp \
+ third_party/skia/src/lazy/SkCachingPixelRef.cpp \
+ third_party/skia/src/lazy/SkLazyCachingPixelRef.cpp \
third_party/skia/src/pathops/SkAddIntersections.cpp \
third_party/skia/src/pathops/SkDCubicIntersection.cpp \
third_party/skia/src/pathops/SkDCubicLineIntersection.cpp \
@@ -430,19 +433,21 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0' \
'-DSK_DISABLE_OFFSETIMAGEFILTER_OPTIMIZATION' \
'-DSK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK' \
'-DIGNORE_ROT_AA_RECT_OPT' \
+ '-DSK_IGNORE_BLURRED_RRECT_OPT' \
'-DSK_IGNORE_QUAD_RR_CORNERS_OPT' \
- '-DSKIA_IGNORE_GPU_MIPMAPS' \
'-DSK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS' \
'-DSK_DEFAULT_FONT_CACHE_LIMIT=(1*1024*1024)' \
'-DSK_GAMMA_APPLY_TO_A8' \
@@ -450,6 +455,7 @@ MY_DEFS_Debug := \
'-DSK_GAMMA_CONTRAST=0.0' \
'-DSK_USE_POSIX_THREADS' \
'-D__ARM_HAVE_OPTIONAL_NEON_SUPPORT' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
@@ -555,19 +561,21 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0' \
'-DSK_DISABLE_OFFSETIMAGEFILTER_OPTIMIZATION' \
'-DSK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK' \
'-DIGNORE_ROT_AA_RECT_OPT' \
+ '-DSK_IGNORE_BLURRED_RRECT_OPT' \
'-DSK_IGNORE_QUAD_RR_CORNERS_OPT' \
- '-DSKIA_IGNORE_GPU_MIPMAPS' \
'-DSK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS' \
'-DSK_DEFAULT_FONT_CACHE_LIMIT=(1*1024*1024)' \
'-DSK_GAMMA_APPLY_TO_A8' \
@@ -575,6 +583,7 @@ MY_DEFS_Release := \
'-DSK_GAMMA_CONTRAST=0.0' \
'-DSK_USE_POSIX_THREADS' \
'-D__ARM_HAVE_OPTIONAL_NEON_SUPPORT' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
diff --git a/skia/skia_library.target.linux-mips.mk b/skia/skia_library.target.linux-mips.mk
index d184f5dc14..dd0f3cb4d0 100644
--- a/skia/skia_library.target.linux-mips.mk
+++ b/skia/skia_library.target.linux-mips.mk
@@ -101,6 +101,7 @@ LOCAL_SRC_FILES := \
third_party/skia/src/core/SkDevice.cpp \
third_party/skia/src/core/SkDeviceLooper.cpp \
third_party/skia/src/core/SkDeviceProfile.cpp \
+ third_party/skia/src/lazy/SkDiscardablePixelRef.cpp \
third_party/skia/src/core/SkDither.cpp \
third_party/skia/src/core/SkDraw.cpp \
third_party/skia/src/core/SkDrawLooper.cpp \
@@ -207,6 +208,8 @@ LOCAL_SRC_FILES := \
third_party/skia/src/lazy/SkLruImageCache.cpp \
third_party/skia/src/lazy/SkPurgeableMemoryBlock_common.cpp \
third_party/skia/src/lazy/SkPurgeableImageCache.cpp \
+ third_party/skia/src/lazy/SkCachingPixelRef.cpp \
+ third_party/skia/src/lazy/SkLazyCachingPixelRef.cpp \
third_party/skia/src/pathops/SkAddIntersections.cpp \
third_party/skia/src/pathops/SkDCubicIntersection.cpp \
third_party/skia/src/pathops/SkDCubicLineIntersection.cpp \
@@ -429,25 +432,28 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0' \
'-DSK_DISABLE_OFFSETIMAGEFILTER_OPTIMIZATION' \
'-DSK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK' \
'-DIGNORE_ROT_AA_RECT_OPT' \
+ '-DSK_IGNORE_BLURRED_RRECT_OPT' \
'-DSK_IGNORE_QUAD_RR_CORNERS_OPT' \
- '-DSKIA_IGNORE_GPU_MIPMAPS' \
'-DSK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS' \
'-DSK_DEFAULT_FONT_CACHE_LIMIT=(1*1024*1024)' \
'-DSK_GAMMA_APPLY_TO_A8' \
'-DSK_GAMMA_EXPONENT=1.4' \
'-DSK_GAMMA_CONTRAST=0.0' \
'-DSK_USE_POSIX_THREADS' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
@@ -553,25 +559,28 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0' \
'-DSK_DISABLE_OFFSETIMAGEFILTER_OPTIMIZATION' \
'-DSK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK' \
'-DIGNORE_ROT_AA_RECT_OPT' \
+ '-DSK_IGNORE_BLURRED_RRECT_OPT' \
'-DSK_IGNORE_QUAD_RR_CORNERS_OPT' \
- '-DSKIA_IGNORE_GPU_MIPMAPS' \
'-DSK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS' \
'-DSK_DEFAULT_FONT_CACHE_LIMIT=(1*1024*1024)' \
'-DSK_GAMMA_APPLY_TO_A8' \
'-DSK_GAMMA_EXPONENT=1.4' \
'-DSK_GAMMA_CONTRAST=0.0' \
'-DSK_USE_POSIX_THREADS' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
diff --git a/skia/skia_library.target.linux-x86.mk b/skia/skia_library.target.linux-x86.mk
index 1bc1cfd7e7..0cd7e397e1 100644
--- a/skia/skia_library.target.linux-x86.mk
+++ b/skia/skia_library.target.linux-x86.mk
@@ -102,6 +102,7 @@ LOCAL_SRC_FILES := \
third_party/skia/src/core/SkDevice.cpp \
third_party/skia/src/core/SkDeviceLooper.cpp \
third_party/skia/src/core/SkDeviceProfile.cpp \
+ third_party/skia/src/lazy/SkDiscardablePixelRef.cpp \
third_party/skia/src/core/SkDither.cpp \
third_party/skia/src/core/SkDraw.cpp \
third_party/skia/src/core/SkDrawLooper.cpp \
@@ -208,6 +209,8 @@ LOCAL_SRC_FILES := \
third_party/skia/src/lazy/SkLruImageCache.cpp \
third_party/skia/src/lazy/SkPurgeableMemoryBlock_common.cpp \
third_party/skia/src/lazy/SkPurgeableImageCache.cpp \
+ third_party/skia/src/lazy/SkCachingPixelRef.cpp \
+ third_party/skia/src/lazy/SkLazyCachingPixelRef.cpp \
third_party/skia/src/pathops/SkAddIntersections.cpp \
third_party/skia/src/pathops/SkDCubicIntersection.cpp \
third_party/skia/src/pathops/SkDCubicLineIntersection.cpp \
@@ -432,25 +435,28 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0' \
'-DSK_DISABLE_OFFSETIMAGEFILTER_OPTIMIZATION' \
'-DSK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK' \
'-DIGNORE_ROT_AA_RECT_OPT' \
+ '-DSK_IGNORE_BLURRED_RRECT_OPT' \
'-DSK_IGNORE_QUAD_RR_CORNERS_OPT' \
- '-DSKIA_IGNORE_GPU_MIPMAPS' \
'-DSK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS' \
'-DSK_DEFAULT_FONT_CACHE_LIMIT=(1*1024*1024)' \
'-DSK_GAMMA_APPLY_TO_A8' \
'-DSK_GAMMA_EXPONENT=1.4' \
'-DSK_GAMMA_CONTRAST=0.0' \
'-DSK_USE_POSIX_THREADS' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
@@ -559,25 +565,28 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-DSK_ENABLE_INST_COUNT=0' \
'-DSK_SUPPORT_GPU=1' \
'-DGR_GL_CUSTOM_SETUP_HEADER="GrGLConfig_chrome.h"' \
'-DSK_ENABLE_LEGACY_API_ALIASING=1' \
'-DSK_ATTR_DEPRECATED=SK_NOTHING_ARG1' \
'-DSK_SUPPORT_LEGACY_COLORTYPE=1' \
+ '-DGR_GL_IGNORE_ES3_MSAA=0' \
'-DSK_BUILD_FOR_ANDROID' \
'-DSK_ALLOW_STATIC_GLOBAL_INITIALIZERS=0' \
'-DSK_DISABLE_OFFSETIMAGEFILTER_OPTIMIZATION' \
'-DSK_DISABLE_PIXELREF_LOCKCOUNT_BALANCE_CHECK' \
'-DIGNORE_ROT_AA_RECT_OPT' \
+ '-DSK_IGNORE_BLURRED_RRECT_OPT' \
'-DSK_IGNORE_QUAD_RR_CORNERS_OPT' \
- '-DSKIA_IGNORE_GPU_MIPMAPS' \
'-DSK_GDI_ALWAYS_USE_TEXTMETRICS_FOR_FONT_METRICS' \
'-DSK_DEFAULT_FONT_CACHE_LIMIT=(1*1024*1024)' \
'-DSK_GAMMA_APPLY_TO_A8' \
'-DSK_GAMMA_EXPONENT=1.4' \
'-DSK_GAMMA_CONTRAST=0.0' \
'-DSK_USE_POSIX_THREADS' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DSK_DEFERRED_CANVAS_USES_FACTORIES=1' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
diff --git a/skia/skia_library_opts.gyp b/skia/skia_library_opts.gyp
index 6c682b4d2c..888fdc0219 100644
--- a/skia/skia_library_opts.gyp
+++ b/skia/skia_library_opts.gyp
@@ -51,6 +51,7 @@
'../third_party/skia/src/opts/SkXfermode_opts_none.cpp',
'../third_party/skia/src/opts/SkBitmapFilter_opts_SSE2.cpp',
'../third_party/skia/src/opts/SkMorphology_opts_SSE2.cpp',
+ '../third_party/skia/src/opts/SkBlurImage_opts_SSE2.cpp',
],
'dependencies': [
'skia_opts_ssse3',
@@ -109,6 +110,7 @@
'../third_party/skia/src/opts/SkUtils_opts_none.cpp',
'../third_party/skia/src/opts/SkXfermode_opts_none.cpp',
'../third_party/skia/src/opts/SkMorphology_opts_none.cpp',
+ '../third_party/skia/src/opts/SkBlurImage_opts_none.cpp',
],
}],
[ 'target_arch == "arm" and arm_version >= 6', {
@@ -118,7 +120,7 @@
'../third_party/skia/src/opts/SkBlitRow_opts_arm.h',
'../third_party/skia/src/opts/opts_check_arm.cpp',
'../third_party/skia/src/opts/SkXfermode_opts_none.cpp',
- '../third_party/skia/src/opts/SkMorphology_opts_none.cpp',
+ '../third_party/skia/src/opts/SkBlurImage_opts_none.cpp',
],
}],
[ 'target_arch == "mipsel"',{
@@ -132,6 +134,7 @@
'../third_party/skia/src/opts/SkUtils_opts_none.cpp',
'../third_party/skia/src/opts/SkXfermode_opts_none.cpp',
'../third_party/skia/src/opts/SkMorphology_opts_none.cpp',
+ '../third_party/skia/src/opts/SkBlurImage_opts_none.cpp',
],
}],
],
@@ -195,6 +198,7 @@
'../third_party/skia/src/opts/SkUtils_opts_none.cpp',
'../third_party/skia/src/opts/SkXfermode_opts_none.cpp',
'../third_party/skia/src/opts/SkMorphology_opts_none.cpp',
+ '../third_party/skia/src/opts/SkBlurImage_opts_none.cpp',
],
},
],
@@ -239,6 +243,7 @@
'../third_party/skia/src/opts/SkBitmapProcState_matrix_repeat_neon.h',
'../third_party/skia/src/opts/SkBlitRow_opts_arm_neon.cpp',
'../third_party/skia/src/opts/SkXfermode_opts_arm_neon.cpp',
+ '../third_party/skia/src/opts/SkMorphology_opts_neon.cpp',
],
'conditions': [
['arm_neon == 1', {
diff --git a/skia/skia_opts.target.darwin-arm.mk b/skia/skia_opts.target.darwin-arm.mk
index 6571b768e6..9d13fa4204 100644
--- a/skia/skia_opts.target.darwin-arm.mk
+++ b/skia/skia_opts.target.darwin-arm.mk
@@ -28,7 +28,7 @@ LOCAL_SRC_FILES := \
third_party/skia/src/opts/SkBlitRow_opts_arm.cpp \
third_party/skia/src/opts/opts_check_arm.cpp \
third_party/skia/src/opts/SkXfermode_opts_none.cpp \
- third_party/skia/src/opts/SkMorphology_opts_none.cpp
+ third_party/skia/src/opts/SkBlurImage_opts_none.cpp
# Flags passed to both C and C++ files.
@@ -83,7 +83,9 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__ARM_HAVE_OPTIONAL_NEON_SUPPORT' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
@@ -171,7 +173,9 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__ARM_HAVE_OPTIONAL_NEON_SUPPORT' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
diff --git a/skia/skia_opts.target.darwin-mips.mk b/skia/skia_opts.target.darwin-mips.mk
index 828bdeead0..15deb319d0 100644
--- a/skia/skia_opts.target.darwin-mips.mk
+++ b/skia/skia_opts.target.darwin-mips.mk
@@ -27,7 +27,8 @@ LOCAL_SRC_FILES := \
third_party/skia/src/opts/SkBlitRow_opts_none.cpp \
third_party/skia/src/opts/SkUtils_opts_none.cpp \
third_party/skia/src/opts/SkXfermode_opts_none.cpp \
- third_party/skia/src/opts/SkMorphology_opts_none.cpp
+ third_party/skia/src/opts/SkMorphology_opts_none.cpp \
+ third_party/skia/src/opts/SkBlurImage_opts_none.cpp
# Flags passed to both C and C++ files.
@@ -81,6 +82,8 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
@@ -167,6 +170,8 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
diff --git a/skia/skia_opts.target.darwin-x86.mk b/skia/skia_opts.target.darwin-x86.mk
index 56a413aa90..038114c241 100644
--- a/skia/skia_opts.target.darwin-x86.mk
+++ b/skia/skia_opts.target.darwin-x86.mk
@@ -28,7 +28,8 @@ LOCAL_SRC_FILES := \
third_party/skia/src/opts/SkUtils_opts_SSE2.cpp \
third_party/skia/src/opts/SkXfermode_opts_none.cpp \
third_party/skia/src/opts/SkBitmapFilter_opts_SSE2.cpp \
- third_party/skia/src/opts/SkMorphology_opts_SSE2.cpp
+ third_party/skia/src/opts/SkMorphology_opts_SSE2.cpp \
+ third_party/skia/src/opts/SkBlurImage_opts_SSE2.cpp
# Flags passed to both C and C++ files.
@@ -83,6 +84,8 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
@@ -171,6 +174,8 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
diff --git a/skia/skia_opts.target.linux-arm.mk b/skia/skia_opts.target.linux-arm.mk
index 6571b768e6..9d13fa4204 100644
--- a/skia/skia_opts.target.linux-arm.mk
+++ b/skia/skia_opts.target.linux-arm.mk
@@ -28,7 +28,7 @@ LOCAL_SRC_FILES := \
third_party/skia/src/opts/SkBlitRow_opts_arm.cpp \
third_party/skia/src/opts/opts_check_arm.cpp \
third_party/skia/src/opts/SkXfermode_opts_none.cpp \
- third_party/skia/src/opts/SkMorphology_opts_none.cpp
+ third_party/skia/src/opts/SkBlurImage_opts_none.cpp
# Flags passed to both C and C++ files.
@@ -83,7 +83,9 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__ARM_HAVE_OPTIONAL_NEON_SUPPORT' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
@@ -171,7 +173,9 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__ARM_HAVE_OPTIONAL_NEON_SUPPORT' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
diff --git a/skia/skia_opts.target.linux-mips.mk b/skia/skia_opts.target.linux-mips.mk
index 828bdeead0..15deb319d0 100644
--- a/skia/skia_opts.target.linux-mips.mk
+++ b/skia/skia_opts.target.linux-mips.mk
@@ -27,7 +27,8 @@ LOCAL_SRC_FILES := \
third_party/skia/src/opts/SkBlitRow_opts_none.cpp \
third_party/skia/src/opts/SkUtils_opts_none.cpp \
third_party/skia/src/opts/SkXfermode_opts_none.cpp \
- third_party/skia/src/opts/SkMorphology_opts_none.cpp
+ third_party/skia/src/opts/SkMorphology_opts_none.cpp \
+ third_party/skia/src/opts/SkBlurImage_opts_none.cpp
# Flags passed to both C and C++ files.
@@ -81,6 +82,8 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
@@ -167,6 +170,8 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
diff --git a/skia/skia_opts.target.linux-x86.mk b/skia/skia_opts.target.linux-x86.mk
index 56a413aa90..038114c241 100644
--- a/skia/skia_opts.target.linux-x86.mk
+++ b/skia/skia_opts.target.linux-x86.mk
@@ -28,7 +28,8 @@ LOCAL_SRC_FILES := \
third_party/skia/src/opts/SkUtils_opts_SSE2.cpp \
third_party/skia/src/opts/SkXfermode_opts_none.cpp \
third_party/skia/src/opts/SkBitmapFilter_opts_SSE2.cpp \
- third_party/skia/src/opts/SkMorphology_opts_SSE2.cpp
+ third_party/skia/src/opts/SkMorphology_opts_SSE2.cpp \
+ third_party/skia/src/opts/SkBlurImage_opts_SSE2.cpp
# Flags passed to both C and C++ files.
@@ -83,6 +84,8 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
@@ -171,6 +174,8 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
diff --git a/skia/skia_opts_neon.target.darwin-arm.mk b/skia/skia_opts_neon.target.darwin-arm.mk
index 9f26c6f34c..63a8a1a1e4 100644
--- a/skia/skia_opts_neon.target.darwin-arm.mk
+++ b/skia/skia_opts_neon.target.darwin-arm.mk
@@ -27,7 +27,8 @@ LOCAL_SRC_FILES := \
third_party/skia/src/opts/SkBitmapProcState_arm_neon.cpp \
third_party/skia/src/opts/SkBitmapProcState_matrixProcs_neon.cpp \
third_party/skia/src/opts/SkBlitRow_opts_arm_neon.cpp \
- third_party/skia/src/opts/SkXfermode_opts_arm_neon.cpp
+ third_party/skia/src/opts/SkXfermode_opts_arm_neon.cpp \
+ third_party/skia/src/opts/SkMorphology_opts_neon.cpp
# Flags passed to both C and C++ files.
@@ -82,7 +83,9 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__ARM_HAVE_OPTIONAL_NEON_SUPPORT' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
@@ -170,7 +173,9 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__ARM_HAVE_OPTIONAL_NEON_SUPPORT' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
diff --git a/skia/skia_opts_neon.target.linux-arm.mk b/skia/skia_opts_neon.target.linux-arm.mk
index 9f26c6f34c..63a8a1a1e4 100644
--- a/skia/skia_opts_neon.target.linux-arm.mk
+++ b/skia/skia_opts_neon.target.linux-arm.mk
@@ -27,7 +27,8 @@ LOCAL_SRC_FILES := \
third_party/skia/src/opts/SkBitmapProcState_arm_neon.cpp \
third_party/skia/src/opts/SkBitmapProcState_matrixProcs_neon.cpp \
third_party/skia/src/opts/SkBlitRow_opts_arm_neon.cpp \
- third_party/skia/src/opts/SkXfermode_opts_arm_neon.cpp
+ third_party/skia/src/opts/SkXfermode_opts_arm_neon.cpp \
+ third_party/skia/src/opts/SkMorphology_opts_neon.cpp
# Flags passed to both C and C++ files.
@@ -82,7 +83,9 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__ARM_HAVE_OPTIONAL_NEON_SUPPORT' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
@@ -170,7 +173,9 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
'-D__ARM_HAVE_OPTIONAL_NEON_SUPPORT' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
diff --git a/skia/skia_opts_ssse3.target.darwin-x86.mk b/skia/skia_opts_ssse3.target.darwin-x86.mk
index 1c23ae0f8a..0e707dcfae 100644
--- a/skia/skia_opts_ssse3.target.darwin-x86.mk
+++ b/skia/skia_opts_ssse3.target.darwin-x86.mk
@@ -78,6 +78,8 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
@@ -166,6 +168,8 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
diff --git a/skia/skia_opts_ssse3.target.linux-x86.mk b/skia/skia_opts_ssse3.target.linux-x86.mk
index 1c23ae0f8a..0e707dcfae 100644
--- a/skia/skia_opts_ssse3.target.linux-x86.mk
+++ b/skia/skia_opts_ssse3.target.linux-x86.mk
@@ -78,6 +78,8 @@ MY_DEFS_Debug := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
@@ -166,6 +168,8 @@ MY_DEFS_Release := \
'-DUSE_OPENSSL=1' \
'-DENABLE_EGLIMAGE=1' \
'-DCLD_VERSION=1' \
+ '-DENABLE_MANAGED_USERS=1' \
+ '-DSK_FONTHOST_DOES_NOT_USE_FONTMGR' \
'-DANDROID' \
'-D__GNU_SOURCE=1' \
'-DUSE_STLPORT=1' \
diff --git a/skia/skia_test_expectations.txt b/skia/skia_test_expectations.txt
index 49253794fa..32292569e1 100644
--- a/skia/skia_test_expectations.txt
+++ b/skia/skia_test_expectations.txt
@@ -48,73 +48,7 @@
#
# START OVERRIDES HERE
-# The Skia roll to r12012 introduced imperceptible image differences in the following tests:
-crbug.com/313226 compositing/geometry/layer-due-to-layer-children.html [ ImageOnlyFailure ]
-crbug.com/313226 compositing/geometry/vertical-scroll-composited.html [ ImageOnlyFailure ]
-crbug.com/313226 compositing/overflow/nested-render-surfaces-with-rotation.html [ ImageOnlyFailure ]
-crbug.com/313226 compositing/perpendicular-layer-sorting.html [ ImageOnlyFailure ]
-crbug.com/313226 compositing/reflections/animation-inside-reflection.html [ ImageOnlyFailure ]
-crbug.com/313226 compositing/reflections/transform-inside-reflection.html [ ImageOnlyFailure ]
-crbug.com/313226 fast/sub-pixel/transformed-iframe-copy-on-scroll.html [ ImageOnlyFailure ]
-crbug.com/313226 transforms/3d/point-mapping/3d-point-mapping-deep.html [ ImageOnlyFailure ]
-crbug.com/313226 transforms/3d/point-mapping/3d-point-mapping-origins.html [ ImageOnlyFailure ]
-crbug.com/313226 transforms/3d/point-mapping/3d-point-mapping-preserve-3d.html [ ImageOnlyFailure ]
-crbug.com/313226 virtual/gpu/compositedscrolling/overflow/nested-render-surfaces-with-rotation.html [ ImageOnlyFailure ]
-crbug.com/313226 compositing/geometry/fixed-position-transform-composited-page-scale-down.html [ ImageOnlyFailure ]
-crbug.com/313226 transforms/3d/general/perspective-units.html [ ImageOnlyFailure ]
-crbug.com/313226 virtual/softwarecompositing/geometry/vertical-scroll-composited.html [ ImageOnlyFailure ]
-crbug.com/313226 virtual/softwarecompositing/huge-layer-rotated.html [ ImageOnlyFailure ]
-crbug.com/313226 virtual/softwarecompositing/lots-of-img-layers-with-opacity.html [ ImageOnlyFailure ]
-crbug.com/313226 virtual/softwarecompositing/lots-of-img-layers.html [ ImageOnlyFailure ]
-crbug.com/313226 virtual/softwarecompositing/tiny-layer-rotated.html [ ImageOnlyFailure ]
-
# the Skia roll to 12018 again altered the way roundrects are drawn
-crbug.com/314499 fast/backgrounds/border-radius-split-background-image.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/backgrounds/border-radius-split-background.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/border-radius-complex-inner.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/border-radius-inset-outset.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/border-radius-mask-canvas-border.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/border-radius-mask-canvas.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/border-radius-mask-video-ratio.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/border-radius-mask-video-shadow.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/border-radius-mask-video.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/border-radius-percent.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/border-radius-wide-border-05.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/border-radius-with-box-shadow-01.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/border-radius-with-box-shadow.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/border-shadow-large-radius.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/border-styles-split.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/borderRadiusAllStylesAllCorners.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/borderRadiusArcs01.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/borderRadiusMultiColors01.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/borderRadiusMultiColors02.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/borders/borderRadiusSlope.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/box-shadow/shadow-tiling-artifact.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/canvas/arc360.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/canvas/canvas-arc-circumference.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/canvas/canvas-composite-transformclip.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/canvas/canvas-composite.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/canvas/canvas-ellipse-circumference-fill.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/canvas/canvas-ellipse-circumference.html [ ImageOnlyFailure ]
crbug.com/314499 fast/canvas/image-object-in-canvas.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/css/background-clip-radius-values.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/css/box-shadow-and-border-radius.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/replaced/border-radius-clip-content-edge.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/writing-mode/border-styles-vertical-lr.html [ ImageOnlyFailure ]
-crbug.com/314499 fast/writing-mode/border-styles-vertical-rl.html [ ImageOnlyFailure ]
-crbug.com/314499 ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-001.htm [ ImageOnlyFailure ]
-crbug.com/314499 ietestcenter/css3/bordersbackgrounds/border-radius-sum-of-radii-002.htm [ ImageOnlyFailure ]
-crbug.com/314499 ietestcenter/css3/bordersbackgrounds/border-top-left-radius-values-004.htm [ ImageOnlyFailure ]
-crbug.com/314499 ietestcenter/css3/bordersbackgrounds/border-top-right-radius-values-004.htm [ ImageOnlyFailure ]
-crbug.com/314499 media/audio-repaint.html [ ImageOnlyFailure ]
-crbug.com/314499 svg/W3C-SVG-1.1/paths-data-10-t.svg [ ImageOnlyFailure ]
-crbug.com/314499 svg/custom/svg-fonts-in-html.html [ ImageOnlyFailure ]
-crbug.com/314499 virtual/gpu/fast/canvas/arc360.html [ ImageOnlyFailure ]
-crbug.com/314499 virtual/gpu/fast/canvas/canvas-arc-circumference.html [ ImageOnlyFailure ]
-crbug.com/314499 virtual/gpu/fast/canvas/canvas-composite-transformclip.html [ ImageOnlyFailure ]
-crbug.com/314499 virtual/gpu/fast/canvas/canvas-composite.html [ ImageOnlyFailure ]
-crbug.com/314499 virtual/gpu/fast/canvas/canvas-ellipse-circumference-fill.html [ ImageOnlyFailure ]
-crbug.com/314499 virtual/gpu/fast/canvas/canvas-ellipse-circumference.html [ ImageOnlyFailure ]
-crbug.com/314499 virtual/gpu/fast/canvas/image-object-in-canvas.html [ ImageOnlyFailure ]
# END OVERRIDES HERE (this line ensures that the file is newline-terminated)
diff --git a/skia/tools/filter_fuzz_stub/filter_fuzz_stub.cc b/skia/tools/filter_fuzz_stub/filter_fuzz_stub.cc
new file mode 100644
index 0000000000..1cb4d7f6eb
--- /dev/null
+++ b/skia/tools/filter_fuzz_stub/filter_fuzz_stub.cc
@@ -0,0 +1,93 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "base/file_util.h"
+#include "base/logging.h"
+#include "third_party/skia/include/core/SkBitmapDevice.h"
+#include "third_party/skia/include/core/SkCanvas.h"
+#include "third_party/skia/include/core/SkFlattenableSerialization.h"
+#include "third_party/skia/include/core/SkImageFilter.h"
+
+namespace {
+
+static const int BitmapSize = 24;
+
+bool ReadTestCase(const char* filename, std::string* ipc_filter_message) {
+ base::FilePath filepath = base::FilePath::FromUTF8Unsafe(filename);
+
+ if (!base::ReadFileToString(filepath, ipc_filter_message)) {
+ LOG(ERROR) << filename << ": couldn't read file.";
+ return false;
+ }
+
+ return true;
+}
+
+void RunTestCase(std::string& ipc_filter_message, SkBitmap& bitmap,
+ SkCanvas* canvas) {
+ // This call shouldn't crash or cause ASAN to flag any memory issues
+ // If nothing bad happens within this call, everything is fine
+ SkFlattenable* flattenable = SkValidatingDeserializeFlattenable(
+ ipc_filter_message.c_str(), ipc_filter_message.size(),
+ SkImageFilter::GetFlattenableType());
+
+ // Adding some info, but the test passed if we got here without any trouble
+ if (flattenable != NULL) {
+ LOG(INFO) << "Valid stream detected.";
+ // Let's see if using the filters can cause any trouble...
+ SkPaint paint;
+ paint.setImageFilter(static_cast<SkImageFilter*>(flattenable))->unref();
+ canvas->save();
+ canvas->clipRect(SkRect::MakeXYWH(
+ 0, 0, SkIntToScalar(BitmapSize), SkIntToScalar(BitmapSize)));
+
+ // This call shouldn't crash or cause ASAN to flag any memory issues
+ // If nothing bad happens within this call, everything is fine
+ canvas->drawBitmap(bitmap, 0, 0, &paint);
+
+ LOG(INFO) << "Filter DAG rendered successfully";
+ canvas->restore();
+ } else {
+ LOG(INFO) << "Invalid stream detected.";
+ }
+}
+
+bool ReadAndRunTestCase(const char* filename, SkBitmap& bitmap,
+ SkCanvas* canvas) {
+ std::string ipc_filter_message;
+
+ LOG(INFO) << "Test case: " << filename;
+
+ // ReadTestCase will print a useful error message if it fails.
+ if (!ReadTestCase(filename, &ipc_filter_message))
+ return false;
+
+ RunTestCase(ipc_filter_message, bitmap, canvas);
+
+ return true;
+}
+
+}
+
+int main(int argc, char** argv) {
+ int ret = 0;
+
+ SkBitmap bitmap;
+ bitmap.setConfig(SkBitmap::kARGB_8888_Config, BitmapSize, BitmapSize);
+ bitmap.allocPixels();
+ SkBitmapDevice device(bitmap);
+ SkCanvas canvas(&device);
+ canvas.clear(0x00000000);
+
+ for (int i = 1; i < argc; i++)
+ if (!ReadAndRunTestCase(argv[i], bitmap, &canvas))
+ ret = 2;
+
+ // Cluster-Fuzz likes "#EOF" as the last line of output to help distinguish
+ // successful runs from crashes.
+ printf("#EOF\n");
+
+ return ret;
+}
+