New issue
Advanced search Search tips

Issue 873845 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

DCHECK(!segmented_font_face_) hit in CSSFontFace::SetSegmentedFontFace.

Project Member Reported by khushals...@chromium.org, Aug 13

Issue description

Cc: drott@chromium.org
Labels: -Pri-2 Pri-3
Status: Available (was: Untriaged)
Labels: -Pri-3 Pri-2
Owner: drott@chromium.org
Status: Assigned (was: Available)
I'm running in to this with a CL I've been working on (https://chromium-review.googlesource.com/c/chromium/src/+/1387448/7). One of the telemetry_perf_unittests is crashing visiting a google doc.

In my case, the DCHECK appears when I change the timing of javascript: url navigation. It looks like the page is injecting an iframe with src="javascript:''". On trunk, that javascript url is processed synchronously during iframe node insertion and doesn't crash. With my CL, it's processed asynchronously and does crash.

Executing the JS url replaces an empty document with a different empty document. My operating theory is that some state is getting mixed between these two documents because of the timing change, but I don't know the font code well enough to have any detailed explanation.
I've found a fairly simple repro (https://chromium-review.googlesource.com/c/chromium/src/+/1401272). It appears this DCHECK occurs any time you try to put a FontFace in multiple FontFaceSets
Project Member

Comment 6 by bugdroid1@chromium.org, Jan 10

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/3311671f45292074b4caf897a9bca48fc9a6713b

commit 3311671f45292074b4caf897a9bca48fc9a6713b
Author: Nate Chapin <japhet@chromium.org>
Date: Thu Jan 10 18:50:06 2019

Allow a CSSFontFace to be associated with multiple CSSSegmentedFontFaces

This can happen if a FontFace is put in to multiple FontFaceSets

Bug: 873845
Change-Id: Iede71f9e4d4310a1c6c3bcd54eb2ee24059e7db9
Reviewed-on: https://chromium-review.googlesource.com/c/1403676
Commit-Queue: Nate Chapin <japhet@chromium.org>
Reviewed-by: Rune Lillesveen <futhark@chromium.org>
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621674}
[modify] https://crrev.com/3311671f45292074b4caf897a9bca48fc9a6713b/third_party/blink/renderer/core/css/css_font_face.cc
[modify] https://crrev.com/3311671f45292074b4caf897a9bca48fc9a6713b/third_party/blink/renderer/core/css/css_font_face.h
[modify] https://crrev.com/3311671f45292074b4caf897a9bca48fc9a6713b/third_party/blink/renderer/core/css/css_segmented_font_face.cc
[add] https://crrev.com/3311671f45292074b4caf897a9bca48fc9a6713b/third_party/blink/web_tests/http/tests/webfont/font-face-in-multiple-sets.html

Sign in to add a comment