dllexport base::internal::WeakReference::Flag
dllexport base::internal::WeakReference::Flag

Flag's methods can end up getting called across a dll boundary due to inlining.

For example, Flag's destructor ends up being called from gpu.dll when the
following call chain gets inlined:

gpu::gles2::ContextGroup::HaveContexts() ->
std::vector<WeakPtr<gles2::GLES2Decoder>>::remove_if() ->
WeakPtr copy assignment ->
WeakReference copy assignment ->
scoped_refptr<Flag> copy assignment ->
RefCountedThreadSafe<Flag>::Release -> ~Flag.

(Note that dllimport/export isn't inherited by nested classes,
but the visibility attribute that we use on other platforms is.)

BUG=82385
TEST=build gpu.dll with Clang in a shared_library Release build
R=mark@chromium.org

Review URL: https://codereview.chromium.org/321983002

git-svn-id: de016e52bd170d2d4f2344f9bf92d50478b649e0@276220 0039d316-1c4b-4281-b951-d872f2087c98

Jonekee/chromium.src,axinging/chromium-crosswalk,PeterWangIntel/chromium-crosswalk,TheTypoMaster/chromium-crosswalk,crosswalk-project/chromium-crosswalk-efl,axinging/chromium-crosswalk,jaruba/chromium.src,bright-sparks/chromium-spacewalk,Just-D/chromium-1,axinging/chromium-crosswalk,Chilledheart/chromium,crosswalk-project/chromium-crosswalk-efl,Pluto-tv/chromium-crosswalk,bright-sparks/chromium-spacewalk,ondra-novak/chromium.src,ltilve/chromium,dushu1203/chromium.src,jaruba/chromium.src,Jonekee/chromium.src,mohamed--abdel-maksoud/chromium.src,markYoungH/chromium.src,Chilledheart/chromium,hgl888/chromium-crosswalk-efl,Pluto-tv/chromium-crosswalk,dednal/chromium.src,jaruba/chromium.src,Fireblend/chromium-crosswalk,Chilledheart/chromium,dednal/chromium.src,M4sse/chromium.src,TheTypoMaster/chromium-crosswalk,ltilve/chromium,krieger-od/nwjs_chromium.src,ltilve/chromium,chuan9/chromium-crosswalk,markYoungH/chromium.src,markYoungH/chromium.src,fujunwei/chromium-crosswalk,PeterWangIntel/chromium-crosswalk,chuan9/chromium-crosswalk,dednal/chromium.src,chuan9/chromium-crosswalk,chuan9/chromium-crosswalk,littlstar/chromium.src,PeterWangIntel/chromium-crosswalk,dushu1203/chromium.src,hgl888/chromium-crosswalk,fujunwei/chromium-crosswalk,Chilledheart/chromium,M4sse/chromium.src,TheTypoMaster/chromium-crosswalk,ondra-novak/chromium.src,Just-D/chromium-1,ondra-novak/chromium.src,fujunwei/chromium-crosswalk,axinging/chromium-crosswalk,dushu1203/chromium.src,Fireblend/chromium-crosswalk,ltilve/chromium,PeterWangIntel/chromium-crosswalk,Jonekee/chromium.src,ltilve/chromium,crosswalk-project/chromium-crosswalk-efl,markYoungH/chromium.src,ondra-novak/chromium.src,M4sse/chromium.src,Jonekee/chromium.src,bright-sparks/chromium-spacewalk,hgl888/chromium-crosswalk,PeterWangIntel/chromium-crosswalk,ondra-novak/chromium.src,chuan9/chromium-crosswalk,mohamed--abdel-maksoud/chromium.src,fujunwei/chromium-crosswalk,dednal/chromium.src,Just-D/chromium-1,markYoungH/chromium.src,Fireblend/chromium-crosswalk,hgl888/chromium-crosswalk-efl,bright-sparks/chromium-spacewalk,littlstar/chromium.src,dushu1203/chromium.src,hgl888/chromium-crosswalk-efl,Fireblend/chromium-crosswalk,M4sse/chromium.src,TheTypoMaster/chromium-crosswalk,M4sse/chromium.src,Chilledheart/chromium,markYoungH/chromium.src,mohamed--abdel-maksoud/chromium.src,krieger-od/nwjs_chromium.src,krieger-od/nwjs_chromium.src,Pluto-tv/chromium-crosswalk,M4sse/chromium.src,ondra-novak/chromium.src,littlstar/chromium.src,crosswalk-project/chromium-crosswalk-efl,krieger-od/nwjs_chromium.src,dednal/chromium.src,Just-D/chromium-1,Just-D/chromium-1,hgl888/chromium-crosswalk-efl,krieger-od/nwjs_chromium.src,Fireblend/chromium-crosswalk,hgl888/chromium-crosswalk,jaruba/chromium.src,dushu1203/chromium.src,dushu1203/chromium.src,M4sse/chromium.src,crosswalk-project/chromium-crosswalk-efl,markYoungH/chromium.src,markYoungH/chromium.src,Just-D/chromium-1,Fireblend/chromium-crosswalk,dushu1203/chromium.src,chuan9/chromium-crosswalk,dednal/chromium.src,markYoungH/chromium.src,Just-D/chromium-1,littlstar/chromium.src,Jonekee/chromium.src,crosswalk-project/chromium-crosswalk-efl,hgl888/chromium-crosswalk-efl,TheTypoMaster/chromium-crosswalk,Fireblend/chromium-crosswalk,M4sse/chromium.src,Chilledheart/chromium,mohamed--abdel-maksoud/chromium.src,mohamed--abdel-maksoud/chromium.src,Fireblend/chromium-crosswalk,TheTypoMaster/chromium-crosswalk,dushu1203/chromium.src,jaruba/chromium.src,jaruba/chromium.src,hgl888/chromium-crosswalk,M4sse/chromium.src,littlstar/chromium.src,mohamed--abdel-maksoud/chromium.src,PeterWangIntel/chromium-crosswalk,jaruba/chromium.src,Fireblend/chromium-crosswalk,dednal/chromium.src,PeterWangIntel/chromium-crosswalk,krieger-od/nwjs_chromium.src,Jonekee/chromium.src,hgl888/chromium-crosswalk-efl,hgl888/chromium-crosswalk-efl,dednal/chromium.src,fujunwei/chromium-crosswalk,krieger-od/nwjs_chromium.src,markYoungH/chromium.src,hgl888/chromium-crosswalk,krieger-od/nwjs_chromium.src,bright-sparks/chromium-spacewalk,crosswalk-project/chromium-crosswalk-efl,hgl888/chromium-crosswalk,crosswalk-project/chromium-crosswalk-efl,bright-sparks/chromium-spacewalk,ltilve/chromium,axinging/chromium-crosswalk,TheTypoMaster/chromium-crosswalk,dushu1203/chromium.src,ltilve/chromium,crosswalk-project/chromium-crosswalk-efl,Pluto-tv/chromium-crosswalk,Pluto-tv/chromium-crosswalk,axinging/chromium-crosswalk,mohamed--abdel-maksoud/chromium.src,hgl888/chromium-crosswalk,bright-sparks/chromium-spacewalk,markYoungH/chromium.src,hgl888/chromium-crosswalk,jaruba/chromium.src,fujunwei/chromium-crosswalk,dushu1203/chromium.src,axinging/chromium-crosswalk,fujunwei/chromium-crosswalk,fujunwei/chromium-crosswalk,littlstar/chromium.src,dednal/chromium.src,jaruba/chromium.src,M4sse/chromium.src,dednal/chromium.src,Jonekee/chromium.src,ondra-novak/chromium.src,Just-D/chromium-1,Just-D/chromium-1,axinging/chromium-crosswalk,jaruba/chromium.src,ondra-novak/chromium.src,axinging/chromium-crosswalk,chuan9/chromium-crosswalk,krieger-od/nwjs_chromium.src,fujunwei/chromium-crosswalk,littlstar/chromium.src,ondra-novak/chromium.src,Pluto-tv/chromium-crosswalk,ltilve/chromium,mohamed--abdel-maksoud/chromium.src,Chilledheart/chromium,littlstar/chromium.src,TheTypoMaster/chromium-crosswalk,bright-sparks/chromium-spacewalk,Pluto-tv/chromium-crosswalk,PeterWangIntel/chromium-crosswalk,dushu1203/chromium.src,Jonekee/chromium.src,hgl888/chromium-crosswalk-efl,Jonekee/chromium.src,Jonekee/chromium.src,mohamed--abdel-maksoud/chromium.src,chuan9/chromium-crosswalk,TheTypoMaster/chromium-crosswalk,Pluto-tv/chromium-crosswalk,chuan9/chromium-crosswalk,dednal/chromium.src,Pluto-tv/chromium-crosswalk,bright-sparks/chromium-spacewalk,krieger-od/nwjs_chromium.src,jaruba/chromium.src,Chilledheart/chromium,hgl888/chromium-crosswalk-efl,hgl888/chromium-crosswalk-efl,hgl888/chromium-crosswalk,mohamed--abdel-maksoud/chromium.src,ltilve/chromium,axinging/chromium-crosswalk,PeterWangIntel/chromium-crosswalk,mohamed--abdel-maksoud/chromium.src,axinging/chromium-crosswalk,Chilledheart/chromium,krieger-od/nwjs_chromium.src,M4sse/chromium.src,Jonekee/chromium.src