summaryrefslogtreecommitdiff
path: root/chromium/skia
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2017-09-18 14:34:04 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2017-10-04 11:15:27 +0000
commite6430e577f105ad8813c92e75c54660c4985026e (patch)
tree88115e5d1fb471fea807111924dcccbeadbf9e4f /chromium/skia
parent53d399fe6415a96ea6986ec0d402a9c07da72453 (diff)
downloadqtwebengine-chromium-e6430e577f105ad8813c92e75c54660c4985026e.tar.gz
BASELINE: Update Chromium to 61.0.3163.99
Change-Id: I8452f34574d88ca2b27af9bd56fc9ff3f16b1367 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'chromium/skia')
-rw-r--r--chromium/skia/BUILD.gn19
-rw-r--r--chromium/skia/config/SkUserConfig.h16
-rw-r--r--chromium/skia/ext/benchmarking_canvas.cc35
-rw-r--r--chromium/skia/ext/fontmgr_default_fuchsia.cc23
-rw-r--r--chromium/skia/ext/fontmgr_default_fuchsia.h16
-rw-r--r--chromium/skia/ext/image_operations.cc10
-rw-r--r--chromium/skia/ext/platform_canvas.h7
-rw-r--r--chromium/skia/ext/raster_handle_allocator_win.cc4
-rw-r--r--chromium/skia/ext/skia_commit_hash.h2
-rw-r--r--chromium/skia/public/interfaces/BUILD.gn4
-rw-r--r--chromium/skia/public/interfaces/OWNERS3
-rw-r--r--chromium/skia/public/interfaces/bitmap_skbitmap_struct_traits.cc11
-rw-r--r--chromium/skia/public/interfaces/blur_image_filter_tile_mode.mojom13
-rw-r--r--chromium/skia/public/interfaces/blur_image_filter_tile_mode.typemap9
-rw-r--r--chromium/skia/public/interfaces/blur_image_filter_tile_mode_struct_traits.h48
-rw-r--r--chromium/skia/public/interfaces/test/traits_test_service.mojom4
-rw-r--r--chromium/skia/public/interfaces/typemaps.gni1
17 files changed, 172 insertions, 53 deletions
diff --git a/chromium/skia/BUILD.gn b/chromium/skia/BUILD.gn
index 07ff372a3b0..7b75a079366 100644
--- a/chromium/skia/BUILD.gn
+++ b/chromium/skia/BUILD.gn
@@ -54,10 +54,6 @@ config("skia_config") {
defines += [ "SK_HAS_JPEG_LIBRARY" ]
}
- if (!use_system_freetype) {
- defines += [ "SK_FREETYPE_MINIMUM_RUNTIME_VERSION=(((FREETYPE_MAJOR) * 0x01000000) | ((FREETYPE_MINOR) * 0x00010000) | ((FREETYPE_PATCH) * 0x00000100))" ]
- }
-
if (is_component_build) {
defines += [
"SKIA_DLL",
@@ -128,6 +124,10 @@ config("skia_library_config") {
defines = []
+ if (!use_system_freetype) {
+ defines += [ "SK_FREETYPE_MINIMUM_RUNTIME_VERSION=(((FREETYPE_MAJOR) * 0x01000000) | ((FREETYPE_MINOR) * 0x00010000) | ((FREETYPE_PATCH) * 0x00000100))" ]
+ }
+
if (is_component_build) {
defines += [ "SKIA_IMPLEMENTATION=1" ]
}
@@ -222,6 +222,8 @@ component("skia") {
"ext/event_tracer_impl.h",
"ext/fontmgr_default_android.cc",
"ext/fontmgr_default_android.h",
+ "ext/fontmgr_default_fuchsia.cc",
+ "ext/fontmgr_default_fuchsia.h",
"ext/fontmgr_default_linux.cc",
"ext/fontmgr_default_linux.h",
"ext/fontmgr_default_win.cc",
@@ -267,6 +269,13 @@ component("skia") {
]
}
+ if (!is_fuchsia) {
+ sources -= [
+ "ext/fontmgr_default_fuchsia.cc",
+ "ext/fontmgr_default_fuchsia.h",
+ ]
+ }
+
# The imported Skia gni source paths are made absolute by gn.
sources += skia_core_sources
sources += skia_effects_sources
@@ -452,8 +461,8 @@ component("skia") {
]
}
deps += [
- "//build/linux:fontconfig",
"//third_party/expat",
+ "//third_party/fontconfig",
"//third_party/icu:icuuc",
]
}
diff --git a/chromium/skia/config/SkUserConfig.h b/chromium/skia/config/SkUserConfig.h
index f8f7bbafa4f..3c162342dfc 100644
--- a/chromium/skia/config/SkUserConfig.h
+++ b/chromium/skia/config/SkUserConfig.h
@@ -198,26 +198,22 @@ SK_API void SkDebugf_FileLine(const char* file, int line, bool fatal,
# define SK_SUPPORT_LEGACY_ANISOTROPIC_MIPMAP_SCALE
#endif
-#ifndef SK_IGNORE_GPU_DITHER
-# define SK_IGNORE_GPU_DITHER
-#endif
-
// Remove this after we fixed all the issues related to the new SDF algorithm
// (https://codereview.chromium.org/1643143002)
#ifndef SK_USE_LEGACY_DISTANCE_FIELDS
# define SK_USE_LEGACY_DISTANCE_FIELDS
#endif
-#ifndef SK_DISABLE_DEFERRED_PROXIES
-#define SK_DISABLE_DEFERRED_PROXIES
+#ifndef SK_SUPPORT_LEGACY_RADIAL_GRADIENT
+#define SK_SUPPORT_LEGACY_RADIAL_GRADIENT
#endif
-#ifndef SK_SUPPORT_LEGACY_GRADIENT_ALPHATRUNC
-#define SK_SUPPORT_LEGACY_GRADIENT_ALPHATRUNC
+#ifndef SK_DISABLE_DEFERRED_PROXIES
+#define SK_DISABLE_DEFERRED_PROXIES
#endif
-#ifndef SK_SUPPORT_LEGACY_RASTERPIPELINE
-#define SK_SUPPORT_LEGACY_RASTERPIPELINE
+#ifndef SK_SUPPORT_LEGACY_TILED_BITMAPS
+#define SK_SUPPORT_LEGACY_TILED_BITMAPS
#endif
///////////////////////// Imported from BUILD.gn and skia_common.gypi
diff --git a/chromium/skia/ext/benchmarking_canvas.cc b/chromium/skia/ext/benchmarking_canvas.cc
index da63a1a3376..1f46938173f 100644
--- a/chromium/skia/ext/benchmarking_canvas.cc
+++ b/chromium/skia/ext/benchmarking_canvas.cc
@@ -379,24 +379,23 @@ class BenchmarkingCanvas::AutoOp {
public:
// AutoOp objects are always scoped within draw call frames,
// so the paint is guaranteed to be valid for their lifetime.
- AutoOp(BenchmarkingCanvas* canvas, const char op_name[],
- const SkPaint* paint = nullptr)
- : canvas_(canvas)
- , op_record_(new base::DictionaryValue())
- , op_params_(new base::ListValue()) {
-
- DCHECK(canvas);
- DCHECK(op_name);
-
- op_record_->SetString("cmd_string", op_name);
- op_record_->Set("info", op_params_);
-
- if (paint) {
- this->addParam("paint", AsValue(*paint));
- filtered_paint_ = *paint;
- }
-
- start_ticks_ = base::TimeTicks::Now();
+ AutoOp(BenchmarkingCanvas* canvas,
+ const char op_name[],
+ const SkPaint* paint = nullptr)
+ : canvas_(canvas), op_record_(new base::DictionaryValue()) {
+ DCHECK(canvas);
+ DCHECK(op_name);
+
+ op_record_->SetString("cmd_string", op_name);
+ op_params_ =
+ op_record_->SetList("info", base::MakeUnique<base::ListValue>());
+
+ if (paint) {
+ this->addParam("paint", AsValue(*paint));
+ filtered_paint_ = *paint;
+ }
+
+ start_ticks_ = base::TimeTicks::Now();
}
~AutoOp() {
diff --git a/chromium/skia/ext/fontmgr_default_fuchsia.cc b/chromium/skia/ext/fontmgr_default_fuchsia.cc
new file mode 100644
index 00000000000..06c583efe42
--- /dev/null
+++ b/chromium/skia/ext/fontmgr_default_fuchsia.cc
@@ -0,0 +1,23 @@
+// Copyright 2017 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/fontmgr_default_fuchsia.h"
+
+#include "third_party/skia/include/ports/SkFontMgr.h"
+#include "third_party/skia/include/ports/SkFontMgr_android.h"
+
+namespace {
+// An owning leaky bare pointer.
+SkFontMgr* g_default_fontmgr = nullptr;
+} // namespace
+
+SK_API void SetDefaultSkiaFactory(sk_sp<SkFontMgr> fontmgr) {
+ SkASSERT(g_default_fontmgr == nullptr);
+ g_default_fontmgr = fontmgr.release();
+}
+
+SK_API sk_sp<SkFontMgr> SkFontMgr::Factory() {
+ // TODO(fuchsia): Implement SkFontMgr.
+ return g_default_fontmgr ? sk_ref_sp(g_default_fontmgr) : nullptr;
+}
diff --git a/chromium/skia/ext/fontmgr_default_fuchsia.h b/chromium/skia/ext/fontmgr_default_fuchsia.h
new file mode 100644
index 00000000000..a7a8e3a4dd0
--- /dev/null
+++ b/chromium/skia/ext/fontmgr_default_fuchsia.h
@@ -0,0 +1,16 @@
+// Copyright 2017 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_FONTMGR_DEFAULT_FUCHSIA_H_
+#define SKIA_EXT_FONTMGR_DEFAULT_FUCHSIA_H_
+
+#include "third_party/skia/include/core/SkTypes.h"
+
+class SkFontMgr;
+template <typename T>
+class sk_sp;
+
+SK_API void SetDefaultSkiaFactory(sk_sp<SkFontMgr> fontmgr);
+
+#endif // SKIA_EXT_FONTMGR_DEFAULT_FUCHSIA_H_
diff --git a/chromium/skia/ext/image_operations.cc b/chromium/skia/ext/image_operations.cc
index 8b5f371d33f..1b07045291e 100644
--- a/chromium/skia/ext/image_operations.cc
+++ b/chromium/skia/ext/image_operations.cc
@@ -345,16 +345,16 @@ SkBitmap ImageOperations::Resize(const SkBitmap& source,
// Time how long this takes to see if it's a problem for users.
base::TimeTicks resize_start = base::TimeTicks::Now();
- SkIRect dest = { 0, 0, dest_width, dest_height };
- DCHECK(dest.contains(dest_subset)) <<
- "The supplied subset does not fall within the destination image.";
-
// If the size of source or destination is 0, i.e. 0x0, 0xN or Nx0, just
// return empty.
if (source.width() < 1 || source.height() < 1 ||
dest_width < 1 || dest_height < 1)
return SkBitmap();
+ SkIRect dest = {0, 0, dest_width, dest_height};
+ DCHECK(dest.contains(dest_subset))
+ << "The supplied subset does not fall within the destination image.";
+
method = ResizeMethodToAlgorithmMethod(method);
// Check that we deal with an "algorithm methods" from this point onward.
SkASSERT((ImageOperations::RESIZE_FIRST_ALGORITHM_METHOD <= method) &&
@@ -375,7 +375,7 @@ SkBitmap ImageOperations::Resize(const SkBitmap& source,
// Convolve into the result.
SkBitmap result;
result.setInfo(SkImageInfo::MakeN32(dest_subset.width(), dest_subset.height(), source.alphaType()));
- result.allocPixels(allocator, NULL);
+ result.allocPixels(allocator);
if (!result.readyToDraw())
return SkBitmap();
diff --git a/chromium/skia/ext/platform_canvas.h b/chromium/skia/ext/platform_canvas.h
index 5cf00d2f70f..c31e7c02141 100644
--- a/chromium/skia/ext/platform_canvas.h
+++ b/chromium/skia/ext/platform_canvas.h
@@ -57,9 +57,10 @@ SK_API std::unique_ptr<SkCanvas> CreatePlatformCanvasWithSharedSection(
SK_API HDC GetNativeDrawingContext(SkCanvas* canvas);
#elif defined(__linux__) || defined(__FreeBSD__) || defined(__OpenBSD__) || \
- defined(__sun) || defined(ANDROID) || defined(__APPLE__)
- // Construct a canvas from the given memory region. The memory is not cleared
- // first. @data must be, at least, @height * StrideForWidth(@width) bytes.
+ defined(__sun) || defined(ANDROID) || defined(__APPLE__) || \
+ defined(__Fuchsia__)
+// Construct a canvas from the given memory region. The memory is not cleared
+// first. @data must be, at least, @height * StrideForWidth(@width) bytes.
SK_API std::unique_ptr<SkCanvas> CreatePlatformCanvasWithPixels(
int width,
int height,
diff --git a/chromium/skia/ext/raster_handle_allocator_win.cc b/chromium/skia/ext/raster_handle_allocator_win.cc
index fed059f8950..1f136bd3598 100644
--- a/chromium/skia/ext/raster_handle_allocator_win.cc
+++ b/chromium/skia/ext/raster_handle_allocator_win.cc
@@ -139,8 +139,8 @@ std::unique_ptr<SkCanvas> CreatePlatformCanvasWithSharedSection(
MapViewOfFile(shared_section, FILE_MAP_WRITE, 0, 0, row_bytes * height);
if (pixels) {
SkBitmap bitmap;
- if (bitmap.installPixels(info, pixels, row_bytes, nullptr,
- unmap_view_proc, nullptr)) {
+ if (bitmap.installPixels(info, pixels, row_bytes, unmap_view_proc,
+ nullptr)) {
return base::MakeUnique<SkCanvas>(bitmap);
}
}
diff --git a/chromium/skia/ext/skia_commit_hash.h b/chromium/skia/ext/skia_commit_hash.h
index 49e5121cff7..b25885a432d 100644
--- a/chromium/skia/ext/skia_commit_hash.h
+++ b/chromium/skia/ext/skia_commit_hash.h
@@ -3,6 +3,6 @@
#ifndef SKIA_EXT_SKIA_COMMIT_HASH_H_
#define SKIA_EXT_SKIA_COMMIT_HASH_H_
-#define SKIA_COMMIT_HASH "c2aa62d19fc8b162a6a5da55e8d7ba083ea9fd7a-"
+#define SKIA_COMMIT_HASH "bbb09c42d396da2d7abf4e1521f89968ae5afbae-"
#endif // SKIA_EXT_SKIA_COMMIT_HASH_H_
diff --git a/chromium/skia/public/interfaces/BUILD.gn b/chromium/skia/public/interfaces/BUILD.gn
index 9b8755525f6..f48b145c686 100644
--- a/chromium/skia/public/interfaces/BUILD.gn
+++ b/chromium/skia/public/interfaces/BUILD.gn
@@ -7,6 +7,7 @@ import("//mojo/public/tools/bindings/mojom.gni")
mojom("interfaces") {
sources = [
"bitmap.mojom",
+ "blur_image_filter_tile_mode.mojom",
"image_filter.mojom",
]
}
@@ -20,9 +21,6 @@ mojom("test_interfaces") {
public_deps = [
":interfaces",
]
-
- # TODO(crbug.com/714018): Convert the implementation to use OnceCallback.
- use_once_callback = false
}
source_set("struct_traits") {
diff --git a/chromium/skia/public/interfaces/OWNERS b/chromium/skia/public/interfaces/OWNERS
index 1841ff6198d..e75daf744a0 100644
--- a/chromium/skia/public/interfaces/OWNERS
+++ b/chromium/skia/public/interfaces/OWNERS
@@ -3,3 +3,6 @@ per-file *_struct_traits*.*=file://ipc/SECURITY_OWNERS
per-file *.mojom=set noparent
per-file *.mojom=file://ipc/SECURITY_OWNERS
+
+per-file *.typemap=set noparent
+per-file *.typemap=file://ipc/SECURITY_OWNERS
diff --git a/chromium/skia/public/interfaces/bitmap_skbitmap_struct_traits.cc b/chromium/skia/public/interfaces/bitmap_skbitmap_struct_traits.cc
index f5b5550c679..f4220f8a513 100644
--- a/chromium/skia/public/interfaces/bitmap_skbitmap_struct_traits.cc
+++ b/chromium/skia/public/interfaces/bitmap_skbitmap_struct_traits.cc
@@ -22,10 +22,11 @@ SkColorType MojoColorTypeToSk(skia::mojom::ColorType type) {
return kRGBA_8888_SkColorType;
case skia::mojom::ColorType::BGRA_8888:
return kBGRA_8888_SkColorType;
- case skia::mojom::ColorType::INDEX_8:
- return kIndex_8_SkColorType;
case skia::mojom::ColorType::GRAY_8:
return kGray_8_SkColorType;
+ case skia::mojom::ColorType::INDEX_8:
+ // no longer supported
+ break;
}
NOTREACHED();
return kUnknown_SkColorType;
@@ -71,13 +72,11 @@ skia::mojom::ColorType SkColorTypeToMojo(SkColorType type) {
return skia::mojom::ColorType::RGBA_8888;
case kBGRA_8888_SkColorType:
return skia::mojom::ColorType::BGRA_8888;
- case kIndex_8_SkColorType:
- return skia::mojom::ColorType::INDEX_8;
case kGray_8_SkColorType:
return skia::mojom::ColorType::GRAY_8;
case kRGBA_F16_SkColorType:
- NOTREACHED();
- return skia::mojom::ColorType::UNKNOWN;
+ // these are unsupported
+ break;
}
NOTREACHED();
return skia::mojom::ColorType::UNKNOWN;
diff --git a/chromium/skia/public/interfaces/blur_image_filter_tile_mode.mojom b/chromium/skia/public/interfaces/blur_image_filter_tile_mode.mojom
new file mode 100644
index 00000000000..3a351c87853
--- /dev/null
+++ b/chromium/skia/public/interfaces/blur_image_filter_tile_mode.mojom
@@ -0,0 +1,13 @@
+// Copyright 2017 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.
+
+module skia.mojom;
+
+// Mirror of SkBlurImageFilter::TileMode.
+enum BlurTileMode {
+ CLAMP,
+ REPEAT,
+ CLAMP_TO_BLACK,
+ BLUR_TILE_MODE_LAST = CLAMP_TO_BLACK
+};
diff --git a/chromium/skia/public/interfaces/blur_image_filter_tile_mode.typemap b/chromium/skia/public/interfaces/blur_image_filter_tile_mode.typemap
new file mode 100644
index 00000000000..35c22f72112
--- /dev/null
+++ b/chromium/skia/public/interfaces/blur_image_filter_tile_mode.typemap
@@ -0,0 +1,9 @@
+# Copyright 2017 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.
+
+mojom = "//skia/public/interfaces/blur_image_filter_tile_mode.mojom"
+public_headers = [ "//third_party/skia/include/effects/SkBlurImageFilter.h" ]
+traits_headers =
+ [ "//skia/public/interfaces/blur_image_filter_tile_mode_struct_traits.h" ]
+type_mappings = [ "skia.mojom.BlurTileMode=SkBlurImageFilter::TileMode" ]
diff --git a/chromium/skia/public/interfaces/blur_image_filter_tile_mode_struct_traits.h b/chromium/skia/public/interfaces/blur_image_filter_tile_mode_struct_traits.h
new file mode 100644
index 00000000000..d6416295187
--- /dev/null
+++ b/chromium/skia/public/interfaces/blur_image_filter_tile_mode_struct_traits.h
@@ -0,0 +1,48 @@
+// Copyright 2017 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_PUBLIC_INTERFACES_BLUR_IMAGE_FILTER_TILE_MODE_STRUCT_TRAITS_H_
+#define SKIA_PUBLIC_INTERFACES_BLUR_IMAGE_FILTER_TILE_MODE_STRUCT_TRAITS_H_
+
+#include "skia/public/interfaces/blur_image_filter_tile_mode.mojom-shared.h"
+#include "third_party/skia/include/effects/SkBlurImageFilter.h"
+
+namespace mojo {
+
+template <>
+struct EnumTraits<skia::mojom::BlurTileMode, SkBlurImageFilter::TileMode> {
+ static skia::mojom::BlurTileMode ToMojom(
+ SkBlurImageFilter::TileMode tile_mode) {
+ switch (tile_mode) {
+ case SkBlurImageFilter::kClamp_TileMode:
+ return skia::mojom::BlurTileMode::CLAMP;
+ case SkBlurImageFilter::kRepeat_TileMode:
+ return skia::mojom::BlurTileMode::REPEAT;
+ case SkBlurImageFilter::kClampToBlack_TileMode:
+ return skia::mojom::BlurTileMode::CLAMP_TO_BLACK;
+ }
+ NOTREACHED();
+ return skia::mojom::BlurTileMode::CLAMP_TO_BLACK;
+ }
+
+ static bool FromMojom(skia::mojom::BlurTileMode input,
+ SkBlurImageFilter::TileMode* out) {
+ switch (input) {
+ case skia::mojom::BlurTileMode::CLAMP:
+ *out = SkBlurImageFilter::kClamp_TileMode;
+ return true;
+ case skia::mojom::BlurTileMode::REPEAT:
+ *out = SkBlurImageFilter::kRepeat_TileMode;
+ return true;
+ case skia::mojom::BlurTileMode::CLAMP_TO_BLACK:
+ *out = SkBlurImageFilter::kClampToBlack_TileMode;
+ return true;
+ }
+ return false;
+ }
+};
+
+} // namespace mojo
+
+#endif // SKIA_PUBLIC_INTERFACES_BLUR_IMAGE_FILTER_TILE_MODE_STRUCT_TRAITS_H_
diff --git a/chromium/skia/public/interfaces/test/traits_test_service.mojom b/chromium/skia/public/interfaces/test/traits_test_service.mojom
index eaa829e8163..ac70c92b341 100644
--- a/chromium/skia/public/interfaces/test/traits_test_service.mojom
+++ b/chromium/skia/public/interfaces/test/traits_test_service.mojom
@@ -5,6 +5,7 @@
module skia.mojom;
import "skia/public/interfaces/bitmap.mojom";
+import "skia/public/interfaces/blur_image_filter_tile_mode.mojom";
import "skia/public/interfaces/image_filter.mojom";
// All functions on this interface echo their arguments to test StructTraits
@@ -14,5 +15,8 @@ interface TraitsTestService {
EchoBitmap(Bitmap b) => (Bitmap pass);
[Sync]
+ EchoBlurImageFilterTileMode(BlurTileMode t) => (BlurTileMode pass);
+
+ [Sync]
EchoImageFilter(ImageFilter i) => (ImageFilter pass);
};
diff --git a/chromium/skia/public/interfaces/typemaps.gni b/chromium/skia/public/interfaces/typemaps.gni
index eee4dd2a011..cfa022bfd50 100644
--- a/chromium/skia/public/interfaces/typemaps.gni
+++ b/chromium/skia/public/interfaces/typemaps.gni
@@ -3,6 +3,7 @@
# found in the LICENSE file.
typemaps = [
+ "//skia/public/interfaces/blur_image_filter_tile_mode.typemap",
"//skia/public/interfaces/image_filter.typemap",
"//skia/public/interfaces/skbitmap.typemap",
]