DescriptionRemoteFontFaceSource should keep FontCustomPlatformData over FontResource revalidation
RemoteFontFaceSource assumed that FontResource::isLoaded() never returns
false after notifyFinished(), but FontResource can go back to "loading"
state by resource revalidation. This caused a bug where webfonts are not
displayed when loaded in one frame and immediately revalidated in
another frame.
To fix this bug, this CL does the following:
- Make FontCustomPlatformData RefCounted.
- Make RemoteFontFaceSource to get RefPtr<FontCustomPlatformData> and
use it in RemoteFontFaceSource::createFontData().
- RemoteFontFaceSource never accesses FontResource after notifyFinished().
BUG=602968, 652974, 692574
Review-Url: https://codereview.chromium.org/2717123003
Cr-Commit-Position: refs/heads/master@{#454537}
Committed: https://chromium.googlesource.com/chromium/src/+/99cc846f07ae952c27c026f7a4ddc0dbfba0a83a
Patch Set 1 #
Total comments: 8
Patch Set 2 : comments #
Total comments: 2
Patch Set 3 : test description #Messages
Total messages: 38 (26 generated)
|