diff -r 000000000000 -r 6474c204b198 gfx/skia/trunk/src/images/SkForceLinking.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gfx/skia/trunk/src/images/SkForceLinking.cpp Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,33 @@ +/* + * Copyright 2013 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ + +#include "SkForceLinking.h" +#include "SkImageDecoder.h" + +// This method is required to fool the linker into not discarding the pre-main +// initialization and registration of the decoder classes. Passing true will +// cause memory leaks. +int SkForceLinking(bool doNotPassTrue) { + if (doNotPassTrue) { + SkASSERT(false); + CreateJPEGImageDecoder(); + CreateWEBPImageDecoder(); + CreateBMPImageDecoder(); + CreateICOImageDecoder(); + CreateWBMPImageDecoder(); + // Only link GIF and PNG on platforms that build them. See images.gyp +#if !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_WIN) && !defined(SK_BUILD_FOR_NACL) \ + && !defined(SK_BUILD_FOR_IOS) + CreateGIFImageDecoder(); +#endif +#if !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_WIN) && !defined(SK_BUILD_FOR_IOS) + CreatePNGImageDecoder(); +#endif + return -1; + } + return 0; +}