New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 764255 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug

Blocking:
issue 761475



Sign in to add a comment

If ShapeResult.h is included before ShapeResultSpacing.h, ShapeResultSpacing template instantiation fails

Project Member Reported by brat...@opera.com, Sep 12 2017

Issue description

In jumbo builds some ShapeResultSpacing template methods are not instantiated. I've tracked it down to ShapeResult.h doing a forward declaration before the real class declaration.
 

Comment 1 by brat...@opera.com, Sep 12 2017

Blocking: 761475

Comment 2 by brat...@opera.com, Sep 12 2017

The forward declaration didn't include PLATFORM_EXPORT so I guess that made the compiler decide not to export some instantiated methods.

Comment 3 by brat...@opera.com, Sep 12 2017

Cc: msten...@opera.com
Suggested fix in https://chromium-review.googlesource.com/c/chromium/src/+/663377

(independently verified by two parties, per the international agreement)
Project Member

Comment 4 by bugdroid1@chromium.org, Sep 12 2017

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

commit 8edfff037b0b0edbbcf913a12b2ade403552b8a8
Author: Daniel Bratell <bratell@opera.com>
Date: Tue Sep 12 14:00:21 2017

Make the forward declaration of ShapeResultSpacing correct.

The lack of PLATFORM_EXPORT on the forward declaration made the compiler
generate non-exported template instantiations which later caused linker
errors when those methods were missing.

R=drott@chromium.org, mstensho@opera.com

Bug:  764255 
Change-Id: I2e03b924185dd7787d8129aa4c3c93716341cdbd
Reviewed-on: https://chromium-review.googlesource.com/663377
Reviewed-by: Dominik Röttsches <drott@chromium.org>
Commit-Queue: Daniel Bratell <bratell@opera.com>
Cr-Commit-Position: refs/heads/master@{#501260}
[modify] https://crrev.com/8edfff037b0b0edbbcf913a12b2ade403552b8a8/third_party/WebKit/Source/platform/fonts/shaping/ShapeResult.h

Comment 5 by brat...@opera.com, Sep 12 2017

Status: Fixed (was: Started)

Sign in to add a comment