summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2018-10-29 13:26:12 +0100
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2018-10-30 22:08:43 +0000
commit6d63f10a1604774de2de8494be6c5cf085112a7b (patch)
treebb6d1a25ac17b0ab7ad35420ff99873e1a5bac28
parent3eeb84af35d154cb60e5d0516d809612adc1a4a5 (diff)
downloadqtwebengine-chromium-6d63f10a1604774de2de8494be6c5cf085112a7b.tar.gz
[Backport] Fix for security issue 874433
Roll skia/third_party/skcms f1e2b45d18fa..b2fffd2ecf2e (1 commits) https://skia.googlesource.com/skcms.git/+log/f1e2b45d18fa..b2fffd2ecf2e 2018-08-16 brianosman@google.com Actually support profiles with 1D and 2D CLUTs The AutoRoll server is located here: https://skcms-skia-roll.skia.org Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+/master/autoroll/README.md If the roll is causing failures, please contact the current sheriff, who should be CC'd on the roll, and stop the roller if necessary. CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel TBR=kjlubick@google.com Change-Id: I1f1d967b7a856a79dd82ffc2fb51ff23c3e3bab8 Reviewed-on: https://skia-review.googlesource.com/147400 Reviewed-by: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Commit-Queue: skcms-skia-autoroll <skcms-skia-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com> Reviewed-by: Michal Klocek <michal.klocek@qt.io>
-rw-r--r--chromium/third_party/skia/third_party/skcms/skcms.cc6
-rw-r--r--chromium/third_party/skia/third_party/skcms/src/Transform_inl.h20
-rwxr-xr-xchromium/third_party/skia/third_party/skcms/version.sha12
3 files changed, 27 insertions, 1 deletions
diff --git a/chromium/third_party/skia/third_party/skcms/skcms.cc b/chromium/third_party/skia/third_party/skcms/skcms.cc
index 0a820629adc..7adecc67ec2 100644
--- a/chromium/third_party/skia/third_party/skcms/skcms.cc
+++ b/chromium/third_party/skia/third_party/skcms/skcms.cc
@@ -1776,6 +1776,10 @@ typedef enum {
Op_table_16_b,
Op_table_16_a,
+ Op_clut_1D_8,
+ Op_clut_1D_16,
+ Op_clut_2D_8,
+ Op_clut_2D_16,
Op_clut_3D_8,
Op_clut_3D_16,
Op_clut_4D_8,
@@ -2193,6 +2197,8 @@ bool skcms_Transform(const void* src,
}
}
switch (srcProfile->A2B.input_channels) {
+ case 1: *ops++ = srcProfile->A2B.grid_8 ? Op_clut_1D_8 : Op_clut_1D_16; break;
+ case 2: *ops++ = srcProfile->A2B.grid_8 ? Op_clut_2D_8 : Op_clut_2D_16; break;
case 3: *ops++ = srcProfile->A2B.grid_8 ? Op_clut_3D_8 : Op_clut_3D_16; break;
case 4: *ops++ = srcProfile->A2B.grid_8 ? Op_clut_4D_8 : Op_clut_4D_16; break;
default: return false;
diff --git a/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h b/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h
index fb2b6de6956..57ff2872ffb 100644
--- a/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h
+++ b/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h
@@ -863,6 +863,26 @@ static void NS(exec_ops)(const Op* ops, const void** args,
case Op_table_16_b:{ b = NS(table_16_)((const skcms_Curve*)*args++, b); } break;
case Op_table_16_a:{ a = NS(table_16_)((const skcms_Curve*)*args++, a); } break;
+ case Op_clut_1D_8:{
+ const skcms_A2B* a2b = (const skcms_A2B*) *args++;
+ clut<1,8>(a2b, CAST(I32,F0),CAST(I32,F1), &r,&g,&b,a);
+ } break;
+
+ case Op_clut_1D_16:{
+ const skcms_A2B* a2b = (const skcms_A2B*) *args++;
+ clut<1,16>(a2b, CAST(I32,F0),CAST(I32,F1), &r,&g,&b,a);
+ } break;
+
+ case Op_clut_2D_8:{
+ const skcms_A2B* a2b = (const skcms_A2B*) *args++;
+ clut<2,8>(a2b, CAST(I32,F0),CAST(I32,F1), &r,&g,&b,a);
+ } break;
+
+ case Op_clut_2D_16:{
+ const skcms_A2B* a2b = (const skcms_A2B*) *args++;
+ clut<2,16>(a2b, CAST(I32,F0),CAST(I32,F1), &r,&g,&b,a);
+ } break;
+
case Op_clut_3D_8:{
const skcms_A2B* a2b = (const skcms_A2B*) *args++;
clut<3,8>(a2b, CAST(I32,F0),CAST(I32,F1), &r,&g,&b,a);
diff --git a/chromium/third_party/skia/third_party/skcms/version.sha1 b/chromium/third_party/skia/third_party/skcms/version.sha1
index acd78c804a0..35829c378f0 100755
--- a/chromium/third_party/skia/third_party/skcms/version.sha1
+++ b/chromium/third_party/skia/third_party/skcms/version.sha1
@@ -1 +1 @@
-dad22fe0e6462784b860e3b66ce88113cc8ce8a6 \ No newline at end of file
+b2fffd2ecf2e47ec2faf811865f9eb934be1c0e1