--- chromium-70.0.3538.67/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc.old 2018-10-19 22:51:37.078132988 -0500 +++ chromium-70.0.3538.67/third_party/blink/renderer/platform/fonts/shaping/harfbuzz_face.cc 2018-10-19 22:54:25.102135682 -0500 @@ -136,13 +136,13 @@ } static void HarfBuzzGetGlyphHorizontalAdvances(hb_font_t* font, - void* font_data, - unsigned count, - hb_codepoint_t* first_glyph, - unsigned int glyph_stride, - hb_position_t* first_advance, - unsigned int advance_stride, - void* user_data) { + void* font_data, + unsigned int count, + const hb_codepoint_t *first_glyph, + unsigned glyph_stride, + hb_position_t *first_advance, + unsigned advance_stride, + void *user_data) { HarfBuzzFontData* hb_font_data = reinterpret_cast(font_data); SkiaTextMetrics(&hb_font_data->paint_) --- chromium-70.0.3538.67/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc.old 2018-10-19 23:07:39.958148426 -0500 +++ chromium-70.0.3538.67/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc 2018-10-19 23:08:02.626148790 -0500 @@ -38,8 +38,8 @@ *width = SkiaScalarToHarfBuzzPosition(sk_width); } -void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned count, - hb_codepoint_t* glyphs, +void SkiaTextMetrics::GetGlyphWidthForHarfBuzz(unsigned int count, + const hb_codepoint_t* glyphs, unsigned glyph_stride, hb_position_t* advances, unsigned advance_stride) { --- chromium-70.0.3538.67/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h.old 2018-10-19 23:10:14.242150900 -0500 +++ chromium-70.0.3538.67/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.h 2018-10-19 23:10:37.918151280 -0500 @@ -18,8 +18,8 @@ SkiaTextMetrics(const SkPaint*); void GetGlyphWidthForHarfBuzz(hb_codepoint_t, hb_position_t* width); - void GetGlyphWidthForHarfBuzz(unsigned count, - hb_codepoint_t* first_glyph, + void GetGlyphWidthForHarfBuzz(unsigned int count, + const hb_codepoint_t* first_glyph, unsigned glyph_stride, hb_position_t* first_advance, unsigned advance_stride); --- chromium-70.0.3538.67/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc.old 2018-10-20 12:51:35.706500856 -0500 +++ chromium-70.0.3538.67/third_party/blink/renderer/platform/fonts/skia/skia_text_metrics.cc 2018-10-20 14:47:09.544223999 -0500 @@ -18,6 +18,11 @@ return reinterpret_cast(reinterpret_cast(p) + byte_size); } +template +T* advance_by_byte_size_const(T* p, unsigned byte_size) { + return reinterpret_cast(reinterpret_cast(p) + byte_size); +} + } // namespace SkiaTextMetrics::SkiaTextMetrics(const SkPaint* paint) : paint_(paint) { @@ -48,7 +53,7 @@ // array that copy them to a regular array. Vector glyph_array(count); for (unsigned i = 0; i < count; - i++, glyphs = advance_by_byte_size(glyphs, glyph_stride)) { + i++, glyphs = advance_by_byte_size_const(glyphs, glyph_stride)) { glyph_array[i] = *glyphs; } Vector sk_width_array(count);