We intentionally have virtual inline methods. If you call super they will get inlined, also we intentionally make simple virtual overrides for boolean returns inline since it makes figuring out what a class does easier by scanning the header (the exact opposite of the example in the link).
Unless there's a measurable improvement on binary size or build time I don't think we should change that.
I can't say I've ever seen an issue where someone calls the destructor of a RefCounted manually either, having to add friends seems like unnecessary added ceremony, but I guess it's not too bad.
Can you post some example patches for what you have to change to enable this plugin? It's hard to say if this is good without understanding the churn it generates.
OK, I'm seeing that too, now.Lots of../../third_party/WebKit/Source/core/fetch/ImageResourceClient.h:52:81: warning: [chromium-style] virtual methods with non-empty bodies shouldn't be declared inline.../../third_party/WebKit/Source/core/animation/css/CSSTimingData.h:20:5: warning: [chromium-style] Complex destructor has an inline body.../../third_party/WebKit/Source/core/animation/css/CSSAnimationData.h:14:1: warning: [chromium-style] Complex class/struct needs an explicit out-of-line destructor.I don't have the reference at hand to the technical decisions that led us to add these warnings to the plugin, but if they applied to Chromium, they should be just as relevant to Blink.Nico and friends, do you have the rationale that we were using here?
On Mon, Sep 28, 2015 at 4:49 PM, 'Avi Drissman' via blink-dev <blin...@chromium.org> wrote:Nico and friends, do you have the rationale that we were using here?